AI_ML_DL’s diary

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

Predicting Molecular Properties-6

Predicting Molecular Properties-6

*1週間程度の予定で、過去のKaggleコンペ、Predicting Molecular Properties、に取り組む。

*目的は、DNNがどのような課題に対して、どのように貢献できるのかを、実例を通して学ぶこと。

 *今回は、まず、グラフネットワークを理解し、次に、GilmerのMPNNを理解し、その後で、コードの理解に進むという流れにしようと思う。

 

*本日の課題:お手本プログラムコード(1つはTF2.0とsklearnによるMPNNモデル、もう1つはkerasとsklearnによるベーシックな5層の全結合NNモデルの理解(手本と論文を対比させながら)

 

*昨日、新幹線の中で、MoleculeNet: a benchmark for molecular machine learningを見ていたら、QM9に対するMAE値は、MPNN(Message Passing Neural Networks)よりもDTNN(Deep Tensor Neural Networks)の方が小さい(良好)ことに気付いた。

・DTNNについて調べてみると、DTNNはSchNet(Schは、著者の名前からとっているのだろう)に発展していることがわかった。

・さらに、Kaggleコンペサイトのnotebooksをあらためて眺めてみると、SchNetを用いたものがかなり多いことがわかった。

 

*ということで、DTNNとSchNetについて少し勉強してみよう。

Quantum-chemical insights from deep tensor neural networks

K. T. Schütt et al., Nature Communications, 8(13890), 2017

・これは、SchüttらのDTNNに関する最初の論文のようである。

・データから学ぶことによって、画像認識や自然言語処理など、様々な分野でパラダイムシフトが起きている。

・量子多体系においても、同様なブレイクスルーを起こさせることができるのではなかろうか。

・中くらいの分子に対して、正確に多体系のハミルトニアンを解いたデータベースを用いて、エネルギー状態を予測できるdeep tensor neural networksを提案する。

 

f:id:AI_ML_DL:20200201134446p:plain

SchNet: A continuous-filter convolutional neural network for modeling quantum interactions

K. T. Schütt et al., 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA.

・この論文は、DTNNを改良し、SchNetと命名したものである。

・continuous-filter convolutional layersを導入することによって、下のFigure 1に示されるように、エネルギーを位置の変化に対して離散的ではなく連続的な値として得られるようにしたことである。

・これにより、下のTable 1に示されように、DTNNやMPNN(enn-s2sが相当する)よりも高い精度で、QM9を用いてエネルギー値を予測できることが確かめられている。

f:id:AI_ML_DL:20200201134828p:plain

f:id:AI_ML_DL:20200201134916p:plain

f:id:AI_ML_DL:20200201135040p:plain

SchNet - a deep learning architecture for molecules and materials

K. T. Schütt et al., arXiv: 1712.06113v3 [physics.chem-ph] 22 Mar 2018

 

*さらに、SchNetを改良したPiNetを含む、PiNNが提案されている。

PiNN: A Python Librery for Building Atomic Networks of Molecules and Materials

Y. Shao et al., arXiv:1910.03376v2 [physics.comp-ph] 12 Jan 2020

・このPiNNには、Figure 1に示されているように、BPNN(Behler-Parrinello Neural Network)とGCNN(Graph Convolution Neural Network)とPiNetが含まれている。このPiNetは、SchNetを改良したもののようである。

f:id:AI_ML_DL:20200201124211p:plain

f:id:AI_ML_DL:20200201135929p:plain

注)pinetで検索すると、piNET: a versatile web platform for downstream analysis and visualization of proteomics dataという文献が出てくるが、PiNetとは別物のようだ。

 

*明日は、K. T. Schüttらの、DTNN, SchNetについて、もっと詳しく内容を調べることにする。

・DTNNは、原子番号や実際の原子間距離に相当する値をネットワークに入力している、すなわち、DFT計算に用いているのと同じパラメータを入力しているので、ネットワークは、画像認識や言語認識における単なる答え合わせのための学習ではなく、物理的な意味をもつ学習結果が含まれている可能性があるので、直接学習した物理量以外の物理量を予測することも可能になっているのかもしれない。このあたりを、より正確に理解する。

 

つづく 

 

f:id:AI_ML_DL:20200201081222p:plain

style=092 iteration=1

f:id:AI_ML_DL:20200201081316p:plain

style=092 iteration=20

f:id:AI_ML_DL:20200201081404p:plain

style=092 iteration=500