王靜文,王博文
(1.黃河水利職業技術學院信息工程學院,河南 開封 475000;2.中煤科工集團重慶研究院有限公司,重慶 400050)
礦用傳感器(如甲烷、氧氣、硫化氫等傳感器)構成了煤礦安全系統的感知層,對煤礦安全生產起著至關重要的作用。
市場上,礦用傳感器大部分基于電化學原理。傳感器敏感元件與被檢測氣體接觸后發生電化學反應。電化學反應會引起傳感器內部電橋輸出電壓發生變化。傳感器處理器可以根據電橋輸出電壓的變化,計算出被檢測氣體的濃度。當傳感器工作環境內的可燃氣體濃度較大時,煤礦安全監控系統會立即執行斷電操作,通過斷開井下輸電線路來避免瓦斯爆炸事故。在礦井環境下,電化學傳感器受到諸如電磁干擾、濕度、震動、雜質氣體等復雜因素的影響,會不可避免地產生無效數據。無效數據會引發電化學傳感器的錯誤告警現象。錯誤告警往往被安全監控系統當作危險信號而執行斷電操作,會造成不必要的損失。
國內外對傳感器檢測精度及誤差的研究很多,但是沒有反向傳播(back propagution,BP)神經網絡技術用于模擬電化學傳感器特性及無效數據過濾的研究。國內外學者對傳感器誤差的自動校正研究主要是通過數學模型預估傳感器實時輸出值,并將其與傳感器實際值進行對比、判斷、分析,從而調整誤差。這種方法無法對導致傳感器輸出無效數據的各種因素進行有效識別。
本文在BP神經網絡的電力施工進度預警方法研究[1]及電化學原理傳感器特性曲線分析的基礎上,結合其他相關神經網絡的文獻論述,著重討論了神經網絡技術在分析處理電化學原理傳感器無效數據過濾時的技術先進性和可行性。本文設計了基于BP神經網絡的傳感器無效數據過濾器,以解決因無效數據而引起的安全監控系統錯誤斷電問題。
催化原理的可燃氣體傳感器中,常見的有甲烷氣體檢測傳感器。
甲烷傳感器故障現象及原因如表1所示。

表1 甲烷傳感器故障現象及原因
電化學可燃氣體檢測傳感器利用催化無焰燃燒的熱效應原理,由檢測元件和補償元件(俗稱黑、白元件)構成測量電橋,以檢測可燃氣體濃度。
傳感器處理器根據測量電橋中檢測元件電阻阻值變化導致的輸出電壓信號,計算被檢測的可燃氣體濃度。其具體原理是,在一定溫度條件下,可燃氣體在檢測元件載體表面及催化劑的作用下發生無焰燃燒,使檢測元件溫度升高。此時,檢測元件內部鉑絲電阻阻值也相應變大。這樣電橋就會失去平衡,并輸出1個與可燃氣體濃度成正比的電壓信號。通過換算,即可計算出可燃氣體的濃度。
催化類傳感器檢測電路由檢測元件、補償元件以及滑動變阻器構成。電路的a點接在單片機模擬/數字(analog/digitalg,A/D)采樣的PA1輸入口,b點接地。補償元件相比檢測元件內部沒有鉑絲,主要用于溫度補償,以避免電橋零點漂移[2]。
催化傳感器檢測電路如圖1所示。

圖1 催化傳感器檢測電路圖
Uo為a、b兩端點電壓。電橋的輸出電壓Uo1為:
(1)
式中:Vcc為供電電壓;Rd為檢測元件電阻;Rc為補償元件電阻;R1、R2為變阻器上下2個部分電阻。
本文令R11=2+R1、R12=2+R2。電橋平衡時,R11=Rd、R12=Rc。當空氣中有可燃氣體(如CH4、H2S)時,黑元件Rd阻值增加ΔR(ΔR為電橋失去平衡后,檢測元件Rd的電阻增加值),相應的Uo電壓值升高。此時的輸出為:
(2)
因為ΔR遠小于R11+R12,所以:
(3)
Uo3與黑元件Rd電阻的變化呈線性關系。當可燃氣體濃度增加,Rd呈現非線性變化時,Uo也呈現非線性變化。
催化原理的傳感器一般在檢測到環境的可燃氣體濃度變化時,會有一段響應時間。檢測元件中的催化劑與可燃氣體無焰燃燒,會引起鉑絲電阻變化。檢測電路有從微小的輸出電壓信號到輸出電壓信號穩定之間的時間間隔[3]。響應時間過后,傳感器檢測數據的輸出會趨于穩定。基于以上原理,可以根據傳感器響應時間內檢測到可燃氣體濃度數據的響應曲線是否異常來判斷傳感器數據的輸出是否異常,從而采取進一步的過濾措施。
催化原理的傳感器響應曲線是非線性的,所以可以采用神經網絡技術解決響應曲線的識別歸類問題。該技術將響應曲線分為正常、異常兩種,通過濾除異常響應的數據輸出而達到無效數據過濾的目的。
列文伯格-馬夸爾特(Levenberg-Marquardt,L-M)算法是使用廣泛的非線性最小二乘算法。L-M算法是高斯-牛頓算法的改進形式,既有高斯-牛頓算法的局部特性,又有梯度法的全局特性。L-M算法的迭代方程為:
xk+1=xk-(H+αI)-1G
(4)
式中:H為多維向量的Hessian矩陣(因為H是矩陣,所以這里要用矩陣形式表示步長);G為多維向量的一階梯度;I為單位矩陣;α為步長;xk為當前權值;xk+1為迭代產生的權值。
式(4)在高斯-牛頓式的H上加入α。當下降太快時使用較小的α,可以使式(4)接近高斯-牛頓算法;當下降太慢時使用較大的α,可以使式(4)接近梯度法[4]。
L-M 算法的平方誤差式為:

(5)
式中:dki為系統期望輸出值;Oki為輸出層第k個神經元的實際輸出;ε為以εk為元素的向量;E為平方誤差。
第k次向第(k+1)次迭代計算的E的誤差函數式為:

(6)
式中:J為雅克比矩陣;Xk、Xk+1分別為第k次和第(k+1)次的輸入向量;μ為數學期望。
由于L-M算法兼顧了梯度下降法和高斯-牛頓算法的優點,所以在收斂速度和精度方面具有較高的效率。下面將利用L-M算法構建神經網絡,并與梯度下降法和高斯-牛頓算法進行對比分析[5-6]。
2.2.1 樣本取樣
已知甲烷傳感器所檢測到的甲烷氣體濃度與檢測電路輸出電壓Uab呈線性關系,則:
G=AUab+B
(7)
式中:G為甲烷氣體濃度值;A為直線函數的斜率;B為直線的截距。
本文在實驗室環境下對傳感器進行零點和截距的校準,并作老化試驗,使傳感器處于測量穩定狀態。本文取10只甲烷傳感器,分別在甲烷濃度為6 000×10-6、8 000×10-6、10 000×10-6的情況下進行試驗。
甲烷傳感器響應特性曲線如圖2所示。

圖2 甲烷傳感器響應特性曲線
圖2中,設t=0 s時為t0、t=2 s時為t1。
由圖2可知,傳感器對甲烷氣體的響應曲線基本一致,從t0開始快速上升,到達t1左右經過了1個波峰,然后迅速下降至水平狀態。
本文以圖2曲線為樣本素材,每隔1 s進行1次采樣。每次試驗以10個點作為1個樣本數據。試驗共有30組正常樣本數據。試驗使用傳感器在異常狀態下(包括斷絲、電磁干擾、單片機故障、催化元件故障等情況)構建30組異常樣本數據,即共有60組樣本數據。
根據傳感器數據類型的不同,本文將傳感器數據分為有效數據和無效數據2種。有效數據經過神經網絡后的預期輸出結果為0.9。無效數據經過神經網絡后的預期輸出結果為0.1。
網絡模型輸入樣本及期望輸出如表2所示。

表2 網絡模型輸入樣本及期望輸出
2.2.2 模型構建
BP神經網絡中間節點數量的計算式為:
(8)
式中:h為隱藏層神經元個數;m為輸入層神經元個數;n為輸出層神經元個數;β為1~10之間的調節常數。
由于輸入的向量有10個屬性值(即m=10)、輸出只有1個概率值(即n=1)、a取2,所以h=5即中間節點取5個。
本文將甲烷傳感器的響應時間參數作為輸入樣本的10個屬性、輸出的yi值作為該樣本接近真實值的概率,以構建BP神經網絡。
BP神經網絡設計如圖3所示。

圖3 BP神經網絡設計圖
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]。隱藏層節點j的輸入Zj為:
(9)
式中:f1為非線性激活函數;wji為權值;xi為輸入向量X的第i個元素值。
輸出節點y可以表示為:
(10)
式中:y為輸出節點值;vj為隱含層至輸出層的權值;f2為線性變換函數。
集合將上述60個樣本作為輸入,并以x1,x2,…,xp,…,x60表示。第p個樣本輸入神經網絡后得到yp。第p個樣本的誤差Ep可采用平方誤差的方式計算。
(11)
式中:A為單個樣本節點輸出誤差值;tp為期待輸入;yp為實際輸出。
(12)
式中:B為有樣本的全局誤差;t為期望輸出向量;y為實際輸出向量。
t=[0.9,0.9,0.9,…,0.9,0.1,0.1,0.1]T。為使得全局誤差B最小,本文調整wij和vj權值,使正常甲烷傳感器響應曲線樣本輸出逼近0.9,而異常響應曲線樣本輸出逼近0.1。
2.3.1 網絡仿真及訓練
根據以上輸入、輸出數據,隱含層以Tansig作為激活函數、輸出層以Purelin作為激活函數,從而輸出線性結果[7]。按照上述的神經網絡模型選擇不同的訓練算法進行訓練。樣本訓練過程如下。
①初始化神經網絡的權值和閾值,設定修正步長,選取60組樣本作為網絡輸入,并對樣本作歸一化處理。
②按照不同的訓練算法,依次對網絡模型進行訓練。
③設定期望誤差,當網絡的訓練次數達到設定的期望誤差時,停止訓練。
④判斷訓練次數是否大于迭代次數:若大于迭代次數,則結束;否則,按照步長修正權值轉到步驟②。
⑤對不同算法的網絡仿真結果進行對比,以觀察收斂速度、誤差大小。
本文以自適應線性回歸(linear regression,LR)動量梯度下降法、擬牛頓算法(即高斯-牛頓算法的改進算法)、L-M算法為訓練算法,對樣本數據進行仿真和檢驗,以分析各種算法的性能表現。自適應LR動量梯度下降法的訓練次數為40 901次,耗時230 s,誤差接近1E-3。
根據仿真結果,自適應LR動量梯度下降法誤差性能分析如圖4所示。

圖4 自適應LR動量梯度下降法誤差性能分析
擬牛頓算法訓練次數為250次,耗時3 s,誤差接近1E-4。
根據仿真結果,擬牛頓算法誤差性能分析如圖5所示。

圖5 擬牛頓算法誤差性能分析
L-M算法訓練次數為400次,耗時6 s,最小誤差達到1E-6。
根據仿真結果,L-M算法誤差性能分析如圖6所示。

圖6 L-M算法誤差性能分析
相比較自適應LR動量梯度下降法, L-M算法具有較快的收斂速度和較低的輸出誤差。相較于擬牛頓算法,L-M算法誤差小,且具有較高的收斂率[8]。所以本文選擇L-M算法作為BP神經網絡模型的建立基礎。
2.3.2 L-M 算法誤差性能分析
網絡性能測試樣本如表3所示。

表3 網絡性能測試樣本
L-M算法訓練誤差達到最小值1E-6時,Matlab程序訓練結束。傳感器檢測無效數據的9組測試樣本輸入BP神經網絡模型進行訓練。
L-M算法測試樣本預測輸出及輸出誤差如圖7所示。

圖7 L-M算法測試樣本預測輸出及輸出誤差
由圖7可知,測試樣本的L-M算法輸出誤差保持在0.02%以下。此算法過濾傳感器無效數據的精度可以滿足傳感器系統非線性響應曲線識別的要求。當傳感器的非線性特性曲線由神經網絡識別后,正常響應曲線數據經過網絡擬合的輸出保持在0.9左右,而無效數據經過網絡擬合的輸出保持在0.1左右,并且具有較低的誤差值。
為了過濾催化類傳感器在實際工作中因為各種因素引起的數據無效問題,可以利用神經網絡對傳感器工作狀態下輸出的無效數據進行有效過濾。本文設計基于BP神經網絡、L-M算法的網絡模型。在實驗室的環境下,將不同濃度的甲烷氣體通入傳感器,可得到傳感器響應曲線離散數據。本文將數據分為正常數據和無效數據2大類,以得到X。本文構建傳感器的輸出向量Y,使輸入向量X=[x1,x2,…,xn],與預期的輸出向量Y=[y1,y2,…,yn]一一對應。在Matlab工具對網絡模型訓練時,可通過對比模型實際輸出向量T=[t1,t2,…,tn]與預期輸出向量Y來不斷修改網絡模型的權值和閾值,使輸出均方誤差趨于極小[9]。
算法在滿足最小誤差的情況下(0.02%以下)停止訓練。停止訓練后,網絡模型以軟件算法的形式內置于傳感器,作為傳感器實際檢測數據輸出的過濾器。該過濾器與實際的輸出部分串聯,通過調整設計門限值有效地過濾傳感器的無效數據[10]。
為了保障礦井可燃氣體傳感器的檢測準確率以及礦井的安全生產、避免傳感器無效狀態對礦井安全生產造成的生產資源及時間浪費,本文基于BP神經網絡模型的過濾器引入了傳感器無效數據過濾檢測機制。通過試驗分析,本文得出網絡模型對無效樣本數據的識別誤差低于0.02%的結論。通過網絡模型有效過濾傳感器的無效數據,可極大提高傳感器的性能。同時,神經網絡技術作為人工智能的基礎,未來將更廣泛地應用于傳感器行業,以推動智能礦山的建設。