Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
0
2.8k
Kullback-Leibler 距離のあれこれ / KL Divergence
ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話
kaityo256
PRO
November 10, 2022
Tweet
Share
More Decks by kaityo256
See All by kaityo256
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
14
4.8k
制限ボルツマンマシンの話 / Introduction of RBM
kaityo256
PRO
3
690
論文の読み方 / How to survey
kaityo256
PRO
219
150k
リンゴゲームと貧富の差 / Origin of the disparity of wealth
kaityo256
PRO
14
14k
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
9
8.2k
時間の矢について / Time's arrow
kaityo256
PRO
12
17k
t-SNEをざっくりと理解 / Overview of t-SNE
kaityo256
PRO
2
1.1k
未定義動作でFizz Buzz / Undefined Fizz Buzz
kaityo256
PRO
1
960
卒論の書き方 / Happy Writing
kaityo256
PRO
33
20k
Other Decks in Education
See All in Education
20240810_ワンオペ社内勉強会のノウハウ
ponponmikankan
2
780
SelectAIでSQL研修の演習問題に挑む [Oracle]
nisshii
1
180
2024年度春学期 統計学 第9回 確からしさを記述する ー 確率 (2024. 6. 6)
akiraasano
PRO
0
140
エンジニアの イネーブルメントを支える 技術発信文化の作り方
sedo
0
150
WaPEN_Asial2024.pdf
asial_edu
0
400
Skynet to Schoolnet
draycottmc
0
150
不登校予防・再登校支援プログラムを提供するToCo (トーコ) の会社紹介資料 toco.mom
toco3week
0
190
技術を楽しもう/enjoy_engineering
studio_graph
1
290
ポケモンで音象徴
jamashita
0
360
データハンドリング/data_handling
florets1
2
120
Padlet opetuksessa
matleenalaakso
4
12k
自己紹介 / who-am-i
yasulab
2
3.8k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
The Invisible Customer
myddelton
119
13k
Statistics for Hackers
jakevdp
793
220k
Clear Off the Table
cherdarchuk
91
320k
Debugging Ruby Performance
tmm1
72
12k
Building Adaptive Systems
keathley
36
2.1k
Navigating Team Friction
lara
183
13k
5 minutes of I Can Smell Your CMS
philhawksworth
201
19k
What's new in Ruby 2.0
geeforr
340
31k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
The Mythical Team-Month
searls
218
43k
Six Lessons from altMBA
skipperchong
26
3.3k
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距離を最小化することに等しい