浙江萬里學(xué)院 李小青
將蟻群算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,克服神經(jīng)網(wǎng)絡(luò)BP算法收斂速度慢、容易陷入局部極小的缺點(diǎn),結(jié)合汽車發(fā)動機(jī)故障的特點(diǎn),探討了一種基于蟻群神經(jīng)網(wǎng)絡(luò)的發(fā)動機(jī)故障診斷系統(tǒng)。仿真實(shí)驗(yàn)表明該系統(tǒng)具有一定的實(shí)用性。
基于BP算法的神經(jīng)網(wǎng)絡(luò)早已廣泛應(yīng)用于各種故障診斷中,但該算法具有收斂速度慢、易陷入局部極小等缺點(diǎn)。為此,本文融合蟻群算法,并將其應(yīng)用于故障診斷中。
神經(jīng)網(wǎng)絡(luò)具有處理復(fù)雜多模式及進(jìn)行聯(lián)想推測和記憶的功能,很適合應(yīng)用于各種系統(tǒng)的故障診斷[1]。如圖1所示為常見的基于神經(jīng)網(wǎng)絡(luò)的故障診斷專家系統(tǒng)的一般結(jié)構(gòu)。
圖1 基于神經(jīng)網(wǎng)絡(luò)的故障診斷Fig.1 Fault diagnosis based on neural network
利用蟻群算法具有全局優(yōu)化和啟發(fā)式尋優(yōu)的特點(diǎn)[3],采用蟻群算法來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)值。其主要步驟如下:
Step 1):初始條件:令時(shí)間t和循環(huán)次數(shù)Nc均為0,設(shè)置最大循環(huán)次數(shù)Nmax,初始化所有集合Ωpr(1≤r≤D)中的每個(gè)元素pj(Ωpr)的信息素Ppj(Ωpr)
Step 2):任意一只螞蟻k(k=1,2,…,s)從集合Ipi開始,根據(jù)公式(1)計(jì)算的概率隨機(jī)地選擇它的第j個(gè)元素。
Step 3): 重復(fù)步驟2,直到蟻群全部到達(dá)食物源。
Step 4):令t=t+m,NC=NC+1,計(jì)算用各螞蟻所選權(quán)值作神經(jīng)網(wǎng)絡(luò)參數(shù)時(shí)訓(xùn)練樣本的輸出誤差,記錄當(dāng)前最優(yōu)解,按式(2)來調(diào)節(jié)每個(gè)元素的信息素。
式中m為螞蟻覓食過程經(jīng)歷的時(shí)間單位,ρ(0≤ρ≤1)為信息素的持久性,1-ρ表示信息素的消逝程度,Δτj(Ipi)為在本次循環(huán)中第k只螞蟻在集合Ipi的第j個(gè)元素上留下的信息素,可用式(3)來計(jì)算。
Step 5):重復(fù)以上步驟,直到進(jìn)化趨勢不明顯或循環(huán)次數(shù)NC≥NCmax,則循環(huán)結(jié)束,輸出最優(yōu)解,算法結(jié)束,否則轉(zhuǎn)到第步驟(2)執(zhí)行。
本文設(shè)計(jì)了融合蟻群神經(jīng)網(wǎng)絡(luò)混合算法的發(fā)動機(jī)故障診斷專家系統(tǒng),如圖2所示,該系統(tǒng)主界面如圖3所示。專家知識庫管理是核心內(nèi)容,完成瀏覽、添加和修改知識功能;故障診斷模塊綜合利用專家知識庫采用同一窗體進(jìn)行幾十種診斷,包括數(shù)據(jù)采集和現(xiàn)象診斷等;可利用信息咨詢和系統(tǒng)幫助進(jìn)行有關(guān)參數(shù)的查詢及輔助維修管理等。
圖2 系統(tǒng)總體框架圖Fig.2 Overall system framework
圖3 系統(tǒng)主界面Fig.3 System main interface
在神經(jīng)網(wǎng)絡(luò)中將同一問題的知識表示在同一網(wǎng)絡(luò)中,它是一種隱式表示,而傳統(tǒng)的知識表示,是一種顯式表示[2],神經(jīng)網(wǎng)絡(luò)表示法如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)表示法Fig.4 Neural network representation
由于發(fā)動機(jī)是一個(gè)非常復(fù)雜的診斷對象,在此可以把系統(tǒng)劃分為幾大模塊。以發(fā)動機(jī)油路故障為例創(chuàng)建一個(gè)子神經(jīng)網(wǎng)絡(luò)。例如發(fā)動機(jī)不能起動的原因,從大體方面可能是進(jìn)氣系統(tǒng)、壓縮空氣起動系統(tǒng)及油路等故障造成的,通過分析,排除了其他的可能,發(fā)動機(jī)不能起動的原因是出現(xiàn)在油路故障,而油路故障又可能是因?yàn)闉V清器、輸油泵或高壓油泵故障等引起的,為便于理解,我們可用如下定義:
故障現(xiàn)象:
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:是)
根據(jù)上面例子分析,可以構(gòu)造一個(gè)如圖5所示的5×4×5神經(jīng)網(wǎng)絡(luò)。
圖5 油路故障神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Neural network structure diagram of oil
確定各個(gè)子網(wǎng)絡(luò)的訓(xùn)練樣本并進(jìn)行訓(xùn)練,獲得它們的連接權(quán)值和閾值,然后存儲連接權(quán)值,形成知識庫[4]。如表1所示部分油路故障診斷訓(xùn)練樣本。
表1 油路故障診斷訓(xùn)練樣本Tab.1 Training samples of oil circuit fault
包括知識的檢驗(yàn)管理、知識的存入、知識的修改和刪除等。如圖6所示為知識庫基本管理界面。很方便地實(shí)現(xiàn)了人機(jī)交互對知識的輸入、查詢、瀏覽、刪除、修改等基本管理。
圖6 知識庫管理Fig.6 Knowledge base management
總體的故障診斷流程如圖7所示。首先輸入故障現(xiàn)象,系統(tǒng)進(jìn)行計(jì)算,當(dāng)某一輸出值大于閾值,輸出診斷結(jié)果,否則系統(tǒng)會重新提問或指示沒有故障。
圖7 系統(tǒng)總體診斷流程圖Fig.7 Overall system diagnosis flow chart
本文將蟻群算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,克服神經(jīng)網(wǎng)絡(luò)BP算法收斂速度慢、容易陷入局部極小的缺點(diǎn),設(shè)計(jì)了一種基于蟻群神經(jīng)網(wǎng)絡(luò)的發(fā)動機(jī)故障診斷系統(tǒng)。仿真實(shí)驗(yàn)表明該系統(tǒng)具有一定的實(shí)用性。
引用
[1] 畢曉君,柳長源,盧迪.基于PSO-RVM算法的發(fā)動機(jī)故障診斷[J].哈爾濱工程大學(xué)學(xué)報(bào),2014,35(2):245-249.
[2] 程學(xué)珍,王常安,李繼明,等.基于自適應(yīng)神經(jīng)模糊Petri網(wǎng)的電機(jī)故障診斷[J].山東科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,39(3):109-117.
[3] 宋紅英.基于蟻群神經(jīng)網(wǎng)絡(luò)的發(fā)動機(jī)故障診斷專家系統(tǒng)的研究[D].北京:中國農(nóng)業(yè)大學(xué),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.