《電子技術應用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 模拟电路故障诊断的BP神经网络方法研究
模拟电路故障诊断的BP神经网络方法研究
孙必伟,潘 强 海军工程大学
摘要: BP网络是模拟电路故障诊断中应用十分广泛的一种神经网络。针对传统BP算法的误差下降缓慢,调整时间长,甚至容易陷入局部极小点而不能自拔等局限性,提出用弹性算法与BP网络相结合的方法,并结合某型雷达装备的具体电路,运用该方法建模、仿真。实验结果表明,采用弹性算法结合后的BP网络误差收敛稳定,训练速度快,在克服传统BP算法的局限性上效果显著,为新型雷达装备的故障诊断和维修提供了一种方法,具有特定的实用意义。
Abstract:
Key words :

    隨著現(xiàn)代電子技術的飛速發(fā)展,大規(guī)模、超大規(guī)模集成電路越來越普及,常規(guī)的故障診斷方法如故障字典法、參數(shù)識別法、故障驗證法等由于其局限性已不再適用。模擬電路的可靠性直接制約著整個電子設備或系統(tǒng)的可靠性,是一個系統(tǒng)能不能正常運行的關鍵。近年來,神經網絡發(fā)展迅速,在各領域廣泛應用。神經網絡具有非線性信息處理能力,其強大的學習能力和并行處理能力為故障診斷提供了全新的理論方法和實現(xiàn)手段。其中BP神經網絡由于具有良好的模式分類能力,尤其適用于故障診斷領域,因此對BP網絡的研究有著重要的理論及現(xiàn)實意義。

1 神經網絡故障診斷的系統(tǒng)設計
    應用BP神經網絡進行模擬電路故障診斷的方法一般是:在一定的測試激勵下,將電路常見的各種故障狀態(tài)及正常狀態(tài)所對應的參數(shù)通過PSpice求出,進行數(shù)據(jù)預處理后作為BP網絡的輸入樣本,對網絡進行訓練,然后在相同的激勵下,檢測電路實際輸出,作為待診斷樣本集提供給BP網絡,網絡輸出即為對應的故障模式。系統(tǒng)設計框圖如圖1所示。

a.jpg



2 BP網絡的傳統(tǒng)算法
    BP網絡,即誤差反傳網絡,是在1986年由Rumelhart和McCelland提出的,它是一種無反饋的前向網絡,包括輸入層、輸出層和隱層。理論證明:具有單隱層結構的前饋網絡可以映射任意連續(xù)函數(shù),最常用的BP神經網絡的結構是3層結構,即輸入層、輸出層和一個隱層。
    誤差反向傳播過程就是通過使一個目標函數(shù)b.jpg。最小化來完成的,BP網絡的傳統(tǒng)算法則是根據(jù)梯度下降法c.jpg來調整權重系數(shù)的。
d.jpg
    tk為輸出層第忌個神經元的期望輸出;Qk為實際輸出;Oj為隱層第j個神經元的輸出;Qi為輸入層第i個神經元的輸出。通過多次迭代后誤差達到給定的標準,網絡收斂到一組穩(wěn)定的權值,即訓練完成。但是這種標準的BP算法有局限性,由于是根據(jù)梯度下降法調整權值,若權值的改變量過大,雖然能夠加快網絡的訓練過程,但結果可能會產生振蕩;另外一種可能就是權值的改變量過小,因為S型函數(shù)具有飽和性,當輸入較大時,Oj,Ok將處于0或1的飽和區(qū),權值的改變將趨于0,但此時目標函數(shù)的值還很大,誤差對權值的變化很不明顯,誤差下降緩慢,調整時間長,甚至陷入局部極小點而不能自拔,影響收斂速度,使訓練難以收斂于給定誤差。
3 傳統(tǒng)BP算法的改進
    基于上述傳統(tǒng)BP算法的局限性,提出將彈性算法與BP神經網絡相結合的方法,彈性算法只取偏導數(shù)的符號,而不考慮幅值,權值的更新方向是由偏導數(shù)的符號來決定的。若在兩次連續(xù)的迭代中,目標函數(shù)對某個權值的偏導數(shù)的符號保持不變,則增大相應的更新值,若變號,則減小相應的更新值,其過程可表示為:
e.jpg
    當目標函數(shù)與某個權值偏導數(shù)的符號與上一次不同時,則表明最近一次權值的更新值太大,算法已跳出一個局部最小值。通過這種方法調整權值參數(shù),可以使變化步長在需要的時候增加,甚至在誤差平面趨于平坦的時候也能增加。誤差梯度一旦發(fā)生變化,相應的調整步長會減小,有效地防止了振蕩??朔薆P網絡誤差下降緩慢,調整時間長,甚至容易陷入局部極小點等局限性,通過彈性算法與BP網絡的結合來實現(xiàn)模擬電路的故障診斷。

4 實例分析
    現(xiàn)以圖2所示的某型雷達設備中的射頻放大電路為例,選取5個測試點(out1~out5)的電壓作為BP網絡的輸入信號,本文只考慮電阻和電容的硬故障,選擇4種故障類型進行分析診斷,加上正常狀態(tài)一共5種類型。輸出狀態(tài)使用n-1表示法,0為正常,1為故障。表1為測試數(shù)據(jù)。對故障樣本數(shù)據(jù)進行歸一化,將數(shù)據(jù)線性變換到0.1~0.9之間,即f.jpg,xi為原始數(shù)據(jù);xmax,xmini分別為變量的最大值和最小值,歸一化處理后的數(shù)據(jù)如表2所示。

g.jpg


    對于BP網絡,在閉區(qū)間內的任意一個連續(xù)函數(shù)都可以用單隱層的BP網絡逼近,即一個3層的BP網絡可以完成任意m維到n維的映射。由于有5個測試點,所以BP網絡的輸入層為5個神經元,以歸一化之后的數(shù)據(jù)作為BP網絡的輸入樣本,輸出層為4個神經元。隱層神經元數(shù)目的選擇是一個十分復雜的問題,往往需要根據(jù)經驗或者多次的實驗來判定,因而不存在一個確切的表達式來確定。它的數(shù)目與問題的要求、輸入/輸出單元的數(shù)目都有著直接關系。隱層單元數(shù)目太多會導致學習時間過長、誤差不一定最佳,也會導致容錯性差、不能識別以前沒有看到的樣本,因此一定存在一個最佳的隱單元數(shù)。此處參照美國科學家Hebb提出的以下經驗公式選取:h.jpg。其中:n為輸入單元數(shù);m為輸出單元數(shù);a為[1,10]之間的常數(shù)。按照上式,i.jpg,即h的取值為4~13。通過Matlab創(chuàng)建一個BP神經網絡,設定訓練次數(shù)為5 000,訓練目標net.trainParam.goal=0.01,改變隱層單元的數(shù)目,當隱層單元數(shù)不同時,達到目標所用的訓練次數(shù),如表3所示。

j.jpg


    根據(jù)表3,當隱層單元數(shù)為11時,訓練次數(shù)最少,這樣神經網絡的結構就確定了,輸入層5個節(jié)點,隱層11個節(jié)點,輸出層4個節(jié)點,訓練最大次數(shù)設定為5 000,訓練誤差為0.01,先采用傳統(tǒng)算法訓練網絡,再采用彈性算法與BP網絡結合的改進算法,網絡訓練誤差曲線如圖3、圖4所示。

k.jpg      l.jpg


    彈性算法不僅加快了收斂速度,防止了震蕩,還避免了陷入局部極小值,從圖3和圖4可以看出,通過彈性算法與BP網絡相結合以后,訓練次數(shù)由原來的769次減少到11次,大大提高了神經網絡的訓練效率。用樣本自身數(shù)據(jù)輸入訓練好的神經網絡中,識別結果見表4。與故障模式對比分析可知,自身檢測結果已經達到要求,即該網絡已經訓練好。下面檢測網絡的泛化能力,任取2組測試數(shù)據(jù)并進行歸一化處理,結果如表5所示。

m.jpg


    將歸一化的數(shù)據(jù)作為神經網絡的輸入,得到測試數(shù)據(jù)的識別結果,如表6所示。

n.jpg


    與故障模式對比可知,第一組對應的故障是R2短路,第二組對應的故障是R1開路。由此可以看出,訓練好的網絡不僅可以識別樣本自身故障,而且還具有一定的泛化能力,經過彈性算法與BP網絡的結合,取得了良好的效果,達到了預期的目標。

5 結語
    本文針對傳統(tǒng)BP算法誤差下降緩慢,調整時間長,甚至陷入局部極小點而不能自拔等局限性,運用彈性算法與BP網絡相結合的方法,結合某型雷達設備中的射頻放大電路進行建模、仿真,用Matlab設計并用改進后的算法訓練BP神經網絡,仿真結果證明該方法對克服傳統(tǒng)BP算法的局限性有顯著效果,縮短了網絡的訓練次數(shù),提高了訓練效率,且診斷結果良好,為新型雷達裝備的故障診斷提供了一種有效的方法,在對裝備故障診斷維修上具有一定的實用意義。

此內容為AET網站原創(chuàng),未經授權禁止轉載。