$30 off During Our Annual Pro Sale. View Details »

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日

    View Slide

  2. 2
    22
    カルバック・ライブラー距離
    二つ分布PとQの「近さ」を表すスカラー量
    𝐷𝐾𝐿
    𝑃 𝑄 = ෍
    𝑖
    𝑝𝑖
    log
    𝑝𝑖
    𝑞𝑖
    離散分布の場合
    連続分布の場合 𝐷𝐾𝐿
    𝑃 𝑄 = න 𝑝 𝑥 log
    𝑝(𝑥)
    𝑞(𝑥)
    𝑑𝑥

    View Slide

  3. 3
    22
    𝐷𝐾𝐿
    𝑃 𝑄 ≥ 0
    常に非負の実数
    ゼロになるのは分布が一致する時のみ
    𝐷𝐾𝐿
    𝑃 𝑄 = 0 𝑃 = 𝑄

    View Slide

  4. 4
    22
    Kullback-Leibler距離は距離ではない
    距離の公理
    非退化
    対称律
    𝑑 𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄
    KL距離
    𝐷𝐾𝐿
    𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄
    𝑑 𝑃, 𝑄 = 𝑑(𝑄, 𝑃)
    三角不等式 𝑑 𝑃, 𝑄 + 𝑑 𝑄, 𝑅 ≥ 𝑑(𝑃, 𝑅)
    一般には満たさない
    一般には満たさない
    なので、KL-divergenceやKL情報量と呼ぶ人もいます
    でも面倒なので、以下ではKL距離と呼びます

    View Slide

  5. 5
    22
    今日は
    自由エネルギーがKL距離である話
    RBMのコスト関数がKL距離である話
    をします

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. 10
    22
    𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓 log 𝑓 𝑑𝑥
    もともとの変分関数
    𝑓𝑒𝑞
    = 𝑍−1exp(−𝛽𝐻) より
    log 𝑓𝑒𝑞
    = − log 𝑍 − 𝛽𝐻
    = − 𝛼 + 1 − 𝛽𝐻

    View Slide

  11. 11
    22
    𝑓𝑒𝑞
    を用いてαとβを消去すると
    𝐼 = න 𝑓 log 𝑓 − 𝑓 log 𝑓𝑒𝑞
    𝑑𝑥
    = න 𝑓 log
    𝑓
    𝑓𝑒𝑞
    𝑑𝑥
    = 𝐷𝐾𝐿
    (𝑓|𝑓𝑒𝑞
    )
    ※定数項を無視した
    先ほどの変分関数はカノニカル分布からの
    KL距離となっている

    View Slide

  12. 12
    22
    𝐹 = 𝑘𝑇𝐼 によりFを定義すると
    𝐹 = න 𝐻𝑓𝑑𝑥 − 𝑇𝑘 න 𝑓 log 𝑓 𝑑𝑥
    = 𝑈 = 𝑆
    = 𝑈 − 𝑇𝑆
    変分関数はヘルムホルツ自由エネルギーに比例している
    𝐹 ∝ 𝐷𝐾𝐿
    (𝑓|𝑓𝑒𝑞
    )
    ヘルムホルツ自由エネルギーは、カノニカル分布からの
    KL距離にエネルギースケールkTをかけたもの

    View Slide

  13. 13
    22
    制限ボルツマンマシン(Restricted Boltzmann Machine, RBM)
    𝑣1
    𝑣2
    𝑣𝑚
    𝑣3 ・・・
    ℎ1
    ℎ1
    ・・・ ℎ𝑛
    隠れ層 (hidden layer)
    可視層 (visible layer)
    可視変数 𝑣𝑖
    = {0,1}
    隠れ変数 ℎ𝑗
    = {0,1}
    バイアス 𝑏𝑖
    バイアス 𝑐𝑖
    相互作用 𝑤𝑖𝑗

    View Slide

  14. 14
    22
    𝑃 Ԧ
    𝑣, ℎ = 𝑍−1 exp(−𝐻( Ԧ
    𝑣, ℎ))
    可視変数、隠れ変数が、ある状態 Ԧ
    𝑣, ℎをとる確率
    𝑍 = ෍
    𝑣𝑖

    ℎ𝑗
    exp(−𝐻 𝑣, ℎ )
    ただし
    我々から見えるのは可視層だけなので
    𝑃 Ԧ
    𝑣 = ෍
    ℎ𝑗
    𝑃 Ԧ
    𝑣, ℎ
    を考える

    View Slide

  15. 15
    22
    RBMの目的:確率過程を再現する確率モデルを作る
    例:ある日、学食にAliceとBobが現れたかどうか
    Alice Bob
    Aliceが来た Aliceが来なかった
    𝑣1
    = 1 𝑣1
    = 0
    Bobが来た Bobが来なかった
    𝑣2
    = 1 𝑣2
    = 0

    View Slide

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

    View Slide

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

    View Slide

  18. 18
    22
    t日目の観測事実の状態
    t回目にRBMが予測する状態
    𝑆𝑡

    𝑋𝑡
    尤度関数:N回の予測が全て的中する確率
    𝐿 = 𝑃( ෠
    𝑋1
    = 𝑆1
    , ෠
    𝑋2
    = 𝑆2
    , ⋯ , ෠
    𝑋𝑁
    = 𝑆𝑁
    )
    𝐿 = ෑ
    𝑡
    𝑃( ෠
    𝑋𝑡
    = 𝑆𝑡
    )
    独立過程なら
    log 𝐿 = ෍
    𝑡
    log 𝑃( ෠
    𝑋𝑡
    = 𝑆𝑡
    )
    対数尤度関数

    View Slide

  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
    状態番号
    状態

    View Slide

  20. 20
    22
    観測事実として、状態iが観測された確率を𝑞𝑖
    とする
    あるパラメタで、RBMが状態iを予測する確率を𝑝𝑖
    とする
    log 𝐿 = ෍
    𝑡
    log 𝑃( ෠
    𝑋𝑡
    = 𝑆𝑡
    )
    このうち、𝑆𝑡
    = 𝑖となる状態の数は𝑁𝑞𝑖
    個ある
    log 𝐿 = ෍
    𝑖
    𝑁𝑞𝑖
    log 𝑃( ෠
    𝑋𝑡
    = 𝑖)
    状態に関する
    和にとりなおす
    定義から𝑝𝑖
    1
    𝑁
    log 𝐿 = ෍
    𝑖
    𝑞𝑖
    log 𝑝𝑖

    View Slide

  21. 21
    22
    1
    𝑁
    log 𝐿 = ෍
    𝑖
    𝑞𝑖
    log 𝑝𝑖
    両辺から σ
    𝑖
    𝑞𝑖
    log 𝑞𝑖
    をひく
    1
    𝑁
    log 𝐿 − ෍
    𝑖
    𝑞𝑖
    log 𝑞𝑖
    = ෍
    𝑖
    𝑞𝑖
    log 𝑝𝑖
    − ෍
    𝑖
    𝑞𝑖
    log 𝑞𝑖
    = ෍
    𝑖
    𝑞𝑖
    log
    𝑝𝑖
    𝑞𝑖
    = − ෍
    𝑖
    𝑞𝑖
    log
    𝑞𝑖
    𝑝𝑖
    = −𝐷𝐾𝐿
    Ԧ
    𝑞 Ԧ
    𝑝)
    これを最小化する必要がある
    これを最大化するためには
    ※観測事実なので定数

    View Slide

  22. 22
    22
    ヘルムホルツ自由エネルギーは、カノニ
    カル分布からのKL距離を表す
    RBMにおいて対数尤度関数を最大化する
    ことは、観測事実の分布とモデルの予測
    分布のKL距離を最小化することに等しい

    View Slide