Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
Search
kaityo256
PRO
March 03, 2022
Education
6
3.2k
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
マルコフ連鎖モンテカルロ法はどういうものか、なぜ必要かの簡単な説明。
kaityo256
PRO
March 03, 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.5k
モンテカルロ法(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
中央教育審議会 教育課程企画特別部会 情報・技術ワーキンググループに向けた提言 ー次期学習指導要領での情報活用能力の抜本的向上に向けてー
codeforeveryone
0
450
核軍備撤廃に向けた次の大きな一歩─核兵器を先には使わないと核保有国が約束すること
hide2kano
0
160
KBS新事業創造体験2025_科目説明会
yasuchikawakayama
0
140
ThingLink
matleenalaakso
28
4.2k
AIは若者の成長機会を奪うのか?
frievea
0
130
RSJ2025 ランチョンセミナー 一歩ずつ世界へ:学生・若手研究者のための等身大の国際化の始め方
t_inamura
0
340
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
17k
1021
cbtlibrary
0
370
多様なメンター、多様な基準
yasulab
5
19k
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics: Artificial Intelligence and Data Science
signer
PRO
0
860
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
Featured
See All Featured
A better future with KSS
kneath
240
18k
Producing Creativity
orderedlist
PRO
348
40k
Mobile First: as difficult as doing things right
swwweet
225
10k
Facilitating Awesome Meetings
lara
57
6.7k
Bash Introduction
62gerente
615
210k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Designing Experiences People Love
moore
143
24k
Side Projects
sachag
455
43k
Building an army of robots
kneath
306
46k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
1 25 マルコフ連鎖モンテカルロ法 の気持ち 慶應義塾大学理工学部物理情報工学科 渡辺
2 25 Markov Chain Monte Carlo (MCMC) method • 非常に効率が良い
• バイアスがない • 数値シミュレーションにおける「モンテカルロ法」と いえばこれ • 分子動力学法に比べてわかりにくい(※個人的な感想) • なぜマルコフ連鎖が必要なのか? • 詳細釣り合い条件とは何か? • そもそも何を計算しているのか? 疑問点 これらの疑問への回答を試みる
3 25 箱の中に原子を入れてしばらく放っておく 低温なら偏る (エネルギー重視) 高温ならばらける (エントロピー重視) この相転移の様子を調べたい
4 25 ひとつのセルに 2つの原子は入れない 近距離で斥力 中距離で引力 遠距離で 相互作用無し -ε 隣り合うとエネルギーが
εだけ下がる 隣接していないと 相互作用なし
5 25 ある状態のエネルギーをE、温度をTとすると、 その状態の出現確率は以下に比例する 𝑘𝐵 exp(−𝛽𝐸) ボルツマン定数 -ε exp(𝛽𝜖) 𝛽
= 1/𝑘𝐵 𝑇 逆温度 液相(左)が出現する確率は気相(右)が出現する確率の 倍 液相の出現確率の方が大きい
6 25 気相 液相 一つ一つの出現確率は高いが、 総数が少ない →エネルギー重視 →低温で支配的であろう 一つ一つの出現確率は低いが、 総数が多い
→エントロピー重視 →高温で支配的であろう エネルギーの温度依存性𝑈(𝑇)を知りたい まずは2原子系で考える
7 25 温度 エネルギー -ε 0 低温ではエネルギーの期待値は-εであろう 高温ではエネルギーの期待値は0であろう 中間の温度ではどうなっているのか? ?
8 25 状態𝑖におけるエネルギー 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖
温度𝑇におけるエネルギーの期待値 𝐸𝑖 𝑤𝑖 = exp(− 𝐸𝑖 𝑘𝑇 ) 状態𝑖が出現する重み 𝑝𝑖 = 𝑤𝑖 σ 𝑖 𝑤𝑖 状態𝑖をとる確率 これを様々な温度で計算したい
9 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 「状態の和」になっていると扱いが難しい
𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸) 「エネルギーに関する和」に取り直した • 同じエネルギーを持つ状態が多数ある • 出現確率はエネルギーにのみ依存する → 同じエネルギーを持つ状態について和をまとめる
10 25 𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸)
エネルギーに関する和 𝑔 𝐸 エネルギー𝐸をとる状態の数(Density of State, DoE) 𝑝 𝐸 = 𝑊 𝐸 𝑍 エネルギーが𝐸である(ひとつの)状態が出現する確率 𝑊 𝐸 = exp − 𝐸 𝑘𝑇 ボルツマン重み 𝑍 = 𝑖 𝑤𝑖 = 𝐸 𝑔 𝐸 𝑊 𝐸 全ての重みの和(分配関数)
11 25 気相 液相 通り 通り 周期境界条件 V=L x Lの格子を考える
2𝑉 𝑉 𝑉 − 1 2 − 2𝑉 𝑔 −𝜖 = 2𝑉 𝑔 0 = 𝑉 𝑉 − 1 2 − 2𝑉
12 25 𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸)
= −𝜖𝑔 −𝜖 𝑤 −𝜖 + 0𝑔 0 𝑤(0) 𝑔 −𝜖 𝑤 −𝜖 + 𝑔 0 𝑤(0) 𝑔 −𝜖 = 2𝑉 𝑔 0 = 𝑉 𝑉 − 1 2 − 2𝑉 𝑤 −𝜖 = exp 𝜖 𝑘𝑇 𝑤 0 = 1 必要なものがそろっているので厳密に計算できる
13 25 20x20マスに2原子の場合 液相 気相 サイズが大きくなるほど、原子が増えるほど、 「確率の入れ替わり」が急峻に→相転移 温度が低い 温度が高い 𝐾
液相の出現確率 𝐾 = 𝜖 𝑘𝑇
14 25 3原子の場合、取り得るエネルギーは3種類になる -2ε -ε 0 𝑔 𝐸 3原子ならまだがんばれなくもないが、一般のN原子では絶望的 は一般には計算できない
15 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 状態が与えられたらエネルギーは計算できる
逆にエネルギーが与えられた時、そのエネルギーを持つ状態数はわからない 状態数がわからないので、状態𝑖が出現する確率𝑝𝑖 もわからない 𝑝𝑖 = 𝑤𝑖 σ 𝑖 𝑤𝑖 確率を知るには、重みの総和が必要 𝑖 𝑤𝑖 = 𝐸 𝑔 𝐸 𝑊 𝐸 ≡ 𝑍 重みの総和(分配関数)を求めるには 状態数𝑔(𝐸)が必要 状態の出現確率𝑝𝑖 がわからない状態で、以下の量を推定したい ※ gとZは等価(ラプラス変換の関係)
16 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 ランダムな状態𝑗を選ぶ
状態𝑗の重み𝑤𝑗 を計算する エネルギーの期待値を以下で近似する = σ𝑖 𝐸𝑖 𝑤𝑖 σ 𝑖 𝑤𝑖 ∼ σ𝑗 𝐸𝑗 𝑤𝑗 σ 𝑗 𝑤𝑗 全ての状態についての和 (厳密) ランダムに生成した状態についての和 (サンプリング)
17 25 問題点 • 温度が低い場合、ほとんどの寄与はエネルギーが低い状態からくる • 状態をランダムに生成すると、エネルギーが低い状態が選ばれる確率 が極めて低くなる • 極めて低確率で出現する状態が、極めて大きな重みを持つ
→ 収束に非常に多数の試行数が必要となる 𝑈 𝑇 ∼ σ𝑗 𝐸𝑗 𝑤𝑗 σ 𝑗 𝑤𝑗 𝑤𝑗 が大きい𝑗を引き当てないといけない 𝑤𝑗 が大きい𝑗の数は相対的に非常に少ない 運よくそんな𝑗を引き当てるまで待つ必要がある
18 25 単純サンプリングは、重みを無視して状態を生成していたのが問題 →重みに比例して状態を生成したい もし状態𝑗を、重み𝑤𝑗 に比例して生成できたら? 𝑝𝑗 = 𝑤𝑗 σ
𝑗 𝑤𝑗 状態𝑗の出現確率 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 ∼ 1 𝑀 𝑗 𝑀 𝐸𝑗 M回状態を生成して エネルギーを平均するだけ しかし、重みの総和は計算できない 重みの総和を計算しないまま、重みに比例して状態を生成したい マルコフ連鎖モンテカルロ法
19 25 B 二つの状態A,Bを考える それぞれ重み𝑤𝐴 , 𝑤𝐵 を持っている 平衡状態における分布𝜋(𝐴)と𝜋(𝐵)が重みに比例するように遷移確率を決めたい A
𝑃(𝐴 → 𝐵) 𝑃(𝐵 → 𝐴) 平衡状態では 𝜋 𝐴 𝑃 𝐴 → 𝐵 = 𝜋(𝐵)𝑃 𝐵 → 𝐴 Aの人口 AからBに行く割合 AからBに行く人口 BからAに行く人口 𝑤𝐴 𝑤𝐵
20 25 B A 𝑃(𝐴 → 𝐵) 𝑃(𝐵 → 𝐴)
目的 𝜋 𝐴 ∝ 𝑤𝐴 , 𝜋 𝐵 ∝ 𝑤𝐵 となるように 𝑃 𝐴 → 𝐵 , 𝑃(𝐵 → 𝐴)を決める 𝜋 𝐴 𝑃 𝐴 → 𝐵 = 𝜋(𝐵)𝑃 𝐵 → 𝐴 より 𝑃 𝐴 → 𝐵 𝑃 𝐵 → 𝐴 = 𝜋 𝐵 𝜋(𝐴) = 𝑤𝐵 𝑤𝐴 を満たすように決めればよい → 詳細釣り合い条件 (Detailed balance condition) ※ 正確には、遷移可能なすべての状態間でこの式が成り立つことを詳細釣り合い条件と呼ぶ 𝑤𝐴 𝑤𝐵
21 25 𝑃 𝐴 → 𝐵 𝑃 𝐵 → 𝐴
= 𝜋 𝐵 𝜋(𝐴) = 𝑤𝐵 𝑤𝐴 を満たす遷移確率の決め方は一意に決まらない →適当に決める 熱浴法(heat-bath method) 𝑃 𝐴 → 𝐵 = 𝑤𝐵 𝑤𝐴 + 𝑤𝐵 , 𝑃 𝐵 → 𝐴 = 𝑤𝐴 𝑤𝐴 + 𝑤𝐵 素直に遷移確率も重みに比例させる メトロポリス法(Metropolis method) 重みが大きい場合は必ず遷移、そうでない場合は確率的に遷移させる 𝑃 𝐴 → 𝐵 = 1, 𝑃 𝐵 → 𝐴 = 𝑤𝐴 𝑤𝐵 𝑤𝐴 < 𝑤𝐵
22 25 • 適当な状態𝑥0 を決める • そこから遷移可能な状態𝑥′を適当に決める • 重み𝑤(𝑥0 )と𝑤(𝑥′)から、遷移確率を決める
• 遷移した場合は状態を更新、遷移しなかった場合は • 現在の状態のままとし、それを𝑥1 とする • 同様に𝑥𝑡 から𝑥𝑡+1 を生成する(連鎖) 十分に緩和した場合、状態𝑥の出現確率は重み𝑤 𝑥 に比例する(※) 状態𝑥から遷移可能な状態𝑦の間には、詳細釣り合いが満たされている → 状態𝑦の出現確率も𝑤 𝑦 に比例する 𝑥0 𝑥1 𝑥2 𝑥𝑡 … ※厳密に証明可能だが、今回は詳細に触れない
23 25 現在の状態𝑥𝑡 適当な原子を一つ選ぶ 適当に動かす 提案状態𝑥′ エネルギーを計算し、エネルギーから重み𝑤(𝑥′)を計算する 現在の重み𝑤 𝑥𝑡 と、提案状態の重み𝑤(𝑥′)から、遷移させるかどうか決める
遷移してもしなくても、それを次の状態𝑥𝑡+1 とする 温度が低い場合は、エネルギーの高い場合に遷移しづらくなる →エネルギーの低い状態にとどまり続ける →エネルギーの低い状態が提案される確率が高くなる →重みに比例して状態をサンプリングできる
24 25 遷移確率が現在の状態にのみ依存し、履歴に依存しないこと t-1 t t-2 過去にどのような 履歴をたどっていても 現在の状態が 同じなら
現在の状態𝑥𝑡 提案状態𝑥′ 𝑃 𝑥 → 𝑥′ 同じ提案状態への 遷移確率は等しい
25 25 マルコフ連鎖モンテカルロ法とは何か? 重みに比例するように提案状態を生成することで 効率よくサンプリングする手法 なぜマルコフ連鎖モンテカルロ法が必要か? 状態が与えられたらエネルギーの計算は容易だが、 逆にエネルギーが与えられた時の状態数の計算が 困難だから -ε
状態からエネルギーを 求めるのは簡単 -ε ・・・ エネルギーから状態数を 求めるのは困難