BLOG
こんな人に読んでほしい
-
これから分子動力学(MD)計算を行いたいと思っている人
-
機械学習ポテンシャルを作成しようと思っている人
-
機械学習ポテンシャルの生成に時間がかかり過ぎて困っている人
-
CHGNetなどの機械学習ポテンシャルのデータベースを使っている人
-
第一原理MD計算を加速したいと思っている人
FOR YOU
WHAT IS
分子動力学(MD)計算とは
物質は電子と原子核から構成されています。ですので、材料物性の中には、電子が主として寄与するものもあれば、原子核が主として寄与しているものもあります。そのような原子ダイナミクスが見たい時に行うのが分子動力学(MD; Molecular Dynamics)計算です。原子核は電子に比べると1800倍以上重いので、電子に比べるとその応答速度は非常にゆっくりとしたものになります。つまり、電子は外からの刺激に対して高速に応答する(周波数応答で可視光や紫外領域)のに対して、原子核は外からの刺 激に対してゆっくりと応答する(周波数応答で赤外領域やマイクロ波領域)ことになります。原子核が応答する時間スケールは電子から見ると非常にゆっくりとした動きとして見えるので、通常は原子核ダイナミクスを扱う場合には電子は常に基底状態にあると思ってシミュレーションをすることになります。
テクノ・シナジー様HPより引用
http://www.techno-synergy.co.jp/opt_lectures/about_DF08.html
ADVANTAGE
機械学習ポテンシャルのデータベースの素晴らしさ
上で解説したように、機械学習MDにおいては、原子間ポテンシャルを“作る”というフェーズと原子間ポテンシャルを“使う”というフェーズから成ります。特に、“作る”というフェーズは結構手がかかるステップであることを強調したいです。なんといっても、良いポテンシャルを作るためには、数百もの学習データをまず生成しなくてはなりません。つまり、数百のDFT計算を実行しなくてはなりません。これが結構時間のかかる作業なのです。“作る”ステップにおいて、DFT計算を回している時間が圧倒的であるのが通常です。しかも、例えば、もしあなたがMD計算を行って拡散現象を見たいと思っていたとします。そうすると、学習データの中には、拡散課程、つまり拡散途中のデータが含まれていないと、拡散を正しく記述する原子間ポテンシャルにはなりません。そのため、学習データが少なすぎると精度が悪くなってしまいます。自分で原子間ポテンシャルを作ろうとすると、数日かかることがザラにあります。結構手のかかるステップなのです。ところが、この手のかかるステップを世界で共同して、学習された原子間ポテンシャルを共有しようよという動きが近年世界中で起こってきました。世界各国で政府が援助し、アカデミアを中心に機械学習ポテンシャルを生成しそのデータベースを無償で公開する動きが出てきたのです。この手がかかる作業を代わりにやってくれて、しかもそれが無料というのだからとんでもないご利益を授かることになります。さらに、全世界でこのデータベース作りが競争原理のもと行われているため、誰でも無料で高品質な機械学習ポテンシャルを利用できます。下記のサイト(https://matbench-discovery.materialsproject.org/)を見ていただくと、各データベースがしのぎを削って同一基準のもとで、公平で客観的に性能比較が行われている様子がわかります。また、常時、データは更新され、その時その時で良いものが一目でわかる状況にあります。学習データは、14万6千個の物質に対して実施され、それぞれの物質で多くの原子配置を学習させているため、学習データは総数として160万個というものすごい量の学習をさせていることがわかります。これが無料なのであるから、これを使わない手はありません。特に、学習させた物質の数で言うと、14万6千個と、無機物質の巨大なデータベースMaterials Projectの15万物質の98%にも迫るカヴァー率です。この世の中で合成された無機物質の構造データの98%をカヴァーされているのです。ところで、我々の製品であるQuloudでは、これらデータベースがボタン1つで使えるようになっています。特に、このデータベースの中でも有名な代表的なものに、CHGNetというものがあります。2024年9月時点ではスコアとしては、4番目のものです。代表的なデータベースであるため、以下ではCHGNetを参考にして言及することが多いです。
https://matbench-discovery.materialsproject.org/ より転載。2024年9月現在。
CHALLENGES
機械学習ポテンシャルのデータベースを用いた際の課題
ここまで機械学習MDは非常にバランスの取れた素晴らしい手法であることを説明してきました。ここでは、機械学習MDの課題に関していくつか紹介します。1つ目、汎用性を求めるがゆえに、未知物質においては精度が悪いことです。機械学習ポテンシャルのデータベース作り方のところで説明したように、どんな状況でもある程度カヴァーできるように、15万6千物質のデータが学習されています。しかし、どれだけ普遍的に学習をさせたとしても学習データにない構造に関しては精度が落ちてしまうことは避けられません。これはデータベースを使う云々と関係なしに、機械学習MDを使う限り付きまとう課題です。この1つ目の課題に対する解決策は、得られた原子間ポテンシャルに対して、計算したい興味ある物質に対してfine tuningという、原子間ポテンシャルの一部パラメータ調整を行う手法を用いるか、自分自身で新たにそれ用に原子間ポテンシャルを作り直すかです。しかし、自分自身で原子間ポテンシャルを作り直そうとすると、改めて上で説明した、原子間ポテンシャルを“作る”手間を負わなくてはならなくなります。続いて、機械学習MDの課題の2つ目、汎用性を求めるがゆえに、原子間ポテンシャルを“使う”フェーズのMD計算が重くなってしまうという問題です。これは、汎用性を求めようとすると、機械学習の中のモデルパラメータ(ハイパーパラメータ)の数が大きくなりすぎてしまうという課題があります。そのため、原子間ポテンシャルの計算自体が重くなるのです。この課題を解決する方法として、通常、GPUマシンを用いてマシンパワーで高速化するという手段が用いられていますが、本質的な解決にはなっていないし、近年のGPUマシンの高騰の問題も考慮しなければならなくなります。もっと、ハイパーパラメータの少ないモデルで計算が実行できれば原子間ポテンシャルを“使う”という古典MD部分の計算ももっと速くなるはずのものなのです。
MECANISMS
第一原理MD計算、古典MD計算
この世の中の物質は電子と原子核からできており、その両方ともが量子力学に則って振る舞っています。特に、物質のシミュレーションを行おうとした際には、電子と原子核の質量差から、電子に対しては量子力学的な粒子として、原子核に対しては古典的な粒子として扱うことがほとんどです。ちなみに、理論的なこのような切り分けは、ボルン=オッペンハイマー近似と呼ばれています。さて、今、我々はMD計算において原子核の運動に興味があるので、電子のことなど一旦忘れたいのですが、ところが原子核同士をくっつけている、まるで“のり”のような振る舞いは電子が担っています。そのため、電子を完全に忘れて原子核のことだけを考えることは出来ないのです。そこで、電子に関しては密度汎関数理論(DFT; Density-Functional Theory)で解いて、そこで得られた電子状態を下に、原子間に働く力を計算し、原子核は古典的に振る舞う粒子としてその運動の様子を記述するのが、第一原理MDと呼ばれるものです。電子の振る舞いはDFTという量子力学に立脚し求められるため、実験値などの事前知識を必要とせず原子核の運動を追跡することができるものとなっています。第一原理MDというのは、非常に高精度であることが知られており、実験値とも良い精度で一致する信頼性の高い手法である一方、計算コストまたは計算時間が重いまたは時間がかかるという欠点があります。第一原理MD計算が実行できると、一番嬉しいことなのですが、正直なところ、ナノ(10^-9)秒といった(人間の時間スケールからすると非常に短い時間スケールかもしれませんが、原子レベルからすると)長時間シミュレーションを実行しようとするとかなり難しい状況となってしまいます。他方で、古典MD計算というものがあります。古典MD計算は、電子のことなど忘れて、原子と原子の間に働く力をポテンシャル(原子間ポテンシャルと呼ぶ)としてあらわに与えて、この原子間ポテンシャルの下での原子核の運動を見る方法です。古典MDでは、電子の存在を忘れてしまい、電子が原子間で担う“のり”としての役割を原子間ポテンシャルというものの中に入れ込んでしまいます。みなさんの中には、レナード・ジョンズポテンシャルというものを聞いたことがある方もいると思います。レナード・ジョンズポテンシャルは、分子間力(ファンデアワールス力)を表した分子と分子の間の引力の振る舞いを表したポテンシャルであり、一種の原子間ポテンシャルです。このような簡略化を行うことにより、古典MDでは計算コストを大幅に減らし、計算時間としては短い時間で実行できるようになります。もちろん、より大きなシステムでも計算できるようになります。しかし、古典MDの欠点はその精度です。精度は原子間ポテンシャル次第であり、一概にいうことは出来ませんが、一般には精度が低いです。第一原理MDをより再現することができる原子間ポテンシャルを作ることができれば、精度は良くなっていきますが、中々そううまい話はありません。これまでも多くの研究者が原子間ポテンシャルの開発に取り組んできましたが、汎用性のあるポテンシャルというのは中々難しいです。
軽い
重い
計算コスト
(計算時間)
低精度
高精度
精度
古典MD
第一原理MD
レナード・ジョーンズポテンシャル
原子間距離rに対して、原子間に働くポテンシャルを表現。
ここで、AやBはフィッティングパラメータ。
EMERGENCE
機械学習MD計算の登場
上で見てきたように、古典MDには計算コストが軽いという極めて魅力的な要素があります。なんとか第一原理MDを再現する、より良い原子間ポテンシャルを作れないかという努力が、近年の機械学習ブームと結びつき今、大きく発展しつつあります。機械学習で第一原理MDを再現する原子間ポテンシャルを作成しようという試みです。これは、2007年のBehlerとParrinelloの仕事に端を発しています。2007年の彼らの論文PRL 98, 146401(2007).では、ニューラルネットワークで第一原理MDを再現する原子間ポテンシャルを作成しようと試みられています。この機械学習MDの登場により、古典MDの精度がぐっと向上し、次の表のようになりました。もちろん、機械学習MDといえども、第一原理MDほどの精度はありませんが、それにしても古典MDのものよりも精度があがり、機械学習MDは計算コストと計算精度のバランスが取れた重要な位置を占めるようになってきました。
通常、機械学習MDでは2ステップを踏みます。
ステップ1: 原子間ポテンシャルを“作る”
様々な原子配置に対するDFT計算結果を取得し、それに対して、最近ではニューラルネットワークなどの機械学習手法を用いて原子間ポテンシャルの作成を行います。
ステップ2: 学習の結果得られた原子間ポテンシャルを“使う”
このステップでは、ステップ1で得られた原子間ポテンシャルを“使って”、本格的な長時間シミュレーションを行ったり、またはもっと大きなシステムサイズにしてMDシミュレーションを行ったりします。
軽い
軽い
重い
計算コスト
(計算時間)
低精度
中精度
高精度
精度
古典MD
機械学習MD
第一原理MD
On-The-Fly 機械学習MD解説(1) 機械学習MDについて
我々Quemixはこの度、On-The-Fly MD計算ができる新機能をQuloudに実装しました。このOn-The-Fly MD計算を実行すると、短い時間でMD計算ができるようになります。On-The-Fly MDを知らない人もいると思います。この解説記事では、MD計算って何?MD計算で何ができるの?から解説し、第一原理MD計算、機械学習MD計算、On-The-Fly MD計算に関して解説していきます。また、Quloudに実装されるOn-The-Fly MD計算を実行するとどのようなことができるようになるかを解説していきます。
まず第1部ではそもそも分子動力学(MD)計算とは何か?から説明して、第一原理MD計算と機械学習MD計算の違いを説明します。特に、近年の機械学習ポテンシャルのデータベースとそれを用いた際の課題に関して紹介します。
INTRODUCTION
CAPABILITIES
MD計算で何が計算できる?
MD計算を行うと、イオンの拡散現象や化学反応、さらには赤外応答も計算することができるようになります。イオンの拡散現象では特に近年、Liイオン電池におけるLiイオンの拡散現象に興味を持っておられる研究者の方が多いです。さらには、誘電特性も計算することができます。