陳美霖,劉端陽,徐黎明,汪洋
1.中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100083
2.中國科學(xué)院大學(xué),北京 100049
3.中國科學(xué)院半導(dǎo)體研究所,北京 100083
由于材料領(lǐng)域的飛速發(fā)展,現(xiàn)如今已經(jīng)積累了大量的數(shù)據(jù)以及無數(shù)相關(guān)的問題有待解決[1]。相比傳統(tǒng)方法研究材料動(dòng)力學(xué)性質(zhì),急需一種高效快速的方法來解決這一難題。近年來,機(jī)器學(xué)習(xí)(Machine Learning, ML)在各個(gè)領(lǐng)域都發(fā)揮了重要的作用,因此,用機(jī)器學(xué)習(xí)的方法來解決現(xiàn)有的問題不失為一種不錯(cuò)的選擇。
在研究材料動(dòng)力學(xué)性質(zhì)的方法中,分子動(dòng)力學(xué)使用較為廣泛,它是以量子力學(xué)、經(jīng)典力學(xué)、統(tǒng)計(jì)力學(xué)為基礎(chǔ),通過牛頓力學(xué)來模擬分子系統(tǒng)的運(yùn)動(dòng)狀態(tài),并利用計(jì)算機(jī)數(shù)值求解運(yùn)動(dòng)方程的方法。傳統(tǒng)的分子動(dòng)力學(xué)計(jì)算速度快,能一定程度上反映材料的穩(wěn)定性,熱力學(xué)性質(zhì)等多種性質(zhì),但由于其使用的是較為簡(jiǎn)單的經(jīng)驗(yàn)力場(chǎng),計(jì)算精度有限;而從頭算分子動(dòng)力學(xué)(Ab initio molecular dynamics, AIMD)將分子動(dòng)力學(xué)與密度泛函理論(Density Functional Theory, DFT)相結(jié)合,將系統(tǒng)中的粒子劃分成原子和電子,原子的質(zhì)量大且運(yùn)動(dòng)速度較慢,可以用經(jīng)典力學(xué)來處理,而電子的質(zhì)量小且運(yùn)動(dòng)速度較快,可以用密度泛函理論來處理。該方法的提出可以很好地解決分子動(dòng)力學(xué)無法對(duì)化學(xué)鍵的斷裂描述的問題[2]。
AIMD 由于考慮了電子相互作用的細(xì)節(jié),并且使用量子力學(xué)方法對(duì)全體原子進(jìn)行了統(tǒng)一考慮,因此計(jì)算精度大大提高,但也因此計(jì)算代價(jià)高昂,往往只能應(yīng)用于數(shù)十個(gè)到數(shù)百個(gè)原子的小體系,且模擬時(shí)長(zhǎng)最多到納秒級(jí)[3-4]。對(duì)于體系較大的系統(tǒng),一般采用傳統(tǒng)經(jīng)驗(yàn)力場(chǎng)來建模,傳統(tǒng)的科學(xué)方法使用一些近似值求解,分析計(jì)算,并用更高水平的計(jì)算或?qū)嶒?yàn)的參考數(shù)據(jù)驗(yàn)證所獲得的結(jié)果。但是當(dāng)所研究的系統(tǒng)過于復(fù)雜,僅靠現(xiàn)有知識(shí)無法建立可靠的模型時(shí),這種方法并不是十分有效。并且力場(chǎng)往往在犧牲計(jì)算效率的條件下才能獲得較高的計(jì)算精度。
然而,一個(gè)精確力場(chǎng)的搭建十分耗時(shí),并且需要大量的專業(yè)知識(shí)和技術(shù)。而機(jī)器學(xué)習(xí)方法可以有效解決傳統(tǒng)方法無法解決的復(fù)雜問題[5],在一定程度上可以有效地平衡計(jì)算效率和計(jì)算精度之間的制約關(guān)系,并將AIMD 方法的計(jì)算精度和經(jīng)典力場(chǎng)的計(jì)算效率融合,使應(yīng)用于研究更大的分子系統(tǒng)體系成為可能[6]。
機(jī)器學(xué)習(xí)力場(chǎng)(Machine Learning Force Fields,MLFF)[7-11]是通過一些機(jī)器學(xué)習(xí)算法,采用生成的結(jié)構(gòu)特征作為輸入來進(jìn)行參數(shù)擬合。它通過從數(shù)據(jù)中的結(jié)構(gòu)或者模式中學(xué)習(xí)輸入和輸出之間的功能關(guān)系,而不依賴于先入為主的固有化學(xué)鍵的概念或關(guān)于相互作用的知識(shí)[12],從數(shù)據(jù)中學(xué)習(xí)訓(xùn)練[6]。該方法的提出可以有效地縮小與傳統(tǒng)力場(chǎng)方法的計(jì)算精度差距,同時(shí)可以提高計(jì)算效率,減少人工干預(yù)。在理想狀況下,經(jīng)過訓(xùn)練的模型可以反映出量子力學(xué)潛在的有效規(guī)則。因此, 使用AIMD 的結(jié)果數(shù)據(jù)作為訓(xùn)練集,使用機(jī)器學(xué)習(xí)力場(chǎng)方法訓(xùn)練得到的力場(chǎng),有望在接近AIMD 的精度情況下獲得接近甚至超過傳統(tǒng)力場(chǎng)的計(jì)算效率[13-14]。目前,實(shí)現(xiàn)機(jī)器學(xué)習(xí)力場(chǎng)模型的較多,如深度神經(jīng)網(wǎng)絡(luò)[15]等,深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)通常需要大量的數(shù)據(jù),在自然科學(xué)中收集這樣的數(shù)據(jù)集往往是不可能的,因?yàn)槊總€(gè)訓(xùn)練點(diǎn)都是計(jì)算成本高昂的從頭算或其他實(shí)驗(yàn)測(cè)量得來的。因此,機(jī)器學(xué)習(xí)力場(chǎng)模型的數(shù)據(jù)效率成為一個(gè)關(guān)鍵因素。這也是機(jī)器學(xué)習(xí)力場(chǎng)模型建立的初衷,即將基本物理定律或知識(shí)直接實(shí)現(xiàn)到機(jī)器學(xué)習(xí)模型的體系結(jié)構(gòu)中。與傳統(tǒng)機(jī)器學(xué)習(xí)方法相比,當(dāng)使用有限的參考數(shù)據(jù)集時(shí),此類模型可以表現(xiàn)出優(yōu)越的性能。此外,基于知識(shí)的機(jī)器學(xué)習(xí)力場(chǎng)模型可以深入了解復(fù)雜的原子間相互作用[16-17]。本文將在第1 節(jié)對(duì)材料機(jī)器學(xué)習(xí)的基礎(chǔ)理論知識(shí)進(jìn)行簡(jiǎn)單的講解;并在第2 節(jié)對(duì)使用較為廣泛的機(jī)器學(xué)習(xí)力場(chǎng)模型進(jìn)行介紹,探索方法的可行性和有效性;最后在第3 節(jié)進(jìn)行總結(jié)和分析。
在半導(dǎo)體領(lǐng)域,一般用薛定諤方程(Schr?dinger Equation, SE)來描述原子核和電子的相互作用。但SE 只能對(duì)極其簡(jiǎn)單的體系進(jìn)行求解,如氫原子等。在求解復(fù)雜的體系時(shí),隨著系統(tǒng)復(fù)雜度的增加,計(jì)算成本也隨之飛快增加,與此同時(shí),無法很好地平衡計(jì)算成本和計(jì)算精度之間的關(guān)系。因此,用SE 來求解復(fù)雜體系存在較大困難。玻恩–奧本海默近似(Born-Oppenheimer approximation, BO 近似)的提出可以很好地改善這個(gè)現(xiàn)象,BO 近似將電子的運(yùn)動(dòng)和原子核的運(yùn)動(dòng)分開,因原子核質(zhì)量比電子質(zhì)量大幾個(gè)量級(jí),可幾乎認(rèn)定為是靜止的,從而可以忽略掉原子核的運(yùn)動(dòng)。因此,可將體系簡(jiǎn)化為電子的薛定諤方程來求解,即電子的能量取決于核外的電勢(shì),而電勢(shì)又由電子的位置和核電荷數(shù)決定。通過將原子核和電子的庫侖斥力相加,即可得到系統(tǒng)的總勢(shì)能[6]。
在BO 近似下,系統(tǒng)的能量是原子核位置的函數(shù),即一個(gè)分子幾何結(jié)構(gòu)映射出一個(gè)體系能量值,不同原子位置的能量一起構(gòu)成了勢(shì)能面(Potential Energy Surface, PES)。一個(gè)封閉的系統(tǒng)需要滿足能量守恒定律。在分子體系中,能量由動(dòng)能和勢(shì)能構(gòu)成。因此,力一定是勢(shì)能相對(duì)于原子位置的負(fù)梯度。這樣可以保證當(dāng)原子運(yùn)動(dòng)時(shí),原子們總是能夠獲得與損失的勢(shì)能相同的動(dòng)能[6]。
雖然BO 近似在一定程度上簡(jiǎn)化了SE 方程的求解,但近似下的計(jì)算仍具有較大的困難。因此,想要得出分子動(dòng)力學(xué)模擬的每個(gè)時(shí)間步下的能量和力仍是比較困難的[19]。而力場(chǎng)的提出可以在一定程度上避開方程求解的問題。從而將問題的難點(diǎn)從方程求解轉(zhuǎn)換到尋找合適的力場(chǎng)以及力場(chǎng)參數(shù)化上來。而機(jī)器學(xué)習(xí)方法可以將這種困難通過從數(shù)據(jù)中學(xué)習(xí)自動(dòng)化實(shí)現(xiàn),將先驗(yàn)知識(shí)融合到更為復(fù)雜的模型的構(gòu)建中[20],從而簡(jiǎn)化了力場(chǎng)的構(gòu)建過程。本文將在1.1 與1.2 節(jié)概述機(jī)器學(xué)習(xí)中兩種方法,基于內(nèi)核的方法以及神經(jīng)網(wǎng)絡(luò)(Neural Network, NN)方法。
核函數(shù)方法起源于非線性支持向量機(jī)模型(Support Vector Mmachines, SVM)。在核方法中,內(nèi)核是核心,它將原始空間中的向量作為輸入向量,返回特征空間中向量的點(diǎn)積函數(shù),即將輸入空間映射到高維特征空間。新的特征空間具備更強(qiáng)的表達(dá)能力以及在原始特征空間中的非線性擬合效果[1],它將原始空間中的非線性擬合轉(zhuǎn)換為新特征空間中的線性擬合。使用核函數(shù),不需要顯式地將數(shù)據(jù)嵌入到空間中來,這樣可以有效地簡(jiǎn)化復(fù)雜的計(jì)算。但核函數(shù)對(duì)于較大的數(shù)據(jù)集并不十分受用,因?yàn)闊o法存儲(chǔ)整個(gè)核矩陣,因此可能需要重新計(jì)算核函數(shù)。基于內(nèi)核的方法不需要知道特征空間以及轉(zhuǎn)換函數(shù),同時(shí)使在高維特征空間中以低計(jì)算成本獲取線性關(guān)系成為可能。
可以看出,機(jī)器學(xué)習(xí)模型的性能高低與核函數(shù)的選取息息相關(guān)。因此,選擇一個(gè)合適的核函數(shù)對(duì)于機(jī)器學(xué)習(xí)方法具有十分重要的意義。
神經(jīng)網(wǎng)絡(luò)是通過模擬生物神經(jīng)元相互傳遞信號(hào)的方式,由許多相互連接的處理單元組成的非線性自適應(yīng)信息處理系統(tǒng)[21],旨在對(duì)神經(jīng)元形成的復(fù)雜網(wǎng)絡(luò)建模[6],從而達(dá)到學(xué)習(xí)經(jīng)驗(yàn)的目的。在數(shù)據(jù)選擇上,神經(jīng)網(wǎng)絡(luò)通常需要較多的訓(xùn)練數(shù)據(jù)才能達(dá)到較為理想的計(jì)算精度,但同時(shí),它們也可以更好地應(yīng)用于較大的數(shù)據(jù)集中。神經(jīng)網(wǎng)絡(luò)可以通過對(duì)輸入數(shù)據(jù)進(jìn)行高維特征映射,轉(zhuǎn)換成特征描述符(descriptor,desc),從而通過特征描述符作為輸入來進(jìn)行參數(shù)的擬合[22],學(xué)習(xí)構(gòu)建出力場(chǎng)[19]。
在神經(jīng)網(wǎng)絡(luò)中,輸入層和輸出層的節(jié)點(diǎn)數(shù)量比較容易確定。輸入層的神經(jīng)元數(shù)量等于數(shù)據(jù)中輸入變量的數(shù)量,輸出層神經(jīng)元的數(shù)量與每個(gè)輸入關(guān)聯(lián)的輸出的數(shù)量相同。往往困難之處在于確定合適的隱藏層數(shù)量以及其節(jié)點(diǎn)數(shù)量。隱藏層的層數(shù)不同,網(wǎng)絡(luò)模型實(shí)現(xiàn)的功能也并不相同。
神經(jīng)網(wǎng)絡(luò)至少具備一個(gè)隱藏層,可以對(duì)非線性的復(fù)雜模型系統(tǒng)進(jìn)行建模,多出來的隱藏層可以為模型提供更高的抽象水平,從而提高模型的能力。當(dāng)數(shù)據(jù)流經(jīng)網(wǎng)絡(luò)時(shí),輸入層的第i個(gè)神經(jīng)元將輸入數(shù)據(jù)乘以權(quán)重Wij,并將其輸出到下一層的第j個(gè)神經(jīng)元。神經(jīng)元之間的權(quán)重反映了網(wǎng)絡(luò)的連接強(qiáng)度,神經(jīng)網(wǎng)絡(luò)可以通過調(diào)整權(quán)重來提高整個(gè)模型的性能[23]。因此,神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的表達(dá)能力,只要有足夠的深度和寬度,神經(jīng)網(wǎng)絡(luò)可以以任何精度來逼近所有函數(shù)。圖1 是一個(gè)多層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖。
目前,用于構(gòu)建機(jī)器學(xué)習(xí)力場(chǎng)的模型非常多,如GAP[7]、DPMD[10]、HDNN[9]、PhysNet[8]、ANI[24-26]等。在分子動(dòng)力學(xué)模擬中,機(jī)器學(xué)習(xí)力場(chǎng)模型可以分為以能量為中心和以力為中心的模型[27]。以能量為中心的模型通過學(xué)習(xí)勢(shì)能面,并計(jì)算勢(shì)能面的導(dǎo)數(shù)得到力[28]。如梯度域機(jī)器學(xué)習(xí)(Gradient-Domain Machine Learning, GDML)[28]、對(duì)稱梯度域機(jī)器學(xué)習(xí)(Symmetrized Gradient-Domain Machine Learning,sGDML)[29]通過學(xué)習(xí)能量和力之間的梯度函數(shù)來簡(jiǎn)化能量和力的表達(dá)形式。另外一種以能量為中心的模型如DimeNet[30]、DimeNet++[31]、SchNet[32]采用圖神經(jīng)網(wǎng)絡(luò)的方法,實(shí)現(xiàn)對(duì)能量的平滑預(yù)測(cè)[33]。
物質(zhì)運(yùn)動(dòng)具有能量,一般用場(chǎng)來描述物體的運(yùn)動(dòng)狀態(tài)。而力場(chǎng)用來估計(jì)分子內(nèi)原子之間以及分子之間的力。力場(chǎng)是原子間勢(shì),可以使用能量來描述場(chǎng)。因?yàn)榱?shí)際上可以認(rèn)為是能量的負(fù)梯度。
其中,F(xiàn)i表示作用在每個(gè)原子上的力;E為體系內(nèi)的能量;ri表示原子i的笛卡爾坐標(biāo)向量。
力是矢量,在空間中的每個(gè)原子位置需要用笛卡爾坐標(biāo)系來描述,而能量是標(biāo)量,對(duì)空間中的每個(gè)點(diǎn)只需要用一個(gè)值來描述。因此與使用力來描述場(chǎng)比起來,用能量來描述力場(chǎng)更為簡(jiǎn)單。
力場(chǎng)建立了原子坐標(biāo)和系統(tǒng)相應(yīng)總能量之間的映射[34]。傳統(tǒng)力場(chǎng)是基于晶體結(jié)構(gòu)鍵長(zhǎng)和鍵角來擬合參數(shù)的。與經(jīng)典力場(chǎng)相比,機(jī)器學(xué)習(xí)力場(chǎng)可以不利用先入為主的理論知識(shí),不對(duì)經(jīng)驗(yàn)函數(shù)進(jìn)行參數(shù)化表示,而是通過現(xiàn)有數(shù)據(jù)來學(xué)習(xí)原子的能量及其他特征,作為其函數(shù)表示,來代替經(jīng)典力場(chǎng)[19]。該系統(tǒng)中的能量為系統(tǒng)中所有原子能量的總和。
其中,E為體系內(nèi)總能量;R為原子位置。從上述方程也可以看出作用在原子上的力與距離較遠(yuǎn)的原子的種類和位置并沒有很強(qiáng)的相關(guān)性。因此,機(jī)器學(xué)習(xí)力場(chǎng)模型可以依托系統(tǒng)內(nèi)總能量來推測(cè)特征與原子能量之間的關(guān)系[35]。
另外一種是在以力為中心的模型,在該模型中,力是通過網(wǎng)絡(luò)模型來直接預(yù)測(cè)的,然后與實(shí)際的力進(jìn)行比較。同時(shí),加入了殘差連接,改善隨著網(wǎng)絡(luò)深度的增加而帶來的梯度消失、梯度爆炸等問題[24]。使用力為中心的模型可以有效減少在以能量為中心的模型中計(jì)算力所需的額外花銷,從而提高計(jì)算效率[36]。
因?yàn)槟芰渴菢?biāo)量,而力為有3 個(gè)方向的矢量,所以目前以能量為中心開發(fā)的機(jī)器學(xué)習(xí)力場(chǎng)模型居多,而通過以力為中心的模型來計(jì)算能量,需要考慮到各個(gè)方向上的力的作用,具有一定的復(fù)雜性。
本文將在2.1 至2.3 小節(jié)介紹幾種機(jī)器學(xué)習(xí)力場(chǎng)中比較常見的模型方法,如sGDML、 SchNet、Force-Net 等,方便讀者對(duì)MLFF 有一個(gè)較為清晰的認(rèn)識(shí)。
GDML[37]采用核方法構(gòu)建了一個(gè)可以節(jié)約能源的力場(chǎng),可以減少能耗、增加效率和降低成本,避免因噪聲放大導(dǎo)致導(dǎo)數(shù)需要應(yīng)用于參數(shù)化勢(shì)能模型中的問題[1]。該模型通過將物理定理與數(shù)據(jù)自驅(qū)動(dòng)方式的機(jī)器學(xué)習(xí)技術(shù)相結(jié)合,可以實(shí)現(xiàn)對(duì)復(fù)雜的多維勢(shì)能面的構(gòu)建。sGDML 模型作為GDML 的對(duì)稱變體,在GDML 模型的基礎(chǔ)上加入了所有相關(guān)的物理對(duì)稱性[29],因此可以更為精準(zhǔn)地對(duì)力場(chǎng)進(jìn)行從頭算分子動(dòng)力學(xué)模擬[12]。
許多物理系統(tǒng)對(duì)于某種變換是不變的,這種不變性一般稱為對(duì)稱性。分子系統(tǒng)的物理對(duì)稱性大致分為時(shí)間對(duì)稱性、空間對(duì)稱性以及對(duì)給定分子的特定的動(dòng)態(tài)和靜態(tài)對(duì)稱性。時(shí)間對(duì)稱性一般指的是能量守恒定律。封閉系統(tǒng)中的能量既不會(huì)憑空產(chǎn)生,當(dāng)然也不會(huì)憑空消失,它只會(huì)從一種形式轉(zhuǎn)換成另外一種形式,而總能量始終保持不變。原子是運(yùn)動(dòng)的,運(yùn)動(dòng)過程中會(huì)將損失掉的勢(shì)能轉(zhuǎn)化為動(dòng)能,以保持總能量不變,在時(shí)間上表現(xiàn)為封閉系統(tǒng)的能量守恒??臻g對(duì)稱性包括能量的旋轉(zhuǎn)不變性和平移不變性??臻g的旋轉(zhuǎn)不變性直觀上來講就是空間沒有特殊的方向,可以說該空間是各向同性的。如果將分子系統(tǒng)沿空間某方向平移任意位移后,它的物理規(guī)律完全相同,那么該系統(tǒng)具有空間上的平移不變性。這些對(duì)稱性在GDML 模型中已經(jīng)充分體現(xiàn)[28]。另外,分子具有剛性空間群對(duì)稱性,也就是物理上的反射現(xiàn)象;同時(shí)還具有動(dòng)態(tài)的非剛性對(duì)稱性,如甲基的旋轉(zhuǎn)等[3]。由于考慮了這些對(duì)稱性[38],可以通過用分子的對(duì)稱變換來擴(kuò)充數(shù)據(jù)集,以便訓(xùn)練出性能更優(yōu)的模型,對(duì)原子的能量和力進(jìn)行準(zhǔn)確預(yù)測(cè)。該模型相較于GDML 模型的優(yōu)勢(shì)與系統(tǒng)中的對(duì)稱性數(shù)量有直接關(guān)系,對(duì)于對(duì)稱性較高的系統(tǒng)而言,sGDML模型的性能提升較大,而沒有對(duì)稱性的體系,其在性能提升上并無變化。
sGDML 已在MD17、MD22、CCSD 等公開數(shù)據(jù)集上廣泛應(yīng)用并表現(xiàn)出良好的性能。表1 將通過GDML 和sGDML 兩種方法在MD17 數(shù)據(jù)集的表現(xiàn)對(duì)比,分析其在1,000 個(gè)訓(xùn)練樣本上對(duì)力和能量的預(yù)測(cè)能力,其中力的測(cè)試誤差以kcal mol–1(?–1)為單位,能量的測(cè)試誤差以kcal mol–1為單位。由表可知,sGDML 在苯、乙醇等具有對(duì)稱性的分子上,其預(yù)測(cè)性能有顯著提高,但在尿嘧啶等非對(duì)稱性分子上,sGDML 相較于GDML 的性能并沒有提升[3,28]。
表1 GDML 和sGDML 的預(yù)測(cè)性能Table 1 Comparison of GDML and sGDML
sGDML 模型在分子動(dòng)力學(xué)模擬中已經(jīng)展現(xiàn)出較強(qiáng)的優(yōu)勢(shì),其全局性雖然可以提高預(yù)測(cè)精度,但這一特征也限制了它的可轉(zhuǎn)移性。對(duì)于一個(gè)分子體系的模型不能用來推測(cè)另外一個(gè)不同分子體系的能量和力[29]。因此,sGDML 模型的適用性以及擴(kuò)展到更大的分子體系方面的能力仍有待提高。
機(jī)器學(xué)習(xí)模型中比較常見的一個(gè)子類就是原子神經(jīng)網(wǎng)絡(luò),該模型具有不同的體系結(jié)構(gòu),但大致可以分為兩類:基于描述符的模型[39],將原子的屬性作為輸入;以及直接從原子類型和位置學(xué)習(xí)表示的端到端的結(jié)構(gòu)[40]。
SchNet 是一種基于連續(xù)濾波器卷積的端到端的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[41],旨在對(duì)原子系統(tǒng)進(jìn)行建模,學(xué)習(xí)分子能量與原子力預(yù)測(cè)的表示,反映了基本的物理規(guī)律,如原子指標(biāo)和平移不變性以及關(guān)于原子位置的平滑能量預(yù)測(cè)和能量守恒等。SchNet 作為深度神經(jīng)網(wǎng)絡(luò),具有多層網(wǎng)絡(luò)結(jié)構(gòu),當(dāng)原子表示通過網(wǎng)絡(luò)時(shí),這些網(wǎng)絡(luò)層會(huì)對(duì)它們進(jìn)行轉(zhuǎn)化,同時(shí)處理在上一層合并的高維原子信息[42]。SchNet 通過對(duì)每個(gè)原子更新以及每個(gè)原子能量的池化過程,最后得到對(duì)力的預(yù)測(cè)結(jié)果。由于SchNet 實(shí)現(xiàn)了旋轉(zhuǎn)不變的能量預(yù)測(cè),因此預(yù)測(cè)得到的力在結(jié)構(gòu)上是旋轉(zhuǎn)等變的[39]。為了確保旋轉(zhuǎn)不變性,SchNet 的連續(xù)濾波器只使用了原子距離作為輸入特征,而在消息傳遞過程中丟失了角度信息。因此,原子類型的變化可能會(huì)導(dǎo)致原子之間的相互作用力有明顯差異[24]。
SchNet 已在QM9、MD17、ANI1 等公開數(shù)據(jù)集廣泛應(yīng)用。表2 展示了SchNet 在MD17 數(shù)據(jù)集的表現(xiàn),并與sGDML 作比較,本數(shù)據(jù)選取1,000 個(gè)訓(xùn)練樣本并對(duì)力和能量訓(xùn)練并預(yù)測(cè),其中力的測(cè)試誤差以kcal mol-1 (?-1)為單位,能量的測(cè)試誤差以kcal mol-1 為單位。由表可知,SchNet 可以表現(xiàn)出較好的性能,但大體上略遜色于sGDML[3,42]。
表2 SchNet 和sGDML 的預(yù)測(cè)性能Table 2 Comparison of SchNet and sGDML
SchNet 可擴(kuò)展性較強(qiáng),具備高效計(jì)算的能力,但只使用原子距離以確保對(duì)能量預(yù)測(cè)的旋轉(zhuǎn)不變性,無法很好地捕捉到3D 結(jié)構(gòu),泛化性能有待提高。
ForceNet 是一個(gè)以力為中心的模型,它遵循基于圖網(wǎng)絡(luò)的模擬器(Graph Network-based Simulators,GNS)框架,通過使用物理意義上的大規(guī)模增強(qiáng)數(shù)據(jù)集來預(yù)測(cè)力[36]。ForceNet 沒有在模型體系中施加顯式的物理約束,可以捕捉到完整的3D 原子位置。因此,F(xiàn)orceNet 預(yù)測(cè)的力是平移不變的,但不具備旋轉(zhuǎn)不變性[24]。ForceNet 的輸入是原子的結(jié)構(gòu),即一組原子的3D 空間位置,輸出是每個(gè)原子的3D 矢量,用來表示預(yù)測(cè)的(x,y,z)3 個(gè)方向上的力。ForceNet將原子表示為圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Networks,GNN)[43]中的節(jié)點(diǎn),將原子之間的相互作用表現(xiàn)為GNN 中的邊,節(jié)點(diǎn)輸入特征包括原子序數(shù)以及其他重要屬性[44]。該模型使用較為基礎(chǔ)的函數(shù)以及非線性激活函數(shù)Swish 來進(jìn)行消息傳遞,從相鄰節(jié)點(diǎn)傳遞的消息迭代更新節(jié)點(diǎn)。ForceNet 遵循GNS 框架的編碼器-解碼器架構(gòu),編碼器使用迭代消息傳遞來獲取每個(gè)原子周圍的3D 結(jié)構(gòu);解碼器使用多層感知器(Multilayer Perceptron, MLP)直接預(yù)測(cè)每個(gè)原子的力,它能有效地捕捉到非線性的復(fù)雜3D 原子間的相互作用[24]。目前,F(xiàn)oceNet 已應(yīng)用于OC20 數(shù)據(jù)集[24]。ForceNet 在訓(xùn)練以及預(yù)測(cè)過程速度都比較快,同時(shí)也可以實(shí)現(xiàn)對(duì)力的精準(zhǔn)預(yù)測(cè),但其以力為中心對(duì)力場(chǎng)建模的復(fù)雜性仍有待完善。
本文重點(diǎn)關(guān)注機(jī)器學(xué)習(xí)在構(gòu)建力場(chǎng)中的應(yīng)用,介紹了機(jī)器學(xué)習(xí)力場(chǎng)的發(fā)展背景以及重大進(jìn)展,講述了幾種機(jī)器學(xué)習(xí)力場(chǎng)中比較常見的模型方法,如基于核函數(shù)的sGDML 模型,以及基于神經(jīng)網(wǎng)絡(luò)的SchNet 模型和ForceNet 模型,方便讀者對(duì)該領(lǐng)域有一個(gè)清楚的認(rèn)識(shí)。就目前數(shù)據(jù)而言,sGDML 加入了相關(guān)的物理對(duì)稱性的考量,表現(xiàn)出更加優(yōu)異的性能。與傳統(tǒng)力場(chǎng)方法相比,機(jī)器學(xué)習(xí)方法的引入很大程度上降低了時(shí)間消耗和昂貴的成本。隨著半導(dǎo)體領(lǐng)域數(shù)據(jù)量的增多,要解決的問題也接踵而來,隨著機(jī)器學(xué)習(xí)力場(chǎng)這一跨學(xué)科領(lǐng)域的蓬勃發(fā)展,它在該領(lǐng)域?qū)?huì)起著重要的作用。機(jī)器學(xué)習(xí)力場(chǎng)可以簡(jiǎn)化力場(chǎng)生成過程,減少人工干預(yù),逐步代替經(jīng)典力場(chǎng)來實(shí)現(xiàn)高水平的分子動(dòng)力學(xué)模擬。
從機(jī)器學(xué)習(xí)力場(chǎng)在分子動(dòng)力學(xué)模擬中的應(yīng)用[45]已經(jīng)可以看出其發(fā)展不可限量,不僅如此,MLFF 在生物領(lǐng)域[46]、材料領(lǐng)域[47-50]、化學(xué)領(lǐng)域[51]同樣有著廣泛的應(yīng)用,但其仍存在著許多問題等著人們?nèi)ヌ魬?zhàn)。如:
(1)對(duì)于比較復(fù)雜的分子動(dòng)力學(xué)模擬系統(tǒng),簡(jiǎn)單的特征描述符無法很好地展現(xiàn)其性能,因此MLFF會(huì)對(duì)原子特征描述符的構(gòu)建有著更高的要求;
(2)目前MLFF 的主要應(yīng)用對(duì)象仍不是特別大的分子體系;對(duì)于特大分子體系,MLFF 由于計(jì)算成本、精度等限制并未展現(xiàn)出較好的性能;
(3)通過MLFF 生成的針對(duì)某一種分子體系的力場(chǎng)并不適用于另外的一種不同分子的體系,其通用性有待提高。
機(jī)器學(xué)習(xí)力場(chǎng)是一個(gè)新興的領(lǐng)域,仍有很多未知的可能等待人們?nèi)ヌ剿鳌R虼?,本文認(rèn)為未來可以從以下幾個(gè)方面進(jìn)行優(yōu)化:
(1)通過降低復(fù)雜勢(shì)能面的維度或者通過增強(qiáng)物理先驗(yàn)知識(shí)來降低計(jì)算復(fù)雜度,使MLFF 應(yīng)用在特大分子體系成為可能,提高M(jìn)LFF 在特大分子體系上的性能;
(2)優(yōu)化模型性能,在保證精度的前提下,盡可能降低計(jì)算成本,將機(jī)器學(xué)習(xí)力場(chǎng)模型與更復(fù)雜的模型系統(tǒng)結(jié)合,并對(duì)其實(shí)現(xiàn)精準(zhǔn)預(yù)測(cè);
(3)提高模型的可擴(kuò)展性和泛化性,增加先驗(yàn)知識(shí)的干預(yù),改善特定MLFF 模型只對(duì)某特定領(lǐng)域最優(yōu)的現(xiàn)象,將機(jī)器學(xué)習(xí)力場(chǎng)擴(kuò)展到更廣泛的領(lǐng)域。
總之,機(jī)器學(xué)習(xí)力場(chǎng)是一個(gè)有深遠(yuǎn)研究意義的領(lǐng)域,仍有很多未知的方法和應(yīng)用,并且對(duì)于理論、算法以及實(shí)踐的改進(jìn)空間都比較大。鑒于MLFF 這一跨學(xué)科領(lǐng)域的成功,相信MLFF 在未來一定會(huì)成為眾多領(lǐng)域的重要組成部分。
利益沖突說明
所有作者聲明不存在利益沖突關(guān)系。