Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kullback-Leibler 距離のあれこれ / KL Divergence

kaityo256
PRO
November 10, 2022

Kullback-Leibler 距離のあれこれ / KL Divergence

ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話

kaityo256
PRO

November 10, 2022
Tweet

More Decks by kaityo256

Other Decks in Education

Transcript

  1. 1 22 Kullback-Leibler 距離のあれ これ 慶應義塾大学理工学部物理情報工学科 渡辺宙志 2022年11月10日

  2. 2 22 カルバック・ライブラー距離 二つ分布PとQの「近さ」を表すスカラー量 𝐷𝐾𝐿 𝑃 𝑄 = ෍ 𝑖

    𝑝𝑖 log 𝑝𝑖 𝑞𝑖 離散分布の場合 連続分布の場合 𝐷𝐾𝐿 𝑃 𝑄 = න 𝑝 𝑥 log 𝑝(𝑥) 𝑞(𝑥) 𝑑𝑥
  3. 3 22 𝐷𝐾𝐿 𝑃 𝑄 ≥ 0 常に非負の実数 ゼロになるのは分布が一致する時のみ 𝐷𝐾𝐿

    𝑃 𝑄 = 0 𝑃 = 𝑄 ⟺
  4. 4 22 Kullback-Leibler距離は距離ではない 距離の公理 非退化 対称律 𝑑 𝑃, 𝑄 =

    0 ⟺ 𝑃 = 𝑄 KL距離 𝐷𝐾𝐿 𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄 𝑑 𝑃, 𝑄 = 𝑑(𝑄, 𝑃) 三角不等式 𝑑 𝑃, 𝑄 + 𝑑 𝑄, 𝑅 ≥ 𝑑(𝑃, 𝑅) 一般には満たさない 一般には満たさない なので、KL-divergenceやKL情報量と呼ぶ人もいます でも面倒なので、以下ではKL距離と呼びます
  5. 5 22 今日は 自由エネルギーがKL距離である話 RBMのコスト関数がKL距離である話 をします

  6. 6 22 位相空間:Γ 𝑥 分布関数:𝑓(𝑥) エネルギー関数:𝐻(𝑥) 位相空間に分布関数が住んでおり そこにエネルギー関数が定義されているとする 規格化条件 1

    = න 𝑓𝑑𝑥 = 1 エネルギー期待値 𝑈 = 𝐻 = න 𝐻𝑓𝑑𝑥
  7. 7 22 エントロピーを定義する 𝑆 = −𝑘 න 𝑓 log 𝑓

    𝑑𝑥 規格化条件とエネルギー期待値一定の条件下でエントロピーを 最大化する(α,βにボルツマン定数を吸収させている) 𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓 log 𝑓 𝑑𝑥 න 𝑓𝑑𝑥 = 1 𝑈 = න 𝐻𝑓𝑑𝑥 規格化条件に対応する ラグランジュの未定乗数 エネルギー一定に対応する ラグランジュの未定乗数
  8. 8 22 変分をとる(汎関数微分) 𝛿𝐼 = න 𝛼𝛿𝑓 + 𝛽𝐻𝛿𝑓 +

    𝛿𝑓 log 𝑓 + 𝛿𝑓 𝑑𝑥 = න 𝛼 + 𝛽𝐻 + 1 + log 𝑓 𝛿𝑓 𝑑𝑥 = 0 = 0 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) 以上から、カノニカル分布が得られる 𝑍 = exp(𝛼 + 1) 分配関数(規格化定数)
  9. 9 22 𝑆 = −𝑘 න 𝑓 log 𝑓 𝑑𝑥

    エントロピーの定義 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) カノニカル分布を代入 𝑆 = 𝛽𝑘 න 𝐻𝑓𝑑𝑥 + 𝐶 = 𝑈 𝑑𝑆 𝑑𝑈 = 𝛽𝑘 熱力学関係式 𝑑𝑆 𝑑𝑈 = 1 𝑇 より 𝛽 = 1 𝑘𝑇
  10. 10 22 𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓

    log 𝑓 𝑑𝑥 もともとの変分関数 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) より log 𝑓𝑒𝑞 = − log 𝑍 − 𝛽𝐻 = − 𝛼 + 1 − 𝛽𝐻
  11. 11 22 𝑓𝑒𝑞 を用いてαとβを消去すると 𝐼 = න 𝑓 log 𝑓

    − 𝑓 log 𝑓𝑒𝑞 𝑑𝑥 = න 𝑓 log 𝑓 𝑓𝑒𝑞 𝑑𝑥 = 𝐷𝐾𝐿 (𝑓|𝑓𝑒𝑞 ) ※定数項を無視した 先ほどの変分関数はカノニカル分布からの KL距離となっている
  12. 12 22 𝐹 = 𝑘𝑇𝐼 によりFを定義すると 𝐹 = න 𝐻𝑓𝑑𝑥

    − 𝑇𝑘 න 𝑓 log 𝑓 𝑑𝑥 = 𝑈 = 𝑆 = 𝑈 − 𝑇𝑆 変分関数はヘルムホルツ自由エネルギーに比例している 𝐹 ∝ 𝐷𝐾𝐿 (𝑓|𝑓𝑒𝑞 ) ヘルムホルツ自由エネルギーは、カノニカル分布からの KL距離にエネルギースケールkTをかけたもの
  13. 13 22 制限ボルツマンマシン(Restricted Boltzmann Machine, RBM) 𝑣1 𝑣2 𝑣𝑚 𝑣3

    ・・・ ℎ1 ℎ1 ・・・ ℎ𝑛 隠れ層 (hidden layer) 可視層 (visible layer) 可視変数 𝑣𝑖 = {0,1} 隠れ変数 ℎ𝑗 = {0,1} バイアス 𝑏𝑖 バイアス 𝑐𝑖 相互作用 𝑤𝑖𝑗
  14. 14 22 𝑃 Ԧ 𝑣, ℎ = 𝑍−1 exp(−𝐻( Ԧ

    𝑣, ℎ)) 可視変数、隠れ変数が、ある状態 Ԧ 𝑣, ℎをとる確率 𝑍 = ෍ 𝑣𝑖 ෍ ℎ𝑗 exp(−𝐻 𝑣, ℎ ) ただし 我々から見えるのは可視層だけなので 𝑃 Ԧ 𝑣 = ෍ ℎ𝑗 𝑃 Ԧ 𝑣, ℎ を考える
  15. 15 22 RBMの目的:確率過程を再現する確率モデルを作る 例:ある日、学食にAliceとBobが現れたかどうか Alice Bob Aliceが来た Aliceが来なかった 𝑣1 =

    1 𝑣1 = 0 Bobが来た Bobが来なかった 𝑣2 = 1 𝑣2 = 0
  16. 16 22 AliceとBobが来たかどうかをN日観測する 1日目 2日目 ・・・ ・・・ N日目 この観測事実を説明する確率モデルをRBMで作りたい

  17. 17 22 目的 可視変数の実現確率が観測事実として与えられた時、 それを最も良く再現するパラメータ(b, c, w)を決めよ 簡単のため、可視変数が二つの場合を考える 状態に通し番号をつける 𝑣1

    𝑣2 0 0 1 0 0 1 1 1 1 2 3 4 状態番号 状態
  18. 18 22 t日目の観測事実の状態 t回目にRBMが予測する状態 𝑆𝑡 ෠ 𝑋𝑡 尤度関数:N回の予測が全て的中する確率 𝐿 =

    𝑃( ෠ 𝑋1 = 𝑆1 , ෠ 𝑋2 = 𝑆2 , ⋯ , ෠ 𝑋𝑁 = 𝑆𝑁 ) 𝐿 = ෑ 𝑡 𝑃( ෠ 𝑋𝑡 = 𝑆𝑡 ) 独立過程なら log 𝐿 = ෍ 𝑡 log 𝑃( ෠ 𝑋𝑡 = 𝑆𝑡 ) 対数尤度関数
  19. 19 22 観測事実として、状態iが観測された確率を𝑞𝑖 とする あるパラメタで、RBMが状態iを予測する確率を𝑝𝑖 とする 𝑣1 𝑣2 0 0

    1 0 0 1 1 1 観測事実 モデル予測 𝑞1 𝑞2 𝑞3 𝑞4 𝑝1 𝑝2 𝑝3 𝑃4 両者をなるべく近くしたい →尤度関数を最大化する 1 2 3 4 状態番号 状態
  20. 20 22 観測事実として、状態iが観測された確率を𝑞𝑖 とする あるパラメタで、RBMが状態iを予測する確率を𝑝𝑖 とする log 𝐿 = ෍

    𝑡 log 𝑃( ෠ 𝑋𝑡 = 𝑆𝑡 ) このうち、𝑆𝑡 = 𝑖となる状態の数は𝑁𝑞𝑖 個ある log 𝐿 = ෍ 𝑖 𝑁𝑞𝑖 log 𝑃( ෠ 𝑋𝑡 = 𝑖) 状態に関する 和にとりなおす 定義から𝑝𝑖 1 𝑁 log 𝐿 = ෍ 𝑖 𝑞𝑖 log 𝑝𝑖
  21. 21 22 1 𝑁 log 𝐿 = ෍ 𝑖 𝑞𝑖

    log 𝑝𝑖 両辺から σ 𝑖 𝑞𝑖 log 𝑞𝑖 をひく 1 𝑁 log 𝐿 − ෍ 𝑖 𝑞𝑖 log 𝑞𝑖 = ෍ 𝑖 𝑞𝑖 log 𝑝𝑖 − ෍ 𝑖 𝑞𝑖 log 𝑞𝑖 = ෍ 𝑖 𝑞𝑖 log 𝑝𝑖 𝑞𝑖 = − ෍ 𝑖 𝑞𝑖 log 𝑞𝑖 𝑝𝑖 = −𝐷𝐾𝐿 Ԧ 𝑞 Ԧ 𝑝) これを最小化する必要がある これを最大化するためには ※観測事実なので定数
  22. 22 22 ヘルムホルツ自由エネルギーは、カノニ カル分布からのKL距離を表す RBMにおいて対数尤度関数を最大化する ことは、観測事実の分布とモデルの予測 分布のKL距離を最小化することに等しい