模擬電路故障診斷的BP神經(jīng)網(wǎng)絡(luò)方法研究
掃描二維碼
隨時隨地手機看文章
摘要:BP網(wǎng)絡(luò)是模擬電路故障診斷中應(yīng)用十分廣泛的一種神經(jīng)網(wǎng)絡(luò)。針對傳統(tǒng)BP算法的誤差下降緩慢,調(diào)整時間長,甚至容易陷入局部極小點而不能自拔等局限性,提出用彈性算法與BP網(wǎng)絡(luò)相結(jié)合的方法,并結(jié)合某型雷達裝備的具體電路,運用該方法建模、仿真。實驗結(jié)果表明,采用彈性算法結(jié)合后的BP網(wǎng)絡(luò)誤差收斂穩(wěn)定,訓(xùn)練速度快,在克服傳統(tǒng)BP算法的局限性上效果顯著,為新型雷達裝備的故障診斷和維修提供了一種方法,具有特定的實用意義。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);彈性算法;模擬電路;故障診斷
隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,大規(guī)模、超大規(guī)模集成電路越來越普及,常規(guī)的故障診斷方法如故障字典法、參數(shù)識別法、故障驗證法等由于其局限性已不再適用。模擬電路的可靠性直接制約著整個電子設(shè)備或系統(tǒng)的可靠性,是一個系統(tǒng)能不能正常運行的關(guān)鍵。近年來,神經(jīng)網(wǎng)絡(luò)發(fā)展迅速,在各領(lǐng)域廣泛應(yīng)用。神經(jīng)網(wǎng)絡(luò)具有非線性信息處理能力,其強大的學(xué)習(xí)能力和并行處理能力為故障診斷提供了全新的理論方法和實現(xiàn)手段。其中BP神經(jīng)網(wǎng)絡(luò)由于具有良好的模式分類能力,尤其適用于故障診斷領(lǐng)域,因此對BP網(wǎng)絡(luò)的研究有著重要的理論及現(xiàn)實意義。
1 神經(jīng)網(wǎng)絡(luò)故障診斷的系統(tǒng)設(shè)計
應(yīng)用BP神經(jīng)網(wǎng)絡(luò)進行模擬電路故障診斷的方法一般是:在一定的測試激勵下,將電路常見的各種故障狀態(tài)及正常狀態(tài)所對應(yīng)的參數(shù)通過PSpice求出,進行數(shù)據(jù)預(yù)處理后作為BP網(wǎng)絡(luò)的輸入樣本,對網(wǎng)絡(luò)進行訓(xùn)練,然后在相同的激勵下,檢測電路實際輸出,作為待診斷樣本集提供給BP網(wǎng)絡(luò),網(wǎng)絡(luò)輸出即為對應(yīng)的故障模式。系統(tǒng)設(shè)計框圖如圖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),即輸入層、輸出層和一個隱層。
誤差反向傳播過程就是通過使一個目標(biāo)函數(shù)。最小化來完成的,BP網(wǎng)絡(luò)的傳統(tǒng)算法則是根據(jù)梯度下降法來調(diào)整權(quán)重系數(shù)的。
tk為輸出層第忌個神經(jīng)元的期望輸出;Qk為實際輸出;Oj為隱層第j個神經(jīng)元的輸出;Qi為輸入層第i個神經(jīng)元的輸出。通過多次迭代后誤差達到給定的標(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é)果可能會產(chǎn)生振蕩;另外一種可能就是權(quán)值的改變量過小,因為S型函數(shù)具有飽和性,當(dāng)輸入較大時,Oj,Ok將處于0或1的飽和區(qū),權(quán)值的改變將趨于0,但此時目標(biāo)函數(shù)的值還很大,誤差對權(quán)值的變化很不明顯,誤差下降緩慢,調(diào)整時間長,甚至陷入局部極小點而不能自拔,影響收斂速度,使訓(xùn)練難以收斂于給定誤差。
3 傳統(tǒng)BP算法的改進
基于上述傳統(tǒng)BP算法的局限性,提出將彈性算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,彈性算法只取偏導(dǎo)數(shù)的符號,而不考慮幅值,權(quán)值的更新方向是由偏導(dǎo)數(shù)的符號來決定的。若在兩次連續(xù)的迭代中,目標(biāo)函數(shù)對某個權(quán)值的偏導(dǎo)數(shù)的符號保持不變,則增大相應(yīng)的更新值,若變號,則減小相應(yīng)的更新值,其過程可表示為:
當(dāng)目標(biāo)函數(shù)與某個權(quán)值偏導(dǎo)數(shù)的符號與上一次不同時,則表明最近一次權(quán)值的更新值太大,算法已跳出一個局部最小值。通過這種方法調(diào)整權(quán)值參數(shù),可以使變化步長在需要的時候增加,甚至在誤差平面趨于平坦的時候也能增加。誤差梯度一旦發(fā)生變化,相應(yīng)的調(diào)整步長會減小,有效地防止了振蕩。克服了BP網(wǎng)絡(luò)誤差下降緩慢,調(diào)整時間長,甚至容易陷入局部極小點等局限性,通過彈性算法與BP網(wǎng)絡(luò)的結(jié)合來實現(xiàn)模擬電路的故障診斷。
4 實例分析
現(xiàn)以圖2所示的某型雷達設(shè)備中的射頻放大電路為例,選取5個測試點(out1~out5)的電壓作為BP網(wǎng)絡(luò)的輸入信號,本文只考慮電阻和電容的硬故障,選擇4種故障類型進行分析診斷,加上正常狀態(tài)一共5種類型。輸出狀態(tài)使用n-1表示法,0為正常,1為故障。表1為測試數(shù)據(jù)。對故障樣本數(shù)據(jù)進行歸一化,將數(shù)據(jù)線性變換到0.1~0.9之間,即,xi為原始數(shù)據(jù);xmax,xmini分別為變量的最大值和最小值,歸一化處理后的數(shù)據(jù)如表2所示。
對于BP網(wǎng)絡(luò),在閉區(qū)間內(nèi)的任意一個連續(xù)函數(shù)都可以用單隱層的BP網(wǎng)絡(luò)逼近,即一個3層的BP網(wǎng)絡(luò)可以完成任意m維到n維的映射。由于有5個測試點,所以BP網(wǎng)絡(luò)的輸入層為5個神經(jīng)元,以歸一化之后的數(shù)據(jù)作為BP網(wǎng)絡(luò)的輸入樣本,輸出層為4個神經(jīng)元。隱層神經(jīng)元數(shù)目的選擇是一個十分復(fù)雜的問題,往往需要根據(jù)經(jīng)驗或者多次的實驗來判定,因而不存在一個確切的表達式來確定。它的數(shù)目與問題的要求、輸入/輸出單元的數(shù)目都有著直接關(guān)系。隱層單元數(shù)目太多會導(dǎo)致學(xué)習(xí)時間過長、誤差不一定最佳,也會導(dǎo)致容錯性差、不能識別以前沒有看到的樣本,因此一定存在一個最佳的隱單元數(shù)。此處參照美國科學(xué)家Hebb提出的以下經(jīng)驗公式選取:。其中:n為輸入單元數(shù);m為輸出單元數(shù);a為[1,10]之間的常數(shù)。按照上式,,即h的取值為4~13。通過Matlab創(chuàng)建一個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ù)不同時,達到目標(biāo)所用的訓(xùn)練次數(shù),如表3所示。
根據(jù)表3,當(dāng)隱層單元數(shù)為11時,訓(xùn)練次數(shù)最少,這樣神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)就確定了,輸入層5個節(jié)點,隱層11個節(jié)點,輸出層4個節(jié)點,訓(xùn)練最大次數(shù)設(shè)定為5 000,訓(xùn)練誤差為0.01,先采用傳統(tǒng)算法訓(xùn)練網(wǎng)絡(luò),再采用彈性算法與BP網(wǎng)絡(luò)結(jié)合的改進算法,網(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ò)中,識別結(jié)果見表4。與故障模式對比分析可知,自身檢測結(jié)果已經(jīng)達到要求,即該網(wǎng)絡(luò)已經(jīng)訓(xùn)練好。下面檢測網(wǎng)絡(luò)的泛化能力,任取2組測試數(shù)據(jù)并進行歸一化處理,結(jié)果如表5所示。
將歸一化的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,得到測試數(shù)據(jù)的識別結(jié)果,如表6所示。
與故障模式對比可知,第一組對應(yīng)的故障是R2短路,第二組對應(yīng)的故障是R1開路。由此可以看出,訓(xùn)練好的網(wǎng)絡(luò)不僅可以識別樣本自身故障,而且還具有一定的泛化能力,經(jīng)過彈性算法與BP網(wǎng)絡(luò)的結(jié)合,取得了良好的效果,達到了預(yù)期的目標(biāo)。
5 結(jié)語
本文針對傳統(tǒng)BP算法誤差下降緩慢,調(diào)整時間長,甚至陷入局部極小點而不能自拔等局限性,運用彈性算法與BP網(wǎng)絡(luò)相結(jié)合的方法,結(jié)合某型雷達設(shè)備中的射頻放大電路進行建模、仿真,用Matlab設(shè)計并用改進后的算法訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),仿真結(jié)果證明該方法對克服傳統(tǒng)BP算法的局限性有顯著效果,縮短了網(wǎng)絡(luò)的訓(xùn)練次數(shù),提高了訓(xùn)練效率,且診斷結(jié)果良好,為新型雷達裝備的故障診斷提供了一種有效的方法,在對裝備故障診斷維修上具有一定的實用意義。