王樹斌,王旭,閆世平,王珂
(1.陜煤集團神木檸條塔礦業(yè)有限公司,陜西 榆林 719300;2.中國礦業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
礦井火災(zāi)是煤炭開采過程中的一種嚴(yán)重的安全事故,不僅會造成人員傷亡和巨大的財產(chǎn)損失,還會對環(huán)境和社會造成不可逆轉(zhuǎn)的影響。因此,對礦井安全狀況進行有效監(jiān)測,對火災(zāi)風(fēng)險的發(fā)展趨勢進行精準(zhǔn)預(yù)測,是煤炭安全生產(chǎn)的重要課題,也是保障礦工生命安全和提高生產(chǎn)效率的必要措施。
礦井火災(zāi)分為外因火災(zāi)和內(nèi)因火災(zāi)。內(nèi)因火災(zāi)是由于煤炭或其他易燃物質(zhì)自身氧化蓄熱并發(fā)生燃燒而引起的火災(zāi)。當(dāng)前監(jiān)測礦井安全狀況和預(yù)測礦井內(nèi)因火災(zāi)發(fā)展趨勢的主要方法[1-2]包括溫度監(jiān)測法[3-5]、煙霧監(jiān)測法、可見光圖像監(jiān)測法[6-8]、紅外圖像監(jiān)測法[9]、多參數(shù)融合監(jiān)測法[10]、氣體分析法。其中,溫度監(jiān)測法、煙霧監(jiān)測法通過傳感器監(jiān)測礦井溫度、煙霧,可見光圖像監(jiān)測法、紅外圖像監(jiān)測法分別通過可見光攝像頭和紅外攝像頭監(jiān)測礦井可見光、溫度,實現(xiàn)火災(zāi)監(jiān)測,這些方法并不能有效地預(yù)測早期火災(zāi)。多參數(shù)融合監(jiān)測法對礦井生產(chǎn)中的多種參數(shù)進行綜合分析,該方法雖具有較高的預(yù)測精度,但存在算法難度大、成本高的弊端。氣體分析法通過傳感器監(jiān)測礦井火災(zāi)產(chǎn)生的標(biāo)志性氣體的濃度變化,對礦井內(nèi)因火災(zāi)進行有效預(yù)測。
煤體在燃燒的各個時期都存在氣體濃度的變化,通過氣體分析法可有效監(jiān)測火災(zāi)的整個過程,同時氣體分析法所使用的算法復(fù)雜度較小,成本較低。許多學(xué)者采用氣體分析法對礦井火災(zāi)進行了廣泛研究。魏超等[11]依據(jù)煤自燃過程中各階段釋的放標(biāo)志性氣體不同的特點,以及采空區(qū)三帶靜態(tài)分布理論,給出了定性和定量判斷采空區(qū)煤自然發(fā)火狀況的方法,設(shè)計了基于激光氣體分析的礦井火災(zāi)預(yù)警裝置。侯毛偉等[12]采用光纖氣體傳感器監(jiān)測煤礦井下一氧化碳與氧氣等自然發(fā)火標(biāo)志氣體濃度,實現(xiàn)了全光纖火災(zāi)預(yù)測預(yù)警及綜合監(jiān)測,提高了煤礦安全生產(chǎn)系數(shù)。陳雅等[13]將特定氣體作為煤礦自燃的危機征兆,運用BP 神經(jīng)網(wǎng)絡(luò)建立了煤礦內(nèi)因火災(zāi)預(yù)測模型,該模型具有通用性、擴展性和高效性等優(yōu)點。劉永立等[14]利用采空區(qū)遺煤氧化過程產(chǎn)生的氣體構(gòu)建模型數(shù)據(jù)集,通過調(diào)整長短時記憶(Long Short Term Memory,LSTM)模型時間步長和迭代次數(shù),分析模型超參數(shù)對預(yù)測遺煤溫度的影響,提高了煤礦火災(zāi)的預(yù)測精度。以上方法在預(yù)測礦井內(nèi)因火災(zāi)中起到了一定的作用,但煤體燃燒是一個階段性過程,過程中產(chǎn)生的氣體濃度會隨著時間動態(tài)變化,呈現(xiàn)一定的趨勢性和周期性,通過分析時間序列的趨勢性和周期性,可對序列的未來走向進行預(yù)測。因此,將時間序列預(yù)測引入氣體分析法。
時間序列預(yù)測是一種利用歷史數(shù)據(jù)來預(yù)測未來數(shù)據(jù)的方法,在各行各業(yè)有著廣泛應(yīng)用。常見的時間序列預(yù)測算法在處理單一變量的簡單數(shù)據(jù)時有著較好的預(yù)測效果,但在預(yù)測數(shù)據(jù)量大的多變量數(shù)據(jù)時往往不能有效捕捉數(shù)據(jù)之間的長期依賴關(guān)系。而Transformer 算法是一種基于自注意力的神經(jīng)網(wǎng)絡(luò)模型,它不使用循環(huán)連接來處理序列數(shù)據(jù),可直接訪問整個輸入序列,直接處理非平穩(wěn)數(shù)據(jù),通過自注意力機制來計算每個時間步驟與其他時間步驟的相關(guān)性,從而捕捉到序列之間的長期依賴性和周期性。由于不使用循環(huán)連接,Transformer 還可進行并行化訓(xùn)練,且能更好地處理噪聲和異常值。通過查閱大量參考文獻,發(fā)現(xiàn)Transformer 算法在多領(lǐng)域得到了廣泛應(yīng)用[15-20],但在煤礦火災(zāi)預(yù)測方面的研究較少。針對上述問題,本文提出基于Transformer 的礦井內(nèi)因火災(zāi)時間序列預(yù)測方法。首先,采用Hampel濾波器和拉格朗日插值法對數(shù)據(jù)進行預(yù)處理,以提高數(shù)據(jù)的質(zhì)量和可用性。然后,基于Transformer 算法建立礦井內(nèi)因火災(zāi)時間序列預(yù)測模型。最后,通過實驗驗證該模型的可靠性。
基于Transformer 的礦井內(nèi)因火災(zāi)預(yù)測模型包含數(shù)據(jù)預(yù)處理、Transformer 算法、數(shù)據(jù)預(yù)測3 個主要模塊,如圖1 所示。采用Hampel 濾波器和拉格朗日插值法對數(shù)據(jù)進行預(yù)處理,將預(yù)處理后的數(shù)據(jù)輸入Transformer 算法模型進行訓(xùn)練,采用訓(xùn)練后的Transformer 算法模型對測試數(shù)據(jù)進行預(yù)測。
圖1 基于Transformer 的礦井內(nèi)因火災(zāi)預(yù)測模型Fig.1 Mine internal caused fire prediction model based on Transformer
實驗所用數(shù)據(jù)來自于井下氣體傳感器。在實際生產(chǎn)中,傳感器經(jīng)常會受到各種因素(如電磁、機械振動、溫度變化等)的干擾,易出現(xiàn)與真實值偏差較大的異常值。這些異常值會影響數(shù)據(jù)的質(zhì)量和可信度,從而降低模型的準(zhǔn)確性和穩(wěn)定性。此外,當(dāng)井下氣體傳感器出現(xiàn)故障時,也會導(dǎo)致一段時間的真實值缺失。這些缺失值會造成數(shù)據(jù)的不完整和不連續(xù),從而增加模型的復(fù)雜度和不確定性。因此,要對實驗數(shù)據(jù)進行預(yù)處理,以提高數(shù)據(jù)的質(zhì)量和可用性。
式中:yi為濾波后的第i個觀測值;xi為原始數(shù)據(jù)中的第i個觀測值;mi為以xi為中心的窗口內(nèi)數(shù)據(jù)的中位數(shù);h為閾值參數(shù),用于控制異常值檢測的靈敏度,h=3;si為以xi為中心的窗口內(nèi)數(shù)據(jù)的絕對偏差中位數(shù);S為符號函數(shù);c為常數(shù),c=1.482 6;M為中位數(shù)函數(shù);n為窗口大小。
采用拉格朗日插值法對缺失值進行填補,對于給定的k+1 個點 (x0,y0),(x1,y1),···,(xk,yk),找到一個次數(shù)不超過k的多項式L(x),使得L(xi)=yi對于所有i(i=0,1,···,k)成立。
式中:?j(x) 為拉格朗日基本多項式,在xj點處取值為1,而在其他點xi(i≠j)處取值為0;x為原始數(shù)據(jù)的觀測值。
Transformer 算法不使用傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò),而是完全依賴于自注意力機制來計算輸入和輸出,自注意力機制可捕捉序列中任意2 個位置之間的依賴關(guān)系,而不受距離的限制。
將輸入序列中每個位置映射為查詢向量Q、鍵向量K和值向量V,并通過點積運算和加權(quán)求和得到一個輸出向量。
式中:A為注意力;softmax 為歸一化函數(shù);dK為鍵向量的維度。
多頭自注意力機制是在自注意力機制的基礎(chǔ)上,將輸入序列中每個位置的向量分成H個子向量,分別進行自注意力計算后拼接,得到一個完整的輸出向量。多頭自注意力機制可使模型在關(guān)注不同子空間的同時,增加模型的多樣性和表達能力。
SourceBuf:存放未加密數(shù)據(jù)的緩沖區(qū)首地址;CodeLength:數(shù)據(jù)字節(jié)數(shù);DestBuf:存放加密后數(shù)據(jù)的緩沖區(qū)首地址;
Transformer 算法模型由編碼器和解碼器組成,如圖2 所示,每部分包含多個相同的層,每層又包含多頭自注意力子層和前饋神經(jīng)網(wǎng)絡(luò)子層。編碼器的輸入為過去時刻的協(xié)變量序列x1:(t-1)={x1,x2,···,xt-1}和目標(biāo)變量序列y1:(t-1)={y1,y2,···,yt-1},其中t為預(yù)測開始的時刻。解碼器的輸入為未來時刻的協(xié)變量序列xt:T={xt,xt+1,···,xT},其中T為預(yù)測的截止時刻。模型的輸出為未來時刻的目標(biāo)變量序列yt:T={yt,yt+1,···,yT}。序列數(shù)據(jù)因其時序性不能直接輸入模型,需經(jīng)過編碼處理后才能輸入,編碼分為數(shù)據(jù)編碼和位置編碼,它可增強Transformer 模型在時間序列預(yù)測任務(wù)上的表現(xiàn)。
圖2 Transformer 算法模型Fig.2 Transformer algorithm model
編碼器的作用是將輸入序列轉(zhuǎn)換為一個高維的向量表示。編碼器由N個相同的層堆疊而成,每層包括多頭自注意力子層和前饋神經(jīng)網(wǎng)絡(luò)子層。編碼器中第I層的多頭注意力子層的輸出為
式中:MI為多頭輸出;C為連接函數(shù);headH為第H個頭的輸出;WO為拼接矩陣,用于將多個頭的輸出子向量拼接起來,得到一個完整的輸出向量;headi為第i個頭的輸出;為多頭注意力子層的可學(xué)習(xí)參數(shù)矩陣,用于將輸入序列中每個位置的向量映射為Q,K,V。
前饋神經(jīng)網(wǎng)絡(luò)子層的作用是對每個位置的向量表示進行非線性變換,增加模型的表達能力。編碼器中第I層的前饋神經(jīng)網(wǎng)絡(luò)子層的輸出為
式中:max 為ReLU 激活函數(shù);W1,W2為可學(xué)習(xí)的參數(shù)矩陣;b1,b2為可學(xué)習(xí)的偏置向量。
解碼器的作用是根據(jù)編碼器的輸出和已生成的目標(biāo)序列來預(yù)測下一個目標(biāo)序列。解碼器由N個相同的層堆疊而成,每層包括多頭自注意力子層、編碼器-解碼器注意力子層和前饋神經(jīng)網(wǎng)絡(luò)子層。解碼器的多頭自注意力子層使用一個掩碼來遮蓋未生成的位置。帶掩碼的自注意力為
式 中 Mask 為掩碼操作。
解碼器中第I層的多頭自注意力子層的輸出為
式中AMask為解碼器多頭注意力子層第i個頭的自注意力。
編碼器-解碼器注意力子層的作用是計算已生成的目標(biāo)序列中每個位置與編碼器輸出中每個位置的相關(guān)性。解碼器中前饋神經(jīng)網(wǎng)絡(luò)子層的作用與編碼器中的相同。
煤體自燃一般要經(jīng)過潛伏期(即吸附氧化)、自熱期(即氧化聚熱)、發(fā)展期(即著火臨界階段)和發(fā)生明火4 個階段(個別煤種不一定經(jīng)過這4 個階段),不同階段產(chǎn)生的主要氣體有所不同[21]。以陜煤集團檸條塔煤礦井下火災(zāi)預(yù)警系統(tǒng)監(jiān)測的數(shù)據(jù)為例,該預(yù)警系統(tǒng)監(jiān)測了CO,O2,N2,CO2,C2H2,C2H4,C2H67 種氣體濃度。其中,C2H4主要產(chǎn)生于自熱期,C2H2主要產(chǎn)生于發(fā)展期,而CO 產(chǎn)生于煤體燃燒的整個過程,因此選取CO 作為預(yù)測礦井內(nèi)因火災(zāi)的標(biāo)志性氣體。
選擇平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)作為模型預(yù)測精度的評價指標(biāo)。MAE 和RMSE 可衡量預(yù)測值和真實值之間的誤差大小。MAE 和RMSE的值越小,說明預(yù)測值與真實值的差距越小,模型的預(yù)測精度越高。
式中:μMAE,μRMSE分別為平均絕對誤差、均方根誤差;m為樣本總數(shù)量;a為樣本數(shù)量;ya為真實值;為預(yù)測值。
本文選取陜煤集團檸條塔煤礦S1206 回風(fēng)隅角火災(zāi)預(yù)警的束管數(shù)據(jù)作為實驗數(shù)據(jù)。將80%的數(shù)據(jù)作為訓(xùn)練樣本,20%的數(shù)據(jù)作為測試樣本,根據(jù)數(shù)據(jù)維度和數(shù)據(jù)大小,確定了礦井內(nèi)因火災(zāi)預(yù)測模型中編碼器和解碼器的初始參數(shù),多頭注意力頭數(shù)為5,隱藏層大小為128,內(nèi)部層大小為64,前饋神經(jīng)網(wǎng)絡(luò)激活函數(shù)為ReLU。
時間步長為30、預(yù)測長度為10 時部分實驗結(jié)果如圖3 所示。MAE 為0.012 4,RMSE 為0.015 6??煽闯鯰ransformer 算法通過自注意力機制有效地捕捉了標(biāo)志性氣體序列的周期性和趨勢性,預(yù)測誤差在可接受范圍內(nèi),說明該模型能夠較好地建立數(shù)據(jù)之間的長期依賴性并進行較為精確的預(yù)測。
圖3 測試樣本中預(yù)測值與真實值的擬合曲線Fig.3 Fitting curve of predicted values and true values in test samples
煤體自燃的相關(guān)氣體由同一個系統(tǒng)產(chǎn)生,相互之間存在一定關(guān)聯(lián)性,若僅對CO 進行單一變量的預(yù)測,預(yù)測結(jié)果不夠精確。因此選取CO 作為目標(biāo)變量,O2,N2,CO2,C2H2,C2H4,C2H6作為協(xié)變量,將7 種氣體的序列同時輸入模型中來預(yù)測CO 的變化趨勢。對CO 進行單變量預(yù)測和多變量預(yù)測,結(jié)果如圖4 所示??煽闯龆嘧兞款A(yù)測精度較單變量預(yù)測精度高,說明多變量預(yù)測能通過捕捉序列間的相關(guān)性提高模型的預(yù)測精度。
圖4 對CO 進行單變量預(yù)測和多變量預(yù)測的擬合曲線Fig.4 Fitted curves for univariate and multivariate predictions for CO
在實際的生產(chǎn)活動中,需要的預(yù)測長度并非一成不變。而Transformer 算法的一次輸入值是由多個時間步的數(shù)據(jù)組成的。具體來說,對于一個長度為z的時間序列,將其分為c個長度為p的子序列,其中p是設(shè)定的時間步長。對于每個子序列,將后q個時間步長的數(shù)據(jù)作為輸出,將其前p-q個時間步長的數(shù)據(jù)作為輸入,得到多組輸入輸出對。這個過程可看作一個滑動窗口,通過調(diào)節(jié)滑動窗口的大小和步長就可實現(xiàn)不同時間維度的預(yù)測。通過調(diào)整不同輸入輸出長度,模型可學(xué)習(xí)到更多的時間序列信息,從而提高模型的泛化能力。這種方法可更好地處理長時間序列數(shù)據(jù),且在不犧牲模型性能的情況下減少計算成本。
基于Transformer 的礦井內(nèi)因火災(zāi)預(yù)測模型在不同時間步長和預(yù)測長度下的誤差見表1??煽闯霎?dāng)時間步長固定時,預(yù)測精度隨預(yù)測長度的增加而下降。當(dāng)預(yù)測長度固定時,預(yù)測精度隨時間步長增加而提高。該模型在不同時間步長和預(yù)測長度下均表現(xiàn)出良好的預(yù)測能力,說明該模型具有較強的泛化性。
表1 基于 Transformer 的礦井內(nèi)因火災(zāi)預(yù)測模型在不同時間步長下的誤差Table 1 Errors of mine internal caused fire prediction model based on Transformer under different time dimensions
將Transformer 算法與LSTM、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)算法進行對比,實驗結(jié)果見表2。以MAE 而言,Transformer 算法的預(yù)測精度較LSTM 算法和RNN 算法分別提高了7.1%~12.6%和20.9%~24.9%??梢娀赥ransformer的礦井內(nèi)因火災(zāi)預(yù)測模型是一種高效可靠的預(yù)測模型,可有效應(yīng)用于礦井內(nèi)因火災(zāi)的預(yù)測。
表2 不同算法預(yù)測結(jié)果比較Table 2 Comparison of the prediction results of the different algorithms
1)提出了基于Transformer 的礦井內(nèi)因火災(zāi)預(yù)測模型。基于氣體分析法,選取煤體燃燒過程中產(chǎn)生的相關(guān)氣體CO,O2,N2,CO2,C2H2,C2H4,C2H6作為模型輸入,將CO 作為目標(biāo)變量,其余氣體作為協(xié)變量。
2)多變量預(yù)測精度較單變量預(yù)測精度高,說明多變量預(yù)測能通過捕捉序列間的相關(guān)性提高模型的預(yù)測精度。
3)對模型在不同時間步長和不同預(yù)測長度下進行了多次訓(xùn)練,當(dāng)時間步長固定時,預(yù)測精度隨預(yù)測長度的增加而下降;當(dāng)預(yù)測長度固定時,預(yù)測精度隨時間步長增加而提高。
4)通過實例驗證,Transformer 算法的預(yù)測精度較LSTM 算法和RNN 算法分別提高了7.1%~12.6%和20.9%~24.9%。