摘要:本文對模糊邏輯和神經網絡故障診斷方法做了研究據這兩種方法各自的優缺點,采用串聯方法將二者相結合,用模糊信息處理方法對輸入信號進行預處理,然后利用神經網絡的逼近能力來實現對故障的診斷.將該方法構建的推理系統應用于汽油發動機偶發性疑難故障診斷.利用Matlab進行軟件仿真,仿真結果表明該方法可以給出較高精度的診斷結果,與單純使用模糊邏輯方法或神經網絡方法都有較大改進,尤其對于單一系統的復雜故障具有很好的識別能力,有良好的應用前景.
關鍵詞:模糊,預處理,神經網絡,故障診斷.
[b][align=center]Application of Neuro-net in FaultDiagnosis System for Gasoline Engine
LIU Zhao-guang1, PAN Lian1, WANG Jun2
(1.Wuhan University of Science & Technology, Wuhan 430081;
2.Huazhong University of Science and Technology,Wuhan 430074)[/align][/b]
Abstract:Research on Fuzzy Theory and Neutral Network Technology in Fault Diagnosis. According to the good and bad points of these two methods. Combine them in this paper with the method connected. Firstly using fuzzy method to process the information, and the diagnosis of the faults is implemented by neutral networks approaching ability. Construct inference system to solve complicated faults happened in gasoline engine with this method. Through simulating under matlab. Some facts were proved that, the system can categorize the samples well and output with high precision. It has a bigger improvement with the pure use fuzzy logic method or the neural network method. Especially when the system is much complicated. It has the good application prospect.
Key words:Fuzzy, Measurement, Neural Network, Fault Diagnosis.
神經網絡具有強大的非線性映射能力、并行處理能力、良好的學習能力和容錯性、獨特的聯想記憶能力等優點。廣泛應用于工業生產的各個領域,基于神經網絡的故障診斷已經成為較通用的故障診斷解決方案.但由于該故障診斷系統需要大量的學習樣本且訓練時間長,而訓練好的網絡連接權值表示知識,在知識獲取表示方面也存在不足,會導致推理的脆弱。
模糊診斷通過研究故障與征兆之間的關系來判斷設備狀態。由于實際因素的復雜性,故障與征兆之間的關系很難用精確的數學模型來表示,隨著某些故障狀態模糊性的出現,就不能用“是否有故障”的簡易診斷結果來表達,而要求給出故障產生的可能性及故障位置和程度如何.模糊故障診斷方法,就是利用模糊數學方法對待診斷系統的故障不確定性進行量化處理,再根據一定的判斷閥值來識別故障。
基于模糊規則的故障診斷方法是首先將經驗知識轉化為模糊關系,然后運用模糊邏輯對模糊量進行推理,輸出模糊量,最后將這些模糊控制量轉換成精確量輸出,指明故障類型.而正確地選擇隸屬函數,是運用模糊集合理論解決實際問題的基礎.隸屬函數是對模糊概念的定量描述,隸屬函數的選擇在很大程序上影響最終結果,但如何選擇準確反映模糊概念的模糊集合的隸屬函數,卻無法找到統一的模式 .基于模糊理論的故障診斷也有自身的一些弱點:模糊診斷的知識獲取比較困難;故障與征兆的模糊關系較難確定;系統的診斷能力依賴于模糊知識庫,學習能力差,容易發生漏診和誤診;故障診斷時,推理速度慢、效率低、能力弱;難以處理故障診斷中的不確定性問題。
鑒于神經網絡故障診斷和模糊故障診斷各自的特點,本文提出一種基于模糊預處理的模糊神經網絡故障診斷方法力圖使兩者的優點結合起來,克服彼此弱點,并將該方法應用于汽油發動機偶發性疑難故障診斷。
1.故障診斷方法
基于模糊預處理的模糊神經網絡故障診斷系統如圖1所示.首先,對通過對采集到的信號進行模糊預處理,然后利用神經網絡對系統故障進行診斷.
多數故障診斷系統都包括圖1所示的被診斷系統,信號采集,和決策執行系統模塊.采集到的信號要求能實時地反映被測點當前所處的狀態,診斷系統就是通過采集到的參數來判斷系統所處狀態,為決策執行系統提供依據判斷依據.
1.1信號的模糊預處理
對于采集到的數值信號,首先要確定其模糊隸屬度.模糊隸屬度是對各模式特征的不確定性和不精確性進行刻劃.正確地確定隸屬函數,是運用模糊集合理論解決實際問題的基礎。
確定模糊集隸屬函數的方法很多,本文采用 函數作隸屬函數求隸屬度[4]. 函數的定義如下:

λ>0是π函數的半徑, c為中心點.
從(1) 式可知 函數是種中間對稱型隸屬函數.
對每一個輸入信號來說f, 在系統正常工作時一定存在某個最佳值f[sub]0[/sub],f[sub]max[/sub],f[sub]min[/sub]表示系統處于各種狀況時f的最大、最小值.描述f的模糊子集為{小(L), 中(M),大(B)}.

其中:

這里f[sub]d[/sub]來控制相鄰模糊集的重迭程度并以此來對任意f都可以確保μ[sub]M[/sub](f),μ[sub]L[/sub](f)和B[sub]M[/sub](f)中至少有1個大于0.5.因此輸入信號經模糊量化為:
I=[x[sub]1[/sub],x[sub]2[/sub],…x[sub]m-1[/sub],x[sub]m[/sub]]
=[μL(f1), μ[sub]M[/sub](fn), μ[sub]B[/sub](fn)] (6)
對某些無法用數值表達的輸入信號,可根據實際情況直接估計其隸屬度.可通過專家經驗及過對生產流程的研究以及和廠方技術人員的反復交流來設定.
1.2神經網絡故障診斷
神經網絡是模擬生物的神經系統(特別是腦)功能的網絡.人腦大約由150億個神經細胞組成,每個細胞同數千,數萬個神經細胞相聯系,形成網絡。這樣,神經細胞模型可以看作是n輸入單輸出的信息處理單元.某個輸入xi對神經細胞的影響以影響度表示,稱為細胞的結合權重或效率wi,這個細胞模型如圖2所示:
細胞的輸入有強有弱,當其總和超過某一閾值θ,則細胞進入興奮狀態,產生輸出;當其總和低于閾值時,細胞進入抑制狀態,沒有輸出.這一輸入輸出關系可以寫成

神經細胞之間可以有不同的聯結方式,目前已經提出了許多神經網絡模型.其中,BP學習算法是目前神經網絡技術中應用最廣也最為成功的學習算法。BP網絡由輸入層、輸出層以及一個或多個隱含層所構成的神經網絡,網絡是按有教師示教的方式進行學習,它的學習過程就是不斷修正網絡權值和閾值使得實際輸出與期望輸出之間誤差逐漸減小以至達到期望誤差的過程.
如一個三層BP神經網絡,設其有n個輸入,m個輸出,一個隱含層。從輸入信號x,由內部單元經非線性變換,最終得到輸出y。對于輸入x,期望的輸出設為yd,而實際的輸出為y,一般二者不一致;輸入-輸出的函數與網絡內部細胞的結合權重有關。由期望輸出與實際輸出的誤差信號:
e=y[sub]d[/sub]-y (8)
調整網絡內部的結合權重,使誤差減小,以改善網絡的工作,這稱為學習神經網絡。
BP算法是一個非線性優化問題,目前,這一學習法以輸出的二乘誤差為評價函數,普遍采用梯度下降法反向修正各層結合權和閾值.其權值x[sub]ij[/sub]修正公式為:

(9)
式(9)中, w[sub]ji[/sub](n)為第n步從i到j神經元的權值,修正值為:

(10)
ε為輸出平方誤差函數,η為學習速率。
BP神經網絡的訓練精度高, 且泛化結果令人滿意, 而且理論上三層前饋神經網絡可以任意期望精度逼近任意函數。但是,在學習過程中,標準BP算法隨著誤差值越來越小導致梯度下降調整的幅度也越來越小,從而使網絡學習訓練時間長,收斂速度慢;此外網絡有可能陷于局部極小值。
鑒于以上幾點,本文采用一種三層神經網絡,采用改進的BP算法.網絡如圖:
本文針對基本BP算法的改進包括兩個部分:一是給待訓練參數的調整量加動量項,即:

其中□w[sub]ji[/sub](n)為基本BP算法的調整量,α□w[sub]ji[/sub](n-1)為動量項, α為動量系數(一般取0.9),□w[sub]ji[/sub](n-1)為上一次的權值修改量;再就是采用自適應的學習速率,在實際應用中,很難找到一個從始至終都最佳的學習速率,這就希望學習速率能根據誤差的狀況進行自適應調節,本算法設定了學習速率的增加及減少比率,以實現其自適應調節.

A(k)為第k次的誤差平方和.
調整學習速率的準則是檢查本次學習誤差是否小于上次學習誤差,如果是則說明本次迭代有效,說明當前的學習速率比較適合誤差變化趨勢,可以適當的加大學習速率.如果本次學習誤差大于上次學習誤差說明產生過調,此時就應該減小學習速率。
2.系統仿真
將該方法應用于汽油發動機偶發性疑難故障診斷.由于發動機各零部件間相互耦合,因此發動機故障具有多層次性、模糊性、相似性等特點,故障的征兆與故障之間的對應關系往往呈現高度的非線性和耦合性,故障信息往往呈現高度的不精確性和不確定性。
令y1-y5分別代表故障原因:y1:進氣岐管漏氣;y2:上游氧傳感器失效;y3:發動機電腦故障;y4:氣流量傳感器故障;y5:噴油嘴堵塞.怠速狀態下,發動機運行參數分別由A,B,C,D,E,F,G表示:A.發動機轉速(r/min);B.氣缸壓力(Mpa);C.節氣門開度(%);D.上游氧傳感器輸出電壓(mv);E.燃油壓力(Mpa);F.噴油脈寬(ms);G.燃油修正值(%);其正常運行時值分別為:700,0.91,4.6,0.5,0.05,2.2,4.1。
根據本文介紹的方法需要設計三層BP神經網絡.由于需要采集7個信號,經模糊預處理,則神經網絡的共有21個輸入,5個輸出。
對于隱層單元設計,1947年,Kolmogorov給出了一個定理。此定理提及輸入層n個單元,隱含層2n+1個單元,組成的神經網絡可以精確實現任何一個連續函數.隨著隱含層單元數的增加,神經網絡學習的速率縮短。但不能無謂的增大隱含層單元數,因為過大的隱含層單元數將增加計算的復雜度,也就增加了訓練時間,同時它還會產生其它問題.因此一般選擇在解決問題的情況下再增加一到兩個隱層單元.據此,本系統選擇43個隱層單元。
運用MATLAB仿真工具對網絡進行訓練學習.設定誤差允許范圍為0.001,訓練次數設為500次.訓練結果如下:
由上圖可見,網絡通過219次的迭代學習即可收斂到誤差允許范圍內。
3.實驗
隨機抽取兩組故障數據,對系統進行驗證.表2和表3分別為系統輸入和輸出數據.
通過輸出結果可知兩組數據分別對應y1和y3,與專家推理結果相符.可見系統可以有效對汽油發動機一些故障進行識別.
4.結論
通過系統介紹核試驗證實,該系統具有較好的故障識別能力.不但可以對不確定性知識及模棱兩可的數據進行很好的處理,而且可以提高故障的診斷精度.因此,此方法可推廣應用于具有大慣性,滯后,非線性,故障與征兆關系不易確定的故障診斷系統,有良好的應用前景。
參考文獻(References):
[1] 吳今培. 模糊診斷理論及其應用[M]. 北京: 科學出版社, 1995.
[2] 韓力群.人工神經網絡理論、設計及應用[M].北京:化學工業版社.2002.
[3] 鐘詩勝,樸樹學,丁剛.改進BP算法在過程神經網絡中的應用. 哈爾濱工業大學學報.2006,6:840~842.
[4] 張建華.基于模糊神經網絡的故障診斷方法的研究[J].北京航空航天大學學報. 1997,8:502~506.
[5] 劉衛強,徐向陽,王書翰.基于模糊理論與 神經網絡并行推理的發動機故障診斷方法[J].山東交通學院學報. 2006,9: 11~15.
[6] 向嵩,王雨,劉國權. BP改進算法神經網絡的保護渣性能預測模型[J].煉鋼.2006,6: 45~48.
[7] M Y Chow, S Alrug, H J Trussel1.Heuristic constraints enforcement for training of and knowledge extraction from a fuzzy-neural architecture part I— II.IEEE Transactions on Fuzzy Systems. 1999. 7 (2):143~159.
武漢青山區紅衛路武漢科技大學信息科學與工程學院 430081
027-86886639