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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kaityo256
PRO
November 10, 2022
Education
6
4k
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
10
11k
卒論の書き方 / Happy Writing
kaityo256
PRO
54
28k
生成AIとの付き合い方 / Generative AI and us
kaityo256
PRO
13
7k
モンテカルロ法(3) 発展的アルゴリズム / Simulation 04
kaityo256
PRO
10
1.7k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
12
4.4k
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
7
770
論文紹介のやり方 / How to review
kaityo256
PRO
18
90k
デバッグの話 / Debugging for Beginners
kaityo256
PRO
18
1.9k
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
8
730
Other Decks in Education
See All in Education
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
TypeScript初心者向け完全ガイド
mickey_kubo
1
120
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
Flinga
matleenalaakso
2
15k
NUTMEG紹介スライド
mugiiicha
0
870
Chapitre_2_-_Partie_2.pdf
bernhardsvt
0
160
栃木にいても「だいじ」だっぺ〜! 栃木&全国アジャイルコミュニティへの参加・運営の魅力
sasakendayo
1
140
令和エンジニアの学習法 〜 生成AIを使って挫折を回避する 〜
moriga_yuduru
0
230
AWS re_Invent に全力で参加したくて筋トレを頑張っている話
amarelo_n24
2
120
Linguaxes de programación
irocho
0
530
0121
cbtlibrary
0
120
AIで日本はどう進化する? 〜キミが生きる2035年の地図〜
behomazn
0
110
Featured
See All Featured
How to make the Groovebox
asonas
2
1.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Code Review Best Practice
trishagee
74
20k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
110
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
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距離を最小化することに等しい