艾迪昊 李 聰 榮 濤 李 凱
(中國(guó)礦業(yè)大學(xué) (北京)資源與安全工程學(xué)院,北京市海淀區(qū),100083)
隨著我國(guó)煤礦開采深度和強(qiáng)度的不斷增大,礦井瓦斯突出問題日益嚴(yán)重。礦井瓦斯突出是一個(gè)復(fù)雜的動(dòng)力學(xué)過程,與其影響因素之間存在著復(fù)雜的非線性關(guān)系,在進(jìn)行瓦斯突出分析時(shí)需要考慮多種因素的共同影響。人工神經(jīng)網(wǎng)絡(luò) (Artificial Neuron Network,ANN)是一種基于對(duì)人腦活動(dòng)機(jī)制和組織結(jié)構(gòu)的認(rèn)識(shí)所提出的新型信息處理方法,對(duì)非線性函數(shù)具有很強(qiáng)逼近和映射能力,近年來被一些學(xué)者應(yīng)用于解決具有高度非線性、復(fù)雜性以及模糊性的煤礦安全問題。但使用基本的神經(jīng)網(wǎng)絡(luò)算法的神經(jīng)網(wǎng)絡(luò)模型存在訓(xùn)練時(shí)間過長(zhǎng)和學(xué)習(xí)過程中易發(fā)生振蕩等缺點(diǎn)。利用Matlab的神經(jīng)網(wǎng)絡(luò)工具箱可以方便調(diào)用改進(jìn)的神經(jīng)網(wǎng)絡(luò)算法,很好地對(duì)樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)和擬合,進(jìn)而對(duì)煤與瓦斯突出程度進(jìn)行預(yù)測(cè),但此過程需要在Matlab中進(jìn)行復(fù)雜的操作并且需要操作人員有一定的神經(jīng)網(wǎng)絡(luò)知識(shí),不太適合在煤礦現(xiàn)場(chǎng)中直接使用。Labview 是美國(guó)國(guó)家儀器NI公司推出的具有良好開放性的虛擬儀器開發(fā)平臺(tái),廣泛應(yīng)用于實(shí)際工程中的測(cè)試測(cè)量、數(shù)據(jù)采集以及控制仿真等領(lǐng)域。利用Labview 中的ActiveX 技術(shù),可以方便地進(jìn)行Labview 和Matlab的混合編程。本文利用Matlab提供的神經(jīng)網(wǎng)絡(luò)工具箱和Labview 圖形化編程和數(shù)據(jù)采集能力,混合開發(fā)出基于改進(jìn)神經(jīng)網(wǎng)絡(luò)的瓦斯突出程度預(yù)測(cè)系統(tǒng)。
Labview 是一種使用圖形化編程語言的開發(fā)環(huán)境,其提供了各種在工業(yè)中使用的信息處理模塊和完善的標(biāo)準(zhǔn)庫函數(shù),可以方便地使用圖形化編程來構(gòu)建自己的虛擬儀器系統(tǒng),在硬件系統(tǒng)不變的情況下,通過改變軟件就可以實(shí)現(xiàn)不同的儀器儀表的功能,特別是針對(duì)煤礦現(xiàn)場(chǎng)使用Labview 既可以實(shí)時(shí)對(duì)采集的大量數(shù)據(jù)進(jìn)行保存又可以對(duì)保存數(shù)據(jù)進(jìn)行不同的處理。但是,Labview 在處理復(fù)雜的算法時(shí)很難滿足相應(yīng)的要求,而Matlab具有強(qiáng)大數(shù)值計(jì)算能力、完備的工具箱以及復(fù)雜的算法函數(shù)。通過Labview 提供的與多種語言的外部接口和ActiveX 技術(shù)可以實(shí)現(xiàn)Labview 和Matlab 的混合編程。本文通過Mathscript節(jié)點(diǎn)實(shí)現(xiàn)在Labview 中調(diào)用Matlab神經(jīng)網(wǎng)絡(luò)工具箱,完成煤與瓦斯突出程度預(yù)測(cè)系統(tǒng)的設(shè)計(jì)。
圖1 基本神經(jīng)網(wǎng)絡(luò)算法流程圖
基本BP神經(jīng)網(wǎng)絡(luò)雖然可以使權(quán)值和閾值向量得到一個(gè)穩(wěn)定的解,但是存在收斂速度慢、網(wǎng)絡(luò)易陷于局部極小和學(xué)習(xí)過程常常發(fā)生振蕩等缺點(diǎn),特別是由于最速下降BP 算法的訓(xùn)練時(shí)間往往過長(zhǎng),造成不便在實(shí)際工程中應(yīng)用。為了克服這些不足,出現(xiàn)了許多改進(jìn)算法,如動(dòng)量BP算法、學(xué)習(xí)速率可變的BP 算法、Fletcher-Reeves共軛梯度法和擬牛頓算法。其中共軛梯度法比絕大多數(shù)常規(guī)的梯度下降法收斂都要快,而且只需要增加很少的存儲(chǔ)量及計(jì)算量,適合在實(shí)際中應(yīng)用。
共軛梯度法的第一步是沿負(fù)梯度方向進(jìn)行搜索,然后沿當(dāng)前搜索方向的共軛方向進(jìn)行搜索,確定最優(yōu)迭代步長(zhǎng),最終使期望的輸出誤差達(dá)到訓(xùn)練要求。其過程描述如下:
第一次迭代的搜索方向確定為負(fù)梯度方向,即搜索方向S (X (0))=-▽f(X (0)),以后各次迭代的搜索方向由下式確定:
式中:X(k)——網(wǎng)絡(luò)所有的權(quán)值和閾值組成的向量;
S (X(k))——由X 的各分量組成的向量空間中的搜索方向;
η(k)——S (X(k))方 向 使f (X (k+1))=min {f[X(k)+η(k)S (X(k))]}達(dá)到極小的步長(zhǎng)。
表3中的相對(duì)誤差為正值表示相對(duì)于算法1的功耗計(jì)算結(jié)果,該算法的功耗計(jì)算結(jié)果將功耗“高估”,為負(fù)值則表示該算法的功耗計(jì)算結(jié)果將功耗“低估”.對(duì)實(shí)驗(yàn)所用的1000個(gè)MPRM電路做進(jìn)一步分析,在這些MPRM電路中,算法3和ACE2.0的動(dòng)態(tài)功耗計(jì)算結(jié)果和靜態(tài)功耗計(jì)算結(jié)果既存在“低估”的情形,也存在“高估”的情形,算法4動(dòng)態(tài)功耗計(jì)算結(jié)果的相對(duì)誤差均為0,靜態(tài)功耗計(jì)算結(jié)果均為“低估”.關(guān)于表3中的電路c8和m181,ACE2.0的平均動(dòng)態(tài)功耗計(jì)算結(jié)果的相對(duì)誤差為0,只是說明這兩個(gè)電路,其100個(gè)MPRM電路動(dòng)態(tài)功耗計(jì)算結(jié)果的“高估”部分和“低估”部分恰好相互抵消.
煤與瓦斯突出是在多種不同因素的共同作用下產(chǎn)生的復(fù)雜動(dòng)力現(xiàn)象,采用單一指標(biāo)很難對(duì)其進(jìn)行準(zhǔn)確預(yù)測(cè),必須考慮多種因素共同作用所產(chǎn)生的影響。
綜合指標(biāo)D、K 的值是由地應(yīng)力、瓦斯和煤的物理力學(xué)性質(zhì)共同決定的,它是判定煤層是否區(qū)域突出危險(xiǎn)性的重要指標(biāo)。當(dāng)D、K 值同時(shí)達(dá)到或者超過其規(guī)定的臨界指標(biāo)時(shí),表示該區(qū)域煤層具有突出危險(xiǎn)性。其中:
式中:H——開采深度,m;
Δp——瓦斯放散初速度,mmHg;
f——煤的堅(jiān)固性系數(shù);
P——煤層瓦斯壓力,MPa。
另外,礦井的地質(zhì)構(gòu)造會(huì)對(duì)煤與瓦斯的突出產(chǎn)生一定的影響。其中地質(zhì)構(gòu)造中的斷層破壞了煤層的連續(xù)性,使煤層瓦斯逸散條件發(fā)生變化。張扭性斷層有利于瓦斯的逸散,壓扭性斷層對(duì)瓦斯的逸散起阻擋作用,成為逸散屏障。
除了上述條件之外,在相同的條件之下,不同煤的破壞類型的孔隙結(jié)構(gòu)存在一定差異,會(huì)導(dǎo)致不同煤的破壞類型吸附性能不同,吸附性能不同進(jìn)而會(huì)導(dǎo)致瓦斯抽采能力不同。同時(shí)在瓦斯流動(dòng)理論方程中,瓦斯含量系數(shù)是影響瓦斯抽放難易程度的一個(gè)重要指標(biāo),而煤層瓦斯含量是影響煤與瓦斯突出的關(guān)鍵因素。
根據(jù)上述分析,綜合考慮神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度,選取對(duì)煤與瓦斯突出預(yù)測(cè)有重要影響的7個(gè)參數(shù)為神經(jīng)網(wǎng)絡(luò)的輸入層,分別為瓦斯放散初速度、煤的破壞類型指標(biāo)、煤層瓦斯壓力、地質(zhì)構(gòu)造類型指標(biāo)、煤的堅(jiān)固性系數(shù)、煤層瓦斯含量以及煤層開采深度。
Robert證明只要隱層節(jié)點(diǎn)數(shù)足夠多,只含有一個(gè)隱層的神經(jīng)網(wǎng)絡(luò)模型就可以以任意的精度逼近一個(gè)非線性函數(shù),因此本文中的模型選擇采用一個(gè)隱藏層,隱藏層節(jié)點(diǎn)數(shù)根據(jù)經(jīng)驗(yàn)公式選擇為10個(gè)。
對(duì)于輸出層,按照煤與瓦斯突出強(qiáng)度的大小將其編碼為沒有突出、小型突出、中型突出和大型突出四類,設(shè)置四類的期望輸出值分別為 (0,0,0,1)、 (0,0,1,0)、 (0,1,0,0)、 (1,0,0,0)。
選取國(guó)內(nèi)典型突出礦井10組不同煤層7個(gè)參數(shù)的實(shí)測(cè)數(shù)據(jù)為神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)的樣本集進(jìn)行訓(xùn)練,如表1所示。
表1 訓(xùn)練樣本數(shù)據(jù)
綜上所述,此神經(jīng)網(wǎng)絡(luò)模型由7個(gè)輸入層神經(jīng)元、10個(gè)隱層神經(jīng)元和4 個(gè)輸出層神經(jīng)元構(gòu)成,初始化設(shè)定學(xué)習(xí)速率為0.01,最大訓(xùn)練次數(shù)為1000次,訓(xùn)練要求精度為0.0001,模型的權(quán)值和閾值的初始值為隨機(jī)賦值,傳遞函數(shù)分別選擇tansig和purline,訓(xùn)練函數(shù)為triancgf。
Labview 和Matlab 進(jìn)行混合編程時(shí),使用Labview 設(shè)計(jì)用戶圖形界面,負(fù)責(zé)數(shù)據(jù)的采集、輸入、顯示、保存和通信;Matlab在后臺(tái)提供復(fù)雜算法供Labview 調(diào)用。本文利用MatlabScript 節(jié)點(diǎn)實(shí)現(xiàn)Matlab的調(diào)用。對(duì)MatlabScript節(jié)點(diǎn)的使用既可以將已經(jīng)調(diào)試好的M 文件導(dǎo)入節(jié)點(diǎn)中去,也可以在程序框圖中直接輸入程序。
本文設(shè)計(jì)的瓦斯突出預(yù)測(cè)系統(tǒng)分為原始數(shù)據(jù)的采集和保存、改進(jìn)神經(jīng)網(wǎng)絡(luò)的建立以及預(yù)測(cè)結(jié)果數(shù)據(jù)的保存三大部分。其中數(shù)據(jù)采集和保存部分主要是設(shè)置采集端口和文件保存的路徑,神經(jīng)網(wǎng)絡(luò)的建立是整個(gè)系統(tǒng)的核心。在建立神經(jīng)網(wǎng)絡(luò)模型時(shí)首先考慮輸入層和輸出層數(shù)據(jù)類型和大小,通過定義矩陣的方式設(shè)置輸入和輸出的樣本數(shù)據(jù),接著在Labview 的前面板中添加神經(jīng)網(wǎng)絡(luò)仿真參數(shù),通過定義輸入數(shù)據(jù)來設(shè)置在仿真時(shí)的學(xué)習(xí)速率、期望誤差等參數(shù)。之后在Labview 的程序框圖中調(diào)用Mathscript腳本,在腳本框內(nèi)輸入神經(jīng)網(wǎng)絡(luò)仿真的Matlab程序代碼,最后設(shè)置數(shù)據(jù)的輸出和保存。
通過Matlab神經(jīng)網(wǎng)絡(luò)工具箱,輸入相應(yīng)的訓(xùn)練樣本數(shù)據(jù),Matlab進(jìn)行運(yùn)算,當(dāng)達(dá)到預(yù)先設(shè)定的精度要求時(shí),自動(dòng)停止運(yùn)算,神經(jīng)網(wǎng)絡(luò)誤差曲線如圖2所示。圖中x軸表示整個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的次數(shù),y軸表示整個(gè)神經(jīng)網(wǎng)絡(luò)預(yù)期的精度誤差要求,隨著學(xué)習(xí)次數(shù)的不斷增大,精度誤差逐漸減小。
可以看出此神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練次數(shù)達(dá)到50次時(shí)就可以達(dá)到訓(xùn)練要求的精度,當(dāng)訓(xùn)練次數(shù)達(dá)到100次時(shí)網(wǎng)絡(luò)收斂,克服了基本BP 神經(jīng)網(wǎng)絡(luò)收斂速度慢的缺點(diǎn)。
仿真輸出數(shù)據(jù)如表2所示。由表2可以看出網(wǎng)絡(luò)期望輸出與學(xué)習(xí)結(jié)果的值之間的誤差很小,最大的平均絕對(duì)誤差值小于0.3%,表示此神經(jīng)網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)進(jìn)行了很好的學(xué)習(xí),可以表示其輸入和輸出之間復(fù)雜的映射關(guān)系。
圖2 神經(jīng)網(wǎng)絡(luò)誤差曲線
在神經(jīng)網(wǎng)絡(luò)達(dá)到預(yù)期的誤差精度要求后,使用檢驗(yàn)數(shù)據(jù)對(duì)此神經(jīng)網(wǎng)絡(luò)模型進(jìn)行檢驗(yàn),通過輸入2組實(shí)測(cè)數(shù)據(jù),觀察網(wǎng)絡(luò)預(yù)測(cè)輸出與實(shí)際值的差異,檢驗(yàn)數(shù)據(jù)如表3所示。
預(yù)測(cè)結(jié)果如表4所示。從表4可以得出預(yù)測(cè)輸出的結(jié)果與實(shí)際結(jié)果之間的平均絕對(duì)誤差值小于5%,說明此系統(tǒng)可以很好地根據(jù)樣本數(shù)據(jù)進(jìn)行學(xué)習(xí),可以對(duì)瓦斯突出程度進(jìn)行有效地預(yù)測(cè)。
表2 仿真輸出數(shù)據(jù)
表3 檢驗(yàn)數(shù)據(jù)
表4 預(yù)測(cè)結(jié)果
(1)通過Labview 和Matlab混合編程,實(shí)現(xiàn)了基于改進(jìn)神經(jīng)網(wǎng)絡(luò)的瓦斯突出程度預(yù)測(cè)系統(tǒng),相比于在Matlab中直接進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,既增加了數(shù)據(jù)的采集和仿真結(jié)果的保存功能,又簡(jiǎn)化了仿真過程,每次只需要輸入訓(xùn)練樣本和進(jìn)行參數(shù)設(shè)置,就可以進(jìn)行神經(jīng)網(wǎng)絡(luò)的仿真,使神經(jīng)網(wǎng)絡(luò)在實(shí)際的工程中有一定的應(yīng)用價(jià)值。
(2)采用改進(jìn)的FR 共軛梯度算法神經(jīng)網(wǎng)絡(luò),有效避免了基本神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間過長(zhǎng)和學(xué)習(xí)過程中易發(fā)生振蕩的缺點(diǎn)。
(3)將影響煤與瓦斯突出的因素進(jìn)行綜合考慮,避免了單一因素的片面性,通過實(shí)際結(jié)果與預(yù)測(cè)數(shù)據(jù)的比較,可以得出此神經(jīng)網(wǎng)絡(luò)模型對(duì)瓦斯突出程度預(yù)測(cè)準(zhǔn)確度較高,基本可以反映煤與瓦斯突出程度與其影響因素之間的非線性關(guān)系。
(4)將Labview 完善的數(shù)據(jù)采集功能、友好的界面和Matlab強(qiáng)大的數(shù)值計(jì)算功能應(yīng)用于煤礦現(xiàn)場(chǎng)應(yīng)用軟件系統(tǒng)的開發(fā),為快速開發(fā)功能完善的智能化礦山系統(tǒng)提供了一條新的途徑。
[1] 王捷帆,李文俊 .中國(guó)煤礦事故暨專家點(diǎn)評(píng)集[M].北京:煤炭工業(yè)出版社,2002
[2] 尹光志,李銘輝等.基于改進(jìn)神經(jīng)網(wǎng)絡(luò)的煤體瓦斯?jié)B透率預(yù)測(cè)模型 [J].煤炭學(xué)報(bào),2013(7)
[3] 高洪濤,陳曉寧等.基于LabVIEW 與MATLAB平臺(tái)的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與應(yīng)用研究 [J].自動(dòng)化技術(shù)與應(yīng)用,2012(2)
[4] 焦川,李艾華 .基于ActiveX 技術(shù)下LabVIEW 與MATLAB 的通訊實(shí)現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2000(7)[5] 史峰.Matlab 神經(jīng)網(wǎng)絡(luò)30 個(gè)案例分析 [M] .北京:北京航空航天大學(xué)出版社,2010
[6] 田麗云,周利華.基于BP 神經(jīng)網(wǎng)絡(luò)的煤與瓦斯突出預(yù)測(cè)方法的研究 [J] .系統(tǒng)工程理論與實(shí)踐,2005 (12)
[7] 張德豐 .Matlab 神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì) [M] .北京:機(jī)械工業(yè)出版社,2011
[8] 任浩源.BP神經(jīng)網(wǎng)絡(luò)在煤與瓦斯突出危險(xiǎn)性預(yù)測(cè)中的應(yīng)用研究 [D].西安科技大學(xué),2012
[9] 吳觀茂,黃明等.基于BP 神經(jīng)網(wǎng)絡(luò)的瓦斯含量預(yù)測(cè) [J].煤田地質(zhì)與勘探,2008 (1)
[10] 周少華.焦作礦區(qū)不同破壞類型煤的瓦斯吸附特性研究 [D].河南理工大學(xué),2011
[11] 王軼波,徐阿猛等.基于Matlab 的神經(jīng)網(wǎng)絡(luò)工具箱在礦井瓦斯治理中的應(yīng)用 [J] .煤礦安全,2010 (3)
[12] 馬克偉,袁梅等.基于人工神經(jīng)網(wǎng)絡(luò)的煤礦安全事故預(yù)測(cè)研究 [J].中國(guó)煤炭,2010 (2)