浙江萬里學院 李小青
將蟻群算法與神經網絡相結合,克服神經網絡BP算法收斂速度慢、容易陷入局部極小的缺點,結合汽車發動機故障的特點,探討了一種基于蟻群神經網絡的發動機故障診斷系統。仿真實驗表明該系統具有一定的實用性。
基于BP算法的神經網絡早已廣泛應用于各種故障診斷中,但該算法具有收斂速度慢、易陷入局部極小等缺點。為此,本文融合蟻群算法,并將其應用于故障診斷中。
神經網絡具有處理復雜多模式及進行聯想推測和記憶的功能,很適合應用于各種系統的故障診斷[1]。如圖1所示為常見的基于神經網絡的故障診斷專家系統的一般結構。

圖1 基于神經網絡的故障診斷Fig.1 Fault diagnosis based on neural network
利用蟻群算法具有全局優化和啟發式尋優的特點[3],采用蟻群算法來訓練神經網絡的權值。其主要步驟如下:
Step 1):初始條件:令時間t和循環次數Nc均為0,設置最大循環次數Nmax,初始化所有集合Ωpr(1≤r≤D)中的每個元素pj(Ωpr)的信息素Ppj(Ωpr)
Step 2):任意一只螞蟻k(k=1,2,…,s)從集合Ipi開始,根據公式(1)計算的概率隨機地選擇它的第j個元素。

Step 3): 重復步驟2,直到蟻群全部到達食物源。
Step 4):令t=t+m,NC=NC+1,計算用各螞蟻所選權值作神經網絡參數時訓練樣本的輸出誤差,記錄當前最優解,按式(2)來調節每個元素的信息素。

式中m為螞蟻覓食過程經歷的時間單位,ρ(0≤ρ≤1)為信息素的持久性,1-ρ表示信息素的消逝程度,Δτj(Ipi)為在本次循環中第k只螞蟻在集合Ipi的第j個元素上留下的信息素,可用式(3)來計算。

Step 5):重復以上步驟,直到進化趨勢不明顯或循環次數NC≥NCmax,則循環結束,輸出最優解,算法結束,否則轉到第步驟(2)執行。
本文設計了融合蟻群神經網絡混合算法的發動機故障診斷專家系統,如圖2所示,該系統主界面如圖3所示。專家知識庫管理是核心內容,完成瀏覽、添加和修改知識功能;故障診斷模塊綜合利用專家知識庫采用同一窗體進行幾十種診斷,包括數據采集和現象診斷等;可利用信息咨詢和系統幫助進行有關參數的查詢及輔助維修管理等。

圖2 系統總體框架圖Fig.2 Overall system framework

圖3 系統主界面Fig.3 System main interface
在神經網絡中將同一問題的知識表示在同一網絡中,它是一種隱式表示,而傳統的知識表示,是一種顯式表示[2],神經網絡表示法如圖4所示。


圖4 神經網絡表示法Fig.4 Neural network representation
由于發動機是一個非常復雜的診斷對象,在此可以把系統劃分為幾大模塊。以發動機油路故障為例創建一個子神經網絡。例如發動機不能起動的原因,從大體方面可能是進氣系統、壓縮空氣起動系統及油路等故障造成的,通過分析,排除了其他的可能,發動機不能起動的原因是出現在油路故障,而油路故障又可能是因為濾清器、輸油泵或高壓油泵故障等引起的,為便于理解,我們可用如下定義:
故障現象:
X1:觀察油箱中剩余燃油情況(0:油箱中有油;1:油箱中沒油)
X2:檢查濾清器有無污垢(0:無污垢;1:有污垢)
X3:檢查輸油泵輸油情況(0:正常;1:不正常)
X4:高壓油泵工作情況(0:正常;1:不正常)
X5:噴油器供油情況(0:良好;1:不好)
故障原因:
Y1:油箱沒油(0:否;1:是)
Y2:濾清器污阻(0:否;1:是)
Y3:輸油泵故障(0:否;1:是)
Y4:高壓油泵故障(0:否;1:是)
Y5:噴油器故障(0:否;1:是)
根據上面例子分析,可以構造一個如圖5所示的5×4×5神經網絡。

圖5 油路故障神經網絡結構圖Fig.5 Neural network structure diagram of oil
確定各個子網絡的訓練樣本并進行訓練,獲得它們的連接權值和閾值,然后存儲連接權值,形成知識庫[4]。如表1所示部分油路故障診斷訓練樣本。

表1 油路故障診斷訓練樣本Tab.1 Training samples of oil circuit fault
包括知識的檢驗管理、知識的存入、知識的修改和刪除等。如圖6所示為知識庫基本管理界面。很方便地實現了人機交互對知識的輸入、查詢、瀏覽、刪除、修改等基本管理。

圖6 知識庫管理Fig.6 Knowledge base management
總體的故障診斷流程如圖7所示。首先輸入故障現象,系統進行計算,當某一輸出值大于閾值,輸出診斷結果,否則系統會重新提問或指示沒有故障。

圖7 系統總體診斷流程圖Fig.7 Overall system diagnosis flow chart
本文將蟻群算法與神經網絡相結合,克服神經網絡BP算法收斂速度慢、容易陷入局部極小的缺點,設計了一種基于蟻群神經網絡的發動機故障診斷系統。仿真實驗表明該系統具有一定的實用性。
引用
[1] 畢曉君,柳長源,盧迪.基于PSO-RVM算法的發動機故障診斷[J].哈爾濱工程大學學報,2014,35(2):245-249.
[2] 程學珍,王常安,李繼明,等.基于自適應神經模糊Petri網的電機故障診斷[J].山東科技大學學報(自然科學版),2020,39(3):109-117.
[3] 宋紅英.基于蟻群神經網絡的發動機故障診斷專家系統的研究[D].北京:中國農業大學,2005.
[4] LECUN Y,BENGIO Y,HINTON G.Deep Learning[J].Nature,2015,521(7553):436-444.
[5] HINTON G E,SALAKHUTDINOV R R.Reducing the Dimensionality of Data with Neural Networks[J].Scince,2006,313(5786):504-507.