エネルギー保存則など望ましい性質を持つ深層学習の設計について
松原 崇（大阪大学）

2021/3/11

Deep learning and physics 20201

深層学習とは目的汎関数ℒと関数空間ℱを目的に合わせて設計する研究領域である

inf ℒ(𝑓, {𝑋, 𝑌})𝑓∈ℱℒ：ネットワークの入出力を変形するℱ：ネットワーク構造で決める

2021/3/11

Deep learning and physics 20202

深層学習とは目的汎関数ℒと関数空間ℱを目的に合わせて設計する研究領域である

inf ℒ(𝑓, {𝑋, 𝑌})𝑓∈ℱℒ：ネットワークの入出力を変形するℱ：ネットワーク構造で決める
抽象的な“数学”を現実のタスクに応用可能にする
現実的にはtry-and-errorな調整がいっぱい必要……
2021/3/11

Deep learning and physics 20203

深層学習で物理現象をモデル化するデータから物理現象をモデル化し予測○ミクロにシミュレーションすることは高コスト○マクロなモデル化はどこかに近似が入る• 分子動力学法の経験ポテンシャルなど𝒖ሶ = 𝒇(𝒖)

物理現象
2021/3/11

物理シミュレーション
Deep learning and physics 2020

科学的発見や設計
4

深層学習で物理現象をモデル化する
目的汎関数ℒは何か？

[Chen+, NeurIPS2017][Teshima+, NeurIPSW2020]○微分方程式𝑢ሶ = 𝑓 𝑢 で記述する→ ベクトル場𝑓を近似する

万能近似性あり○離散時刻でサンプルされ，𝑢は既知，d𝑢/d𝑡は未知→ 初期値問題の解とデータの誤差を最小化

システム同定の枠組みが使える
随伴方程式を使って最適化したり
2021/3/11

Deep learning and physics 20205

深層学習で物理現象をモデル化する
Neural ODE (NODE) によるモデル化[Chen+, NeurIPS2017]○ODE 𝑢ሶ = 𝑓 𝑢 の𝑓をニューラルネットワークで近似
KdV方程式• 途中で崩壊する

2021/3/11

mass-spring system
エネルギー 𝐻• エネルギーが減衰する

Deep learning and physics 20206

深層学習で物理現象をモデル化する[Greydanus+, NeurIPS2019][Chen+, arXiv, 2021]

関数空間ℱをハミルトン系に限定○エネルギー関数 𝐻 を近似する
位置 𝑞: 𝑞ሶ = 𝛻𝑝 𝐻 𝑞, 𝑝
正準運動量 𝑝: 𝑝ሶ = −𝛻𝑞 𝐻 𝑞, 𝑝

万能近似性ありmass-spring system• エネルギー関数𝐻が短期間保存学習した 𝐻

2021/3/11

Deep learning and physics 20207

深層学習で物理現象をモデル化する
Hamiltonian Neural Network

物理現象[Greydanus+, NeurIPS2019]○エネルギー関数をニューラルネットワークで近似○連続時間でエネルギーを保存○数値積分するとエネルギーは保存しない

Symplectic HNN [Chen+, ICLR2020]

エネルギー
𝐻(𝑢)
微分方程式
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)continuous calculus○シンプレクティック数値積分法を採用○修正エネルギーを保存（真のエネルギーは振動）

差分方程式
Δ𝑈 = Δ𝑡 𝐺𝛻𝐻○散逸系には使えない

discrete calculus

2021/3/11

Deep learning and physics 2020

8

提案手法

物理現象

ハミルトン系 → エネルギーに基づくモデル化○保存系・散逸系の ODEと PDEに適応可能○一般のシンプレクティック勾配流・リーマン勾配流

数値積分 → 離散時間モデル化○離散時間で厳密なエネルギーの保存と散逸○離散化誤差を起こさない

離散エネルギー
𝐻(𝑈)
差分方程式
Δ𝑈 = Δ𝑡 𝐺𝛻𝐻

discrete calculus[Matsubara+, NeurIPS2020]

深層学習に適応可能○“自動離散微分”を提案
2021/3/11

Deep learning and physics 20209

提案手法: エネルギーに基づくのモデル化
多くの物理系はエネルギーでモデル化できる
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)ODE 𝑢 = 𝑞 𝑝 ⊤2021/3/11

Deep learning and physics 2020

PDE 𝑢 = 𝑢1 … 𝑢𝑛 ⊤10

提案手法: エネルギーに基づくのモデル化
多くの物理系はエネルギーでモデル化できる
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)

保存系
𝐺: 歪対称行列
d𝐻/d𝑡 = 𝜕𝐻/𝜕𝑢 ⋅ d𝑢/d𝑡= 𝛻𝐻⊤𝐺𝛻𝐻 = 0

2021/3/11

ODE 𝑢 = 𝑞 𝑝 ⊤PDE 𝑢 = 𝑢1 … 𝑢𝑛 ⊤ハミルトン系
0 𝐼
𝑆 = −𝐼0
例：分子動力学，天体

Deep learning and physics 202011

提案手法: エネルギーに基づくのモデル化
多くの物理系はエネルギーでモデル化できる
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)

保存系
𝐺: 歪対称行列
d𝐻/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻 = 0

散逸系
𝐺: 半負定値行列
d𝐻/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻 ≤ 0
2021/3/11

ODE 𝑢 = 𝑞 𝑝 ⊤PDE 𝑢 = 𝑢1 … 𝑢𝑛 ⊤ハミルトン系
0 𝐼
𝑆 = −𝐼0
例：分子動力学，天体

摩擦のある系
0 𝐼𝑆 + 𝑅 = −𝐼𝑟
例：振り子，ロボット
Deep learning and physics 202012提案手法: エネルギーに基づくのモデル化
多くの物理系はエネルギーでモデル化できる
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)

保存系
𝐺: 歪対称行列
d𝐻/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻 = 0

散逸系
𝐺: 半負定値行列
d𝐻/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻 ≤ 0
2021/3/11

ODE 𝑢 = 𝑞 𝑝 ⊤PDE 𝑢 = 𝑢1 … 𝑢𝑛 ⊤ハミルトン系
0 𝐼
𝑆 = −𝐼0
例：分子動力学，天体

Hamiltonian field theory

摩擦のある系
0 𝐼
𝑆 + 𝑅 = −𝐼𝑟
例：振り子，ロボット
Deep learning and physics 20201
𝐷 = 2Δ𝑥0 1−1 0
⋮1⋱⋯

1−1

⋯
−1

⋮
0 1−1 0

例：波の方程式

Landau free-energy theory1𝐷2 = Δ𝑥 2−2 1
1 −2
⋮
111

⋯
⋱⋯

1

⋮
−2 1
1 −2

例：相分離，亀裂形成
13

提案手法: 離散時間モデル化
連続時間システム
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)連続時間の微積分
d𝐻/d𝑡 = 𝛻𝐻 ⋅ d𝑢/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻
∵連鎖律 d𝐻 = 𝛻𝐻 ⋅ d𝑢
𝐺が歪対称なら保存系
𝐺が半負定値なら散逸系
2021/3/11[Furihata+, Chapman and Hall/CRC, 2020]14
Deep learning and physics 2020

提案手法: 離散時間モデル化
離散時間のシステム
തΔ𝑢/Δ𝑡 = 𝐺ҧ 𝛻𝐻(𝑢𝑛+1 , 𝑢𝑛 )Δ𝑢 = 𝑢𝑛+1 − 𝑢𝑛ቊ
Δ𝐻 = 𝐻(𝑢𝑛+1 ) − 𝐻(𝑢𝑛 )連続時間システム
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)連続時間の微積分
d𝐻/d𝑡 = 𝛻𝐻 ⋅ d𝑢/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻
∵連鎖律 d𝐻 = 𝛻𝐻 ⋅ d𝑢
𝐺が歪対称なら保存系
𝐺が半負定値なら散逸系
2021/3/11[Furihata+, Chapman and Hall/CRC, 2020]15
Deep learning and physics 2020

提案手法: 離散時間モデル化
連続時間システム
d𝑢/d𝑡 = 𝐺𝛻𝐻(𝑢)

離散時間のシステム
തΔ𝑢/Δ𝑡 = 𝐺ҧ 𝛻𝐻(𝑢𝑛+1 , 𝑢𝑛 )Δ𝑢 = 𝑢𝑛+1 − 𝑢𝑛ቊ
Δ𝐻 = 𝐻(𝑢𝑛+1 ) − 𝐻(𝑢𝑛 )連続時間の微積分
d𝐻/d𝑡 = 𝛻𝐻 ⋅ d𝑢/d𝑡 = 𝛻𝐻⊤𝐺𝛻𝐻
∵連鎖律 d𝐻 = 𝛻𝐻 ⋅ d𝑢

離散時間の微積分ҧ ⋅ Δ𝑢/Δ𝑡 = 𝛻𝐻ҧ ⊤𝐺ҧ𝛻𝐻ҧ
Δ𝐻/Δ𝑡 = 𝛻𝐻ത ⋅ Δ𝑢∵連鎖律 Δ𝐻 = 𝛻𝐻

ҧ𝐺が歪対称なら保存系
ҧ
𝐺が半負定値なら散逸系
2021/3/11[Furihata+, Chapman and Hall/CRC, 2020]16
Deep learning and physics 2020

提案手法: 自動離散微分
連続時間の微積分
d𝐻(𝑢) = 𝛻𝐻(𝑢) ⋅ d𝑢
d𝐻 𝑎𝑥; 𝑢 = 𝑎d𝐻 𝑥; 𝑢

連鎖律
線形性

出力層から逆伝播

自動微分𝛻(𝑓 ∘ 𝑔)(𝑢) = 𝐽𝑔 𝑢 ⊤𝛻𝑓(𝑔 𝑢 )線形層

𝐽𝑔 = 𝑊𝐽𝑔

𝑘𝑘
2021/3/11=

𝜕𝜎 𝑢 𝑘𝜕𝑢 𝑘

活性化関数
Deep learning and physics 202017

提案手法: 自動離散微分
連続時間の微積分
d𝐻(𝑢) = 𝛻𝐻(𝑢) ⋅ d𝑢
d𝐻 𝑎𝑥; 𝑢 = 𝑎d𝐻 𝑥; 𝑢

離散時間の微積分
連鎖律

തΔ𝐻(𝑢𝑛+1 , 𝑢𝑛 ) = 𝛻𝐻(𝑢𝑛+1 , 𝑢𝑛 ) ⋅ Δ𝑢

線形性

ത 𝑎𝑥; 𝑢, 𝑣 = 𝑎d𝐻
ത 𝑥; 𝑢, 𝑣
d𝐻

一貫性ത ⋅; 𝑢, 𝑢 = d𝐻(⋅; 𝑢)d𝐻

自動微分𝛻(𝑓 ∘ 𝑔)(𝑢) = 𝐽𝑔 𝑢 ⊤𝛻𝑓(𝑔 𝑢 )線形層𝐽𝑔 = 𝑊𝐽𝑔

𝑘𝑘2021/3/11=

𝜕𝜎 𝑢 𝑘𝜕𝑢 𝑘

自動離散微分ҧҧ 𝑔 𝑢 ,𝑔 𝑣
𝛻(𝑓∘𝑔)(𝑢,𝑣) = 𝐽𝑔ҧ 𝑢, 𝑣 ⊤𝛻𝑓𝐽𝑔ҧ = 𝑊

活性化関数 𝐽𝑔ҧ 𝑘𝑘 =𝜎 𝑢 𝑘 −𝜎 𝑣 𝑘

Deep learning and physics 2020

𝑢(𝑘) −𝑣 (𝑘)18提案手法: 自動離散微分
𝑢

ℎ1

𝑓1

𝑓2

ℎ2

𝑓3

𝐻(𝑢)

𝑢

ℎ1

𝑓2

𝑓1𝑣

𝑘1

𝐻(𝑢)

ℎ2
𝑓3

𝑘2

𝐻(𝑣)

d𝑓1
d𝑓2
d𝑓3
𝛻𝐻(𝑢) 𝛻𝐻(ℎ1 ) 𝛻𝐻(ℎ2 )
1

ത 1
ത 2
ത 3d𝑓d𝑓d𝑓ҧҧҧ
𝛻𝐻(𝑢,𝑣) 𝛻𝐻(ℎ11, 𝑘1) 𝛻𝐻(ℎ2, 𝑘2)

自動微分𝛻(𝑓 ∘ 𝑔)(𝑢) = 𝐽𝑔 𝑢 ⊤𝛻𝑓(𝑔 𝑢 )自動離散微分ҧҧ 𝑔 𝑢 ,𝑔 𝑣
𝛻(𝑓∘𝑔)(𝑢,𝑣) = 𝐽𝑔ҧ 𝑢, 𝑣 ⊤𝛻𝑓

線形層𝐽𝑔 = 𝑊𝐽𝑔

𝑘𝑘2021/3/11=

𝜕𝜎 𝑢 𝑘𝜕𝑢 𝑘𝐽𝑔ҧ = 𝑊

活性化関数 𝐽𝑔ҧ 𝑘𝑘 =𝜎 𝑢 𝑘 −𝜎 𝑣 𝑘

Deep learning and physics 2020

𝑢(𝑘) −𝑣 (𝑘)19提案手法: 自動離散微分離散時間システム
തΔ𝑢/Δ𝑡 = 𝐺ҧ 𝛻𝐻(𝑢𝑛+1 , 𝑢𝑛 )Δ𝑢 = 𝑢𝑛+1 − 𝑢𝑛ቊ
Δ𝐻 = 𝐻(𝑢𝑛+1 ) − 𝐻(𝑢𝑛 )自動離散微分ҧҧ 𝑔 𝑢 ,𝑔 𝑣
𝛻(𝑓∘𝑔)(𝑢,𝑣) = 𝐽𝑔ҧ 𝑢, 𝑣 ⊤𝛻𝑓

離散時間の微積分ҧ ⋅ Δ𝑢/Δ𝑡 = 𝛻𝐻ҧ ⊤𝐺ҧ𝛻𝐻ҧ
Δ𝐻/Δ𝑡 = 𝛻𝐻ത ⋅ Δ𝑢∵連鎖律 Δ𝐻 = 𝛻𝐻𝐽𝑔ҧ = 𝑊𝐽𝑔ҧ𝑘𝑘=

𝜎 𝑢 𝑘 −𝜎 𝑣 𝑘𝑢(𝑘) −𝑣 (𝑘)目的関数12ҧ 𝛻𝐻(𝑢തΔ𝑢/Δ𝑡−𝐺,𝑢)𝑛+1 𝑛𝑁○離散時間でモデル化されているので離散化誤差がない○学習は非常に速い（予測は陰的）2021/3/11

Deep learning and physics 2020

20

実験結果
mass-spring system（保存系のODE）

3層のニューラルネットワーク
活性化関数はtanh

2021/3/11

Deep learning and physics 2020

21実験結果
KdV方程式（保存系のPDE）

畳み込み1層＋全結合2層＋𝐺の畳み込み
space 𝑥2-solitons

time 𝑡

教師データ

𝑢ሶ = 𝐺𝛻𝐻(𝑢)Δ𝑢ത 𝑢𝑛+1 , 𝑢𝑛
= 𝐺 𝛻𝐻Δ𝑡(proposed)
2021/3/11

状態

エネルギー
Deep learning and physics 2020 （モデル）

22

実験結果

畳み込み1層＋全結合2層＋𝐺の畳み込み
Cahn-Hilliard方程式 2-phases

space 𝑥time 𝑡（散逸系のPDE）
教師データ

𝑢ሶ = 𝐺𝛻𝐻(𝑢)Δ𝑢ത 𝑢𝑛+1 , 𝑢𝑛
= 𝐺 𝛻𝐻Δ𝑡(proposed)
2021/3/11

状態
Deep learning and physics 2020

誤差 × 323実験結果
二乗誤差（スケール調整済み）

手法

KdV方程式
エネルギー 𝐻 状態 𝑢𝑛

Cahn-Hilliard方程式
エネルギー 𝐻 状態 𝑢𝑛𝑢ሶ = 𝑓(𝑢)>1000>1000>1000913.96𝑢ሶ = 𝐺𝛻𝐻(𝑢)

3.01

0.34

4.890.80

തΔ𝑢/Δ𝑡 = 𝐺 𝛻𝐻(𝑢𝑛+1 , 𝑢𝑛 )

1.60

0.25

0.34

0.07

4次の解法であるドルマン＝プリンス法よりも精度が高い

2021/3/11

Deep learning and physics 2020

24

実験結果
2D Cahn-Hilliard方程式（数値積分ではGPUのメモリに乗らなかった）

2021/3/11

Deep learning and physics 2020

25

実験結果
2D Cahn-Hilliard方程式（𝐺を学習した）
2.450
𝐺 = 1.328
2.447• 合計がゼロ→質量が保存される−01.339 2.448−15.148 1.326−01.338 2.452• 負定値行列である→エネルギー散逸性がある• 回転・反転対称→等方性がある

学習結果を解析すれば系の性質も分かる
2021/3/11

Deep learning and physics 202026

提案手法のまとめ

物理現象ハミルトン系 → エネルギーに基づくモデル化○保存系・散逸系の ODEと PDEに適応可能○一般のシンプレクティック勾配流・リーマン勾配流

数値積分 → 離散時間モデル化○離散時間で厳密なエネルギーの保存と散逸○離散化誤差を起こさない

離散エネルギー
𝐻(𝑈)
差分方程式
Δ𝑈 = Δ𝑡 𝐺𝛻𝐻

discrete calculus[Matsubara+, NeurIPS2020]

深層学習に適応可能○“自動離散微分”を提案
2021/3/11

Deep learning and physics 202027

深層学習とは目的汎関数ℒと関数空間ℱを目的に合わせて設計する研究領域である

inf ℒ(𝑓, {𝑋, 𝑌})𝑓∈ℱℒ：離散時間システムを近似するℱ：エネルギーに基づき（離散）勾配を使う
偏微分方程式は3×3カーネル 1 回で十分微分可能で有界な活性化関数が良い
2021/3/11

Deep learning and physics 202028

深層学習とは目的汎関数ℒと関数空間ℱを目的に合わせて設計する研究領域である

inf ℒ(𝑓, {𝑋, 𝑌})

𝑓∈ℱ

ℒ：？

ℱ：？

2021/3/11

Deep learning and physics 202029