張昱,張明魁
(1.北京建筑大學(xué)電氣與信息工程學(xué)院,建筑大數(shù)據(jù)智能處理方法研究北京市重點實驗室,北京 100044;2.中國礦業(yè)大學(xué)(北京),深部巖土力學(xué)與地下工程國家重點實驗室,北京 100083)
巖爆屬于突發(fā)性的地質(zhì)災(zāi)害,在短時間內(nèi)產(chǎn)生極大的破壞性[1-2],其嚴重影響了工程進度,對工人的人身安全造成威脅[3],為精準(zhǔn)預(yù)測巖爆烈度等級,國內(nèi)外學(xué)者做了眾多相關(guān)工作[4-5]。
在巖爆烈度等級預(yù)測的相關(guān)工作中,國內(nèi)外眾多學(xué)者主要使用單一指標(biāo)預(yù)測法和綜合指標(biāo)預(yù)測法兩種方法進行研究。單一指標(biāo)預(yù)測法主要包括E.Hoek方法、Russense判據(jù)和陶振宇判據(jù)[6-8],但是單一指標(biāo)預(yù)測法存在預(yù)測結(jié)果不準(zhǔn)確的弊端。綜合指標(biāo)預(yù)測法主要是針對巖爆成因機制復(fù)雜提出的研究方法,其預(yù)測效果優(yōu)于單一指標(biāo)預(yù)測法。近年來機器學(xué)習(xí)和深度學(xué)習(xí)方法被廣泛應(yīng)用到巖爆烈度等級預(yù)測的工作中[9-10],張鈞博等[11]采用基于交叉驗證的XGBoost(eXtreme Gradient Boosting)算法解決因樣本數(shù)據(jù)較少產(chǎn)生的預(yù)測結(jié)果不準(zhǔn)確的問題。田睿等[12]構(gòu)建基于dropout和改進的基于Adam的深度神經(jīng)網(wǎng)絡(luò)模型,避免了指標(biāo)權(quán)重的確定問題,減少了預(yù)測時人為因素產(chǎn)生的影響。楊小彬等[13]提出基于SOFM(self-organizing feature map)神經(jīng)網(wǎng)絡(luò)模型的巖爆烈度等級預(yù)測方法,簡化了巖爆烈度等級預(yù)測指標(biāo)體系,從而提高了預(yù)測準(zhǔn)確率。劉曉悅等[14]建立AdaBoost-BAS-SVM(AdaBoost-beetle antennae search-support vector machine)模型來解決巖爆等級預(yù)測過程中單一分類器不穩(wěn)定問題。Guo等[15]建立了標(biāo)準(zhǔn)差權(quán)重組合的BP-SVM(back propagation-support vector machine)模型,其預(yù)測效果優(yōu)于傳統(tǒng)的單一機器學(xué)習(xí)方法。劉劍等[16]運用修正散點圖矩陣分析數(shù)據(jù),用優(yōu)化后隨機森林模型進行預(yù)測。
在上述巖爆烈度等級預(yù)測方法中,都取得了較好的成果,但也都存在著準(zhǔn)確率不高、訓(xùn)練時間長的問題。為了解決上述兩個問題,現(xiàn)提出并建立基于梯度下降算法優(yōu)化深度神經(jīng)網(wǎng)絡(luò)的[17-18]的梯度下降-深度神經(jīng)網(wǎng)絡(luò)(gradient descent-deep neural network,GD-DNN)巖爆烈度等級預(yù)測模型,再對模型進行訓(xùn)練和測試,最后在秦嶺隧道、大相嶺隧道、通渝隧道和馬路坪礦井4個實際工程中檢驗?zāi)P偷念A(yù)測效果。
本文中提出的GD-DNN模型,其架構(gòu)主要包括數(shù)據(jù)處理、模型建立和模型預(yù)測三部分,如圖1所示。
圖1 模型架構(gòu)
該模型架構(gòu)中數(shù)據(jù)處理部分主要是從輸入的訓(xùn)練樣本中選取最優(yōu)的巖爆預(yù)測指標(biāo)并進行數(shù)據(jù)歸一化處理;模型建立部分主要是建立GD-DNN模型并訓(xùn)練,然后通過計算出準(zhǔn)確率和損失值兩項評估指標(biāo)來判斷模型是否滿足評價標(biāo)準(zhǔn),若不滿足則重新訓(xùn)練模型并計算評估指標(biāo);模型預(yù)測部分主要是將待測試的數(shù)據(jù)輸入到通過不斷訓(xùn)練得到的最優(yōu)模型中,然后輸出巖爆烈度等級。
GD-DNN模型主要包含五部分,分別為輸入、DNN層、優(yōu)化層、Softmax層、輸出。其原理如圖2所示。
圖2 模型原理
由于巖爆樣本數(shù)據(jù)的數(shù)據(jù)量較小,所以建立的GD-DNN模型在深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上使用梯度下降算法進行優(yōu)化,加快了模型尋找最優(yōu)值的速度;然后在Softmax層使用交叉熵損失函數(shù)加快模型收斂速度;最后采用分層10折交叉驗證法來選擇最優(yōu)的模型參數(shù)并輸出最終的預(yù)測結(jié)果,各部分的具體原理如下。
(1)輸入:將選取的三類巖爆預(yù)測指標(biāo)應(yīng)力指數(shù)(σθ/σc)、脆性指數(shù)(σc/σt)、巖石彈性能量指數(shù)(Wet)作為模型的輸入,其中σθ為硐壁圍巖最大切向應(yīng)力;σc為巖石單軸抗壓強度;σt為巖石單軸抗拉強度。然后對數(shù)據(jù)進行歸一化處理,已達到在訓(xùn)練模型時加快模型收斂速度的目的,具體公式為
(1)
式(1)中:x為原始數(shù)據(jù);x′為歸一化后的數(shù)據(jù);xmax和xmin分別為原始數(shù)據(jù)集的最大值和最小值。
(2)DNN層:在DNN層中,各層之間的線性關(guān)系z為
z=∑wixi+b
(2)
式(2)中:wi為層與層之間的線性關(guān)系系數(shù);xi為輸入值向量;b為偏倚參數(shù)。此層選取的激活函數(shù)是f(z),隱含層和輸出層的值為a,則有
(3)
由式(3)可知,第l層的輸出al為
al=f(Wlal-1+Bl)
(4)
式(4)中:Wl為第l層的線性系數(shù)wi組成的權(quán)重系數(shù)矩陣;Bl為第l層的偏倚參數(shù)b組成的偏倚向量。然后將輸出層的數(shù)據(jù)傳輸?shù)教荻认陆祪?yōu)化器中進一步處理。
(3)優(yōu)化層:為了更快地更新參數(shù)并達到收斂的目的,設(shè)計了梯度下降優(yōu)化器來不斷地對訓(xùn)練的參數(shù)進行調(diào)整。首先確定當(dāng)前損失函數(shù)的梯度,表達式為
(5)
式(5)中:W、B分別代表DNN層中傳輸過來的權(quán)重系數(shù)和偏倚向量。然后通過對學(xué)習(xí)率α的不斷調(diào)整來更新W和B,即
(6)
(7)
通過重復(fù)更新W和B,使得損失函數(shù)的值越來越小,直至數(shù)值收斂。
(4)Softmax層:模型中使用的是交叉熵損失函數(shù),將數(shù)據(jù)的真實分布和模型預(yù)測分布的差異進行比較,交叉熵損失函數(shù)越小,差異越小,模型預(yù)測的準(zhǔn)確率就越高。交叉熵的定義為
(8)
式(8)中:p(xi)為隨機變量X等于xi的真實概率,來源于已標(biāo)注的樣本數(shù)據(jù);q(xi)為模型得出的隨機變量X等于xi的概率。
(5)輸出:在輸出層為了提高模型預(yù)測,采取分層10折交叉驗證法將巖爆樣本數(shù)據(jù)隨機分為十部分,其中九部分為訓(xùn)練,一部分作為驗證。訓(xùn)練和驗證過程執(zhí)行十次。最后,以10次預(yù)測結(jié)果的最優(yōu)值作為衡量模型預(yù)測效果的指標(biāo)。
由模型原理可以得出GD-DNN模型求解運算步驟,具體步驟如圖3所示。
圖3 模型求解運算步驟
由于影響巖爆發(fā)生因素眾多且成因機制復(fù)雜,導(dǎo)致巖爆烈度等級判據(jù)尚無統(tǒng)一標(biāo)準(zhǔn),目前在相關(guān)研究中常用的巖爆烈度等級判據(jù)如表1所示[19]。
表1 巖爆烈度等級判據(jù)
由表1可知,以上判據(jù)均為單一指標(biāo),其預(yù)測效果并不理想。由于巖爆發(fā)生機制復(fù)雜,影響因素較多,為了提高巖爆烈度等級預(yù)測的準(zhǔn)確率,本文使用斯皮爾曼系數(shù)法進行相關(guān)性分析[20],最終選取兩兩之間相關(guān)性最低的應(yīng)力指數(shù)(σθ/σc)、脆性指數(shù)(σc/σt)、巖石彈性能量指數(shù)(Wet)作為預(yù)測巖爆烈度等級的巖爆預(yù)測指標(biāo)。
搜集國內(nèi)外67組巖爆樣本數(shù)據(jù)[15],如表2所示。其中巖爆烈度分為4個等級:無巖爆、輕微巖爆、中等巖爆、強烈?guī)r爆,分別用數(shù)字1、2、3、4來表示。
表2 巖爆樣本數(shù)據(jù)
在所搜集的樣本數(shù)據(jù)中,包含無巖爆10例、輕微巖爆18例、中等巖爆28例、強烈?guī)r爆11例,各類別樣本所占比例如圖4所示。
為進一步分析巖爆樣本數(shù)據(jù),將巖爆預(yù)測指標(biāo)應(yīng)力指數(shù)(σθ/σc)、脆性指數(shù)(σc/σt)、巖石彈性能量指數(shù)(Wet)的異常值進行數(shù)據(jù)可視化處理,如圖5~圖7所示。
圖5 應(yīng)力指數(shù)箱線圖
圖6 脆性指數(shù)箱線圖
圖7 巖石彈性能量指數(shù)箱線圖
由圖5~圖7可知,三類巖爆預(yù)測指標(biāo)中都含有異常值,數(shù)據(jù)中異常值的產(chǎn)生與復(fù)雜的巖爆成因機制相關(guān)。傳統(tǒng)的預(yù)測方法中都將異常值從樣本數(shù)據(jù)中刪除,但在本文研究中并未將異常值從巖爆樣本數(shù)據(jù)中刪除,而是將異常值數(shù)據(jù)同巖爆樣本數(shù)據(jù)一起輸入到模型中進行訓(xùn)練和測試。
為了驗證GD-DNN模型在巖爆烈度等級預(yù)測方面的有效性,在實驗中將準(zhǔn)確率、精確率、召回率和F1作為模型性能的評估指標(biāo),隨后將KNN、SVM、DNN和GD-DNN模型分別在測試集上進行實驗并對比分析,結(jié)果如表3所示。
表3 模型預(yù)測結(jié)果對比
由表3可知,本文提出的GD-DNN模型預(yù)測巖爆烈度等級的準(zhǔn)確率達到95.8%,相比于傳統(tǒng)的機器學(xué)習(xí)算法KNN、SVM和深度學(xué)習(xí)算法DNN的預(yù)測效果,在準(zhǔn)確率上分別提高了45.8%、38.7%和8.3%,同時精確率、召回率和F1均優(yōu)于其他模型。
另外,由模型預(yù)測結(jié)果可知,深度學(xué)習(xí)模型相比于機器學(xué)習(xí)模型在各項指標(biāo)上都有明顯的提升。在解決了準(zhǔn)確率不高的問題后,將DNN模型和GD-DNN模型進一步分析對比,結(jié)果發(fā)現(xiàn)在訓(xùn)練時GD-DNN模型的準(zhǔn)確率、損失值和訓(xùn)練時間均優(yōu)于DNN模型,證明GD-DNN模型收斂速度更快,訓(xùn)練時間更短,其對比結(jié)果如圖8所示。
圖8 模型分析結(jié)果對比
為進一步檢驗GD-DNN模型的可行性,使用文獻[21]中秦嶺隧道、大相嶺隧道、通渝隧道和馬路坪礦井的5組實際工程數(shù)據(jù),如表4所示。然后將這些工程數(shù)據(jù)作為KNN、SVM、DNN和GD-DNN模型的輸入,最后對比各模型的預(yù)測結(jié)果,其預(yù)測結(jié)果如表5所示。
表4 工程數(shù)據(jù)
表5 預(yù)測結(jié)果
由表5可知,建立的GD-DNN模型100%預(yù)測出5個實際工程的巖爆烈度等級,利用GD-DNN模型,可以精準(zhǔn)預(yù)測巖爆烈度等級。另外,新的巖爆數(shù)據(jù)可以加入到巖爆樣本數(shù)據(jù)庫中進行訓(xùn)練并不斷優(yōu)化模型,以達到提高模型泛化能力的目的。
(1)綜合考慮礦山工程中的巖爆發(fā)生機制,本文創(chuàng)造性地選取應(yīng)力指數(shù)(σθ/σc)、脆性指數(shù)(σc/σt)、巖石彈性能量指數(shù)(Wet)作為巖爆預(yù)測指標(biāo),解決了單一指標(biāo)預(yù)測法準(zhǔn)確率較低的問題。
(2)提出并建立了一種基于梯度下降算法優(yōu)化深度神經(jīng)網(wǎng)絡(luò)的GD-DNN巖爆烈度等級預(yù)測模型,極大地提高了巖爆烈度等級預(yù)測的準(zhǔn)確率。
(3)最后在實際工程中檢驗?zāi)P偷念A(yù)測效果,結(jié)果表明GD-DNN模型預(yù)測的準(zhǔn)確率為100%,證明了本文模型在礦山工程中的可行性。