基于機器學習的方法在預測分子能量和性質(zhì)方面表現(xiàn)出很強的能力。分子能量至少與原子、鍵、鍵角、扭轉(zhuǎn)角和非鍵原子對有關(guān)。以前的Transformer模型只使用原子作為輸入,缺乏對上述因素的顯式建模。為了減輕這種限制,作者提出了Moleformer,這是一種新穎的Transformer架構(gòu),它將節(jié)點(原子)和邊(鍵和非鍵原子對)作為輸入,并使用旋轉(zhuǎn)平移不變的幾何感知空間編碼來模擬它們之間的相互作用??臻g編碼計算節(jié)點和邊之間的相對位置信息,包括距離和角度。作者在OC20和QM9數(shù)據(jù)集上對Moleformer進行了基準測試。
來自:Molecular Geometry-aware Transformer for accurate 3D Atomic System modeling
背景概述
分子系統(tǒng)能量力場的基本形式可以分解為基于鍵、鍵角、扭轉(zhuǎn)角和非鍵相互作用等因素的函數(shù)。為了包含上述因素并進行能量估計,神經(jīng)網(wǎng)絡(luò)需要學習原子-原子(鍵和非鍵原子對)、原子-鍵(鍵角)和鍵-鍵(扭角)之間的相互作用。而過去基于Transformer的模型只學習原子-原子之間的相互作用。
為了擴展信息并利用Transformer,作者提出Moleformer,它顯式模擬原子-原子對之間的相互作用。Moleformer將原子、鍵和非鍵原子對作為輸入,并應用平移旋轉(zhuǎn)不變幾何感知空間編碼來捕獲這些輸入之間的幾何關(guān)系??臻g編碼是通過原子-原子對的相對距離和角度來計算的,這足以確定原子-原子對之間的相對空間幾何信息。原子-鍵之間的相互作用包括力場中的鍵角,鍵-鍵之間的相互作用包括力場中的扭轉(zhuǎn)角。
方法
對于一個3D原子系統(tǒng)( N N N個原子),由核電荷(nuclear charges) { z 1 , . . . , z N } \left\{z_{1},...,z_{N}\right\} {z1?,...,zN?}和3D坐標 { x 1 , . . . , x N ∈ R 3 } \left\{x_{1},...,x_{N}\in R^{3}\right\} {x1?,...,xN?∈R3}描述。目標是預測系統(tǒng)的性質(zhì) y ∈ R y\in R y∈R,可以是系統(tǒng)能量,偶極矩和熱容等。
Moleformer(圖1b)是一種旋轉(zhuǎn)平移不變的Transformer,用于3D分子能量和性質(zhì)預測。Moleformer使用節(jié)點(原子)和選定的邊(包括成鍵和非成鍵原子對)作為輸入。如果一個原子系統(tǒng)包含 N N N個原子,則有 C N 2 C_{N}^{2} CN2?個可能的邊。將所有可能的邊都包含到模型中會消耗很大計算量,并且可能引入無信息的邊。作者選擇 Top-M 距離最近的原子對作為邊。對于像催化劑體系這樣由吸附質(zhì)(adsorbate)和表面(surface)組成的原子體系(圖1a),可以選擇吸附質(zhì)-吸附質(zhì)原子對和吸附質(zhì)-表面原子對作為邊,而不是表面-表面原子對。原因是這樣的原子對之間的邊在邊長和原子類型上更加多樣化,在能量建模中可能包含更多的信息。因此需要為表面-表面原子對的距離進行懲罰,以更好選擇邊。
表面原子之間的相互作用較頻繁,而吸附質(zhì)原子與表面原子的相互作用較小,不平衡其重要性會學習到冗余的知識。
對于輸入embedding,作者用核電荷 z i , z j z_{i},z_{j} zi?,zj?和兩原子間的距離 ∣ ∣ r i j ∣ ∣ = ∣ ∣ x i ? x j ∣ ∣ ||r_{ij}||=||x_{i}-x_{j}|| ∣∣rij?∣∣=∣∣xi??xj?∣∣編碼邊 ( i , j ) (i,j) (i,j): h i j 0 = R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) h_{ij}^{0}=RBF(z_{i},z_{j},||r_{ij}||) hij0?=RBF(zi?,zj?,∣∣rij?∣∣)原子 i i i則編碼為: h i 0 = E m b e d ( z i ) + W R ∑ j ( R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) ) + b R h_{i}^{0}=Embed(z_{i})+W_{R}\sum_{j}(RBF(z_{i},z_{j},||r_{ij}||))+b_{R} hi0?=Embed(zi?)+WR?j∑?(RBF(zi?,zj?,∣∣rij?∣∣))+bR?其中, W R W_R WR?和 b R b_R bR?是線性層的參數(shù),用于對齊 E m b e d Embed Embed和RBF的維數(shù)。
將 { h i 0 } i = 1 N \left\{h_{i}^{0}\right\}_{i=1}^{N} {hi0?}i=1N?和 { h i j 0 } \left\{h_{ij}^{0}\right\} {hij0?}拼接作為輸入,并應用 L L L層geometry-aware Transformer block建模原子和邊。對于第 l l l層,輸入為 { h i l } i = 1 N \left\{h_{i}^{l}\right\}_{i=1}^{N} {hil?}i=1N?和 { h i j l } \left\{h_{ij}^{l}\right\} {hijl?}。
Transformer通常通過在輸入表示中添加位置嵌入來編碼絕對位置信息(即詞序)。對于三維原子建模,分子的表示是旋轉(zhuǎn)平移不變的,因此需要相對位置信息。作者在每個幾何感知Transformer層中通過在自注意力計算中添加一個偏差來編碼相對位置信息: A i j = ( h i l W q ) ( h j l W k ) T d + b ( i , j ) A_{ij}=\frac{(h_{i}^{l}W_{q})(h_{j}^{l}W_{k})^{T}}{\sqrtn5n3t3z}+b(i,j) Aij?=d?(hil?Wq?)(hjl?Wk?)T?+b(i,j) a i j = e x p A i j ∑ k e x p A i k a_{ij}=\frac{expA_{ij}}{\sum_{k}expA_{ik}} aij?=∑k?expAik?expAij?? h i l + 1 = ∑ j ( h i l W v ) a i j h_{i}^{l+1}=\sum_{j}(h_{i}^{l}W_{v})a_{ij} hil+1?=j∑?(hil?Wv?)aij?其中, i , j , k i,j,k i,j,k可以表示一個節(jié)點或者一個邊, b ( i , j ) b(i,j) b(i,j)為作者提出的空間編碼。
特別的,如果 i , j i,j i,j都是原子,唯一的相對幾何信息就是原子之間的距離(圖1c),因此,作者使用RBF計算 b ( i , j ) b(i,j) b(i,j): b ( i , j ) = R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) b(i,j)=RBF(z_{i},z_{j},||r_{ij}||) b(i,j)=RBF(zi?,zj?,∣∣rij?∣∣)邊 ( i , j ) (i,j) (i,j)和節(jié)點 k k k來自三角形 i , j , k i,j,k i,j,k,相對幾何信息由兩條邊的長度 ∣ ∣ r i k ∣ ∣ ||r_{ik}|| ∣∣rik?∣∣和 ∣ ∣ r j k ∣ ∣ ||r_{jk}|| ∣∣rjk?∣∣以及轉(zhuǎn)角 ∠ i k j \angle ikj ∠ikj決定(圖1d)。 b ( i j , k ) b(ij,k) b(ij,k)為: b ( i j , k ) = R B F ( ∣ ∣ r i k ∣ ∣ ) + R B F ( ∣ ∣ r j k ∣ ∣ ) + R B F ( c o s ∠ i k j ) b(ij,k)=RBF(||r_{ik}||)+RBF(||r_{jk}||)+RBF(cos\angle ikj) b(ij,k)=RBF(∣∣rik?∣∣)+RBF(∣∣rjk?∣∣)+RBF(cos∠ikj)連接不同節(jié)點對的兩條邊 ( i , j ) (i, j) (i,j)和 ( k , l ) (k, l) (k,l)構(gòu)成一個四邊形,相對幾何信息由六條邊的長度決定,比如 ( i , j ) , ( i , k ) , ( i , l ) ( j , k ) , ( j , l ) , ( k , l ) (i, j), (i ,k),(i,l) (j, k), (j,l),(k, l) (i,j),(i,k),(i,l)(j,k),(j,l),(k,l)。邊 ( i , j ) (i,j) (i,j)和 ( k , l ) (k,l) (k,l)編碼為 h i j l h_{ij}^{l} hijl?和 h k l l h_{kl}^{l} hkll?。作者使用另外四條邊編碼 b ( i j , k l ) b(ij,kl) b(ij,kl)。此外,通過邊 ( i , j ) (i,j) (i,j)和 ( k , l ) (k,l) (k,l)的角度增強空間編碼(圖1e): b ( i j , k l ) = R B F ( ∣ ∣ r i k ∣ ∣ ) + R B F ( ∣ ∣ r j k ∣ ∣ ) + R B F ( ∣ ∣ r i l ∣ ∣ ) + R B F ( ∣ ∣ r j l ∣ ∣ ) + R B F ( c o s ( r i j , r k l ) ) b(ij,kl)=RBF(||r_{ik}||)+RBF(||r_{jk}||)+RBF(||r_{il}||)+RBF(||r_{jl}||)+RBF(cos(r_{ij},r_{kl})) b(ij,kl)=RBF(∣∣rik?∣∣)+RBF(∣∣rjk?∣∣)+RBF(∣∣ril?∣∣)+RBF(∣∣rjl?∣∣)+RBF(cos(rij?,rkl?))節(jié)點 h i h_i hi?和邊 h i j h_{ij} hij?的最終表示是通過重復將表示發(fā)送到Transformer層中獲得。該方法在不增加參數(shù)數(shù)量的情況下提高了模型的性能。
文章來源:http://www.zghlxwxcb.cn/news/detail-424530.html
- 圖1a:一個催化劑系統(tǒng)的例子,其中CH3是吸附質(zhì),表面由銅原子組成。Moleformer傾向于將吸附-吸附原子和吸附-表面原子之間的邊作為模型輸入。
- 圖1b:Moleformer架構(gòu):節(jié)點和所選邊作為輸入。
- 圖1c-e:分別展示了幾何感知空間編碼如何在Transformer中的節(jié)點-節(jié)點、邊緣-節(jié)點和邊緣-邊緣之間相互作用。虛線表示邊緣,黃色實線表示空間編碼中使用的幾何信息。
受到包括鍵作為分子系統(tǒng)能量因子的啟發(fā),不僅使用節(jié)點表示,還使用邊緣表示進行能量(或其他標量屬性)預測: y = ∑ i M L P ( h i ) + ∑ i j M L P ( h i j ) y=\sum_{i}MLP(h_{i})+\sum_{ij}MLP(h_{ij}) y=i∑?MLP(hi?)+ij∑?MLP(hij?)其中MLP是一個非線性的2層感知機。文章來源地址http://www.zghlxwxcb.cn/news/detail-424530.html
到了這里,關(guān)于幾何感知Transformer用于3D原子系統(tǒng)建模的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!