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

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

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

a.jpg



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

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

g.jpg


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

j.jpg


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

k.jpg      l.jpg


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

m.jpg


    將歸一化的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,得到測(cè)試數(shù)據(jù)的識(shí)別結(jié)果,如表6所示。

n.jpg


    與故障模式對(duì)比可知,第一組對(duì)應(yīng)的故障是R2短路,第二組對(duì)應(yīng)的故障是R1開路。由此可以看出,訓(xùn)練好的網(wǎng)絡(luò)不僅可以識(shí)別樣本自身故障,而且還具有一定的泛化能力,經(jīng)過彈性算法與BP網(wǎng)絡(luò)的結(jié)合,取得了良好的效果,達(dá)到了預(yù)期的目標(biāo)。

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容