摘 要:給出BP神經(jīng)網(wǎng)絡(luò)故障診斷模型,研究了共軛梯度法對BP算法進行優(yōu)化設(shè)計。針對電子設(shè)備的一些實測數(shù)據(jù),利用優(yōu)化的神經(jīng)網(wǎng)絡(luò)對其進行了故障診斷,給出實驗的仿真結(jié)果,并進行詳細的分析,最后得出設(shè)備的診斷結(jié)果。通過實驗證明,基于共軛梯度法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法應(yīng)用于電子設(shè)備故障診斷,其診斷率較高,有很強的實用性。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);優(yōu)化設(shè)計;共軛梯度法;故障診斷
中圖分類號:TP306 文獻標(biāo)識碼:A
文章編號:1004-373X(2010)03-147-03
Application of Optimized BP Neural Network in Fault Diagnosis Against Avionics
WANG Qiuyan,JU Jianbo,JIN Xin
(Naval Aeronautical Astronautical University,Yantai,264001,China)
Abstract:BP fault diagnosis model is given out,the conjugate gradient is studied and carried on the optimum design to BP algorithm.According to the surveyed data which are directed against one avionics,the optimized neural network is applied in the fault diagnosis against the avionics,the simulation of experiment and the result of fault diagnosis are given out.It proves that when BP based on the conjugate gradient is applied in fault diagnosis,its diagnosis efficiency is higher,and this method has strong practical value.
Keywords:BP neural network;optimum design;conjugate gradient;fault diagnosis
隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,設(shè)備的集成度越來越高,越來越復(fù)雜,故障診斷技術(shù)的出現(xiàn)為提高系統(tǒng)的可靠性和安全性開辟了一條新的途徑。近些年來,由于計算機技術(shù)、信號處理、人工智能、模式識別技術(shù)的發(fā)展,促進了故障診斷技術(shù)的不斷發(fā)展,大型復(fù)雜電子設(shè)備的出現(xiàn),使得人們更迫切地希望能提高整體可靠性與維修性,這就給故障診斷提出了更高的要求。因此,對故障診斷技術(shù)的研究[1]有著重要的理論及現(xiàn)實意義。
1 BP神經(jīng)網(wǎng)絡(luò)故障診斷模型
一個神經(jīng)網(wǎng)絡(luò)用于故障診斷時,主要包括三層[2]:輸入層,即從設(shè)備對象接收各種故障信息和現(xiàn)象;中間層,是把從輸入層得到的故障信息,經(jīng)內(nèi)部的學(xué)習(xí)和處理,轉(zhuǎn)化為針對性的解決辦法;輸出層,是針對輸入的故障形式,經(jīng)過調(diào)整權(quán)值后得到的故障處理方法。對于一個新的輸入狀態(tài)信息,訓(xùn)練好的網(wǎng)絡(luò)將由輸出層給出故障識別結(jié)果。BP神經(jīng)網(wǎng)絡(luò)故障診斷模型如圖1所示。
2 BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化——共軛梯度法
雖然神經(jīng)網(wǎng)絡(luò)模型已成功應(yīng)用于模式識別、函數(shù)逼近、時間序列預(yù)測等領(lǐng)域,但是由于BP學(xué)習(xí)算法僅改變網(wǎng)絡(luò)的連接值和閾值,不改變網(wǎng)絡(luò)的拓撲結(jié)構(gòu),因此BP網(wǎng)絡(luò)在處理具體問題時還存在收斂速度慢,易陷入局部極小值等缺點[3]。為了解決BP網(wǎng)絡(luò)訓(xùn)練的缺點,人們提出了多種有益的改進方法[4]。
圖1 BP神經(jīng)網(wǎng)絡(luò)故障診斷模型
本文研究了共軛梯度法對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化設(shè)計,基本思想如下:
傳統(tǒng)的前向多層網(wǎng)絡(luò)的BP學(xué)習(xí)算法實質(zhì)上是無約束的最速下降法,改進的BP算法是對最速下降法作了一些約束;而共軛梯度法則是介于最速下降法和牛頓法之間的一種方法,它僅需要利用一階導(dǎo)數(shù)信息,不僅克服了BP學(xué)習(xí)算法收斂慢的缺點,又避免了存儲和計算牛頓法所需要的二階導(dǎo)數(shù)信息。共軛梯度法的計算步驟和最速下降梯度法差別不大,主要差別在于搜索方向不同,即每一步的方向不是梯度的負方向,而是一種共軛的方向。由原來的負梯度方向加上一個修正項得到共軛方向,也就是使得最速下降法具有共軛性,從而提高算法的有效性和可靠性。共軛梯度法應(yīng)用于神經(jīng)網(wǎng)絡(luò)中的目的是求誤差函數(shù)E(W)的最小值。算法主要是利用共扼梯度方向來修正權(quán)值W,使W的確定更為快速,計算過程如下:
(1) 初始化權(quán)值W1,令k=1;
(2) 計算網(wǎng)絡(luò)的負梯度矢量:
設(shè)p1=r1=-E′(W1),式中E′(W1)是根據(jù)BP算法求出的負梯度。
(3) 計算步長ak:
ak = pTkrkpTkEn(Wk)pk
式中:En(W1)為誤差函數(shù)對權(quán)值矢量W的二次導(dǎo)數(shù)。
(4) 調(diào)整權(quán)值:
Wk+1=Wk+akpk
rk=-E′(Wk+1)
(5) 如果k除以樣本數(shù)N的余數(shù)為零時,pk+1=rk+1,否則計算新的搜索方向:
pk+1=rk+12-rTk+1rk(pTkrk)+rk+1
(6) 如果梯度方向rk>ε,則置k=k+1,否則停止,Wk+1為所求權(quán)值矢量。
3 診斷實例
現(xiàn)以一電子設(shè)備為診斷對象[5],驗證優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法。樣本數(shù)據(jù)從測試口測試獲得,一共6個測試點,10個板卡故障。診斷步驟如下:
(1) 故障特征提取[6]
表1為實驗測得的故障樣本數(shù)據(jù);表2為歸一化后的數(shù)據(jù),其激活函數(shù)[7]采用S型函數(shù)f=1/(1+e-ax);表3為神經(jīng)網(wǎng)絡(luò)的目標(biāo)輸出模式,1表示有故障,0表示正常。
(2) BP網(wǎng)絡(luò)的訓(xùn)練
取輸入節(jié)點N1=6,輸出節(jié)點N3=11,隱層節(jié)點采用N2=N1N3+α,α取1~10,本實驗中α取7(根據(jù)訓(xùn)練誤差曲線調(diào)整而得),N2=15。學(xué)習(xí)率η=0.2,訓(xùn)練誤差E<0.005,最大訓(xùn)練次數(shù)n=1 000。圖2為BP網(wǎng)絡(luò)的訓(xùn)練誤差曲線。
表1 故障樣本數(shù)據(jù)
V1 /VV2 /VV3 /VV4 /Vf1 /Hzf2 /Hz故障形式
10.25314.13510.62411.311205989MA-1
0.53614.7820.3250.259213996MA-2
5.1268.39513.69814.6872091 010MB-1
0.5684.8659.65814.5682151 008MB-2
14.32511.4590.2655.3682201 012MC-1
13.68412.0840.6574.865208990MC-2
13.95613.6529.65711.5272101 003MD
9.57612.65112.3570.8262111 013ME
5.3674.79512.6570.264221994MF
14.96510.5324.9769.853253856MG
5.01314.96510.0214.9862101 000正常
表2 自身數(shù)據(jù)歸一化
V1 /VV2 /VV3 /VV4 /Vf1 /Hzf2 /Hz故障形式
0.141 80.177 00.101 80.282 40.145 80.070 1MA-1
0.476 50.167 00.483 30.313 20.208 00.025 5MA-2
0.289 00.286 50.056 90.310 60.062 50.137 0MB-1
0.475 10.370 80.121 30.328 30.062 50.210 0MB-2
0.074 80.223 50.486 40.326 70.166 70.076 4MC-1
0.083 00.211 90.466 40.297 60.083 30.237 0MC-2
0.079 40.184 80.121 40.314 60.041 70.019 1MD
0.156 90.201 80.073 60.285 40.120 00.082 8ME
0.280 40.372 60.069 50.302 00.187 50.038 2MF
0.067 40.241 40.264 90.349 60.854 20.917 2MG
0.293 10.164 30.113 60.280 30.001 70.002 8正常
a=-0.175 6a=-0.108 7a=-0.205 1a=-0.063a=0.006 4a=0.0023
(3) BP網(wǎng)識別結(jié)果分析
① 用樣本自身數(shù)據(jù)輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,其識別結(jié)果見表4。與故障模式對比分析可知,自身數(shù)據(jù)檢測正確率為100%。可見,該網(wǎng)絡(luò)達到了訓(xùn)練的要求。
② 任取4組測試數(shù)據(jù)見表5,觀察其識別結(jié)果。表6為歸一化后的測試數(shù)據(jù),表7為識別結(jié)果。與故障模式對比可知,第一組數(shù)據(jù)對應(yīng)的故障是MA-1;第二組數(shù)據(jù)對應(yīng)的故障是MB-2;第三組數(shù)據(jù)對應(yīng)的故障是MD;第四組數(shù)據(jù)對應(yīng)的故障是MG。由此可見,本網(wǎng)絡(luò)不僅能識別樣本本身的故障,而且能準(zhǔn)確診斷樣本以外的數(shù)據(jù)故障。
圖2 BP網(wǎng)絡(luò)訓(xùn)練誤差曲線
表3 神經(jīng)網(wǎng)絡(luò)的目標(biāo)輸出模式
MA-110000000000
MA-201000000000
MB-100100000000
MB-200010000000
MC-100001000000
MC-200000100000
MD00000010000
ME00000001000
MF00000000100
MG00000000010
正常00000000000
表4 自身數(shù)據(jù)識別結(jié)果
0.983 10.000 00.000 00.000 00.000 30.000 00.000 00.000 00.000 00.000 00.000 0
0.000 00.999 00.000 00.000 40.000 10.003 30.000 00.000 00.000 00.000 30.007 0
0.001 20.000 00.995 70.184 50.000 00.000 00.000 00.009 20.000 40.000 00.037 3
0.001 50.001 40.002 90.889 90.000 00.000 00.000 00.000 00.000 00.000 00.000 3
0.000 40.014 80.000 00.000 00.995 90.000 10.000 40.000 00.000 00.000 00.000 0
0.000 00.001 70.000 20.000 20.000 00.940 10.000 10.000 20.000 70.004 60.000 4
0.000 10.000 00.000 00.000 00.004 60.000 00.961 80.007 80.000 00.000 00.000 0
0.034 60.000 00.040 50.000 00.000 00.000 00.062 80.995 90.002 00.000 00.000 0
0.018 70.003 90.172 30.715 80.002 30.012 80.002 90.023 10.886 20.169 00.009 7
0.000 00.000 00.000 00.000 10.000 00.000 00.000 00.000 00.004 10.996 80.000 0
0.001 50.000 30.000 20.000 00.001 10.000 40.004 50.002 00.000 10.000 50.000 8
表5 測試數(shù)據(jù)
V1 /VV2 /VV3 /VV4 /Vf1 /Hzf2 /Hz
9.58313.69510.52311.256209993
0.5344.6799.53914.2792161 010
13.98513.6549.73611.4792151 006
14.56910.4794.8739.532294817
表6 測試數(shù)據(jù)歸一化
0.146 70.179 80.103 60.292 00.143 60.069 5
0.476 60.375 50.123 90.334 00.065 80.210 9
0.079 00.184 80.119 50.314 00.042 60.018 7
0.062 90.242 50.269 00.354 20.849 70.943 1
a=-0.175 6a=-0.108 7a=-0.205 1a=-0.063a=0.006 4a=0.002 3
表7 測試數(shù)據(jù)識別結(jié)果
0.994 80.000 00.000 00.000 10.000 10.000 00.002 60.000 50.003 80.000 00.000 2
0.000 90.000 90.013 00.999 60.000 00.000 00.001 50.000 00.000 10.000 00.000 9
0.412 40.000 00.001 50.000 00.001 00.000 00.999 50.003 10.000 00.000 00.000 2
0.000 00.000 00.003 00.000 00.001 70.000 00.196 90.000 00.000 40.979 50.000 3
4 結(jié) 語
本次實驗中的BP神經(jīng)網(wǎng)絡(luò)采用共軛梯度法進行優(yōu)化設(shè)計,由實驗數(shù)據(jù)可知,該網(wǎng)絡(luò)能夠準(zhǔn)確診斷數(shù)據(jù)的故障狀態(tài),可見,該方法能夠成功應(yīng)用于設(shè)備的故障診斷中。故障診斷是一門實用性很強的技術(shù),因此只有在實際應(yīng)用中才能體現(xiàn)它的價值,目前在理論研究方面雖有不少進展,但真正在工程實踐中成功應(yīng)用的實例還較少,因此如何將先進的故障診斷理論與方法應(yīng)用到實際中,還有待更深入的研究。
參考文獻
[1]聞新,周露.神經(jīng)網(wǎng)絡(luò)故障診斷技術(shù)的可實現(xiàn)性[J].導(dǎo)彈與航天運載技術(shù),2000,13(2):17-22.
[2]朱大奇.電子設(shè)備故障診斷原理與實踐[M].北京:電子工業(yè)出版社,2004.
[3]高雪鵬,叢爽.BP網(wǎng)絡(luò)改進算法的性能對比研究[J].控制與決策,2001,16(2):167-171.
[4]高洪深,陶有德.BP神經(jīng)網(wǎng)絡(luò)模型的改進[J].系統(tǒng)工程理論與實踐,1996(1):37-40.
[5]張義忠.基于神經(jīng)網(wǎng)絡(luò)電子裝備故障診斷的仿真研究[J].計算機仿真,2000,17(4):39-42.
[6]王承.基于神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷方法研究[D].成都:電子科技大學(xué),2005.
[7]韓力群.人工神經(jīng)網(wǎng)絡(luò)的理論、設(shè)計及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2002.
[8]張德豐.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計[M].北京:機械工業(yè)出版社,2009.
[9]高雋.人工神經(jīng)網(wǎng)絡(luò)原理及仿真實例[M].北京:機械工業(yè)出版社,2007.
[10]金聰穎,李進.神經(jīng)網(wǎng)絡(luò)在電路診斷中的應(yīng)用[J].測試技術(shù)學(xué)報,2002,16(3):230-235.
[11]陳勵華.智能故障診斷技術(shù)的應(yīng)用與研究[D].西安:西北工業(yè)大學(xué),2005.