Skip to content

Latest commit

 

History

History
39 lines (34 loc) · 7.05 KB

014.md

File metadata and controls

39 lines (34 loc) · 7.05 KB

第 14 回: PauliNet の論文を読んだ

収録日:20210404

発表者:@yohei_kikuta

内容:

  • DNN の物理への応用は色々あるのでその中でも面白そうなものはなんか読んでみたいなとは思っていた。
    • PauliNet とか FermiNet とかで名前にパワーがある量子化学への応用の論文が出ているのは知っていたので、この機会にちょっと読んでみるかと思って PauliNet を読んでみることにした。
    • 量子化学計算の前提知識があまりないので詳しいところで理解できてないところが多いので、雰囲気それっぽいことを言う回。
    • 内容的に同僚で興味ありそうな人がいなかったので、収録は一人でこっそりとやった。
  • 論文のモチベーションは計算コストを抑えつつ高い精度で非相対論的な多体系 Schrodinger 方程式を解くというもの。
    • 密度汎関数法は計算コストが低いが精度に限界があり、配置間相互作用法やその発展系は精度を高めるために色々な軌道の組み合わせで多数のスレーター行列式を用いる必要があるので計算コストが高い(典型的には電子数 N に対して O(N^7) とかそれくらい)。
    • DNN の表現力を上手く活かせれば計算コストを抑えつつ高い精度を発揮できる可能性はありそう。一方で波動関数が満たすべき物理的制約は電子の入れ替えに対する反対称性を始めとして色々あり、効率化のためには人間の持つ物理学の知識をできるだけ encode した方がよさそう。
    • Slater-Jastrow-Backflow 型波動関数というものをベースとして、先行研究では手で与えていたようなパラメタを学習可能なパラメタにして、graph convolution neural network の性質などをうまく使ってモデル化して、変分量子モンテカルロ法で教師無し学習することで良い結果が得られることを示した。
  • モデルはかなり複雑で、人間の持つ物理学への知識を色々と encode している。
    • 大枠は、エネルギーに関しては物理的に分かる核子のエネルギーやクーロンポテンシャルで構成できるので given であり、変分量子モンテカルロ法でエネルギーを最小にするような波動関数を教師なし学習で求めようというものとなる。
    • 変分量子モンテカルロはエネルギーの期待値を波動関数の確率分布でサンプリングした配位で座標依存の local energy を計算してその平均をとることで近似する手法であり、この論文では学習がうまくいくようなテクニカルな工夫はしているが概念的に新しいものを提案しているところはない。
    • 波動関数 ansatz をどのように準備してその中の何を学習可能パラメタとしたか、が重要な貢献で、 Slater-Jastrow-Backflow 型波動関数というものを DNN でモデル化している。
    • スレーター行列式はフェルミオンの多粒子系を反対称性(と Pauli の排他原理)を陽に表現したもので、量子力学をやったことがあればほとんどの場合で目にしたことがありそう。
    • Jastrow 因子は上記スレーター行列式に掛ける exp(Σ u(r_{ij})) という因子であり、電子の相対座標に依存した因子を入れて波動関数を表現することが有効と知られていた。従来はこれをえいやで与えていたが、この論文では、核子と電子を graph neural network で表現し、node の特徴ベクトルを入力として Jastrow 因子を計算するように変更する。この graph neural network を学習することで単に手で与えるよりも表現力の高い Jastrow 因子を求めようという算段である。
    • Backflow は電子相関を取り入れるための手法で、N 個の電子があった時に N 個の軌道を選んで一つのスレーター行列を作る従来の手法ではたくさんの起動の組み合わせで大量のスレーター行列式を準備する必要があるので、N 個の電子に対して相互作用を DNN を通して取り入れて N 個の仮想粒子を出力し、他粒子の効果を考慮したこの仮想粒子で同じようにスレーター行列式を構築することで必要となるスレーター行列式の数を減らそうというテクニックである。
    • 物理的な要請として核子や電子の cusp 条件が必要で、これはモデルの構造で担保したり手で因子を加えたりしている。
    • 良い初期値を準備するため、波動関数は最初ハートリーフォックの解を準備し、そこからの補正として上記 Jastrow 因子や Backflow や cusp 条件の効果が付与される。
    • 相対位置が重要なので、それを取り入れるために graph convolutional neural network を使っている。これはノード間の距離が重要なので目的とマッチしている。グラフの構造としては同じでも配置が異なるようなケースにも適している SchNet というモデルを modify して使うことで、より良いモデリングを実現している(ここは詳しく追えてない)。
  • 結果は良好で、O(N^7) の従来手法と比べて O(N^4) 程度で計算でき、精度はほぼ同等であった。計算量の観点でどれくらい優れているかは論文だけみてもイマイチ分かりづらいので、著者の発表動画を観た方が捗る。
    • ablation study は特にないので 従来手法である Slater-Jastrow-Backflow 型波動関数に DNN を取り入れて学習可能としたという点がどれくらい効いてるかは定量的には分からないが、総合的にはうまくいってそう。
  • 同時期に DeepMind が発表した FermiNet は、反対称性くらいしか知識を encode しない代わりに大量のパラメタを学習して解決するというモデルで、計算コストは PauliNet より 2 桁くらい大きいが精度は上回っているとのことらしい(チラ見しただけでちゃんと読んでない)。
  • 量子化学計算の前提知識がなくて分かってないところが多いが、たまにはこういうのを読んでみるのもいいよね、という謎の納得をして終了。

参考情報: