邵繼業(yè),謝昭靈,楊 瑞
(電子科技大學(xué)機(jī)械電子工程學(xué)院 成都 611731)
往復(fù)機(jī)械結(jié)構(gòu)復(fù)雜,其活塞、連桿、氣閥等部件很容易發(fā)生故障,其中尤以氣閥的故障多發(fā)且類型眾多[1]。由于氣閥振動(dòng)信號(hào)具有非連續(xù)性、沖擊性及不具備全局性的特點(diǎn),采用傳統(tǒng)的傅里葉變換、時(shí)頻分析法往往難于找到故障特征。經(jīng)歷數(shù)十載的探索,故障診斷方法逐步經(jīng)傳統(tǒng)診斷方式朝人工智能診斷方式前進(jìn)。這種發(fā)展本質(zhì)就是模式識(shí)別方法的改變,通過提取采集數(shù)據(jù)的特征參數(shù),采用智能算法來進(jìn)行識(shí)別,以此判斷狀態(tài)類別。利用神經(jīng)網(wǎng)絡(luò)出色的并行數(shù)據(jù)處理、良好的容錯(cuò)性以及較好的自適應(yīng)性用在故障診斷上得到大眾的矚目[2]。其中BP神經(jīng)網(wǎng)絡(luò)是各個(gè)領(lǐng)域中應(yīng)用最廣泛的一種[3-5],但存在要求足夠多的訓(xùn)練樣本,易陷入局部極小、學(xué)習(xí)效率低、收斂速度慢等問題。
一般BP神經(jīng)網(wǎng)絡(luò)模型的建立、學(xué)習(xí)以及診斷的效率都關(guān)乎于輸入故障向量維數(shù)的高低,維數(shù)越高,需要更龐大的網(wǎng)絡(luò)結(jié)構(gòu)才可以讓網(wǎng)絡(luò)有效地逼近正確診斷結(jié)果,這不僅影響學(xué)習(xí)、診斷效率,還可能導(dǎo)致分類不準(zhǔn)確。因此,有必要降低樣本維數(shù)。主成分分析法(principal component analysis, PCA)常用來對(duì)數(shù)據(jù)向量進(jìn)行降維,目前這種方法在故障診斷等相關(guān)領(lǐng)域都有相當(dāng)廣泛的應(yīng)用。所以,本文在特征提取之后,利用主成分分析法對(duì)特征樣本向量進(jìn)行降維,對(duì)狀態(tài)信息進(jìn)行凝聚。
對(duì)于BP神經(jīng)網(wǎng)絡(luò)來說,它的收斂效率仍然需要提升。由于標(biāo)準(zhǔn)BP算法收斂速度慢且易陷入局部極小。利用智能優(yōu)化算法代替?zhèn)鹘y(tǒng)算法來進(jìn)行BP網(wǎng)絡(luò)訓(xùn)練中的參數(shù)優(yōu)化過程,從而達(dá)到提高網(wǎng)絡(luò)訓(xùn)練效率的目的。這些優(yōu)化算法中粒子群算法(PSO)簡單好用,但它具有精度不高、易陷局部極小等缺點(diǎn),有不能獲得全局最優(yōu)解的風(fēng)險(xiǎn)。為了解決該問題,文獻(xiàn)[6]利用一種遺傳-粒子群(GA-PSO)來解決粒子群算法中存在的早熟問題;文獻(xiàn)[7]也提出一種雜交的粒子群算法依然利用了遺傳算法的思維。GA-PSO算法在很多領(lǐng)域得到應(yīng)用,如:生產(chǎn)過程優(yōu)化[8]、流水線調(diào)度[9]和規(guī)劃[10]等。本文提出一種GA-PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,提高BP網(wǎng)絡(luò)的訓(xùn)練效率,從而用在氣閥的故障診斷中。
圖1 診斷過程
GA-PSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)以實(shí)現(xiàn)氣閥振動(dòng)信號(hào)的故障診斷的總體過程如圖1所示本文選取往復(fù)式壓縮機(jī)的振動(dòng)數(shù)據(jù),有正常工作狀態(tài)數(shù)據(jù)和常見的3種故障狀態(tài)數(shù)據(jù),包括閥片斷裂、閥片缺口、少彈簧故障。數(shù)據(jù)采樣頻率為20 000Hz,選取一個(gè)完整采樣周期(0.12s)的振動(dòng)信號(hào)繪制原始時(shí)域波形圖,如圖2所示,由于振動(dòng)信息經(jīng)由氣閥閥片薄板結(jié)構(gòu)到閥蓋的過程中會(huì)被其他振源產(chǎn)生的振動(dòng)信號(hào)及周期性沖擊力產(chǎn)生的氣閥高頻振動(dòng)影響,出現(xiàn)了調(diào)制現(xiàn)象;而氣閥閉合、開啟的運(yùn)行信息則在產(chǎn)生的低頻噪音中被完全掩蓋,可能會(huì)影響氣閥特征信息的提取結(jié)果。圖中可以看出,發(fā)生故障時(shí)的幅值要小于正常時(shí)的幅值,但對(duì)于不同故障之間如何區(qū)分,還需要進(jìn)一步的處理。
圖2 原始信號(hào)波形
在故障診斷的3要素中特征提取這一環(huán)節(jié)尤為關(guān)鍵。本文利用小波包對(duì)氣閥振動(dòng)信號(hào)進(jìn)行分解,在不同頻段下重構(gòu)得到各信號(hào)的分段波形,把信號(hào)不同的頻率段的能量作為特征提取結(jié)果。再利用PCA對(duì)高維特征向量降維,提取有用特征,去除不相關(guān)特征,以此規(guī)避特征向量維數(shù)過大所產(chǎn)生的問題。
由于壓縮機(jī)氣閥沖擊信號(hào)具有非平穩(wěn)性、沖擊性的特點(diǎn)。所以在產(chǎn)生特征過程中應(yīng)盡可能將信號(hào)的頻率成分進(jìn)行細(xì)分。其中,短時(shí)傅里葉變換一開始就確定了窗函數(shù),不利于頻率段的細(xì)分;多分辨分析理論上能夠有效地進(jìn)行信號(hào)的時(shí)頻分析,但是它的尺度受二進(jìn)制變換的限制在高頻段不能得到較好的頻率分辨率。而小波包是一種對(duì)于信號(hào)處理更為精細(xì)的方法,頻帶可以得到多層次分解,還能依據(jù)信號(hào)自身的變化特征,一定程度上自適應(yīng)地選擇相應(yīng)頻帶,進(jìn)而提高時(shí)頻分辨率[11]。因此,首先對(duì)原始振動(dòng)信號(hào)進(jìn)行小波包分解以進(jìn)行特征提取。
圖3為閥片斷裂故障時(shí),一個(gè)采樣周期其振動(dòng)信號(hào)經(jīng)4層小波包分解后16個(gè)頻帶(S(4,i),i=0,1,…,15)的重構(gòu)信號(hào),小波類型采用db5。對(duì)正常狀態(tài)信號(hào)少彈簧和閥片有缺口兩種故障信號(hào)可分別進(jìn)行小波包分解。
圖3 閥片斷裂時(shí)小波包重構(gòu)信號(hào)圖
壓縮機(jī)工作包括4個(gè)過程:吸氣、壓縮、膨脹、排氣。如果工作過程中氣閥發(fā)生故障則會(huì)致使缸內(nèi)的壓力降低,振動(dòng)產(chǎn)生對(duì)氣閥的作用力也會(huì)隨之變小,使得整個(gè)過程產(chǎn)生能量泄露。因此各頻段能量變化情況最能表征氣閥工作狀態(tài),故提出一種通過計(jì)算各個(gè)頻段的能量比值作為特征向量的方法,具體步驟如下:
2)計(jì)算總能量E,并用ej取代能量歸一化后的能量特征:
3)構(gòu)造能量特征矢量X1:
氣閥4種工作狀態(tài)的16個(gè)頻率段能量比特征對(duì)比如圖4所示。從圖可看出,正常狀態(tài)、閥片斷裂、閥片有缺口的能量主要集中在5、6、7、8、13、14頻段,缺少彈簧的能量主要集中在第1個(gè)頻段。
圖4 能量特征向量對(duì)比圖
經(jīng)過小波包分解得到16維的特征向量是完全等間隔頻帶劃分的,不能得到頻帶特征更有利于模式識(shí)別,且向量維數(shù)較大,計(jì)算復(fù)雜耗時(shí)。因此,本文利用PCA對(duì)小波包分解后的特征向量進(jìn)行降維,在僅有原始數(shù)據(jù)集情況下抽取最有價(jià)值的特征。降低了輸入數(shù)據(jù)空間、減少神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測試時(shí)間及噪聲干擾,達(dá)到改善診斷能力的目的。
PCA是一種經(jīng)典的統(tǒng)計(jì)數(shù)量統(tǒng)計(jì)方法[12]。該方法的構(gòu)造理論是將數(shù)據(jù)從一個(gè)高維空間映射到另一個(gè)低維空間中的過程,利用線性的空間變換求得新的低維變量。該低維主成分變量能夠反映原始數(shù)據(jù)變量的信息,而且主成分變量間是具有正交性的。
將得到的特征樣本利用PCA降維,得前3個(gè)主元累計(jì)方差貢獻(xiàn)率達(dá)到98.66%,因此完全可以將前3個(gè)主元作為新的特征向量。圖5為經(jīng)PCA降維后的三維訓(xùn)練樣本分布圖。由圖可以觀察出,降維操作之后氣閥4種不同狀態(tài)的樣本能夠明顯地區(qū)分開。
圖5 PCA降維后的三維訓(xùn)練樣本
由于BP神經(jīng)網(wǎng)絡(luò)存在的參數(shù)設(shè)置、收斂速度、容易陷入局部極優(yōu)等問題,本文提出用遺傳算法(GA)和粒子群算法相結(jié)合的方法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。粒子群優(yōu)化算法是由文獻(xiàn)[13]提出的一種模擬自然界生物集群現(xiàn)象的優(yōu)化算法。粒子群算法與遺傳算法相似,都是基于群體與適應(yīng)度這兩個(gè)概念。粒子群算法在進(jìn)化初期,收斂速度快,但是在進(jìn)化后期收斂速度變慢且收斂精度時(shí)高時(shí)低,容易陷入局部極小;遺傳算法具有良好的并行計(jì)算能力和較強(qiáng)的全局搜索能力。鑒于二者有著互補(bǔ)的優(yōu)勢將兩種算法結(jié)合起來,但大多數(shù)的GA-PSO改進(jìn)算法使得算法本身復(fù)雜化。于是,本文的GA-PSO算法通過遺傳算法的交叉、變異思想,利用交叉、變異操作代替標(biāo)準(zhǔn)粒子群算法公式中的各項(xiàng)來進(jìn)行粒子的更新。因此簡化了算法,避免利用公式計(jì)算粒子位置;既利用了粒子群算法前期快速趨近最優(yōu)解位置的特點(diǎn),又發(fā)揮了遺傳算法的全局搜索能力,有效地避免了種群的早熟現(xiàn)象。
PSO算法中任一粒子在更新過程中依據(jù)下面二式進(jìn)行速度、位置更新:
式中,k為迭代次數(shù);c1,c2為加速因子;ω為慣性系數(shù);1r,r2為[0,1]之間的隨機(jī)數(shù)。
由式(5)、式(6)可知,粒子的更新可表示為:
式中,等式右邊第2項(xiàng)是粒子本來具有的慣性,相當(dāng)于對(duì)上一時(shí)刻速度項(xiàng)進(jìn)行GA中的變異操作;同理,第1、3、4項(xiàng)相當(dāng)于粒子與個(gè)體極值粒子和全局極值粒子進(jìn)行GA中的交叉操作。
因此,首先利用GA中的變異操作代替式(7)中的第2項(xiàng):更新粒子的速度項(xiàng)不再利用慣性系數(shù)乘以原始速度,而是將粒子速度進(jìn)行變異操作;然后用GA中的交叉操作代替式(7)中的第1,3,4項(xiàng):將粒子先與其個(gè)體極值進(jìn)行交叉操作,再與全局極值進(jìn)行交叉操作;最后將完成交叉操作的粒子加上與之對(duì)應(yīng)的速度項(xiàng),完成粒子的更新。
將上述GA-PSO算法代替?zhèn)鹘y(tǒng)BP算法的梯度下降法,用于BP神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化過程,搜索BP神經(jīng)網(wǎng)絡(luò)的全部權(quán)值和閾值,并將其作為粒子群個(gè)體的編碼信息。這樣不僅避免了梯度下降法求導(dǎo)造成的計(jì)算量大的問題,而且減小了陷入局部極小的風(fēng)險(xiǎn)。優(yōu)化過程中,利用粒子群算法的記憶功能保留全局最優(yōu),使得各個(gè)粒子快速向全局最優(yōu)解靠近,加快收斂速度。
圖6為GA-PSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)流程圖。
BP神經(jīng)網(wǎng)絡(luò)以學(xué)習(xí)樣本的最小均方差作為粒子群的適應(yīng)度函數(shù):
式中,a為網(wǎng)絡(luò)的實(shí)際輸出;假設(shè)t為對(duì)應(yīng)的期望輸出;N為樣本總數(shù)。
在GA-PSO算法優(yōu)化BP網(wǎng)絡(luò)時(shí)的具體步驟為:
1)初始化BP神經(jīng)網(wǎng)絡(luò)。根據(jù)待輸入量的向量維度和需要得到的輸出量的向量維度確定輸入、輸出節(jié)點(diǎn),并計(jì)算確定隱層節(jié)點(diǎn)數(shù)。
2)粒子群初始化。根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)確定出粒子參數(shù)量,粒子個(gè)數(shù)N,粒子內(nèi)編碼選取使用實(shí)數(shù)隨機(jī)編碼,初始化粒子的位置p和速度v;設(shè)置最大訓(xùn)練次數(shù)mmax、求解的精度值E。
3)根據(jù)式(8)計(jì)算每個(gè)粒子適應(yīng)度函數(shù)值,并判斷是否滿足目標(biāo)條件,否則進(jìn)行下一步。
4)確定出粒子的個(gè)體極值和群體極值。
5)對(duì)每一個(gè)粒子的速度進(jìn)行變異操作,完成速度更新。每個(gè)速度粒子隨機(jī)選擇2/3的位置進(jìn)行變異。
6)每一個(gè)粒子先后與相對(duì)應(yīng)的個(gè)體極值粒子和全局極值粒子進(jìn)行交叉操作,完成位置更新。每個(gè)粒子隨機(jī)選擇總維數(shù)2/3的位置與優(yōu)秀粒子進(jìn)行交叉。
7)將更新后的粒子位置和速度相加,完成粒子群的更新。
8)重復(fù)執(zhí)行步驟3)~步驟7),并判斷適應(yīng)度函數(shù)的值是否優(yōu)于前一代的值,更新最優(yōu)適應(yīng)度函數(shù)值與其對(duì)應(yīng)的權(quán)值和閾值。
9)把測試數(shù)據(jù)代入最優(yōu)的權(quán)值和閾值的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練并測試驗(yàn)證。
圖6 算法流程圖
對(duì)采集到的往復(fù)壓縮機(jī)氣閥閥蓋位置的4種工作狀態(tài)(正常、閥片斷裂、閥片有缺口、缺少彈簧)振動(dòng)信號(hào),按前述方法進(jìn)行特征產(chǎn)生和提取,構(gòu)成三維輸入樣本。每種工作狀態(tài)分別有33組樣本,將其中的11組樣本作為訓(xùn)練樣本,剩余的22組樣本作為測試樣本。
將正常工況、閥片斷裂故障、閥片缺口故障、缺少彈簧故障依次編碼為(1,0,0,0)T、(0,1,0,0)T、(0,0,1,0)T、(0,0,0,1)T作為神經(jīng)網(wǎng)絡(luò)輸出,將氣閥的4種運(yùn)行狀態(tài)每種分成11組訓(xùn)練樣本作為BP網(wǎng)絡(luò)的輸入,進(jìn)行訓(xùn)練。將具有相同網(wǎng)絡(luò)結(jié)構(gòu)的3種BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,分別是標(biāo)準(zhǔn)BP算法、標(biāo)準(zhǔn)的PSO、GA-PSO算法進(jìn)行對(duì)比。其中,神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)為3,輸出節(jié)點(diǎn)為4,隱含層節(jié)點(diǎn)數(shù)則需要進(jìn)一步確定;3種網(wǎng)絡(luò)的最大訓(xùn)練次數(shù)mmax=1 000;梯度下降法的學(xué)習(xí)率l2=0.01;PSO參數(shù)為粒子個(gè)數(shù)N=100,c1=c2=2,并設(shè)置收斂精度E=0.001。
由于隱含層的節(jié)點(diǎn)數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)起著重要的作用。本文設(shè)置隱含層區(qū)間[5,14],在這個(gè)區(qū)間中尋找最佳的隱含層節(jié)點(diǎn)數(shù)。圖7是不同隱含層節(jié)點(diǎn)數(shù)下傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度值。由圖可知隱含層節(jié)點(diǎn)選取7時(shí),網(wǎng)絡(luò)的訓(xùn)練精度最高。所以將隱含層節(jié)點(diǎn)數(shù)確定為7。
圖7 不同隱含層的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度
表1為3種神經(jīng)網(wǎng)絡(luò)訓(xùn)練性能比較。圖8為3種訓(xùn)練方法下的誤差變化曲線。可以看出,GA-PSO-BP收斂效率優(yōu)于梯度下降法和PSO-BP,克服了PSO-BP后期陷入局部極小影響收斂速度的缺點(diǎn)。
表1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練性能比較
圖8 3種訓(xùn)練方法下的誤差變化曲線
診斷網(wǎng)絡(luò)訓(xùn)練完畢之后進(jìn)行診斷效果測試。把氣閥4種狀態(tài)的測試樣本,每種狀態(tài)有22組,分別輸入到訓(xùn)練好的3種網(wǎng)絡(luò)中進(jìn)行測試驗(yàn)證。表2列出了3種神經(jīng)網(wǎng)絡(luò)對(duì)測試樣本的部分輸出及分類正確率??梢钥闯鯣A-PSO-BP神經(jīng)網(wǎng)絡(luò)的診斷精度最高??梢奝CA和GA-PSO-BP網(wǎng)絡(luò)的診斷方法具有較好的效果。
表2 測試結(jié)果對(duì)比
本文提出了一種基于PCA和GA-PSO-BP神經(jīng)網(wǎng)絡(luò)的壓縮機(jī)氣閥故障診斷方法,對(duì)故障特征向量通過PCA降維,降低網(wǎng)絡(luò)的規(guī)模和計(jì)算時(shí)間。將粒子群算法與遺傳算法進(jìn)行結(jié)合,將粒子群優(yōu)化算法簡單且全局尋優(yōu)能力強(qiáng)的特點(diǎn),以及遺傳算法較好的并行計(jì)算能力相融合,防止BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中陷入局部最優(yōu),提高了訓(xùn)練效率。最后結(jié)合實(shí)驗(yàn)數(shù)據(jù)對(duì)其進(jìn)行了驗(yàn)證。驗(yàn)證結(jié)果表明,基于PCA和GA-PSO訓(xùn)練的BP神經(jīng)網(wǎng)絡(luò)對(duì)壓縮機(jī)氣閥故障診斷具有更好的快速性和準(zhǔn)確性,滿足壓縮機(jī)氣閥故障診斷的要求,在實(shí)際工程中有一定的應(yīng)用價(jià)值。