趙光權(quán),彭喜元,馬勛亮
(哈爾濱工業(yè)大學(xué)自動化測試與控制系,黑龍江哈爾濱 150001)
模擬電路的故障診斷是當今世界研究的一大熱點.模擬電路的故障可分為兩大類:一類稱為硬故障,指元件的開路和短路失效故障;另一類稱為軟故障(元件參數(shù)故障),指元件的參數(shù)超出預(yù)定的容差范圍,一般它們均未使設(shè)備完全失效[1].由于在模擬電路中元件參數(shù)具有連續(xù)變化的特性,電路的可能狀態(tài)總數(shù)是無窮的,使得采用傳統(tǒng)的故障診斷方法對軟故障進行診斷相對困難,而基于現(xiàn)代方法的故障診斷方法例如神經(jīng)網(wǎng)絡(luò)已逐步受到人們的重視[2-4].
基于神經(jīng)網(wǎng)絡(luò)的故障診斷方法不需要建立對象的精確模型,而且其泛化能力與非線性能力使之能夠用于解決模擬電路故障診斷中的容差和非線性問題,目前在故障診斷中已得到了廣泛的研究和應(yīng)用.但是,利用經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)進行模擬電路的故障診斷存在如下問題:①網(wǎng)絡(luò)收斂速度慢,且容易陷入局部最優(yōu);②神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)難以確定[5].
針對上述問題,國內(nèi)外已有不少學(xué)者致力于利用進化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的研究,文獻[6]研究了遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的問題,取得了較好的效果,但GA同時存在著易早熟的缺點;文獻[7],文獻[8]將PSO算法用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)值.
鑒于微分進化算法(Differential Evolution Algorithm,簡稱DE算法)獨特的思想機制和神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,將兩者相結(jié)合進行研究已成為目前的新方向.本文在分析DE基本算法原理的基礎(chǔ)上提出了改進的微分進化算法,并利用改進的DE算法對神經(jīng)網(wǎng)絡(luò)進行權(quán)值訓(xùn)練.最后,將微分進化神經(jīng)網(wǎng)絡(luò)應(yīng)用到模擬電路故障診斷中,驗證算法的有效性和實用價值.
DE是求解基于連續(xù)變量的全局優(yōu)化算法.假設(shè)DE算法種群規(guī)模為NP,每個個體有D維變量,則第G代的個體可表示為Xi,G,i=1,2,…,NP.DE算法的主要算子包括:變異、交叉、選擇[9].
DE算法和其它進化算法的主要區(qū)別是變異方式.變異操作后得到中間個體記為vi,G+1,即
式中:r1,r2,r3∈{1,2,…,NP}為r1?r2?r3?i,F為DE算法中的一個控制參數(shù).
交叉操作如下:將變異得到的中間個體vi,G+1和當前個體Xi,G進行雜交,如式(2)所示.經(jīng)過雜交后得到當前個體的候選個體.
式中:i=1,…,NP,j=1,…,D.rnbr(i)是一個隨機參數(shù)保證ui,G+1至少從vi,G+1中取到一個分量值,randb(j)∈[0,1]是一個均勻分布的隨機數(shù),雜交因子CR∈[0,1]是DE算法的一個控制參數(shù),它決定了中間個體分量值代替當前個體分量值的概率.
選擇操作如下:對候選個體ui,G+1進行適應(yīng)度評價,然后根據(jù)式(3)決定是否選取新產(chǎn)生的個體.
上述操作中,變異機制對DE算法的性能有著很大的影響.標準DE算法有多種變異策略,一般將式(1)所示的變異策略稱為基本策略,另一種常用的變異策略如式(4)所示.
式中:Xbest,G表示當前種群中的最優(yōu)個體.
仔細分析,不難發(fā)現(xiàn):式(1)變異策略的特點是全局性能強但搜索速度慢,式(4)變異策略的特點則是搜索速度快但易陷入局部最優(yōu).為此,本文提出了一種混合變異策略的方法,其主要思想是使少部分個體按式(4)進行變異,其余大部分個體仍按式(1)進行變異.其具體方法為:在每個個體變異前,先將當前所有個體的適應(yīng)度值歸一化,然后依據(jù)該個體適應(yīng)度的值在所有個體中所占的位置,以一定的概率選擇該個體變異策略是采用式(1)還是式(4).其偽代碼如圖1所示.
圖1中,rand()表示取 0~1之間的隨機數(shù),cmin和cmax分別表示上一代個體中的最優(yōu)個體和最差個體的適應(yīng)度的值,cost(i)表示要變異的上一代父個體的適應(yīng)度值,δ是一個常數(shù),根據(jù)大量實驗,δ一般取0.1.Xr1,G,Xr2,G,Xr3,G是在上一代個體中隨機選取的,且Xr1,G≠Xbest,G,r1≠r2≠r3.
圖1 混合變異策略偽代碼Fig.1 Pseudocode of hybrid mutation strategy
MDE算法的本質(zhì)是是每代中的小部分優(yōu)秀個體以一定概率在當前最優(yōu)解附近搜尋,并且優(yōu)秀的個體有相對大的機會在當前最優(yōu)解附近搜索,而大部分其它個體則仍然進行隨機搜索.和基本DE算法相比,MDE算法既使少部分個體以一定的概率增強其貪婪性,又使大部分個體保持其多樣性,從而使得MDE能夠在保持較強全局多樣性的同時加快其收斂速度.
在使用神經(jīng)網(wǎng)絡(luò)前,首先要通過輸入和輸出樣本集對網(wǎng)絡(luò)進行訓(xùn)練,亦即對網(wǎng)絡(luò)的權(quán)值進行學(xué)習(xí)和修正,以使網(wǎng)絡(luò)實現(xiàn)給定的輸入輸出映射關(guān)系.神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程就是學(xué)習(xí)的過程,也是確認權(quán)值的過程(這里閾值可知,看成系數(shù)為 -1的權(quán)值,故以后只提權(quán)值優(yōu)化).
BP算法是一種經(jīng)典的神經(jīng)網(wǎng)絡(luò)權(quán)值訓(xùn)練算法,同時又有著一定的局限性,主要體現(xiàn)在如下幾個方面:①學(xué)習(xí)收斂速度太慢;②不能保證收斂到全局最小點;③對目標函數(shù)的依賴性太強;④沒有確定隱層神經(jīng)元數(shù)的有效方法.
鑒于此,本文采用MDE算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值.其基本思想是:首先通過常規(guī)辦法確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),再將連接權(quán)進行編碼,然后利用MDE算法在權(quán)值空間中搜索最優(yōu)權(quán)值.
本文采用實數(shù)編碼的方式,每個連接權(quán)值用一個實數(shù)表示,一個網(wǎng)絡(luò)的權(quán)值用一組實數(shù)向量表達,即為DE算法的一個個體.
在DE算法中,適應(yīng)度值是群體進化的依據(jù).本文中權(quán)值訓(xùn)練適應(yīng)度函數(shù)的選取如式(5)所示.
式中:P表示輸入的樣本數(shù);M表示神經(jīng)網(wǎng)絡(luò)總的層數(shù);y表示神經(jīng)網(wǎng)絡(luò)的輸出;t表示樣本中的實際輸出.
在確定了算法的編碼方式和適應(yīng)度函數(shù)后,下一步就該用MDE算法對神經(jīng)網(wǎng)絡(luò)進行權(quán)值優(yōu)化.優(yōu)化的過程實際上就是一個算法尋優(yōu)的過程,每一組權(quán)值看成一個個體,個體在尋優(yōu)過程中不斷得到進化,最后得到最優(yōu)個體,此時神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)完成.
利用MDE算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的步驟如圖2所示.
圖2 MDE算法優(yōu)化神經(jīng)網(wǎng)絡(luò)Fig.2 Flowchart of neural network trainingwith MDE algorithm
應(yīng)用神經(jīng)網(wǎng)絡(luò)進行模擬電路故障診斷主要有如下幾個步驟:
1)產(chǎn)生訓(xùn)練樣本集.首先要完成故障狀態(tài)點選擇和測試點的選擇,并應(yīng)用PSPICE軟件模擬出電路各測試點的理論值和故障值,并把它建成一個故障狀態(tài)表.
2)建立神經(jīng)網(wǎng)絡(luò).確定神經(jīng)網(wǎng)絡(luò)的種類,并利用訓(xùn)練樣本集訓(xùn)練神經(jīng)網(wǎng)絡(luò).本文利用MDE算法來訓(xùn)練神經(jīng)網(wǎng)絡(luò),充分保證其泛化能力.
3)利用訓(xùn)練好了的神經(jīng)網(wǎng)絡(luò)進行故障診斷.神經(jīng)網(wǎng)絡(luò)訓(xùn)練后,電路的故障字典就建立在神經(jīng)網(wǎng)絡(luò)之中,網(wǎng)絡(luò)的輸入節(jié)點由電路的可測節(jié)點決定,輸出節(jié)點由故障狀態(tài)的數(shù)目決定.診斷時,將待診斷的故障特征數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)之中,經(jīng)過計算,神經(jīng)網(wǎng)絡(luò)的輸出就是故障的類別.
本文以sallen-key濾波電路為例來介紹基于微分進化神經(jīng)網(wǎng)絡(luò)的故障診斷方法.sallen-key濾波電路如圖3所示[10].
根據(jù)靈敏度分析,sallen-key電路中R2和R3,C1和C2的參數(shù)變化對電路輸出的影響較大,選擇這4個器件作為故障單元,分別設(shè)置電阻和電容的正常容差為5%和10%.每個器件設(shè)置的故障閾值為±50%,即當這4個器件任何一個的參數(shù)值在其標稱值±50%以外,則認為電路出現(xiàn)故障,本文只考慮單故障的情況.即電路總共有 R2↑(F1),R2↓(F2),R3↑(F3),R3↓(F4),C1↑(F6),C1↓(F7),C2↑(F8),C2↓(F9)這8種故障模式和1種正常模式(本文將正常情況也看成一種故障模式F5),共9種故障模式.其中↑表示器件參數(shù)超過標稱值50%,↓表示器件參數(shù)低于標稱值50%.
文獻[10]指出,電阻R2阻值變大對電路的影響很小,F1和F5這兩類故障模式的差異最大不超過8.5%,導(dǎo)致在實際的電路中,這兩類故障模式很難區(qū)分.因此,本文將故障F1和F5合并為一類故障F5,并對這8類故障進行診斷.
圖3 Sallen-key濾波電路原理圖Fig.3 Circuit diagram of sallen-key filter
如圖3所示,電路的激勵信號為幅值 5 V、脈寬10 μ s的矩形信號.通過PSPICE對電路圖進行仿真,對每種故障模式進行25次蒙特卡洛分析以獲得故障診斷數(shù)據(jù).其中15組用來訓(xùn)練神經(jīng)網(wǎng)絡(luò),另外10組用來測試.
本文所采用的神經(jīng)網(wǎng)絡(luò)為BP網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為5-5-1,輸入層有5個節(jié)點對應(yīng)5維故障特征輸入向量,輸出層有1個神經(jīng)元,輸出數(shù)據(jù)1~9分別對應(yīng)于9種故障模式(F1~F9).BP學(xué)習(xí)算法采用最速下降BP算法(matlab中用traingd函數(shù)表示),適應(yīng)度函數(shù)為均方誤差(mse)函數(shù),目標精度為0.2.
利用標準BP算法和MDE算法分別對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,兩種算法對15個故障訓(xùn)練樣本進行訓(xùn)練的時間與診斷結(jié)果對比如表1所示.
從表1可以看出,基于MDE算法的訓(xùn)練時間為BP算法的50%左右,訓(xùn)練速度明顯快于BP算法,且訓(xùn)練效果也優(yōu)于BP算法,體現(xiàn)出MDE算法在神經(jīng)網(wǎng)絡(luò)權(quán)值訓(xùn)練中具有較強的優(yōu)越性.
利用訓(xùn)練好的兩種神經(jīng)網(wǎng)絡(luò)對10個測試樣本進行實際診斷,故障診斷準確率對比如表2所示.
表1 BP算法和MDE算法訓(xùn)練結(jié)果對比Tab.1 Comparision of trainging results with BP algorithm and MDE algorithm
表2 BP神經(jīng)網(wǎng)絡(luò)和MDE神經(jīng)網(wǎng)絡(luò)實際診斷結(jié)果對比Tab.2 Comparision of diagnosis results with BP neural network and MDE neural network
從表2可以看出,微分進化神經(jīng)網(wǎng)絡(luò)的故障診斷準確率要比BP神經(jīng)網(wǎng)絡(luò)高7%,充分驗證了微分進化神經(jīng)網(wǎng)絡(luò)在故障診斷方面的優(yōu)越性.
利用MDE優(yōu)化后的神經(jīng)網(wǎng)絡(luò)對Sallen-key濾波電路各故障模式的具體診斷結(jié)果如表3所示,表3中每一行表示的是對某個特定故障類型進行診斷時,神經(jīng)網(wǎng)絡(luò)得到正確結(jié)果的樣本數(shù)以及誤判的樣本數(shù).例如,對于故障F3來說,10次診斷都獲得了正確的結(jié)果,對于故障F6和F7來說,10次診斷中均出現(xiàn)了一次誤判.
表3 基于微分進化神經(jīng)網(wǎng)絡(luò)的故障診斷結(jié)果Tab.3 Fault diagnosis results with differential evolution neural network
從表3可知,基于微分進化神經(jīng)網(wǎng)絡(luò)的故障診斷方法是有效的,并且表現(xiàn)出了優(yōu)異的性能.
本文提出了一種在搜索過程中基于混合變異策略的微分進化改進算法,該算法在保證種群多樣性的同時使得搜索速度有較大提高,同時本文利用改進的微分進化算法來訓(xùn)練神經(jīng)網(wǎng)絡(luò)權(quán)值.利用微分進化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)時,具有如下優(yōu)勢:①MDE算法在適應(yīng)度函數(shù)的選取上沒有太多的限制,而BP算法要求適應(yīng)度函數(shù)是可微的;②基于微分進化的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法能夠比較好的得到全局最優(yōu),且收斂時間相對較短,其綜合性能明顯優(yōu)于BP算法.
最后,將微分進化神經(jīng)網(wǎng)絡(luò)用于模擬電路故障診斷,實驗結(jié)果表明,基于微分進化神經(jīng)網(wǎng)絡(luò)模擬電路故障診斷方法與BP神經(jīng)網(wǎng)絡(luò)相比具有訓(xùn)練時間短、故障診斷準確率高的特點,為模擬電路故障診斷提供了新的思路和方法.此外,基于微分進化算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化也是有待進一步深入研究的課題.
[1]葉笠,王厚軍,田書林,等.容差模擬電路軟故障診斷的一種方法[J].電工技術(shù)學(xué)報,2011,26(5):119-125.
Ye Li,Wang Houjun,Tian Shulin,et al.An approach for soft fault diagnosis on analog circuits with tolerance[J].Transactions of China Electrotechnical Society,2011,26(5):119-125.(in Chinese)
[2]祝文姬,何怡剛,謝宏,等.基于遺傳BP網(wǎng)絡(luò)的模擬電路故障診斷[J].測試技術(shù)學(xué)報,2007,21(5):460-467.
Zhu Wenji,He Yigang,Xie Hong,et al.Fault diagnosis based on GA-BPNN for analog circuits[J].Journal of Test and Measurement Technology,2007,21(5):460-467.(in Chinese)
[3]張彥斌,賀從林,張鵬.基于神經(jīng)網(wǎng)絡(luò)的某裝備電路單元故障診斷研究[J].測試技術(shù)學(xué)報,2010,24(6):558-561.
Zhang Yanbin,He Conglin,Zhang Peng.ANN-based fault diagnosis method of circuit units for a certain weapon equipment[J].Journal of Test and Measurement Technology,2010,24(6):558-561.(in Chinese)
[4]Yin Shirong.Application of BP Neural Network in Analog Circuits Diagnosis[C].Shanxi University.2010 International Conference on Computer Application and System Modeling,Shanxi:IEEE Computer Society,2010,V11:1140-1143.
[5]Blanco A,Delgado M,Pegalajar M C.A genetic algorithm to obtain the optimal recurrent neural network[J].International Journal of Approximate Reasoning,2000,23(1):67-83.
[6]Tan Yanghong,He Yigang,CuiChun,et al.A novel method for analog fault diagnosisbasedon neural networks and genetic algorithms[J].IEEE Transactions on Instrumentation and Measurement,2008,57(11):2631-2639.
[7]He Wuming,Wang Peiliang.Analog Circuit Fault Diagnosis Based on RBF Neural Network optimized by PSO Algorithm[C].IEEE Intelligent Computation Society.2010 International Conference on Intelligent Computation Technology and Automation,Changsha:IEEE Computer Society,2010,628-631.
[8]高海兵,高亮,周馳,等.基于粒子群優(yōu)化的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法研究[J].電子學(xué)報,2004,32(9):1572-1574.
Gao Haibing,Gao Liang,Zhou Chi et al.Particle swarm optimization basedalgorithm for neural network learning[J].Acta Electronica Sinica,2004,32(9):1572-1574.(in Chinese)
[9]Rainer Storn,Kenneth Price.Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces[J].Journal of Global Optimization,1997,11(4):341-359.
[10]Farzan Aminian,Mehran Aminian,CollinsH W.Analog fault diagnosisof actualcircuits using neural networks[J].IEEE Transactions on Instrumentation and Measurement,2002,51(3):544-550.