楊 青, 王笑臣, 吳東升, 董巖松
(沈陽理工大學 自動化與電氣工程學院,遼寧 沈陽 110159)
在工業4.0、數字化以及工業互聯網的大力推動下,智能制造的發展更為迅速。同時,隨著互聯網、智能制造的不斷推進,機械設備安全面臨著更為嚴峻的考驗。滾動軸承作為機械設備中重要的旋轉零件,也是機械設備的重要故障源之一。滾動軸承的狀態監測與故障診斷技術,在了解軸承的性能狀態和及時發現潛在故障等方面起著至關重要的作用。
近年來,以大數據為背景的深度學習方法在目標檢測[1]、語義分割[2]、圖像分類[3]和雷達[4]等任務上取得了迅猛發展。當有足夠的樣本數量時,基于遷移學習的方法已經實現了良好且穩定的性能,如基于微調的方法[5]、基于度量的方法[6-8]和基于對抗的方法[9-11]等。在故障診斷領域,越來越多的學者也將深度學習方法應用于滾動軸承的狀態監測[12],且取得了不錯的故障診斷效果。但在實際應用中,有些設備的信號獲取極其困難,當采集到的各類故障數據都很稀少時(振動信號生成的灰度圖往往只有幾幅或十幾幅),基于遷移學習的方法往往會在目標域出現過擬合的現象,魯棒性不佳,會陷入小樣本困境[13],導致模型無法充分訓練,只能學習到少量的特征信息,從而引發嚴重的過擬合問題。滾動軸承故障診斷中,樣本分布不均衡會降低算法對故障的診斷效果,使模型更偏向于正常類別。
為緩解此類問題的出現,基于元學習[14]的方法利用歷史經驗來引導新任務的學習。Oreshkin等[15]提出一種基于度量的元學習算法TADAM,通過輔助任務協同訓練,使得具有任務依賴性的特征提取更容易訓練,并且具有很好的泛化能力。近幾年,MTL(Meta Transfer Learning,元遷移學習)算法的出現進一步提升了小樣本的檢測精度。楊青等[16]提出基于MTLSAM模型實現了小樣本下的變工況故障診斷。Li等[17]提出的ADMTL方法實現了少樣本細粒度下的故障診斷。盡管當前對元遷移學習的研究取得了很多進展,但其提取特征的能力[18-20]仍有待提高。宋振軍等[21]利用ECA-ResNet解決了軸承故障診斷中故障分類模型參數多且泛化性能弱、故障識別率低、識別速度慢的問題。狄子鈞等[22]提出基于多尺度高效通道注意力網絡的刀具故障診斷方法,提升了刀具磨損狀態診斷精度。
以上方法使得單工況和變工況的故障診斷取得了較好的效果,但在實際工程應用中,針對軸承故障,往往采用停機拆解、逐一檢測的方法來判斷具體的故障位置。該方法的操作復雜,且必須停止整條生產線,影響了生產效率。
針對上述問題,本文在預訓練階段引入高效通道網絡增強模型對重要特征的關注度,從而提高模型的分類和泛化能力。同時,利用元學習可快速學習歷史經驗和知識的特點,對數據進行分段處理,將前70%的部分作為歷史經驗,后一小部分作為現有的知識,模擬在線變工況軸承故障診斷。
小樣本是指訓練類別樣本較少的情況下,進行相關的學習任務,通過學習大量的基類后,僅僅需要少量樣本就能快速學習到新類。
同時小樣本的訓練集中包含了多個類別,每個類別中有多個樣本。在訓練階段,從訓練集中隨機抽取N個類別,每個類別K個樣本(總共NK個數據)構建一個元任務,作為模型輸入,再從這N類中剩余的數據中抽取一批樣本作為模型的預測對象。
MTL[23]是一種結合元學習和遷移學習來進行圖像分類的算法。該算法分為2個階段:① 預訓練階段;② 元訓練階段。預訓練階段用大量帶標簽的數據集訓練基礎網絡,再將基礎網絡遷移至小樣本數據集進行元學習。由于基礎網絡參數量過大,直接微調可能增加過擬合風險,因此該算法在微調階段設計了SS(Scaling and Shift,SS)操作,為每個“凍結”的卷積核添加縮放與移位參數ΦS1和ΦS2(如圖1深色部分),去適應新的小樣本學習任務。同時,針對小樣本學習場景,模型不需要更新所有參數。SS操作如式(1)所示。

圖1 SS操作
SS(X;W,b;ΦS(1,2))=(W⊙ΦS1)X+(b+ΦS2)
(1)
式中:SS為SS操作的函數表示;X為輸入;⊙為逐元素相乘;S1和S2為元學習器。圖1為SS操作示意圖。
Wang等[24]于2019年提出了無須降維的輕量級注意模塊ECANet(Efficient Channel Attention Network,高效通道注意力網絡),如圖2所示,在保證涉及極少參數的同時,大幅度提升了網絡模型的性能。因為ECANet通道交互信息范圍由卷積核K的尺寸來確定,且每一組權重完全相同,因此,模塊所需參數減少。而隨著通道數C變化的同時,K也隨之變化,所以C與K存在某種映射Φ:

圖2 ECANet結構
C=Φ(K)
(2)
最簡單的映射是線性函數,即
C=Φ(K)≈γ×K-b
(3)
但由于線性函數對于某些相關特征的局限性,這里采用以2為底的指數函數來表示非線性映射關系:
C=Φ(K)=2γ×K-b
(4)
因此給定通道維數C,自適應確定尺寸K:
(5)
式中:|t|odd為最接近的t的奇數,本文中的所有實驗將取γ和b分別為2和1。
ECAMTL網絡模型如圖3左側所示,它是由特征提取器和分類器組成,具體如下。

圖3 ECAMTL故障診斷流程圖
特征提取器:以ResNet[25]為基礎網絡,通過引入ECANet,在不增加模型復雜度的前提下,獲得性能提升,增強模型對重要特征的關注度,如圖3黑色虛線部分所示。
分類器:采用一個全連接層FC-Classification與Sofmax層作為類別分類器,全連接層對特征提取器的輸出進行處理,并采用Sofmax對輸出進行歸一化處理,從而獲得輸入數據屬于每個類別的概率。
同時,在算法中添加正則化項的交叉熵損失函數來緩解過擬合問題。
本文提出的基于ECAMTL的變工況軸承故障診斷方法流程圖如圖3所示。
預訓練階段:將12 kHz采樣頻率下的4種工況、5種故障類型,共20類作為預訓練特征提取網絡的輸入。同時用梯度下降算法優化特征提取器Θ和分類器θ:
[Θ;θ]=[Θ;θ]-α▽LD{[Θ;θ]}
(6)
式中:α為學習率;LD為交叉熵損失函數。
(7)
元學習階段:本階段將丟棄分類器θ,對48 kHz采樣頻率下的某一工況進行隨機采樣,并形成100個 5way 5shot和 5way 1shot 的元學習任務,將預訓練好的特征參數與元學習器結合,形成新的元學習模型。
元測試階段:對不同工況的故障數據進行隨機采樣,輸入到訓練好的元學習模型種,得到變工況診斷結果。
為了驗證本文所提方法的有效性,采用美國凱斯西儲大學[26](Case Western Reserve University,CWRU)和東南大學[27]開放軸承數據庫的樣本進行實驗分析。本實驗所用的環境配置如下:CPU為Intel Core i7-8700;GPU為INVIDIA GTX 1080 Ti;深度學習框架為 Tensorflow 和 Pytorch。
(1) CWRU數據。
本文實驗數據來自于CWRU的軸承數據中心。選用電機型號為 SKF6205 的深溝球軸承,振動信號由16通道的加速度傳感器垂直固定在風扇端和驅動端的軸承座上方采集而得,采樣頻率分別為12 kHz和48 kHz。
選取12 kHz風扇端作為預訓練數據集,目的是為了通過預訓練得到特征提取模塊,為后續元訓練、元測試做鋪墊。同時選取48 kHz驅動端數據集用于元學習階段,以驗證ECAMTL模型的優越性。
本文將數據集隨機劃分為元訓練數據集、元驗證數據集和元測試數據集。每個子集隨機抽取5個類別,每個類別隨機抽取5個樣本進行 5way 5shot訓練,隨機抽取一個樣本進行 5way 1shot訓練。
(2) 東南大學數據。
泛化實驗數據來自東南大學的傳動系統動態模擬器(Driveline Dynamics Simulator,DDS)。數據來源于傳動系統動態模擬器。該數據集包含2個子數據集,包括軸承數據和齒輪數據,均通過DDS獲取。有轉速-負荷配置為20 Hz-0 V和30 Hz-2 V這2種工況。在每種工況下,考慮了滾珠裂紋(Ball Cracks,BC)、內環裂紋(Inner Ring Cracks,IRC)、內外環裂紋(Inner Outer Ring Crack,IORC)和正常(Health)4種軸承故障狀態。變工況故障診斷任務為20 Hz-0 V~30 Hz-2 V(將訓練好的12 kHz風扇端預訓練模型用20 Hz-0 V的工況數據集進行元訓練,得到的結果對30 Hz-2 V的工況進行測試,實現跨型號的變工況故障診斷)。由于東南大學的軸承數據集有4類故障狀態,所以須重新采樣。每個子集隨機抽取4個類別,每個類別隨機抽取4個樣本進行 4way 4shot訓練,隨機抽取一個樣本進行 4way 1shot訓練。
目前基于DNN[28]等方法可以直接處理一維數據,但在干擾較多的實際環境下,數據的特征會被模糊化,一維數據的特征提取分析尤為困難。基于以上問題,在數據處理階段,對一維信號進行二維化。步驟如下。
① 生成初始圖像為64×64個像素點且元素都為0的矩陣。
② 用長度為64×64的窗口滑動,并在原始時域信號上分割樣本,然后從原始時域信號中選擇長度為64×64的振動信號樣本。
③ 利用式(8)對矩陣進行歸一化處理,將得到的結果依次填充到構建圖像的行中,以完成尺寸為4 096的灰度頻譜圖像的構建。
(8)
式中:x為預處理數據;ymin、ymax為列最小值和最大值;xmin、xmax為行最小值和最大值。
4種工況5種故障類型共20類3 812個樣本。實驗數據劃分如圖4所示,轉換后的灰度圖如圖5所示。數據集的故障類別和工況如表1和表2所示。

表1 CRWU軸承樣本的5種故障類別

表2 CRWU軸承樣本的4種工況

圖4 實驗數據劃分

圖5 故障灰度圖
為了驗證本文方法在小樣本下變工況故障診斷方面的有效性,分別與MAML[29](Model-Agnostic Meta-Learning)、Protonet[30]、Baseline[31]這3種效果較好的方法進行對比,本節實驗選取CWRU軸承數據作為實驗對象分別進行變工況故障診斷實驗(故障類型如表1所示)。4種工況具體情況如表2所示,5種方法試驗模型的參數為:網絡的輸入為64×64的灰度圖;初始學習率為0.01;批次大小為32;迭代次數 5way 1shot為15次、 5way 5shot為15次。同時為了避免實驗結果的偶然性,每種方法各測試10次后取平均準確率,結果如表3、表4、圖6所示。

表3 變工況故障診斷結果(5way 1shot)

表4 變工況故障診斷結果(5way 5shot)

圖6 平均訓練測試時間( 5way 5shot)
通過對比不同模型的識別結果發現:在變工況條件下,ECAMTL的識別精度相較于其他方法均有不同程度的提升,且5shot的準確率全部優于1shot的準確率,這是因為5shot所包含的故障信息比1shot更為全面,包含更多的特征,增強了模型的泛化能力。同時,在工況相近的情況下,由于故障信號、包含的信息相似,因此在變工況故障診斷任務中能夠取得較好的結果。如:A→B,A→C。在工況變化較大的情況下,因為故障數據分布差異大,使得模型在訓練過程中出現過擬合現象,因此降低了模型的泛化能力。如:A→D。圖6中,ECAMTL與MTL模型相比,在不增加模型復雜度的情況下獲得了性能的提升。
圖7是ECAMTL模型在不同數量樣本下故障分類的混淆矩陣(圖7(a)、圖7(b)為東南大學數據集,圖7(c)~圖7(e)為CWRU數據集)。混淆矩陣包括5種或4種不同的故障類型,每種類型有5個或4個測試樣本,直觀地給出了誤判的故障類型。

圖7 MCAMTL模型在不同樣本不同數量下的診斷結果混淆矩陣
在實際生產中,對運行狀態下故障原因做出粗線條的診斷可防止事故擴大,因此在診斷時間上要求很緊迫。為了驗證模型的在線測試準確率,本節試驗選取數據的后一部分(如圖5所示)形成在線數據,進行訓練測試,結果如圖8、圖9所示。

圖8 在線測試訓練時間(5way 5shot)

圖9 在線測試準確率(5way 5shot)
為驗證ECAMTL模型在不同軸承條件下的擬合能力,設置了泛化性實驗,采用東南大學軸承數據集,以20 Hz-0 V作為訓練數據,30 Hz-2 V作為測試數據,實驗結果如圖10所示,與其他模型相比仍有較高的準確度,與原模型相比,改進后的模型有較強的擬合能力,適應不同設備的能力更強,證明了ECAMTL有較強的魯棒性。

圖10 泛化性實驗驗證結果
針對小樣本條件下的變工況故障診斷,本文提出了ECAMTL方法,通過比較CRWU軸承數據和東南大學軸承數據集,并在不同環境下進行實驗,得出以下結論。
① 綜合圖7、表3和表4可知,在數據減少的情況下,復雜的模型與過多的參數會導致模型出現過擬合問題。本文提出的ECAMTL方法能夠解決這一問題。
② 在MTL模型中引入ECANet減輕了過擬合的現象,同時提升了模型的特征提取能力。在不提升模型復雜度的前提下,增強了對重要特征的關注度,從而獲取更多的特征,以提高模型分類的準確率和泛化能力。
③ 改進后的網絡,在跨工況、跨型號的故障診斷中,網絡在1 shot和5 shot的平均分類準確率分別達到91.00%和93.49%,基本滿足了軸承故障診斷的要求。
本文針對傳統元學習算法存在的特征提取能力有限的問題,提出在特征提取網絡中引入ECANet來增強特征提取能力,從而提升模型的泛化能力。同時,將本文算法與現有的小樣本算法進行對比試驗,驗證了本文算法的優越性。