賈美霞,韓寶坤,王金瑞,張 驍,郭 雷,趙偉濤
(1.山東科技大學機械電子工程學院,山東 青島 266000;2.特雷克斯(常州)機械有限公司,江蘇 常州 213022)
滾動軸承作為旋轉機械設備的關鍵部件,一旦出現故障極易引發事故。實際工程中滾動軸承發生故障的類型多種多樣,軸承失效會影響整個機械系統的正常運行,因此對軸承進行故障診斷和狀態監測具有重要的意義[1]。研究人員一直致力于找到合適的方法進行故障診斷并預警,早期的故障診斷方法需要對檢測數據進行手動特征提取,如經驗模態分解[2]、小波分解[3]、信息熵[4],根據先驗知識進行特征對比來識別故障,制約了識別率的提高。
近年來,隨著深度學習技術的發展,深度學習在滾動軸承故障檢測診斷中的應用取得了成功。如:唐立力等[5]利用遺傳算法進行BP神經網絡的權值和閾值優化,實現故障診斷。李晴晴等[6]基于改進的Dropout方法構建自編碼網絡模型,采用逐層貪婪算法提取高維數據的有效特征。徐活耀等[7]基于堆棧稀疏自編碼器和Softmax 層構建的深度神經網絡,通過逐層貪婪學習從振動信號中提取時域特征構建特征向量和高級特征。上述文獻表明,深度學習具有強大的表征能力,能有效提取振動信號的特征,解決軸承故障診斷問題,但是對于不同工況軸承故障診斷的泛化能力不夠。
遷移學習是近年來人工智能領域的一個重大突破,旨在運用已有的知識解決相關但不完全相同領域中的問題[8]。遷移學習能減小領域數據的分布差異,能夠利用原有的模型解決工況改變后樣本數據不帶標簽和少樣本的問題。安增輝等[9]利用域適應方法度量不同域數據特征分布的相似性,提高模型的泛化性,實現了不同工況下滾動軸承故障診斷。張振良等[10]提出一種基于遷移學習的半監督集成學習器,分別遷移不同目標空間的高相似度樣本加入到源樣本空間進行訓練。趙宇凱等[11]將軸承原始振動信號數據用轉圖像方法進行處理,利用VGG16卷積神經網絡與遷移學習實現故障診斷。上述研究內容實現單一工況改變條件下軸承故障診斷,不能同時解決單一與多工況都改變條件下的問題和小樣本目標域的問題。
結合上述遷移學習的應用,為了解決單一及多工況都改變條件下無標簽故障類型和少樣本的分類問題,本文提出一種基于遷移堆棧自動編碼器的軸承故障診斷方法。該方法采用帶標簽的源域數據預訓練堆棧自編碼器分類模型,得到相應的模型參數并加以微調,利用多核最大均值差異作為評價源域和目標域的距離指標,對單一及多工況改變和少樣本的目標域數據集進行故障診斷,能取得較好的分類效果。
自編碼器(Auto-Encoder,AE)一種無監督的神經網絡,它通過提取高維抽象特征達到降維的目的。AE由輸入層、隱層、輸出層(重構數據)3層網絡結構組成。其中輸入層到隱層的正向傳導稱為編碼(Encoder),隱層到輸出層的正向傳導稱為解碼(Decoder),隱層主要起到特征提取的作用,自編碼器網絡結構如圖1 所示。AE 的目的是盡可能地通過輸入數據的重構以獲得代表性的特征表示,其基本公式為如式(1)至式(3)所示。

圖1 自編碼器結構圖
AE的編碼過程:

AE的解碼過程:

AE的損失函數:

其中:f(·)為編碼器函數,g(·)為解碼器函數,W1為編碼器權重,b1為編碼器偏置,W2為解碼器權重,b2為解碼器偏置,M為輸入樣本維數,xi表示輸入數據,xi表示輸出重構數據。
堆棧自編碼器(Stacked Auto Encoders,SAE)是以AE 為基本模型構建的一種深度全連接前向神經網絡。一個n層SAE 就是先訓練出一個自編碼器,然后使用該編碼器的編碼輸出部分作為第二個編碼器的輸入,繼續訓練下一個自編碼器,以此類推。最后采用Softmax分類層[12],其神經元個數與故障類別數相同,以(x1,…,xi,…,xm)為輸入,其網絡結構如圖2所示。

圖2 SAE網絡結構圖
一個n層SAE的每一個編碼過程如下:

一個n層SAE的每一個解碼過程如下:

其中:hl表示編碼的輸出值,hnl+l表示解碼的輸出值,f(·)表示編碼函數,g(·)表示解碼函數,hl-1表示編碼層的輸入,hhl+l-1表示解碼層的輸入,Wl、bl表示編碼層參數,Whl+l、bnl+l表示解碼層參數。
輸出層采取Softmax 多層進行分類,類型的標簽有k個,樣本中包括m個訓練樣本,即目標函數采用交叉熵的形式:

其中,1{·}表示指示函數,y(i)=j為樣本的條件概率,當成立時返回1,不成立返回0,θ表示所有參數的集合。
最大均值差異(Maximum mean discrepancies,MMD)是一種非參數度量,用于衡量兩個分布差異性的重要指標,可以簡單理解成兩個不同分布的特征在樣本空間連續函數上的期望。給定兩個樣本足夠多數據分布s和t,通過映射函數f(?)來計算兩域的MMD:

其中:F表示樣本空間上函數集合,f(?)表示樣本空間上的連續函數,Xs和Xt分布表示s和t上的特征,E代表求期望。MMD越大說明分布的差異性越大。
Gretton 等[13]在研究中證明當F是通用再生希爾伯特空間單位球內的一系列函數時,可使式(7)得到一定程度的簡化,簡化形式為:

其中:φ(?)為特征空間到希爾伯特空間?的映射,ns和nt分別是s和t的樣本大小。
低維空間線性不可分通過非線性映射映射到高維空間時可能實現線性可分,但是極易出現“維數災難”,核函數k(Xs,Xt)能很好解決這一問題[13-14]。將核函數的公式代入(8)中可展開MMD,表達式為:

多核最大均值差異(Multi-kernel maximum mean discrepancies,MK-MMD)是MMD 的延伸。采用單一的核函數處理分布不均衡的數據時,其效果通常不夠理想[15]。為改變這一狀況,本文采用多個高斯徑向基核函數進行組合,達到獲取最佳特征映射的目的。
通過SAE對帶標簽源域S=進行訓練,源域xsi通過SAE 模型后轉化為重構數據xsi,隱含層特征經過Softmax后轉化為分類數據osi,通過其損失函數Lce的迭代訓練,得到源域故障分類。通過SAE 對不帶標簽目標域T={xt,…,xti,…,}xtM進行訓練得到隱含層的特征。
通過構造多核函數將源域和目標域的數據映射到一個再生的希爾伯特空間,用于縮小數據的分布差異。其公式為:

其中:k表示核函數的個數,Hsi、Hti是源域和目標域第i層向量特征,λi是調節參數,ep表示迭代次數。
通過MK-MMD 損失函數Ld的迭代減小源域和目標域的隱含層特征的分布距離,采用多個核函數計算前三層源域和目標域的距離。

聯立式(6)和式(12)可得總的損失函數為:

本文提出的基于遷移堆棧自編碼器的軸承故障診斷方法的總框架分為兩部分:SAE 模型訓練分類和MK-MMD遷移,所提出方法的主要步驟如下,其結構如圖3所示。

圖3 遷移堆棧自編碼器網絡結構圖
(1)采集不同工況下模擬試驗臺的數據,對采集到的數據進行快速傅里葉轉換,把轉換后的數據分類成源域數據和目標域數據。
(2)采用SAE 網絡對帶標簽源域數據進行分類,為防止過擬合在前三層加入Dropout層并逐層加入批標準化(BN)層。
(3)把不帶標簽的目標域網絡放入訓練好的SAE 網絡,使用前三層用于測量源域和目標域隱含特征的分布差異。
(4)通過隨機梯度下降優化對損失函數L(θ;xs,ys,xt)的參數進行迭代更新,最終確定目標域的分類結果。
為了檢驗基于遷移堆棧自動編碼器的軸承故障診斷方法在不同工況下故障診斷的結果,設計了一個模擬軸承故障的實驗平臺,如圖4(a)所示。該平臺主要有電動機、轉盤、軸承座、齒輪箱和制動器組成。
收集到的數據集包括9種健康狀況:正常(NC)、外圈故障(OF 0.2 mm、OF0.4 mm)、內圈故障(IF0.2 mm、IF0.4 mm)、滾珠故障(RF0.2 mm、RF0.4 mm)、混合故障(ROF0.2 mm、ROF0.4 mm),其狀況類型如圖4(b)所示。本文選取1 個數據集作為源域,用DS 表示。選取3個數據集作為目標域,分別用DT1、DT2、DT3 表示,其工況描述如表1 所示。從表1 可以看出,與DS相比較,DT1僅載重工況改變,DT2僅轉速工況改變,DT3為轉速和載重工況同時改變。

圖4 模擬試驗臺及其故障狀況

表1 源域和目標域數據描述
在模擬試驗臺上采集原始振動信號,抽取每種健康狀況的信號200 段,每段包括2 400 個樣本點。對樣本進行快速傅里葉變換將其轉換為頻域信號,樣本長度為1 200 維。本文設計的SAE 網絡結構維數為[1 200,600,200,100,9],在SAE 隱含層加入Softmax 層,除最后分類層外,其余采用ReLU 作為激活函數,學習率為0.001,采用批訓練方法,共訓練400 次。對于通過SAE 的前三層基于MK-MMD 測量源域和目標域的距離。
對充足數據樣本DS-DT1 進行遷移訓練,隨著優化的進行MK-MMD 測量層的損失函數都在減小,兩域的分布距離都在下降,三層MK-MMD損失函數和準確率優化曲線如圖5所示。其中Ld1、Ld2、Ld3 分別表示第一層、第二層、第三層MMD 測量函數損失值,Acctrain、Acctest 分別表示源域和目標域的準確率。

圖5 優化函數損失值和準確率對比圖
為避免偶發性,所有的遷移模型均執行15次重復試驗。DS-DT1的分類平均準確率為99.4%,其混淆矩陣如圖6(a)所示。DS-DT2 遷移的分類平均準確率為99.1 %,其分類的混淆矩陣如圖6(b)所示。為形象展示,采用一種非線性降維算法即t-SNE 算法[16]對所有故障類型訓練樣本的高維特征向量分別進行降維處理,基于DS-DT1得到可視化映射見圖7(a),基于DS-DT2得到可視化映射圖見圖7(b)。圖中S-表示DS域故障類型,T-表示DT1域故障類型。
通過圖6 和圖7 可以看出對于9 種健康狀況,DS-DT1、DS-DT2 對正常(NC)和單一的故障類型(IF、OF、RF)分類準確。對于混合故障(ROF),DSDT1的分類準確率為0.987和0.999,DS-DT2的分類準確率為0.994 和0.993,雖略有差異但都表明分類效果較好。
DT3 對應轉速和載重雙工況同時改變的情況,對DS-DT3進行遷移,其準確率平均為96.8%,其分類的混淆矩陣如圖8 所示。與圖6 中的混淆矩陣進行對比,由圖8 可知DS-DT3 遷移混合故障(ROF)分類和單一故障(IF0.4、RF0.4)分類出現差異,但結果依然令人滿意。

圖6 混淆矩陣對比圖

圖7 降維可視化對比圖

圖8 DS-DT3遷移混淆矩陣
當數據集的樣本較少時,在進行模型訓練時不能充分提取數據集的隱含特征,極易出現過擬合[17]。由于采用少樣本訓練的模型泛化能力差,在進行未知特征提取時,模型不再適用,本文提出的模型將能有效解決這個問題。分別選取DT1 的5 %、10 %、20%、50%、100%進行遷移學習,每種情況訓練15次,取平穩后的50 次的平均值,其目標域準確率如表2 所示。從表2 可以看出模型在目標域訓練樣本較少情況下,依然能達到比較準確的分類效果。

表2 少樣本條件下目標域準確率
由表2可知,基于100%目標域數據集的平均準確率為99.4 %,基于5 %目標數據集的準確率為95.2%。可以看出隨著樣本的減少準確率的平均值和標準差降速平穩。
堆棧自編碼器網絡作為一種深度學習的模型,具有強大的中間特征提取能力,能夠很好提取數據集的特征。但是在實際工程中,帶有標簽的數據通常是稀缺的,且采集的健康狀況數據通常不充足。數據的不充足在深度神經網絡強大的表征能力下極易導致過擬合現象的產生。提出的基于遷移堆棧自編碼器的軸承故障診斷方法能很好解決這兩個問題。實驗表明不論單一工況改變還是雙工況同時改變,在進行遷移時采用該方法都能取得較好的分類效果。即使樣本在不充足情況下,采用該方法進行遷移依然能取得較好的分類效果。