王德永 袁艷斌 陳 穎
(1.武漢理工大學(xué)資源與環(huán)境工程學(xué)院;2.平頂山工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系)
巖體變形模量對(duì)于成功設(shè)計(jì)和實(shí)施巖體工程項(xiàng)目是至關(guān)重要的,因?yàn)樗菐r體破壞前力學(xué)特征最具有代表性的參數(shù),在任何巖體行為(包括變形)分析中,該參數(shù)也是一個(gè)重要的輸入?yún)?shù)。通過(guò)現(xiàn)場(chǎng)或原位測(cè)試,有幾種方法來(lái)直接確定變形模量,承壓板、荷載板、徑向承壓、面承壓和線承壓在模量估計(jì)的原位測(cè)試中是最常見的。這些方法耗時(shí)、費(fèi)用高,并且只能當(dāng)探測(cè)位置是開挖的情況下才能進(jìn)行測(cè)試[1]。另外,原位測(cè)試需要麻煩的測(cè)試過(guò)程,并且驗(yàn)證結(jié)果是可疑的[2]。
由于前面提到的原位測(cè)試操作困難和費(fèi)用高,試圖對(duì)巖體變形模量間接估計(jì)開發(fā)出經(jīng)驗(yàn)聯(lián)系,然后使用回歸分析等統(tǒng)計(jì)方法獲得這些聯(lián)系。盡管經(jīng)驗(yàn)公式是經(jīng)濟(jì)的和省時(shí)的,但是它們包含了連接有限數(shù)據(jù)的不確定性,巖石類型和巖體異構(gòu)性質(zhì)的變化[3]。
近年來(lái),利用反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)、模糊邏輯和模糊神經(jīng)系統(tǒng)等人工智能系統(tǒng)預(yù)測(cè)巖體屬性已經(jīng)是巖石工程實(shí)踐方面的熱點(diǎn)研究問(wèn)題[3-8],在這些方法中,BPNN比其他方法使用更廣泛,這種方法的快速增長(zhǎng)和廣泛使用的主要原因是它具有以穩(wěn)定和有效的方式逼近任何函數(shù)的能力。BPNN模型的另外一個(gè)潛在好處是它利用并行計(jì)算突破大量計(jì)算的限制。
盡管BPNN廣泛使用,但進(jìn)行BPNN設(shè)計(jì)仍然是利用耗時(shí)的反復(fù)試錯(cuò)方法。BPNN設(shè)計(jì)需要的時(shí)間和工作量是依賴于問(wèn)題的復(fù)雜性和用戶的經(jīng)驗(yàn)。這將導(dǎo)致耗費(fèi)大量時(shí)間和精力去尋找待解問(wèn)題的最優(yōu)或接近最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。本研究的目標(biāo)是建立一個(gè)利用遺傳算法(GA)的BPNN最優(yōu)設(shè)計(jì),用它來(lái)預(yù)測(cè)巖體的變形模量。優(yōu)化設(shè)計(jì)的目的是決定隱含節(jié)點(diǎn)數(shù)、學(xué)習(xí)因子和動(dòng)量系數(shù),用來(lái)增強(qiáng)系數(shù)估計(jì)的準(zhǔn)確性,同時(shí)降低運(yùn)算時(shí)間和工作量。
表1 提取的巖體屬性的統(tǒng)計(jì)性描述
本研究評(píng)價(jià)用的數(shù)據(jù)集來(lái)源于實(shí)際巷道測(cè)量,單獨(dú)分析來(lái)自每個(gè)巷道位置的數(shù)據(jù)集,然后從數(shù)據(jù)集中剔除那些離散的和不可靠的數(shù)據(jù),最終總共選擇了76個(gè)數(shù)據(jù)(某巷道實(shí)測(cè))用來(lái)開發(fā)遺傳算法和試錯(cuò)訓(xùn)練模型。這些數(shù)據(jù)集包含通過(guò)承載板法測(cè)試獲得的巖體變形模量、通過(guò)使用直徑為54 mm的巖芯獲得的完整巖石的巖體變形模量(Em)、單軸抗壓強(qiáng)度(UCS)、巖體質(zhì)量指標(biāo)(RQD)、干密度、單位長(zhǎng)度的節(jié)理數(shù)(J)和孔隙度,對(duì)于所有位置也要計(jì)算其地質(zhì)強(qiáng)度指標(biāo)(GSI)系統(tǒng),并把它考慮作為一個(gè)輸入?yún)?shù),GSI集中描述了巖石結(jié)構(gòu)和巖石表面的情況,它廣泛應(yīng)用于巖體強(qiáng)度和巖體變形參數(shù)的估計(jì)[1]。表1列出了原始數(shù)據(jù)集的基本描述性統(tǒng)計(jì)的詳細(xì)情況。
為了確定影響變形模量的參數(shù),共有76個(gè)數(shù)據(jù)生成的幾個(gè)坐標(biāo)圖說(shuō)明了這些自變量參數(shù)和變形模量的關(guān)系(圖1)。并且,圖中給出了通過(guò)二元線性回歸建立的回歸線,在圖1中從點(diǎn)散布的情況來(lái)看,已經(jīng)可以推斷出數(shù)據(jù)UCS(相關(guān)系數(shù)R2=0.21)、GSI(R2=0.50)以及RQD(R2=0.23)和變形模量關(guān)聯(lián)最密切,并且在變形模量預(yù)測(cè)中可以作為獨(dú)立的預(yù)測(cè)器。
圖1 獨(dú)立變量和變形模量E m之間關(guān)系
在本研究中,通過(guò)神經(jīng)網(wǎng)絡(luò)軟件NeuroSolutions for Excel管理用試錯(cuò)和GA訓(xùn)練的BPNN設(shè)計(jì)過(guò)程,該軟件具有訓(xùn)練網(wǎng)絡(luò),并能直接測(cè)試網(wǎng)絡(luò)性能的功能。另外,具有內(nèi)置的能幫助用戶遺傳優(yōu)化網(wǎng)絡(luò)參數(shù)的特點(diǎn)。換句話說(shuō),這個(gè)軟件合并了神經(jīng)網(wǎng)絡(luò)和遺傳算法來(lái)獲得網(wǎng)絡(luò)的大小和參數(shù)。
如上所述,有太多的參數(shù)影響神經(jīng)網(wǎng)絡(luò)性能和最終結(jié)構(gòu),通過(guò)所有這些參數(shù)來(lái)獲得發(fā)生較少訓(xùn)練誤差的參數(shù)設(shè)置幾乎是不可能的。因此,在本研究中,其中的一些參數(shù)被認(rèn)為和在試錯(cuò)法和GA訓(xùn)練過(guò)程中是相同的,比如初始權(quán)重、傳遞函數(shù)類型、訓(xùn)練樣本的數(shù)量和隱含層的數(shù)量。
為了達(dá)到這個(gè)目標(biāo),考慮選擇初始權(quán)值的范圍為[-1.0;1.0],1個(gè)使用sigmoid傳遞函數(shù)的隱含層,同時(shí),把數(shù)據(jù)分成1個(gè)訓(xùn)練集、1個(gè)訓(xùn)練驗(yàn)證(交叉驗(yàn)證)集和1個(gè)測(cè)試集。訓(xùn)練集采用適合該網(wǎng)絡(luò)權(quán)值,執(zhí)行交叉驗(yàn)證集是和網(wǎng)絡(luò)訓(xùn)練同時(shí)發(fā)生的,被訓(xùn)練集用來(lái)確定產(chǎn)生進(jìn)化的第幾代。偶爾,網(wǎng)絡(luò)權(quán)值不會(huì)變化,交叉驗(yàn)證數(shù)據(jù)是通過(guò)網(wǎng)絡(luò)產(chǎn)生,并報(bào)告其結(jié)果,控制器的停止標(biāo)準(zhǔn)可能是基于交叉驗(yàn)證集的誤差,而不是訓(xùn)練集,來(lái)確保這個(gè)進(jìn)化的產(chǎn)生。測(cè)試集是一組數(shù)據(jù),用來(lái)評(píng)價(jià)已經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的進(jìn)化性能。本研究中,30%的數(shù)據(jù)被用來(lái)測(cè)試,剩下的數(shù)據(jù)用來(lái)訓(xùn)練和交叉驗(yàn)證,這種方法也是Nelson和 Illingworth 推薦的[9]。
NeuroSolutions軟件的學(xué)習(xí)因子和動(dòng)量因子缺省設(shè)置一般[10]被試錯(cuò)法過(guò)程使用。因此,可以認(rèn)為隱含層的學(xué)習(xí)因子ηh=1,動(dòng)量因子βh=0.7,輸出層學(xué)習(xí)因子ηo=0.1,動(dòng)量因子βo=0.7,最后,考慮到7個(gè)不同的神經(jīng)網(wǎng)絡(luò)的表2,依賴試錯(cuò)法得到的文獻(xiàn)中提出的建議方法,選定的隱含神經(jīng)元的個(gè)數(shù)(Nh)分別為1、2、5、6、7、9 和 14,來(lái)建立最有效的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。圖2展示了用到的反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)。
每一個(gè)提及的網(wǎng)絡(luò)在訓(xùn)練集上訓(xùn)練,并使用交叉驗(yàn)證集上來(lái)阻止過(guò)度擬合,如果停止標(biāo)準(zhǔn)滿足,則進(jìn)行測(cè)試。訓(xùn)練次數(shù)達(dá)到5 000以上停止,或者交叉驗(yàn)證的均方誤差MSE開始增長(zhǎng)前停止。交叉驗(yàn)證的均方誤差MSE定義如式(1):
圖2 用到的BPNN結(jié)構(gòu)
這里,Ei和E'i分別表示被測(cè)的變形模量和預(yù)測(cè)的變形模量,n是交叉驗(yàn)證集的訓(xùn)練樣本數(shù)。每個(gè)網(wǎng)絡(luò)得到了幾次訓(xùn)練,并且在運(yùn)行中保存了最好的網(wǎng)絡(luò)權(quán)值和當(dāng)交叉驗(yàn)證誤差最小時(shí)的次數(shù)。
表2給出了試錯(cuò)網(wǎng)絡(luò)的性能,它是根據(jù)實(shí)驗(yàn)數(shù)據(jù)和在訓(xùn)練和測(cè)試數(shù)據(jù)集上神經(jīng)網(wǎng)絡(luò)輸出之間的均方誤差(MSE)、平均絕對(duì)誤差(MAE)和線性相關(guān)系數(shù)(R)得到的。如果得到的R、MAE和MSE分別為接近于1、0和0,那么神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)是最理想的。如表2所示,試錯(cuò)法結(jié)果表明帶有7個(gè)神經(jīng)元的1個(gè)隱含層和NeuroSolutions軟件缺省設(shè)置的學(xué)習(xí)因子η、動(dòng)量因子β組成的BPNN結(jié)構(gòu)比其他網(wǎng)絡(luò)展示出了一個(gè)更好的性能。
表2 7種試錯(cuò)網(wǎng)絡(luò)的結(jié)果
為了進(jìn)行遺傳訓(xùn)練,首先要隨機(jī)產(chǎn)生一個(gè)網(wǎng)絡(luò)的初始化種群,每個(gè)網(wǎng)絡(luò)的特點(diǎn)是包括不同參數(shù)(基因),這些參數(shù)是 Nh、ηh、βh、ηo、βo,由二進(jìn)制數(shù)基因組成的每個(gè)種群染色體通過(guò)GA訓(xùn)練自動(dòng)調(diào)整這些參數(shù),因此,每個(gè)染色體包含5個(gè)基因,第1個(gè)基因代表網(wǎng)絡(luò)隱藏層神經(jīng)元個(gè)數(shù),剩余的基因是BP優(yōu)化算法網(wǎng)絡(luò)訓(xùn)練的學(xué)習(xí)因子和動(dòng)量因子,設(shè)置隱藏層神經(jīng)元個(gè)數(shù)為[1;15],同時(shí)學(xué)習(xí)因子和動(dòng)量因子為[0;1]。
接下來(lái)對(duì)創(chuàng)建的每個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并由基于它獲取的最小誤差的訓(xùn)練樣本進(jìn)行評(píng)價(jià)以確定其適應(yīng)度。優(yōu)化的目的是為了找到具有一個(gè)低訓(xùn)練誤差的參數(shù)設(shè)置,交叉驗(yàn)證數(shù)據(jù)不是用來(lái)訓(xùn)練ANN(神經(jīng)網(wǎng)絡(luò)算法)模型,而是用來(lái)在訓(xùn)練階段檢測(cè)ANN模型,好的網(wǎng)絡(luò)的特點(diǎn)是混合和變異之后產(chǎn)生一個(gè)網(wǎng)絡(luò)種群。再次評(píng)價(jià)這個(gè)種群網(wǎng)絡(luò),并把具有最好網(wǎng)絡(luò)的特征傳給網(wǎng)絡(luò)的下一代,重復(fù)這個(gè)過(guò)程,直到達(dá)到最大代數(shù)或用戶預(yù)先定義的停止條件為止。圖3顯示了利用GA來(lái)找到神經(jīng)網(wǎng)絡(luò)的最佳結(jié)構(gòu)的步驟[11]。
圖3 使用遺傳算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程
在執(zhí)行遺傳訓(xùn)練之前,首先應(yīng)該指定GA參數(shù)的初始設(shè)置,為了達(dá)到這個(gè)目標(biāo),通過(guò)實(shí)驗(yàn)來(lái)獲得遺傳操作算子不同層的組合比率、代數(shù)(定義為種群中所有網(wǎng)絡(luò)的訓(xùn)練和評(píng)價(jià)次數(shù))、種群大小等,這些數(shù)值是在計(jì)算實(shí)踐和大量文獻(xiàn)檢索的基礎(chǔ)上獲取的[12-15]。
以100個(gè)隨機(jī)產(chǎn)生的染色體(網(wǎng)絡(luò))作為遺傳算法的開始,這些染色體的結(jié)構(gòu)和前面提到的相同,接下來(lái)評(píng)估每個(gè)染色體的適應(yīng)度。對(duì)競(jìng)爭(zhēng)選擇法具有最好適應(yīng)度的染色體被遺傳操作算子進(jìn)化產(chǎn)生下一代。為此兩點(diǎn)交叉概率、統(tǒng)一變異概率和繁殖概率分別采用0.9、0.01和0.09,表3總結(jié)了用到的GA參數(shù),進(jìn)化網(wǎng)絡(luò)迭代次數(shù)經(jīng)過(guò)70次之后,這些訓(xùn)練運(yùn)行生成最低誤差的設(shè)置參數(shù)的混合認(rèn)定為最佳網(wǎng)絡(luò)。
GA訓(xùn)練之后,軟件自動(dòng)生成總結(jié)結(jié)果報(bào)告,報(bào)告內(nèi)容包括了每一代期間獲得的最佳和平均適應(yīng)度的2個(gè)圖(圖4和圖5)和1個(gè)總結(jié)這2個(gè)圖的表(表4)。
表3 確定變形模量用到的GA參數(shù)
表4 使用GA訓(xùn)練網(wǎng)絡(luò)獲得的訓(xùn)練誤差
圖4顯示了優(yōu)化每一代期間獲得的平均適應(yīng)度,平均適應(yīng)度采用的是所有網(wǎng)絡(luò)相對(duì)應(yīng)代的最小均方誤差(MSE)的平均值。圖5顯示了每代優(yōu)化期間獲得的最佳適應(yīng)度。最佳適應(yīng)度是所有網(wǎng)絡(luò)之間相對(duì)應(yīng)代的全部最小均方誤差(MSE)。從圖5中可以看出,最佳網(wǎng)絡(luò)適應(yīng)度是3.157,它是迭代次數(shù)是53時(shí)獲得的。該網(wǎng)絡(luò)的參數(shù)設(shè)置保存并在之后的訓(xùn)練中能夠調(diào)用。表4總結(jié)了最佳適應(yīng)度和平均適應(yīng)度,列出了每個(gè)圖的最小均方誤差、最小均方誤差產(chǎn)生的代數(shù)和最終的均方誤差。表5列出了經(jīng)過(guò)遺傳算法之后的最優(yōu)參數(shù)。
表5 改進(jìn)BPNN的最優(yōu)參數(shù)
表6總結(jié)了在訓(xùn)練和測(cè)試數(shù)據(jù)之內(nèi)實(shí)測(cè)模量和GA-BPNN預(yù)測(cè)模量之間的均方誤差(MSE)、平均絕對(duì)誤差(MAE)和線性相關(guān)系數(shù)(R)。表6和表2顯示結(jié)果對(duì)比表明,對(duì)于實(shí)驗(yàn)數(shù)據(jù)可比情況下,使用遺傳算法的預(yù)測(cè)結(jié)果優(yōu)于試錯(cuò)法。
表6 GA-BPNN模型在訓(xùn)練和測(cè)試數(shù)據(jù)上的性能
圖6顯示了GA方法和試錯(cuò)方法的比較結(jié)果,從圖中明顯看出,對(duì)于同樣的測(cè)試數(shù)據(jù),雖然給出可接受的結(jié)果是十分相近的,但是在BPNN訓(xùn)練中使用GA預(yù)測(cè)變形模量比試錯(cuò)法預(yù)測(cè)更好。
圖6 變形模量的ANN模型和GA-BPNN模型對(duì)比
開發(fā)了基于BPNN的遺傳算法模型來(lái)預(yù)測(cè)變形模量,用遺傳算法來(lái)提高模量預(yù)測(cè)的精度,縮短時(shí)間,并且能夠滿足確定BPNN的最優(yōu)結(jié)構(gòu)和參數(shù)的要求。利用遺傳算法優(yōu)化了隱藏層神經(jīng)元個(gè)數(shù)、學(xué)習(xí)因子和動(dòng)量因子以及輸出層的學(xué)習(xí)因子和動(dòng)量因子。為了分析和驗(yàn)證所開發(fā)模型的性能,對(duì)使用建議模型和試錯(cuò)模型的預(yù)測(cè)結(jié)果進(jìn)行了對(duì)比。
采用的數(shù)據(jù)集來(lái)自不同項(xiàng)目,包含經(jīng)過(guò)主成分分析的76個(gè)數(shù)據(jù)集,生成的幾個(gè)坐標(biāo)圖也顯示了變形模量和獨(dú)立變量之間的關(guān)系,決定把UCS,GSI和RQD作為變形模量預(yù)測(cè)模型開發(fā)中的預(yù)測(cè)器。
試錯(cuò)法的結(jié)果表明,BPNN結(jié)構(gòu)有一個(gè)帶有7個(gè)神經(jīng)元的隱含層組成,隱含層的學(xué)習(xí)因子和動(dòng)量因子分別為1和0.7,輸出層的學(xué)習(xí)因子和動(dòng)量因子分別為0.1和0.7,這些都是NeuroSolutions軟件的缺省設(shè)置。
最后,使用遺傳算法的結(jié)果顯示了一個(gè)最佳效果的網(wǎng)絡(luò),該網(wǎng)絡(luò)隱含側(cè)有8個(gè)神經(jīng)元,學(xué)習(xí)因子和動(dòng)量因子分別為0.473和0.891,輸出層的學(xué)習(xí)因子和動(dòng)量因子分別為0.361和0.615,GA-BPNN網(wǎng)絡(luò)模型的 R,MSE和 MAE的值分別為0.944,5.21和2.03。結(jié)果的比較表明,使用遺傳算法比試錯(cuò)法在和承載板發(fā)實(shí)際測(cè)量值比較有更好的預(yù)測(cè)效果,即遺傳算法成為了替代試錯(cuò)法的一個(gè)好的選擇,它以一種有效的方式構(gòu)造最優(yōu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和內(nèi)部參數(shù)的設(shè)計(jì)。
[1] Cai M,Kaiser PK,Uno H,Tasaka Y,Minami M.Estimation of rock mass deformation modulus and strength of jointed hard rock masses using the GSI system[J].Int J Rock Mech Min Sci 2004,41:3-19.
[2] Hoek E,Diederichs MS.Empirical estimation of rock mass modulus[J].Int J Rock Mech Min Sci 2005,43:203-15.
[3] Kayabasi A,Gokceoglu C,Ercanoglu M.Estimating the deformation modulus of rock masses:a comparative study[J].Int JRock Mech Min Sci 2003,40:55-63.
[4] 沈建波,屈建國(guó),詹召偉.基于灰色理論的軟巖巷道圍巖變形預(yù)測(cè)研究[J].煤礦開采,2011,16(1):22-24.
[5] 趙建海.巷道圍巖系統(tǒng)變形預(yù)測(cè)研究[D].武漢:武漢科技大學(xué),2005.
[6] 葛宏偉,等.人工神經(jīng)網(wǎng)絡(luò)與遺傳算法在巖石力學(xué)中的應(yīng)用[J].巖石力學(xué)與工程學(xué)報(bào),2004,23(9):1542-1550.
[7] 范 千.大壩變形預(yù)報(bào)的神經(jīng)網(wǎng)絡(luò)極限學(xué)習(xí)方法[J].江南大學(xué)學(xué)報(bào):自然科學(xué)版,2011,10(4):435-438.
[8] 楊 杰,吳中如,顧沖時(shí).大壩變形監(jiān)測(cè)的 BP網(wǎng)絡(luò)模型與預(yù)報(bào)研究[J].西安理工大學(xué)學(xué)報(bào),2001,17(1):25-29.
[9] Nelson M,Illingworth WT.A Practical Guide to Neural Nets Reading[M].Mass:Addison-Wesley,1990.
[10] NeuroDimension Inc..NeuroSolutions for Excel,Help Version:6.30[M].Gainesville,F(xiàn)L:NeuroDimension Inc,2012.
[11] Holland J H.Application of natural and artificial systems[M].Ann Arbor:University of Michigan Press,1975.
[12] Javadi AA,F(xiàn)armani R,Toropov VV,et al.Identification of parameters for air permeability of shotcrete tunnel lining using a genetic algorithm[J].Comput Geotech,1999,25:1-24.
[13] Wang C,Ma G W,Zhao J,et al.Identification of dynamic rock properties using a genetic algorithm[J].Int JRock Mech Min Sci,2004,41(3):453-553.
[14] Podgorelec V,Kokol P.Evolutionary induced decision trees for dangerous software modules prediction[J].Inf Process Lett,2002,82:31-38.
[15] Osman MS,Abo-Sinna MA,Mousa AA.A combined genetic algorithm-fuzzy logic controller(GA-FLC)in nonlinear programming[J].J Appl Math Comput,2004,170:821-840.