王樹斌,王旭,閆世平,王珂
(1.陜煤集團神木檸條塔礦業有限公司,陜西 榆林 719300;2.中國礦業大學 計算機科學與技術學院,江蘇 徐州 221116)
礦井火災是煤炭開采過程中的一種嚴重的安全事故,不僅會造成人員傷亡和巨大的財產損失,還會對環境和社會造成不可逆轉的影響。因此,對礦井安全狀況進行有效監測,對火災風險的發展趨勢進行精準預測,是煤炭安全生產的重要課題,也是保障礦工生命安全和提高生產效率的必要措施。
礦井火災分為外因火災和內因火災。內因火災是由于煤炭或其他易燃物質自身氧化蓄熱并發生燃燒而引起的火災。當前監測礦井安全狀況和預測礦井內因火災發展趨勢的主要方法[1-2]包括溫度監測法[3-5]、煙霧監測法、可見光圖像監測法[6-8]、紅外圖像監測法[9]、多參數融合監測法[10]、氣體分析法。其中,溫度監測法、煙霧監測法通過傳感器監測礦井溫度、煙霧,可見光圖像監測法、紅外圖像監測法分別通過可見光攝像頭和紅外攝像頭監測礦井可見光、溫度,實現火災監測,這些方法并不能有效地預測早期火災。多參數融合監測法對礦井生產中的多種參數進行綜合分析,該方法雖具有較高的預測精度,但存在算法難度大、成本高的弊端。氣體分析法通過傳感器監測礦井火災產生的標志性氣體的濃度變化,對礦井內因火災進行有效預測。
煤體在燃燒的各個時期都存在氣體濃度的變化,通過氣體分析法可有效監測火災的整個過程,同時氣體分析法所使用的算法復雜度較小,成本較低。許多學者采用氣體分析法對礦井火災進行了廣泛研究。魏超等[11]依據煤自燃過程中各階段釋的放標志性氣體不同的特點,以及采空區三帶靜態分布理論,給出了定性和定量判斷采空區煤自然發火狀況的方法,設計了基于激光氣體分析的礦井火災預警裝置。侯毛偉等[12]采用光纖氣體傳感器監測煤礦井下一氧化碳與氧氣等自然發火標志氣體濃度,實現了全光纖火災預測預警及綜合監測,提高了煤礦安全生產系數。陳雅等[13]將特定氣體作為煤礦自燃的危機征兆,運用BP 神經網絡建立了煤礦內因火災預測模型,該模型具有通用性、擴展性和高效性等優點。劉永立等[14]利用采空區遺煤氧化過程產生的氣體構建模型數據集,通過調整長短時記憶(Long Short Term Memory,LSTM)模型時間步長和迭代次數,分析模型超參數對預測遺煤溫度的影響,提高了煤礦火災的預測精度。以上方法在預測礦井內因火災中起到了一定的作用,但煤體燃燒是一個階段性過程,過程中產生的氣體濃度會隨著時間動態變化,呈現一定的趨勢性和周期性,通過分析時間序列的趨勢性和周期性,可對序列的未來走向進行預測。因此,將時間序列預測引入氣體分析法。
時間序列預測是一種利用歷史數據來預測未來數據的方法,在各行各業有著廣泛應用。常見的時間序列預測算法在處理單一變量的簡單數據時有著較好的預測效果,但在預測數據量大的多變量數據時往往不能有效捕捉數據之間的長期依賴關系。而Transformer 算法是一種基于自注意力的神經網絡模型,它不使用循環連接來處理序列數據,可直接訪問整個輸入序列,直接處理非平穩數據,通過自注意力機制來計算每個時間步驟與其他時間步驟的相關性,從而捕捉到序列之間的長期依賴性和周期性。由于不使用循環連接,Transformer 還可進行并行化訓練,且能更好地處理噪聲和異常值。通過查閱大量參考文獻,發現Transformer 算法在多領域得到了廣泛應用[15-20],但在煤礦火災預測方面的研究較少。針對上述問題,本文提出基于Transformer 的礦井內因火災時間序列預測方法。首先,采用Hampel濾波器和拉格朗日插值法對數據進行預處理,以提高數據的質量和可用性。然后,基于Transformer 算法建立礦井內因火災時間序列預測模型。最后,通過實驗驗證該模型的可靠性。
基于Transformer 的礦井內因火災預測模型包含數據預處理、Transformer 算法、數據預測3 個主要模塊,如圖1 所示。采用Hampel 濾波器和拉格朗日插值法對數據進行預處理,將預處理后的數據輸入Transformer 算法模型進行訓練,采用訓練后的Transformer 算法模型對測試數據進行預測。

圖1 基于Transformer 的礦井內因火災預測模型Fig.1 Mine internal caused fire prediction model based on Transformer
實驗所用數據來自于井下氣體傳感器。在實際生產中,傳感器經常會受到各種因素(如電磁、機械振動、溫度變化等)的干擾,易出現與真實值偏差較大的異常值。這些異常值會影響數據的質量和可信度,從而降低模型的準確性和穩定性。此外,當井下氣體傳感器出現故障時,也會導致一段時間的真實值缺失。這些缺失值會造成數據的不完整和不連續,從而增加模型的復雜度和不確定性。因此,要對實驗數據進行預處理,以提高數據的質量和可用性。
式中:yi為濾波后的第i個觀測值;xi為原始數據中的第i個觀測值;mi為以xi為中心的窗口內數據的中位數;h為閾值參數,用于控制異常值檢測的靈敏度,h=3;si為以xi為中心的窗口內數據的絕對偏差中位數;S為符號函數;c為常數,c=1.482 6;M為中位數函數;n為窗口大小。
采用拉格朗日插值法對缺失值進行填補,對于給定的k+1 個點 (x0,y0),(x1,y1),···,(xk,yk),找到一個次數不超過k的多項式L(x),使得L(xi)=yi對于所有i(i=0,1,···,k)成立。
式中:?j(x) 為拉格朗日基本多項式,在xj點處取值為1,而在其他點xi(i≠j)處取值為0;x為原始數據的觀測值。
Transformer 算法不使用傳統的循環神經網絡或卷積神經網絡,而是完全依賴于自注意力機制來計算輸入和輸出,自注意力機制可捕捉序列中任意2 個位置之間的依賴關系,而不受距離的限制。
將輸入序列中每個位置映射為查詢向量Q、鍵向量K和值向量V,并通過點積運算和加權求和得到一個輸出向量。
式中:A為注意力;softmax 為歸一化函數;dK為鍵向量的維度。
多頭自注意力機制是在自注意力機制的基礎上,將輸入序列中每個位置的向量分成H個子向量,分別進行自注意力計算后拼接,得到一個完整的輸出向量。多頭自注意力機制可使模型在關注不同子空間的同時,增加模型的多樣性和表達能力。
SourceBuf:存放未加密數據的緩沖區首地址;CodeLength:數據字節數;DestBuf:存放加密后數據的緩沖區首地址;
Transformer 算法模型由編碼器和解碼器組成,如圖2 所示,每部分包含多個相同的層,每層又包含多頭自注意力子層和前饋神經網絡子層。編碼器的輸入為過去時刻的協變量序列x1:(t-1)={x1,x2,···,xt-1}和目標變量序列y1:(t-1)={y1,y2,···,yt-1},其中t為預測開始的時刻。解碼器的輸入為未來時刻的協變量序列xt:T={xt,xt+1,···,xT},其中T為預測的截止時刻。模型的輸出為未來時刻的目標變量序列yt:T={yt,yt+1,···,yT}。序列數據因其時序性不能直接輸入模型,需經過編碼處理后才能輸入,編碼分為數據編碼和位置編碼,它可增強Transformer 模型在時間序列預測任務上的表現。

圖2 Transformer 算法模型Fig.2 Transformer algorithm model
編碼器的作用是將輸入序列轉換為一個高維的向量表示。編碼器由N個相同的層堆疊而成,每層包括多頭自注意力子層和前饋神經網絡子層。編碼器中第I層的多頭注意力子層的輸出為
式中:MI為多頭輸出;C為連接函數;headH為第H個頭的輸出;WO為拼接矩陣,用于將多個頭的輸出子向量拼接起來,得到一個完整的輸出向量;headi為第i個頭的輸出;為多頭注意力子層的可學習參數矩陣,用于將輸入序列中每個位置的向量映射為Q,K,V。
前饋神經網絡子層的作用是對每個位置的向量表示進行非線性變換,增加模型的表達能力。編碼器中第I層的前饋神經網絡子層的輸出為
式中:max 為ReLU 激活函數;W1,W2為可學習的參數矩陣;b1,b2為可學習的偏置向量。
解碼器的作用是根據編碼器的輸出和已生成的目標序列來預測下一個目標序列。解碼器由N個相同的層堆疊而成,每層包括多頭自注意力子層、編碼器-解碼器注意力子層和前饋神經網絡子層。解碼器的多頭自注意力子層使用一個掩碼來遮蓋未生成的位置。帶掩碼的自注意力為
式 中 Mask 為掩碼操作。
解碼器中第I層的多頭自注意力子層的輸出為
式中AMask為解碼器多頭注意力子層第i個頭的自注意力。
編碼器-解碼器注意力子層的作用是計算已生成的目標序列中每個位置與編碼器輸出中每個位置的相關性。解碼器中前饋神經網絡子層的作用與編碼器中的相同。
煤體自燃一般要經過潛伏期(即吸附氧化)、自熱期(即氧化聚熱)、發展期(即著火臨界階段)和發生明火4 個階段(個別煤種不一定經過這4 個階段),不同階段產生的主要氣體有所不同[21]。以陜煤集團檸條塔煤礦井下火災預警系統監測的數據為例,該預警系統監測了CO,O2,N2,CO2,C2H2,C2H4,C2H67 種氣體濃度。其中,C2H4主要產生于自熱期,C2H2主要產生于發展期,而CO 產生于煤體燃燒的整個過程,因此選取CO 作為預測礦井內因火災的標志性氣體。
選擇平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)作為模型預測精度的評價指標。MAE 和RMSE 可衡量預測值和真實值之間的誤差大小。MAE 和RMSE的值越小,說明預測值與真實值的差距越小,模型的預測精度越高。
式中:μMAE,μRMSE分別為平均絕對誤差、均方根誤差;m為樣本總數量;a為樣本數量;ya為真實值;為預測值。
本文選取陜煤集團檸條塔煤礦S1206 回風隅角火災預警的束管數據作為實驗數據。將80%的數據作為訓練樣本,20%的數據作為測試樣本,根據數據維度和數據大小,確定了礦井內因火災預測模型中編碼器和解碼器的初始參數,多頭注意力頭數為5,隱藏層大小為128,內部層大小為64,前饋神經網絡激活函數為ReLU。
時間步長為30、預測長度為10 時部分實驗結果如圖3 所示。MAE 為0.012 4,RMSE 為0.015 6。可看出Transformer 算法通過自注意力機制有效地捕捉了標志性氣體序列的周期性和趨勢性,預測誤差在可接受范圍內,說明該模型能夠較好地建立數據之間的長期依賴性并進行較為精確的預測。

圖3 測試樣本中預測值與真實值的擬合曲線Fig.3 Fitting curve of predicted values and true values in test samples
煤體自燃的相關氣體由同一個系統產生,相互之間存在一定關聯性,若僅對CO 進行單一變量的預測,預測結果不夠精確。因此選取CO 作為目標變量,O2,N2,CO2,C2H2,C2H4,C2H6作為協變量,將7 種氣體的序列同時輸入模型中來預測CO 的變化趨勢。對CO 進行單變量預測和多變量預測,結果如圖4 所示。可看出多變量預測精度較單變量預測精度高,說明多變量預測能通過捕捉序列間的相關性提高模型的預測精度。

圖4 對CO 進行單變量預測和多變量預測的擬合曲線Fig.4 Fitted curves for univariate and multivariate predictions for CO
在實際的生產活動中,需要的預測長度并非一成不變。而Transformer 算法的一次輸入值是由多個時間步的數據組成的。具體來說,對于一個長度為z的時間序列,將其分為c個長度為p的子序列,其中p是設定的時間步長。對于每個子序列,將后q個時間步長的數據作為輸出,將其前p-q個時間步長的數據作為輸入,得到多組輸入輸出對。這個過程可看作一個滑動窗口,通過調節滑動窗口的大小和步長就可實現不同時間維度的預測。通過調整不同輸入輸出長度,模型可學習到更多的時間序列信息,從而提高模型的泛化能力。這種方法可更好地處理長時間序列數據,且在不犧牲模型性能的情況下減少計算成本。
基于Transformer 的礦井內因火災預測模型在不同時間步長和預測長度下的誤差見表1。可看出當時間步長固定時,預測精度隨預測長度的增加而下降。當預測長度固定時,預測精度隨時間步長增加而提高。該模型在不同時間步長和預測長度下均表現出良好的預測能力,說明該模型具有較強的泛化性。

表1 基于 Transformer 的礦井內因火災預測模型在不同時間步長下的誤差Table 1 Errors of mine internal caused fire prediction model based on Transformer under different time dimensions
將Transformer 算法與LSTM、循環神經網絡(Recurrent Neural Network,RNN)算法進行對比,實驗結果見表2。以MAE 而言,Transformer 算法的預測精度較LSTM 算法和RNN 算法分別提高了7.1%~12.6%和20.9%~24.9%。可見基于Transformer的礦井內因火災預測模型是一種高效可靠的預測模型,可有效應用于礦井內因火災的預測。

表2 不同算法預測結果比較Table 2 Comparison of the prediction results of the different algorithms
1)提出了基于Transformer 的礦井內因火災預測模型。基于氣體分析法,選取煤體燃燒過程中產生的相關氣體CO,O2,N2,CO2,C2H2,C2H4,C2H6作為模型輸入,將CO 作為目標變量,其余氣體作為協變量。
2)多變量預測精度較單變量預測精度高,說明多變量預測能通過捕捉序列間的相關性提高模型的預測精度。
3)對模型在不同時間步長和不同預測長度下進行了多次訓練,當時間步長固定時,預測精度隨預測長度的增加而下降;當預測長度固定時,預測精度隨時間步長增加而提高。
4)通過實例驗證,Transformer 算法的預測精度較LSTM 算法和RNN 算法分別提高了7.1%~12.6%和20.9%~24.9%。