AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

Quantum-chemical insights from DTNN -4

+Quantum-chemical insights from DTNN -4

*KaggleのテーマPredicting Molecular Propertiesと類似した内容であるが、Kaggleとは離れて、DTNNの本質に迫る。

・対象論文:K. T. Schütt et al., Quantum-chemical insights from deep tensor neural networks, nature communications 2017

 

*今日は、K. T. Schüttさんの、学位論文:Learning Representations of Atomistic Systems with Deep Neural Networks:によって、DTNNとSchNetを理解していきたいと思う。

 

*Local chemical potential

・分子の等距離表面における、プローブ元素Zpの化学ポテンシャルの分布を示したもので、次の図の左側のネットワークの出力Xpから計算される。

f:id:AI_ML_DL:20200208122211p:plain

・次の図は、プローブ元素をH, C, N, Oと変えた時の、局所化学ポテンシャルである。

f:id:AI_ML_DL:20200208122905p:plain

・元素の種類と原子の空間座標から計算した原子間距離のみを入力し、分子のエネルギー(atomization energy)だけを目的関数としてDTNNで学習させると、分子のエネルギーを正確に予測できるだけでなく、化学結合に関する情報も得られるということが、これまでの方法との大きな違いである。

・結合の不飽和度(炭素で言えば、二重結合か三重結合かなど)や、芳香族性の程度の違いを含む情報が得られており、原著論文では、Fig.1eに示した図(下図)について、C6O3H6(図ではC6C3H6と誤記)分子はベンゼン(C6H6)やトルエン(C6H5CH3)よりも高い芳香族性を示している、と述べている。

 

f:id:AI_ML_DL:20200208140643p:plain

 

 *Chemical compound space

・QM7bとQM9のサブセットを用いたDTNNによるテストデータに対するエネルギーの予測値は、1.0 kcal mol-1と良好であったが、下図に示されるように、20 kcalから40 kcalを超の誤差を示す分子もある。

f:id:AI_ML_DL:20200208161622p:plain

・誤差が大きい分子は、変わった結合をもった分子だから、と表現しているが、納得いかないところもある。類似分子に対する学習量が少なかったということだろうか。

・エネルギーの予測値の誤差が、原子数が多いほど小さくなるという現象がみられている。

・原子数の大きい分子は原子数の小さい分子の学習結果から学ぶのだろうと推測し、実際に原子数の少ない分子を加えたデータでトレーニングすると、誤差が小さくなったとのこと。(下図右上のグラフに示されている)

f:id:AI_ML_DL:20200208161947p:plain

 

*DTNNを理解しようとして、いろいろ調べたが、非常に奥深い、幅広い領域における情報をうまく利用して新しい手法を編み出したのだと思う。

・2000年から2010年頃までのニューラルネットワークに関する研究や機械学習に関する研究成果も多く取り入れられているようだが、とらえきれない部分が殆どだった。

 

*そろそろ、次のテーマ、とも思ったが、ここは、後先考えず、量子化学の世界に、どっぷりつかってみようかな、と思いなおしたところである。

*難しくなって、先に進めなくなると、どうしても、目先を変えたくなるものだ。

 

*明日は、まずは、Molecular dynamicsについて調べてみようと思う。

・ざっと目を通したところでは、インパクトは感じなかったが、SchNetではC20フラーレンを扱っているし、MD計算自体には非常に興味がある。

・炭素原子からダイヤモンド、グラファイトナノチューブフラーレンなどが生成するプロセスを再現できないか、知り合いにMD計算を試してもらったことがあり、できれば自分でやってみたいと思っていたこともある。


つづく 

  

f:id:AI_ML_DL:20200208084717p:plain

style=099 iteration=1

f:id:AI_ML_DL:20200208084812p:plain

style=099 iteration=20

f:id:AI_ML_DL:20200208084852p:plain

style=099 iteration=500