Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kullback-Leibler 距離のあれこれ / KL Divergence
Search
kaityo256
PRO
November 10, 2022
Education
5
3.9k
Kullback-Leibler 距離のあれこれ / KL Divergence
ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話
kaityo256
PRO
November 10, 2022
Tweet
Share
More Decks by kaityo256
See All by kaityo256
卒論の書き方 / Happy Writing
kaityo256
PRO
50
26k
生成AIとの付き合い方 / Generative AI and us
kaityo256
PRO
11
6.6k
モンテカルロ法(3) 発展的アルゴリズム / Simulation 04
kaityo256
PRO
10
1.6k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
9
3.6k
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
7
700
論文紹介のやり方 / How to review
kaityo256
PRO
17
88k
デバッグの話 / Debugging for Beginners
kaityo256
PRO
17
1.8k
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
8
670
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.5k
Other Decks in Education
See All in Education
1021
cbtlibrary
0
370
Adobe Express
matleenalaakso
1
8.1k
Padlet opetuksessa
matleenalaakso
9
15k
Evaluation Methods - Lecture 6 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
【ZEPメタバース校舎操作ガイド】
ainischool
0
650
令和エンジニアの学習法 〜 生成AIを使って挫折を回避する 〜
moriga_yuduru
0
160
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
子どもが自立した学習者となるデジタルの活用について
naokikato
PRO
0
160
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
600
Linguaxes de programación
irocho
0
490
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics: Artificial Intelligence and Data Science
signer
PRO
0
860
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Visualization
eitanlees
150
16k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Mobile First: as difficult as doing things right
swwweet
225
10k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
1 22 Kullback-Leibler 距離のあれ これ 慶應義塾大学理工学部物理情報工学科 渡辺宙志 2022年11月10日
2 22 カルバック・ライブラー距離 二つ分布PとQの「近さ」を表すスカラー量 𝐷𝐾𝐿 𝑃 𝑄 = 𝑖
𝑝𝑖 log 𝑝𝑖 𝑞𝑖 離散分布の場合 連続分布の場合 𝐷𝐾𝐿 𝑃 𝑄 = න 𝑝 𝑥 log 𝑝(𝑥) 𝑞(𝑥) 𝑑𝑥
3 22 𝐷𝐾𝐿 𝑃 𝑄 ≥ 0 常に非負の実数 ゼロになるのは分布が一致する時のみ 𝐷𝐾𝐿
𝑃 𝑄 = 0 𝑃 = 𝑄 ⟺
4 22 Kullback-Leibler距離は距離ではない 距離の公理 非退化 対称律 𝑑 𝑃, 𝑄 =
0 ⟺ 𝑃 = 𝑄 KL距離 𝐷𝐾𝐿 𝑃, 𝑄 = 0 ⟺ 𝑃 = 𝑄 𝑑 𝑃, 𝑄 = 𝑑(𝑄, 𝑃) 三角不等式 𝑑 𝑃, 𝑄 + 𝑑 𝑄, 𝑅 ≥ 𝑑(𝑃, 𝑅) 一般には満たさない 一般には満たさない なので、KL-divergenceやKL情報量と呼ぶ人もいます でも面倒なので、以下ではKL距離と呼びます
5 22 今日は 自由エネルギーがKL距離である話 RBMのコスト関数がKL距離である話 をします
6 22 位相空間:Γ 𝑥 分布関数:𝑓(𝑥) エネルギー関数:𝐻(𝑥) 位相空間に分布関数が住んでおり そこにエネルギー関数が定義されているとする 規格化条件 1
= න 𝑓𝑑𝑥 = 1 エネルギー期待値 𝑈 = 𝐻 = න 𝐻𝑓𝑑𝑥
7 22 エントロピーを定義する 𝑆 = −𝑘 න 𝑓 log 𝑓
𝑑𝑥 規格化条件とエネルギー期待値一定の条件下でエントロピーを 最大化する(α,βにボルツマン定数を吸収させている) 𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓 log 𝑓 𝑑𝑥 න 𝑓𝑑𝑥 = 1 𝑈 = න 𝐻𝑓𝑑𝑥 規格化条件に対応する ラグランジュの未定乗数 エネルギー一定に対応する ラグランジュの未定乗数
8 22 変分をとる(汎関数微分) 𝛿𝐼 = න 𝛼𝛿𝑓 + 𝛽𝐻𝛿𝑓 +
𝛿𝑓 log 𝑓 + 𝛿𝑓 𝑑𝑥 = න 𝛼 + 𝛽𝐻 + 1 + log 𝑓 𝛿𝑓 𝑑𝑥 = 0 = 0 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) 以上から、カノニカル分布が得られる 𝑍 = exp(𝛼 + 1) 分配関数(規格化定数)
9 22 𝑆 = −𝑘 න 𝑓 log 𝑓 𝑑𝑥
エントロピーの定義 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) カノニカル分布を代入 𝑆 = 𝛽𝑘 න 𝐻𝑓𝑑𝑥 + 𝐶 = 𝑈 𝑑𝑆 𝑑𝑈 = 𝛽𝑘 熱力学関係式 𝑑𝑆 𝑑𝑈 = 1 𝑇 より 𝛽 = 1 𝑘𝑇
10 22 𝐼 = න 𝛼𝑓 + 𝛽𝐻𝑓 + 𝑓
log 𝑓 𝑑𝑥 もともとの変分関数 𝑓𝑒𝑞 = 𝑍−1exp(−𝛽𝐻) より log 𝑓𝑒𝑞 = − log 𝑍 − 𝛽𝐻 = − 𝛼 + 1 − 𝛽𝐻
11 22 𝑓𝑒𝑞 を用いてαとβを消去すると 𝐼 = න 𝑓 log 𝑓
− 𝑓 log 𝑓𝑒𝑞 𝑑𝑥 = න 𝑓 log 𝑓 𝑓𝑒𝑞 𝑑𝑥 = 𝐷𝐾𝐿 (𝑓|𝑓𝑒𝑞 ) ※定数項を無視した 先ほどの変分関数はカノニカル分布からの KL距離となっている
12 22 𝐹 = 𝑘𝑇𝐼 によりFを定義すると 𝐹 = න 𝐻𝑓𝑑𝑥
− 𝑇𝑘 න 𝑓 log 𝑓 𝑑𝑥 = 𝑈 = 𝑆 = 𝑈 − 𝑇𝑆 変分関数はヘルムホルツ自由エネルギーに比例している 𝐹 ∝ 𝐷𝐾𝐿 (𝑓|𝑓𝑒𝑞 ) ヘルムホルツ自由エネルギーは、カノニカル分布からの KL距離にエネルギースケールkTをかけたもの
13 22 制限ボルツマンマシン(Restricted Boltzmann Machine, RBM) 𝑣1 𝑣2 𝑣𝑚 𝑣3
・・・ ℎ1 ℎ1 ・・・ ℎ𝑛 隠れ層 (hidden layer) 可視層 (visible layer) 可視変数 𝑣𝑖 = {0,1} 隠れ変数 ℎ𝑗 = {0,1} バイアス 𝑏𝑖 バイアス 𝑐𝑖 相互作用 𝑤𝑖𝑗
14 22 𝑃 Ԧ 𝑣, ℎ = 𝑍−1 exp(−𝐻( Ԧ
𝑣, ℎ)) 可視変数、隠れ変数が、ある状態 Ԧ 𝑣, ℎをとる確率 𝑍 = 𝑣𝑖 ℎ𝑗 exp(−𝐻 𝑣, ℎ ) ただし 我々から見えるのは可視層だけなので 𝑃 Ԧ 𝑣 = ℎ𝑗 𝑃 Ԧ 𝑣, ℎ を考える
15 22 RBMの目的:確率過程を再現する確率モデルを作る 例:ある日、学食にAliceとBobが現れたかどうか Alice Bob Aliceが来た Aliceが来なかった 𝑣1 =
1 𝑣1 = 0 Bobが来た Bobが来なかった 𝑣2 = 1 𝑣2 = 0
16 22 AliceとBobが来たかどうかをN日観測する 1日目 2日目 ・・・ ・・・ N日目 この観測事実を説明する確率モデルをRBMで作りたい
17 22 目的 可視変数の実現確率が観測事実として与えられた時、 それを最も良く再現するパラメータ(b, c, w)を決めよ 簡単のため、可視変数が二つの場合を考える 状態に通し番号をつける 𝑣1
𝑣2 0 0 1 0 0 1 1 1 1 2 3 4 状態番号 状態
18 22 t日目の観測事実の状態 t回目にRBMが予測する状態 𝑆𝑡 𝑋𝑡 尤度関数:N回の予測が全て的中する確率 𝐿 =
𝑃( 𝑋1 = 𝑆1 , 𝑋2 = 𝑆2 , ⋯ , 𝑋𝑁 = 𝑆𝑁 ) 𝐿 = ෑ 𝑡 𝑃( 𝑋𝑡 = 𝑆𝑡 ) 独立過程なら log 𝐿 = 𝑡 log 𝑃( 𝑋𝑡 = 𝑆𝑡 ) 対数尤度関数
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 22 観測事実として、状態iが観測された確率を𝑞𝑖 とする あるパラメタで、RBMが状態iを予測する確率を𝑝𝑖 とする log 𝐿 =
𝑡 log 𝑃( 𝑋𝑡 = 𝑆𝑡 ) このうち、𝑆𝑡 = 𝑖となる状態の数は𝑁𝑞𝑖 個ある log 𝐿 = 𝑖 𝑁𝑞𝑖 log 𝑃( 𝑋𝑡 = 𝑖) 状態に関する 和にとりなおす 定義から𝑝𝑖 1 𝑁 log 𝐿 = 𝑖 𝑞𝑖 log 𝑝𝑖
21 22 1 𝑁 log 𝐿 = 𝑖 𝑞𝑖
log 𝑝𝑖 両辺から σ 𝑖 𝑞𝑖 log 𝑞𝑖 をひく 1 𝑁 log 𝐿 − 𝑖 𝑞𝑖 log 𝑞𝑖 = 𝑖 𝑞𝑖 log 𝑝𝑖 − 𝑖 𝑞𝑖 log 𝑞𝑖 = 𝑖 𝑞𝑖 log 𝑝𝑖 𝑞𝑖 = − 𝑖 𝑞𝑖 log 𝑞𝑖 𝑝𝑖 = −𝐷𝐾𝐿 Ԧ 𝑞 Ԧ 𝑝) これを最小化する必要がある これを最大化するためには ※観測事実なので定数
22 22 ヘルムホルツ自由エネルギーは、カノニ カル分布からのKL距離を表す RBMにおいて対数尤度関数を最大化する ことは、観測事実の分布とモデルの予測 分布のKL距離を最小化することに等しい