□ 周 航 □ 王志剛 □ 徐增丙
1.武漢科技大學 機械自動化學院 武漢 430081 2.武漢科技大學 冶金裝備及其控制教育部重點實驗室 武漢 430081
滾動軸承是維持機械運轉(zhuǎn)的重要部件,長期處于高速旋轉(zhuǎn)和高溫工作環(huán)境下,容易出現(xiàn)疲勞剝落、磨損、銹蝕等故障[1],嚴重影響設備的安全運行。故障診斷是確保機械設備安全運行的重要措施之一。
深度學習具有強大的特征參數(shù)提取能力,可以自行建立特征至故障類別的映射關(guān)系,在故障診斷領(lǐng)域中的應用迅速發(fā)展[2]。卷積神經(jīng)網(wǎng)絡采用權(quán)值共享、局部感受野、下采樣策略,大大減少訓練參數(shù)的數(shù)量,提升訓練速度,已在故障診斷中被廣泛應用。楊蘭柱等[3]改進卷積神經(jīng)網(wǎng)絡,應用于軸承故障診斷,通過在卷積神經(jīng)網(wǎng)絡模型中添加歸一化層和指數(shù)線性單元,提高模型識別的泛化性。周奇才等[4]為了適應時域信號的處理,提出基于一維深度神經(jīng)網(wǎng)絡的診斷模型,在經(jīng)典卷積神經(jīng)網(wǎng)絡的基礎(chǔ)上引入一維卷積層和池化層,實現(xiàn)原始故障信號的自適應學習。劉穎等[5]提出一種小波包與卷積神經(jīng)網(wǎng)絡相結(jié)合的診斷方法,先采用小波包分解提取軸承數(shù)據(jù)能量特征圖,再結(jié)合卷積神經(jīng)網(wǎng)絡對特征圖進行分類,實現(xiàn)故障分類。雖然以上方法在故障診斷中都具有一定的有效性,但是由于這些模型多為單輸入單輸出淺層模型,非線性能力較弱,因此在故障數(shù)據(jù)較少和信噪比低的情況下,難以取得理想的結(jié)果。另一方面,卷積神經(jīng)網(wǎng)絡的神經(jīng)元都是標量,既無法考慮軸承數(shù)據(jù)的時序性關(guān)系,也無法表達底層特征與高層特征的位置關(guān)系,卷積神經(jīng)網(wǎng)絡中的池化層還會丟失大量有用信息。為了解決卷積神經(jīng)網(wǎng)絡的缺陷,Geoffrey Hinton提出膠囊神經(jīng)網(wǎng)絡,用向量代替標量,保留原數(shù)據(jù)的空間位置關(guān)系,舍棄池化層,應用動態(tài)路由算法,減少特征在網(wǎng)絡中的損失,目前同樣被應用于故障診斷[6-7]。
為了解決樣本數(shù)量少、信噪比低情況下診斷準確率低的問題[8-9],筆者提出一種基于注意力機制膠囊神經(jīng)網(wǎng)絡的軸承故障診斷方法。這一軸承故障診斷方法對原始數(shù)據(jù)進行經(jīng)驗模態(tài)分解,得到多個本征模函數(shù),作為多通道的輸入[10]。在卷積層,引入卷積注意力模塊,并加深卷積層,使模型具有更強的非線性能力。配合膠囊層優(yōu)異的特征表達能力,使注意力機制膠囊神經(jīng)網(wǎng)絡在樣本數(shù)量小、信噪比低的情況下識別能力更強。
卷積神經(jīng)網(wǎng)絡無法捕捉特征的空間信息,池化層會丟失部分有用的特征。為了彌補這一缺陷,Geoffrey Hinton于2017年提出膠囊神經(jīng)網(wǎng)絡,由卷積層和膠囊層組成。
膠囊神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖1所示。
▲圖1 膠囊神經(jīng)網(wǎng)絡結(jié)構(gòu)
膠囊神經(jīng)網(wǎng)絡的特征提取器是一個卷積層,通過權(quán)重矩陣滑動卷積的方式,實現(xiàn)權(quán)值共享。這種方式大大減少了權(quán)重參數(shù)及運算次數(shù),再采用激活函數(shù)的非線性映射能力對輸出值進行轉(zhuǎn)換。
卷積運算式為:
(1)
為了解決線性不可分問題,在卷積后引入非線性激活函數(shù),實現(xiàn)輸入到輸出的非線性映射,增強網(wǎng)絡處理問題的能力。使用較多的激活函數(shù)有S型生長曲線、雙曲正切函數(shù)、線性整流函數(shù)等,前兩個函數(shù)存在反向傳播梯度為0時權(quán)重無法更新的問題,因此使用線性整流函數(shù)作為激活函數(shù)。線性整流函數(shù)R(x)運算式為:
R(x)=max(0,x)
(2)
當卷積運算的輸出值,即輸入特征矩陣x小于0時,輸出值為0。當輸入特征矩陣x大于0時,輸出值為x。因此,采用線性整流函數(shù),反向傳播梯度不會飽和,計算復雜度也比較低,可以大大提高計算速度。
膠囊神經(jīng)網(wǎng)絡將一組神經(jīng)元合并為膠囊結(jié)構(gòu),通過仿射變換,將輸入的標量轉(zhuǎn)換為向量,向量在膠囊神經(jīng)網(wǎng)絡傳遞中使網(wǎng)絡擁有提取空間特征的能力。舍去池化層,通過動態(tài)路由機制將低級膠囊的輸出發(fā)送至高級膠囊。動態(tài)路由算法如圖2所示。
▲圖2 動態(tài)路由算法
卷積層第i通道的輸出標量vi,通過與第i通道的權(quán)重矩陣Wi相乘,得到第i通道的預測向量ui,運算式為:
ui=viWi
(3)
(4)
低級膠囊通過加權(quán)求和的方式將第i通道的預測向量ui傳遞至高級膠囊層第j個膠囊sj,運算式為:
(5)
通過擠壓函數(shù),將高級膠囊層第j個膠囊sj的模壓縮在[0,1)之間,保留向量的方向,得到動態(tài)路由算法下第j個膠囊的預測值aj,運算式為:
(6)
(7)
為了使模型更加關(guān)注重要特征,抑制無用噪聲特征,提高模型對軸承故障特征識別的準確率,應用卷積注意力模塊,由通道注意力模塊和空間注意力模塊串聯(lián)組成,對輸入信號各個維度進行打分,按得分加權(quán),突出重要特征對權(quán)重更新的影響。卷積注意力模塊結(jié)構(gòu)如圖3所示。
▲圖3 卷積注意力模塊結(jié)構(gòu)
在通道注意力模塊中,將輸入的特征矩陣按第一維度進行最大池化運算,按第二維度進行平均池化運算,送入兩層感知器。將輸出的元素逐個相加,通過S型生長曲線激活,得到最終的通道權(quán)值。將通道權(quán)值與輸入特征相乘,得到新的特征矩陣。通道注意力模塊流程如圖4所示。圖4中,L為特征的第三維度,r為縮放因數(shù)。
▲圖4 通道注意力模塊流程
在空間注意力模塊中,將通道注意力模塊輸出的特征矩陣作為輸入,按特征矩陣的第三維度分別進行最大池化和平均池化操作,得到兩個W×H×1的權(quán)值矩陣。將這兩個權(quán)值矩陣按照第三維度進行連接,通過卷積運算進行降維,再由激活函數(shù)得到最終的空間權(quán)值矩陣。空間注意力模塊流程如圖5所示。
▲圖5 空間注意力模塊流程
為了從原始時域信號中提取出更加豐富的特征信號,提高模型對故障特征的識別能力,采用經(jīng)驗模態(tài)分解特征融合與卷積注意力模塊相結(jié)合,改進膠囊層,得到基于注意力機制膠囊神經(jīng)網(wǎng)絡的軸承故障診斷方法。注意力機制膠囊神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖6所示。
▲圖6 注意力機制膠囊神經(jīng)網(wǎng)絡結(jié)構(gòu)
注意力機制膠囊神經(jīng)網(wǎng)絡的輸入是原始時域信號經(jīng)經(jīng)驗模態(tài)分解的前三個本征模函數(shù),每個本征模函數(shù)都包含原始信號的不同頻段成分。將三個本征模函數(shù)重構(gòu)、融合為三通道信號,不僅起到對原始信號降噪的作用,而且能使輸入信號包含更為豐富的原始特征。特征融合后,輸入卷積注意力模塊,對關(guān)鍵特征參數(shù)進行加權(quán),突出重要故障特征,使卷積層提取到更多的有用參數(shù)。加入兩個卷積層提取特征,第二個卷積層步長設為2,代替池化層作為降采樣層。每個卷積層的激活函數(shù)都是線性整流函數(shù),不僅能防止梯度消失,而且能提高模型的非線性能力。后端動態(tài)路由算法將向量化的特征參數(shù)由主膠囊層傳遞至數(shù)字膠囊層,并使用擠壓函數(shù)實現(xiàn)分類。
模型在得到預測值時,需要與真實值進行對比,對真實值與預測值的誤差進行反向傳播,由此不斷更新網(wǎng)絡,以達到最優(yōu)模型。真實值與預測值的誤差需要通過損失函數(shù)進行計算,注意力機制膠囊神經(jīng)網(wǎng)絡采用邊緣損失函數(shù),運算式為:
(8)
采用凱斯西儲大學公開的滾動軸承數(shù)據(jù)集進行試驗,驅(qū)動端軸承型號為SKF6205,故障屬于由人工電火花加工引起的單點損傷,除內(nèi)圈故障、外圈故障、滾動體故障三類外,還有一類正常數(shù)據(jù)。
為了解決單通道信號不能全面表達故障特征,以及每類故障數(shù)據(jù)量過少導致數(shù)據(jù)不平衡出現(xiàn)過擬合的問題,通過經(jīng)驗模態(tài)分解對四類數(shù)據(jù)的所有數(shù)據(jù)點進行分解,提取每類數(shù)據(jù)的前三個本征模函數(shù)。通過滑動窗口重疊采樣的方式,對數(shù)據(jù)進行擴充。從每個本征模函數(shù)信號的原點開始,每選取1 024個點作為一個樣本,然后向后滑動100個點采樣一次,直到選取1 000個樣本為止。
注意力機制膠囊神經(jīng)網(wǎng)絡采用監(jiān)督學習,通過反向傳播算法更新參數(shù),具體步驟包括四步。
(1) 數(shù)據(jù)處理。對所有數(shù)據(jù)進行經(jīng)驗模態(tài)分解,通過重疊采樣將數(shù)據(jù)劃分為1 024×1×1 000的結(jié)構(gòu),對所有樣本打標簽,并按8∶2保存為訓練集和測試集。
(2) 設計模型。卷積層使用9×9卷積核,第二層步長為2。主膠囊層有8×8×8×32個膠囊,數(shù)字膠囊層為16×4矩陣。
(3) 訓練網(wǎng)絡。通過訓練集訓練網(wǎng)絡,不斷調(diào)整參數(shù),使模型識別效果達到最優(yōu)。
(4) 檢驗網(wǎng)絡。通過測試集檢驗網(wǎng)絡的識別準確率,然后通過對比試驗測試模型的性能。
單獨檢驗注意力機制膠囊神經(jīng)網(wǎng)絡的性能不具有說服力,為此采用多個網(wǎng)絡進行對比分析。為了消除試驗結(jié)果偶發(fā)性的影響,進行多次對比試驗。
模型一為卷積神經(jīng)網(wǎng)絡,前三層卷積核參數(shù)均為32×3×3,后兩層卷積核數(shù)均為64,平均池化層大小為2×2,激活函數(shù)為線性整流函數(shù),最后兩層為全連接層,神經(jīng)元數(shù)分別為200和4,分類函數(shù)采用歸一化指數(shù)函數(shù)。使用Adam優(yōu)化器,學習率為0.001,所有樣本迭代次數(shù)均為10次。模型二為膠囊神經(jīng)網(wǎng)絡,膠囊層參數(shù)與圖1相同,卷積層為32個6×6卷積核,激活函數(shù)為線性整流函數(shù)。使用Adam優(yōu)化器,學習率為0.001,所有樣本迭代次數(shù)均為10次。模型三為注意力機制膠囊神經(jīng)網(wǎng)絡。
試驗結(jié)果見表1。由表1可以看出,三種模型在故障診斷中均表現(xiàn)良好,識別準確率都在95%以上。膠囊神經(jīng)網(wǎng)絡由于能識別軸承信號間的空間關(guān)系,識別準確率相比卷積神經(jīng)網(wǎng)絡提高1個百分點左右。注意力機制膠囊神經(jīng)網(wǎng)絡由于具有優(yōu)異的特征提取能力,識別準確率高于其它兩個模型,可以達到100%。
表1 軸承故障診斷準確率試驗結(jié)果
軸承的工作環(huán)境比較復雜,信號采集設備經(jīng)常受到環(huán)境噪聲的影響,導致采集到的故障信號淹沒在噪聲中,特征提取難度較大。由此可見,提高高噪聲工況下的軸承故障診斷準確率十分重要。為了驗證注意力機制膠囊神經(jīng)網(wǎng)絡的抗噪能力,向測試集數(shù)據(jù)中添加不同信噪比的噪聲信號,測試識別準確率。
直接調(diào)用上述已訓練好的模型,測試集分別添加信噪比為5 dB、2 dB、-2 dB、-5 dB的高斯白噪聲,如圖7所示。
▲圖7 原始信號與添加噪聲后信號
添加噪聲信號后軸承故障診斷準確率如圖8所示。由圖8可以看出,在信噪比較高時,三種模型識別準確率都能保持在90%以上,注意力機制膠囊神經(jīng)網(wǎng)絡的識別準確率甚至能夠達到100%。隨著信噪比的降低,噪聲信號占比較多,故障特征被淹沒在噪聲中,使特征提取較為困難,卷積神經(jīng)網(wǎng)絡和膠囊神經(jīng)網(wǎng)絡的識別準確率大幅度降低。當信噪比只有-5 dB時,卷積神經(jīng)網(wǎng)絡的識別準確率只有64.86%,膠囊神經(jīng)網(wǎng)絡的識別準確率為80.59%,證明膠囊層在特征提取方面具有優(yōu)異能力。注意力機制膠囊神經(jīng)網(wǎng)絡在信噪比為-5dB時,識別準確率到達94.69%,可見注意力機制膠囊神經(jīng)網(wǎng)絡的抗噪能力較強,可以提取到更多有用的特征參數(shù)。
▲圖8 添加噪聲信號后軸承故障診斷準確率
深度學習網(wǎng)絡過度依賴大量數(shù)據(jù)支持,而在現(xiàn)實工作中,復雜的工作環(huán)境導致不可能獲取足夠多的各類故障樣本,出現(xiàn)數(shù)據(jù)量小且失衡的情況,過少的數(shù)據(jù)會導致網(wǎng)絡過擬合。由此可見,提高小樣本情況下的軸承故障診斷準確率同樣十分重要。為了驗證注意力機制膠囊神經(jīng)網(wǎng)絡在小樣本情況下的軸承故障診斷準確率,減小數(shù)據(jù)量,進行對比試驗。小樣本情況訓練集和測試集見表2。
表2 小樣本情況訓練集和測試集
設置三組數(shù)據(jù),數(shù)據(jù)采用原始信號,第一組每類1 000個,第二組每類500個,第三組每類300個,試驗結(jié)果如圖9所示。由圖9可以看出,當數(shù)據(jù)樣本足夠多時,三種模型識別準確率都很高,注意力機制膠囊神經(jīng)網(wǎng)絡的識別準確率甚至能夠達到100%。當數(shù)據(jù)較少,只有300個時,卷積神經(jīng)網(wǎng)絡和膠囊神經(jīng)網(wǎng)絡的識別準確率大大降低,卷積神經(jīng)網(wǎng)絡甚至出現(xiàn)過擬合現(xiàn)象,注意力機制膠囊神經(jīng)網(wǎng)絡則仍然保持較高的識別準確率。
筆者通過研究深度學習在軸承故障診斷中的應用,針對卷積神經(jīng)網(wǎng)絡和膠囊神經(jīng)網(wǎng)絡的弊端,提出基于注意力機制膠囊神經(jīng)網(wǎng)絡的軸承故障診斷方法。這一軸承故障診斷方法結(jié)合經(jīng)驗模態(tài)分解,不僅可以對原始信號進行降噪,還可以融合多個本征模函數(shù)作為輸入信號,得到三維數(shù)據(jù),使數(shù)據(jù)含有的特征信號更加豐富。加入通道注意力模塊和空間注意力模塊,可以提取到數(shù)據(jù)中更敏感的特征參數(shù)。對比試驗表明,注意力機制膠囊神經(jīng)網(wǎng)絡在抗噪能力和小樣本情況下均具有較強的識別能力和較高的識別準確率。
▲圖9 小樣本情況軸承故障診斷準確率