楊 青,劉天運,周 旺,張金格
(沈陽理工大學(xué) 自動化與電氣工程學(xué)院,沈陽 110159)
?
IPSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷研究
楊 青,劉天運,周 旺,張金格
(沈陽理工大學(xué) 自動化與電氣工程學(xué)院,沈陽 110159)
模擬電路故障診斷方法研究至今,許多傳統(tǒng)的模擬電路故障診斷方法已經(jīng)難以達(dá)到人們所期望的效果。在原始的神經(jīng)網(wǎng)絡(luò)診斷的基礎(chǔ)上,加入粒子群優(yōu)化算法,并且對粒子群優(yōu)化算法進(jìn)行了改進(jìn)。在故障特征提取方面,使用小波包方法提取故障特征。仿真的結(jié)果表明這種方法在提高準(zhǔn)確率的基礎(chǔ)上同時減少了迭代次數(shù),提高了收斂速度。為模擬電路的故障診斷提供了一種更加高效的方法。
故障診斷;改進(jìn)粒子群算法;神經(jīng)網(wǎng)絡(luò);小波包;故障特征提取
隨著科學(xué)技術(shù)的發(fā)展,裝備復(fù)雜度日益提高,故障診斷的難度也在加大。故障診斷可分為模擬電路故障診斷和數(shù)字電路故障診斷。盡管模擬電路的故障診斷已經(jīng)提出了很多方法,如故障驗證法、故障字典法等,但由于故障現(xiàn)象多樣、元件參數(shù)具有較大的離散性與廣泛的非線性等原因,致使模擬電路故障診斷無論在理論上還是方法上均未完全成熟,距實用還有相當(dāng)?shù)木嚯x。神經(jīng)網(wǎng)絡(luò)的發(fā)展在模擬電路故障的診斷方面有一定的指導(dǎo)意義[1]。反向前饋神經(jīng)網(wǎng)絡(luò)(BP神經(jīng)網(wǎng)絡(luò))使用的最為廣泛。BP神經(jīng)網(wǎng)絡(luò)具有較強的非線性映射能力,較強的自組織自適應(yīng)能力,較強的泛化能力和容錯能力。但是BP神經(jīng)網(wǎng)絡(luò)也有相應(yīng)的缺點,即容易陷入局部極小以及收斂速度較慢等缺點。針對這一缺點,許多學(xué)者也提出了很多相應(yīng)改進(jìn)以及優(yōu)化的算法。
優(yōu)化算法中遺傳算法的應(yīng)用比較普遍,但是遺傳算法同樣有自己的缺點。例如遺傳算法實現(xiàn)編程較為復(fù)雜,第一就是要對問題進(jìn)行編碼,在找到最優(yōu)解之后仍需對問題進(jìn)行解碼處理。遺傳算法的搜索速度也比較慢,需要更多的訓(xùn)練時間。而且遺傳算法也容易陷入局部最小[2]。
PSO(粒子群)算法是近年來興起的一種較為廣泛的優(yōu)化算法。粒子群算法由于其算法比較簡單,易于實現(xiàn),無需梯度信息,參數(shù)少等特點在連續(xù)優(yōu)化以及離散優(yōu)化問題上都表現(xiàn)出了十分良好的效果。本文針對PSO方法的不足提出了對PSO算法的改進(jìn),并應(yīng)用于BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化當(dāng)中。即IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的課題。
1.1 小波包分解
在模擬電路故障診斷過程中,特征提取是尤為關(guān)鍵的一個環(huán)節(jié)。提取數(shù)據(jù)的好壞影響到后續(xù)神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果。而利用小波包對故障信號的分解和重構(gòu)來進(jìn)行特征提取被認(rèn)為是應(yīng)用廣泛并且效果良好的一種方法。小波包變換(wavelet packet transform,WPT)是小波變換的一種延伸。它在考察局部時域過程的頻域特征的同時又能考察局部頻域過程的時域特征。但是由于小波變換只對信號的低頻部分作分解,對于信號的高頻部分不再繼續(xù)進(jìn)行分解。小波包變換同時可對高頻部分進(jìn)行精確分解,而這種分解不存在疏漏可以更好提高時頻分辨率[3]。
1.2 小波包的重構(gòu)及特征提取
小波包分解將信號分解在全頻帶上,便得到信號在不同頻帶上的能量,從而作為故障特征的重要信息。對輸出信號進(jìn)行小波包分解,提取低頻到高頻的頻率信號特征,對小波包分解系數(shù)進(jìn)行重構(gòu),得到各頻帶信號的能量。
在故障時,各個頻帶的能量會產(chǎn)生變化,以能量為指標(biāo)構(gòu)造信號的特征向量為
T=[Ek0,Ek1,Ek2,…,Eki]
(1)
式中,k為小波包的分解層數(shù),i為分解的頻帶數(shù)。
當(dāng)T中數(shù)值較大,則需要對特征向量進(jìn)行歸一化處理。則歸一化后的向量為
(2)
恰當(dāng)選擇小波包分解層數(shù)對故障特征提取至關(guān)重要。分解層數(shù)過少,得到的能量不能夠有效地反映故障特征;分解層數(shù)過多,則會導(dǎo)致冗余特征的增加,從而影響診斷精度和診斷效率。適合起見,本文小波包分解的層數(shù)設(shè)置為3。部分小波包故障特征能量提取信號如表1所示。
表1 部分小波包故障特征提取能量信號
IPSO(改進(jìn)粒子群)-BP神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷的基本思路是:對電路施加激勵后得到故障輸出信號和數(shù)據(jù),然后提取故障特征。如果特征提取的數(shù)值較大,那么對數(shù)據(jù)進(jìn)行歸一化處理。對處理后的數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)當(dāng)中進(jìn)行訓(xùn)練。利用神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行故障定位。加入PSO優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,通過改進(jìn)PSO算法中的慣性權(quán)重的求取方法來改進(jìn)PSO算法,使得優(yōu)化速率有一定提升。
2.1 BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)算法的優(yōu)點在于通過反向傳播過程根據(jù)實際輸出和期望輸出之間的誤差不斷修改權(quán)值和閾值,使得網(wǎng)絡(luò)訓(xùn)練效果不斷改善。當(dāng)誤差達(dá)到期望要求時,網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過程便結(jié)束[4]。
2.2 粒子群優(yōu)化算法及改進(jìn)
基本的PSO算法是模擬生物學(xué)中鳥群覓食的過程。優(yōu)化過程的實質(zhì)就是在迭代過程中每個粒子的自身的位置和速度以及群體的位置和速度通過不斷調(diào)整從而達(dá)到自身的最優(yōu)位置和速度。在這個過程中每一個粒子都有一個適應(yīng)度值作為自己目標(biāo)函數(shù)[5]。
若在一個D維的搜索目標(biāo)空間中,有一個群體由m個粒子組成,用向量xi=(xi1,xi2,…,xiD),i=1,2,…,m表示第i個粒子的位置,用D維向量vi=(vi1,vi2,…,viD表示這個粒子速度,向量pid=(pi1,pi2,…,piD)表示該粒子到目前為止所搜索到的最優(yōu)位置,而向量pgd=(pg1,pg2,…,pgD)則表示整個粒子群所搜索到的最優(yōu)位置,粒子的更新迭代公式如下[4]:
vid(t+1)=ωvid(t)+c1r1(pid-xid(t))+
c2r2(pgd-xid(t))
(3)
xid(t+1)=xid(t)+vid(t+1)
(4)
當(dāng)vid>vmax時,取vid=vmax
當(dāng)vid 式中:i=1,2,…,m;d=1,2,…,D;慣性權(quán)重的系數(shù)用ω表示;學(xué)習(xí)因子c1和c2用非負(fù)的常數(shù)表示;r1和r2為服從[0,1]上的均勻分布隨機數(shù)。xid(t)是第i個粒子的當(dāng)前位置;pid是第i個粒子到目前為止搜索到的最優(yōu)位置;pgd是整個粒子群能夠搜索到的最優(yōu)位置;vid是第i個粒子的當(dāng)前速度,vid∈[vmax,-vmax];vmax為最大限制速度,是非負(fù)數(shù)[1]。 2.2.1 對于慣性權(quán)重的改進(jìn) 由于初期的慣性權(quán)重值能取到有利于全局搜索的較大值,但是算法有可能會陷入到收斂速度慢的境地。而后期能得到加速算法收斂的最小值,卻容易陷入到局部最優(yōu)解的情況。故選取采用隨機數(shù)的方法來調(diào)整慣性權(quán)值,慣性權(quán)值可以在后期也取得較好的值并且能夠跳出局部極值,有利于提高收斂速度。隨機慣性權(quán)值的修改公式為 ω=0.5+rand/2 (5) 式中rand函數(shù)是產(chǎn)生在[0,1]之間均勻分布的隨機數(shù)。 2.2.2 對于學(xué)習(xí)因子的改進(jìn) 文獻(xiàn)[6]認(rèn)為,c1和c2之和小于3時其優(yōu)化算法性能最好。采用異步變化策略因子,使得粒子更多地向社會最優(yōu)解學(xué)習(xí)而較少向自身學(xué)習(xí),有利于保持多樣性和收斂速度。具體修改如下 c1=c1i-(c1i-c1f)(k/Tmax) (6) c2=c2i-(c2f+c2i)(k/Tmax) (7) 式中:c1和c2的初始值分別為c1i和c2i;迭代終值分別為c1f和c2f;k表示當(dāng)前迭代次數(shù);其中c1i=c2f=2.5;c2i=c1f=0.5;Tmax表示最大迭代次數(shù),Tmax=100。 2.3 IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程 IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的算法如下(步驟中的c1、c2以及慣性權(quán)重ω均指改進(jìn)后的變量): (1)隨機初始化粒子群,隨機生成粒子速度向量和位置向量分別表示神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。 (2)對個體粒子以及初始種群粒子進(jìn)行編碼,計算每一個個體粒子的適應(yīng)值函數(shù);選取適應(yīng)值函數(shù): (8) (3)比較當(dāng)前粒子的適應(yīng)值函數(shù)值與先前的最佳適應(yīng)值,將二者較大值設(shè)為當(dāng)前粒子的最佳適應(yīng)值[1]。 (4)選擇全部粒子適應(yīng)值中最佳的一個,作為全局的最優(yōu)解。 (5)針對每一個粒子,根據(jù)式(3)計算它的前進(jìn)速度。 vid(t+1)=ωvid+c1r1(pid+xid(t))+ c2r2(pgd-xid(t)) (9) (6)根據(jù)式(4)算出粒子前進(jìn)后的位置,即 xid(t+1)=xid(t)+vid(t+1) (10) (7)求取動態(tài)慣性權(quán)重,即 ω=ωmax-(ωmax-ωmin)/itermaxiter (11) (8)改變加速系數(shù)c1、c2,即 c1=c1max(c1max-c1min)/itermaxiter (12) c2=c2max(c2max-c2min)/itermaxiter (13) (9)如果算法滿足收斂原則或者達(dá)到最大迭代次數(shù),則退出IPSO算法,輸出結(jié)果,否則返回步驟(2); (10)把進(jìn)化到最后一代的pgd新群體進(jìn)行解碼,輸出最后解決方案,獲得適合的神經(jīng)網(wǎng)絡(luò)連接權(quán)值和閾值。其中c1、c2為學(xué)習(xí)因子的最大值與最小值,屬于(0,1)上的隨機數(shù)。ω為慣性權(quán)重系數(shù)[1]。iter、itermax為IPSO的迭代次數(shù)和最大迭代次數(shù)。本次實驗分別為35和100。 為驗證所提方法的可行性,以中心頻率為25 kHz的帶通濾波器作為診斷電路對象,電路如圖1所示。圖中,電路中元器件容差設(shè)置為5% 圖1 25kHz Sallerl-Key帶通濾波器 根據(jù)圖1電路圖設(shè)置故障點,根據(jù)模擬電路出現(xiàn)的軟故障和硬故障的區(qū)分,OC代表開路,SC代表短路。RED代表超出容差范圍減小,INC代表超出容差范圍增大。表2給出部分代表性的故障類型。 表2 故障類型表 對電路施加幅度為5V、持續(xù)時間10μs的脈沖電壓,故障波形蒙特卡羅分析如圖2所示。將輸出電壓信號采樣用三層小波包分解頻率信號特征,然后對小波包分解系數(shù)進(jìn)行重構(gòu)。使用Multisim對電路的不同故障情況進(jìn)行Monte Carlo分析,得到84組數(shù)據(jù)作為樣本,取其中42組作為訓(xùn)練樣本,另42組作為測試樣本。 為使神經(jīng)網(wǎng)絡(luò)將所有的故障區(qū)分開來,用4位二進(jìn)制編碼N4N3N2N1來對表2中的故障進(jìn)行編碼,其中Ni=0、1,用來作為神經(jīng)網(wǎng)絡(luò)的輸出,如表3所示。 圖2 故障狀態(tài)的蒙特卡洛羅分析波形圖 故障類型故障編碼C1OC0001C2SC0010R1RED0011 通過實驗驗證IPSO優(yōu)化神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷結(jié)果同傳統(tǒng)PSO優(yōu)化神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷結(jié)果進(jìn)行比較。設(shè)計BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)為1000次,目標(biāo)的均方誤差為0.01。 PSO優(yōu)化BP與IPSO優(yōu)化BP的訓(xùn)練誤差曲線比較訓(xùn)練測試如圖3a、3b 所示。 圖3 PSO與IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差 通過比較可以發(fā)現(xiàn),IPSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)與PSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)相比能夠更快達(dá)到期望的均方誤差結(jié)果。 PSO優(yōu)化BP與IPSO優(yōu)化BP的故障分類如圖4a、4b所示。 圖4 PSO與IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)故障分類比較 通過比較可以發(fā)現(xiàn),IPSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)與PSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)相比故障分類正確率更高。 部分實際輸出如表4所示。 表4 部分實際輸出 通過實驗比較發(fā)現(xiàn),傳統(tǒng)PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的故障診斷正確率為84.35%。而使用IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的故障診斷正確率為92.33%。同時通過訓(xùn)練誤差曲線可以看出,改進(jìn)PSO算法的迭代次數(shù)減少,訓(xùn)練速度得到了提升。 最終得到網(wǎng)絡(luò)的部分輸入到隱層權(quán)值為 W1=[2.8668 2.3841 1.1947 -4.3184 7.3350 2.1457 6.8466 2.5302 -4.0664 -23.6356 -13.2967 -3.3667 -2.0949 -1.8132 1.5263 5.2061 3.1883 1.5685 5.5288 3.7161] 部分隱含層閾值為 B1=[5.9029 7.3392 -18.3623 -2.2627] 部分隱層到輸出層權(quán)值為 W2=[-4.4099 -4.9888 16.1331 -4.5681 -0.9298 1.0070 -16.5315 -4.5681 4.3967 7.3358 14.3628 4.1064 5.9210 7.6015 -17.0472 1.7243] 部分輸出層閾值為 B2=[0.6593 -2.8134 -2.2162 2.8383] 基于粒子群優(yōu)化算法和BP神經(jīng)網(wǎng)絡(luò)并結(jié)合小波包故障特征提取,提出了一種改進(jìn)PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)與小波包故障特征提取的模擬電路故障診斷新方法。通過改變原始PSO算法中的慣性權(quán)重的取得方法以及采用異步變化策略因子來改進(jìn)PSO算法。最終使得神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度以及正確率得到了切實的提高。仿真結(jié)果表明,本文所提的采用改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷方法是有效的,提高了故障診斷的正確率以及故障定位的準(zhǔn)確性。 [1]朱元元.基于LabVIWE模擬電路故障診斷方法研究[D].沈陽:沈陽理工大學(xué),2013. [2]郭陽明,冉從寶,姬昕禹,等.基于組合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷[J].西北工業(yè)大學(xué)學(xué)報,2013,31(1):44-47. [3]王首勇,朱光喜,唐遠(yuǎn)炎.應(yīng)用最優(yōu)小波包變換的特征提取方法[J].電子學(xué)報,2003,31(1):1035-1038.[4]李祚泳,汪嘉楊,郭淳.PSO 算法優(yōu)化BP 網(wǎng)絡(luò)的新方法及仿真實驗[J].電子學(xué)報,2008,36(11):2224-2228. [5]宋麗偉,彭敏放,田成來,等.基于PSO-RBF神經(jīng)網(wǎng)絡(luò)的模擬電路診斷[J].計算機應(yīng)用研究,2012,29(1):72-74. [6]蔣林利,曾文華.改進(jìn)的PSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模型及其應(yīng)用研究[D].廈門:廈門大學(xué)2014. (責(zé)任編輯:馬金發(fā)) Fault Diagnosis of Analog Circuit Optimization IPSO Algorithm Based on Neural Network Optimization and Simulation Test YANG Qing,LIU Tianyun,ZHOU Wang,ZHANG Jinge (Shenyang Ligong University,Shenyang 110159,China) With the development of analog circuit fault diagnosis technology research,some traditional analog circuit fault diagnosis methods are difficult to achieve the desired effect.On the basis of original neural network diagnosis,the particle swarm optimization algorithm is joined,which improves the particle swam optimization algorithm.After the fault feature extracted, extraction of fault feature is more effective directly by using the wavelet packet method.Simulation results show that this diagnosis method improves diagnosis accuracy and reduces iterations number to improve convergence speed,which provides effective support for analog circuit fault diagnosis. fault diagnosis;improved particle swarm optimization;network;wavelet packet;fault feature extraction 2015-10-22 遼寧省教育廳科學(xué)研究項目(L2014083);遼寧省教育廳科學(xué)研究項目(L2015467) 楊青(1963—),男,教授, 研究方向:故障檢測、診斷與預(yù)測技術(shù)。 1003-1251(2016)05-0006-05 TP277 A3 實例分析
4 結(jié)束語