Boltzmann generators

はじめに

2019年にBoltzmann generatorsというDeep Neural networkを分子シミュレーションに適用する手法がScience誌に掲載されました。分子シミュレーションの手法に特化した内容がNatureやScienceといったトップ中のトップジャーナルに掲載されることは珍しく(今までにもなかったわけではないですが),それだけBoltzmann generatorsが大きなブレイクスルーとなることが期待されます。本記事では,Tuckermanの解説記事を元にどのような手法かを簡単にご紹介します。(記事の最後に挙げた参考文献は2020/10/7時点でオンライン閲覧可能みたいです)

分子シミュレーションのサンプリング問題

平衡系の分子シミュレーションでは,多くの場合,ボルツマン分布からの3N次元配置のサンプリングを行い,対象とする系の統計的な性質を解析すること目的とします。

画像2

状況としてはデータ生成分布の厳密な関数形が分かっている状態なのですが,必要十分なサンプリングを実現するのが絶望的に難しいです(目的にも依存しますので,3N次元配置のサンプリングだからといって常に絶望する必要はないです)。
まず,典型的な分子シミュレーションでは少なくとも数千原子を含むため,3×数千次元の配置を網羅的に調べることは不可能です。たとえ1自由度あたり取り得る値が2つしかなかったとしても,2^{3×数千次元}のパターンに対して計算を実行する必要があります。そのため,実験や過去の知見で得られた情報からそれらしい初期配置を用意し,その初期配置を更新しながら配置空間の重要な部分を重点的にサンプリングするということが行われます。
原理的にはMD(MC)シミュレーションをひたすら回していけば目的のサンプリングが実現されるはずですが,現実的には無限にサンプリングし続けるわけにもいかず,初期配置近傍の配置しかサンプリングできない問題に直面します。理由は,3N次元配置から構成されるポテンシャル関数(ひいてはデータ生成分布が)が無数の多峰性となるためです。峰になっている部分はエネルギーが高い=滅多にサンプリングされない(レアイベント)ため,隣にあるエネルギーの低い状態に遷移するには多くのサンプリングを要します。超えるべき峰が何個もありますという状況では,単純なMDシミュレーションによるサンプリングは現実的ではありません。

Boltzmann generatorsによるサンプリング改善

上記にあるように,データ生成分布の多峰性がサンプリング困難な原因です。そのため,Boltzmann generatorsではデータ生成分布が単純な形状となる空間(z空間とします)に射影してサンプリングを実行するということを行います。単純な形状なデータ生成分布の関数形は自由に選べるので,例えばガウス分布を採用することをイメージしてください。
z空間でのサンプリング

画像3

が変換

画像4

を通して,x空間でのサンプリング

画像2

と同等になるように,変換器F_{zx}をDeep Neural networkを用いて構成するのが,Boltzmann generatorsで行っていることの概略となります。生成されたxは,生成後にU(x)を用いてre-weightingできるため,必ずしもボルツマン分布を完全に再現するレベルでDeep Neural networkを作りこむ必要ないみたいです。


参考文献

 1. F. Noé et al., Science 365, eaaw1147 (2019).
 2. M. E. Tuckerman, Science 365 (6457), 982-983.


この記事が気に入ったらサポートをしてみませんか?