陳仁祥, 楊 星, 胡小林, 李 軍, 陳 才, 唐林林
(1. 重慶交通大學 交通工程應用機器人重慶市工程實驗室, 重慶 400074; 2. 重慶大學 機械傳動國家重點實驗室, 重慶 400030;3. 重慶工業大數據創新中心有限公司, 重慶 400056; 4. 重慶華數機器人有限公司, 重慶 400714)
行星齒輪箱廣泛應用于風電機組、船舶等大型工程機械中,惡劣的運行環境導致其關鍵部件在交變載荷作用下極易發生故障[1-2],對其進行故障診斷能及時檢測并排除運行過程中出現的突發問題,有效避免重大事故。
目前,國內外學者主要利用數據驅動實現行星齒輪箱故障診斷[3]。為自動提取故障特征,深度神經網絡被運用到故障診斷領域,Lu等[4]利用堆疊自動編碼器實現了旋轉機械的故障診斷。Jing等[5]提出了深度卷積神經網絡(DCNN)的自適應多傳感器數據融合方法,并自適應地優化不同融合級別的組合,用于行星齒輪箱的故障診斷。Zeng等[6]將信號S變換時頻圖作為CNN輸入用以提取相應故障特征以識別齒輪箱故障。Chen等[7]提出了一種多維特征降維方法,從而得到低維特征向量作為DBN多分類器的輸入,實現了對行星齒輪箱太陽輪故障狀態識別。Chen等[8]利用離散小波變換和CNN實現了行星齒輪箱的故障診斷。
以上方法均取得了不錯的效果,但必須滿足兩個條件:訓練和測試數據獨立同分布且訓練數據足夠多。而實際工程中,運行工況多變,獲得的樣本難以滿足以上兩個條件,直接影響故障診斷效果。
遷移學習[9]能利用已有的知識幫助解決目標任務存在的問題,實現不同領域數據的識別和預測。其中,已有的知識被稱為源域,新任務領域被稱為目標域。由于遷移學習能學習目標樣本和已有知識之間的相關性。Rajagopal[10]等將遷移學習應用于頭部姿態分類,目前也已有將其應用在故障診斷領域,雷亞國等[11-13]將遷移學習運用在故障診斷領域,取得了不錯的效果,但需先人工提取特征,再利用遷移學習實現診斷,這種方式依賴于人的經驗,且特征提取和遷移學習均有多種算法,兩者相對獨立,匹配程度難以評價,影響診斷結果的可靠性。
針對以上問題,在目標標記樣本不足時,通過結合遷移學習方法在解決不同領域樣本的優勢,提出深度置信網絡遷移學習的行星齒輪箱故障診斷方法。該方法將輔助樣本的原始信號頻譜作為DBN網絡的輸入,逐層更新網絡的權重和偏置值對輸入信號進行分級表達,以獲得其分布式特征表達,得到基于輔助標記樣本的DBN預模型。再用少量的目標標記樣本微調DBN預模型的網絡權重和偏置值,實現DBN網絡權重和偏置值從源域到目標域的遷移以適應新的目標樣本識別,最終達到提高目標域樣本故障識別準確率的效果。
深度置信網絡遷移學習過程分為兩個部分:輔助標記樣本下的網絡預訓練以建立DBN預模型和少量目標標記樣本由高層到低層的有監督微調DBN預模型。具體結構如圖1所示。
樣本數據集定義為
Ds={Xs,Ts}
(1)
Dt={Xt,Tt}
(2)
式中:Ds、Dt分別為輔助樣本集和目標樣本集;Xs、Xt為輔助樣本和目標樣本;Ts、Tt為輔助樣本和目標樣本對應的標簽。
首先將輔助樣本Ds用于DBN網絡的預訓練,權重和偏置值更新規則如下:

圖1 DB遷移學習的結構
受限玻爾茲曼機[14](Restrict Boltzmann Machine,RBM)的能量表達式為
(3)
式中:參數集θ={W,b,c},vi為第i個可視層神經元狀態;hj為第j個隱含層神經元狀態;bi為可視層神經元i的偏置,cj為隱含層神經元j的偏置;m、n分別為可視層和隱含層神經元個數;Wij為連接可視層神經元i和隱含層神經元j的權重。
RBM的隱層節點hj被顯層節點vi激活的概率為
(4)
顯層節點vi也能被隱層節點hj激活,激活概率為
(5)
其中,δ通常取Sigmoid函數。
采用隨機梯度上升法計算似然函數lgP(v,h)的函數最大值,得到每個RBM的參數集θ更新公式為
ΔWij=E1(vihj)-E2(vihj)
(6)
Δbi=E1(vi)-E2(vi)
(7)
Δcj=E1(hj)-E2(hj)
(8)
Δθ={Δw,Δb,Δc}
(9)
θt+1=θt+ηΔθ
(10)
式中:η為學習率;E1(vihj)為訓練集中觀測數據期望;E2(vihj)由吉布斯采樣得到,為模型確定的分布期望。

(11)
(12)
得到預訓練的網絡連接參數θs由每層RBM的連接參數組成
(13)
(14)


(15)
網絡最終參數θt更新的公式如下
θt=θs+Δθ
(16)
(17)

通過少量目標樣本數據Dt的有監督微調,以更新網絡參數集,實現將源域訓練的網絡權重和偏置值與目標域共享部分θr遷移到目標域訓練的網絡權重和偏置值中,引入目標域訓練網絡中區別于源域特定的權重和偏置值部分,最終得到適應于目標域數據的網絡權重和偏置值θt。
θt=(θout,θN,…,θ2,θ1)
(18)
DBN遷移學習的行星齒輪箱故障診斷方法過程如下:首先計算源域和目標域數據的原始信號頻譜,使用源域標記樣本訓練集預訓練DBN網絡的權重和偏置值,得到DBN預模型。再用少量目標標記樣本數據進行網絡參數的微調,最終獲得適應目標樣本領域數據故障診斷的網絡權重和偏置值,從而得到DBN遷移學習的行星齒輪箱故障診斷網絡。
診斷流程如圖2,具體步驟如下:
步驟1樣本獲取與預處理。采集得到不同工況故障數據,分別計算頻譜,并將它們頻譜數據的幅值歸一化到[0,1]的范圍,分別獲得其源域和少量目標域訓練標記樣本,和目標域測試樣本,經過處理得到的樣本輸入范圍為[0,1],在此激活函數選擇sigmoid函數;
步驟2源域數據樣本下DBN網絡預模型的訓練。分別設置深度置信網絡的RBM個數N、隱含層單元數、初始化權重和偏置等超參數,并輸入其源域樣本數據用貪婪算法逐層訓練得到每一個RBM的初始參數,將上一個RBM的輸出作為下一個RBM的輸入,直到N個RBM的訓練完成,再用源域標簽有監督微調DBN網絡,得到DBN的網絡預模型。

圖2 診斷流程
步驟3目標域少量標記樣本有監督微調DBN預模型。利用DBN預模型網絡權重和偏置值,以其最后一層的RBM輸出作為輸入給softmax分類器,根據故障類別設置softmax多分類器輸出層神經元個數,將少量的目標域標記樣本作為根據標簽樣本,softmax多分類器采用反向誤差傳播算法(BP)對整個DBN得到網絡預模型的每一個RBM的權重、偏置進行微調,完成對網絡參數的訓練,最終獲得適應目標樣本領域數據故障診斷的網絡權重和偏置值,從而實現目標域待測數據的故障診斷。
步驟4輸出診斷結果。輸入目標域測試樣本,最終輸出網絡診斷結果。
首先,以行星齒輪箱的故障來驗證本文所提方法的可行性和有效性,實驗數據采集于動力傳動故障診斷綜合實驗臺,實驗平臺見圖3(a)。分別對太陽輪和行星輪人工加工太陽輪齒面磨損(TM)、太陽輪缺齒(TQ)、太陽輪斷齒(TD)、行星輪缺齒(XQ)、行星輪斷齒(XD)五種故障類型,太陽輪的故障類型如圖3(b)所示。
采樣頻率設置為30720Hz。分別獲得太陽輪齒面磨損(TM)、太陽輪缺齒(TQ)、太陽輪斷齒(TD)、行星輪缺齒(XQ)、行星輪斷齒(XD)五種故障類型的數據,得到表1中的三種工況數據,每類故障類型獲得180個樣本,每個樣本的長度為1 024個點。
圖4為行星齒輪箱每類故障原始信號及其頻譜對比圖,觀察該圖,不同信號在頻域表現出的差異更易觀察和比較,其中太陽輪故障時原信號的能量集中在低頻部分,而行星輪故障時能量主要分布在高頻部分,不同故障類型能量分布存在明顯差異。圖4后三組圖為太陽輪缺齒時在不同轉速下的時域及頻域對比,雖然為同一故障但由于工況不同,但頻譜能量和頻譜結構明顯不同,是故障診斷的難點。

1. 計算機; 2. 編碼器; 3. 采集卡; 4. 電機; 5. 行星齒輪箱;6. 傳感器; 7. 直齒齒輪箱; 8. 負載裝置; 9. 負載控制裝置

(b) 齒面磨損

(c) 斷齒

(d) 缺齒

表1 數據信息


圖4 原始信號及其頻譜
首先,證明目標域訓練樣本數量大小對DBN的診斷效果有影響,在目標域工況為工況3的情況下,目前DBN網絡結構與超參數設置尚無成熟理論[14],本文所提方法的輸入為512個頻譜值,故障類型為5,參考文獻[14-15]并經過前期實驗,采用DBN網絡結構為512-100-50-5,學習率α=0.05,動量m為0.9。在每類故障類型的180個數據樣本中隨機抽取不同個數的樣本作為訓練樣本,剩余的樣本中隨機抽取90個作為測試樣本,診斷結果如圖5所示。

圖5 不同數量訓練樣本下的準確率
圖5為目標域不同數量訓練樣本下的準確率。由圖5可知,在目標域訓練樣本數量不滿足DBN網絡訓練要求時,DBN網絡的診斷效果不佳。隨著訓練樣本數量增加,最終的診斷率提高,當訓練樣本數量滿足網絡訓練要求時,DBN網絡的診斷準確率達到97%以上。
再證明訓練數據和測試數據不滿足獨立同分布時對DBN的診斷效果有影響,將工況1作為訓練樣本,工況3作為測試樣本,診斷效果如表2所示。

表2 不同工況下行星齒輪箱故障狀態識別結果
最后,將工況1作為輔助樣本和少量目標工況3直接用于訓練,目標工況3未標記樣本用于測試,結果如表3所示。診斷效果依然不佳且沒有提升,還有些許下降,這是由于獲得數據不滿足訓練和測試數據獨立同分布且目標訓練數據充足的條件,兩種工況下的訓練數據間相互干擾,影響診斷效果。

表3 輔助和目標樣本訓練下DBN模型分類準確率
為驗證所提方法網絡權重和偏置值的遷移效果,將工況2數據作為輔助樣本集,分別將工況1和工況3數據作為目標域樣本集。輔助樣本集每類故障在180個樣本中隨機選取90個樣本作為測試集,在目標域樣本集中隨機選取少量標記目標樣本作為訓練集,少量目標域訓練集每類故障狀態分別選取6、10、14個,再在剩余的目標域中每類故障類型分別隨機選取90、120作為目標域測試集。這里的網絡輸入依然為512個頻譜峰值,故障類型為5,采用DBN網絡結構為512-100-50-5,學習率α=0.05,動量m為0.9。
首先,為驗證所提方法訓練得到的網絡權重和偏置值中存在與源域預訓練網絡共享的權重和偏置值。在微調目標樣本數量為每類故障個數6個時,逐層將兩種目標域工況1和工況3得到的網絡權重和偏置值和源域工況2訓練所得的網絡預模型中的權重和偏置值做差,并將其變換成一維矩陣,其中網絡兩層的權重和偏置值的變化值和變化范圍如圖6和表4所示。



表4 逐層權重和偏置值的變化區間
觀察圖6和表4可知,目標工況1和工況3中訓練的網絡每層所得的權重和偏置值中均存在與輔助樣本預訓練網絡的權重和偏置值變化很小的部分,這部分的權重和偏置值應屬于源域訓練所得的網絡權重和偏置值與目標域訓練所得的網絡權重和偏置值共享的部分,需要遷移到最終網絡的權重和偏置值中。同時,針對不同的目標工況1和工況3,權重和偏置值各自都有變化值較大的部分,這部分應屬于前文所指目標域訓練網絡中分別區別于源域特定的權重和偏置值部分,是通過少量目標樣本微調訓練更新網絡參數集引入此部分權重和偏置值,最終得到適應于目標域數據故障分類的網絡權重和偏置值。
為進一步對比所提方法和DBN的特征提取能力,訓練樣本為每類故障狀態分別選取6、10、14個,測試樣本為每類故障在狀態為90個的情況下,所提方法提取到的特征和DBN進行對比。DBN方法在訓練樣本為每類故障狀態分別選取6、10、14個情況下的特征圖分別簡稱“DBN6”、 “DBN10” ,“DBN14”,所提方法在目標訓練樣本為每類故障狀態分別選取6、10、14個情況下的特征圖分別簡稱“所提方法6”、 “所提方法10” ,“所提方法14”,結果如圖7所示。
圖7為所提方法和DBN方法的特征提取對比圖。由圖7可知,“所提方法6”、 “所提方法10” 和“所提方法14”提取到的特征每類之間集聚性和區分度均高于“DBN6”、 “DBN10” 、“DBN14”,所提方法較DBN方法能提取更好的特征。且所提方法隨目標訓練樣本的增加,特征提取的效果明顯增加。綜上,所提方法較DBN方法能提取更好的特征,且隨訓練目標標記樣本增加,效果越佳。

(a) DBN6

(b) 所提方法6

(c) DBN10

(d) 所提方法10

(e) DBN14

(f) 所提方法14
圖8為所提方法與DBN迭代誤差曲線對比。由圖可以看出,不同目標訓練樣本數下網絡的最終迭代誤差都為零,訓練好網絡所提方法所需要的迭代次數明顯低于DBN,所提方法所需訓練網絡的迭代次數更少。

圖8 迭代誤差對比
分別應用傳統的機器學習KNN和SVM、深度學習方法DBN和SAE、遷移學習方法TCA、論文所提方法對行星齒輪箱進行故障診斷。KNN和SVM的輸入為提取的時頻特征[16],將輔助樣本和少量目標樣本用于訓練,目標樣本用于測試。
表5~表10分別為所提方法、KNN、SVM、DBN、SAE、TCA的故障識別準確率。由表5可知,目標訓練樣本有限的條件下,所提方法準確率達到了90%左右,診斷效果良好。

表5 所提方法故障識別準確率(1)

表6 KNN故障識別準確率
表11為樣本有限下的平均識別準確率對比,觀察表11,隨著目標訓練樣本個數增加,故障識別準確率也隨之上升。特別在目標訓練樣本很少時,目標訓練樣本為6時,本文所提方法就有了89.51%的識別率,遠高于KNN的56.60%、SAE的73.35%、DBN的69.76%、SVM的77.57%和TCA的80.92%。綜上所述,本文所提方法在目標訓練樣本有限下故障診斷效果更加高效且在較少目標域訓練樣本時就能達到較高的識別效果。

表7 SVM故障識別準確率

表8 DBN故障識別準確率

表9 SAE故障識別準確率

表10 TCA故障識別準確率

表11 樣本有限下的平均識別準確率對比
為進一步證明所提方法在目標工況樣本有限下能對行星齒輪箱進行高效的故障診斷。以下將對所提方法進行交叉驗證實驗。表5、表12和表13分別為實驗1、實驗2、實驗3的結果,總結得表14。表14為交叉實驗不同少量目標訓練樣本下的平均識別率對比效果。由表14可知,本文所提方法對目標樣本有限下的行星齒輪箱故障識別準確率能達到90%左右。

表12 所提方法故障識別準確率(2)

表13 所提方法故障識別準確率(3)

表14 交叉實驗下的平均識別準確率對比
針對實際工程中行星齒輪箱獲取的數據難以滿足訓練和測試數據獨立同分布且訓練數據充足的條件所導致診斷效果不佳的問題,提出基于DBN遷移學習的行星齒輪箱故障診斷方法,該方法利用輔助樣本訓練更新DBN的權重和偏置值以獲得DBN預模型。再用少量的目標標記樣本訓練微調DBN預模型的網絡權重和偏置值,實現DBN網絡權重和偏置值從源域到目標域的遷移以適應新的目標樣本識別,通過行星齒輪箱故障模擬實驗驗證,最終達到提高目標樣本故障分類準確率的效果。
同時,在DBN遷移學習的訓練過程中,需要多次實驗才能獲得較好的超參數(網絡層數、神經元個數等),在后續研究中,我們將研究面向行星齒輪箱故障診斷的網絡超參數設置策略。