優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在電子設(shè)備故障診斷中的應(yīng)用
近些年來,由于計算機技術(shù)、信號處理、人工智能、模式識別技術(shù)的發(fā)展,促進了故障診斷技術(shù)的不斷發(fā)展,大型復(fù)雜電子設(shè)備的出現(xiàn),使得人們更迫切地希望能提高整體可靠性與維修性,這就給故障診斷提出了更高的要求。因此,對故障診斷技術(shù)的研究有著重要的理論及現(xiàn)實意義。
1 BP神經(jīng)網(wǎng)絡(luò)故障診斷模型
一個神經(jīng)網(wǎng)絡(luò)用于故障診斷時,主要包括三層:輸入層,即從設(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ò)在處理具體問題時還存在收斂速度慢,易陷入局部極小值等缺點。為了解決BP網(wǎng)絡(luò)訓(xùn)練的缺點,人們提出了多種有益的改進方法。
本文研究了共軛梯度法對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:
式中:En(W1)為誤差函數(shù)對權(quán)值矢量W的二次導(dǎo)數(shù)。
(4)調(diào)整權(quán)值:
(5)如果k除以樣本數(shù)N的余數(shù)為零時,pk+1=rk+1,否則計算新的搜索方向:
(6)如果梯度方向∣rk∣>ε,則置k=k+1,否則停止,Wk+1為所求權(quán)值矢量。
3診斷實例
現(xiàn)以一電子設(shè)備為診斷對象,驗證優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法。樣本數(shù)據(jù)從測試口測試獲得,一共6個測試點,10個板卡故障。診斷步驟如下:
(1)故障特征提取
表1為實驗測得的故障樣本數(shù)據(jù);表2為歸一化后的數(shù)據(jù),其激活函數(shù)采用S型函數(shù)f=1/(1+e-ax);表3為神經(jīng)網(wǎng)絡(luò)的目標輸出模式,1表示有故障,0表示正常。
(2)BP網(wǎng)絡(luò)的訓(xùn)練
取輸入節(jié)點N1=6,輸出節(jié)點N3=11,隱層節(jié)點采用,a取1~10,本實驗中a取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)練誤差曲線。
(3)BP網(wǎng)識別結(jié)果分析
①用樣本自身數(shù)據(jù)輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,其識別結(jié)果見表4。與故障模式對比分析可知,自身數(shù)據(jù)檢測正確率為100%??梢姡摼W(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ò)不僅能識別樣本本身的故障,而且能準確診斷樣本以外的數(shù)據(jù)故障。
4 結(jié) 語
本次實驗中的BP神經(jīng)網(wǎng)絡(luò)采用共軛梯度法進行優(yōu)化設(shè)計,由實驗數(shù)據(jù)可知,該網(wǎng)絡(luò)能夠準確診斷數(shù)據(jù)的故障狀態(tài),可見,該方法能夠成功應(yīng)用于設(shè)備的故障診斷中。故障診斷是一門實用性很強的技術(shù),因此只有在實際應(yīng)用中才能體現(xiàn)它的價值,目前在理論研究方面雖有不少進展,但真正在工程實踐中成功應(yīng)用的實例還較少,因此如何將先進的故障診斷理論與方法應(yīng)用到實際中,還有待更深入的研究。