張昱,張明魁
(1.北京建筑大學電氣與信息工程學院,建筑大數據智能處理方法研究北京市重點實驗室,北京 100044;2.中國礦業大學(北京),深部巖土力學與地下工程國家重點實驗室,北京 100083)
巖爆屬于突發性的地質災害,在短時間內產生極大的破壞性[1-2],其嚴重影響了工程進度,對工人的人身安全造成威脅[3],為精準預測巖爆烈度等級,國內外學者做了眾多相關工作[4-5]。
在巖爆烈度等級預測的相關工作中,國內外眾多學者主要使用單一指標預測法和綜合指標預測法兩種方法進行研究。單一指標預測法主要包括E.Hoek方法、Russense判據和陶振宇判據[6-8],但是單一指標預測法存在預測結果不準確的弊端。綜合指標預測法主要是針對巖爆成因機制復雜提出的研究方法,其預測效果優于單一指標預測法。近年來機器學習和深度學習方法被廣泛應用到巖爆烈度等級預測的工作中[9-10],張鈞博等[11]采用基于交叉驗證的XGBoost(eXtreme Gradient Boosting)算法解決因樣本數據較少產生的預測結果不準確的問題。田睿等[12]構建基于dropout和改進的基于Adam的深度神經網絡模型,避免了指標權重的確定問題,減少了預測時人為因素產生的影響。楊小彬等[13]提出基于SOFM(self-organizing feature map)神經網絡模型的巖爆烈度等級預測方法,簡化了巖爆烈度等級預測指標體系,從而提高了預測準確率。劉曉悅等[14]建立AdaBoost-BAS-SVM(AdaBoost-beetle antennae search-support vector machine)模型來解決巖爆等級預測過程中單一分類器不穩定問題。Guo等[15]建立了標準差權重組合的BP-SVM(back propagation-support vector machine)模型,其預測效果優于傳統的單一機器學習方法。劉劍等[16]運用修正散點圖矩陣分析數據,用優化后隨機森林模型進行預測。
在上述巖爆烈度等級預測方法中,都取得了較好的成果,但也都存在著準確率不高、訓練時間長的問題。為了解決上述兩個問題,現提出并建立基于梯度下降算法優化深度神經網絡的[17-18]的梯度下降-深度神經網絡(gradient descent-deep neural network,GD-DNN)巖爆烈度等級預測模型,再對模型進行訓練和測試,最后在秦嶺隧道、大相嶺隧道、通渝隧道和馬路坪礦井4個實際工程中檢驗模型的預測效果。
本文中提出的GD-DNN模型,其架構主要包括數據處理、模型建立和模型預測三部分,如圖1所示。

圖1 模型架構
該模型架構中數據處理部分主要是從輸入的訓練樣本中選取最優的巖爆預測指標并進行數據歸一化處理;模型建立部分主要是建立GD-DNN模型并訓練,然后通過計算出準確率和損失值兩項評估指標來判斷模型是否滿足評價標準,若不滿足則重新訓練模型并計算評估指標;模型預測部分主要是將待測試的數據輸入到通過不斷訓練得到的最優模型中,然后輸出巖爆烈度等級。
GD-DNN模型主要包含五部分,分別為輸入、DNN層、優化層、Softmax層、輸出。其原理如圖2所示。

圖2 模型原理
由于巖爆樣本數據的數據量較小,所以建立的GD-DNN模型在深度神經網絡的基礎上使用梯度下降算法進行優化,加快了模型尋找最優值的速度;然后在Softmax層使用交叉熵損失函數加快模型收斂速度;最后采用分層10折交叉驗證法來選擇最優的模型參數并輸出最終的預測結果,各部分的具體原理如下。
(1)輸入:將選取的三類巖爆預測指標應力指數(σθ/σc)、脆性指數(σc/σt)、巖石彈性能量指數(Wet)作為模型的輸入,其中σθ為硐壁圍巖最大切向應力;σc為巖石單軸抗壓強度;σt為巖石單軸抗拉強度。然后對數據進行歸一化處理,已達到在訓練模型時加快模型收斂速度的目的,具體公式為
(1)
式(1)中:x為原始數據;x′為歸一化后的數據;xmax和xmin分別為原始數據集的最大值和最小值。
(2)DNN層:在DNN層中,各層之間的線性關系z為
z=∑wixi+b
(2)
式(2)中:wi為層與層之間的線性關系系數;xi為輸入值向量;b為偏倚參數。此層選取的激活函數是f(z),隱含層和輸出層的值為a,則有
(3)
由式(3)可知,第l層的輸出al為
al=f(Wlal-1+Bl)
(4)
式(4)中:Wl為第l層的線性系數wi組成的權重系數矩陣;Bl為第l層的偏倚參數b組成的偏倚向量。然后將輸出層的數據傳輸到梯度下降優化器中進一步處理。
(3)優化層:為了更快地更新參數并達到收斂的目的,設計了梯度下降優化器來不斷地對訓練的參數進行調整。首先確定當前損失函數的梯度,表達式為
(5)
式(5)中:W、B分別代表DNN層中傳輸過來的權重系數和偏倚向量。然后通過對學習率α的不斷調整來更新W和B,即
(6)
(7)
通過重復更新W和B,使得損失函數的值越來越小,直至數值收斂。
(4)Softmax層:模型中使用的是交叉熵損失函數,將數據的真實分布和模型預測分布的差異進行比較,交叉熵損失函數越小,差異越小,模型預測的準確率就越高。交叉熵的定義為
(8)
式(8)中:p(xi)為隨機變量X等于xi的真實概率,來源于已標注的樣本數據;q(xi)為模型得出的隨機變量X等于xi的概率。
(5)輸出:在輸出層為了提高模型預測,采取分層10折交叉驗證法將巖爆樣本數據隨機分為十部分,其中九部分為訓練,一部分作為驗證。訓練和驗證過程執行十次。最后,以10次預測結果的最優值作為衡量模型預測效果的指標。
由模型原理可以得出GD-DNN模型求解運算步驟,具體步驟如圖3所示。

圖3 模型求解運算步驟
由于影響巖爆發生因素眾多且成因機制復雜,導致巖爆烈度等級判據尚無統一標準,目前在相關研究中常用的巖爆烈度等級判據如表1所示[19]。

表1 巖爆烈度等級判據
由表1可知,以上判據均為單一指標,其預測效果并不理想。由于巖爆發生機制復雜,影響因素較多,為了提高巖爆烈度等級預測的準確率,本文使用斯皮爾曼系數法進行相關性分析[20],最終選取兩兩之間相關性最低的應力指數(σθ/σc)、脆性指數(σc/σt)、巖石彈性能量指數(Wet)作為預測巖爆烈度等級的巖爆預測指標。
搜集國內外67組巖爆樣本數據[15],如表2所示。其中巖爆烈度分為4個等級:無巖爆、輕微巖爆、中等巖爆、強烈巖爆,分別用數字1、2、3、4來表示。

表2 巖爆樣本數據
在所搜集的樣本數據中,包含無巖爆10例、輕微巖爆18例、中等巖爆28例、強烈巖爆11例,各類別樣本所占比例如圖4所示。
為進一步分析巖爆樣本數據,將巖爆預測指標應力指數(σθ/σc)、脆性指數(σc/σt)、巖石彈性能量指數(Wet)的異常值進行數據可視化處理,如圖5~圖7所示。

圖5 應力指數箱線圖

圖6 脆性指數箱線圖

圖7 巖石彈性能量指數箱線圖
由圖5~圖7可知,三類巖爆預測指標中都含有異常值,數據中異常值的產生與復雜的巖爆成因機制相關。傳統的預測方法中都將異常值從樣本數據中刪除,但在本文研究中并未將異常值從巖爆樣本數據中刪除,而是將異常值數據同巖爆樣本數據一起輸入到模型中進行訓練和測試。
為了驗證GD-DNN模型在巖爆烈度等級預測方面的有效性,在實驗中將準確率、精確率、召回率和F1作為模型性能的評估指標,隨后將KNN、SVM、DNN和GD-DNN模型分別在測試集上進行實驗并對比分析,結果如表3所示。

表3 模型預測結果對比
由表3可知,本文提出的GD-DNN模型預測巖爆烈度等級的準確率達到95.8%,相比于傳統的機器學習算法KNN、SVM和深度學習算法DNN的預測效果,在準確率上分別提高了45.8%、38.7%和8.3%,同時精確率、召回率和F1均優于其他模型。
另外,由模型預測結果可知,深度學習模型相比于機器學習模型在各項指標上都有明顯的提升。在解決了準確率不高的問題后,將DNN模型和GD-DNN模型進一步分析對比,結果發現在訓練時GD-DNN模型的準確率、損失值和訓練時間均優于DNN模型,證明GD-DNN模型收斂速度更快,訓練時間更短,其對比結果如圖8所示。

圖8 模型分析結果對比
為進一步檢驗GD-DNN模型的可行性,使用文獻[21]中秦嶺隧道、大相嶺隧道、通渝隧道和馬路坪礦井的5組實際工程數據,如表4所示。然后將這些工程數據作為KNN、SVM、DNN和GD-DNN模型的輸入,最后對比各模型的預測結果,其預測結果如表5所示。

表4 工程數據

表5 預測結果
由表5可知,建立的GD-DNN模型100%預測出5個實際工程的巖爆烈度等級,利用GD-DNN模型,可以精準預測巖爆烈度等級。另外,新的巖爆數據可以加入到巖爆樣本數據庫中進行訓練并不斷優化模型,以達到提高模型泛化能力的目的。
(1)綜合考慮礦山工程中的巖爆發生機制,本文創造性地選取應力指數(σθ/σc)、脆性指數(σc/σt)、巖石彈性能量指數(Wet)作為巖爆預測指標,解決了單一指標預測法準確率較低的問題。
(2)提出并建立了一種基于梯度下降算法優化深度神經網絡的GD-DNN巖爆烈度等級預測模型,極大地提高了巖爆烈度等級預測的準確率。
(3)最后在實際工程中檢驗模型的預測效果,結果表明GD-DNN模型預測的準確率為100%,證明了本文模型在礦山工程中的可行性。