26 Nov 2020

DLAP2020

学部2, 3年生~ を想定しています

ニューラルネットを使った2次元イジング模型の相検出
富谷昭夫 (RIKEN-BNL)akio.tomiya_AT_riken.jp
TomiyaAkio

自己紹介

Akio Tomiya

Riken/BNL, particle physics, Lattice QCD, and ML
主な論文
ニューラルネットを使った相検出

高温でのU(1)量子異常の消失の証拠

深層学習とAdS/CFT

格子作用におけるカイラル対称性の破れ

ホログラフィックQCDと深層学習

量子クエンチとエンタングルメントエントロピーのスケーリング則略歴20102015: 兵庫県立大学理学部物質科学科卒: 阪大で博士号取得。素粒子論。

2015 - 2018 : 華中師範大学でポスドク (中国、武漢)2018 DLAP2020: 理研/BNLでポスドク (米国、NY)

Phase trans. and Neural nets

2

もくじ
15分の講義 + 20分の実践 (ちょっとのびるかもしれません)1. イジング模型と相転移
2. Nature Physics の論文の概要[1]

3. ニューラルネットとは
4. 実践
5. まとめ
8章につながる[1] Juan Carrasquilla & Roger G. Melko, Nature Physics volume 13, pages431–434(2017)3

イジング模型と相転移

Akio Tomiya

物理と相転移色々な相転移がある

気液相転移, 磁性転移, 宇宙初期の相転移などなど

ALICE:

相転移を調べること自体が重要だが、相転移を調べること 場の量子論を調べる (くりこみ群)となり、素粒子理論としても重要な研究対象(そもそも) ニューラルネットは相転移をみつけられるのか？
DLAP2020

Phase trans. and Neural nets

4

イジング模型と相転移

Akio Tomiya

物理と相転移2016年といえば、アルファ碁がイ・セドル氏に勝った。

Youtube
深層学習(ニューラルネット)が盤面の判定に大きな役割を果たしたニューラルネットをつかって相転移を見つけられるか？
… J. CarrasquillaとR. Melko らはこれをしらべた
結果として、ニューラルネットは相転移温度もわかる！
ことがわかった[1] Juan Carrasquilla & Roger G. Melko, Nature Physics volume 13, pages431–434(2017)

DLAP2020

Phase trans. and Neural nets

5

イジング模型と相転移

Akio Tomiya

2次元イジング模型 = 磁石の模型, 相転移を記述, 解ける
磁石：常温で磁石の性質を持つが、加熱すると磁石ではなくなる = 相転移！
二次元イジング模型

E[C] = −L2∑ ∑i=1 j∈𝒩(i)sisj − hL2

∑
i=1

si

i: 格子点番号
𝒩(i): 最近接格子
L: 系の大きさ
h: 外部磁場+1,si ={−1DLAP2020

Phase trans. and Neural nets

6

イジング模型と相転移

Akio Tomiya

状態和 = すべての可能なスピンの配置で期待値を取る
磁石：常温で磁石の性質を持つが、加熱すると磁石ではなくなる = 相転移！
二次元イジング模型

E[C] = −L2∑ ∑i=1 j∈𝒩(i)sisj − hL2∑i=1sii: 格子点番号
𝒩(i): 最近接格子

si = ± 1

L: 系の大きさ

逆温度β=1/Tの時の磁化の期待値

1−βE[C] ̂̂m(β) = 𝔼β [m[s]] ≡em[s]∑Z C∈{s}L21̂ =m[s]si2∑
L i

目標: 磁化m を逆温度の関数として求める

…
C1

C2

C3

すべての可能なスピンの並べ方C について重みe−βE[C]を付けて足し上げるとm(β) がもとまる。
DLAP2020

Phase trans. and Neural nets

7

イジング模型と相転移

Akio Tomiya

磁化m を逆温度β = 1/T の関数として求めたい
磁石：常温で磁石の性質を持つが、加熱すると磁石ではなくなる = 相転移！
二次元イジング模型

E[C] = −L2∑ ∑i=1 j∈𝒩(i)sisj − hL2∑i=1sisi = ± 1

L: 系の大きさ

逆温度β=1/Tの時の磁化の期待値

1−βE[C] ̂̂m(β) = 𝔼β [m[s]] ≡em[s]∑Z C∈{s}Zは規格化定数i: 格子点番号
𝒩(i): 最近接格子L21̂ =m[s]si2∑
L i

すべての可能なスピンの並び方の和平均場近似を使うと右図のようにm をβの関数として近似的に計算できる→ β ~ 0.3 で何かある？
四角でかこった部分の和はとれない？
→ 和の公式が知られている例はまれ(実は2次元イジング模型は和の公式が知られている)

平均場近似→ モンテカルロ法をつかう
DLAP2020

Phase trans. and Neural nets

8

イジング模型と相転移

Akio Tomiya

モンテカルロ法 = 確率を使って足し算を近似する
Ncnf

11−βE[C]̂ c]̂ ]≡̂≈m[sm(β) = 𝔼β [m[s]em[s]∑Ncnf ∑Z C∈{s}c=1↑確率とみなす∝ exp(−βE[C])

確率の高い所を沢山とってきて、和を近似する(モンテカルロ法)

鋭いピーク※確率の低いところも現れるので

C = {σ}

条件付き確率

条件付き確率

試行回数無限で厳密になる。
条件はあるが割愛。

条件付き確率…

上のように作ったスピンの配置の一つ一つをスピン配位とよぶ
m をスピン配位について平均すると、あるβ=1/Tでのmが求まる
DLAP2020

Phase trans. and Neural nets

9

イジング模型と相転移

Akio Tomiya

2次元イジング模型は、β ≒ 0.4 で相転移を起こす
Ncnf
11
̂ ]≡̂
m(β) = 𝔼β [m[s]e−βE[C]m[s]
̂ c]
≈m[s∑
Z C∈{s}Ncnf ∑c=1
いろんなβでモンテカルロ法(熱浴法)を使ってm を計算した。

m(β)

高温

低温
平均場近似
β = 1/T

低温だと磁化は1だが、高温だと0。
β = 0.4? あたりでなにか起こってる = 相転移！
DLAP2020

Phase trans. and Neural nets

10

イジング模型と相転移

Akio Tomiya

ここまでのまとめ• 相転移は、いろいろなところに現れる• くりこみ群を通して場の量子論ともつながってるため素粒子理論としても重要• 統計力学の状態和は取れないので、確率的に足し上げる(モンテカルロ法)• モンテカルロ法に現れる「スピンの配置」のことをスピン配位という• 2次元(正方)イジング模型は、β=1/T ≒ 0.4 で相転移を起こす• コメント: 場の量子論の一種の格子ゲージ理論も同じ構造→同じ研究手法がつかえる• ニューラルネットで2次元イジング模型の相転移をしらべよう！
DLAP2020

Phase trans. and Neural nets

11

Nature Physics の論文の概要

Akio Tomiya

イジング模型の配位を画像だと思って分類する- 2次元イジング模型の配位は、「画像データ」とみなせる- イジング模型の相は2つしかない。
- ニューラルネットは、画像の分類ができる (後述)
- ニューラルネットによる2値分類を使えば相転移がわかりそう

猫

犬

低温の配位

高温の配位

白 = スピン+黒 = スピンニューラルネットで相転移検出(論文のものすごく一部)
DLAP2020

Phase trans. and Neural nets

12

ニューラルネットとは

Akio Tomiya

ニューラルネットとは、”線形変換” + 非線形変換
1. 画像は、ベクトル
たとえば数字の「1」をドット絵で書く

0 1 0= 0 1 0(0 1 0)0100∼ 10010= x⃗

今の例だと、9次元ベクトル

2a. ベクトルは、行列で変換できる。行列の要素は後で決める
w1,1 w1,2 ⋯ w1,9u ⃗= W x ⃗= wx⃗w
⋯w
( 2,1 2,22,9)2b. ベクトルは、非線形関数σ で変換できる(非線形関数σ: 活性化関数、色々ある)
activation とも言う。
σ(u1)
σ( u ⃗ ) ≡(σ(u2))σ

要素ごとに作用する

3. ニューラルネットは、行列積と非線形変換の組み合わせf( x ⃗) = σ2(W2σ1(W1 x ⃗))(σは適当な活性化関数)

例えば、ベクトル(画像) を入れて、2 次元ベクトルを出す関数を作る
DLAP2020

Phase trans. and Neural nets

13

ニューラルネットとは

Akio Tomiya

学習 = パラメータの調整
1. 画像は、ベクトル
2a. ベクトルは、行列で変換できる。大きさは上手く調整する
2b. ベクトルは、非線形関数σ で変換できる
3. ニューラルネットは、行列積と非線形変換の組み合わせy ⃗ = σ2(W2σ1(W1 x ⃗))「1」か「2」の手書き文字を分類したいとする
0
今だと3x3 = 9次元空間
10x⃗0x⃗= 10010

今だと2次元空間
どっちの軸に近いかで「1」 か「2」を分類する

W1

W2

W1 とW1 は、うまく識別できるように画像を入れて試しながら調整する(学習/トレーニング)

DLAP2020

Phase trans. and Neural nets

14

実践

Akio Tomiya

目標: イジング模型の配位を高温相と低温相で分類する

β = 1/T = 小(高温)β = 1/T = 大(低温)
低温の配位が入力されたらL

L の値が大きく、高温の配位が入力されたら入力

W1

W2

H

H の値が大きくなるようにWを調整する(学習)∂E(WI )ij ← (WI )ij − ϵ∂(WI )ij
DLAP2020

Phase trans. and Neural nets

E : 誤差ϵ: 小さい正の数
15

実践

Akio Tomiya

今からやること
事前に送ったPDFの準備を行っている事を前提とします。
1.配位をダウンロード
2.配位をアップロード
3.ノートブックをコピー
4.Google drive のマウント

1. 使うニューラルネットを解説
2. トレーニングを実行
3. 結果を見てみる
4. まとめDLAP2020

Phase trans. and Neural nets

16

実践

Akio Tomiya

sub-title
ライブラリのロード

ニューラルネットの構成①②0 0 0= 0 0 0(0 1 1)β=1/T : 大きい(低温相)

DLAP202000
入力00∼ 0 = x⃗
00
1
1f( x ⃗ ) = σ2(W2σ1(W1 x ⃗ ))
LH
①

出力LH

②

Phase trans. and Neural nets17

実践

Akio Tomiya

前処理、ラベル付け
配位と配位を作った時のβを使ってラベル付け

β=1/T > βcr = 0.44
低温相

β=1/T < βcr = 0.44
高温相

データ={(DLAP2020, 低温相), (Phase trans. and Neural nets, 高温相), …}
18

実践6])

Akio Tomiya‫਺ؔࠩޡ‬͸ (ιϑτϚοΫε) ΫϩεΤϯτϩϐʔΛͱΓɺֶश͸ adam Ͱ

ニューラルネットのトレーニング

ߦ͏͜ͱʹ͢Δɻιʔείʔυ 11.5codeLୈ 11ωΠνϟʔϑΟδοΫεͷ࿦จΛ࠶‫͠ݱ‬Α͏
1 ষmodel_FC.compile(optimizer=’adam’,
2
loss=’categorical_crossentropy’,
3
metrics=[’accuracy’])ιʔείʔυ 11.6 code
1 model_FC.fit(train_data,ֶश͸

train_labels, epochs=10)∂EE : 誤差͚ͩͰྑ͍ɻ΋͠ඞཁͰ͋Ε͹ΞϠϝͷྫͱಉֶ͘͡शཤྺΛ‫ͯݟ‬Έͯ΋*4(W ) ← (W ) − ϵI ijI ijʹมߋͨ͠ɻಛʹҙຯ͸ແ͍͕‫׆‬ੑԽؔ਺͸‫ݪ‬࿦จͷγάϞΠυؔ਺͔ΒReLUྑ͍ɻ∂(WI )ij

W1W2H

ϵ: 小さい正の数ഥࢠൈ͚͢Δ΄Ͳ؆୯ͩͱࢥ͍͚ͬͯͨͩΕ͹͜Ε·Ͱͷઆ໌͕ཧղͰ͖
228
2次のおもちゃでの最適化例
͍ͯΔͱ͍͏͜ͱͳͷͰ҆৺ͯ͠΄͍͠ɻ

誤差関数E の等高線。★がスタート位置。

݁Ռͷϓϩοτ͸ɺ
matplotlib Λ༻͍ͯ
誤差関数Eιʔείʔυ 11.7

code

1xs=[]

2y1s=[]

3y2s=[]

4Ndatamax = 950 #‫༻ূݕ‬σʔλͷ૯਺

5Nsameclass = 50 #ಉ͡ϕʔλʹ͋Δ‫༻ূݕ‬σʔλͷ഑Ґͷ਺

6for ii in range(0,Ndatamax,Nsameclass):

θはWの要素7res = model_FC(val_data[ii:ii+Nsameclass])

8x = val_betas[ii]9y1= np.mean(res.numpy().T[0] )10y2=np.mean(res.numpy().T[1] )11xs.append( x)12y1s.append( y1 )DLAP2020
13y2s.append( y2 )Phase trans. and Neural nets

19

実践

Akio Tomiya

結果の図示
LH

β = 1/T = 小(高温)β = 1/T = 大(低温)

クロスしてる点が相転移点になってる！

DLAP2020

Phase trans. and Neural nets

20

まとめと補足

Akio Tomiya

ニューラルネットでも相転移を検出できる• ニューラルネットで2次元イジング模型の相転移をしらべた[1]• 2次元(正方)イジング模型は、β=1/T ≒ 0.4 で相転移を起こす• 実は正方格子イジング模型で学習したネットワークを使うと、三角格子イジング模型の相転移温度もわかる(非自明)• 2次元のイジングゲージ理論 (Z2 格子ゲージ理論) も調べている。オーダーパラメータなし*• 残る疑問など• なぜ検出できたのか？ → 論文[1]の付録参照• エラーバーは付けられないのか？、ハイパーパラメータ依存性？ → 未解決• 相転移温度の情報つかってるじゃん→A. Tanaka, A. Tomiya 2016 or 「ディープラーニングと物理学」8章を見てください• 画像生成できるなら、配位も生成できる？ → 最先端の話題！ arXiv:2010.11900 や引用文献参照[1] Juan Carrasquilla & Roger G. Melko, Nature Physics volume 13, pages431–434(2017)

DLAP2020

Phase trans. and Neural nets

*実はクロスオーバー2122