王靜文,王博文
(1.黃河水利職業(yè)技術(shù)學(xué)院信息工程學(xué)院,河南 開封 475000;2.中煤科工集團(tuán)重慶研究院有限公司,重慶 400050)
礦用傳感器(如甲烷、氧氣、硫化氫等傳感器)構(gòu)成了煤礦安全系統(tǒng)的感知層,對煤礦安全生產(chǎn)起著至關(guān)重要的作用。
市場上,礦用傳感器大部分基于電化學(xué)原理。傳感器敏感元件與被檢測氣體接觸后發(fā)生電化學(xué)反應(yīng)。電化學(xué)反應(yīng)會引起傳感器內(nèi)部電橋輸出電壓發(fā)生變化。傳感器處理器可以根據(jù)電橋輸出電壓的變化,計算出被檢測氣體的濃度。當(dāng)傳感器工作環(huán)境內(nèi)的可燃?xì)怏w濃度較大時,煤礦安全監(jiān)控系統(tǒng)會立即執(zhí)行斷電操作,通過斷開井下輸電線路來避免瓦斯爆炸事故。在礦井環(huán)境下,電化學(xué)傳感器受到諸如電磁干擾、濕度、震動、雜質(zhì)氣體等復(fù)雜因素的影響,會不可避免地產(chǎn)生無效數(shù)據(jù)。無效數(shù)據(jù)會引發(fā)電化學(xué)傳感器的錯誤告警現(xiàn)象。錯誤告警往往被安全監(jiān)控系統(tǒng)當(dāng)作危險信號而執(zhí)行斷電操作,會造成不必要的損失。
國內(nèi)外對傳感器檢測精度及誤差的研究很多,但是沒有反向傳播(back propagution,BP)神經(jīng)網(wǎng)絡(luò)技術(shù)用于模擬電化學(xué)傳感器特性及無效數(shù)據(jù)過濾的研究。國內(nèi)外學(xué)者對傳感器誤差的自動校正研究主要是通過數(shù)學(xué)模型預(yù)估傳感器實時輸出值,并將其與傳感器實際值進(jìn)行對比、判斷、分析,從而調(diào)整誤差。這種方法無法對導(dǎo)致傳感器輸出無效數(shù)據(jù)的各種因素進(jìn)行有效識別。
本文在BP神經(jīng)網(wǎng)絡(luò)的電力施工進(jìn)度預(yù)警方法研究[1]及電化學(xué)原理傳感器特性曲線分析的基礎(chǔ)上,結(jié)合其他相關(guān)神經(jīng)網(wǎng)絡(luò)的文獻(xiàn)論述,著重討論了神經(jīng)網(wǎng)絡(luò)技術(shù)在分析處理電化學(xué)原理傳感器無效數(shù)據(jù)過濾時的技術(shù)先進(jìn)性和可行性。本文設(shè)計了基于BP神經(jīng)網(wǎng)絡(luò)的傳感器無效數(shù)據(jù)過濾器,以解決因無效數(shù)據(jù)而引起的安全監(jiān)控系統(tǒng)錯誤斷電問題。
催化原理的可燃?xì)怏w傳感器中,常見的有甲烷氣體檢測傳感器。
甲烷傳感器故障現(xiàn)象及原因如表1所示。
表1 甲烷傳感器故障現(xiàn)象及原因
電化學(xué)可燃?xì)怏w檢測傳感器利用催化無焰燃燒的熱效應(yīng)原理,由檢測元件和補(bǔ)償元件(俗稱黑、白元件)構(gòu)成測量電橋,以檢測可燃?xì)怏w濃度。
傳感器處理器根據(jù)測量電橋中檢測元件電阻阻值變化導(dǎo)致的輸出電壓信號,計算被檢測的可燃?xì)怏w濃度。其具體原理是,在一定溫度條件下,可燃?xì)怏w在檢測元件載體表面及催化劑的作用下發(fā)生無焰燃燒,使檢測元件溫度升高。此時,檢測元件內(nèi)部鉑絲電阻阻值也相應(yīng)變大。這樣電橋就會失去平衡,并輸出1個與可燃?xì)怏w濃度成正比的電壓信號。通過換算,即可計算出可燃?xì)怏w的濃度。
催化類傳感器檢測電路由檢測元件、補(bǔ)償元件以及滑動變阻器構(gòu)成。電路的a點接在單片機(jī)模擬/數(shù)字(analog/digitalg,A/D)采樣的PA1輸入口,b點接地。補(bǔ)償元件相比檢測元件內(nèi)部沒有鉑絲,主要用于溫度補(bǔ)償,以避免電橋零點漂移[2]。
催化傳感器檢測電路如圖1所示。
圖1 催化傳感器檢測電路圖
Uo為a、b兩端點電壓。電橋的輸出電壓Uo1為:
(1)
式中:Vcc為供電電壓;Rd為檢測元件電阻;Rc為補(bǔ)償元件電阻;R1、R2為變阻器上下2個部分電阻。
本文令R11=2+R1、R12=2+R2。電橋平衡時,R11=Rd、R12=Rc。當(dāng)空氣中有可燃?xì)怏w(如CH4、H2S)時,黑元件Rd阻值增加ΔR(ΔR為電橋失去平衡后,檢測元件Rd的電阻增加值),相應(yīng)的Uo電壓值升高。此時的輸出為:
(2)
因為ΔR遠(yuǎn)小于R11+R12,所以:
(3)
Uo3與黑元件Rd電阻的變化呈線性關(guān)系。當(dāng)可燃?xì)怏w濃度增加,Rd呈現(xiàn)非線性變化時,Uo也呈現(xiàn)非線性變化。
催化原理的傳感器一般在檢測到環(huán)境的可燃?xì)怏w濃度變化時,會有一段響應(yīng)時間。檢測元件中的催化劑與可燃?xì)怏w無焰燃燒,會引起鉑絲電阻變化。檢測電路有從微小的輸出電壓信號到輸出電壓信號穩(wěn)定之間的時間間隔[3]。響應(yīng)時間過后,傳感器檢測數(shù)據(jù)的輸出會趨于穩(wěn)定。基于以上原理,可以根據(jù)傳感器響應(yīng)時間內(nèi)檢測到可燃?xì)怏w濃度數(shù)據(jù)的響應(yīng)曲線是否異常來判斷傳感器數(shù)據(jù)的輸出是否異常,從而采取進(jìn)一步的過濾措施。
催化原理的傳感器響應(yīng)曲線是非線性的,所以可以采用神經(jīng)網(wǎng)絡(luò)技術(shù)解決響應(yīng)曲線的識別歸類問題。該技術(shù)將響應(yīng)曲線分為正常、異常兩種,通過濾除異常響應(yīng)的數(shù)據(jù)輸出而達(dá)到無效數(shù)據(jù)過濾的目的。
列文伯格-馬夸爾特(Levenberg-Marquardt,L-M)算法是使用廣泛的非線性最小二乘算法。L-M算法是高斯-牛頓算法的改進(jìn)形式,既有高斯-牛頓算法的局部特性,又有梯度法的全局特性。L-M算法的迭代方程為:
xk+1=xk-(H+αI)-1G
(4)
式中:H為多維向量的Hessian矩陣(因為H是矩陣,所以這里要用矩陣形式表示步長);G為多維向量的一階梯度;I為單位矩陣;α為步長;xk為當(dāng)前權(quán)值;xk+1為迭代產(chǎn)生的權(quán)值。
式(4)在高斯-牛頓式的H上加入α。當(dāng)下降太快時使用較小的α,可以使式(4)接近高斯-牛頓算法;當(dāng)下降太慢時使用較大的α,可以使式(4)接近梯度法[4]。
L-M 算法的平方誤差式為:
(5)
式中:dki為系統(tǒng)期望輸出值;Oki為輸出層第k個神經(jīng)元的實際輸出;ε為以εk為元素的向量;E為平方誤差。
第k次向第(k+1)次迭代計算的E的誤差函數(shù)式為:
(6)
式中:J為雅克比矩陣;Xk、Xk+1分別為第k次和第(k+1)次的輸入向量;μ為數(shù)學(xué)期望。
由于L-M算法兼顧了梯度下降法和高斯-牛頓算法的優(yōu)點,所以在收斂速度和精度方面具有較高的效率。下面將利用L-M算法構(gòu)建神經(jīng)網(wǎng)絡(luò),并與梯度下降法和高斯-牛頓算法進(jìn)行對比分析[5-6]。
2.2.1 樣本取樣
已知甲烷傳感器所檢測到的甲烷氣體濃度與檢測電路輸出電壓Uab呈線性關(guān)系,則:
G=AUab+B
(7)
式中:G為甲烷氣體濃度值;A為直線函數(shù)的斜率;B為直線的截距。
本文在實驗室環(huán)境下對傳感器進(jìn)行零點和截距的校準(zhǔn),并作老化試驗,使傳感器處于測量穩(wěn)定狀態(tài)。本文取10只甲烷傳感器,分別在甲烷濃度為6 000×10-6、8 000×10-6、10 000×10-6的情況下進(jìn)行試驗。
甲烷傳感器響應(yīng)特性曲線如圖2所示。
圖2 甲烷傳感器響應(yīng)特性曲線
圖2中,設(shè)t=0 s時為t0、t=2 s時為t1。
由圖2可知,傳感器對甲烷氣體的響應(yīng)曲線基本一致,從t0開始快速上升,到達(dá)t1左右經(jīng)過了1個波峰,然后迅速下降至水平狀態(tài)。
本文以圖2曲線為樣本素材,每隔1 s進(jìn)行1次采樣。每次試驗以10個點作為1個樣本數(shù)據(jù)。試驗共有30組正常樣本數(shù)據(jù)。試驗使用傳感器在異常狀態(tài)下(包括斷絲、電磁干擾、單片機(jī)故障、催化元件故障等情況)構(gòu)建30組異常樣本數(shù)據(jù),即共有60組樣本數(shù)據(jù)。
根據(jù)傳感器數(shù)據(jù)類型的不同,本文將傳感器數(shù)據(jù)分為有效數(shù)據(jù)和無效數(shù)據(jù)2種。有效數(shù)據(jù)經(jīng)過神經(jīng)網(wǎng)絡(luò)后的預(yù)期輸出結(jié)果為0.9。無效數(shù)據(jù)經(jīng)過神經(jīng)網(wǎng)絡(luò)后的預(yù)期輸出結(jié)果為0.1。
網(wǎng)絡(luò)模型輸入樣本及期望輸出如表2所示。
表2 網(wǎng)絡(luò)模型輸入樣本及期望輸出
2.2.2 模型構(gòu)建
BP神經(jīng)網(wǎng)絡(luò)中間節(jié)點數(shù)量的計算式為:
(8)
式中:h為隱藏層神經(jīng)元個數(shù);m為輸入層神經(jīng)元個數(shù);n為輸出層神經(jīng)元個數(shù);β為1~10之間的調(diào)節(jié)常數(shù)。
由于輸入的向量有10個屬性值(即m=10)、輸出只有1個概率值(即n=1)、a取2,所以h=5即中間節(jié)點取5個。
本文將甲烷傳感器的響應(yīng)時間參數(shù)作為輸入樣本的10個屬性、輸出的yi值作為該樣本接近真實值的概率,以構(gòu)建BP神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)設(shè)計如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)設(shè)計圖
X=[x1,x2,…,xi,…,x10]T。Wj=[wj1,wj2,…,wji,…,wjm]。若視x0= 1、wj1=bj,則X=[x0,x1,…,xi,…,x10]T、Wj=[wj0,wj1,…,wji…wjm]。隱藏層節(jié)點j的輸入Zj為:
(9)
式中:f1為非線性激活函數(shù);wji為權(quán)值;xi為輸入向量X的第i個元素值。
輸出節(jié)點y可以表示為:
(10)
式中:y為輸出節(jié)點值;vj為隱含層至輸出層的權(quán)值;f2為線性變換函數(shù)。
集合將上述60個樣本作為輸入,并以x1,x2,…,xp,…,x60表示。第p個樣本輸入神經(jīng)網(wǎng)絡(luò)后得到y(tǒng)p。第p個樣本的誤差Ep可采用平方誤差的方式計算。
(11)
式中:A為單個樣本節(jié)點輸出誤差值;tp為期待輸入;yp為實際輸出。
(12)
式中:B為有樣本的全局誤差;t為期望輸出向量;y為實際輸出向量。
t=[0.9,0.9,0.9,…,0.9,0.1,0.1,0.1]T。為使得全局誤差B最小,本文調(diào)整wij和vj權(quán)值,使正常甲烷傳感器響應(yīng)曲線樣本輸出逼近0.9,而異常響應(yīng)曲線樣本輸出逼近0.1。
2.3.1 網(wǎng)絡(luò)仿真及訓(xùn)練
根據(jù)以上輸入、輸出數(shù)據(jù),隱含層以Tansig作為激活函數(shù)、輸出層以Purelin作為激活函數(shù),從而輸出線性結(jié)果[7]。按照上述的神經(jīng)網(wǎng)絡(luò)模型選擇不同的訓(xùn)練算法進(jìn)行訓(xùn)練。樣本訓(xùn)練過程如下。
①初始化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,設(shè)定修正步長,選取60組樣本作為網(wǎng)絡(luò)輸入,并對樣本作歸一化處理。
②按照不同的訓(xùn)練算法,依次對網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
③設(shè)定期望誤差,當(dāng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)達(dá)到設(shè)定的期望誤差時,停止訓(xùn)練。
④判斷訓(xùn)練次數(shù)是否大于迭代次數(shù):若大于迭代次數(shù),則結(jié)束;否則,按照步長修正權(quán)值轉(zhuǎn)到步驟②。
⑤對不同算法的網(wǎng)絡(luò)仿真結(jié)果進(jìn)行對比,以觀察收斂速度、誤差大小。
本文以自適應(yīng)線性回歸(linear regression,LR)動量梯度下降法、擬牛頓算法(即高斯-牛頓算法的改進(jìn)算法)、L-M算法為訓(xùn)練算法,對樣本數(shù)據(jù)進(jìn)行仿真和檢驗,以分析各種算法的性能表現(xiàn)。自適應(yīng)LR動量梯度下降法的訓(xùn)練次數(shù)為40 901次,耗時230 s,誤差接近1E-3。
根據(jù)仿真結(jié)果,自適應(yīng)LR動量梯度下降法誤差性能分析如圖4所示。
圖4 自適應(yīng)LR動量梯度下降法誤差性能分析
擬牛頓算法訓(xùn)練次數(shù)為250次,耗時3 s,誤差接近1E-4。
根據(jù)仿真結(jié)果,擬牛頓算法誤差性能分析如圖5所示。
圖5 擬牛頓算法誤差性能分析
L-M算法訓(xùn)練次數(shù)為400次,耗時6 s,最小誤差達(dá)到1E-6。
根據(jù)仿真結(jié)果,L-M算法誤差性能分析如圖6所示。
圖6 L-M算法誤差性能分析
相比較自適應(yīng)LR動量梯度下降法, L-M算法具有較快的收斂速度和較低的輸出誤差。相較于擬牛頓算法,L-M算法誤差小,且具有較高的收斂率[8]。所以本文選擇L-M算法作為BP神經(jīng)網(wǎng)絡(luò)模型的建立基礎(chǔ)。
2.3.2 L-M 算法誤差性能分析
網(wǎng)絡(luò)性能測試樣本如表3所示。
表3 網(wǎng)絡(luò)性能測試樣本
L-M算法訓(xùn)練誤差達(dá)到最小值1E-6時,Matlab程序訓(xùn)練結(jié)束。傳感器檢測無效數(shù)據(jù)的9組測試樣本輸入BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
L-M算法測試樣本預(yù)測輸出及輸出誤差如圖7所示。
圖7 L-M算法測試樣本預(yù)測輸出及輸出誤差
由圖7可知,測試樣本的L-M算法輸出誤差保持在0.02%以下。此算法過濾傳感器無效數(shù)據(jù)的精度可以滿足傳感器系統(tǒng)非線性響應(yīng)曲線識別的要求。當(dāng)傳感器的非線性特性曲線由神經(jīng)網(wǎng)絡(luò)識別后,正常響應(yīng)曲線數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)擬合的輸出保持在0.9左右,而無效數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)擬合的輸出保持在0.1左右,并且具有較低的誤差值。
為了過濾催化類傳感器在實際工作中因為各種因素引起的數(shù)據(jù)無效問題,可以利用神經(jīng)網(wǎng)絡(luò)對傳感器工作狀態(tài)下輸出的無效數(shù)據(jù)進(jìn)行有效過濾。本文設(shè)計基于BP神經(jīng)網(wǎng)絡(luò)、L-M算法的網(wǎng)絡(luò)模型。在實驗室的環(huán)境下,將不同濃度的甲烷氣體通入傳感器,可得到傳感器響應(yīng)曲線離散數(shù)據(jù)。本文將數(shù)據(jù)分為正常數(shù)據(jù)和無效數(shù)據(jù)2大類,以得到X。本文構(gòu)建傳感器的輸出向量Y,使輸入向量X=[x1,x2,…,xn],與預(yù)期的輸出向量Y=[y1,y2,…,yn]一一對應(yīng)。在Matlab工具對網(wǎng)絡(luò)模型訓(xùn)練時,可通過對比模型實際輸出向量T=[t1,t2,…,tn]與預(yù)期輸出向量Y來不斷修改網(wǎng)絡(luò)模型的權(quán)值和閾值,使輸出均方誤差趨于極小[9]。
算法在滿足最小誤差的情況下(0.02%以下)停止訓(xùn)練。停止訓(xùn)練后,網(wǎng)絡(luò)模型以軟件算法的形式內(nèi)置于傳感器,作為傳感器實際檢測數(shù)據(jù)輸出的過濾器。該過濾器與實際的輸出部分串聯(lián),通過調(diào)整設(shè)計門限值有效地過濾傳感器的無效數(shù)據(jù)[10]。
為了保障礦井可燃?xì)怏w傳感器的檢測準(zhǔn)確率以及礦井的安全生產(chǎn)、避免傳感器無效狀態(tài)對礦井安全生產(chǎn)造成的生產(chǎn)資源及時間浪費,本文基于BP神經(jīng)網(wǎng)絡(luò)模型的過濾器引入了傳感器無效數(shù)據(jù)過濾檢測機(jī)制。通過試驗分析,本文得出網(wǎng)絡(luò)模型對無效樣本數(shù)據(jù)的識別誤差低于0.02%的結(jié)論。通過網(wǎng)絡(luò)模型有效過濾傳感器的無效數(shù)據(jù),可極大提高傳感器的性能。同時,神經(jīng)網(wǎng)絡(luò)技術(shù)作為人工智能的基礎(chǔ),未來將更廣泛地應(yīng)用于傳感器行業(yè),以推動智能礦山的建設(shè)。