摘 要:為了研究人工神經(jīng)網(wǎng)絡(luò)在氣體分析系統(tǒng)中的應(yīng)用,選擇了識別CH4和CO的傳感器陣列及用于網(wǎng)絡(luò)模型訓(xùn)練的樣本。實(shí)驗(yàn)分析確定了信號預(yù)處理方法,選取合適的網(wǎng)絡(luò)模型并創(chuàng)新性的對用于氣體種類識別的BP算法進(jìn)行改進(jìn),并研究網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的變化對氣體分析系統(tǒng)性能的影響,實(shí)驗(yàn)結(jié)果證明氣體傳感器陣列與BP算法相結(jié)合進(jìn)行氣體成分分析具有一定的可行性,若能進(jìn)一步調(diào)整及完善氣體傳感器陣列的硬件測量電路,則可開發(fā)出用于現(xiàn)實(shí)復(fù)雜環(huán)境的多氣體分析系統(tǒng)。
關(guān)鍵詞:氣體傳感器陣列;人工神經(jīng)網(wǎng)絡(luò);信號預(yù)處理;BP算法
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2008)10-187-03
Application of Artificial Neural Network in Gas Analysis System
HE Bo,WANG Wuyi,ZHANG Jiatian
(Education Department Key Laboratory of Photoelectric Oil and Gas Logging Detecting,Xi′an Shiyou University,Xi′an,710065,China)
Abstract:In order to study the application of artificial neural network in gas analysis system,the article chooses gas sensor array and network model training samples to identify CH4 and CO,signal preprocessing algorithms is determined in the experiment.The experiment also chooses appropriate network model and creative improves BP algorithm for gas identification.The article researches the influence on gas analysis system of structure and parameters of feed forward neural network,result indicates that the method based on the combine gas sensor array with BP nervous network to analyze gas component is feasible.If further adjusting and improving hardware measurement circuit of gas sensor array,the multi-gas analysis system,which is applied in reality complex environment can be developed.
Keywords:gas sensor array;artificial neural network;signal preprocessing;BP algorithm
目前,煤礦生產(chǎn)過程中釋放的大量的CH4(甲烷)及CO(一氧化碳)等易燃易爆氣體極大的威脅了生產(chǎn)過程的安全性,發(fā)生事故時會造成巨大的經(jīng)濟(jì)損失,特大事故甚至危及礦工的生命[1]。所以對煤礦井下CH4(甲烷)及CO(一氧化碳)等易燃易爆氣體進(jìn)行快速準(zhǔn)確的檢測顯得尤其重要。同時多組份氣體的定性、定量檢測在環(huán)境保護(hù)、食品保鮮、航空航天等領(lǐng)域也有著廣泛的應(yīng)用。使用氣體傳感器構(gòu)成的氣體分析儀進(jìn)行多組份氣體的定性定量測量,具有成本低,測量周期短,并可實(shí)現(xiàn)在線實(shí)時測量等優(yōu)點(diǎn)。但是由于氣體傳感器普遍存在著交叉敏感特性和選擇性差等缺點(diǎn),使用單一傳感器很難實(shí)現(xiàn)多組份氣體的檢測分析。目前較有效的方法是通過多個敏感程度不同的氣體傳感器組成傳感器陣列,結(jié)合人工神經(jīng)網(wǎng)絡(luò)算法進(jìn)行多氣體的分析。本文主要介紹一種基于氣體傳感器陣列[2]和采用BP算法[3]進(jìn)行訓(xùn)練的神經(jīng)網(wǎng)絡(luò)進(jìn)行混合氣體的種類識別。
1 人工神經(jīng)網(wǎng)絡(luò)模型的選取
人工神經(jīng)網(wǎng)絡(luò)是新興交叉學(xué)科,也是國際上研究異?;钴S的領(lǐng)域之一。神經(jīng)網(wǎng)絡(luò)模型有BP模型、Hopfield模型、Hamming模型等,都是基于連接學(xué)說構(gòu)造的智能仿生模型。他是由大量神經(jīng)元組成的非線性動力系統(tǒng),具有非線性、非區(qū)域性、非定長性和非凸性等特點(diǎn)。
BP神經(jīng)網(wǎng)絡(luò)模型是人工神經(jīng)網(wǎng)絡(luò)的重要模型之一[4]。通常BP算法是通過一些學(xué)習(xí)規(guī)則來調(diào)整神經(jīng)元之間的連接權(quán)值,具有初步的自適應(yīng)與自組織能力,具有學(xué)習(xí)功能。BP學(xué)習(xí)算法(反向傳播學(xué)習(xí)算法)具有思路清晰、結(jié)構(gòu)嚴(yán)謹(jǐn)、工作狀態(tài)穩(wěn)定、可操作性強(qiáng)的特點(diǎn)。BP神經(jīng)網(wǎng)絡(luò)由具有多個節(jié)點(diǎn)的輸入層、隱含層和多個或1個輸出的輸出層組成,每個節(jié)點(diǎn)為1個單獨(dú)的神經(jīng)元,相鄰兩層間單向連接,圖1為BP神經(jīng)網(wǎng)絡(luò)模型的原理框圖。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型原理框圖
2 實(shí)驗(yàn)原理及傳感器陣列的選取
2.1 實(shí)驗(yàn)原理
本實(shí)驗(yàn)的原理是將被測氣體按所需測量精度和濃度成分分成不同的等級,采用標(biāo)準(zhǔn)氣體配置這些等級的不同成分的所有組合作為標(biāo)準(zhǔn)模態(tài)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。通過識別某一未知?dú)怏w樣本的模式,即可以得到未知?dú)怏w的成分濃度。
2.2 傳感器陣列及樣本的選取
在實(shí)驗(yàn)中為了檢測CH4和CO兩種氣體的混合氣體,選用4個半導(dǎo)體氣體傳感器構(gòu)成陣列,型號分別為:QM-N7II,QM-H1,QM-N5,QM-N8型。這4個氣體傳感器都是金屬氧化物N型半導(dǎo)體氣敏元件,他們對CH4 ,CO的靈敏度各不相同。當(dāng)與還原性氣體CH4 ,CO接觸時,其電導(dǎo)率隨氣體濃度的增加而迅速升高。根據(jù)數(shù)據(jù)分析的需要測試CH4,CO分別在100,200,300,400,500,600,700,800,900,1 000 ppm (1 ppm=10-6)濃度時傳感器陣列的響應(yīng),從而獲得了20個樣本對。
3 實(shí)驗(yàn)分析
將實(shí)驗(yàn)中測得的氣體樣本一分為二,10組用于訓(xùn)練,10組用于預(yù)測。過程為先將CH4,CO分別在100,300,500,700,900 ppm的共10組樣本進(jìn)行預(yù)處理,輸入前饋神經(jīng)網(wǎng)絡(luò),期望輸出[1,0],[0,1]分別對應(yīng)CH4,CO二種氣體。當(dāng)網(wǎng)絡(luò)收斂到規(guī)定的誤差指標(biāo)時,停止訓(xùn)練,固定網(wǎng)絡(luò)連接權(quán)值和節(jié)點(diǎn)閥值;然后將CH4,CO分別在200,400,600,800,1 000 ppm的共10組樣本進(jìn)行預(yù)處理,輸入上述經(jīng)過訓(xùn)練的網(wǎng)絡(luò),從而得到預(yù)測結(jié)果。對于分類器,預(yù)測值>0.7視為1;預(yù)測值<0.3視為0;預(yù)測值在(0.3,0.7)之間視為預(yù)測出錯。同時通過分析確定了信號預(yù)處理算法和不同網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)對系統(tǒng)輸出的影響。
3.1 信號預(yù)處理算法
為了提高檢測系統(tǒng)的分類辨識效果,必須對傳感器陣列的輸出信號進(jìn)行預(yù)處理,以消除或降低氣體濃度對傳感器輸出的影響。傳感器信號預(yù)處理算法直接影響著檢測系統(tǒng)的工作特性,應(yīng)該合理選擇。假設(shè)傳感器陣列對空氣的電導(dǎo)用Gair=[Gair,1,Gair,2,…,Gair,4],對混合氣的電導(dǎo)用Ggas=[Ggas,1,Gair,2,…,Ggas,4],陣列中4個傳感器與CH4,CO作用時其電導(dǎo)將增加,則通常采用陣列歸一化算法:[HT5]
xgas,i=Ggas,i/Gair,i1n∑ni=1Ggas,iGair,i21/2(1)
其中n=4為陣列中傳感器總數(shù)。經(jīng)過式(1)處理后的陣列響應(yīng)Xgas=[xgas,1,…,xgas,4]作為人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)的實(shí)際輸入,氣體傳感器陣列歸一化響應(yīng)數(shù)據(jù)如表1[5]所示。
陣列歸一化算法的預(yù)測結(jié)果如下表2[5]所示。
3.2 改進(jìn)的BP算法
由于BP算法是一種基于梯度下降優(yōu)化方法的學(xué)習(xí)算法,因而不可避免地存在可能收斂到局部極小的問題,另外傳統(tǒng)BP算法采用固定的學(xué)習(xí)率和使用Sigmoid函數(shù)為作用函數(shù),從而導(dǎo)致網(wǎng)絡(luò)的訓(xùn)練速度和精度不高。由于傳感器物理特性造成的誤差難以避免,可采用樣本篩選的方法,對原始樣本中偏差較大的刪除或作調(diào)整,達(dá)到精簡優(yōu)化樣本質(zhì)量的效果。但這樣的效果不是很明顯,為此本文從訓(xùn)練算法入手,對傳統(tǒng)BP算法進(jìn)行一些改進(jìn)[6]:
(1) 采用變步長機(jī)制:在誤差變化劇烈的地方,適當(dāng)減少步長以保證其精確性;而在誤差變化平緩的地方,適當(dāng)加大步長以加快收斂速度。
(2) 引入動量因子α:其原理類似共軛梯度法,目的在于加入一項(xiàng)以記憶上一時刻權(quán)的修改方向,而此時刻的修改方向則為上一時刻修改方向與此刻方向的組合。他能有效加速收斂、防止振蕩。
(3) 加入γpi因子,在一定程度上改變到達(dá)平坦區(qū)的誤差函數(shù),使誤差變化迅速退出不靈敏區(qū),而得到收斂。
表1 氣體傳感器陣列歸一化響應(yīng)數(shù)據(jù)
故連接權(quán)值公式修改為:
Wsq(t+1)=Wsq(t)+η(t)δqys+αΔWsq(t)(2)
其中,η為增益項(xiàng);δq為誤差項(xiàng);ys為節(jié)點(diǎn)的輸出。令sq為ij或jk,而i,j,k分別為從輸入到輸出的對應(yīng)各層節(jié)點(diǎn)。相應(yīng)的誤差項(xiàng)為:
隱含層-輸出層:
δpjk=(tpk-ypk)ypk(1-ypk)γpk(3)
輸入層-隱含層:
δpij=∑n-1k=0δpjkWjkxpj(1-xpj)γpj(4)
當(dāng)ΔE總<0,有η(t+1)=η(t)#8226;φ,α=α;而當(dāng)ΔE總>0時,有η(t+1)=η(t)#8226;β,α=0。其中,φ>1,β<1,
ΔE(t)=E(t)-E(t-1)。
當(dāng)遇到局部最小而不能收斂時,可以通過調(diào)節(jié)γpk和γpj來克服,即將γpk和γpj分別調(diào)節(jié)到大于1。
3.3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的比較
前饋神經(jīng)網(wǎng)絡(luò)中隱含層數(shù)目、隱含層神經(jīng)元數(shù)目(本文中采用4∶4∶2結(jié)構(gòu))也是影響系統(tǒng)性能的可能因素,因此優(yōu)化選擇神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)是系統(tǒng)設(shè)計(jì)中的另一個重要步驟。為了比較神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)對系統(tǒng)性能的影響,將預(yù)處理算法固定為陣列歸一化算法,同樣網(wǎng)絡(luò)的初始連接權(quán)值和節(jié)點(diǎn)閥值也不變,只改變網(wǎng)絡(luò)的隱含層數(shù)目和隱含層神經(jīng)元數(shù)個數(shù)[6,8]。
結(jié)果發(fā)現(xiàn),對于本文的實(shí)際問題,采用單隱含層的神經(jīng)網(wǎng)絡(luò)和多隱含層神經(jīng)網(wǎng)絡(luò)都可以完成辨識任務(wù),不同僅在于:單隱含層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間明顯低于多隱含層神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間。對于單隱含層神經(jīng)網(wǎng)絡(luò),隱含層神經(jīng)元數(shù)目只要介于3~12之間,預(yù)測結(jié)果無明顯變化,所以本文的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)完全可以滿足設(shè)計(jì)要求。
4 結(jié) 語
通過以上實(shí)驗(yàn)可知,應(yīng)用氣體傳感器陣列與BP算法訓(xùn)練的人工神經(jīng)網(wǎng)絡(luò)模型相結(jié)合進(jìn)行多種氣體成分分析具有很好的效果,如果能夠進(jìn)一步調(diào)整和完善氣體傳感器陣列的硬件測量電路,則可開發(fā)出用于現(xiàn)實(shí)復(fù)雜環(huán)境的多氣體分析系統(tǒng)。
參 考 文 獻(xiàn)
[1]張延松.煤礦井下有害氣體的危害及預(yù)防[J].安全,1996(2):14-16.
[2]曲建嶺,王磊.基于前饋神經(jīng)網(wǎng)絡(luò)的人工嗅覺系統(tǒng)[J].西北工業(yè)大學(xué)學(xué)報,1999(增刊):124-128.
[3]羅發(fā)龍,李衍達(dá).神經(jīng)網(wǎng)絡(luò)信號處理[M].北京:電子工業(yè)出版社,1993.
[4]焦李成.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論[M].西安:西安電子科技大學(xué)出版社,1990.
[5]聞新,周露,王丹力,等.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].北京:科學(xué)出版社,2000.
[6]王永驥,徐建.神經(jīng)元網(wǎng)絡(luò)控制[M].北京:機(jī)械工業(yè)出版社,1998.
[7]楊建剛.人工神經(jīng)網(wǎng)絡(luò)實(shí)用教程[M].杭州:浙江大學(xué)出版社,2001.
[8]沈清,胡德文,時春.神經(jīng)網(wǎng)絡(luò)應(yīng)用技術(shù)[M].長沙:國防工業(yè)出版社,1993.
[9]Huyberechts G.Simultaneous Quantification of Carbon Mono-xide and Methane in Humid Air Using a Sensor Array and an Artificial Neural Network.Sensors and Actuators BP,1997,45:123-130.
作者簡介 何 博 男,1982年出生,陜西西安人,碩士研究生。主要研究方向?yàn)樾盘柗治鎏幚砝碚撆c技術(shù)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。