周奇才,沈鶴鴻,趙 炯,劉星辰
(同濟大學 機械與能源工程學院,上海 201804)
在制造業(yè)里有這樣一句話,“凡是轉動的地方,都需要用到軸承.”軸承作為當代機械設備的重要零部件,不僅能支撐機械旋轉體,降低機械旋轉體運動過程中的摩擦系數(shù),還能保證機械旋轉體回轉精度.軸承的工作環(huán)境通常比較惡劣,高速、高載、高溫不斷考驗著軸承的穩(wěn)定性,一旦軸承出現(xiàn)故障,就會對整機運行產(chǎn)生巨大影響,甚至造成災難性事故.因此,對軸承進行故障診斷是保證機械設備正常運行的重要手段,對于保障人身及財產(chǎn)安全均具有重大的意義.
現(xiàn)階段已有很多針對軸承故障診斷的研究成果.Zhang等[1]基于自回歸模型提取時域特征,并通過優(yōu)化后的人工神經(jīng)網(wǎng)絡實現(xiàn)故障識別.Yu[2]提取了振動信號的時域、頻域和時頻特征,并以此為基礎通過動態(tài)主成分分析選取有效特征,然后利用隱馬爾可夫的馬氏距離模型實現(xiàn)了對健康狀況的評估.王舒瑋[3]將小波變換替代傅里葉變換對故障信號進行分解,之后對分級的細節(jié)信號和近似信號進行Hillbert包絡頻譜處理,以此進行滾動軸承故障診斷.陶潔等[4]先用Teager能量算子提取滾動軸承振動信號中的瞬時能量來構造特征向量,之后采用深度置信網(wǎng)絡進行故障診斷.Shen等[5]提出了一種時域自適應變尺度形態(tài)學分析法,并將其應用于脈沖局部峰值的分析.以上方法都有一個共同點,就是要人工提取特征,而這會引入主觀因素,進而影響整個故障診斷的可靠性,同時由于提取的特征僅針對特定問題,導致方法的可推廣性不高.深度學習具有極強的非線性擬合能力,能夠不受人工干預而自動提取特征,并且所得模型具有較好的可靠性與泛化能力,因此在軸承故障診斷領域得到了一定的關注.
深度學習中受到眾多學者青睞的有卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)和棧式自編碼器(SAE).Janssens等[6]采用單層卷積層進行軸承故障診斷,取得了93.16%的準確率.侯文擎等[7]利用粒子群算法對降噪自編碼器超參數(shù)進行自適應選取,而后輸入到softmax分類器中進行軸承故障分類,取得了97.33%的準確率.Wang等[8]提出自適應卷積神經(jīng)網(wǎng)絡,在模型自動學習特征后利用粒子群算法進行超參數(shù)尋優(yōu),之后對滾動軸承進行故障診斷,并在六組對比試驗中均取得了良好的效果.實際上,滾動軸承的振動信號屬于時序數(shù)據(jù),在以上方法中最適合處理時序數(shù)據(jù)的是循環(huán)神經(jīng)網(wǎng)絡,它能夠在訓練時繼承過去時間步的特性,由過去的特征以及現(xiàn)在的特征共同做出決策,但是相比其他方法,它的梯度除了沿空間結構傳播,還要沿時間通道傳播,當計算量增大時極易造成梯度消失,導致模型的訓練無法正常進行.為了解決該問題,莊夏[9]提出先通過離散小波變換提取特征而后建立循環(huán)神經(jīng)網(wǎng)絡模型,Cui等[10]利用快速傅里葉變換將時域信號變換為頻域信號進而提取特征,并進行循環(huán)神經(jīng)網(wǎng)絡模型訓練,陳再發(fā)等[11]通過經(jīng)驗模態(tài)分解提取特征并引入長短記憶網(wǎng)絡.
將循環(huán)神經(jīng)網(wǎng)絡進行堆疊,并將網(wǎng)絡中的簡單神經(jīng)元用門控循環(huán)單元(GRU)代替,提出了四層網(wǎng)絡結構的改進堆疊式循環(huán)神經(jīng)網(wǎng)絡(ISRNN)診斷模型,在充分發(fā)揮循環(huán)神經(jīng)網(wǎng)絡處理時序數(shù)據(jù)優(yōu)勢的前提下,克服了經(jīng)典循環(huán)神經(jīng)網(wǎng)絡訓練過程中的梯度消失問題.最后,利用美國凱斯西儲大學軸承數(shù)據(jù)集對所提出模型進行了驗證.
循環(huán)神經(jīng)網(wǎng)絡是指在普通全連接神經(jīng)網(wǎng)絡的基礎上引入時間通道的神經(jīng)網(wǎng)絡,因此循環(huán)神經(jīng)網(wǎng)絡在處理當前信息時,會考慮前面出現(xiàn)過的信息,相比于人工神經(jīng)網(wǎng)絡的不同樣本之間相互獨立的特性,循環(huán)神經(jīng)網(wǎng)絡更注重于挖掘樣本之間的時序關聯(lián).本研究所采用的都是輸入與輸出神經(jīng)元數(shù)量不均等的多對多神經(jīng)網(wǎng)絡結構.圖1所示為循環(huán)神經(jīng)網(wǎng)絡單層結構.其中,x1,x2,…,xn是輸入,o1,o2,…,om是輸出,h0,h1,…,hi是隱層狀態(tài),起到沿時間通道傳播的作用.另外,在循環(huán)神經(jīng)網(wǎng)絡結構中,相同類型節(jié)點的權重值在不同時間步是共享的,也就是說任意時間步輸入層到隱層的權重U、隱層到輸出層的權重V、隱層狀態(tài)之間的權重W都是相等的.
圖1 多對多循環(huán)神經(jīng)網(wǎng)絡模型結構
隱層狀態(tài)的引入使得網(wǎng)絡能夠在不同時間步之間傳遞信息,進而更好地針對時序數(shù)據(jù)進行判斷.循環(huán)神經(jīng)網(wǎng)絡的訓練使用的是梯度下降法,也就是在優(yōu)化目標函數(shù)時,沿著負梯度方向減小函數(shù)值,以達到優(yōu)化目的.這里的目標函數(shù)為交叉熵損失函數(shù),計算式如下所示:
Lt(yt,ot)=-ytlogot
式中:yt和ot分別為t時刻的真實值及輸出值.以o2為例,根據(jù)鏈式法則,在時間軸上的梯度為
注意到,hn+1=φ(Whn)依賴于hn,并且hn=φ(Whn+1+Uxn)仍依賴于hn-1,W在每一時間步的計算中都被用到,因此在計算梯度時需要反復反向傳播到h0時刻.同時,由于梯度導數(shù)的絕對值總是被限制在1以內,當梯度傳播次數(shù)足夠大時,整個時間軸上的梯度就會無限接近于零,因此造成梯度消失的現(xiàn)象,導致模型參數(shù)無法繼續(xù)更新.為了解決這個問題,長短期記憶網(wǎng)絡[12]以及門控循環(huán)單元[13]等方法相繼被提出,并取得了一定的成效.
門控循環(huán)單元旨在解決標準循環(huán)神經(jīng)網(wǎng)絡的梯度消失問題,它代替了循環(huán)神經(jīng)網(wǎng)絡隱層的標準計算方法.門控循環(huán)單元有兩個門,一個是更新門,一個是重置門.更新門用來決定前面記憶保存到當前時間步的量,重置門用來決定如何將新的輸入與前面的記憶相結合,這兩個門控向量決定了哪些信息最終能夠作為門控循環(huán)單元的輸出[14].循環(huán)神經(jīng)網(wǎng)絡中每個隱藏單元都有各自的更新門和重置門,用來捕獲對于時間尺度的依賴程度.
zt=φ(Wzxt+Uzht-1)
rt=φ(Wrxt+Urht-1)
式中:φ為激活函數(shù),可以調節(jié)門的開閉程度.另外,通常取h0=(0,0,…,0).
圖2 門控循環(huán)單元結構
更新門的值越大,說明前一時刻的狀態(tài)信息保留的越多;重置門的值越小,則說明忽略的信息越多[15].通過重置門和更新門,門控循環(huán)單元可以長期保存序列中的信息,相關信息不會隨時間而清除或因與預測不相關而移除,并且傳遞到下一個神經(jīng)元,因此避免了梯度消失的問題.此外,因為門機制的存在,即通過重置門和更新門來控制哪些信息需要被保留,哪些信息需要被遺忘,這能夠在訓練過程中弱化噪聲及調制所產(chǎn)生的負面影響,使得整個模型更好地自發(fā)學習到振動信號中需要被保留的特征.
基于循環(huán)神經(jīng)網(wǎng)絡以及門控循環(huán)單元,提出改進堆疊式循環(huán)神經(jīng)網(wǎng)絡軸承故障診斷模型.通過對門控循環(huán)單元和循環(huán)神經(jīng)網(wǎng)絡的合理堆疊來完成振動信號特征的自適應提取,同時有效防止訓練過程中梯度消失現(xiàn)象,進而通過全連接神經(jīng)網(wǎng)絡以One-Hot編碼的形式給出故障診斷結果.
圖3為改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型的結構.除了輸入層以外,模型還有四層,分別是三個GRU-RNN層,以及一個softmax層,每一層的輸出信號作為下一層的輸入信號.輸入層接收軸承振動信號,然后經(jīng)過三個連續(xù)的GRU-RNN層將輸入映射到不同維度,從而自動提取特征,三個GRU-RNN層均采用ReLU(rectified linear units)激活函數(shù).對于改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型,因為GRU-RNN層內時間通道的存在使得振動信號能夠沿時間步關聯(lián),又由于GRU單元的特性有效防止模型在訓練過程中發(fā)生梯度消失.三個GRU-RNN層訓練得到的特征信號通過一個全連接網(wǎng)絡輸入到softmax層,也就是模型的輸出層,然后通過softmax層的處理輸出One-Hot編碼,得到故障類型.
圖3 改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型結構
模型輸入層接收的是軸承原始振動信號,為了在得到大量樣本的基礎上保持樣本的連續(xù)性,故采用滑窗的方式進行樣本構造.圖4為一段軸承振動的原始信號,每次取得一個固定長度的樣本后,滑窗移動固定步長,然后獲取下一個樣本.需要注意的是,這里的滑窗長度應不低于軸承旋轉一周的時間,以此確保樣本構造的有效性.同時,為了保證任意一段振動數(shù)據(jù)都不會在三個樣本同時出現(xiàn),滑窗的移動步長應不低于滑窗長度的0.5倍.表1為除了滑窗的移動步長外所有參數(shù)均保持一致時得到的軸承故障診斷準確率.從表1可見,移動步長對診斷準確率的影響極其有限,因此取移動步長為滑窗長度的0.8倍,以滿足試驗時構造足夠多的故障樣本的需求.
圖4 滑窗法樣本構造
模型的建立過程也就是對確定結構的模型進行訓練,使之可以在實際應用中發(fā)揮作用的過程.整個流程如圖5所示.為滑窗法構造的振動信號樣本集以One-Hot編碼的形式建立對應的軸承狀態(tài)標簽集,然后將所有的帶標簽樣本隨機打亂,按照一定的比例劃分為訓練集和測試集;初始化模型參數(shù),利用訓練集數(shù)據(jù)對模型進行一輪訓練并對結果進行判斷,如模型未達到預定目標并且未達到指定訓練輪數(shù)則再次進行一輪訓練,如此反復直至達到預定目標或迭代輪數(shù)已達到指定訓練輪數(shù);利用測試集數(shù)據(jù)對模型的性能進行評估,如滿足既定要求便可用來診斷軸承故障類型,否則對模型的各項參數(shù)指標進行優(yōu)化,并重新訓練.這里的既定要求指測試集準確率達到工程中可以接受的數(shù)值,同時測試集準確率與訓練集準確率的差值在可以接受的范圍內.例如,測試集準確率達到98%的同時與訓練集準確率的差值不超過1%.
表1 不同移動步長下軸承故障診斷準確率
圖5 改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型建立與訓練過程
一旦模型完成訓練,那么在工況相當?shù)那闆r下,該模型就可用于同規(guī)格零部件的故障診斷.以減速箱為例,當某一特定規(guī)格減速箱的軸承故障診斷模型完成訓練后,針對任意同種規(guī)格減速箱,都可以在整個生命周期中使用訓練好的模型進行軸承故障診斷,而無需重新獲取新的故障樣本.
為了驗證所提模型的可行性與有效性,采用美國凱斯西儲大學軸承數(shù)據(jù)集[16]分別對滾動軸承的滾動體、軸承內圈、軸承外圈的故障信號進行故障識別試驗.
試驗臺主要由一臺1.47 kW的電機、一個轉矩傳感器、一個功率計和其他控制設備等組成,被測試的滾動軸承為SKF6203-2RS深溝球軸承.振動信號通過16通道的記錄器采集,采樣頻率為12 kHz,轉速為1 730 r·min-1.
本次試驗將滾動軸承工作狀況分為正常工作狀態(tài)、滾動體故障狀態(tài)、軸承內圈故障狀態(tài)以及軸承外圈故障狀態(tài).針對滾動體故障狀態(tài)、軸承內圈故障狀態(tài)以及軸承外圈故障狀態(tài),按照點蝕直徑的大小分別劃分為0.18、0.36、0.53 mm三個級別,即每種類型的故障狀態(tài)按照點蝕程度又細分為三種軸承工作狀態(tài),加上正常工作狀態(tài)總計10種軸承工作狀態(tài).所有故障狀態(tài)的點蝕深度均為0.28 mm.如表2所示,按照滑窗法,取軸承轉動一圈所產(chǎn)生的約400個點為滑窗長度,各構造1 000個樣本,并以One-Hot編碼的形式打上標簽,打亂順序后分別按9∶1、8∶2、7∶3、6∶4和5∶5的比例劃分為訓練集和測試集,觀察并討論試驗結果.
表2 滾動軸承樣本
圖6為軸承10種工作狀態(tài)的時域波形圖.可以看出,波形很難直接分辨,難以區(qū)分故障類型及損傷程度.
a 正常軸承
b 滾動體點蝕直徑0.18 mm
c 滾動體點蝕直徑0.36 mm
d 滾動體點蝕直徑0.53 mm
e 內圈點蝕直徑0.18 mm
f 內圈點蝕直徑0.36 mm
g 內圈點蝕直徑0.53 mm
h 外圈點蝕直徑0.18 mm
i 外圈點蝕直徑0.36 mm
j 外圈點蝕直徑0.53 mm
為了驗證所提模型可以有效區(qū)分滾動軸承的故障狀態(tài),也為了體現(xiàn)該模型在診斷精度上的優(yōu)勢,除了ISRNN以外,還設計了支持向量機(SVM)、粒子群算法優(yōu)化的支持向量機[17](PSO-SVM)、BP網(wǎng)絡、卷積神經(jīng)網(wǎng)絡經(jīng)典結構AlexNet[18]和經(jīng)典RNN作為對比.SVM、PSO-SVM和BP網(wǎng)絡采用sklearn庫實現(xiàn),AlexNet、RNN和ISRNN采用以TensorFlow為后端的Keras庫實現(xiàn),所有模型運行的軟件環(huán)境均為Jupyter Notebook,硬件環(huán)境均為E3-1230 V2處理器和GTX 1050Ti顯卡.
所有模型的輸入層均是維度為400的滾動軸承診斷信號,經(jīng)過多次試驗取最優(yōu)超參數(shù),ISRNN第1個GRU-RNN層采用500個神經(jīng)元,第2個GRU-RNN層采用200個神經(jīng)元,第3個GRU-RNN層采用50個神經(jīng)元,三層的激活函數(shù)都是ReLU激活函數(shù).全連接層采用10個神經(jīng)元,并采用softmax激活函數(shù)進行分類.SVM采用徑向基核函數(shù),懲罰參數(shù)為100,gamma為特征數(shù)量的倒數(shù)即1/400,構造多分類器的方法為多元分類法;BP網(wǎng)絡采用神經(jīng)元數(shù)量為500的全連接層,加上softmax分類器.AlexNet為一維經(jīng)典模型.試驗結果如表3所示,其中準確率均為六次試驗結果的平均值.
表3 不同算法滾動軸承故障診斷試驗結果
根據(jù)表3可以看出,不論訓練集和測試集以何種比例劃分,ISRNN、PSO-SVM和AlexNet在訓練集上都取得了98%以上的準確率,表現(xiàn)令人滿意.隨著訓練集數(shù)據(jù)占比的下降,各種方法的測試集準確率均有所下降,但ISRNN和AlexNet仍能夠保持在97%以上.當訓練集占比為90%時,ISRNN和AlexNet在測試集上的準確率分別為99.2%和98.6%,當訓練集占比為50%時,ISRNN和AlexNet在測試集上的準確率分別為98.1%和97.6%,可見它們在測試集上具有良好的泛化能力.PSO-SVM在測試集上的準確率則稍遜一籌,并且隨著訓練集占比減少而下降速度較快,在訓練集占50%時測試集準確率降至85.2%.SVM和BP網(wǎng)絡在各組試驗中表現(xiàn)均差強人意,它們的訓練集準確率都沒有超過95%,測試集準確率隨著訓練集占比的減少下降速度較快,在訓練集占50%時測試集準確率均未達到80%.究其原因可能是因為BP網(wǎng)絡以及SVM屬于淺層模型,自主學習特征的能力有限并受參數(shù)影響較大.經(jīng)典RNN模型則未能在試驗中收斂到一個相對穩(wěn)定的數(shù)值,并且多次出現(xiàn)梯度消失的問題.綜上可得,本研究所提出的ISRNN較其他方法不論在訓練集上還是在測試集上都得到了更高的分類準確率.AlexNet同樣取得了不俗的表現(xiàn),兩項準確率均以微弱的差距僅次于ISRNN,PSO-SVM在訓練集上的準確率與前兩者不相上下,但是在測試集上的表現(xiàn)未能達到前兩者的高度.其他方法所得到的結果并不能令人十分滿意.
表4為表現(xiàn)相對突出的ISRNN、PSO-SVM和AlexNet的訓練時間情況.可以看出,訓練集占比越多,即訓練集規(guī)模越大,訓練所花費的時間就越長.當訓練集規(guī)模相同時,PSO-SVM所花費的訓練時間最短,AlexNet次之,ISRNN花費時間最長,但是總體來說各算法花費時間都在1 min之內,因此訓練時間是可以接受的.
表4 算法訓練時間
由于ISRNN和AlexNet在上述試驗中結果相差并不大,因此再次從試驗的原始數(shù)據(jù)中隨機截取1 000個樣本在兩個模型上進行診斷,結果顯示ISRNN的準確率為97.8%,AlexNet的準確率為96.3%.圖7為ISRNN和AlexNet在訓練過程中的表現(xiàn)情況.首次達到90%準確率時ISRNN迭代了44輪,AlexNet迭代了57輪;首次達到95%準確率時ISRNN迭代了53輪,AlexNet迭代了76輪.ISRNN損失下降的速度快于AlexNet.
a 準確率隨迭代輪次變化
b 損失隨迭代輪次變化
為了進一步分析ISRNN對原始振動信號的特征學習及故障分類能力,繪制如圖8所示的軸承誤分類矩陣圖.圖8中,坐標值1~10分別代表軸承的10種狀態(tài),帶陰影的對角線代表每種狀態(tài)的分類準確率,其余格子中的數(shù)字代表誤分類的樣本數(shù).例如,實際類別3與預測類別2對應的格子中數(shù)字為1,代表有一個類別3的狀態(tài)被誤分類為了類別2,即有一個滾動體點蝕0.36 mm的樣本被誤分類為了滾動體點蝕0.18 mm.此外,類別3還有一個樣本被誤分類為了類別7,又由于每種類別都有1 000個樣本,因此類別3的分類準確率為99.8%.
圖8 滾動軸承故障狀態(tài)誤分類矩陣
由圖8可知,第1、第5、第6、第8和第10種軸承狀態(tài)的分類準確率為100%,其余五種狀態(tài)的分類準確率均在99.4%~99.9%之間.在所有的誤分類樣本中,有五個實際為類別7的軸承狀態(tài)被誤分為了類別3,其余誤分類集合中相同錯誤樣本的數(shù)目均在3以內,可以說ISRNN在滾動軸承故障診斷試驗中取得了令人滿意的分類效果.
(1) 提出了改進堆疊式循環(huán)神經(jīng)網(wǎng)絡,并建立了軸承故障診斷模型;利用GRU-RNN結構實現(xiàn)深度模型的有效訓練,同時避免在時間通道上的梯度消失;最后,將提取的信息輸入softmax分類器進行軸承故障狀態(tài)的分類識別.
(2) 設計了滾動軸承故障診斷試驗來驗證所提改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型的可靠性和有效性,并引入SVM、PSO-SVM、BP網(wǎng)絡、AlexNet以及經(jīng)典RNN作為對比.基于滾動軸承的振動信號,利用上述方法分別對軸承的10種工作狀態(tài)進行分類.結果表明,雖然訓練所花費的時間略高于其他算法,但ISRNN不論是在訓練集上的精度還是在測試集上的精度,都是所有方法中最高的.另外,改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型隨著迭代次數(shù)的增加收斂速度也優(yōu)于AlexNet,這就說明改進堆疊式循環(huán)神經(jīng)網(wǎng)絡模型在軸承故障診斷任務中具有良好的可行性與可靠性.
(3) 一旦軸承故障診斷模型對軸承的指定故障類型完成訓練后,就可用于相同規(guī)格零部件內軸承的故障診斷,而無需再次收集故障樣本重新訓練.