self-learning monte carlo...

30
Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀 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

Upload: vokhanh

Post on 29-Jun-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

Self-learning Monte Carlo Method

原子力機構 システム計算科学センター 永井佑紀

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

Page 2: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

Outlineイントロダクション

自己学習モンテカルロ法

いくつかの例:古典スピン系、二重交換模型

連続時間量子モンテカルロ法への適用

まとめ

マサチューセッツ工科大学(MIT)物理学科L. Fuグループとの共同研究

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

Page 3: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

機械学習とは猫画像その他

猫?yes or no

関数f(x)

x

y猫です

大量の入力データxを用いて、 f(x)=yを満たす関数f(x)を決める学習プロセス例:囲碁棋譜データ→勝利の方程式

囲碁プロ棋士に勝利

スピン配置自己学習モンテカルロ法

ボルツマン重みを使って高速に シミュレーション

Page 4: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

分配関数と物理量物理量の期待値<A>を計算したい

平衡統計力学:分配関数が計算できればよい<A>=Tr [A exp(-βH)]/Z

Z = Tr [exp(-βH)]

経路積分表示でも何でも、分配関数の計算が重要

経路積分表示なら

どのくらい大変かトレースTrの空間のサイズは?

Page 5: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

量子多体問題の場合固体物理学:原子を飛び移る電子がどう振る舞うか

銅酸化物高温超伝導体 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サイト

Page 6: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

量子多体問題の場合固体物理学:原子を飛び移る電子がどう振る舞うか

条件を課す:粒子数保存、スピン保存

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億次元

→ブロック対角化できる

次元が大きすぎる!→モンテカルロ法

Page 7: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

古典統計力学での例分配関数 Aに関する期待値

古典スピン系(Ising模型の場合)それぞれの配置iは異なるエネルギーEiを持つ

E1 E2 E3エネルギーが低い方が寄与が大きい

可能な全ての配置を足す必要がある

→被積分関数が局在しているエネルギーが低い配置がよく出る偏ったサイコロでサンプリングすれば計算できる

→重みつきモンテカルロ積分

偏ったサイコロはどうやって設計するか→マルコフ連鎖で可能

Page 8: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

自己学習モンテカルロ法

Page 9: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

マルコフ連鎖モンテカルロ法

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の統計平均高速化は様々な分野で

恩恵が得られる

Page 10: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

マルコフ連鎖モンテカルロ法偏ったサイコロπ(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

どんな配置にするか?

高い受け入れ確率が欲しい

メトロポリスヘイスティング法

受け入れ確率の表式

Page 11: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

従来のモンテカルロ法

配置の更新には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)モデルに最適化された配置更新方法

短所:モデルに強く依存する、探すのに職人的技巧が必要、存在するか非自明似たモデルでも使えない場合あり。見つけるだけで論文になる

Page 12: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

自己学習モンテカルロ法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%

Page 13: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

自己学習モンテカルロ法の計算の流れ

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)を見つけ出す

特徴:学習データを取りたいだけ取れる

Page 14: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

SLMCは統計的に厳密に等しい

c1 c2 c3 c4 c5 c6

メトロポリスヘイスティング法によるアクセプト率の表式

ciからcjへと飛び移る確率

pprop: 提案確率 pacc: アクセプト確率

1. 有効模型の導入 Heff

3. を提案確率

とみなす

2.有効模型の詳細釣り合い条件

        ciからcjへの飛び移り確率

4.アクセプト率の表式

5. Heff を用いてアップデートを行い、相関のない配置を提案する

アクセプト率の計算はオリジナル模型を使用 -> 統計的に厳密な結果

Page 15: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

有効模型構築トライアルシミュレーションで随時生成

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)の形を仮定し

学習データは好きなだけ増やせる

Page 16: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

いくつかの例: 古典スピン系、二重交換模型

Page 17: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

古典スピン系の場合

強磁性相互作用: 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)

Page 18: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

古典スピン系の場合二次元正方格子上の古典スピン系

オリジナル模型 有効模型

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)

Page 19: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

古典スピン系の場合

C1:最近接スピンスピン相関関数

自己相関関数の減少の様子

J1 だけを用いて元の模型の重みを再現できる

J. Liu, Y. Qi, Z. Y. Meng, and L. Fu, Phys. Rev. B 95, 041101(R) (2017)

オリジナル模型 有効模型

Page 20: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

量子系フェルミオン系重みとして行列の行列式を計算しなければならない

φ:配置 重い

三次元立方格子上での二重交換模型

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)

Page 21: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

量子系二重交換模型:フェルミオン+古典スピン 有効模型

行列式 ただの数

振動関数-> 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を自動的に”導出”

Page 22: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法への適用

Page 23: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法連続時間量子モンテカルロ法(CTQMC)は動的平均場理論(DMFT)における不純物ソルバーとして使われることが多い

DMFT (and its extensions): 銅酸化物超伝導体、鉄系超伝導体etc DMFT+density functional theory (DFT):強相関系の第一原理計算

鈴木トロッター分解がいらない 数値的に厳密な計算ができる

不純物アンダーソン模型

自由な電子と、局在した電子

Page 24: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法分配関数を 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)

Page 25: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法不純物アンダーソン模型 continuous-time auxiliary-field method (CTAUX)

分配関数イジング的な擬スピン

ファインマンダイアグラムを重みとみなしてモンテカルロ積分

0 β τ

配置0 β τ

連続虚時間上のスピンの数はシミュレーション中に変化する有効模型は何か?

Page 26: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法YN, H. Shen, Y. Qi, J. Liu and L. Fu, Phys. Rev. B 96, 161102(R) (2017)

元の模型

重みの計算負荷が大きいトレーニングデータ インプット: 連続虚時間上のスピンの配置

スピン数はシミュレーション中に変化アウトプット: 行列式を計算して得られる重み

有効模型

虚時間上で長距離の二体スピンスピン相互作用

1. 最低次のスピンスピン相互作用のみ2. 異なる展開次数の重みが同一の関数で表現できる3. 1/n因子は原子極限から導出されており、これが無いと模型の精度が大きく落ちる

その他面白い性質

異なる展開次数(ファインマンダイヤグラム)の重みを30個程度のパラメータで

再現ができる!

Page 27: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

連続時間量子モンテカルロ法(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

重みの分布関数有効模型の長距離相互作用

Page 28: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

計算コスト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

自己学習モンテカルロ法は自己相関時間を減らす

Page 29: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

まとめ

Page 30: Self-learning Monte Carlo Methodkabuto.phys.sci.osaka-u.ac.jp/~koji/workshop/DLAP2018/...Self-learning Monte Carlo Method 原子力機構 システム計算科学センター 永井佑紀

自己学習モンテカルロ法(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)

“モデルに最適化された配置更新方法”を学習で自分で見つける