ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話
122Kullback-Leibler 距離のあれこれ慶應義塾大学理工学部物理情報工学科渡辺宙志2022年11月10日
View Slide
222カルバック・ライブラー距離二つ分布PとQの「近さ」を表すスカラー量𝐷𝐾𝐿𝑃 𝑄 = 𝑖𝑝𝑖log𝑝𝑖𝑞𝑖離散分布の場合連続分布の場合 𝐷𝐾𝐿𝑃 𝑄 = න 𝑝 𝑥 log𝑝(𝑥)𝑞(𝑥)𝑑𝑥
322𝐷𝐾𝐿𝑃 𝑄 ≥ 0常に非負の実数ゼロになるのは分布が一致する時のみ𝐷𝐾𝐿𝑃 𝑄 = 0 𝑃 = 𝑄⟺
422Kullback-Leibler距離は距離ではない距離の公理非退化対称律𝑑 𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄KL距離𝐷𝐾𝐿𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄𝑑 𝑃, 𝑄 = 𝑑(𝑄, 𝑃)三角不等式 𝑑 𝑃, 𝑄 + 𝑑 𝑄, 𝑅 ≥ 𝑑(𝑃, 𝑅)一般には満たさない一般には満たさないなので、KL-divergenceやKL情報量と呼ぶ人もいますでも面倒なので、以下ではKL距離と呼びます
522今日は自由エネルギーがKL距離である話RBMのコスト関数がKL距離である話をします
622位相空間:Γ 𝑥分布関数:𝑓(𝑥)エネルギー関数:𝐻(𝑥)位相空間に分布関数が住んでおりそこにエネルギー関数が定義されているとする規格化条件 1 = න 𝑓𝑑𝑥 = 1エネルギー期待値 𝑈 = 𝐻 = න 𝐻𝑓𝑑𝑥
722エントロピーを定義する𝑆 = −𝑘 න 𝑓 log 𝑓 𝑑𝑥規格化条件とエネルギー期待値一定の条件下でエントロピーを最大化する(α,βにボルツマン定数を吸収させている)𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓 log 𝑓 𝑑𝑥න 𝑓𝑑𝑥 = 1 𝑈 = න 𝐻𝑓𝑑𝑥規格化条件に対応するラグランジュの未定乗数エネルギー一定に対応するラグランジュの未定乗数
822変分をとる(汎関数微分)𝛿𝐼 = න 𝛼𝛿𝑓 + 𝛽𝐻𝛿𝑓 + 𝛿𝑓 log 𝑓 + 𝛿𝑓 𝑑𝑥= න 𝛼 + 𝛽𝐻 + 1 + log 𝑓 𝛿𝑓 𝑑𝑥= 0= 0𝑓𝑒𝑞= 𝑍−1exp(−𝛽𝐻)以上から、カノニカル分布が得られる𝑍 = exp(𝛼 + 1)分配関数(規格化定数)
922𝑆 = −𝑘 න 𝑓 log 𝑓 𝑑𝑥エントロピーの定義𝑓𝑒𝑞= 𝑍−1exp(−𝛽𝐻)カノニカル分布を代入𝑆 = 𝛽𝑘 න 𝐻𝑓𝑑𝑥 + 𝐶= 𝑈𝑑𝑆𝑑𝑈= 𝛽𝑘熱力学関係式𝑑𝑆𝑑𝑈=1𝑇より 𝛽 =1𝑘𝑇
1022𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓 log 𝑓 𝑑𝑥もともとの変分関数𝑓𝑒𝑞= 𝑍−1exp(−𝛽𝐻) よりlog 𝑓𝑒𝑞= − log 𝑍 − 𝛽𝐻= − 𝛼 + 1 − 𝛽𝐻
1122𝑓𝑒𝑞を用いてαとβを消去すると𝐼 = න 𝑓 log 𝑓 − 𝑓 log 𝑓𝑒𝑞𝑑𝑥= න 𝑓 log𝑓𝑓𝑒𝑞𝑑𝑥= 𝐷𝐾𝐿(𝑓|𝑓𝑒𝑞)※定数項を無視した先ほどの変分関数はカノニカル分布からのKL距離となっている
1222𝐹 = 𝑘𝑇𝐼 によりFを定義すると𝐹 = න 𝐻𝑓𝑑𝑥 − 𝑇𝑘 න 𝑓 log 𝑓 𝑑𝑥= 𝑈 = 𝑆= 𝑈 − 𝑇𝑆変分関数はヘルムホルツ自由エネルギーに比例している𝐹 ∝ 𝐷𝐾𝐿(𝑓|𝑓𝑒𝑞)ヘルムホルツ自由エネルギーは、カノニカル分布からのKL距離にエネルギースケールkTをかけたもの
1322制限ボルツマンマシン(Restricted Boltzmann Machine, RBM)𝑣1𝑣2𝑣𝑚𝑣3 ・・・ℎ1ℎ1・・・ ℎ𝑛隠れ層 (hidden layer)可視層 (visible layer)可視変数 𝑣𝑖= {0,1}隠れ変数 ℎ𝑗= {0,1}バイアス 𝑏𝑖バイアス 𝑐𝑖相互作用 𝑤𝑖𝑗
1422𝑃 Ԧ𝑣, ℎ = 𝑍−1 exp(−𝐻( Ԧ𝑣, ℎ))可視変数、隠れ変数が、ある状態 Ԧ𝑣, ℎをとる確率𝑍 = 𝑣𝑖ℎ𝑗exp(−𝐻 𝑣, ℎ )ただし我々から見えるのは可視層だけなので𝑃 Ԧ𝑣 = ℎ𝑗𝑃 Ԧ𝑣, ℎを考える
1522RBMの目的:確率過程を再現する確率モデルを作る例:ある日、学食にAliceとBobが現れたかどうかAlice BobAliceが来た Aliceが来なかった𝑣1= 1 𝑣1= 0Bobが来た Bobが来なかった𝑣2= 1 𝑣2= 0
1622AliceとBobが来たかどうかをN日観測する1日目 2日目・・・・・・N日目この観測事実を説明する確率モデルをRBMで作りたい
1722目的可視変数の実現確率が観測事実として与えられた時、それを最も良く再現するパラメータ(b, c, w)を決めよ簡単のため、可視変数が二つの場合を考える状態に通し番号をつける𝑣1𝑣20 01 00 11 11234状態番号状態
1822t日目の観測事実の状態t回目にRBMが予測する状態𝑆𝑡𝑋𝑡尤度関数:N回の予測が全て的中する確率𝐿 = 𝑃( 𝑋1= 𝑆1, 𝑋2= 𝑆2, ⋯ , 𝑋𝑁= 𝑆𝑁)𝐿 = ෑ𝑡𝑃( 𝑋𝑡= 𝑆𝑡)独立過程ならlog 𝐿 = 𝑡log 𝑃( 𝑋𝑡= 𝑆𝑡)対数尤度関数
1922観測事実として、状態iが観測された確率を𝑞𝑖とするあるパラメタで、RBMが状態iを予測する確率を𝑝𝑖とする𝑣1𝑣20 01 00 11 1観測事実 モデル予測𝑞1𝑞2𝑞3𝑞4𝑝1𝑝2𝑝3𝑃4両者をなるべく近くしたい→尤度関数を最大化する1234状態番号状態
2022観測事実として、状態iが観測された確率を𝑞𝑖とするあるパラメタで、RBMが状態iを予測する確率を𝑝𝑖とするlog 𝐿 = 𝑡log 𝑃( 𝑋𝑡= 𝑆𝑡)このうち、𝑆𝑡= 𝑖となる状態の数は𝑁𝑞𝑖個あるlog 𝐿 = 𝑖𝑁𝑞𝑖log 𝑃( 𝑋𝑡= 𝑖)状態に関する和にとりなおす定義から𝑝𝑖1𝑁log 𝐿 = 𝑖𝑞𝑖log 𝑝𝑖
21221𝑁log 𝐿 = 𝑖𝑞𝑖log 𝑝𝑖両辺から σ𝑖𝑞𝑖log 𝑞𝑖をひく1𝑁log 𝐿 − 𝑖𝑞𝑖log 𝑞𝑖= 𝑖𝑞𝑖log 𝑝𝑖− 𝑖𝑞𝑖log 𝑞𝑖= 𝑖𝑞𝑖log𝑝𝑖𝑞𝑖= − 𝑖𝑞𝑖log𝑞𝑖𝑝𝑖= −𝐷𝐾𝐿Ԧ𝑞 Ԧ𝑝)これを最小化する必要があるこれを最大化するためには※観測事実なので定数
2222ヘルムホルツ自由エネルギーは、カノニカル分布からのKL距離を表すRBMにおいて対数尤度関数を最大化することは、観測事実の分布とモデルの予測分布のKL距離を最小化することに等しい