常夢容 王海瑞 肖 楊 王椿晶
(昆明理工大學信息工程與自動化學院)
傳統(tǒng)的軸承故障診斷方法主要依賴于一些手工的特征提取器,如時域統(tǒng)計分析、頻域統(tǒng)計分析、小波分析、短時傅里葉變換及希爾伯特黃變換等[1]。通過上述方法,人工提取振動信號的某些時、頻、時頻域特征,用于軸承狀態(tài)識別。 這類傳統(tǒng)的故障診斷方法雖然取得了一定的進展,但通常需要一定的專家知識,泛化性能較差。 特別是在當今高精度、智能化、大數(shù)據(jù)的要求下,它們很難滿足實際工業(yè)的需求。 近年來,隨著深度學習在圖像識別、語音識別及語義分析等領域的成功應用,基于深度學習特征提取的智能故障診斷能夠更好地解決上述問題, 實現(xiàn)更加高精度、較快收斂速度的故障檢測, 并逐漸成為研究熱點。卷積神經(jīng)網(wǎng)絡 (Convolutional Neural Networks,CNN)具有稀疏連通性、共享權(quán)值的特點,能夠更好地提取深度特征,抑制網(wǎng)絡過擬合[2]。 因此,一些學者利用CNN進行研究。 如燕志星等使用CNN進行特征提取, 并用GWO-SVM模型進行故障診斷[3];鄢仁武等使用小波時頻圖和CNN進行斷路器故障診斷[4];呂恩輝等使用反卷積特征提取的深度卷積神經(jīng)網(wǎng)絡學習提高圖像分類精度[5];沈飛等使用改進卷積神經(jīng)網(wǎng)絡的高光譜圖像特征提取方法在高光譜數(shù)據(jù)集中獲得良好的分類效果[6]。但是上述論文中都存在需要進行批歸一化、梯度彌散等問題。 由此筆者在傳統(tǒng)卷積神經(jīng)網(wǎng)絡的基礎上提出將自歸一卷積神經(jīng)網(wǎng)絡(SNN)特征提取與基于改進螢火蟲算法優(yōu)化的支持向量機(IFA-SVM)結(jié)合用于滾動軸承故障診斷。 筆者將縮放指數(shù)線性單元(SELU)應用于卷積神經(jīng)網(wǎng)絡中形成自歸一卷積神經(jīng)網(wǎng)絡,使其具有自歸一屬性,并且方差穩(wěn)定性好,避免了批歸一化、梯度彌散及梯度爆炸等問題。 實驗結(jié)果表明,與傳統(tǒng)的特征提取方法和傳統(tǒng)CNN相比,筆者所提方法具有較高的識別率和較快的收斂速度。
卷積神經(jīng)網(wǎng)絡采用了普通神經(jīng)網(wǎng)絡的結(jié)構(gòu),是一個因生物得到啟發(fā)的前饋神經(jīng)網(wǎng)絡[7]。 簡單的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)主要由卷積層、池化層(也叫下采樣層)、全連接層和最后的輸出層構(gòu)成。
1.1.1 卷積層(C層)
CNN利用不同大小的卷積核將輸入圖像卷積到C層。 添加偏置后,通過激活函數(shù)提取輸入圖像的抽象紋理特征,進一步實現(xiàn)特征增強[8]。
卷積層的計算式為:
1.1.2 池化層(S層)
池化層通常位于C層之后, 在卷積神經(jīng)網(wǎng)絡中,池化層對輸入的特征圖進行壓縮,一方面使特征圖變小,簡化網(wǎng)絡計算復雜度,另一方面進行特征壓縮,提取主要特征[9]。采用池化層可以忽略目標的傾斜、 旋轉(zhuǎn)之類的相對位置的變化,以提高精度,同時降低特征圖的維度,并且在一定程度上可以避免過擬合, 通常分為最大池化、平均池化和隨機池化。 筆者采用具有平移不變性特征的最大池化方法對輸出特征映射進行降維處理。
1.1.3 全連接層(FC)
全連接層在整個卷積神經(jīng)網(wǎng)絡中起到分類器的作用[10]。 經(jīng)過多次交替的卷積和池化操作,最終的全連接層可以獲得輸出類別或者輸入樣本的概率。 在FC層中,第l層所有神經(jīng)元節(jié)點都連接到l-1層的所有輸出節(jié)點,其數(shù)學表達式為:
其中,yl為FC層中第l層的輸出,xl-1為第l-1層展開的一維特征向量,ωl為第l層的加權(quán)系數(shù),bl為第l層的偏差。 在每一個C層或FC層之后添加一個dropout operation(一種正則化技術(shù)),以增強所設計的CNN模型的泛化能力,避免模型訓練時的過擬合[11]。
SNN在CNN的基礎上將縮放指數(shù)線性單元(Scaled Exponential Linear Units,SELU)引入了自歸一屬性,這樣可以在提高卷積神經(jīng)網(wǎng)絡魯棒性的同時避免梯度消失和爆炸問題[12],其結(jié)構(gòu)如圖1所示。
圖1 SNN結(jié)構(gòu)
SELU激活函數(shù)表達式為:
在文獻[12]中證明了當參數(shù)λ→1.050 7,a→1.673 3時, 神經(jīng)元的輸出接近零均值和單位方差,通過前向傳播輸出的結(jié)果也接近零均值和單位方差[13]。
SELU激活函數(shù)的主要特性是,在負凈輸入時抑制方差,在正凈輸入時增加方差。 凈輸入離零越遠,方差衰減越強;凈輸入越接近零,方差增加越強。
螢火蟲算法是一種新穎的群智能優(yōu)化算法,靈感來自于螢火蟲的行為,它們用閃光來吸引潛在的交配對象或獵物[14]。 與傳統(tǒng)的確定性算法(如梯度法和最小二乘法)相比,螢火蟲算法操作更加方便,不依賴于優(yōu)化問題的數(shù)學本質(zhì),具有更高的效率,并顯示出更快的計算速度[15]。 該算法目前已得到廣泛應用。
在FA中,搜索空間中的每個可行解都與螢火蟲個體相似;螢火蟲個體持續(xù)相互吸引和移動的過程類似于搜索和優(yōu)化的過程;螢火蟲位置的可取性類似于優(yōu)化目標函數(shù)的適應度,螢火蟲個體為生存而奮斗的過程類似于優(yōu)化的迭代過程。 搜索和優(yōu)化過程與兩個參數(shù)有關——螢火蟲的亮度和吸引力。
螢火蟲相對亮度的計算式為:
其中,I0表示螢火蟲距離為零 (r=0) 時的亮度, 也是最亮螢火蟲的亮度;γ表示光吸收系數(shù),可設置為常數(shù);rij表示螢火蟲i和j之間的距離。
相互吸引度β(rij)的計算式為:
其中,β0表示最大吸引度,即r=0處的吸引度。
螢火蟲的亮度取決于它的位置,這與目標函數(shù)的值類似;螢火蟲的亮度越高,其位置越好,這與目標函數(shù)的最優(yōu)值類似。 螢火蟲的吸引力與它的亮度有關;亮度越高的螢火蟲對其他螢火蟲的吸引力越高; 對于空間中的任意兩只螢火蟲來說, 較暗的那一只會被較亮的那一只所吸引,從而向較亮的那一只移動。 在這兩個因素的相互作用下, 螢火蟲往往會聚集在最明亮的螢火蟲周圍。 這與目標函數(shù)的最優(yōu)化類似。
螢火蟲位置更新公式如下:
xi(t+1)=xi(t)+β(xj(t)-xi(t))+α(rand-0.5)
其中,xi、xj表示兩個螢火蟲的空間位置,α為步長因子,rand為[0,1]上服從均勻分布的隨機因子。
改進1使用最小吸引度改進螢火蟲算法的吸引度, 將原本是指數(shù)型的吸引度改成分式型,減少計算量,提高運算效率,公式如下:
其中βmin為最小吸引度。
改進2引入指數(shù)遞減型慣性權(quán)重到位置更新公式中,在權(quán)重公式中加入隨機擾動項進行自適應調(diào)整,公式如下:
xi(t+1)=ω(t)xi(t)+β(xj(t)-xi(t))+α(rand-0.5)
權(quán)重ω(t)計算公式如下:
其中,t為當前迭代次數(shù), 參數(shù)ωmax=0.8,ωmin=0.2,T=200,使得ω(t)∈(0,1)。
引入指數(shù)遞減型慣性權(quán)重改進的方法,可以避免螢火蟲飛行速度過快,錯過極值點或在極值點反復振蕩的問題。
筆者提出的IFA-SVM的核心是使用優(yōu)化的螢火蟲算法優(yōu)化支持向量機的懲罰系數(shù)c和核函數(shù)半徑g,通過選擇出最佳的層c、g組合,來提高SVM的分類準確率和分類性能,具體流程如圖2所示。
圖2 IFA-SVM參數(shù)優(yōu)化流程
筆者采用的振動原始數(shù)據(jù)集來自美國凱斯西儲大學的開放數(shù)據(jù)。 在電機驅(qū)動端SKF6205上進行故障診斷,實驗數(shù)據(jù)分別取了正常、滾珠故障、外圈故障和內(nèi)圈故障狀態(tài),采用電火花加工方式制造單點故障來模擬軸承故障, 損傷尺寸為0.18 mm。采樣頻率為12 kHz,轉(zhuǎn)速為1 797 r/min,將采集到的原始振動信號進行分割,每個樣本包含700個采樣點。 每種狀態(tài)下的樣本數(shù)量為130個,4類故障總共520個數(shù)據(jù)。 首先從4類故障中每類隨機抽取100個作為訓練集,剩下的120個數(shù)據(jù)作為測試集,兩個互斥數(shù)據(jù)集作為本次實驗的數(shù)據(jù)來源。
軸承故障類型描述見表1。
表1 滾動軸承故障類型
特征預處理步驟如下:
a. 將520個數(shù)據(jù)進行700點分段和短時傅里葉變換,提取原始故障信號的時頻圖和時頻分布圖。
b. 將得到的時頻圖去能量條、空白、坐標和文字。
c. 將時頻圖進行灰度化處理, 圖片大小為1141×824,由于圖片維數(shù)過大,必須對圖片進行壓縮處理,壓縮后的圖片大小為16×16。
每一種故障對應于特定的時域波形圖,而其時域分布又與波形圖有較大的相關性。每種故障之間都有較大區(qū)別,因此研究振動信號時頻圖和每類故障間的關系,將是本次實驗的主要目的之一,并且運用時頻圖進行特征提取,避免了人為特征提取而產(chǎn)生的誤差。 振動狀態(tài)時頻對比如圖3所示。
圖3 振動狀態(tài)時頻對比
由圖3可以看出,正常信號相比其他信號,其能量主要集中在2 000 Hz及以下的低頻部分,而3類故障特征的能量集中在3 000~4 000 Hz之間,具有明顯對比性。 并且正常信號處于連續(xù)狀態(tài),沒有明顯沖擊信號,雖然滾珠故障信號也處于連續(xù)狀態(tài),但由其時頻分布圖可知,滾珠故障信號存在一部分沖擊信號且能量大部分集中在3 000~4 000 Hz之間。 外圈故障和內(nèi)圈故障則存在明顯的沖擊信號,其中外圈沖擊次數(shù)較為稀疏,內(nèi)圈沖擊次數(shù)多于外圈,并且兩種信號與正常和滾珠故障存在明顯區(qū)別。 因此時頻對比有較大可分性,本實驗利用卷積神經(jīng)網(wǎng)絡在圖像識別方面的良好表現(xiàn)以及一定程度的平移、縮放、扭曲不變的優(yōu)點,將縮放指數(shù)線性單元(SELU)運用于卷積神經(jīng)網(wǎng)絡,形成自歸一卷積神經(jīng)網(wǎng)絡用于時頻圖像特征提取。
筆者所用SNN的結(jié)構(gòu)如圖1所示。輸入特征圖時頻灰度圖的大小為16×16, 卷積層與池化層交替組成隱層,第1層卷積核大小為5×5,卷積核個數(shù)為8,輸出32維,第2層卷積核大小也是5×5,卷積核個數(shù)為20,輸出64維。 池化層采樣方式為最大化采樣,即對特征圖鄰域內(nèi)特征點取最大。 區(qū)域大小為2×2且區(qū)域不重疊,分類器選擇SVM,激活函數(shù)選擇SELU函數(shù),采用adma優(yōu)化目標函數(shù)。實驗平臺的配置如下:Window 10 64位操作系統(tǒng),CPU為i5-3470 @ 3.20GHz,程序運行環(huán)境為MATLAB2020和Python3.8,訓練參數(shù)如下:
SNN參數(shù)
迭代樣本數(shù)量 50
迭代次數(shù) 3 000
學習率 1.673 26
螢火蟲參數(shù)
螢火蟲數(shù)量n 20
最大迭代次數(shù) 100
步長因子α 0.25
最小吸引度βmin0.2
光吸收系數(shù)γ 1
為了分析SNN的特征提取效果,對輸出的256維特征數(shù)據(jù)隨機抽取4維進行聚類分析, 分析效果如圖4所示, 從圖中可以看出,SNN提取的向量聚類后,每一類之間邊界清晰,基本不存在交叉混疊現(xiàn)象,特征分布緊湊,證明SNN提取的特征能夠表現(xiàn)故障特征,有利于最終實驗的分類。
圖4 特征聚類圖
為了進一步說明SNN的魯棒性和結(jié)構(gòu)的高效性, 筆者將傳統(tǒng)的特征提取方法與SNN特征提取方法在同等條件下進行對比。 相關方法包括:時域特征(TDF)+FA-SVM、時域特征(TDF)+IFASVM、CNN +FA-SVM、CNN +IFA-SVM、SNN +FASVM和SNN+IFA-SVM,6種方法性能比較見表2。
表2 6種模型性能比較
由表2可以看出, 在同等條件下,SNN+IFASVM的準確率最高,為99.17%,時域特征(TDF)+FA-SVM表現(xiàn)不是很好,準確率為88.33%。 對比時域特征 (TDF)+IFA-SVM和時域特征 (TDF)+FASVM可以看出,在傳統(tǒng)特征提取方式下,通過優(yōu)化螢火蟲算法,不但提高了整個模型的分類準確率,而且分類時間也明顯減少,由此可以表明,螢火蟲優(yōu)化算法效果顯。 CNN+IFA-SVM的分類準確率為97.14%, 低于SNN+IFA-SVM, 同時分類時間從141.20 s減少到了130.40 s,說明SNN的收斂速度高于CNN。 對比傳統(tǒng)的特征提取、CNN特征提取和SNN特征提取可以看出, 在相同的條件下,3種方法的分類準確率為SNN>CNN>時域特征(TDF),由此可見,SNN在特征提取中有較強的實用性。
進一步驗證6種方法的收斂速度, 記錄每一次迭代的結(jié)果并繪制折線圖如圖5所示。
從圖5可以看出,相較于其他模型,SNN+IFASVM收斂速度為全程最高,僅需20次就達到最終收斂效果。
圖5 6種模型迭代圖
采用SNN+IFA-SVM方法得到的實際分類結(jié)果和預測分類結(jié)果如圖6所示。 可以看出,在滾動軸承的4種狀態(tài)下,SNN+IFA-SVM基本都取得了較高的準確率,狀態(tài)1、3、4準確率達到了100%,狀態(tài)2只有1個沒有正確分類。 綜上所述,SNN+IFA-SVM具有較高的預測精度和較好的魯棒性,工程應用價值高。
圖6 SNN+IFA-SVM測試集實際分類和預測分類圖
將縮放指數(shù)線性單元運用于卷積神經(jīng)網(wǎng)絡中形成自歸一卷積神經(jīng)網(wǎng)絡,使其具有自歸一屬性,并且方差穩(wěn)定性好,避免了批歸一化、梯度彌散及梯度爆炸等問題。 首先將原始信號進行短時傅里葉變換提取時頻圖,將時頻圖進行灰度化處理之后再輸入到SNN網(wǎng)絡進行特征提取, 能更好地得到信號的特征。 最后應用改進螢火蟲算法(IFA)優(yōu)化SVM進行故障分類。 實驗結(jié)果表明,與傳統(tǒng)的特征提取方法和CNN相比,所提SNN+IFASVM方法具有較高的識別率以及較快的收斂速度。