中郷 孝祐
Preferred Networks, Inc.
PFP:材料探索のための汎用Neural Network Potential
自己紹介
• 名前:中郷孝祐 (@corochann)
• 早稲田大学 応用物理学科 卒業
• 東京大学院 理学系研究科物理学専攻 村尾研究室
– 量子コンピュータの理論研究(断熱量子計算)
• Sony EMCS Malaysia
– テレビのソフトウェア開発
• Preferred Networks, Inc (PFN)
– Deep Learning の様々な応用に関わる
– Chainer Chemistryの開発
• 趣味でKaggle(データサイエンスのコンペ)参加
– Kaggle Competitions Master
– Kaggle Notebooks Grandmaster
2
物理
コンピュータ
ソフトウェア
本セミナーの話題
3
• “Towards Universal Neural Network Potential for Material Discovery”
• Matlantisとして、SaaSでサービス提供開始
https://arxiv.org/pdf/2106.14583.pdf https://matlantis.com/ja/
本セミナーの話題
新物質開発や材料探索を加速する “汎用原子レベルシミュレータ”
4
NEB
Co+V触媒上での、C-O解離反応
MD
Cu(111)上でのチオール挙動
Opt
Fentanylの構造緩和
本セミナーの話題
“PFP: Universal Neural Network Potential for Material Discovery”
を理解する
5
本セミナーの話題
“PFP: Universal Neural Network Potential for Material Discovery”
を理解する
6
前半はNNPについて、先行研究・歴史を紹介
本セミナーの話題
“PFP: Universal Neural Network Potential for Material Discovery”
を理解する
7
後半はPFPについて、
どのように “汎用性” のあるNNP開発に取り組んだか紹介
目次
• 前半
– NNPとは
– Behler Parinello type MLP
– Graph Neural Network
– Open Catalyst 2020
• 後半
– PFP
• PFP architecture
• PFPデータ収集
– PFPを用いた計算事例
8
前半パート:NNPとは
9
Neural Network Potential (NNP) とは
E
𝐹! = −
𝜕E
𝜕𝒓!
O
H
H
𝒓! = (𝑥", 𝑦!, 𝑧!)
𝒓# = (𝑥#, 𝑦#, 𝑧#)
𝒓$ = (𝑥$, 𝑦$, 𝑧$)
Neural Network
ゴール:原子座標が決まった状態の分子のエネルギーをNNで予測
→ NNは微分可能なので、エネルギーが予測できれば
力など様々な物理量も計算可能
10
Neural Network Potential (NNP) とは
A. 通常の教師あり学習は最終物性値をそのまま予測
B. NNPはシミュレーションに必要な内部計算を学習
→ NNPを学習後、他の物性値を計算する用途にも使える!
物性値ごとのデータベースは不要
11
O
H
H
𝒓! = (𝑥", 𝑦!, 𝑧!)
𝒓# = (𝑥#, 𝑦#, 𝑧#)
𝒓$ = (𝑥$, 𝑦$, 𝑧$)
Schrodinger
方程式
・エネルギー
・力
物性値
・弾性率
・粘性 etc
A
B
Neural Network Potential (NNP) vs 量子計算 ?
メリット:高速
• 量子計算手法(DFT)と比べ
圧倒的に高速
デメリット:
• 精度面 ー 精度の評価は難しい
• データ取得が必要
– 学習するためのデータ収集として、結局量子計算が必要
– 取得したデータから大きく離れるデータの予測精度は要検証
from https://pubs.rsc.org/en/content/articlelanding/2017/sc/c6sc05720a#!divAbstract
12
NNPへの入力形式ー記述子について
座標値をそのまま入力? → NG!
物理的に要請される以下の性質が満たされない。などなど、、、
・並進移動対称性
・回転対称性
・原子の順序入れ替えに対する対称性
E
O
H
H
𝒓! = (𝑥", 𝑦!, 𝑧!)
𝒓# = (𝑥#, 𝑦#, 𝑧#)
𝒓$ = (𝑥$, 𝑦$, 𝑧$)
Neural Network
𝑓(𝑥", 𝑦", … , 𝑧#)
13
NNPへの入力形式ー記述子について
座標の生値ではなく、記述子 (Descriptor) という形式に変換して、
Neural Network への入力値とする。
ではどのような記述子を作ればよいか?
例:2原子間の距離 r は、並進移動・回転移動に対して不変
E
O
H
H
𝒓! = (𝑥", 𝑦!, 𝑧!)
𝒓# = (𝑥#, 𝑦#, 𝑧#)
𝒓$ = (𝑥$, 𝑦$, 𝑧$)
Neural Network
𝑓(𝑮", 𝑮$, 𝑮#)
𝑮", 𝑮$, 𝑮#
Descriptor
14
BPNN:Behler-Parrinello Symmetry function
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
AEV: Atomic Environment Vector
対象とする原子の周辺環境を
数値化・ベクトル化
Rc:カットオフ半径
1. radial symmetry functions
2体関係(距離)の表現
中心原子 i から半径 Rc 周辺までに
どのくらいの数の原子が存在するか
15
BPNN :Behler-Parrinello Symmetry function
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
2. angular symmetry functions
3体関係(角度)の表現
AEV: Atomic Environment Vector
対象とする原子の周辺環境を
数値化・ベクトル化
Rc:カットオフ半径
中心原子 i から半径 Rc 周辺までに
どういった位置関係(角度)で原子 j, kが存在しているか
16
BPNN :Neural Networkの工夫
問題点:
・原子数固定
ー 0 埋めが必要
ー 学習時のサイズを超える予測ができない
・原子の順番の入れ替えに対する不変性がない
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
工夫:
・1原子ごとに別々にAtomic Energyを予測し、
合計値を最終エネルギー Es とする
・原子種 (O, H) ごとに別のNNを訓練
17
O
NNPのためのデータ取得
• 様々な座標値の分子に対するエネルギーを計算したい
→ランダムに原子を座標配置してエネルギーを計算すればよい? → ✖
• 現実で分子がとりうる座標はほぼ低エネルギーな状態のみ
→現実で起こりうる領域に対して、精度よくエネルギーを計算したい。
H H
Low energy
Likely to occur
High energy
(Almost) never occur
O
H H
O
H H
O
H
H
O
H
H
O
H
H
18
exp(−𝐸/𝑘&𝑇)
Boltzmann分布
ANI-1 Dataset:データ取得方法
“ANI-1, A data set of 20 million calculated off-equilibrium conformations for organic molecules”
https://www.nature.com/articles/sdata2017193
• GDB-11データベース(最大11個のC, N, O, Fが含まれる分子を列挙)
のSubsetを使用
– C, N, Oのみに制限
– Heavy Atom は最大8個
• Normal Mode Sampling (NMS)で
一つの分子から多数の座標
conformationを生成
rdkitの
MMFF94
Gaussian09の
default method
19
ANI-1:結果
“ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost”
https://pubs.rsc.org/en/content/articlelanding/2017/sc/c6sc05720a#!divAbstract
• Conformationを変えた場合の
エネルギー変化の予測
– DFTB, PM9, AM1といった
計算手法と比べてDFTとの
結果一致度が高い
• 別評価にて、
訓練データに含まれていない
大きさの原子に対しても
予測できることを確認
one-dimensional potential surface scan
20
ANI-1 & ANI-1 Dataset:まとめ
“ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost”
https://pubs.rsc.org/en/content/articlelanding/2017/sc/c6sc05720a#!divAbstract
• H, C, N, O からなる小分子に関しては、
様々な分子・構造に対してDFTに似たエネルギーが
計算できるNNPが構成できた。
– 2000万という大量の計算を行いデータセットを作成
課題
• ほかの原子 (FやSなど) を追加すること
– 原子ごとに別のNNを訓練する必要がある
– 入力次元が N^2 に比例して増える。
– 取得すべきデータの組み合わせもそれに比例するはず
21
GNNとは
• Graph Neural Network:グラフを入力でき、データの “つながり” の情報を学習
• グラフとは:頂点 v と辺 e で構成
– Social Network(SNSの結びつきグラフ)、Citation Network(論文の引用を示すグラフ)
– 商品Network(同時購入された商品を結ぶグラフ)
– Protein-Protein Association Network
– 有機分子 etc…
22
𝒗𝟎
𝒗𝟏
𝒗𝟐
𝒗𝟒
𝒗𝟑
𝑒&' 𝑒'(
𝑒()
𝑒*)
𝑒(*
応用例が広い!
GNNとは
• 画像の畳み込みに似た “グラフ畳み込み” à Graph Convolution を考えることで実現
• Graph Convolution Network, Message Passing Neural Network とも
23
画像分類
class label
物性値
Chemical property
CNN: Image Convolution
GNN: Graph Convolution
GNNの構成
• CNN同様、Graph Convolutionを積み重ねてDeep なNeural Networkを構成
24
Graph
Conv
Graph
Conv
Graph
Conv
Graph
Conv
Sum
グラフのまま特徴量を
アップデート
原子ごとの
予測値(エネルギー)を出力
分子をグラフ
として入力
分子の
予測値(エネルギー)を出力
C
N
O
1.0 0.0 0.0 6.0 1.0
atom type
0.0 1.0 0.0 7.0 1.0
0.0 0.0 1.0 8.0 1.0
charge
chirality
原子ごとに特徴量作成
Molecular Graph Convolutions: Moving Beyond Fingerprints
Steven Kearnes, Kevin McCloskey, Marc Berndl, Vijay Pande, Patrick Riley arXiv:1603.00856
ノード(原子)の特徴量作成
GNNの適用:分子データ・結晶データ
• 分子データにも応用可能
→様々な種類のGNNが提案され分子データに対するDeep Learning 研究が加速
– NFP, GGNN, MPNN, GWM etc…
• 近年は座標データや結晶分子データにも応用されてきている
– SchNet, CGCNN, MEGNet, Cormorant, DimeNet, PhysNet, EGNN, TeaNet etc…
26
NFP: “Convolutional Networks on Graph for
Learning Molecular Fingerprints”
https://arxiv.org/abs/1509.09292
GWM: “Graph Warp Module: an Auxiliary Module for
Boosting the Power of Graph Neural Networks in Molecular Graph Analysis”
https://arxiv.org/pdf/1902.01020.pdf
CGCNN: “Crystal Graph Convolutional Neural Networks for an
Accurate and Interpretable Prediction of Material Properties”
https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301
SchNet:概要
• 原子間距離 r に対して連続的に変化するContinuous filter convolution (cfconv)を提案し
原子位置 r の変化に対応できるNeural Networkを構成
“SchNet: A continuous-filter convolutional neural network for modeling quantum interactions”
https://arxiv.org/abs/1706.08566
RBF kernel
27
周期境界条件のある系へのGNN活用
• CGCNNで、周期境界条件のある系に対するグラフ構築方法が提案された
• MEGNetでは、孤立系(分子)・周期境界条件(固体)双方へのGNN適用を報告
28
CGCNN: “Crystal Graph Convolutional Neural Networks for an Accurate
and Interpretable Prediction of Material Properties”
https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301
MEGNet: “Graph Networks as a Universal Machine Learning Framework
for Molecules and Crystals”
https://pubs.acs.org/doi/10.1021/acs.chemmater.9b01294
まとめ: GNN approach
Neural Network側に工夫を入れることで以下のようなメリットが得られる可能性がある
• Descriptorの作りこみが不要
– Atomic Environment Vectorなどの複雑なハイパラ調整が不要になる可能性
• 原子種への汎化
– 原子種を増やしても入力次元は増えない→組み合わせ爆発しなくなる
– 未知・小数データしかない原子種への汎化?
• 精度の向上・学習の効率化
– Networkの表現能力が向上することにより、精度向上の可能性
– 適切な制約がNetwork側に入ることで、学習効率があがる
29
Deep learning 領域全体でのトレンド
• 2012年、画像認識コンペILSVRCでAlexNetの登場 (GPUを有効活用した)
• 以降GPUの発展とともに、年々ネットワークが深く、巨大になっていった
30
GoogleNet “Going deeper with convolutions”:
https://arxiv.org/pdf/1409.4842.pdf
ResNet “Deep Residual Learning for Image
Recognition”: https://arxiv.org/pdf/1512.03385.pdf
年 CNN 深さ Parameter数
2012 AlexNet 8層 62.0M
2014 GoogleNet 22層 6.4M
2015 ResNet 110層 (Max1202層!) 60.3M
https://towardsdatascience.com/the-w3h-of-alexnet-vggnet-resnet-and-inception-7baaaecccc96
Deep learning 領域全体でのトレンド
• 画像分野のデータセット量
– 指数関数的にデータセット規模も大きくなり、
人間1人では扱えない、全体の集合知を学習するように。。。
– 事前学習→特定タスク用にFine tuningする流れ
データセット名 データ数 クラス数
MNIST 6万枚 10
CIFAR-100 6万枚 100
ImageNet 130万枚 1,000
ImageNet-21k 1400万枚 21,000
JFT-300M 3億枚 (Google非公開) 18,000
“汎用” Neural Network Potential?
• これまでの先行研究の流れを追うと、見えてくる可能性
NNPの定式化と
構造汎化に対する実証
↓
ANI系列
元素種増加への対応
↓
GNNのNode embedding
周期系への拡張
↓
周期系でのグラフ構築
大規模データを学習
↓
画像・自然言語分野での成功、 DLトレンドに
→多数の元素種、孤立系・周期系、様々な構造 全てに対応した汎用NNPの開発へ!
後半パートに行く前に、、、OC20の紹介
33
Open Catalyst 2020の話
• 再生エネルギーの貯蔵に使うための触媒開発を目的として提案
• Overview Paper:
– 地球温暖化を解決するために、ソーラー発電・風力発電のエネルギーを貯蔵する
– なぜ水力発電や電池の充電だけでは足りないか
• エネルギー貯蔵量がスケールしない
34
https://arxiv.org/pdf/2010.09435.pdf
Open Catalyst 2020の話
• 再生エネルギーの貯蔵に使うための触媒開発を目的として提案
• Overview Paper:
– 地球温暖化を解決するために、ソーラー発電・風力発電のエネルギーを貯蔵する
– 水素やメタンなどの反応プロセス効率を上げることが再生エネルギーの貯蔵の鍵
35
https://arxiv.org/pdf/2010.09435.pdf
Open Catalyst 2020の話
• 触媒とは:特定の反応を促進させる物質。自身は変化しない。
• Dataset Paper: 技術的なデータセット収集方法の詳細
36
下に広がっているのが金属表面=触媒
上に乗っかっている分子が反応対象となるもの
https://arxiv.org/pdf/2010.09435.pdf https://opencatalystproject.org/
Open Catalyst 2020の話
• いろいろな金属・いろいろな分子の組み合わせ生成方法を提案
• 再生エネルギー関連の主要な反応をカバーできるように
• データ数1.3億件!
37
https://arxiv.org/pdf/2010.09435.pdf
後半パート:PFPの紹介
38
PFPとは
• ENEOS株式会社様とPFNで共同研究を行い開発された
“Universal” Neural Network Potential
• PreFerred Potential から PFPと命名
• Matlantis とは
– PFPを含め、物性値計算機能などいろいろな機能を
SaaSにパッケージングした製品
– Preferred Computational Chemistry (PFCC) から販売
39
PFPの話
• Architecture
• データセット
• 学習結果NNP=PFP を用いた事例
40
TeaNet
• TeaNetは内部で、スカラー・ベクトル・テンソル
それぞれの特徴量を更新しながら計算を進めていくGNN
• PFPではTeaNetの畳み込みの考え方をベースに開発
41
https://arxiv.org/pdf/1912.01398.pdf
TeaNet
• テンソルを用いる物理的意味:
テンソルは古典ポテンシャルであるTersoff potential と関連がある特徴量
42
https://arxiv.org/pdf/1912.01398.pdf
・・・
Tersoff potential
PFPについて
• TeaNet をベースにして、2年間の研究開発のなかで
いろいろと拡張(論文参照)
• GNNの辺を張る際のCutoff は6A
– 5層でそれぞれ、[3, 3, 4, 6, 6]のカットオフ
– →全体で22Aの受容野は確保
– 現状、GNN部分はO(N)になるように設計されている
• エネルギー局面がなめらか (無限回微分可能 ) になるように設計
43
PFP architectureについて
• PFPの性能を検証
• 実験結果:OC20 データセットで比較
– ※使用データセットが同じではなく
厳密な比較ではない
44
https://arxiv.org/pdf/2106.14583.pdf
PFP Datasetについて
• 汎用性を実現するため、多様な構造のデータセットを収集した
– Molecule
– Bulk
– Slab
– Cluster
– Adsorption (Slab+Molecule)
– Disordered
45
https://arxiv.org/pdf/2106.14583.pdf
TeaNet: Disordered structure
• 周期境界条件下での乱れた構造のデータセット
• Classical MDや学習中のNNPを利用したMDで作成
46
https://arxiv.org/pdf/2106.14583.pdf
TeaNet 論文で取られた構造の例:
PFP Datasetについて
• PFNの計算資源を積極的に活用
47
MN-Clusterを活用しデータ収集
製品版(PFP v1.0)は100,000GPU days分の計算資源使用
PFP Datasetについて
• 製品版(PFP v1.0)では55元素をサポート
48
PFP Datasetについて
• 汎用性を実現するため、多様な構造のデータセットを収集した
49
https://arxiv.org/pdf/2106.14583.pdf
PFP Datasetについて
• MOLECULE, CRYSTAL Datasetの計算条件表
• PFPは以下3つのデータセットを同時に学習させた。
50
データセット名 PFP MOLECULE PFP CRYSTAL OC20
ソフトウェア Gaussian VASP VASP
汎関数/基底 ωB97xd/6-31G(d) GGA-PBE GGA-RPBE
その他Option Unrestricted DFT PAW型擬ポテンシャル
カットオフエネルギー520 eV
Uパラメータあり
スピン分極あり
PAW型擬ポテンシャル
カットオフエネルギー350 eV
Uパラメータなし
スピン分極なし
適用事例1: Liイオン電池
• LiFeSO4Fの各方向におけるLi拡散活性化エネルギー計算
– 様々な元素が混じる系
– おおむねDFTを再現
51
[111], [101], [100] 方向への拡散経路
適用事例2: MOF
• Metal Organic Framework MOF-74で、水分子の結合エネルギーを計算
– 有機分子に金属元素が混じるような系
– DFTD3 補正を使用することで精度が向上(後述)
52
適用事例3: 再エネ合成燃料触媒
• FT触媒でC-O解離反応を促進する=反応障壁(Ea)を下げる元素を探索
• Coに対し、Vを添加すると解離反応が進みやすいことがVirtual screeningできた
53
Co+V触媒上でのC-O解離反応
H2,COからの燃料(C5+)の合成反応 Co触媒の一部元素置換による活性化エネルギー変化
(Coのみの基準を1.0)
適用事例4: Nano Particle
• “Calculations of Real-System Nanoparticles Using Universal Neural Network Potential PFP”
https://arxiv.org/abs/2107.00963
• 様々な金属元素が入り混じる、多元系合金ナノ粒子でも計算が可能
• DFTでは系を大きくすることが難しく、古典Potentialでは多元系への対応が難しい
54
まとめ
• NNPを用いることで量子計算の代わりに
エネルギーなどの各種物理量を高速計算
• よいモデルの学習には、
質の高いデータの取得が必須
– 使用する量子計算手法の質・精度
– データの多様性
• PFPは、様々なデータ入力に対応する
“汎用” NNP
• 応用例
– エネルギー予測、力の予測
– 構造緩和
– 反応エネルギーの予測、反応経路
– Molecular Dynamics
– IRスペクトル算出
55
https://matlantis.com/ja/product/
Links
• PFP関連論文
– “PFP: Universal Neural Network Potential for Material Discovery”:
https://arxiv.org/abs/2106.14583
– “Calculations of Real-System Nanoparticles Using Universal Neural Network Potential PFP”
https://arxiv.org/abs/2107.00963
• Matlantis関連
– 公式サイト: https://matlantis.com/
– Twitter: https://twitter.com/matlantis_pfcc
– YouTube: https://www.youtube.com/c/Matlantis
• その他の発表資料
– IIBMP2019 講演資料「オープンソースで始める深層学習」
– Deep learningの発展と化学反応への応用 - 日本化学会第101春季大会(2021)
– PFP:材料探索のための汎用Neural Network Potential - 2021/10/4 QCMSR + DLAP共催
56
働きがい
• ミッションへの共感
– “革新的なマテリアルの創出に貢献し、持続可能な世界を実現する”
– SDGs社会の実現に貢献できる仕事
• 材料科学の最先端知見・課題が集まる場
– SaaSはカスタマーサクセスが重要
– 日本を代表するような各業界の顧客と会話し、課題を議論
• スタートアップ・ビジネス立ち上げの経験
– Go to market戦略策定・営業ツール選定・価格プラン策定などなど。。。
– SaaS企業としても、挑戦的な事業目標を掲げて業務をしている
57
Follow us
58
Twitter account
https://twitter.com/matlantis_pfcc
GitHub
https://github.com/matlantis-pfcc
YouTube channel
https://www.youtube.com/c/Matlantis
Slideshare account
https://www.slideshare.net/matlantis
Official website
https://matlantis.com/ja
Appendix
59
NNP Tutorial review:Neural Network入門1
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
層ごとに 線形変換 → 非線形変換を重ねていくことで、多様な関数系を表現する。
𝑬 = 𝑓(𝑮", 𝑮$, 𝑮#)
60
NNP Tutorial review:Neural Network入門2
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
データの数が増えれば増えるほど正確な関数系を学べる
データ数が少ないと予測にブレが
あり、信頼できない。
データの数が多いと予測のブレ
(variance)が減る
61
NNP Tutorial review:Neural Network入門3
“Constructing high-dimensional neural network potentials: A tutorial review”
https://onlinelibrary.wiley.com/doi/full/10.1002/qua.24890
訓練データだけにあてはまったモデルになっていないか、適切な評価が重要。
Underfit:NNの表現力が弱く、
真の関数系を表現できない
Overfit:NNの表現力が強すぎ、訓練データには合
っているが、それ以外の点で合っていない
62
GNNの構成 (一般)
• CNN同様、Graph Convolutionを積み重ねてDeep なNeural Networkを構成
63
Graph
Conv
Graph
Conv
Graph
Conv
Graph
Conv
Graph
Readout
Linear Linear
Graphのまま特徴量を
アップデート
Graph→ベクトル ベクトル情報を
アップデート
分子をグラフ
として入力
予測値を出力
計算されたノード特徴量を集めて、グラフ全体の特徴量とする
Han Altae-Tran, Bharath Ramsundar, Aneesh S. Pappu, & Vijay Pande (2017). Low Data Drug
Discovery with One-Shot Learning. ACS Cent. Sci., 3 (4)
Graph Readout: グラフ全体(分子) の特徴量の算出
PFP architectureについて
• PFPの性能をPFP benchmarkデータセットで学習・検証
– PFPのベースとなったTeaNetの性能が良いことを確認
65
https://arxiv.org/pdf/2106.14583.pdf
67

PFP:材料探索のための汎用Neural Network Potential_中郷_20220422POLセミナー