張勝召,齊金平,陶海龍
(蘭州交通大學機電技術(shù)研究所,蘭州730070)
隨著鐵路運輸發(fā)展,為充分保證機車車輛安全運行,必須提高列車行走部件安全可靠性。齒輪作為機車傳動的重要部件,其功能對安全運輸起著舉足輕重的作用,及時準確地發(fā)現(xiàn)齒輪的故障是保證生產(chǎn)安全運行的重要措施。因此, 對齒輪故障診斷理論和技術(shù)的研究具有重要的現(xiàn)實意義。
現(xiàn)代人工智能方法在故障診斷領(lǐng)域中已得到廣泛的應用。其中人工神經(jīng)網(wǎng)絡(luò)具有非線性模式分類性能和很強的自組織、自學習能力,在齒輪故障診斷中得到了廣泛應用。由于BP神經(jīng)網(wǎng)絡(luò)是沿梯度下降(平方誤差函數(shù))來進行搜索,存在收斂速度慢和容易陷入極小問題,因此需要對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化[1]。
粒子群優(yōu)化算法是Kennedy和Eberhart[2]受鳥群覓食行為的啟發(fā)而提出的一種基于群體智能原理的優(yōu)化算法,它不僅避免了BP 算法陷入局部最優(yōu)解, 而且沒有遺傳算法的交叉和變異等復雜操作過程, 可以搜索到最優(yōu)結(jié)果, 避免了在局部最優(yōu)處停留[3]。本文將粒子群化算法(PSO)和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,利用粒子群優(yōu)化算法代替BP算法中的梯度下降法來訓練神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值,改善了神經(jīng)網(wǎng)絡(luò)診斷性能。這不僅彌補了BP 神經(jīng)網(wǎng)絡(luò)的不足,而且刪除了冗余連接,提高了故障的模式識別能力。
BP(Back progation)網(wǎng)絡(luò)是目前應用最為廣泛的一種前饋網(wǎng)絡(luò),應用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP算法基本原理是梯度最速下降法,其中心思想是反復的調(diào)整權(quán)值,使其網(wǎng)絡(luò)總誤差最小,即采用梯度下降法來指導搜索,使其網(wǎng)絡(luò)的實際輸出值與期望輸出值的誤差均方值為最小。其拓撲結(jié)構(gòu)由輸入層、隱含層和輸出層組成。在本文中神經(jīng)網(wǎng)絡(luò)優(yōu)化模型采用3層BP網(wǎng)絡(luò),輸入層,中間層(隱含層)和輸出層,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)
PSO初始化為一群隨機粒子(即隨機解),每個優(yōu)化問題的潛在解都是搜索空間的粒子,每個粒子還有一個速度向量決定他們飛行的方向和距離,所有的粒子都有一個被優(yōu)化的函數(shù)決定的適應值,然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索,通過迭代找到最優(yōu)解。
假設(shè)在一個D維的搜索空間中第i個粒子位置和速度分別為Xi=(xi1xi2… xid)和Vi=(vi1vi2… vid),在每一次迭代中,每個粒子通過跟蹤兩個“最好位置”來更新自己,一個是粒子本身目前所找到的最好位置,即個體極值pbi=(pbi1pbi2…pbiD),另一個是目前整個群體中所有粒子發(fā)現(xiàn)的最好位置,即全局極值gb=(gb1gb2… gbD),gb是在pb中的最好值。對于第k次迭代,每個粒子是按照式(1)和式(2)進行變化的。
公式中:i=1,2…m,m是該群體中粒子總數(shù);d=1,2…,D;為第k次迭代粒子i飛行速度矢量的第d維分量;為第k次迭代粒子i位置矢量的第d 維分量;pid為粒子i個體最好位置pbest 的第d維分量; pgd為粒子群體最好位置gbest 的第d維分量; 學習因子c1和c2是非負常數(shù); rand( )是介于[0,1] 之間的隨機數(shù);慣性權(quán)重w為非負數(shù),文獻[5] 提出了式(1)中慣性權(quán)重w的自適應改變慣性權(quán)重的線性變化公式:
式(3)中:wmax、wmin為慣性權(quán)重的最大值和最小值;itermax、iter為當前迭代次數(shù)和最大迭代次數(shù)。
粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)是在網(wǎng)絡(luò)反向傳播過程中,通過各個粒子在其搜索空間內(nèi)搜索各層間連接權(quán)值和閾值, 粒子群在各個粒子搜索時, 迭代公式簡單計算速度比梯度下降法快得多, 通過慣性權(quán)重函數(shù)w的調(diào)整很好的跳出局部極小值。設(shè)置粒子的適應值函數(shù),在本文中選用均方差作為BP神經(jīng)網(wǎng)絡(luò)的適應值函數(shù)。
式(4)中N是訓練集的樣本數(shù);ydj,i是第i個樣本的第j個網(wǎng)絡(luò)輸出節(jié)點的理想輸出值;yj,i是第i個樣本的第j個網(wǎng)絡(luò)輸出節(jié)點的實際輸出值;C是網(wǎng)絡(luò)輸出神經(jīng)元的個數(shù)。
基于PSO -BP網(wǎng)絡(luò)故障診斷流程如下[6]:
(1)初始化BP網(wǎng)絡(luò)結(jié)構(gòu),設(shè)定網(wǎng)絡(luò)的輸入層、隱含層、輸出層的神經(jīng)元個數(shù);按照式(1)和(2)初始化粒子的初始位置x0id及其速度v0id,確定粒子的個數(shù)m、慣性權(quán)重w的初值、最大迭代次數(shù)itermax、學習因子c1和c2。
(2)根據(jù)BP 網(wǎng)絡(luò)算法計算出每個粒子相應個體極值的適應度值,而全局極值就是個體極值中最好的, 再將gbd(整個粒子群在第d 維的全局極值點的位置)設(shè)置為該最好粒子的當前位置。
(3)評價和計算出每一個粒子的適應度值J,若好于該粒子當前的個體極值, 則將pbd(當前最優(yōu)位置)設(shè)置為該粒子的位置, 并更新個體極值。若所有粒子的個體極值中最好的好于當前的全局極值,則將gb設(shè)置為該粒子的位置。并更新全局極值。
(4)按式(1)~式(4)對每一個粒子的位置和速度進行更新,并考慮更新后的位置和速度是否在有限的范圍內(nèi)。
(5)檢驗是否符合結(jié)束條件。若最大迭代次數(shù)或當前位置達到預定的誤差要求, 則停止迭代,輸出最后一次迭代的結(jié)果即為所求的全局最優(yōu)的權(quán)值和閾值, 否則就轉(zhuǎn)到(2),繼續(xù)迭代直到算法收斂。
選取某機車發(fā)動機齒輪箱的齒輪故障的15個特征參數(shù),這15個參數(shù)組成輸入樣本,實測數(shù)據(jù)經(jīng)歸一化處理后如表1。
(1)以表1中13組數(shù)據(jù)中選取10組(序號1-10)作為BP神經(jīng)網(wǎng)絡(luò)輸入樣本;
表1 齒輪箱狀態(tài)樣本數(shù)據(jù)
(2)對輸出狀態(tài)進行編碼,輸出為三維向量,定義期望輸出向量如表2。
表2 齒輪箱狀態(tài)編碼對照表
(3)構(gòu)建BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)如下表3。
應用輸入樣本和輸出樣本向量對網(wǎng)絡(luò)進行訓練,分別用帶動量的BP和PSO-BP網(wǎng)絡(luò)對所有10個樣本進行檢驗,網(wǎng)絡(luò)誤差曲線分別如圖2和圖3。
表3 網(wǎng)絡(luò)參數(shù)
圖2 帶動量的BP網(wǎng)絡(luò)
圖3 PSO-BP網(wǎng)絡(luò)
表4 帶動量的BP網(wǎng)絡(luò)診斷結(jié)果
表5 PSO-BP網(wǎng)絡(luò)診斷結(jié)果
表4為帶動量BP網(wǎng)絡(luò)診斷結(jié)果,表5為基于PSO算法BP網(wǎng)絡(luò)診斷結(jié)果,說明相對于帶動量BP網(wǎng)絡(luò)(精度為66.7%),基于PSO算法BP網(wǎng)絡(luò)具有更高的診斷精度(精度為100%)。從圖2中可知網(wǎng)絡(luò)需迭代654次收斂到誤差精度,從圖3中可知網(wǎng)絡(luò)只需迭代128次收斂到誤差精度。故相對于帶動量的BP網(wǎng)絡(luò),基于改進PSO算法的BP網(wǎng)絡(luò)不但具有更好的故障診斷精度,并且提高了網(wǎng)絡(luò)的收斂速度。
針對BP神經(jīng)網(wǎng)絡(luò)的缺點(如已陷入局部極小值、網(wǎng)絡(luò)收斂速度慢),本文采用具有較強全局尋優(yōu)能力的PSO來改進BP網(wǎng)絡(luò);利用MATLAB仿真,仿真結(jié)果表明PSO-BP網(wǎng)絡(luò)相對于常規(guī)的BP網(wǎng)絡(luò)收斂速度快,迭代次數(shù)少,診斷結(jié)果精度高,性能優(yōu)于BP算法,可以有效地診斷齒輪的故障,提高了診斷效率和質(zhì)量。
[1] 楊超,王志偉. 遺傳算法和BP神經(jīng)網(wǎng)絡(luò)在電機故障診斷中的應用研究[J] . 噪聲與振動控制,2010(5):153-158.
[2] Kennedy J, Eberhart R C. Particle swarm optimization[C] .Proceedings of IEEE International Conference on Neural Networks, 1995.1942-1948.
[3] Yi Da, Ge Xiurun. An improved PSO-based ANN with simulated annealing technique [J] . Neurocomputing, 2005, 63:527-533.
[4] 許磊,張鳳鳴,程軍. 基于PSO神經(jīng)網(wǎng)絡(luò)的故障診斷方法研究[J] . 計算機工程與設(shè)計,2007,28(15):3640-3642.
[5] J Kennedy, R Eberhart. Swarm Intelligence [M] . SanMateo,CA: Morgan Kaufmann Publishers, 2001.
[6] 蔡金,付中云. 粒子群-神經(jīng)網(wǎng)絡(luò)混合算法在三相整流電路故障診斷中的應用[J] . 電工電能新技術(shù),2006,25(4):23-26.