文怡婷,嚴(yán)太山,李文彬
(湖南理工學(xué)院信息科學(xué)與工程學(xué)院,岳陽414006)
模擬電路是用來對(duì)模擬信號(hào)進(jìn)行傳輸、變換和處理的電路,它是電子電路的基礎(chǔ)。相對(duì)于數(shù)字電路來說,模擬電路出現(xiàn)的故障率較高,而且故障信息呈現(xiàn)噪聲高、特征多、非線性的特征,使得模擬電路故障不易診斷,成為電路研究中的熱門領(lǐng)域,已有不少學(xué)者投入到模擬電路故障診斷的研究中,提出了諸多有價(jià)值的模擬電路故障診斷方法。其中,常規(guī)的故障診斷方法如故障字典法、參數(shù)識(shí)別法、網(wǎng)絡(luò)撕裂法等,由于其局限性已不再適用[1-6]。
神經(jīng)網(wǎng)絡(luò)技術(shù)的興起,為解決故障診斷問題提供了一條新的途徑。神經(jīng)網(wǎng)絡(luò)系統(tǒng)具有強(qiáng)大的I/O 非線性映射、信息分布存儲(chǔ)和并行處理功能,特別是其高度的自組織和自學(xué)習(xí)能力,使其為模擬電路診斷提供了全新的理論方法和實(shí)現(xiàn)手段[7-12]。在各種神經(jīng)網(wǎng)絡(luò)中,RBF 神經(jīng)網(wǎng)絡(luò)是一種性能良好的三層前饋神經(jīng)網(wǎng)絡(luò),已經(jīng)證明它具有較好的全局逼近的性質(zhì),能夠逼近任意的非線性函數(shù),并有較快的學(xué)習(xí)收斂速度,能被廣泛應(yīng)用于各個(gè)領(lǐng)域,尤其適用于故障診斷。因此,研究RBF 神經(jīng)網(wǎng)絡(luò)在模擬電路故障診斷中的應(yīng)用有著重要的理論及現(xiàn)實(shí)意義[13-14]。
使用RBF 神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)模擬電路故障診斷的一般方法是:①獲取樣本集,針對(duì)電路常見的各種故障狀態(tài)及正常狀態(tài),利用PSpice 工具收集對(duì)應(yīng)的參數(shù)值,通過數(shù)據(jù)預(yù)處理,得到RBF 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本集和檢測樣本集。②神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),利用學(xué)習(xí)樣本集對(duì)RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至網(wǎng)絡(luò)收斂,獲取網(wǎng)絡(luò)的參數(shù)。③神經(jīng)網(wǎng)絡(luò)檢測,將檢測樣本集提供給RBF 神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出即為對(duì)應(yīng)的故障模式?;赗BF 神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷系統(tǒng)結(jié)構(gòu)如圖1 所示。
徑向基函數(shù)(Radial Basis Function)神經(jīng)網(wǎng)絡(luò),簡稱RBF 神經(jīng)網(wǎng)絡(luò),它用徑向基函數(shù)作為網(wǎng)絡(luò)隱含層單元的“基”,隱含層的作用是將低維的模式輸入數(shù)據(jù)變換到高維空間,使得低維空間的線性不可分問題在高維空間線性可分。RBF 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上分為三層,即輸入層、隱含層和輸出層,使用的傳輸函數(shù)(徑向基函數(shù))通常有多種,較為常用的是高斯函數(shù)。
圖1 基于RBF神經(jīng)網(wǎng)絡(luò)的模擬電路故障診斷系統(tǒng)流程
其中,wkj(t)為第k 個(gè)輸出神經(jīng)元與第j 個(gè)隱含層神經(jīng)元之間在第t 次迭代計(jì)算時(shí)的調(diào)節(jié)權(quán)重;cji(t)為第j 個(gè)隱含層神經(jīng)元對(duì)于第i 個(gè)輸入神經(jīng)元在第t 次迭代計(jì)算時(shí)的中心分量;dji(t)為與中心cji(t)對(duì)應(yīng)的寬度;η為學(xué)習(xí)因子;E 為RBF 神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)函數(shù),其表達(dá)式如下:
RBF 神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元的基函數(shù)中心C、中心寬度D 以及隱含層到輸出層的權(quán)值W 是極其重要的組成部分,如果它們選擇不當(dāng),RBF 神經(jīng)網(wǎng)絡(luò)的處理能力將會(huì)受到很大的影響,RBF 神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目的就是要確定這三個(gè)參數(shù)。RBF 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練通常采用梯度下降法,中心、寬度和權(quán)重參數(shù)均通過學(xué)習(xí)來調(diào)節(jié)到最佳值,迭代計(jì)算如下:
上式中,Olk為第l 個(gè)樣本輸入時(shí)第k 個(gè)輸出單元的期望輸出值;ylk為第l 個(gè)樣本輸入時(shí)第k 個(gè)輸出單元在的實(shí)際輸出值。
RBF 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法步驟描述如下:
Step 1:初始化中心、寬度、權(quán)重及學(xué)習(xí)率、動(dòng)量因子、精度要求等參數(shù)。
Step 2:計(jì)算網(wǎng)絡(luò)的隱含層、輸出層各單元的輸出。
Step 3:計(jì)算網(wǎng)絡(luò)輸出的總體誤差E 的值。
Step 4:判斷結(jié)束條件是否滿足?滿足,則訓(xùn)練結(jié)束;否則,轉(zhuǎn)到Step 5。
Step 5:按照式(1-3),對(duì)權(quán)重、中心和寬度參數(shù)進(jìn)行調(diào)整。
Step 6:更新訓(xùn)練次數(shù),返回Step 2。
RBF 神經(jīng)網(wǎng)絡(luò)作為一種前饋神經(jīng)網(wǎng)絡(luò)模型,具有較強(qiáng)的泛化推理能力,在諸多領(lǐng)域得到了廣泛的應(yīng)用。但在實(shí)際應(yīng)用中,人們發(fā)現(xiàn)RBF 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的性能在一定程度上依賴于學(xué)習(xí)率和動(dòng)量因子的選擇。由于基本RBF 神經(jīng)網(wǎng)絡(luò)算法中的學(xué)習(xí)率和動(dòng)量因子固定不變,給收斂速度帶來了一定的影響,對(duì)于一些復(fù)雜的問題,算法需要較長的訓(xùn)練時(shí)間。
為了加快算法的收斂速度,我們對(duì)學(xué)習(xí)率η 和動(dòng)量因子α 進(jìn)行自適應(yīng)調(diào)整,提出一種自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)算法。該算法的基本思想是:先設(shè)定一個(gè)初始學(xué)習(xí)率和動(dòng)量因子,在學(xué)習(xí)過程中,根據(jù)每次訓(xùn)練后得到的總體誤差E(t+1)與上一次訓(xùn)練后得到的總體誤差E(t)的大小關(guān)系,對(duì)學(xué)習(xí)率和動(dòng)量因子進(jìn)行動(dòng)態(tài)調(diào)整。如果一次迭代之后誤差增大,說明這次調(diào)整方向是無效的,應(yīng)適當(dāng)減小學(xué)習(xí)率和動(dòng)量因子,按原來方向重新計(jì)算下一次迭代;如果一次迭代之后誤差減小,說明這次調(diào)整方向是有效的,應(yīng)適當(dāng)增大學(xué)習(xí)率和動(dòng)量因子,繼續(xù)進(jìn)行下一次迭代。學(xué)習(xí)率和動(dòng)量因子的具體調(diào)整方法如下:
式中,t=0,1,2,…,T-1,T 為設(shè)定的最大學(xué)習(xí)次數(shù)。
自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的工作流程如圖2所示。
圖2 自適應(yīng)RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法流程
我們將自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)應(yīng)用于模擬電路故障診斷,本文選擇的實(shí)驗(yàn)電路是AD 公司提供的電壓單端差分轉(zhuǎn)換器,該電路比較簡單并具有一定代表性和實(shí)用性。
電壓單端差分轉(zhuǎn)換器電路如圖3 所示。
圖3 電壓單端差分轉(zhuǎn)換器電路
電壓單端差分轉(zhuǎn)換器電路中,雙通道AD648 是一款低功耗、單片運(yùn)算放大器,Vcc=10V,Vee=-10V,并對(duì)整個(gè)電路提供正負(fù)電源;V3 為1V 的頻率為1kHz 的正弦信號(hào)源,R1、R3、R4、R5、R6 分別假設(shè)為故障點(diǎn),在仿真時(shí)設(shè)置為開路。
我們從PSpice 獲取的電路仿真數(shù)據(jù)集里選取165組數(shù)據(jù)作為RBF 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本數(shù)據(jù),另選12組數(shù)據(jù)作為檢驗(yàn)樣本數(shù)據(jù),樣本數(shù)據(jù)覆蓋各種故障類型,如表1 和表2 所示。本例設(shè)置的故障類型包括無故障(正常)、R1 開路、R3 開路、R4 開路、R5 開路和R6開路,其編碼分別為000、001、011、100、101 和110。
表1 RBF 神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本數(shù)據(jù)
表2 RBF 神經(jīng)網(wǎng)絡(luò)檢驗(yàn)樣本數(shù)據(jù)
我們首先利用表1 中的數(shù)據(jù)對(duì)自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置方法如下:6 個(gè)測試點(diǎn)對(duì)應(yīng)6 個(gè)輸入,故障類型采用3 為二進(jìn)制編碼,故輸出節(jié)點(diǎn)數(shù)為3,隱含層節(jié)點(diǎn)數(shù)按估算公式(7)計(jì)算。
其中,nh、ni、no分別為隱含層、輸入層、輸出層的節(jié)點(diǎn)數(shù),np為學(xué)習(xí)樣本個(gè)數(shù)。根據(jù)上述公式求得隱含層節(jié)點(diǎn)數(shù)為15 個(gè),于是得到網(wǎng)絡(luò)結(jié)構(gòu)為6-15-3。在給定的訓(xùn)練精度相同的條件下,我們將自適應(yīng)RBF 神
從表3 和圖4 可以看出,自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)的平均訓(xùn)練時(shí)間比基本RBF 神經(jīng)網(wǎng)絡(luò)短,其收斂速度和性能得到了提高。經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果與基本RBF 神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,二者的訓(xùn)練時(shí)間如表3 所示,收斂曲線分別如圖4(a)和圖4(b)所示。
表3 RBF 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間(ms)
當(dāng)自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)束之后,我們再利用表2 中的檢驗(yàn)樣本數(shù)據(jù)對(duì)網(wǎng)絡(luò)的泛化性能進(jìn)行檢驗(yàn),讓網(wǎng)絡(luò)對(duì)新的電路故障數(shù)據(jù)進(jìn)行診斷,診斷結(jié)果如表4 所示。
表4 的診斷結(jié)果告訴我們,自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出與期望輸出是完全一致的,也就是說其診斷結(jié)果與實(shí)際故障類型是完全吻合的。可見,利用自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對(duì)模擬電路故障的準(zhǔn)確、可靠的診斷。
針對(duì)傳統(tǒng)的電路故障診斷方法計(jì)算復(fù)雜,難以適用于現(xiàn)代模擬電路的問題,本文運(yùn)用神經(jīng)網(wǎng)絡(luò)技術(shù),通過建立RBF 神經(jīng)網(wǎng)絡(luò)故障診斷模型,實(shí)現(xiàn)模擬電路故障診斷。為提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,設(shè)計(jì)并實(shí)現(xiàn)了一種高效的自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)算法,將該算法應(yīng)用于模擬電路故障診斷之中,以電壓單端差分轉(zhuǎn)換器電路為例進(jìn)行了仿真實(shí)驗(yàn)。仿真結(jié)果表明,該方法具有故障識(shí)別速度快、準(zhǔn)確性高等優(yōu)點(diǎn)。今后的工作是將其應(yīng)用于多故障點(diǎn)的識(shí)別,進(jìn)一步增強(qiáng)算法的適應(yīng)性,提高算法的性能。
表4 自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)的檢驗(yàn)結(jié)果
圖4 RBF神經(jīng)網(wǎng)絡(luò)的收斂曲線