劉志威,王宗國,郭佳龍,王彥棡
1(中國科學(xué)院 計算機(jī)網(wǎng)絡(luò)信息中心,北京 100190)
2(中國科學(xué)院大學(xué),北京 100049)
晶體結(jié)構(gòu)搜索主要是產(chǎn)生新結(jié)構(gòu),基于能量最低原理篩選優(yōu)質(zhì)結(jié)構(gòu)的過程.當(dāng)前確定晶體結(jié)構(gòu)能量有兩種主要計算方法,分子動力學(xué)[1]和密度泛函理論方法[2].前者代表軟件如Lammps 等,后者代表軟件如VASP[3,4]和CASTEP[5]等.目前,國內(nèi)外已經(jīng)報道了一些通過不同結(jié)構(gòu)搜索算法,結(jié)合預(yù)測結(jié)構(gòu)能量的分子動力學(xué)或密度泛函理論等方法的晶體結(jié)構(gòu)預(yù)測軟件.如基于隨機(jī)搜索算法結(jié)合密度泛函理論的AIRSS[6]軟件,基于粒子群搜索算法結(jié)合密度泛函理論的CALYPSO[7],基于雜化算法結(jié)合密度泛函理論的XtalOpt[8]軟件,基于遺傳搜索算法結(jié)合分子動力學(xué)或密度泛函理論的USPEX[9]軟件,以及基于遺傳算法同時結(jié)合了密度泛函理論和分子動力學(xué)的自適應(yīng)遺傳算法(Adaptive Genetic Algorithm,AGA)晶體結(jié)構(gòu)預(yù)測軟件[10].這些軟件都是基于第一性原理或者分子動力學(xué)方法獲取結(jié)構(gòu)基態(tài)能量,基于分子動力學(xué)方法,計算速度快,但是精度低.而基于密度泛函理論方法計算精度高,但是計算時間長,尤其是隨著晶體結(jié)構(gòu)復(fù)雜度的上升,其計算時間呈指數(shù)增長.尋找一種既可以保證計算精度,又可以降低計算成本的材料研究方法成為迫切需要解決的問題.
隨著高性能計算和深度學(xué)習(xí)的發(fā)展,機(jī)器學(xué)習(xí)在材料科學(xué)中越來越多的被使用,可以準(zhǔn)確預(yù)測材料的性能,不斷縮小材料科學(xué)與計算科學(xué)之間的差距.哥倫比亞大學(xué)的Nongnuch Artrith 研究組利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練原子勢函數(shù),用于快速預(yù)測結(jié)構(gòu)能量,并開發(fā)了原子能網(wǎng)絡(luò)軟件包(Atomic Energy Network,AENet)[11].普林斯頓大學(xué)Weinan 課題組利用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練用于分子動力學(xué)計算的多體勢函數(shù)[12-14],所訓(xùn)練的相互作用勢可以直接用于Lammps 軟件使用,目前該方法已經(jīng)封裝為軟件包DeePMD-kit.中國科學(xué)院計算機(jī)網(wǎng)絡(luò)信息中心劉學(xué)源等提出了用于結(jié)構(gòu)預(yù)測的機(jī)器學(xué)習(xí)框架[15,16].德克薩斯大學(xué)奧斯汀分校的You 等提出了多種機(jī)器學(xué)習(xí)算法來預(yù)測透明導(dǎo)體的生成焓和能帶間隙,采用的機(jī)器學(xué)習(xí)算法如最小二乘法、逐步回歸法,還有基于樹的模型(隨機(jī)森林模型和梯度提升模型)[17].日本東京大學(xué)的Ryo Yoshida 課題組為了促進(jìn)遷移學(xué)習(xí)的應(yīng)用,開發(fā)了一個XenonPy.MDL的預(yù)訓(xùn)練模型庫,這些預(yù)訓(xùn)練模型捕獲了材料的公共特性.克服了材料數(shù)據(jù)集數(shù)量有限的問題,可以通過預(yù)先訓(xùn)練好的模型,利用有限的訓(xùn)練數(shù)據(jù)來預(yù)測相關(guān)材料目標(biāo)屬性[18].西澳大利亞大學(xué)的James P.Doherty 等課題組使用一種快速監(jiān)督機(jī)器學(xué)習(xí)算法代替第一性原理計算預(yù)測材料彈性模量,快速篩選新能量,這種算法結(jié)合了線性回歸、神經(jīng)網(wǎng)絡(luò)以及隨機(jī)森林回歸[19].南京郵電大學(xué)的李斌課題組等構(gòu)建了深度神經(jīng)網(wǎng)絡(luò)模型,通過學(xué)習(xí)開放量子材料數(shù)據(jù)(OQMD)中的生成焓參數(shù)訓(xùn)練模型,并運(yùn)用模型預(yù)測未知材料的生成焓進(jìn)行預(yù)測,達(dá)到量子力學(xué)軟件的精度[20].Lu 等通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,從儀器壓痕中提取金屬和合金的彈性特征,作者建立了單縮進(jìn)、雙縮進(jìn)和多重縮進(jìn)求解逆問題的算法,并提出幾種multifidelity 方法求解逆壓痕問題[21].
綜合考慮計算的準(zhǔn)確性和時效性,借助深度學(xué)習(xí)框架,基于密度泛函理論計算數(shù)據(jù)集,在結(jié)構(gòu)預(yù)測過程中利用深度神經(jīng)網(wǎng)絡(luò)構(gòu)建材料結(jié)構(gòu)與能量之間的構(gòu)效關(guān)系模型,加快結(jié)構(gòu)能量的預(yù)測,并將該方法嵌入結(jié)構(gòu)預(yù)測軟件使用.
神經(jīng)網(wǎng)絡(luò)通常包含一個輸入層,一個輸出層以及若干隱藏層,輸入層只接收輸入信息,通常為數(shù)據(jù)樣本的特征向量,經(jīng)過隱藏分層和輸出層的處理,由輸出層輸出結(jié)果.隱藏層的層數(shù)和節(jié)點(diǎn)數(shù)可以根據(jù)實際情況進(jìn)行調(diào)整.神經(jīng)網(wǎng)絡(luò)能夠通過學(xué)習(xí)得到輸入與輸出的映射關(guān)系,整個訓(xùn)練過程就是不斷更新權(quán)重以及偏置值,使得模型預(yù)測越來越準(zhǔn)確.通常每個層之間可以加入激活函數(shù)引入非線性因素.圖1為典型的單隱藏層神經(jīng)網(wǎng)絡(luò).
前向傳播過程:
其中,σ為激活函數(shù),可以看出每個神經(jīng)元的值由上一層的神經(jīng)元的值與連接權(quán)重、偏置值以及激活函數(shù)共同決定.
反向傳播算法(Back-Propagation,BP)[22,23]是神經(jīng)網(wǎng)絡(luò)中更新參數(shù)最經(jīng)典的方法,其代碼邏輯如算法1.
?
2.2.1 激活函數(shù)
在人工神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)用于表示上層神經(jīng)元輸出與下層輸入的非線性映射函數(shù),其主要作用就是增強(qiáng)神經(jīng)網(wǎng)絡(luò)的非線性建模能力.如無特殊說明激活函數(shù)一般是非線性函數(shù).如果不用激活函數(shù),每一層的輸出都是上一層輸入的線性函數(shù),無論神經(jīng)網(wǎng)絡(luò)有多少層,最終的輸出都是初始輸入的線性變換,無法擬合現(xiàn)實中很多非線性問題.引入激活函數(shù)后,使得神經(jīng)網(wǎng)絡(luò)可以逼近任何非線性函數(shù),理論上可以擬合任意分布的數(shù)據(jù).常用的激活函數(shù)有Sigmoid 函數(shù)[24]、tanh 函數(shù)、Rectified Linear Unit (ReLU)函數(shù)[25,26]、ELU 函數(shù)[27]、和Parametric Rectified Linear Unit(PReLU) 函數(shù)[28].圖2展示了這幾種激活函數(shù)的圖像.
2.2.2 優(yōu)化算法
權(quán)值更新算法是深度學(xué)習(xí)模型訓(xùn)練中相當(dāng)重要的一個模塊,其決定參數(shù)更新的方向與速度,好的權(quán)值更新算法和適當(dāng)?shù)膬?yōu)化參數(shù)能使模型更快更準(zhǔn)地收斂.PyTorch 包含一系列權(quán)值更新算法,其接口通用性好,也方便集成更加復(fù)雜的算法.PyTorch 內(nèi)集成SGD[29]、Adadelta[30]、Adagrad[31]、Root Mean Square Prop(RMSprop)[32],Adaptive Moment Estimation (Adam)[33]、Averaged Stochastic Gradient Descent (ASGD)[34]、Rprop[35]、LBFGS[36]等十余種權(quán)值更新算法.
學(xué)習(xí)率和BATCH_Size是深度學(xué)習(xí)中重要的超參數(shù).若學(xué)習(xí)率設(shè)置過小,則收斂非常慢,若設(shè)置過大,則梯度會在最小值附近來回震蕩.BATCH_Size的選擇決定了梯度下降的方向,BATCH_Size 選擇過小,隨機(jī)性會加大,多數(shù)情況難以收斂.所以在實踐中,人們會選擇較大的BATCH_Size,較大的BATCH_Size 可以減小訓(xùn)練時間,提高內(nèi)存利用率,梯度下降方向較為準(zhǔn)確,不容易引起震蕩;但是,盲目增大BATCH_Size 也會導(dǎo)致如內(nèi)存不夠、模型的泛化能力下降[37]、收斂到sharp minimum[38]、迭代的次數(shù)增大等一系列問題.
3.1.1 主流程
晶體結(jié)構(gòu)預(yù)測主流程如圖3所示,分為3 個主要模塊,遺傳算法(Genetic Algorithm,GA)、密度泛函理論(Density Functional Theory,DFT)計算和模型訓(xùn)練(Train),3 部分并行運(yùn)行.
圖3 主流程圖
(1)GA:用于結(jié)構(gòu)搜索.并行運(yùn)行7 個晶系(立方晶系、四方晶系、方晶系、六方晶系、正交晶系、單斜晶系、三斜晶系),利用神經(jīng)網(wǎng)絡(luò)勢(或經(jīng)驗?zāi)P?預(yù)測能量,推薦低能結(jié)構(gòu)(每個晶系默認(rèn)推薦16 個,每次循環(huán)共112 個結(jié)構(gòu))開展DFT 計算;
(2)DFT 計算:并行計算GA 部分推薦結(jié)構(gòu)的能量等信息.剔除冗余結(jié)構(gòu),將計算的結(jié)構(gòu)和能量等計算結(jié)果存入數(shù)據(jù)庫,并加入Train 模塊的訓(xùn)練集;
(3)Train 模塊:更新訓(xùn)練集后,訓(xùn)練新模型,更新GA 部分里的神經(jīng)網(wǎng)絡(luò)勢模型.
模型收斂性通過訓(xùn)練集的大小和模型誤差兩個標(biāo)準(zhǔn)決定.首先,確定訓(xùn)練集大小.若訓(xùn)練集太小,神經(jīng)網(wǎng)絡(luò)易過擬合,訓(xùn)練集過多時間花費(fèi)大,而且易造成欠擬合,經(jīng)過多次實驗及效果,采用112×20 作為訓(xùn)練集的最小量,用戶可以根據(jù)實際情況進(jìn)行調(diào)整;其次是模型誤差,通過實驗發(fā)現(xiàn),當(dāng)模型驗證誤差降到0.08 左右即可很好的收斂,用戶也可以根據(jù)實際情況進(jìn)行調(diào)整.當(dāng)模型收斂后,不再進(jìn)行DFT 計算及模型更新,只進(jìn)行GA 搜索,收斂的模型存入到數(shù)據(jù)庫中.當(dāng)GA 搜索迭代完成時(默認(rèn)循環(huán)總次數(shù)為20),推薦最終的候選結(jié)構(gòu)加入數(shù)據(jù)庫.
3.1.2 GA 模塊詳細(xì)流程
軟件的初始設(shè)置參數(shù):GA的搜索迭代次數(shù)、結(jié)構(gòu)內(nèi)原子類型、各原子結(jié)構(gòu)數(shù)量、原子體積等.此外,還需要準(zhǔn)備描述各原子環(huán)境的指紋特征文件.
本文采用的遺傳算法,能量作為適應(yīng)度值,即能量越低,結(jié)構(gòu)越穩(wěn)定.在每一輪迭代中,按照晶體結(jié)構(gòu)的7 個晶系并行搜索,既保證了搜索的全面性也提高了搜索效率.具體過程是先根據(jù)能量大小進(jìn)行排序,選擇種群中前三分之一的低能結(jié)構(gòu)[39](種群大小默認(rèn)為64),對坐標(biāo)信息進(jìn)行交叉變異操作,產(chǎn)生下一代結(jié)構(gòu)(默認(rèn)產(chǎn)生下一代結(jié)構(gòu)數(shù)量為16).在迭代過程中,為了防止陷入局部最優(yōu)解,一方面設(shè)置一定的變異概率(默認(rèn)為0.05)基因突變,突破搜索瓶頸;另一方面,我們采用多組不同的隨機(jī)種子,即產(chǎn)生多組不同的初始種群,增加搜索多樣性.
需要注意的是,在沒有初始模型的情況下,通過經(jīng)驗?zāi)P脱杆贅?gòu)建初始樣本空間.一旦訓(xùn)練出神經(jīng)網(wǎng)絡(luò)模型,便采用神經(jīng)網(wǎng)絡(luò)勢預(yù)測;參數(shù)i為GA 迭代過程中當(dāng)前迭代輪數(shù);在沒有訓(xùn)練出收斂的模型時,GA 內(nèi)搜索總次數(shù)可以設(shè)置為較小值(默認(rèn)為30),可以較快的訓(xùn)練出收斂模型.模型收斂后增加GA 內(nèi)搜索總次數(shù)(默認(rèn)為1500).最后,每個晶系推薦出16 個低能結(jié)構(gòu)共112 個結(jié)構(gòu).具體流程如圖4所示.
圖4 GA 模塊流程圖(以立方晶系為例,其余晶系過程相同)
如圖5所示,我們使用4 個神經(jīng)網(wǎng)絡(luò)層,輸入層神經(jīng)元數(shù)量根據(jù)提取的原子特征數(shù)量靈活選取,2 個隱藏層各為10 個神經(jīng)元.輸入為能夠滿足原子平移性、對稱性、置換性的原子局域環(huán)境描述子,這些描述子可以轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)的輸入特征向量,目前,提供了切比雪夫多項式[40]及Behler和Parrinello 提出的對稱函數(shù)[41,42]兩種描述原子局域環(huán)境的描述方法.輸出為擬合的原子能量值.隱藏層和輸出層的神經(jīng)元都有偏置參數(shù),由于更新過程與權(quán)重類似,這里不再展開.
圖5 神經(jīng)網(wǎng)絡(luò)架構(gòu)
(1)前向傳播過程
隱藏層1 輸入:
式中,Wih1為輸入層i節(jié)點(diǎn)到隱藏層h1節(jié)點(diǎn)的權(quán)重系數(shù),xi為原始結(jié)構(gòu)特征輸入.
隱藏層1 輸出:
式中,σ1為激活函數(shù).
隱藏層2 輸入:
式中,Wh1h2為隱藏層1的h1節(jié)點(diǎn)到隱藏層2的h2節(jié)點(diǎn)的權(quán)重系數(shù).
隱藏層2 輸出:
式中,σ2為激活函數(shù).
輸出層:
式中,Wh2k為隱藏層2的h2節(jié)點(diǎn)到輸出層k的權(quán)重系數(shù).輸出原子的能量值.訓(xùn)練過程中,我們采用均方根誤差(RMSE)作為代價函數(shù).
(2)反向傳播:以第l個樣本為例,η為學(xué)習(xí)率
隱藏層2 到輸出層的權(quán)重更新:
隱藏層1 到隱藏層2的權(quán)重更新:
輸入層到隱藏層1的權(quán)重更新:
這樣整個神經(jīng)網(wǎng)絡(luò)完成一次參數(shù)更新.
需要注意的是,由于我們將總能量拆分為單個原子的能量,最后進(jìn)行累加,所以與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程不同,每個原子的能量并不是已知的,因此權(quán)重參數(shù)不能直接擬合到樣本中.我們對每個結(jié)構(gòu)中的原子能量累加后再進(jìn)行誤差計算和反向傳播.
3.3.1 測試數(shù)據(jù)集
測試數(shù)據(jù)集中包含了原子數(shù)為6、9、12、18和24的TiO2晶胞,隨機(jī)生成Ti 原子與O 原子的配比共計15 種,包含6056 個晶體結(jié)構(gòu).每種組分包含的晶體結(jié)構(gòu)數(shù)目見表1.
表1 測試數(shù)據(jù)集TiO2 結(jié)構(gòu)信息
3.3.2 激活函數(shù)的選取
為測試激活函數(shù)對材料結(jié)構(gòu)預(yù)測軟件中訓(xùn)練模型的影響,采用目前深度學(xué)習(xí)常用的Adam 優(yōu)化算法,設(shè)置學(xué)習(xí)率為0.0001,設(shè)置BATCH_Size為32 測試不同激活函數(shù)對模型訓(xùn)練的影響.
從圖6可以看出,相比于Sigmoid 函數(shù),其他激活函數(shù)收斂效果明顯較好,tanh 在開始階段收斂較快,最終的收斂效果幾個激活函數(shù)大致相似,綜合考慮,我們后續(xù)實驗均采用tanh 激活函數(shù).
圖6 不同激活函數(shù)的損失變化趨勢圖
3.3.3 優(yōu)化算法選取
學(xué)習(xí)率和BATCH 大小的選取也會影響優(yōu)化算法的效果,我們綜合分析了學(xué)習(xí)率和BATCH 大小對8 種優(yōu)化算法的影響,采取5 種BATCH_Size,0.000 01-0.1 之間選取5 種學(xué)習(xí)率進(jìn)行測試.測試過程中隨機(jī)選取了5 組隨機(jī)種子,圖7中結(jié)果為5 組數(shù)據(jù)的平均值.
圖7中Adadelta、Adam、Adamax、ASGD、LBFGS、RMSprop、Rprop、SGD 算法分別用灰色、黑色、藍(lán)色、青綠色、洋紅色、黃色、紅色、綠色表示;BATCH_Size的值1、8、16、32和Full 分別由圓點(diǎn)、實心方形、實心五角、倒三角、十字表示.
圖7 優(yōu)化算法、BATCH_Size、學(xué)習(xí)率大小對模型性能的影響
可以看出在BATCH_Size為1和8 時,多數(shù)優(yōu)化算法表現(xiàn)較好,同時也可以看出盲目增大BATCH_Size,模型的泛化能力會降低,并且可能陷入sharp minimum.Adadelta 適合較大的學(xué)習(xí)率,而RMSprop、Rprop、Adam、Adamax 適合選取較小的學(xué)習(xí)率.
學(xué)習(xí)率和BATCH_Size 搭配最優(yōu)情況下,Adadelta、Adam、Adamax、RMSprop的損失值均能達(dá)到0.043左右,均能收斂到理想的模型.
為剔除訓(xùn)練集中的冗余結(jié)構(gòu),在模型訓(xùn)練過程中,并不是將每次循環(huán)DFT 計算的所有結(jié)構(gòu)都加入到訓(xùn)練集中,通過兩步剔除冗余結(jié)構(gòu).首先,考慮到每次循環(huán)的GA 都是從頭搜索,所以不同循環(huán)輪次之間可能會產(chǎn)生相同的結(jié)構(gòu),對模型訓(xùn)練改進(jìn)意義不大.故剔除每個循環(huán)倫次的重復(fù)冗余結(jié)構(gòu),不再加入訓(xùn)練集.然后,為提高模型訓(xùn)練效率,設(shè)定一個最小誤差項,ΔE=min_loss*n_atom,其中n_atom為原子數(shù).若模型預(yù)測的結(jié)構(gòu)總能量與DFT 計算的總能量的差值低于此值,則認(rèn)為此結(jié)構(gòu)對模型訓(xùn)練改進(jìn)意義不大,該結(jié)構(gòu)不再加入訓(xùn)練集.
此外,為防止模型出現(xiàn)過擬合的情況,在模型更新中我們采用了機(jī)器學(xué)習(xí)中比較典型的早停法[23].
為了測試所提出的模型的性能以及實驗參數(shù)的設(shè)置,我們以Si 單晶、TiO2和CaTiO3三種常見的晶體結(jié)構(gòu)的搜索為例,對本文所提出的模型進(jìn)行測試,并與實驗結(jié)果進(jìn)行對比分析.
首先,確定實驗參數(shù).Si 單晶和TiO2化合物的原子局域環(huán)境的展開式采用Behler和Parrinello 提出的不變對稱函數(shù)表示,搜索激活函數(shù)選用雙曲正切函數(shù)(tanh),優(yōu)化算法為Adam,學(xué)習(xí)率設(shè)置為0.0001,BATCH_Size 設(shè)置為1.CaTiO3的原子局域環(huán)境的展開式采用基于切比雪夫多項式表示,激活函數(shù)選用雙曲正切函數(shù)(tanh),優(yōu)化算法為Adamax,學(xué)習(xí)率設(shè)置為0.001,BATCH_Size 設(shè)置為8.然后,開展模型訓(xùn)練和結(jié)構(gòu)搜索.初始結(jié)構(gòu)根據(jù)七大晶系分別搜索,七大晶系的搜索采用并行計算,每種晶系每個循環(huán)輪次推薦16 個低能晶體結(jié)構(gòu)用于開展DFT 計算,然后加入訓(xùn)練集去訓(xùn)練更優(yōu)的模型,直至模型收斂.將收斂的模型用于結(jié)構(gòu)搜索.每個晶系默認(rèn)按20 個隨機(jī)種子搜索結(jié)構(gòu),每個種子推薦出16 個候選結(jié)構(gòu),最后每個晶系按模型預(yù)測能量排序推薦出10 個低能結(jié)構(gòu),然后進(jìn)行DFT 計算,根據(jù)計算能量大小推薦晶體結(jié)構(gòu).
采用遺傳算法搜索晶體結(jié)構(gòu),基于深度學(xué)習(xí)訓(xùn)練模型預(yù)測晶體結(jié)構(gòu)的能量值.通過該方法預(yù)測的結(jié)構(gòu)晶格常數(shù)信息和對應(yīng)的能量值與DFT 計算結(jié)果見表2,E為DFT 計算總能量.表2可以看出,3 種結(jié)構(gòu)的晶格常數(shù)的最大誤差分別為:0、6.88%和0.在滿足均方根誤差小于0.08 eV/atom的模型下,預(yù)測的3 種穩(wěn)定結(jié)構(gòu)總能量與實驗測定穩(wěn)定結(jié)構(gòu)的總能量差值分別為:0.34 eV、1.41 eV 以及0.21 eV.預(yù)測晶體結(jié)構(gòu)與實驗結(jié)構(gòu)示意圖見圖8,結(jié)構(gòu)中原子坐標(biāo)見附錄A.
表2 3 種晶體結(jié)構(gòu)預(yù)測結(jié)果與實驗結(jié)果對比(單位:eV)
從圖8可以看出,基于深度學(xué)習(xí)框架實現(xiàn)的晶體結(jié)構(gòu)預(yù)測軟件,對于單胞中原子數(shù)目較少的Si 單晶和CaTiO3結(jié)構(gòu)的能量預(yù)測都具有很好的效果,隨著元素種類的增加,模型誤差增大,因此對于單胞中原子數(shù)較多的原子還需要增大訓(xùn)練集的多樣性.另外,通過圖8也可以看出,用于結(jié)構(gòu)搜索的遺傳算法,隨著元素種類的增加,結(jié)構(gòu)的搜索效果逐漸降低,CaTiO3結(jié)構(gòu)的成鍵圖8(f)以及TiO2結(jié)構(gòu)的原子點(diǎn)位圖8(d)與實驗結(jié)構(gòu)有所偏移.因此,在結(jié)構(gòu)搜索中需要增加種子數(shù)和迭代次數(shù)來修正.
圖8 預(yù)測晶體結(jié)構(gòu)與實驗觀測結(jié)構(gòu)
相比于基于密度泛函理論的第一性原理方法,神經(jīng)網(wǎng)絡(luò)模型預(yù)測晶體結(jié)構(gòu)能量節(jié)省了更多的計算資源和時間.為保證結(jié)構(gòu)搜索的完整性,需要搜索的晶體結(jié)構(gòu)數(shù)量巨大,如果所有結(jié)構(gòu)都采用第一性原理方法計算結(jié)構(gòu)能量幾乎是無法完成的,我們提出的面向材料結(jié)構(gòu)預(yù)測的深度學(xué)習(xí)方法,只需對要少量有針對性的結(jié)構(gòu)開展第一性原理計算,作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù),即可訓(xùn)練出精度較高的能量預(yù)測模型,從而實現(xiàn)其他結(jié)構(gòu)能量的快速預(yù)測.此外,隨著晶體結(jié)構(gòu)復(fù)雜度的增加,第一性原理計算的時間成本呈指數(shù)增加,而我們提出的深度學(xué)習(xí)方法受結(jié)構(gòu)復(fù)雜度影響較小,同樣只需要少量的第一性原理計算,構(gòu)建高精度的神經(jīng)網(wǎng)絡(luò)模型預(yù)測晶體結(jié)構(gòu)能量.通過該方法在保證計算精度的前提下,既提高了計算效率,又克服了部分復(fù)雜體系無法開展大量計算的困難.
本研究針對批量材料結(jié)構(gòu)能量預(yù)測效率問題實現(xiàn)了一種用于材料結(jié)構(gòu)預(yù)測的基深度學(xué)習(xí)方法,通過深入的分析和研究,對深度學(xué)習(xí)模型所需的訓(xùn)練策略、測試集數(shù)據(jù)篩選方法、優(yōu)化算法及其對應(yīng)的學(xué)習(xí)率等參數(shù)進(jìn)行了優(yōu)化.并將深度學(xué)習(xí)框架應(yīng)用到材料結(jié)構(gòu)的預(yù)測中,預(yù)測的晶體結(jié)構(gòu)參數(shù)與實驗發(fā)現(xiàn)晶體結(jié)構(gòu)參數(shù)相吻合.該方法可以有效地提高材料結(jié)構(gòu)預(yù)測效率,加快新材料的研發(fā).
附錄A
(1)推薦結(jié)構(gòu)原子位置與實驗制備結(jié)構(gòu)對比(表A.1-表A.3).
表A.1 TiO2 結(jié)構(gòu)原子位置
表A.2 CaTiO3 結(jié)構(gòu)原子位置對比
表A.3 Si 原子位置對比
(2)預(yù)測不同晶系對應(yīng)能量最低的晶體結(jié)構(gòu)(表A.4).
表A.4 預(yù)測不同晶系對應(yīng)能量最低的晶體結(jié)構(gòu)