模擬電路故障診斷的BP神經(jīng)網(wǎng)絡(luò)方法研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:BP網(wǎng)絡(luò)是模擬電路故障診斷中應(yīng)用十分廣泛的一種神經(jīng)網(wǎng)絡(luò)。針對(duì)傳統(tǒng)BP算法的誤差下降緩慢,調(diào)整時(shí)間長(zhǎng),甚至容易陷入局部極小點(diǎn)而不能自拔等局限性,提出用彈性算法與BP網(wǎng)絡(luò)相結(jié)合的方法,并結(jié)合某型雷達(dá)裝備的具體電路,運(yùn)用該方法建模、仿真。實(shí)驗(yàn)結(jié)果表明,采用彈性算法結(jié)合后的BP網(wǎng)絡(luò)誤差收斂穩(wěn)定,訓(xùn)練速度快,在克服傳統(tǒng)BP算法的局限性上效果顯著,為新型雷達(dá)裝備的故障診斷和維修提供了一種方法,具有特定的實(shí)用意義。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);彈性算法;模擬電路;故障診斷
隨著現(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所示。
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ù)。最小化來完成的,BP網(wǎng)絡(luò)的傳統(tǒng)算法則是根據(jù)梯度下降法來調(diào)整權(quán)重系數(shù)的。
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)的更新值,其過程可表示為:
當(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ì)減小,有效地防止了振蕩??朔薆P網(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之間,即,xi為原始數(shù)據(jù);xmax,xmini分別為變量的最大值和最小值,歸一化處理后的數(shù)據(jù)如表2所示。
對(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ù)。此處參照美國(guó)科學(xué)家Hebb提出的以下經(jīng)驗(yàn)公式選?。骸F渲校簄為輸入單元數(shù);m為輸出單元數(shù);a為[1,10]之間的常數(shù)。按照上式,,即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ù)表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所示。
彈性算法不僅加快了收斂速度,防止了震蕩,還避免了陷入局部極小值,從圖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所示。
將歸一化的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,得到測(cè)試數(shù)據(jù)的識(shí)別結(jié)果,如表6所示。
與故障模式對(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í)用意義。