操建華
(順德職業(yè)技術(shù)學(xué)院 電子工程系,順德 528300)
在模擬電路的故障診斷中,傳統(tǒng)的分類及診斷都需要大量的計(jì)算,特別是由于容差的影響,其計(jì)算相當(dāng)復(fù)雜,實(shí)用性較差。神經(jīng)網(wǎng)絡(luò)具有對(duì)信息的高度并行處理能力、極強(qiáng)的自適應(yīng)能力、非線性映射能力等,因此神經(jīng)網(wǎng)絡(luò)在故障診斷中得到了很好的應(yīng)用并成為一種理想的故障診斷方法[1]。目前,在各種類型的神經(jīng)網(wǎng)絡(luò)中,BP網(wǎng)絡(luò)因其有極強(qiáng)的非線性映射能力而最適合于解決分類問題,但是BP神經(jīng)網(wǎng)絡(luò)有輸入數(shù)目多、結(jié)構(gòu)難以確定訓(xùn)練時(shí)間過長(zhǎng)等缺點(diǎn),RBF不僅具有上述優(yōu)點(diǎn),同時(shí)在學(xué)習(xí)速度上具有優(yōu)勢(shì)。故其在故障診斷中被廣泛采用。粒子群算法(PSO)采用速度—位移搜索模型,計(jì)算復(fù)雜度低,通過群體中粒子間的合作與競(jìng)爭(zhēng)來搜尋全局最優(yōu)解。用PSO算法來訓(xùn)練神經(jīng)網(wǎng)絡(luò),可以充分發(fā)揮粒子群算法全局的尋優(yōu)能力和局部的快速收斂?jī)?yōu)勢(shì),提高了神經(jīng)網(wǎng)絡(luò)的泛化能力和學(xué)習(xí)能力[2]。
如圖1所示,RBF神經(jīng)網(wǎng)絡(luò)是一個(gè)三層前饋神經(jīng)網(wǎng)絡(luò),它的基本思想是用徑向基函數(shù)作為隱單元的“基”,構(gòu)成隱含層空間,隱含層對(duì)輸入矢量進(jìn)行變換,將低維的模式輸入數(shù)據(jù)變換到高維空間內(nèi),使得低維空間內(nèi)的線性不可分問題在高維空間內(nèi)可分。它包括輸入層、隱含層和輸出層,其中各層節(jié)點(diǎn)數(shù)分別為k、n、p。故障特征向量作為輸入層節(jié)點(diǎn),由X=[x1,x2,,…,xq…xk]T,故障類別作為輸出層缺點(diǎn),由Y=[y1,y2…yj…yp]T表示。網(wǎng)絡(luò)的隱含層
圖1 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
輸出,即徑向基函數(shù)的輸出只依靠輸入矢量與徑基函數(shù)中心的距離,選用高斯(Gauss)函數(shù)作為徑向基函數(shù)(如式1)
距離用歐氏范數(shù)表示,當(dāng)網(wǎng)絡(luò)輸入為XK時(shí),則隱含層的輸出為
其中,ci=[ci1,ci2, … ,cIm]T為高斯基函數(shù)的中心;σi為高斯函數(shù)的方差。
輸出層是對(duì)線性權(quán)值進(jìn)行調(diào)整,采用的線性優(yōu)化策略,因而學(xué)習(xí)速度較快。令輸出為YJ(X),則:
其中,ωij為連接隱含層和輸出層的權(quán)值。
粒子群優(yōu)化(PSO)算法是Kennedy和 Eberhart于1995年提出來的,該算法是模擬鳥群尋找棲息地的行為,通過搜尋各個(gè)粒子的優(yōu)解和利用這些優(yōu)解使整個(gè)粒子群達(dá)到最優(yōu)的過程。PSO是基于群體智能理論的優(yōu)化算法。每個(gè)粒子代表解空間的一個(gè)候選解,解的優(yōu)劣程度由適應(yīng)函數(shù)決定。
在粒子群算法中,設(shè)搜索空間為D維,粒子數(shù)為N,第i個(gè)粒子經(jīng)歷過的最好位置記為Pi=(Pi1,Pi2,…,PId),即Pbest,可以看作是粒子自己的飛行經(jīng)驗(yàn);在群體所有粒子經(jīng)歷過的最好位置用g表示,即Pg,也就是全局極值gbest,可以看作是粒子同伴的經(jīng)驗(yàn)[3]。
在找到兩個(gè)極值后,粒子根據(jù)如下的兩個(gè)公式式(4)和式(5)更新自己的速度和位置:
其中,v是粒子的速度;x是粒子的當(dāng)前位置;Pbest和gbest如前面定義;r1和r2是介于(0,1)之間的隨機(jī)數(shù)值;c1和c2是學(xué)習(xí)因子,通常一般等于并且在0和4之間;ω是慣性權(quán)重,它具有維護(hù)全局和局部搜索能力的平衡的作用。為了在前期有較高的探索能力以得到合適的粒子,在后期后較高的開發(fā)能力以加快收斂速度,可將ω設(shè)定為隨著進(jìn)化而線性減少。此外,粒子的速度被一個(gè)最大速度限制,如果粒子當(dāng)前速度超過最大速度,則該粒子的速度被限制在最大速度。
RBF網(wǎng)絡(luò)的性能決定于網(wǎng)絡(luò)的參數(shù):即基函數(shù)的中心和方差以及網(wǎng)絡(luò)權(quán)值。當(dāng)權(quán)值的中心是都需要調(diào)整的參數(shù)時(shí),RBF就是一個(gè)無約束的非線性優(yōu)化問題。分組優(yōu)化策略基于如下定理:
定理1:分組優(yōu)化可以在同一次對(duì)各分組參數(shù)矢量尋優(yōu)的過程中對(duì)每一分組參數(shù)矢量取得優(yōu)化解。
定理2:對(duì)無約束優(yōu)化問題,分組優(yōu)化取得的解是原問題優(yōu)化解的充要條件,各分組參數(shù)矢量的解為該分組參數(shù)矢量對(duì)應(yīng)的僅以該分組矢量為自變量的優(yōu)化問題的優(yōu)化解[4]。
PSO-RBF算法首先對(duì)初始權(quán)值進(jìn)行優(yōu)化,在解空間中定位出一個(gè)較好的搜索空間,然后用RBF算法在該小的解空間中搜索出最優(yōu)解。步驟如下[5~8]:
1)將基函數(shù)的中心和方差以及網(wǎng)絡(luò)權(quán)值作為參變量,進(jìn)行實(shí)數(shù)編碼。
2)在編碼的解空間中,隨機(jī)生成初始種群。
3)對(duì)群體中的每個(gè)個(gè)體進(jìn)行適應(yīng)度評(píng)價(jià),如果好于該粒子當(dāng)前的最好位置的適應(yīng)度,則更新該個(gè)體的最好位置。如果所有的粒子的最好位置的適應(yīng)度好于當(dāng)前全局最好位置的適應(yīng)度,則更新全局的最好位置。
4)用公式(4)和(5)對(duì)每個(gè)粒子的速度和位置進(jìn)行更新,產(chǎn)生下一代的粒子群。
5)如果當(dāng)前的迭代次數(shù)達(dá)到預(yù)先設(shè)定的最大次數(shù),則停止迭代,在最后一代找到全局最優(yōu)解的近似值,否則,跳轉(zhuǎn)到步驟(3)和(4),重復(fù)進(jìn)行。
6)將PSO優(yōu)化后的將基函數(shù)的中心和方差以及網(wǎng)絡(luò)權(quán)值作為RBF網(wǎng)絡(luò)的初始值,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化。
7)利用RBF算法進(jìn)行訓(xùn)練,直到誤差收斂到設(shè)定的精度,訓(xùn)練結(jié)束。
以中心頻率25KHZ、帶寬50KHZ的帶通濾波器作為診斷實(shí)例,如圖2所示。使用PSpice軟件對(duì)電路進(jìn)行仿真,求出正常狀態(tài)和各種故障狀態(tài)的理論值。在上述電路圖中,電阻和電容的容差分別為±5%和±10%,在此范圍內(nèi)變化,濾波器的輸出認(rèn)為是正常的。在這里,我們僅僅考慮R3、R4、R5和C1超出容差范圍的單故障。同時(shí),可以將故障分為8個(gè)故障模式:↓R3、↑R3、↓R4、↑R4、↓R5、↑R5、↓C1、↑C1。其中,↓表示容差低于允許容差的低值,↑表示容差高于允許誤差的高值。8中故障模式在加上正常狀態(tài),共9種模式。因此,我們可以用4位2進(jìn)制數(shù)來表示9種模式,如表1所示,所以該神經(jīng)網(wǎng)絡(luò)的輸出層為4個(gè),在待測(cè)電路的輸出響應(yīng)中選取5個(gè)點(diǎn)來描述輸出響應(yīng)的波形曲線,所以選取網(wǎng)絡(luò)的輸入個(gè)數(shù)為5,經(jīng)過試驗(yàn),網(wǎng)絡(luò)的隱含層神經(jīng)元的個(gè)數(shù)為18個(gè)。
圖2 帶通濾波器
表1 故障狀態(tài)的二進(jìn)制表示
為檢驗(yàn)基于PSO優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)的快速學(xué)習(xí)能力與故障診斷效果,在誤差為0.02時(shí),分別使用訓(xùn)練模式和測(cè)試模式對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試[9~10],結(jié)果見表2。圖3示了誤差指標(biāo)設(shè)定為0.02時(shí)的誤差變化曲線圖,表3顯示了在誤差指標(biāo)為0.02時(shí),神經(jīng)網(wǎng)絡(luò)的用于模擬電路故障診斷的學(xué)習(xí)速度和診斷正確率。
表2 期望誤差為0.02時(shí)神經(jīng)網(wǎng)絡(luò)的診斷結(jié)果
表3 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)與診斷正確率
文章介紹了一種基于粒子群優(yōu)化的徑向基神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷方法,利用了PSO操作簡(jiǎn)單,容易實(shí)現(xiàn)、收斂速度快的特點(diǎn),成功地將此方法應(yīng)用于實(shí)際的模擬電路中,實(shí)驗(yàn)結(jié)果表明,用PSO算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,能使網(wǎng)絡(luò)具有較高的精度,較快的收斂到最優(yōu)解。該方法是可行的有效的。但該方法也存在不足,網(wǎng)絡(luò)結(jié)構(gòu)的選擇對(duì)診斷率有較大影響,而且網(wǎng)絡(luò)結(jié)構(gòu)隱層單元的選擇沒有統(tǒng)一的標(biāo)準(zhǔn)。此外,故障設(shè)置僅僅選擇了單故障模式,多故障模式?jīng)]有進(jìn)行討論。
圖3 誤差變化曲線
[1] 楊士元,等.模擬電路軟故障的研究[J].微電子學(xué)與計(jì)算機(jī),2008,25(1):1-3.
[2] 劉洪波,王秀坤,孟軍.神經(jīng)網(wǎng)絡(luò)基于粒子群優(yōu)化的學(xué)習(xí)算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2005,26(4):638-640.
[3] 曾萬里,危韌勇.基于改進(jìn)PSO算法的BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(4):49-51.
[4] 李春明.模擬電路故障診斷的神經(jīng)網(wǎng)絡(luò)方法[J].內(nèi)蒙古工業(yè)大學(xué)學(xué)報(bào),2000,19(2):55-60.
[5] 王承,謝永樂.基于徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模擬/混合電路故障診斷[J].電路與系統(tǒng)學(xué)報(bào),2007,12(2):66-68.
[6] 黃戈,崔建武等.基于粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的水輪機(jī)故障診斷[J].電網(wǎng)與清潔能源,2009,25(4):33-36.
[7] 楊士元,模擬電路的故障診斷與可靠性設(shè)計(jì)[M].北京:清華大學(xué)出版社,1993.
[8] 姚文俊,游正紅.基于神經(jīng)網(wǎng)絡(luò)的模擬電路的故障診斷[J].中南民族大學(xué)學(xué)報(bào),2004,23(3):23-28.
[9] 葛哲學(xué),孫志強(qiáng),神經(jīng)網(wǎng)絡(luò)理論與MATLAB實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007.
[10] 飛思科技產(chǎn)品研發(fā)中心.神經(jīng)網(wǎng)絡(luò)理論與MATLAB7實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.