楊永燦,劉 韜,柳小勤,王廷軒,王振亞
(昆明理工大學機電工程學院,云南 昆明 650500)
行星齒輪箱作為整個傳動系統的關鍵部件,被廣泛應用于機械裝備中[1]。因工程環境的復雜性與多變性,齒輪箱中的齒輪和軸承等核心部件極易發生損壞。齒輪箱的健康狀況與整臺設備的運行有著緊密聯系,因此,對行星齒輪箱的狀態監測與性能評估是工程實際中的重中之重[2]。
近年來,深度學習作為機器學習的熱點方向,因其強大的特征提取能力,在機械設備故障診斷領域被廣泛應用。雷亞國等[3]將機器學習模型改進并應用于設備的故障診斷中;Chen等[4]通過繪制振動信號特征統計圖來作為卷積神經網絡(convolutional neural network,CNN)的輸入,進行了故障診斷;胡蔦慶等[5]通過經驗模態分解的方法對行星齒輪箱振動信號預處理,輸入到CNN模型中進行故障識別;孔子遷等[6]通過時頻融合并結合注意力機制,實現了行星齒輪箱故障診斷。近些年來,深度學習在故障診斷領域被廣泛應用,但模型的輸入過分依賴先驗知識,沒有利用深度學習強大的特征提取能力。于是,一些學者對一維振動信號直接作為深度學習模型的輸入展開了研究,曲建嶺等[7]建立了1D-CNN的“端到端”自適應故障診斷算法,實現了軸承故障診斷;Wu等[8]使用1D-CNN模型對固定軸齒輪箱和行星齒輪箱進行了故障診斷研究,證明具有較強的特征提取能力。雖然有許多的學者將深度學習理論應用于機械設備故障診斷領域,但是由于實際工況多變,數據噪聲干擾大,因此,深度學習網絡在面臨實際工況數據時,難以充分挖掘表征有故障信息的特征,從而影響識別結果。另外,模型訓練參數過大,不利于實現快速故障診斷。
在行星齒輪箱中,多個部件共同運轉,其構造較為煩瑣,使得信號頻率成分復雜;另外載荷大范圍波動導致振動信號具有強烈的時變性,不同時間內的信號特征不同[9-10]。因此,針對行星齒輪箱故障信號成分復雜和時變性強的特點,本文提出了一種基于注意力機制的一維卷積神經網絡行星齒輪箱故障診斷方法。使用一維卷積神經網絡強大的特征學習能力對行星齒輪箱進行特征學習,同時,引入注意力機制對提取的特征序列進行自適應的加權,突出有用的故障特征信息,提升網絡在變工況工作環境下的行星齒輪箱故障診斷性能。
卷積神經網絡(CNN)具有特定的結構,與其他的深度神經網絡相比,有稀疏連接和權值參數共享的特性。CNN的組成部分描述如下。
CNN的主要模塊是卷積層,它使用濾波器對輸入數據進行一系列卷積運算,并輸出相應的特征[11]。其數學模型可以表示為
(1)

(2)

但是,當直接使用式(2)對特征進行歸一化時,模型學習到的特征會受到影響,會使網絡表達能力下降,于是引入重構參數γi和βi對歸一化值進行調整,恢復原始網絡的特征分布。這個過程可以描述為
(3)
數據進行BN規范化后,接著采用激活函數對數據進行非線性映射。修正線性單元(rectified linear unit,ReLU)激活函數可以有效地加快模型收斂,選用ReLU作為激活函數。可以得到輸出為
(4)

然后進行池化操作,主要是降低上一層輸出的維度,實質是有效減輕計算量,保留重要的信息,從而減少所需的計算資源和時間。為了更好地保留數據紋理特征,以及使模型獲得更快的收斂速度,本文采用最大池化操作,函數表示為
(5)

通過一系列的卷積和池化逐層進行深度特征提取,然后將提取的特征進行扁平處理輸入全連接層,公式為
(6)
wf為相鄰層之間的權重矩陣;bf為偏置;sm為輸入數據;σ(·)為激活函數。通常在全連接層之后為了得到模型的預測輸出,連接Softmax函數實現類別分類,即
(7)
fk(y)為Softmax函數對每個類別的預測值;C為訓練樣本數。
為使損失率趨于最小,模型訓練采用交叉熵[13]作為損失函數,公式為
(8)
θ為模型的訓練參數;hk為第k個目標的輸出類別;fk(θ)為第k類樣本預測概率值;J(θ)為誤差損失值。
行星齒輪箱工作環境載荷大范圍波動,導致振動信號具有強烈的時變性。當行星齒輪箱內出現局部故障時,故障位置對其他嚙合的齒輪產生脈沖激勵,使整個系統產生共振,使得振動信號成分復雜。因此,在同一工況下不同時間內采集的信號特征有差異,有些特征是可以表征故障信息的,有些可能會帶來干擾,使得模型的泛化能力降低。
注意力機制通過對不同的信號片段的特征自適應加權進行信息篩選,突出有重要信息的故障特征,抑制無效的特征。其結構如圖1所示,C為深度特征提取層獲得特征通道數;L為特征通道的特征數目。

圖1 注意力機制
首先,獲取CNN網絡各通道輸出的特征序列H=[h1,h2,h3,…,hN],N為序列的長度。然后,將特征序列H輸入到全連接層,從而得到各通道的注意權重S=[s1,s2,s3,…,sN],接著利用注意權重S與原始特征序列相乘得到注意力篩選后的特征序列。其注意力機制加權篩選的原理可描述為
wf=δ(H)
(9)
S=softmax(αTwf)=[s1,s2,s3,…,sN]
(10)
H′=HST
(11)
δ(·)為激活函數;αT為可學習的參數;H′為注意力篩選后的特征。
1.3.1 模型構建
本文將1D-CNN結合注意力機制技術,構建故障診斷模型,即使用1D-CNN從原始振動信號中學習齒輪故障特征,然后采用注意力機制自適應地獲取特征的重要程度,根據這個重要程度增強能表征故障信息的特征,對無效的特征進行抑制,使網絡獲得更多判別信息。其網絡拓撲結構如圖2所示。

圖2 行星齒輪故障診斷模型結構
故障診斷模型主要由輸入層、深度特征提取層、注意力機制層以及全連接層組成。輸入層是以行星齒輪箱的一維振動信號樣本作為輸入。深度特征提取層包括卷積層、BN層和池化層,交替方式出現卷積池化對輸入的原始信號進行深度特征學習。其中,由于池化未改變特征的分布,故BN僅在卷積層之后使用。通過一系列的卷積池化提取深度特征后,利用注意力機制技術對不同信號片段的特征自適應加權進行信息篩選,同時對篩選后的特征重新標記,最后將標記好的特征序列送到Softmax分類器中實現端到端的行星齒輪箱故障診斷。
1.3.2 行星齒輪箱故障診斷流程
基于AM的1D-CNN故障診斷流程如圖3所示。首先將AM與1D-CNN結合,完成模型的構建;然后初始化模型參數,采用Softmax分類器映射輸出特征,以交叉熵作為損失函數J(θ)更新模型參數;接著完成模型的預訓練,保存模型參數;最后當模型訓練好后,對模型進行測試,重新加載預訓練的模型,學習新故障信號的特征,輸出故障診斷結果。具體步驟描述如下:

圖3 模型故障診斷流程
a.信號采集。采用振動傳感器對行星齒輪箱故障信號進行采集,用于訓練構建的模型。
b.數據劃分。把獲取到的故障信號數據隨機劃分為訓練集和測試集。
c.模型構建與訓練。設計模型結構,使模型參數初始化,利用訓練集數據對模型進行預訓練,并反復利用前向傳播和反向傳播求取參數梯度,不斷更新模型參數,直到準確率滿足要求,保存最優的模型。
d.故障診斷測試。模型訓練結束后,用測試集的數據對模型進行測試,驗證其診斷性能。
本次實驗的實驗平臺如圖4a所示,由伺服電機、行星齒輪減速器(包含行星齒輪箱)、PLC控制器、驅動器和負載擺臂等組成,其中,行星齒輪箱的內部結構如圖4b所示。利用該實驗平臺可以實現多種故障振動信號的采集。電機轉速由PLC控制器來改變,轉速由0勻加速到500 r/min,再從500 r/min勻減速到0,使得擺臂固定在120°內往復擺動。擺臂主要目的是為實驗臺提供負載,通過在擺臂的不同位置添加圓盤,實現實驗臺的不同負載狀態的設置。本實驗通過線切割加工故障,模擬設置了行星輪缺齒、行星輪裂紋、太陽輪缺齒、太陽輪裂紋和正常狀態,共有5種行星齒輪箱的健康狀態。在行星齒輪箱表面安裝加速度傳感器,型號為PCB353B01,信號采集卡為National Instrument 9234,通過Signal Express 2015軟件平臺進行數據記錄,采樣頻率設置為10 kHz。為排除隨機因素的影響,對行星齒輪箱的每種健康狀態的不同負載進行數據采集,即每種健康狀態有5個樣本,共有25個樣本。
本文實驗選用如圖4a所示的圓盤位置負載狀態下的行星齒輪箱信號進行分析。為了加快模型的運算效率,對原信號進行1/3的降采樣處理,取數據樣本長度為17 500。降采樣后,每種故障模式得到200組信號樣本數據,訓練集隨機選擇信號樣本數據的70%,其余的信號樣本數據作為測試集。具體信息如表1所示。

圖4 模擬實驗臺及行星齒輪箱內部結構

表1 齒輪箱5種健康狀態
本文所處理的是行星齒輪箱的一維振動信號,樣本維數較低。考慮到較多的卷積層數目可能會引起模型過擬合問題,因此,本文在固定2層卷積層的前提下,再考慮其他的模型參數。輸入層所輸入的為沒有做任何預處理的一維振動信號,因此在第1卷積層中設計了寬卷積核,以更好地抑制噪聲并捕獲有用的信息[14]。
選擇模型其他參數時,合適的參數可以在保證準確率較高的前提下加快模型的訓練速度[7],因此,為了盡可能覆蓋更多參數組合的選擇,以及降低人工選擇模型參數的隨機性,本文引入了網格搜索算法來尋最優模型的參數。首先將各個參數可能的取值進行排列與組合,然后使用各參數組合對構建的模型進行訓練,通過交叉驗證對模型診斷性能進行測試。擬合函數遍歷所有的參數組合后,自動選擇最佳參數組合,參數優化結果如表2所示。

表2 模型主要參數
另外,批處理量為64,迭代次數為30,正則化是L2范數。通過ADAM算法進行優化,對每一個參數的學習率進行動態調整,使模型的結果更接近于真實值且有較強的泛化性。
本文引入了回調函數對模型在訓練過程中的表現進行預先保存,得到最佳的模型參數。訓練集數據和測試集數據的準確率如圖5所示。

圖5 診斷準確率曲線
在圖5中可以看到,模型訓練結果良好,沒有過擬合現象,經過30次的循環迭代,測試集的準確率達到99.6%,利用回調函數保存了此時的模型參數。為了進一步地反映本文構建的模型對行星齒輪箱故障類型的識別能力,引入了多分類混淆矩陣對行星齒輪箱故障識別結果進行詳細分析,如圖6所示。

圖6 多分類混淆矩陣
在圖6中可以看到,測試集300個樣本中,只有行星輪裂紋故障的1個樣本被誤判為正常狀態。其余的行星齒輪箱5種狀態都能100%識別出來。因此可以看出,本文構建的模型有較高的故障識別率。
為了驗證本文構建的模型的性能,將廣泛應用的1D-CNN、全連接神經網絡(FCNN)和多尺度卷積神經網絡(MC-CNN)[15]對行星齒輪箱實驗數據進行分析和比較。激活函數、優化器、損失函數、Dropout的比例和迭代次數等均和本文構建的模型設置相同。對比了4種方法在行星齒輪箱單一故障狀態下的準確率,結果如表3所示。

表3 4種模型的故障診斷準確率 %
由表3可知,本文構建的模型對行星齒輪箱診斷準確率明顯優于其他的模型。通過對比測試集準確率,本文模型、1D-CNN、MC-CNN和FCNN的診斷準確率分別為99.6%、91.8%、93.4%和67.6%。另外,4種模型對故障4的識別率均比較高,但在其他故障狀態識別均沒有本文構建的模型好,有2個隱含層的FCNN模型整體準確率較低,且有嚴重過擬合的現象。
為了更進一步展示本文模型對行星齒輪箱不同狀態振動數據特征的學習能力,引入t-SNE技術對各個深度學習模型學習到的特征降維,并可視化進行分析比較。具體地,分別將各個深度學習模型所提取特征在二維空間表示。
通過t-SNE捕獲的特征形狀如圖7所示。可以看到,原始振動信號通過本文構建的模型自適應的學習處理之后,行星齒輪箱同一故障類型的大部分樣本很好地聚集在一起,并且有效地對不同類型的樣本進行了區分。在1D-CNN和FCNN模型中,同一類別的樣本沒有很好地聚集在一起,甚至不同類別的樣本特征映射點有相互重疊,很難區分出故障狀態,表明1D-CNN和FCNN模型的自適應學習能力較差。MC-CNN模型中,同一類別的多數樣本能夠聚攏在一起,但是不同類別樣本之間并未有效分離,說明MC-CNN模型沒有突出關于齒輪箱故障信息的特征。總而言之,通過以上的模型對比,本文模型能夠凸顯行星齒輪箱故障重要的信息特征,對無用的特征進行了有效抑制,可以準確有效地識別行星齒輪箱故障狀態。

圖7 各個模型可視化結果
本文提出基于注意力機制的一維卷積神經網絡故障診斷方法。通過對行星齒輪箱原始振動信號進行深度特征提取,結合注意力機制對提取的特征序列自適應的賦予不同的權重,克服了傳統模型無法充分挖掘故障信息的局限性。利用故障模擬實驗臺數據驗證,該模型能夠有效地解決信號成分復雜和時變性強的問題。與其他廣泛應用的深度學習模型相比,基于注意力機制的1D-CNN模型具有良好的診斷性能,有較好的魯棒性與工程實際價值。