修嘉蕓,谷玉海,任 斌,王紅軍
(1.北京信息科技大學 現代測控技術教育部重點實驗室,北京 100192;2.北京航天長征飛行器研究所,北京 100076)
滾動軸承是一種應用非常廣泛的機械零件,同時也是機器中最容易出現故障的零件之一,如果滾動軸承出現故障,將對整個機械的正常運行產生嚴重的影響。所以,能夠及時、準確地識別滾動軸承故障狀態,對保持機器運轉的穩定、安全具有重要意義[1-11]。近幾十年來,隨著對故障診斷理論研究的不斷深入,不同學者提出了各種故障診斷的研究方法,如BP神經網絡[1]、概率神經網絡(probabilistic neural network,PNN)[2]、小波分析[3]、EMD[4]、集合經驗模態分解(ensemble empir icalmode decomposition,EEMD)[5]、奇異值分解(singular value decomposition,SVD)[6]等。目前基于機器學習的故障診斷方法主要有Logistic回歸[7]、支 持 向 量 機 (support vector machine,SVM)[8]以及人工神經網絡(artificial neural net work,ANN)[9]、模糊推斷[10]。
近幾年,隨著人工智能的快速發展,深度學習在圖像識別、語音識別等方向的應用日益廣泛,同時深度學習在故障診斷領域的應用越來越成為研究的熱點[12]。溫江濤等[13]采用隨機高斯矩陣的方法對軸承信號進行變換域壓縮采集,并將處理后的信號作為深度神經網絡的輸入實現故障的智能診斷與識別;張淑清等[14]采用結合雙樹復小波(dual tree complex wavelet transform,DTCWT)與深度信念網絡(deep belief network,DBN)的滾動軸承故障診斷的方法,用DTCWT對信號進行分解,將獲得的能量熵作為故障診斷的特征,利用DBN模型對故障類型進行識別。
雖然深度學習在故障診斷領域已經獲得了廣泛的應用,但是由于深度學習需要大量的訓練數據,所以在沒有足夠數據的情況下難以取得令人滿意的結果。并且由于卷積神經網絡(convolu tional neural networks,CNN)的初衷是用來對二維圖片進行分類的網絡,目前如何將一維時域振動信號轉換為二維圖像是基于卷積神經網絡的研究熱點。如Chang等[15]針對局部弱特征信息,提出了一種基于變分模態分解(variationalmode decom position,VMD)、奇異值分解(singular value decom position,SVD)和CNN的行星齒輪特征提取與故障診斷方法,利用VMD將原始振動信號分解為模態分量,將模態矩陣劃分為多個子矩陣,利用奇異值分解法將每個子矩陣中包含的局部特征信息提取為奇異值向量。根據各子矩陣的位置構造對應于當前故障狀態的奇異值向量矩陣。最后,利用奇異值向量矩陣作為輸入訓練CNN,實現了行星齒輪故障狀態的識別和分類。實驗結果表明,該方法能夠有效地提取局部弱特征信息,準確地識別不同的故障。Sheng等[16]提出了一種利用CNN直接對連續小波變換(continuous wavelet trans form,CWT)進行分類的診斷方法。該方法利用小波變換對旋轉機械的振動信號進行不同尺度的分解,從而形成小波變換。訓練CNN進行故障診斷,輸入CWTS。結果表明,該方法能較準確地診斷故障。
由于上述基于深度學習的故障診斷具有2個限制,即:海量訓練數據、訓練數據集內的樣本為類似于圖片的二維數據。因此,本文中提出一種基于遷移學習和長短期記憶網絡(long short term memory,LSTM)的滾動軸承故障診斷,構建一種CNN與LSTM結合的深度學習網絡,將訓練數據輸入,對此網絡中的相關參數進行訓練。然后對此網絡進行fine tune調參,調整全連接層與soft max層的相關參數,從而完成整個深度學習網絡框架。
滾動軸承故障在時域圖中一般是周期性的,然而每種軸承故障時域圖周期是不確定的,因此,所提出的網絡應該能夠處理這種長度可變的信號。故提出一種CNN和LSTM相結合的混合式深度學習網絡模型,其網絡架構見圖1,相關參數見表1。結構的第1層到第6層是與池化層連接的卷積層,而第7層是LSTM層。在網絡的最后是一系列全連接層,用于預測輸出。卷積層有助于提取空間特征圖,隨后的LSTM層有助于模型捕捉這些特征圖中存在的時間動態[17]。故障的分類取決于通過全連接層的最終LSTM單元的輸出。
由于心電圖數據比較容易獲得,故首先使用心電圖對圖1所示模型進行預訓練,然后將訓練后的模型中的前面的卷積層的參數固定,將滾動軸承故障數據輸入整個網絡,只調整后面網絡中的全連接層,最后得到完整的網絡模型。
圖1 CNN LSTM網絡架構框圖
表1 CNN LSTM模型相關參數
心電圖實驗數據來源于PhysioNet公共數據集[18],滾動軸承故障實驗數據來源于美國凱斯西儲大學軸承數據中心的軸承數據集[19]。其中,在心電圖實驗數據中,共記錄47名受試者的48份心電圖。麻省理工學院波黑分校的每一段記錄都以360 Hz的頻率數字化,并附有1組在R峰呈現的節拍標簽。這些標簽由多個心臟病專家獨立標注,并通過相互協商解決診斷上的差異。將不間斷的心律失常節拍序列按照對應的心律失常類型進行劃分,每個節段只有1個心電圖節拍類型,相關參數如表2所示。由于不同節段之間的樣本長度不同,為了使模型的輸入長度標準化并減少不必要的訓練時間,將較長的片段從末尾任意截短到每個1 000個采樣點,不足1 000個采樣點的片段用零填充。累計共截短2 963段,補零13 535段。
表2 心電圖片段及相應的樣本參數
滾動軸承數據試驗平臺包含1個2 hp的電機(左側)(1 hp=746 W)、1個轉矩傳感器(中間)、1個負載電機以及其他相關元件,采用電火花加工技術在軸承上布置了單點故障,損傷直徑為了0.177 8 mm,損傷深度為2.794 mm。具體的軸承故障類型和實驗結果如表3所示。
表3 軸承故障類型和實驗結果
使用python語言和Tensorflow框架數據進行處理,計算機的硬件和軟件具體配置如表4、5所示。
表4 硬件配置環境參數
表5 軟件配置環境參數
首先用心電圖片段數據對整個網絡結構進行訓練,為了進一步加快訓練過程,對輸入數據Z值進行歸一化,消除偏移效應,并對心電信號幅度進行標準化[20]。這改善了網絡中的梯度下降,從而有助于加快收斂速度。對數據以交叉驗證的方式進行訓練,將數據十等分,對心電圖各節段進行隨機混合。90%的心電圖片段用于訓練CNN LSTM網絡,剩下的10%用于測試系統的性能。為了監控訓練過程,防止模型過度擬合,在每個訓練周期結束時,使用本次訓練中剩下20%的未訓練數據來驗證模型的性能。訓練后此網絡類間平均準確率為98.42%,網絡模型的訓練和驗證曲線如圖2所示。
圖2 網絡模型的訓練和驗證曲線
然后將此網絡的卷積層和LSTM層的參數固定,將軸承數據輸入進行訓練,只改變連接此網絡LSTM層的2個全連接層的權重以及最后的全連接層的分類類別與數量。按照與上一步驟中相同數據分配方式進行訓練,經過100輪epoch后最終的類間平均準確率為97.56%,訓練準確率曲線如圖3所示,驗證準確率曲線如圖4所示。
圖4 驗證準確率曲線
為證明本文的方法比傳統故障診斷方法更能有效地識別軸承的故障類別,將本文的方法和參考文獻[21]中采用BP和PNN方法的分類準確率進行對比,結果如表6所示。
表6 類間平均準確率 %
通過表6可以看出,本文中提出的基于LSTM與遷移學習的滾動軸承故障診斷方法能夠實現很高的準確率。在正常狀態圖片的正確分類準確率最高,準確率為100%,這是由于正常狀態下的滾動軸承的特征非常明顯,容易被1 D卷積神經網絡的分類器識別。其中內圈故障和滾動故障狀態下的故障相似度較高,在識別過程中混淆相對較多,準確率相對較低,但也達到了96%以上。總體故障分類準確率達到了97.69%,能夠有效地檢測各類故障。然而傳統的BP和PNN方法無論是在單項故障識別效果還是整體故障識別效果都略遜色于本文中所提出的基于LSTM+遷移學習的滾動軸承故障診斷方法。
BP與PNN測試結果較差主要是由訓練樣本不足所導致的,這也是深度學習的缺點之一,隨著網絡層深度的增加,需要的訓練集數據量呈指數型增長,而本文中所設計網絡結構中采用的CNN與LSTM都有權重共用的結構,這使得訓練集數據需求量減少。更重要的原因是,本文中使用了一種基于遷移學習的訓練方式,先將此網絡結構在與目標域訓練集有相似特征和相同分布的心電圖數據集中進行預訓練,然后用目標域數據即少量的軸承振動數據對幾個特定的網絡層進行訓練,這在一定程度上相當于增加了訓練集數據量,因此本文中所提出的方法能夠獲得一個較高的準確率。
提出了一種基于LSTM與遷移學習結合的智能故障診斷方法,將普通卷積核轉化為特定的一維卷積核,并加入長短期記憶網絡,以遷移學習的方式進行訓練。實驗證明:采用的基于LSTM與遷移學習的滾動軸承故障診斷方法整體上能夠達到96.69%的識別準確率,高于傳統的BP方法的識別準確率73.7%和PNN 方法的識別準確率93 7%,體現了較好魯棒性和準確性。說明所采用方法具有可行性,為小樣本訓練數據集采用CNN等深度學習方式進行故障診斷提供了新的思路,在可用的故障振動數據量較少的情況下,運用本文中所述方式同樣可以對故障進行分類診斷,并且能夠保持一個較高的準確率。