-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1909.08423] Deep neural network solution of the electronic Schrodinger equation [paper-reading] #58
Comments
PauliNet という名前がパンチありすぎるな〜と思って読んでみることにする。 名前がどうこうは置いておいて、中身を読んでいく。 |
intro の書き出しがパワーを感じる。
それはそう。 電子数が数十個程度の分子に対しては配置間相互作用法や結合クラスター法、多次元量子モンテカルロ法、などで全電子エネルギーの有効数字が6桁の精度で解けているとのこと。2012 の段階で。手法の詳細は一旦おいといて、これらの手法は典型的には電子数を $ N $ としたときに $ N^7 $ やそれ以上で計算コストが大きくなるため電子数が増えると使えなかった。 計算量を抑えつつ精度を上げたい!というのがモチベーション。 |
計算コストの $ N^7 $ とかはちょっと直感的にはよく分からない(というか具体的な手法もよく知らない)のだが、ほとんどの量子化学の手法では電子の波動関数をスレーター行列式の線形結合で表現している、ということから電子数が増えると計算量がめちゃ増えることは想像がつく。 ちなみにこれが配置間相互作用法というもので、波動関数を様々なスピン軌道の組のスレーター行列式の線形結合で表現して変分法でその係数とエネルギー固有状態を求めるというものらしい。Hartree Fock 法が全波動関数を一組のスピン軌道から成るスレーター行列式で表現している平均場近似であったことを思い出すと、これは電子相関を取り入れるための自然な拡張であると思われる。 スレーター行列式は量子化学の手法において重要で、手法によって異なる役割を持っているとのこと。 |
上の図で出てくる QMC は quantum monte-carlo の略。 変分量子モンテカルロは量子状態に対してあるパラメタでパラメトライズされた特定の形を考え、変分法によってハミルトニアンの基底状態を求めるという手法。 |
ちなみにもっと大胆にいわゆる第一原理的手法(ボトムアップで非相対論的シュレディンガー方程式を解いて性質を理解する)で精度に限界がない形で neural networks で強く相関がある波動関数を求めるという先行研究もあったようだが、波動関数に対して ansatz を用いておらず(つまり物理的な知識を encode せずに学習だけでいい感じに学ばせようとして)ハートリーフォック近似の精度にも達してないと紹介されている。まあある程度は知識を外から与えないと流石に厳しい気がする。ってかその場合反対称性とかどうなるんだ?まあこの論文とは直接関係ないのでいったんスルー。 これまでの説明を踏まえて、この論文の概要を三行で書くと以下のようになる。
以降ではこの具体的な内容の理解に努める。 ちなみに FermiNet では基本的な反対称性以外の ansatz を用いずより大量のパラメタを使って学習し、計算量は PauliNet よりだいぶ大きい(計算コストが 2 桁くらい上と書いてある)が精度は高いものを達成している、とのこと。 |
手法について見ていく。 まず、変分原理に基づいて全電子のエネルギーを最小化するような波動関数を教師なし学習で見つけるというのが基本戦略。 (エルミート共役がなかったりして正しい表記じゃないんだけど...) local energy という言葉は初めて聞いたけど、これは座標に依存するという意味だろう。 波動関数 $ \psi_θ $ としてどのような形のものを準備するかが腕の見せ所になる。 これには以下の情報が含まれる。
だいぶ複雑な感じだが、ここまで述べたことを図示したものが以下。 |
SchNet https://arxiv.org/abs/1706.08566 は graph convolutional neural network で、従来はノード間の相互作用をグラフ上の距離のみでモデリングしていたところを、学習によってノード間の相互作用をよしなに考慮して特徴ベクトルを更新することでノード距離によらずに相互作用を表現するようなモデルらしい。全然ちゃんと読んでない。 今の話で言えば、そもそも graph convolution neural network でノード間の距離というのが重要なので、これが粒子の相対位置が重要というのにマッチしているので使っている。上で述べたような SchNet の特徴がどれくらい効いてるかはよくわからんけど、相互作用をいい感じに取り入れてくれそうというくらいで採用してるのかな。 |
実験結果は以下。 |
あまりちゃんと読みきれなかったが、概略はこんなもんかということで終了としておく。 諸々の前提知識がなくてちゃんと理解するのはまだまだできてないが、今後どういう風に発展していくかはたまにチェックしていきたい。 |
論文リンク
https://arxiv.org/abs/1909.08423
公開日(yyyy/mm/dd)
2019/09/16
概要
量子化学で多体相互作用を計算する手法として PauliNet というモデルを提案。
Slater-Jastrow-Backflow 型の波動関数を試行関数として準備するところに人間の知識を入れて学習を効率的にしつつ、これまでは決めでパラメタを手で与えていた部分を DNN で学習することで高い表現力を確保することを可能にした。
物理的要請(例えば電子の相対位置のみが重要)をうまく取り込むために graph convolutional neural network の一種である SchNet を改変して用いている。
学習は教師なしの変分量子モンテカル法で、変分原理に従いエネルギーを最小化するようなパラメタを学習するというものになっている。
電子数 $ N $ に対して $ O(N^4) $ くらいで計算可能で、先行研究の $ O(N^7) $ くらいの手法と同等程度の性能を発揮できた。
同時期に DeepMind が提案した FermiNet は知識の encoding が少なくてより大量に学習するモデルで、精度は少し劣るが学習効率は 2 桁くらい良いと主張している。
著者実装:https://github.com/deepqmc/deepqmc
The text was updated successfully, but these errors were encountered: