馮連強,徐 江,田瑞明,焦麗聰,李 韜
(中國重型機械研究院股份公司,陜西 西安,710032)
隨著工業(yè)生產水平的不斷提升,機械設備朝著大型化、集成化方向發(fā)展。機械設備持續(xù)可靠運行不管從經濟角度出發(fā),還是人員安全角度出發(fā)保證生產過程安全顯得至關重要。軸承作為旋轉機械的關鍵基礎部件,被廣泛應用于各種旋轉機械中,一旦發(fā)生各種故障將會影響機械的運行穩(wěn)定性,甚至會引發(fā)機械整體出現故障。由此看來,軸承健康與否決定著機械設備的健康狀態(tài),及時對軸承故障進行診斷、定位能夠有效的提高機械設備的安全性。因此,展開對軸承故障診斷技術的研究具有重大現實意義。
軸承故障診斷首先需采集可靠的故障信號,采集的信號類型有聲信號、溫度信號及振動信號等,振動信號與其他信號相比受到外部干擾少,能夠準確地反應軸承健康狀態(tài),因此在軸承故障診斷時大多數采用振動信號作為故障信號來源。信號處理方法從故障信號中進行故障特征提取,常用的信號處理方法有經驗模態(tài)分解[1]、小波變換[2]、Winger-Ville[3]等。隨著機器學習方法的不斷發(fā)展,一些機械故障診斷領域的研究者將機器學習方法應用到故障診斷中,如使用貝葉斯分類器[4]、支持向量機[5]、神經網絡[6]等機器學習方法提取故障特征實現故障診斷。這些軸承故障診斷方法雖然在軸承故障診斷中具有不錯的故障診斷識別率,但需對信號進行詳細的分析并設計合適的特征提取器與分類器組合,不同類型的故障所用的方法也不盡相同,即算法的通用性不強。且人工提取故障特征的故障診斷方法均過度依賴于軸承故障診斷專家的經驗和知識[7]。隨著傳感器檢測技術的不斷提高,軸承狀態(tài)監(jiān)測點的增多和采集的數據量不斷增大,該軸承故障診斷方法已不能滿足大數據分析的要求。
近幾年,隨著計算機硬件集成制造技術和計算能力的不斷提升,深度學習方法在圖像處理、語音識別和自然語言處理等領域得到廣泛的應用[8],并被應用到故障診斷領域。如稀疏自編碼器[9]、深度置信網絡[10]、深度神經網絡[11]和卷積神經網絡[12-13]。卷積神經網絡(CNN)是一種經典的深度學習方法,對于一維軸承振動信號,卷積層與濾波器有著相似作用,可以從輸入信號中提取出不同頻帶的故障特征。軸承故障信息往往分布于不同頻帶中,利用卷積神經網絡的卷積層不同特征提取通道從中準確的提取出故障特征在此基礎上實現高效的故障診斷。
基于此,文章中提出一種基于一維卷積神經網絡(One-dimensional Convolution Neural Network,1DCNN)的軸承故障診斷方法。該軸承故障診斷方法中利用全局平均池化層[14-15](Global Average Pooling,GAP)代替全連接隱藏層減少網絡模型參數的同時提高模型的泛化能力,輸入信號為軸承原始振動信號包含軸承健康狀態(tài)完備信息。
卷積神經網絡為多層網絡結構,包含多層特征提取器和分類器。每一個特征提取器由卷積層、激活層和池化層3個基本單元組成,多層特征提取器的作用是對輸入信號的低級特征隨著網絡層數的加深提取出更加高級具有區(qū)分性的特征,分類器對由多層特征提取器提取的特征進行分類識別。
如圖1所示,卷積神經網絡的卷積池化過程主要由卷積操作、激活操作及池化操作組成。卷積操作主要由卷積層的多個卷積核與輸入數據的局部區(qū)域進行卷積運算實現特征提取生成新的特征圖[16](feature maps)。卷積運算表達式為
(1)
圖1 卷積網絡結構圖
通過卷積操作的線性變換從輸入數據中提取出比較具有區(qū)分性的特征,通過激活操作進行非線性變換得到更加高級且具有區(qū)分性的特征。本文選用的激活函數為PReLU函數[17],其表達式為
(2)
從輸入數據中提取出更加高級且具有區(qū)分性的特征,一定程度上可以減少數據維度,但由于提取的特征維度仍過高,易產生過擬合問題。因此需要對卷積操作后的特征根據局部相關性通過降采樣方式對特征維度進一步減少,僅保留局部特征中的重要信息。卷積神經網絡中的池化層可以實現該過程,池化層的輸入是卷積層輸出的特征。池化層輸出特征向量為
(3)
本文在前幾層池化層采用最大池化方式對卷積層提取的特征進行降采樣,最大池化方式的表達式為
(4)
全局平均池化(GAP)為池化層中一種重要的池化方式,如式(5)所示。GAP通過對最后一個卷積層提取的每一維特征向量整體求平均值,生成一個1×1特征向量,作為該特征向量的濃縮特征實現減少特征向量維度,提高網絡模型的泛化能力,因此文章中利用全局平均池化層代替全連接隱藏層。
(5)
在卷積神經網絡中,通過全連接層對卷積、池化層提取的特征進行分類。全連接層的前向計算公式如式(6)所示,通過Softmax函數[18]式(7)對前向計算值進行分類。
(6)
(7)
若最后一層卷積層輸出特征映射上的神經元節(jié)點在輸入信號的感受野[19]為Re0,軸承每轉動一圈振動信號采集傳感器采集的數據長度為T,L為輸入振動信號的長度,則有T≤Re0≤L為感受野設計的重要條件。因此,基于一維卷積神經網絡的軸承故障診斷模型網絡參數設計步驟如下:
設在第l個池化層的感受野為Rel,則有在第l-1個池化層的感受野為Rel-1,兩個池化層感受野滿足:
Rel-1=Sl(PlRel-1)+Wl
(8)
式中,Sl為第l個卷積層的卷積步長;Wl為第l個卷積層卷積核寬度;Pl為第l個池化層的池化窗口寬度。
本文設計的基于一維卷積神經網絡的軸承故障診斷模型中,默認Wl=5,當l>1時Pl=2,Sl=1。因此公式(8)可寫為
Rel-1=2Rel+4
(9)
當有n個卷積層時,l為最后一層卷積層Ren=1,在第n-1個池化層的感受野為
Ren-1=5
(10)
則最后一個卷積層輸出特征映射上的神經元在第一個池化層上的感受野根據公式(9)進行遞推為
Rel=2n-2×9-4
(11)
將公式(11)帶入式(8),可以得到最后一層卷積層輸出特征映射上神經元在輸入層輸入信號的感受野Re0為
Re0=Sl(PlRel-1)+Wl≈Sl(2n-1×9-8)
(12)
根據感受野設計的重要條件T≤Re0≤L且Sl必須能被L整除,則可得到軸承故障診斷模型網絡參數設計準則為
(13)
文章中選用凱斯西儲大學(CWRU)軸承數據中心[20]提供的數據集作為軸承故障診斷數據來源。該數據采集系統(tǒng)裝置圖如圖2所示,采用加速度傳感器分別從驅動端和風扇端兩個位置采集軸承不同健康狀態(tài)的振動信號。由于驅動端采集的軸承振動信號與風扇端采集的軸承振動信號相比受到外部干擾少,因此在本實驗中選用驅動端采集的軸承故障信號作為軸承故障診斷實驗數據來源對應的采樣頻率為12 kHz。該數據集包括四種負載條件下(0 hp,1 hp ,2 hp和3 hp)的軸承振動信號,每種負載條件下軸承故障共有3種不同位置分別為內圈故障(IR)、滾動體故障(B)和外圈故障(OR),且每種故障位置分別包含由電火花加工的故障損傷直徑為0.007 inch、0.014 inch和0.021 inch三種損傷程度,與相同負載條件下軸承正常狀態(tài)組成10種軸承健康狀態(tài)。
圖2 CWRU軸承數據采集系統(tǒng)
為了增強深度學習模型的泛化能力常用的方式是使用大量的訓練樣本對深度學習模型進行充分的訓練。針對軸承振動信號,采用等間隔滑動固定長度窗口完成對軸承振動信號重疊截取,實現擴充軸承故障信號訓練樣本數量如式(14)所示,在前后兩次重疊截取過程中前一次采集的信號與后一次采集的信號有重疊部分,重疊截取實現原理圖如圖3所示。
(14)
圖3 振動信號重疊疊取原理圖
式中,N重疊截取的樣本數量;L原振動信號長度;W訓練樣本長度;S信號采樣間隔W>S>0。
在實驗中采用重疊截取數據增強方法,對每種軸承健康狀態(tài)的振動信號前50 000點數據,采用樣本長度L=2 048信號采樣間隔S=80生成600條訓練樣本,對于原振動信號的50 001到120 000點數據進行無重疊截取最多生成34條測試樣本。為了加快故障診斷模型的收斂速度,對每一條樣本信號均采用公式(15)進行歸一化處理:
(15)
本實驗準備了4個數據集,數據集A、B和C對應負載為1 hp、2 hp、3 hp條件的數據集,具體劃分如表1所示。每一個數據集包含每種軸承健康狀態(tài)600條訓練樣本,對于測試樣本每種狀態(tài)選取30條數據。數據集D為A、B和C數據集的并集包含18 000條訓練樣本和900條測試樣本。具體數據集劃分如表1所示。
表1 實驗數據劃分
由于本文所構建的數據集中每條信號長度為L=2048,三種負載條件下軸承轉速分別為1 772 r/min、1 750 r/min和1 730 r/min,根據公式(16)可以計算出T≈400。若設計的承故障診斷模型有5層卷積池化層,通過公式(13)可以計算出取值為4或8。
(16)
式中,Fs為采樣頻率;n為電機轉速。
為實現對軸承不同健康狀態(tài)進行準確的識別,在網絡參數設計準則的約束下設計的基于一維卷積神經網絡的軸承故障診斷模型共有4層卷積池化層,每一層卷積層之后連接批量歸一化層將輸出的特征向量歸一化到合適的數據分布,利用PReLU作為激活層的激活函數對提取的特征進行非線性變換,輸出層具有10個神經元實現對軸承10種健康狀態(tài)進行分類。軸承故障診斷模型的具體網絡參數設置如表2所示。
表2 軸承故障診斷模型網絡參數
在搭建網絡模型過程中其他超參數設置如下:RAdam[21]最小學習率設置為le-4,mini-batch大小設置為256提高模型訓練過程中并行計算速度。
(1)實驗方案一。為了對文章所提出的基于一維卷積神經網絡的軸承故障診斷方法的性能進行評價,分別利用所構建的數據集A、B、C和D對搭建好的軸承故障診斷模型進行10次訓練減小在訓練過程中網絡參數隨機初始化對本節(jié)設計的軸承故障診斷模型穩(wěn)定性的影響,每次訓練過程最大迭代次數為1 000次。
如圖4所示,軸承故障診斷模型在A、B、C和D數據集上10次訓練測試結果圖。在數據集A上故障診斷識別率均達到99.59%以上,在B、C和D三個數據集上識別率最為穩(wěn)定,每次識別率均達到100%。由此可以得出:文章中所提出的基于一維卷積神經網絡的軸承故障診斷方法,可以直接對時域振動信號進行處理,提取特征,實現對各種故障進行準確的識別。
圖4 故障診斷模型在4個數據集上的識別率
(2)實驗方案二。在實際工業(yè)生產中,機械設備工作條件復雜,隨著生產任務的變化,負載條件也在不斷的發(fā)生變化,當負載條件變化時,加速度傳感器采集的軸承振動信號幅值、周期及相位也將會發(fā)生變化。因此使用數據集A、B和C一種數據集對模型進行訓練,另外兩種數據集對該軸承故障診斷模型在變負載條件下的性能進行測試,在實際工業(yè)生產中軸承故障診斷具有重要意義。實驗過程中訓練集與測試集設置,如表3所示,各個數據集對應的轉速如表4所示。
表3 變負載條件下實驗數據集劃分
表4 數據集A、B和C對應轉速
實驗結果如圖5所示,文章提出的基于一維卷積神經網絡的軸承故障診斷方法的平均識別率為93.13%。從圖中還可以看出當使用輕負載條件數據集訓練故障診斷模型利用重負載條件進行測試時,將會獲得較高的故障診斷識別率;當利用重負載條件數據集訓練故障診斷模型利用輕負載條件數據集測試時,對應的故障診斷率較低。利用數據集C進行訓練故障診斷模型,利用數據集A進行測試時,故障診斷效果較差故障診斷識別率僅為89.99%。如表4所示,數據集A的轉速高于數據集C,數據集A中振動信號相比于數據集C較為復雜,因此當利用較低轉速數據集訓練故障診斷模型利用高轉速數據集進行測試時,因信號特征發(fā)生變換導致較低的故障診斷識別率。
圖5 變負載條件下故障診斷識別率
文章提出了一種基于一維卷積神經網絡的軸承故障診斷方法,該方法直接對一維時域信號進行處理,通過利用大量軸承不同健康狀態(tài)數據進行訓練學習,該方法能夠自適應的提取故障特征實現準確高效的故障診斷。實驗結果表明,該軸承故障診斷方法在同種負載條件下故障診斷識別率為99.59%以上,且具有一定的變負載條件,自適應性平均變負載條件故障診斷識別率為93.13%。相比于其他深度學習故障診斷方法,省去了信號預處理的步驟保留軸承健康狀態(tài)的完備信息,具有實際應用價值。