徐紹俊
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756)
25 Hz 相敏軌道電路的故障診斷比較復(fù)雜,具有不確定性。通常,設(shè)備維修采取的主要措施是使用萬用表等儀器測量相關(guān)參數(shù),結(jié)合人工經(jīng)驗(yàn)和采集的參數(shù)數(shù)據(jù)進(jìn)行故障診斷和分析。診斷結(jié)果取決于維修人員的經(jīng)驗(yàn)和故障分析能力,因此,提供一個更為科學(xué)的軌道電路故障診斷方法具有現(xiàn)實(shí)意義。
文獻(xiàn)[1]采用人工智能和專家系統(tǒng)的方法,提出了一種基于專家系統(tǒng)的故障診斷方法;文獻(xiàn)[2]針對無緣軌道電路,提出利用遺傳算法對其進(jìn)行故障診斷;文獻(xiàn)[3]提出采用基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)的模糊推理系統(tǒng)(ANFIS)的方法對音頻軌道電路進(jìn)行故障診斷;文獻(xiàn)[4]提出采用D-S 分類器對軌道電路的電容缺失故障進(jìn)行診斷;文獻(xiàn)[5]提出將模糊神經(jīng)網(wǎng)絡(luò)(FNN)應(yīng)用于軌道電路的故障診斷;文獻(xiàn)[6]提出基于故障樹分析(FTA)與改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合的軌道電路智能故障診斷方法;文獻(xiàn)[7]將粒子群算法(PSO)用于支持向量機(jī)的參數(shù)優(yōu)化,提出基于粒子群支持向量機(jī)的故障診斷模型,并將其運(yùn)用于軌道電路中。
本文根據(jù)25 Hz 相敏軌道電路的故障特點(diǎn),在上述方法的基礎(chǔ)上,改進(jìn)軌道電路的診斷模型,提出一種基于SA-BP 神經(jīng)網(wǎng)絡(luò)的軌道電路故障診斷方法。BP 神經(jīng)網(wǎng)絡(luò)是通過負(fù)梯度方向更新網(wǎng)絡(luò)的權(quán)值,但實(shí)際問題的求解空間是復(fù)雜的多維曲面,存在許多局部極小值;模擬退火(SA,Simulated Annealing)算法具有全局搜索能力,能夠逐步收斂于整體最優(yōu)解集,從而避免陷入局部極小值。
SA 算法是模擬物理學(xué)中固態(tài)物質(zhì)的退火過程,其步驟為:(1)基于給定的初始溫度T0,通過狀態(tài)產(chǎn)生函數(shù)產(chǎn)生狀態(tài)S=S0;(2)對當(dāng)前溫度下的狀態(tài)Si重復(fù)執(zhí)行Metropolis 接受準(zhǔn)則,滿足內(nèi)循環(huán)終止準(zhǔn)則時退出;(3)開始降溫程序;(4)重復(fù)執(zhí)行(2)和(3),滿足外循環(huán)終止準(zhǔn)則時退出。
其中,狀態(tài)產(chǎn)生函數(shù)是快速模擬退火算法的狀態(tài)產(chǎn)生函數(shù)[7]:
式中,?mi表示在當(dāng)前狀態(tài)下的擾動;ti表示當(dāng)前溫度值;mimax、mimin分別表示參數(shù)的上下限值;ui表示[-1, 1]區(qū)間上的隨機(jī)數(shù)。
在模擬退火過程中,各狀態(tài)接受條件的依據(jù)是Metropolis 接受準(zhǔn)則,即:假設(shè)在溫度T下狀態(tài)為i時,其對應(yīng)的能量表示為E(i) ;從狀態(tài)i轉(zhuǎn)變到狀態(tài)j時,接受狀態(tài)j為下一狀態(tài)的概率為P(i→j),如式(3)所示,否則仍保留狀態(tài)i為當(dāng)前狀態(tài)。
式中,K為玻爾茲曼常數(shù),rand[0,1) 表示[0, 1)區(qū)間的隨機(jī)數(shù)。
BP 神經(jīng)網(wǎng)絡(luò)最早由Rumelhart、McCelland 等科學(xué)家提出,是一種簡化人類大腦神經(jīng)工作的生物模型。該網(wǎng)絡(luò)由3 部分構(gòu)成:輸入層、隱藏層、輸出層。組成結(jié)構(gòu)如圖1 所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)簡示圖
BP 神經(jīng)網(wǎng)絡(luò)通過向后反饋學(xué)習(xí)的機(jī)制不斷調(diào)節(jié)修正神經(jīng)網(wǎng)中各個神經(jīng)元的權(quán)值,最終輸出正確結(jié)果。在神經(jīng)網(wǎng)絡(luò)中,輸入層的神經(jīng)元是接受來自外界的刺激;隱藏層和輸出層的各神經(jīng)元在學(xué)習(xí)機(jī)制中的數(shù)學(xué)關(guān)系如式(4)所示。
式(4)中,yi表示神經(jīng)元接收到刺激;wij表示神經(jīng)元的權(quán)值;xj表示神經(jīng)元經(jīng)過加權(quán)之后的值。
神經(jīng)元經(jīng)過接受刺激和權(quán)值加權(quán)之后,還需要對該神經(jīng)元激活。對于神經(jīng)元本身輸出的激活函數(shù),通常選取Sigmoid 函數(shù),該函數(shù)如式(5)所示:
向后反饋學(xué)習(xí)調(diào)節(jié)修正各神經(jīng)元權(quán)值的過程如下。
(1)計算網(wǎng)絡(luò)輸出值與期望值之間的誤差
式(6)中,yj表示網(wǎng)絡(luò)輸出值;dj表示期望值;?E表示網(wǎng)絡(luò)輸出值與期望值之間的誤差。
(2)計算與神經(jīng)元權(quán)重wij之間的誤差量
根據(jù)式(4)可得:
而:
由式(6)、(7)、(8)、(9)、(10),可得:
(3)設(shè)置學(xué)習(xí)率η
BP 神經(jīng)網(wǎng)絡(luò)在對神經(jīng)元權(quán)值調(diào)節(jié)修正的過程中,容易陷入局部極小值。通過使用SA 算法,讓網(wǎng)絡(luò)具有較高的 “溫度” 和 “能量”,使網(wǎng)絡(luò)避免陷入局部極小值,而隨著降低 “溫度”,“能量” 也隨之降低,又使網(wǎng)路避免跳過全局極小值[8]。在運(yùn)用SA 算法過程中,主要難點(diǎn)在于如何判定BP 神經(jīng)網(wǎng)絡(luò)已經(jīng)陷入了局部極小值。本文中的判斷方法是在訓(xùn)練過程中判斷誤差改變量,若連續(xù)兩次小于給定的常數(shù)值,則說明網(wǎng)絡(luò)陷入了局部極小值,開始調(diào)用SA 算法。
SA-BP 神經(jīng)網(wǎng)絡(luò)算法的步驟為:
(1)對BP 神經(jīng)網(wǎng)絡(luò)的參數(shù)初始化;
(2)樣本數(shù)據(jù)歸一化處理;
(3)網(wǎng)絡(luò)計算得到輸出值E;
(4)若網(wǎng)絡(luò)輸出值E與期望結(jié)果Egoal 滿足誤差范圍,則退出,否則跳轉(zhuǎn)到步驟(5);
(5)反饋調(diào)節(jié)修正神經(jīng)元權(quán)值;
國內(nèi)外對知識融合的研究主要有3個方面:知識融合的模型或框架構(gòu)建研究、知識融合算法或機(jī)制研究、知識融合在不同領(lǐng)域的應(yīng)用研究。較之國外,我國的知識融合理論與實(shí)踐研究水平仍有待提高。而目前構(gòu)建的知識融合框架大多以一個特定的應(yīng)用領(lǐng)域作為研究背景,還未形成一個權(quán)威的、能夠?yàn)槎囝I(lǐng)域所通用的體系結(jié)構(gòu)。
(6)判斷是否陷入局部極小值,若沒有則跳轉(zhuǎn)步驟(3),否則調(diào)用SA 算法;
(7)初始化SA 算法中的參數(shù);
(8)擾動產(chǎn)生新的權(quán)值;
(9)調(diào)用Metropolis 接受準(zhǔn)則,若新狀態(tài)接受,跳轉(zhuǎn)步驟(10),否則跳轉(zhuǎn)步驟(8);
(10)判斷是否滿足內(nèi)循環(huán)終止條件,若滿足,跳轉(zhuǎn)到步驟(3),否則跳轉(zhuǎn)步驟(11);
樣本數(shù)據(jù)歸一化處理的公式如下:
式中,Xmax表示樣本數(shù)據(jù)X中的最大值;Xmin表示樣本數(shù)據(jù)X中的最小值;分式上下加1 是避免產(chǎn)生分母為0 的情況。
本文采用SA-BP 神經(jīng)網(wǎng)絡(luò)對25 Hz 相敏軌道電路建立故障診斷系統(tǒng),針對25 Hz 相敏軌道電路的工作原理,選擇送電端供電變壓器輸出電壓、軌道電路接收端軌面電壓和二元二位繼電器軌道線圈電壓作為網(wǎng)絡(luò)的輸入?yún)?shù);選取4 種常見的故障作為輸出參數(shù)[5],如表1 所示;利用文獻(xiàn)[5]中收集到的25 Hz 相敏軌道電路數(shù)據(jù)進(jìn)行分析與驗(yàn)證,部分?jǐn)?shù)據(jù)如表2 所示。
表1 模型輸入和輸出參數(shù)
表2 SA-BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本
輸入層的神經(jīng)元數(shù)目n對應(yīng)輸入?yún)?shù),所以n=3 ;輸出層的神經(jīng)元數(shù)目m對應(yīng)輸出參數(shù),所以m=4 ;隱藏層的神經(jīng)元數(shù)目根據(jù)經(jīng)驗(yàn)公式h=2n+l[9],得h=7,即網(wǎng)絡(luò)結(jié)構(gòu)為3-7-4 型,最大誤差設(shè)置為0.000 01 ;最大迭代次數(shù)設(shè)置為10 000 次,學(xué)習(xí)率η設(shè)置為0.7。SA 算法中的降溫函數(shù)選取指數(shù)降溫函數(shù)Tk+1=λ(k)T0,λ為降溫系數(shù),設(shè)置為0.95 ;初始溫度T0設(shè)置為100 ;內(nèi)循環(huán)終止準(zhǔn)則即執(zhí)行Metropolis接受準(zhǔn)則時的閾值設(shè)置為500。
根據(jù)前文的SA-BP 神經(jīng)網(wǎng)絡(luò)和表2 的學(xué)習(xí)樣本,在神經(jīng)元激活函數(shù)、初始權(quán)值和學(xué)習(xí)率都相同的情況下,分別使用傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)和本文提出的對SA-BP 神經(jīng)網(wǎng)絡(luò)在Matlab 2013a 中進(jìn)行訓(xùn)練,訓(xùn)練時間和相對誤差如表3 所示。
表3 兩種方法下的訓(xùn)練時間和相對誤差
分析表3 可知,SA-BP 神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間更短和相對誤差更小。
本文針對25 Hz 相敏軌道電路故障診斷,提出SA 算法與BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,運(yùn)用SA 算法的優(yōu)點(diǎn),避免BP 神經(jīng)網(wǎng)絡(luò)陷入局部極小值,縮短訓(xùn)練時間和提高故障診斷的準(zhǔn)確率。通過Matlab 仿真,驗(yàn)證了運(yùn)用SA-BP 神經(jīng)網(wǎng)絡(luò)對25 Hz 相敏軌道電路進(jìn)行故障診斷的有效性,可有效提高故障診斷的效率和準(zhǔn)確度。