Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
自己学習モンテカルロ法: 機械学習を用いたモンテカルロ法の高速化
原子力機構 システム計算科学センター 永井佑紀
1. YN, H. Shen, Y. Qi, J. Liu, and L. Fu“Self-learning Monte Carlo method: Continuous-time algorithm”,Physical Review B 96, 161102(R) (2017) Editors’ Suggestion
2. YN, M. Okumura, and A. Tanaka“Self-learning Monte Carlo method with Behler-Parrinello neural networks”, arXiv:1807.04955
理化学研究所 革新知能統合研究センター
Outlineイントロダクション
自己学習モンテカルロ法
いくつかの例:古典スピン系、二重交換模型
連続時間量子モンテカルロ法への適用
有効模型の自動構築
まとめ
イントロダクション
機械学習とは猫画像その他
猫?yes or no
関数f(x)
x
y猫です
大量の入力データxを用いて、 f(x)=yを満たす関数f(x)を決める学習プロセス例:囲碁棋譜データ→勝利の方程式
囲碁プロ棋士に勝利
教師あり学習
機械学習とは大量の入力データxを用いて、f(x)=yを満たす関数f(x)を決める
教師あり学習
一番シンプルな例 y = ax+ b 直線で近似(線形回帰)
猫です
インプットが複数→xがベクトルy = Wx+ b
y
xW
もっと表現力を高めたいy = W2 f(W1x+ b1)+by = W3f(W2 f(W1x+ b1)+b2)+b
:
…
深層学習
ニューラルネットワーク
f:非線形関数
物理学への応用例機械学習で相転移を検出するIsing模型の相転移検出A.Tanaka and Y. Tomita, J. Phys. Soc. Jpn. 86, 063001 (2017)
負符号問題のあるフェルミオン系の相転移検出
P. Broecker et al. Scientific Reports 7 8823 (2017) volume
7
同時間グリーン関数を解析
スピン分布を解析ハニカム格子Hubbard模型
画像認識的な方法が多い
機械学習の物理学への応用画像認識的な方法:相転移の検出等
別のアプローチはないか?自然界は複雑すぎる単純なモデルを作って解析する
例:ボールを投げたらどこに落ちる?風は吹いていない「とする」 -> まあそんなに間違っていない結果
予測できないよりずっと良い
自己学習モンテカルロ法:簡単なモデルを機械に作らせてみる
現象を記述する簡単なモデルを作る物理学者が長年やってきた方法:
機械学習とは猫画像その他
猫?yes or no
関数f(x)
x
y猫です
大量の入力データxを用いて、 f(x)=yを満たす関数f(x)を決める学習プロセス例:囲碁棋譜データ→勝利の方程式
囲碁プロ棋士に勝利
スピン配置自己学習モンテカルロ法
ボルツマン重みを使って高速に シミュレーション
分配関数と物理量物理量の期待値<A>を計算したい
平衡統計力学:分配関数が計算できればよい<A>=Tr [A exp(-βH)]/Z
Z = Tr [exp(-βH)]
経路積分表示でも何でも、分配関数の計算が重要
経路積分表示なら
どのくらい大変かトレースTrの空間のサイズは?
量子多体問題の場合固体物理学:原子を飛び移る電子がどう振る舞うか
銅酸化物高温超伝導体 etc.有効模型:ハバード模型
1サイト
upスピン いるorいない:2通り
downスピン いるorいない:2通りx
4通り
2サイト4 x 4 = 16通り
3サイト4 x 4 x 4 = 64通り
Nサイト=4N通り 膨大な自由度418=68719476736~687億次元18サイト
量子多体問題の場合固体物理学:原子を飛び移る電子がどう振る舞うか
条件を課す:粒子数保存、スピン保存
3サイト、upスピン1個、downスピン1個
3C1 3C1 =9通り
Nサイト、upスピンn個、downスピンm個NCn NCm
x
x18サイト、upスピンdownスピンともに9個18C9 x18C9=48620 x 48620 = 2363904400=23億次元
→ブロック対角化できる
次元が大きすぎる!→モンテカルロ法
古典統計力学での例分配関数 Aに関する期待値
古典スピン系(Ising模型の場合)それぞれの配置iは異なるエネルギーEiを持つ
E1 E2 E3エネルギーが低い方が寄与が大きい
可能な全ての配置を足す必要がある
→被積分関数が局在しているエネルギーが低い配置がよく出る偏ったサイコロでサンプリングすれば計算できる
→重みつきモンテカルロ積分
偏ったサイコロはどうやって設計するか→マルコフ連鎖で可能
自己学習モンテカルロ法
マルコフ連鎖モンテカルロ法
x 0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
-3 -2 -1 0 1 2 3
π(x)
求める確率分布を均衡分布として持つマルコフ連鎖を生成→確率分布のサンプリングを行う
局在した関数π(x)を持つ高次元積分
→ 高精度に計算できる
非常に広い範囲で用いられる
確率分布π(x) のマルコフ連鎖
ベイズ推定、量子化学、多体問題、宇宙・素粒子(格子QCD) etc.
分配関数 重みwi = exp(-βEi)→確率分布例:古典統計力学
物理量Aの統計平均高速化は様々な分野で
恩恵が得られる
物理学におけるモンテカルロ法
分配関数古典スピン系
Aに関する期待値
i: スピン配置
wi = exp(-βEi) を確率分布をみなす →モンテカルロシミュレーション
x1=(1,-1,1,1) x2=(1,-1,-1,1) x3=(1,-1,-1,-1)
w(x1) w(x2) w(x3)
マルコフ連鎖モンテカルロ法偏ったサイコロπ(x)を使えば
ただ足しあげるだけで済むランダムに配置xiを更新していく
x1=(1,-1,1,1) x2=(1,-1,-1,1) x3=(1,-1,-1,-1)
w(x1) w(x2) w(x3)
x1 x2 xnx3
1. 候補となる配置を生成する
2.その候補の受け入れ確率αを計算する
…x4
どんな配置にするか?
高い受け入れ確率が欲しい
メトロポリスヘイスティング法
受け入れ確率の表式
従来のモンテカルロ法
配置の更新には2通りの方法がある
x1=(1,-1,1,1) x2=(1,-1,-1,1)
w(x1) w(x2)1. ローカルアップデート局所的に一部だけ変化させる
長所:どのマルコフ連鎖モンテカルロ法でも可能
短所:変化しにくい(自己相関長が長い)ため、独立した配置が中々得られない高次元空間の探索が終わらない
2. グローバルアップデート
長所:有効な方法が見つかればとても効率的 x1=(1,-1,1,1) x2=(-1,1,-1,-1)
w(x1) w(x2)モデルに最適化された配置更新方法
短所:モデルに強く依存する、探すのに職人的技巧が必要、存在するか非自明似たモデルでも使えない場合あり。見つけるだけで論文になる
自己学習モンテカルロ法3. 自己学習モンテカルロ法(SLMC法)
“モデルに最適化された配置更新方法”を学習で自分で見つける
x
確率分布:P(x)=w(x)
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
-3 -2 -1 0 1 2 3
例:w(x) = exp[-βH(x)]
学習データ:配置{xi} 教師(正解):重み{w(xi)}
weff(x) = exp[-βHeff(x)]
Heff(x)を見つけ出す
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
-3 -2 -1 0 1 2 3
Peff(x)P(x)
x
配置の提案を有効模型Heffを使って行う受け入れ確率α
完璧な模型なら100%
自己学習モンテカルロ法の計算の流れ
1.トライアルシミュレーション
トライアルシミュレーション(local update)
…
Heff
(a) (b)
Heff
次配置提案
H
機械学習
ci採択する?
cj候補 cj
本シミュレーション(SLMC法)
1-1. 通常通り計算を行い、配置(学習データ)と重み(正解)を集める1-2. 正解を再現するような有効模型Heffを、学習によって決定する
2.本シミュレーション2-1. ある配置xiから、Heffを用いたマルコフ連鎖モンテカルロ法を行い、ほとんど相関のない配置cjを得る2-2. Hを用いて受け入れ確率αを計算する 統計的に元シミュレーションに厳密に一致する
Heff(x)を見つけ出す
特徴:学習データを取りたいだけ取れる
自己学習モンテカルロ法の詳細
分子シミュレーション研究会誌“アンサンブル”Vol. 21, No. 1, January 2019 (通巻 85 号)
メトロポリスヘイスティングス法の一種詳細釣り合い
提案確率とアクセプト確率に分離
アクセプト確率
1にしたい
機械学習由来のエラーはなし!提案するための別のマルコフ鎖
(提案マルコフ鎖)を用意
詳細釣り合い
アクセプト確率
同じ重みを出す提案マルコフ鎖を設計できれば確率1でアクセプト
有効模型構築トライアルシミュレーションで随時生成
x1=(1,-1,1,1) x2=(1,-1,-1,1) x3=(1,-1,-1,-1)w(x1) w(x2) w(x3)
←input dataサイズ4
←output dataサイズ1
x1=(1,-1,1,1)
log w(x1)
f(x)=-βHeff(x)f(x)
線形回帰ならHeff(x) = Σi ai gi(x)+b
aiを決定するgi(x)の形を仮定し
学習データは好きなだけ増やせる
いくつかの例: 古典スピン系、二重交換模型
古典スピン系の場合
強磁性相互作用: J>0, K>0K=0では、この模型はIsing模型となる →Wolff法という有効なグローバルアップデート法があるJ
K相転移が存在する 高温領域:常磁性相 低温領域:強磁性相
SLMC法を使えば、臨界点近傍での自己相関時間を劇的に短縮することができる
有効なグローバルアップデート法がない臨界点近傍で自己相関時間が非常に長い
二次元正方格子上の古典スピン系 J. Liu, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 041101(R) (2017)
古典スピン系の場合二次元正方格子上の古典スピン系
オリジナル模型 有効模型
J
K
J1
J2
~
~
Log w=-βH(Si) Log weff=-βHeff(Si)
4体相互作用: 有効なグローバルアップデートがない
二体相互作用のみ: Wolffグローバルアップデート法が使える
線形回帰
配置と重みのデータを集める
J. Liu, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 041101(R) (2017)
古典スピン系の場合
C1:最近接スピンスピン相関関数
自己相関関数の減少の様子
J1 だけを用いて元の模型の重みを再現できる
J. Liu, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 041101(R) (2017)
オリジナル模型 有効模型
量子系フェルミオン系重みとして行列の行列式を計算しなければならない
φ:配置 重い
三次元立方格子上での二重交換模型
ci: サイトiでのフェルミオン Si: サイトiでの古典スピン
遍歴電子がスピンを介してRKKY相互作用を発現させる
J/t=16 かつ1/4フィリングで、この模型は常磁性・強磁性転移を起こす(Tc~0.12t)
Tc近傍でのシミュレーションがしたい有効模型:二体の局所スピン間の相互作用の模型
注:フェルミオン自由度を持たない
重みを再現するHeffを学習する
J. Liu, H. Shen, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 241104(R)(2017)
量子系二重交換模型:フェルミオン+古典スピン 有効模型
行列式 ただの数
振動関数-> RKKY 相互作用ほぼ同じ分布関数
自己相関時間
システムサイズ
L=8 (8x8x8 cubic) 103 倍の高速化!
J. Liu, H. Shen, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 241104(R)(2017)
二重交換模型のフェルミオン自由度を消去 ->RKKY相互作用が出る
RKKYを自動的に”導出”
連続時間量子モンテカルロ法への適用
連続時間量子モンテカルロ法連続時間量子モンテカルロ法(CTQMC)は動的平均場理論(DMFT)における不純物ソルバーとして使われることが多い
DMFT (and its extensions): 銅酸化物超伝導体、鉄系超伝導体etc DMFT+density functional theory (DFT):強相関系の第一原理計算
鈴木トロッター分解がいらない 数値的に厳密な計算ができる
不純物アンダーソン模型
自由な電子と、局在した電子
連続時間量子モンテカルロ法分配関数を H1で摂動展開する
イジング的な擬スピンを導入する
0 β τ
配置continuous-time auxiliary-field quantum Monte Carlo method (CTAUX)ふた通りの展開方法: U or V as H1 E. Gull et al., Rev. Mod. Phys. 83, 349 (2011)
連続時間量子モンテカルロ法不純物アンダーソン模型 continuous-time auxiliary-field method (CTAUX)
分配関数イジング的な擬スピン
ファインマンダイアグラムを重みとみなしてモンテカルロ積分
0 β τ
配置0 β τ
連続虚時間上のスピンの数はシミュレーション中に変化する有効模型は何か?
連続時間量子モンテカルロ法YN, H. Shen, Y. Qi, J. Liu and L. Fu, Phys. Rev. B 96, 161102(R) (2017)
元の模型
重みの計算負荷が大きいトレーニングデータ インプット: 連続虚時間上のスピンの配置
スピン数はシミュレーション中に変化アウトプット: 行列式を計算して得られる重み
有効模型
虚時間上で長距離の二体スピンスピン相互作用
1. 最低次のスピンスピン相互作用のみ2. 異なる展開次数の重みが同一の関数で表現できる3. 1/n因子は原子極限から導出されており、これが無いと模型の精度が大きく落ちる
その他面白い性質
異なる展開次数(ファインマンダイヤグラム)の重みを30個程度のパラメータで
再現ができる!
連続時間量子モンテカルロ法(CTAUX)
全部で30個ほどのパラメータを線形回帰で決定連続変数→多項式展開で有限次数で打ち切り
有効模型:虚時間上で二体相互作用するスピン
YN, H. Shen, Y. Qi, J. Liu and L. Fu, Phys. Rev. B 96, 161102(R) (2017)
行列式の計算が必要
CTAUXの重みの計算
有効模型は、出てくるファインマンダイヤグラムの全ての重要な寄与を記述している
-4
-3
-2
-1
0
1
2
3
4
5
0 0.2 0.4 0.6 0.8 1τ/β
(J(τ))/|U| with U=2(J(τ))/|U| with U=5
(L(τ)+b0)/|U| with U=2(L(τ)+b0)/|U| with U=5
重みの分布関数有効模型の長距離相互作用
計算コストOriginal without fast updates: O(<n>3 τori)Original with fast updates: O(<n>2 τori)Self-learning MC: O((<n>3+mc <n>τori)τSL) τori ∝ U4β3
:Local fast update O(n2):Local determinant update O(n3):Local self-learning update O(n)
Original CTAUX
Self-learning CTAUX
Markov Chain Monte Carlo steps
自己学習モンテカルロ法は自己相関時間を減らす
有効模型の自動構築
さらなる改良:自動構築へここまでは、有効模型を予想して、線形回帰を行なっていた
有効模型の自動構築を行いたい
インプット:モンテカルロ配位 アウトプット:重みWlogW=T Heff
SLMC法
類似の手法が実は機械学習分子動力学法にある
インプット:原子配置 アウトプット:エネルギー第一原理計算で得られるエネルギーを再現するようなニューラルネットを構築する
J. Behler and M. Parrinello, Generalized Neural-Network Representation of High-Dimensional Potential-Energy Surfaces, Phys. Rev. Lett. 98, 146401 (2007).
ベーラーパリネロニューラルネットワーク
SLMC with BPNNベーラーパリネロニューラルネットワーク
それぞれの原子種ごとにニューラルネットを作る
それぞれのスピン(“原子”)ごとにニューラルネットを作る
それぞれの原子の周辺環境の情報を用いる それぞれの”原子”の周辺環境の情報を用いる
ニューラルネットワークを使った有効模型の自動構築が可能にYN, M. Okumura, A. Tanaka, arXiv:1807.04955
適用例隠れ層1層のニューラルネットワーク
y = W2 f(W1x+ b1)+b
連続時間量子モンテカルロ法に適用
線形回帰ではアクセプト率の低い領域で良いパフォーマンスYN, M. Okumura, A. Tanaka, arXiv:1807.04955
まとめ
自己学習モンテカルロ法(SLMC)
Trial simulations
…
HeffMachine learning
Heff
Propose
H
xi
Accept?proposal xj xj
Main simulations(SLMC)
SLMCが有効な時1. 自己相関時間が長い (e.g. 臨界点近傍)
3. 重みの計算が大変(フェルミオン系等の量子系)2. 似た系が有効なグローバルアップデートを持っている
ポイント:次配置提案に機械学習が使われる ->物理量計算はオリジナルを使う->オリジナル手法と統計的に厳密に等しい
YN, H. Shen, Y. Qi, J. Liu and L. Fu, Phys. Rev. B 96, 161102(R) (2017)
“モデルに最適化された配置更新方法”を学習で自分で見つける