郝天軒,陳國印,趙立楨,唐一舉
(1.河南理工大學 安全科學與工程學院,河南 焦作 454000;2.河南省瓦斯地質與瓦斯治理重點實驗室—省部共建國家重點實驗室培育基地,河南 焦作 454000;3.煤炭安全生產河南省協同創(chuàng)新中心,河南 焦作 454000)
煤炭在我國能源結構中占著非常大的比重,對經濟和社會的發(fā)展有著不可替代的作用,然而隨著煤炭不斷開采,煤與瓦斯突出等災害問題也嚴重威脅著煤礦企業(yè)的安全生產。預抽煤層瓦斯是防治煤與瓦斯突出的有效措施,鉆孔布置間距是煤層瓦斯抽采設計的關鍵,有效抽采半徑是鉆孔布置間距的一個十分重要的依據[1]。如果設計的鉆孔間距過小,很容易發(fā)生串孔事故,同時也增加了煤礦企業(yè)的安全成本,加劇了采掘接替緊張的局面;如果設計的鉆孔間距過大,則會形成抽采盲區(qū),易于引發(fā)煤礦安全事故[2]。所以,確定出合理的有效抽采半徑,對煤礦企業(yè)安全生產具有重要意義。
目前,有效抽采半徑的測定方法分為理論分析法、數值模擬法和現場實測法。理論分析法中的理論模型與現場實際存在一定偏差,且基本假設過于理想化,無法完全表征抽采鉆孔周圍煤體與瓦斯的流固耦合作用過程,致使有效半徑理論分析結果存在較大誤差,甚至存在與實際瓦斯抽采情況相差甚遠的現象[3];數值模擬法首先通過收集某礦的瓦斯基礎參數,然后建立某礦工作面抽采鉆孔周圍瓦斯流動數學模型,目前大多數人依據建立好的數學模型,并使用COMSOL模擬軟件作為輔助工具來實現有效抽采半徑數值預測[4-5];現場實測法包括瓦斯壓力降低法、瓦斯含量指標法、示蹤氣體法和鉆屑指標法。現場測試法測試難度大,人為因素干擾影響大,測試成本費用高,測量的效果還易受其他因素影響。上述方法計算其他礦的有效抽采半徑時,還需要重復上述的繁瑣操作過程,進而才能測得有效抽采半徑。由此造成了大量的時間、財力等浪費,因此,提出1種只需輸入礦井的主要影響參數,就能夠快速較準確地確定出礦井有效抽采半徑的方法,對于開展現場工作具有十分重要的現實意義。
鑒于此,本文提出基于Adam算法優(yōu)化深度神經網絡模型預測有效抽采半徑數值的方法。該預測模型充分利用深度神經網絡強大的非線性以及深度神經網絡學習能力,可挖掘和學習不精確并帶有噪聲的有效數據集中復雜的深層關系[6]。最后利用訓練好的最優(yōu)模型并結合Python編程語言,開發(fā)出計算有效抽采半徑的軟件,利用該軟件輸入礦井5個主要基本參數可以快速且較準確地計算出有效抽采半徑的數值。同時,選取四季春煤礦和鶴煤六礦進行了實例驗證。
深度神經網絡算法是將輸入數據映射到目標數據,嘗試在迭代中不斷改變權值從而減小預測解與目標解之間的差別,使目標解和模型解之間的誤差最小[7]。通過神經網絡回歸出來的并不是1個函數,而是1個訓練出來的預測模型,沒有相應的固定函數形式,而是n個數字特征,并且每層網絡間的數字特征是相互關聯的。
由輸入層、隱含層和輸出層組成深度神經網絡預測模型,深度神經網絡模型網絡拓撲結構中隱含層層數至少2層,如圖1所示。深度神經網絡預測模型的突出特點在于其具備多個隱含層,每層的神經元個數可使用經驗公式自行選擇。輸入層和輸出層神經元個數由具體實例問題決定,從輸入層到輸出層網絡單元間每一條鏈路都是1條可學習訓練的全連接鏈。與淺層神經網絡相比,深度神經網絡預測模型有遠超過淺層網絡的表達能力,對于復雜問題的處理能力表現得更好更強[8]。
圖1 深度神經網絡預測模型網絡拓撲結構
通常輸入層稱為第1層,輸出層稱為最后1層。假設第i層有ni個神經元,這些神經元輸入組成的向量為zi,輸出組成的向量為hi,令u=hI以區(qū)分最終輸出與隱含層的輸出,據深度神經網絡預測模型計算規(guī)則有式(1)~(2):
zi=wizi-1+bi,i=1,2,3,…,I
(1)
hi=fi(zi)
(2)
式中:wi∈Rni×ni-1為第i-1層到i層的權值矩陣;bi∈Rni為第i層的偏置向量;fi為第i層的激活函數。激活函數是模仿人腦神經元的閾值激活特性,向深度神經網絡預測模型中引入非線性特征。
本文隱含層和輸出層都選擇ReLU函數作為激活函數,因其訓練收斂速度更快,網絡稀疏性更強。ReLU[9]函數如式(3):
fi(zi)=max(0,zi)
(3)
預測模型進行誤差反向傳播能夠對超參數偏置和權重優(yōu)化調整,本文選擇均方誤差MSE函數作為預測模型的損失函數,MSE[10]函數如式(4):
(4)
預測模型使用誤差反向傳播對偏置及權重參數調優(yōu)。為了計算出實際輸出預測值,損失函數選擇MSE,因為MSE函數能夠很好地表達出預測值和實際輸出值的誤差大小,函數形式如式(4)所示。
深度神經網絡預測模型訓練的目標是基于隨機梯度下降Adam算法[11],使均方誤差MSE不斷減小,最終得到全局最優(yōu)解為止。Adam算法是1種學習率自適應矩估計,尋找全局最優(yōu)的優(yōu)化算法,Adam引入了二次梯度校正。Adam算法結合了AdaGrad算法和RMSProp算法的優(yōu)勢,Adam算法相對于其他種類算法有一定的優(yōu)越性,是比較常用的算法之一。Adam算法可高效地計算,所需內存少,超參數可很直觀地解釋,并且基本上只需極少量的調參等。但Adam算法的收斂性,在某些特殊情況下可能會不收斂。
Adam算法[8]優(yōu)化更新實現的具體過程如下:
Require:初始學習率η(默認為0.001)
Require:一階矩、二階矩估計的指數衰減速率β1,β2在區(qū)間[0,1)內,(一階矩β1,二階矩β2分別默認為0.9和0.999)
Require:用于數值穩(wěn)定的小常數δ(默認為10-8)
Require:初始參數θ
初始化一階矩向量s=0
初始化二階矩向量r=0
初始化時間步t=0
While沒有達到停止準則do
從訓練集中采包含n個樣本{x(1),…,x(n)}的小批量,對應目標為y(i)。
更新時間步:t←t+1
更新有偏一階矩估計:s←β1s+(1-β1)g
更新有偏二階矩估計:r←β2r+(1-β2)g⊙g
應用更新:θ←θ+Δθ
End while
基于Adam算法優(yōu)化深度神經網絡有效抽采半徑預測模型的預測流程如圖2所示。
圖2 基于Adam算法優(yōu)化神經網絡模型的有效抽采半徑預測流程
研究數據來源于知網近十年有關瓦斯有效抽采半徑的碩士、期刊論文[12-17]。通過對這些搜集到的參考文獻分析得出抽采負壓對有效抽采半徑影響較小,影響因素比較大的有煤層瓦斯初始滲透率、鉆孔直徑、抽采時間、地應力、煤層初始瓦斯壓力。除此之外,還考慮到增加負壓給煤礦企業(yè)帶來的經濟成本投入、實際效果及技術施工難度,因此,不考慮抽采負壓作為訓練數據的參數。確定煤層瓦斯初始滲透率、鉆孔直徑、抽采時間、地應力、煤層初始瓦斯壓力作為神經網絡方法訓練數據的輸入值,有效抽采半徑作為目標輸出值。本文收集整理的訓練樣本包括經過驗證的模擬值和實測值,共計970組學習樣本。所有數據樣本每組均由煤層瓦斯初始滲透率、鉆孔直徑、抽采時間、地應力、煤層初始瓦斯壓力及目標值有效抽采半徑組成。
隱含層神經元個數選取依據經驗公式以及實際訓練效果而定。通過對預測模型的實際訓練效果考察,最終確定本文神經網絡預測模型的網絡拓撲結構為5-8-8-8-8-1,如圖3所示,輸入層5個神經元,隱含層4層,每層神經元個數都是8,輸出層1個神經元。隱含層和輸出層激活函數都選擇ReLU函數,損失函數選擇MSE,并采用Adam算法訓練模型,設置的一些超參數已在1.2節(jié)介紹。此外,為了驗證預測效果準確性,在訓練前數據集全部打亂,使選取的測試樣本沒有任何規(guī)律可循,防止出現一些不必要的誤差。
圖3 有效抽采半徑預測模型網絡拓撲結構
首先輸入層輸入煤層瓦斯初始滲透率X1、鉆孔直徑X2、抽采時間X3、地應力X4、煤層初始瓦斯壓力X5等5個基本參數,接著初始化權重和偏置,然后進行前向傳播由輸入層到隱含層再到輸出層,輸出層得到的輸出預測值與樣本中輸出目標值Y有效抽采半徑參數進行均方誤差MSE處理,最后將得到的均方誤差MSE作為損失函數進行反向傳播調整權重和偏置。如此反復不斷迭代,最大迭代次數5 000次,使MSE達到最小為止,這即是完整的神經網絡處理過程。通過輸入的數據集進行不斷更新調整并優(yōu)化神經網絡模型,直到最后訓練得到1個預測輸出值和目標值誤差最小的神經網絡預測模型。最后保存訓練出的最優(yōu)模型,利用該預測模型輸入其他某礦的上述5個基本參數即可以進行有效抽采半徑數值的預測。
同樣,首先也要打亂測試集,然后從測試數據集中隨機選取2組數據作為測試數據,每組14個測試數據,把每組測試數據輸入訓練好的最優(yōu)模型預測輸出值,然后把測試數據得到的預測輸出值與測試數據樣本的輸出值繪制在1個圖上進行對比分析。如圖4~5所示,實線代表預測輸出值,虛線代表測試數據樣本的輸出值,從2個圖中可看出預測模型得到的預測值和測試數據樣本輸出值擬合的曲線較好。從而也驗證預測模型預測效果較好。
圖4 第1組測試數據對比
圖5 第2組測試數據對比
軟件設計遵循一致性原則、兼容性原則、適應性原則、指導性原則、結構性原則。軟件開發(fā)利用純開源工具,極大降低了開發(fā)成本。
3.1.1 軟件開發(fā)平臺
操作系統(tǒng):Windows10操作系統(tǒng)。Python庫:Pyside2,TensorFlow。IDE(集成開發(fā)環(huán)境):Pycharm。
3.1.2 軟件實現方法
前端基于Python Qt平臺界面設計與開發(fā),后端使用基于Python語言的TensorFlow包進行模型的訓練、保存及調用,最后打包為.exe文件。
運行.exe文件,程序會動態(tài)加載利用Python Qt平臺設計出軟件界面的.ui文件,以及加載保存的最優(yōu)預測模型.h5文件,并把預測模型的.h5文件作為1個預測模型使用,利用這個模型即可以根據輸入的基本參數計算出瓦斯有效抽采半徑。
3.1.3 軟件使用
運行軟件后進入登錄界面,接著點擊登錄界面(如圖6所示)的【登錄】按鈕即可跳轉到有效抽采半徑計算主界面。進入到主界面以后,可看到界面上有輸入參數一欄和有效抽采半徑計算一欄,在輸入參數一欄的地應力(MPa)、鉆孔直徑(mm)、抽采時間(d)、煤層初始瓦斯壓力(MPa)、煤層初始滲透率(m2×10-16)提示文本參數后輸入框,輸入需要計算的參數數值。最后在有效抽采半徑計算一欄點擊【計算】按鈕,即可看到計算出的結果顯示在有有效抽采半徑數值文字提示的單行文本框中,如圖7所示。
圖6 登錄界面
圖7 計算出結果界面
如果想要再次重新計算,只需在有效抽采半徑主界面輸入參數一欄輸入需要計算的參數數值,再次點擊【計算】按鈕,計算出的結果依然顯示在有效抽采半徑計算一欄的單行文本框內。
為了驗證保存好的基于Adam算法有效抽采半徑預測模型的準確性和適用性,本文選取樣本以外的其他2個礦進行有效抽采半徑計算驗證。選取四季春煤礦和鶴煤六礦進行有效抽采半徑預測,計算出結果界面如圖7所示,并記錄下計算值,其中收集的四季春煤礦已經給出數值模擬值、理論分析值以及實測值,鶴煤六礦給出了數值模擬值和實測值,最后對2個礦的瓦斯有效抽采半徑的計算值、給出的其他值與實測值進行對比分析,四季春煤礦有效抽采半徑結果對比見表1,鶴煤六礦有效抽采半徑結果對比見表2。
從表1可看出,計算值與實測值的相對誤差隨著抽采時間增加變化不大,相對誤差均穩(wěn)定在10%之內;理論計算值與實測值的相對誤差隨著抽采時間增加先減小后增加;數值模擬值與實測值的相對誤差先是隨著時間增加而減小,后隨時間增大而變大,并且相對誤差出現了超過10%的情況。由此可清楚地得到3個數值與實測值的相對誤差大小,總體來說神經網絡預測計算值的效果比較好,也可看出預測效果隨著抽采時間的增加變的越來越好。從表2可看出,計算值與實測值幾乎相等,計算值和實測值的相對誤差為1%,而數值模擬值與實測值相對誤差較大,這也說明本文模型的預測效果比較理想。
表1 四季春煤礦有效抽采半徑結果對比
表2 鶴煤六礦有效抽采半徑結果對比
1)根據收集到的970組數據集進行訓練,不斷優(yōu)化更新基于Adam算法的有效抽采半徑預測模型,最終得到基于Adam算法的深度神經網絡最優(yōu)預測模型。
2)通過對COMSOL模擬軟件得到的數值、神經網絡計算得到的數值及實測數值進行對比分析,可發(fā)現神經網絡模型計算數值與實測值比較接近,也說明神經網絡預測模型適用性較強。
3)以訓練好的最優(yōu)神經網絡模型為基礎,開發(fā)出有效抽采半徑數值計算軟件,使用該軟件計算出有效抽采半徑的方法與其他預測瓦斯有效抽采半徑方法相比,操作更加簡單、效率更高,不易受人為因素的影響,可為暫不具備現場測試條件的礦井抽采設計提供一定的參考依據。