Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Kullback-Leibler 距離のあれこれ / KL Divergence
kaityo256
PRO
November 10, 2022
Education
0
610
Kullback-Leibler 距離のあれこれ / KL Divergence
ヘルムホルツ自由エネルギーがKL距離である話とRBMのコスト関数がKL距離である話
kaityo256
PRO
November 10, 2022
Tweet
Share
More Decks by kaityo256
See All by kaityo256
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
4
2.9k
Pythonはどうやって動くのか / Python How to Work
kaityo256
PRO
6
7.2k
NumPyとSciPyの使い方 / Python NumPy
kaityo256
PRO
1
1k
クラスとオブジェクト指向 / Python Class
kaityo256
PRO
3
2.5k
卒論の書き方 / Happy Writing
kaityo256
PRO
20
12k
再帰呼び出し / Python Recursion
kaityo256
PRO
0
830
ファイル操作 / Python File
kaityo256
PRO
0
810
文字列処理 / Python String
kaityo256
PRO
0
870
リストやタプルの使い方 / Python List
kaityo256
PRO
0
1.2k
Other Decks in Education
See All in Education
1109
cbtlibrary
0
160
私が Ruby on Rails 7 対応版を推す理由
yasslab
PRO
0
270
CMC_Meetup Online Vol.24 地方で活動するコミュニティリーダーに聞く!地方における持続可能なコミュニティ運営のイロハとは?登壇スライド
tarimo34
0
100
Statistical Rethinking 2023 - Lecture 07
rmcelreath
1
190
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
1.4k
Sähköiset kyselyt, kokeet ja arviointi
matleenalaakso
1
13k
QR-koodit opetuksessa
matleenalaakso
0
610
the roommates
lyh125
0
340
UNKテーブル
harunakano
0
1.6k
Web Search and SEO - Lecture 10 - Web Technologies (1019888BNR)
signer
PRO
2
1.4k
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
1.3k
子育てエンジニアたちのLT大会_CTOの小学校受験
fdmiyata
PRO
0
540
Featured
See All Featured
Optimizing for Happiness
mojombo
365
64k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
Faster Mobile Websites
deanohume
295
29k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
2
410
Rebuilding a faster, lazier Slack
samanthasiow
69
7.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
The Language of Interfaces
destraynor
149
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
50k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
A designer walks into a library…
pauljervisheath
199
16k
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距離を最小化することに等しい