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
November 10, 2022
Education
0
3.3k
Kullback-Leibler 距離のあれこれ / KL Divergence
ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話
kaityo256
November 10, 2022
Tweet
Share
More Decks by kaityo256
See All by kaityo256
論文紹介のやり方 / How to review
kaityo256
13
68k
デバッグの話 / Debugging for Beginners
kaityo256
9
1.2k
ビット演算の話 / Let's play with bit operations
kaityo256
5
360
GNU Makeの使い方 / How to use GNU Make
kaityo256
15
5.1k
制限ボルツマンマシンの話 / Introduction of RBM
kaityo256
3
1k
論文の読み方 / How to survey
kaityo256
219
160k
リンゴゲームと貧富の差 / Origin of the disparity of wealth
kaityo256
14
14k
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
9
8.8k
時間の矢について / Time's arrow
kaityo256
12
17k
Other Decks in Education
See All in Education
Algo de fontes de alimentación
irocho
1
480
中野区ミライ★ライター倶楽部presents『MINT』
nakamuramikumirai
0
660
2024年度秋学期 統計学 第12回 分布の平均を推測する - 区間推定 (2024. 12. 11)
akiraasano
PRO
0
120
自己紹介 / who-am-i
yasulab
PRO
2
4.5k
Carving the Way to Ruby Engineering
koic
3
800
Why Did Douglass Change His Mind?
oripsolob
0
360
Initiatives on Bridging the Gender Gap in the Technology Sector
codeforeveryone
0
120
小学校プログラミング教育、次の5年に向けて 〜つくること・学ぶことの歓びへ〜 /NextGenerationOfProgrammingEducation
kiriem
2
370
LinkedIn
matleenalaakso
0
3.5k
JAWS-UGを通じてアウトプット活動を楽しんでみませんか? #jawsug_tochigi
masakiokuda
0
220
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
2.7k
ThingLink
matleenalaakso
28
3.9k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Visualization
eitanlees
146
15k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Agile that works and the tools we love
rasmusluckow
328
21k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Docker and Python
trallard
44
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距離を最小化することに等しい