肖 斌胡國(guó)梁
(西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610500)
半導(dǎo)體材料是導(dǎo)電性介于導(dǎo)體與絕緣體之間的材料。半導(dǎo)體材料因其“光生電”“熱生電”等獨(dú)特性質(zhì),被廣泛地應(yīng)用于電子通訊、航空航天、國(guó)防科研等領(lǐng)域。半導(dǎo)體材料的帶隙寬度是影響半導(dǎo)體材料性能的重要屬性之一??焖贉?zhǔn)確地模擬計(jì)算、預(yù)測(cè)帶隙寬度對(duì)半導(dǎo)體材料的研究具有重要意義。在材料性能模擬計(jì)算領(lǐng)域,目前應(yīng)用最為廣泛的是基于復(fù)雜多電子波函數(shù)的密度泛函理論。然而密度泛函理論的計(jì)算需要花費(fèi)大量時(shí)間,且在復(fù)雜環(huán)境下的模擬計(jì)算結(jié)果往往不盡人意??茖W(xué)家們渴望一種更加快速、更加精確的材料性能模擬計(jì)算方法。隨著信息時(shí)代的到來(lái),材料科學(xué)領(lǐng)域產(chǎn)生的大數(shù)據(jù)為機(jī)器學(xué)習(xí)在材料性能模擬計(jì)算領(lǐng)域的應(yīng)用提供了可能性[1]。從已有的材料科學(xué)領(lǐng)域大數(shù)據(jù)中進(jìn)行數(shù)據(jù)挖掘,提煉出其中的數(shù)學(xué)規(guī)律來(lái)預(yù)測(cè)未知的材料性能是一種新型的材料性能模擬計(jì)算手段[2]。
最近幾年一些通過(guò)機(jī)器學(xué)習(xí)預(yù)測(cè)半導(dǎo)體材料帶隙寬度的探索取得了一定的進(jìn)展。例如徐永林等人[3]使用套索算法(Least Absolute Shrinkage and Selection Operator,LASSO)、支持向量回歸算法(Support Vector Regression,SVR)、梯度提升決策樹算法(Gradient Boosting Decision Tree,GBDT)的融合算法找到了金剛石化合物帶隙寬度與其相關(guān)特征之間的映射關(guān)系,開發(fā)了一種有效的帶隙預(yù)測(cè)模型。Gu等人[4]將 SVR 和前饋神經(jīng)網(wǎng)絡(luò)算法(Back Propagation Neural Network,BP 神經(jīng)網(wǎng)絡(luò))結(jié)合,提高了BP 神經(jīng)網(wǎng)絡(luò)性能的同時(shí)預(yù)測(cè)了56 種化合物的帶隙寬度。Li 等人[5]通過(guò)偏最小二乘法構(gòu)建納米金屬氧化物帶隙值與結(jié)構(gòu)參數(shù)的關(guān)系模型,預(yù)測(cè)不同晶型、不同粒徑納米金屬氧化物的帶隙值。鄭偉達(dá)等人[6]通過(guò)隨機(jī)森林算法可以有效地預(yù)測(cè)鈣鈦礦材料帶隙性能。這些創(chuàng)新的工作展現(xiàn)了機(jī)器學(xué)習(xí)在材料帶隙寬度預(yù)測(cè)上的應(yīng)用。然而如何優(yōu)化輸入變量、降低預(yù)測(cè)模型的冗余仍是一個(gè)亟待解決的問(wèn)題[7]。
本文建立一套基于統(tǒng)計(jì)學(xué)方法和改進(jìn)粒子群優(yōu)化前饋(PSO-BP)神經(jīng)網(wǎng)絡(luò)算法的半導(dǎo)體材料帶隙寬度預(yù)測(cè)模型。該模型運(yùn)用了統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)的方法,從已知半導(dǎo)體材料數(shù)據(jù)集中提取9 種影響材料帶隙寬度預(yù)測(cè)的重要特征屬性,挖掘了這些重要特征屬性與帶隙寬度之間隱含的數(shù)學(xué)規(guī)律并將這種數(shù)學(xué)規(guī)律推廣到帶隙寬度的預(yù)測(cè)之中,從而提高了帶隙寬度預(yù)測(cè)的效率。對(duì)照實(shí)驗(yàn)的結(jié)果表明,本文提出的預(yù)測(cè)模型均方誤差相比對(duì)照模型降低了約25%,可靠性達(dá)到了75.15%,能更加有效地預(yù)測(cè)未知半導(dǎo)體材料的帶隙寬度。
本文所用半導(dǎo)體材料帶隙寬度實(shí)驗(yàn)數(shù)據(jù)源于徐永林等人[3]通過(guò)搜集整理、組分替換及理論計(jì)算等方式得到的443 種類金剛石結(jié)構(gòu)材料體系的帶隙寬度。該數(shù)據(jù)集包括晶體結(jié)構(gòu)參數(shù)、陰陽(yáng)離子的相對(duì)電負(fù)性差值、陰離子平均鍵長(zhǎng)、所含元素族信息等42 種特征屬性,以及1 種目標(biāo)變量GAP(帶隙寬度)。由于并非每種化合物都包含所有族的元素,因此數(shù)據(jù)集中部分特征屬性出現(xiàn)大量的缺失值。為了保證算法模型的判斷力及提高算法模型的泛化能力,刪除了存在缺失值的特征屬性,僅保留“A(晶格常數(shù)A)、B(晶格常數(shù)B)、C(晶格常數(shù)C)、BE(軸角β)、GA(軸角γ)、ED(陰陽(yáng)離子相對(duì)電負(fù)性差)、NNCN(陰離子最近鄰配位數(shù))、V(方差)、ASBL(陰離子平均鍵長(zhǎng))、AAM(陰離子原子質(zhì)量)、CAAM(陽(yáng)離子平均原子質(zhì)量)、AVEN(平均價(jià)電子數(shù))、ETN(元素種類數(shù))、6_AIE(6A 組元素的電離能)、6_AAM(6A 組元素的原子質(zhì)量)、6_AE(6A 組元素的電負(fù)性)”共計(jì)16 個(gè)特征屬性。
本文在數(shù)據(jù)集總體大小有限的情況下,繪制相關(guān)性系數(shù)圖譜和方差表,以分析識(shí)別出高價(jià)值特征屬性,盡可能降低數(shù)據(jù)集維度,縮短樣本在數(shù)據(jù)空間上的距離,以降低預(yù)測(cè)算法過(guò)擬合的風(fēng)險(xiǎn)[8]。同時(shí)還要盡可能保留方差較大的特征屬性,以保留數(shù)據(jù)集中隱含的信息,優(yōu)化該算法的泛化能力。為此本文使用Pearson 相關(guān)系數(shù)和方差兩種統(tǒng)計(jì)量來(lái)描述特征屬性的重要程度。
Pearson 相關(guān)系數(shù)是一種描述兩個(gè)變量之間的線性關(guān)系并將這種關(guān)系數(shù)值化的方法[9]。Pearson相關(guān)系數(shù)的值介于-1 與1 之間。Pearson 相關(guān)系數(shù)的絕對(duì)值越接近于1,表明兩個(gè)變量之間的線性關(guān)系越強(qiáng);Pearson 相關(guān)系數(shù)的絕對(duì)值越接近于0,表明兩個(gè)變量之間的線性關(guān)系越弱。如果隨著一個(gè)變量增大,另一個(gè)變量逐漸減小,則表明它們之間是線性負(fù)相關(guān)的,Pearson 相關(guān)系數(shù)小于0;如果隨著一個(gè)變量增大,另一個(gè)變量也隨之增大,則表明它們之間是線性正相關(guān)的,Pearson 相關(guān)系數(shù)大于0。具體公式如下:
式中:Cov(X,Y)為隨機(jī)變量X和Y的協(xié)方差,E為數(shù)學(xué)期望,μ和ν分別為隨機(jī)變量X和Y的總體均值,σX和σY分別為隨機(jī)變量X和Y的標(biāo)準(zhǔn)差。
采用方差評(píng)估單一特征屬性的離散程度時(shí),單一特征屬性的方差越大,算法模型越容易分辨出其中的區(qū)別。具體公式如下:
式中:μ為隨機(jī)變量X的總體均值,N為總體例數(shù)。
1.3.1 基于集成學(xué)習(xí)和Adam 自適應(yīng)矩估計(jì)法改進(jìn)的PSO-BP 神經(jīng)網(wǎng)絡(luò)算法
本文提出一種基于集成學(xué)習(xí)和Adam 自適應(yīng)矩估計(jì)法改進(jìn)的PSO-BP 神經(jīng)網(wǎng)絡(luò)算法(以下簡(jiǎn)記為IPSO-BPNN)。該算法主要分為兩個(gè)部分,一是基于集成學(xué)習(xí)改進(jìn)的PSO 算法部分和二是基于Adam自適應(yīng)矩估計(jì)法改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)算法部分。
在PSO 算法部分采用了集成學(xué)習(xí)的思想進(jìn)行改進(jìn)。其具體方法為:第一步,隨機(jī)抽取PSO-BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練集中20%的樣本作為集成學(xué)習(xí)粒子群優(yōu)化算法的訓(xùn)練集。第二步,無(wú)重復(fù)選取1 個(gè)集成學(xué)習(xí)粒子群優(yōu)化算法的訓(xùn)練樣本與PSO 算法構(gòu)成1個(gè)弱學(xué)習(xí)器。隨機(jī)抽取60%除該訓(xùn)練樣本以外的訓(xùn)練樣本作為該弱學(xué)習(xí)器的測(cè)試集。第三步,當(dāng)集成學(xué)習(xí)粒子群優(yōu)化算法的訓(xùn)練集中的訓(xùn)練樣本全部取完時(shí),利用弱學(xué)習(xí)器對(duì)應(yīng)的測(cè)試集對(duì)所有弱學(xué)習(xí)器得到的神經(jīng)網(wǎng)絡(luò)權(quán)重值和閾值進(jìn)行測(cè)試,選取誤差最小者作為全局BP 神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)重值和閾值。第四步,開始BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
基于集成學(xué)習(xí)改進(jìn)的優(yōu)勢(shì)在于在不遍歷所有訓(xùn)練樣本的前提下,盡可能重現(xiàn)原樣本空間的數(shù)值特點(diǎn),得到最佳BP 神經(jīng)網(wǎng)絡(luò)權(quán)重、閾值的估計(jì)。避免由于PSO 算法易早熟的特性導(dǎo)致PSO 算法優(yōu)化結(jié)果遠(yuǎn)離BP 神經(jīng)網(wǎng)絡(luò)全局誤差的最小值點(diǎn)。同時(shí)也避免了PSO 算法遍歷訓(xùn)練數(shù)據(jù)集導(dǎo)致的訓(xùn)練時(shí)間大幅增加。
在BP 神經(jīng)網(wǎng)絡(luò)算法部分采用了Adam 自適應(yīng)矩估計(jì)法作為BP 神經(jīng)網(wǎng)絡(luò)算法的優(yōu)化器。Adam自適應(yīng)矩估計(jì)法利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率。Adam 自適應(yīng)矩估計(jì)的特點(diǎn)是其在經(jīng)過(guò)偏置校正后,每次迭代學(xué)習(xí)率都有個(gè)確定范圍,使得參數(shù)比較平穩(wěn),不易陷入局部極小值點(diǎn)。其公式如下:
式中:gt是目標(biāo)函數(shù)關(guān)于參數(shù)的梯度,mt、nt分別是對(duì)梯度的一階矩估計(jì)和二階矩估計(jì)。mt-1、nt-1是梯度的累計(jì)一階矩估計(jì)、二階矩估計(jì),二者初始值皆為0。、是對(duì)mt、nt的校正。β1、β2分別是一階矩估計(jì)和二階矩估計(jì)對(duì)應(yīng)的衰減速率,一般取0.9 和0.999,α是學(xué)習(xí)率,ε是防止出現(xiàn)除零錯(cuò)誤的較小常數(shù),一般取10-8。Δθt是根據(jù)、計(jì)算的動(dòng)態(tài)學(xué)習(xí)率范圍。
Adam 自適應(yīng)矩估計(jì)法能夠自動(dòng)為各個(gè)參數(shù)分配學(xué)習(xí)率,訓(xùn)練末期不易擺動(dòng),整個(gè)訓(xùn)練期參數(shù)變化較為平穩(wěn)。相比于隨機(jī)梯度下降法,Adam 自適應(yīng)矩估計(jì)法更適合優(yōu)化非平穩(wěn)目標(biāo),更不容易陷入局部極小值。
本算法的時(shí)間復(fù)雜度為O(m2+mn2),其中m正比于訓(xùn)練集樣本數(shù)量,n正比于BP 神經(jīng)網(wǎng)絡(luò)中神經(jīng)元數(shù)量。
1.3.2 對(duì)照模型的回歸算法
本文使用LASSO[10]、SVR[11]、GBDT[12]以及未經(jīng)改進(jìn)的PSO-BP 神經(jīng)網(wǎng)絡(luò)算法(Particle Swarm Optimization-Back Propagation Neural Network,PSOBPNN)作為對(duì)照實(shí)驗(yàn)的回歸算法。其中,LASSO 算法是在傳統(tǒng)最小二乘估計(jì)上改良而來(lái)的一種多元線性回歸算法;SVR 算法是支持向量機(jī)在回歸問(wèn)題上的一種應(yīng)用;GBDT 是一種迭代的決策樹算法。3 種算法均為回歸問(wèn)題常用的算法。
對(duì)照實(shí)驗(yàn)結(jié)果的表格引用了Ensemble 算法實(shí)驗(yàn)結(jié)果。Ensemble 算法是徐永林等[3]提出的一種有利于找到帶隙寬度特征描述符的融合算法。它通過(guò)集成LASSO、SVR、GBDT 分別構(gòu)成的弱學(xué)習(xí)器對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,然后再次利用GBDT 構(gòu)成的強(qiáng)學(xué)習(xí)器進(jìn)行回歸計(jì)算。
對(duì)于1.3 節(jié)中不同回歸模型產(chǎn)生的結(jié)果,本文使用平均絕對(duì)誤差(MAE)、均方誤差(MSE)、決定系數(shù)[13](R2)共3 種不同的性能評(píng)價(jià)指標(biāo)描述了各個(gè)模型在測(cè)試集上的性能表現(xiàn)。MAE 和MSE 反映的是回歸偏差的大小,其值越接近于0,說(shuō)明該模型回歸偏差越小,回歸性能越好;R2反映的是回歸結(jié)果的可靠性高低,其值越接近于1,說(shuō)明該模型回歸結(jié)果的可靠性越高。3 種評(píng)價(jià)指標(biāo)的計(jì)算規(guī)則為如下:
式中:N為樣本總量,xi為測(cè)試集中對(duì)應(yīng)的第i個(gè)實(shí)際值,為其對(duì)應(yīng)的模型預(yù)測(cè)值,為測(cè)試集中所有實(shí)際值的平均值。
利用上述Pearson 相關(guān)系數(shù)公式可繪制數(shù)據(jù)集中特征屬性之間、特征屬性與帶隙值之間的相關(guān)系數(shù)圖譜[14]如圖1。
圖1 數(shù)據(jù)集中特征屬性之間Pearson 相關(guān)系數(shù)圖譜
表1 描述了數(shù)據(jù)集中16 個(gè)特征屬性的方差值。
表1 特征屬性的方差表
通過(guò)圖1 可以發(fā)現(xiàn)6_AIM、6_AE、ED、ETN 四種特征屬性之間存在多重共線性,因此只保留方差最大的6_AIM。NNCN、V、AVEN 三種特征屬性與帶隙值之間的Pearson 相關(guān)系數(shù)較低,線性關(guān)系較差,因此予以刪除。ASBL 的方差較低,且與AAM 存在一定的二重共線性,因此予以刪除。
綜上,本文在經(jīng)過(guò)基于Pearson 相關(guān)系數(shù)和方差的輸入變量分析與選擇后,僅保留A、B、C、BE、GA、AAM、CAAM、6_AIE、6_AAM 共9 種特征屬性。
在對(duì)照實(shí)驗(yàn)中,IPSO-BPNN 與PSO-BPNN、Lasso、SVR、GBDT 一同在材料帶隙寬度數(shù)據(jù)集上進(jìn)行回歸計(jì)算。各算法的輸入變量均為上節(jié)中所述影響材料帶隙寬度預(yù)測(cè)的9 種特征屬性。
其中IPSO-BPNN 與PSO-BPNN 采用3 層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)?;谏鲜鰧?duì)輸入變量的分析與選擇,輸入層神經(jīng)元數(shù)量確定為9。以材料帶隙寬度值數(shù)據(jù)為輸出層,故輸出層神經(jīng)元數(shù)為1。隱含層節(jié)點(diǎn)采用ReLU 函數(shù)激活函數(shù)[15]。隱含層神經(jīng)元個(gè)數(shù)由下列經(jīng)驗(yàn)式計(jì)算并初步測(cè)試后確定為13:
式中:m為隱含層神經(jīng)元個(gè)數(shù);n為輸入層神經(jīng)元個(gè)數(shù);l為輸出層神經(jīng)元個(gè)數(shù);a為1 至10 之間的整數(shù)。
在PSO 優(yōu)化算法設(shè)置中,慣性權(quán)重w取0.8,加速因子c1=c2=2,r1、r2為(0,1)之間的隨機(jī)數(shù),粒子初始位置及速度均為隨機(jī)值,迭代最大次數(shù)取50,設(shè)置粒子位置區(qū)間以防止出現(xiàn)權(quán)重、閾值過(guò)大的情況,但不設(shè)粒子速度區(qū)間。
在LASSO 算法中,正則項(xiàng)系數(shù)α值設(shè)為0.06,最大迭代次數(shù)設(shè)為1 000。
在SVR 算法中,核函數(shù)Kernel 設(shè)為徑向基函數(shù)(Radial Basis Function,RBF),核函數(shù)系數(shù)γ值設(shè)為10,錯(cuò)誤項(xiàng)懲罰系數(shù)C值設(shè)為5,模型錯(cuò)誤分類容忍度ε值設(shè)為0.01。
在GBDT 算法中,回歸樹個(gè)數(shù)設(shè)為1 500,學(xué)習(xí)率設(shè)為0.03,子采樣值設(shè)為0.6。
在訓(xùn)練集上分別對(duì)PSO-BPNN 和IPSO-BPNN進(jìn)行調(diào)優(yōu)后,將測(cè)試集數(shù)據(jù)代入模型中輸出預(yù)測(cè)結(jié)果并與實(shí)際值進(jìn)行比較。
圖2 所示為5 種算法預(yù)測(cè)結(jié)果的散點(diǎn)圖。圖中橫坐標(biāo)為帶隙理論值,縱坐標(biāo)為算法預(yù)測(cè)值。散點(diǎn)越接近于斜率為1 的黑線,預(yù)測(cè)效果越好。表2 是各個(gè)模型在材料帶隙寬度數(shù)據(jù)集上的預(yù)測(cè)結(jié)果。
圖2 5 種算法預(yù)測(cè)結(jié)果的散點(diǎn)圖
表2 各個(gè)算法在材料帶隙寬度數(shù)據(jù)集上的預(yù)測(cè)結(jié)果
由圖表可見(jiàn)IPSO-BPNN、PSO-BPNN、GBDT 具有較好的預(yù)測(cè)效果。而IPSO-BPNN 預(yù)測(cè)值相比于其余4 種算法都更加接近真實(shí)值,其MAE、MSE 均為5 種算法中最低,分別達(dá)到了0.309 5 和0.174 0,相比次好算法降低了約11%和25%。R2值為5 種算法中最高,達(dá)到了0.751 5。得益于優(yōu)化的回歸算法,IPSO-BPNN 具有更好的預(yù)測(cè)效果。
IPSO-BPNN 相比于引用的Ensemble 算法來(lái)說(shuō)各有勝負(fù),MAE 相差無(wú)幾,MSE 占據(jù)優(yōu)勢(shì),R2略有不足。IPSO-BPNN 略微犧牲了R2值換得了更小的預(yù)測(cè)誤差。
此外,5 種算法均對(duì)于0~0.2 eV 之間的材料帶隙預(yù)測(cè)效果較差,其原因可能是該段用于訓(xùn)練的數(shù)據(jù)集較少,使得5 種算法沒(méi)能很好學(xué)習(xí)到該段數(shù)據(jù)的特點(diǎn),其次帶隙寬度為0~0.2 eV 之間的材料性質(zhì)接近于導(dǎo)體,與典型的半導(dǎo)體之間存在著差距,致使5 種算法未能很好地分辨其中的區(qū)別。
本文設(shè)計(jì)了一種基于統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)的半導(dǎo)體材料帶隙寬度預(yù)測(cè)模型,并針對(duì)于類金剛石材料帶隙寬度數(shù)據(jù)集進(jìn)行了預(yù)測(cè)實(shí)驗(yàn)。通過(guò)輸入變量的分析與選擇、PSO-BP 神經(jīng)網(wǎng)絡(luò)算法的優(yōu)化等手段,使得本預(yù)測(cè)模型預(yù)測(cè)的均方誤差低至0.174 0,決定系數(shù)提升至0.751 5,相比于對(duì)照算法更具準(zhǔn)確性。本預(yù)測(cè)模型在材料帶隙寬度上的預(yù)測(cè)精度能夠更好地滿足研究實(shí)際需求,對(duì)提高預(yù)測(cè)材料帶隙寬度的效率具有重要的應(yīng)用價(jià)值。而本算法的時(shí)間復(fù)雜度較高,實(shí)際運(yùn)行速度較PSO-BPNN 算法更慢。下一步的工作將降低算法的時(shí)間復(fù)雜度,使得本算法在材料帶隙寬度預(yù)測(cè)方面取得更加令人滿意的效果。