黃智宇1 李 燚 唐 倩 黃 濤
(1.重慶機電裝備技術研究院有限公司 重慶 401120)(2.重慶大學機械工程學院 重慶 400000)
滾動軸承作為旋轉設備的關鍵零件,同時也是易損件,一旦發生故障,將會導致生產作業停產,設備損壞甚至造成人身安全事故。因此,針對滾動軸承的故障診斷方法成為重中之重[1][2][3]。針對滾動軸承主要選取振動信號進行分析,因為振動信號更能反映出微弱故障的特征[4]。近幾年來,隨著“工業大數據”和“人工智能”的到來,基于知識故障診斷技術[5][6]成為了學術界的熱點,與傳統故障診斷方法(如時域分析、頻率分析和時頻域分析等)相比,該技術不需要特定診斷對象的具體模型以及信號處理知識,而只需要大量的歷史數據,因此也被稱為“由數據驅動的故障診斷技術”,具體流程如圖1所示。當滾動軸承發生故障時或者將要發生故障時,該診斷方法會將當前收集的數據與歷史數據進行一致性檢驗,隨后立即給出相應的故障診斷結果。

圖1 基于知識的故障診斷流程圖
目前基于知識的軸承故障診斷技術取得了一定的發展和成果。同濟大學的張小龍等[7]將滾動軸承振動信號進行固有時間尺度分解,使用Lempel-Ziv復雜度值作為特征向量樣本,通過支持向量機(SVM)進行故障識別。如湖南大學的高藝源[8]等將圖像信號處理應用于機械故障診斷領域,提出一種基于圖譜指標的滾動軸承特征提取方法,然后使用 K-均值聚類算法對軸承的故障類型進行識別。Muhammad A[9]等人將軸承的振動信號使用快速傅里葉變換轉化為圖像信息并進行特征增強,然后通過人工神經網絡進行訓練得到模型,完成軸承故障識別。同濟大學的李恒等[10]采取短時傅里葉變換將振動信號轉化為二維圖像信息,然后通過二維卷積神經網絡模型進行訓練從而識別滾動軸承故障。上述方法雖然取得較好的結果,但存在以下不足:1、需要將振動信號進行預處理,而預處理步驟不但需要較高的專業信號知識,而且會損失原始振動信號的固有特征信息,降低故障識別率;2、軸承產生的故障相互之間耦合,并且故障特征之間相互交織,人為提取故障特征不但困難,而且還會耗費大量的人力和時間資源;3、將振動信號預處理和特征提取和模式識別三個步驟分隔開,不能實現滾動軸承端對端的故障診斷;4、滾動軸承在實際運行中具有多種工況(如轉速、負荷扭矩、徑向力等),目前已有方法在多種工況下準確識別故障的泛化能力有待驗證;5、實時性有待驗證。
針對上述問題,本文將基于數據驅動的一維卷積神經網絡(1D CNN)應用于滾動軸承智能故障診斷。具體操作方法為:首先將采集的歷史振動數據分割成固定長度的樣本,并將其和對應的故障標簽一起放入一維卷積神經網絡模型,神經網絡會根據輸入的振動數據輸出對應的預測故障標簽并與真實的故障標簽對比,并且不斷的更新神經網絡參數使預測標簽與真實標簽的差值最小,當輸入的歷史樣本數據量足夠大時,神經網絡可以充分的學習并提取故障振動數據的內在特征。神經網絡模型訓練完成之后,將未知標簽故障振動數據輸入神經網絡模型即可輸出正確的故障標簽。該方法可將傳統的信號預處理,特征提取和分類三個步驟融合到一起,避免了原始振動信號繁瑣的預處理步驟;針對多種工況下的多點真實故障混合的滾動軸承,依然可實現高準確率的智能端對端診斷,即輸入原始信號,該方法直接給出故障診斷結果;其次,通過與BP神經網絡,支持向量機的對比證明該方法具有更高的故障識別準確率;同時,該方法具有很高泛化能力;最后,該方法具有較強實時性,可直接用于工業在線實時性檢測。
本文第一節介紹1D CNN的工作原理、以及基于1D CNN的故障診斷流程以及參數設置;第二節采用德國帕德博恩大學(UPB)已公開的滾動軸承數據集對所提出的1D CNN診斷方法進行實驗驗證,得到實驗結果;第三節得出關于本文所提出方法相應的結論。
一維卷積神經網絡屬于前饋神經網絡,包含線性與非線性運算多級訓練架構,具體由三部分組成:輸入層、隱藏層和輸出層。其中隱藏層由卷積層、池化層和全連接層組成,如圖2所示。卷積層采用多個卷積核過濾器來獲取輸入數據特征信息;池化層又稱為下采樣層,用于減少輸入特征的維數;在有限次卷積層與池化層反正交替操作后,采用全連接層計算分類得分,輸出結果。
整個神經網絡前饋過程表達式為
f(X)=fL(Kf2(f1(X,θ(1)),θ(2)K),θ(L))
(1)
式中X為初始輸入數據,θ(1),θ(2),K,θ(L)為學習變量參數比如每一級的偏置與權重,f1,f2KfL為每一級相應的函數,每一級的輸出結構均為一維特征映射矩陣。
卷積層表達式為
(2)

yijk=max(0,xijk)
(3)
式中,xijk為第k個特征映射矩陣的(i,j)元素。
池化層表達式為
yijk=max(yi′j′k:i≤i′
(4)
式中,p為一維池化窗口的長度,yi′j′k為池化之前區域值,yijk為池化處理之后的值。
全連接層正向傳播的表達式為
(5)

在全連接層中,本文選取的激活函數為歸一化指數函數(Softmax)函數[12],因為該函數具有指數計算過程,在分類過程中增加了區分對比,且在整個過程中連續可導,消除拐點的優點。表達式為
(6)
誤差反向傳播是神經網絡模型進行參數優化的重要步驟。通過神經網絡模型正向傳播之后,首先對模型輸出的預測結果與真實結果比較并選取恰當的目標損失函數計算兩者之間的誤差,然后通過鏈式求導法則,從后往前逐層計算出目標損失函數關于所有參數的偏導數,然后使用恰當的優化算法優化所有參數,通過不斷地迭代并優化參數使得預測結果與真實結果的誤差變得最小,最終完成分類任務。因此損失函數和優化損失函數算法將直接影響神經網絡模型最終的分類任務準確率。本文選取交叉熵作為損失函數,相比于均方差損失函數更容易找到最優解,表達式為
(7)
式中,n為該類標簽的樣本數量;xk表示該標簽的預測值,為獨熱(one-hot)數組形式;yk表示該標簽真實值,也為獨熱(one-hot)數組形式。
本文選擇優化損失函數的算法為Adam(Adaptive Moment Estimation),由OpenAI 的Kingma和多倫多大學的Jimmy聯合提出[13],表達式為
gt=▽θft(θt-1)
(8)
mt=β1mt-1+(1-β1)gt
(9)
(10)
(11)
(12)
(13)

基于數據驅動的1D CNN的滾動軸承故障診斷方法可將振動信號的預處理,特征提取和故障識別三個步驟融合為一體,從而實現滾動軸承故障特征的自適應提取和實時的智能診斷,具體流程如圖3所示,首先將采集到的歷史滾動軸承故障振動數據分割成一定長度的樣本,并添加對應的故障標簽;然后將故障樣本以及對應的故障標簽放入1D CNN模型中進行訓練,不斷的更新神經網絡參數,使得損失函數值最小化,并保存模型。然后將滾動軸承運行過程中采集的振動數據放入以訓練好的模型,可實時的得出對應的故障診斷結果。訓練神經網絡模型的歷史振動數據量越大,得到的最終故障診斷結果越準確。

圖3 基于一維卷積神經滾動軸承故障診斷流程圖
考慮到所使用模型的實時性需求問題,本文采用淺層的神經網絡結構,并進行合適的參數設置,具體結構如圖4所示。

圖4 一維卷積神經網絡結構圖
如圖4所示,該1D CNN神經網絡模型結構依次為輸入層、卷積層1、池化層1、卷積層2、池化層2、全連接層、輸出層。每一層具體的參數設置如表1所示。

表1 一維卷積神經網絡結構以及參數
本文使用德國帕德博恩大學已公開的軸承數據集[14]作為試驗對象。試驗平臺如圖5所示,該試驗臺一共包含5個模塊,圖中(1)為電機,(2)為扭矩測量模塊,(3)為滾動軸承實驗模塊,(4)為飛輪,(5)為負載電機,關于實驗平臺的詳細描述在文獻[14]給出。整個試驗過程中多個型號為6203的深溝球軸承在四種不同的工況下工作(如下表2所示),并完成相應的數據采集,其中振動信號的采樣頻率為64 KHz。

圖5 德國帕德博恩大學試驗平臺[15]

工況編號主軸轉速(rpm)負荷扭矩(Nm)徑向力(N)09000.71000115000.11000215000.7100039000.7400
而在此之前,為了制造具有真實故障的軸承,將型號為6203的深溝球軸承在加速試驗臺上通過施加徑向載荷、創造不合適的潤滑條件等方式進行加速壽命試驗從而產生真實故障。本文所選取的軸承編號如下表3所示,其中具有真實故障的軸承的具體描述如表4所示

表3 選取的深溝球軸承軸承編號

表4 深溝球軸承的故障描述
由表4可以看出,本文所選取的具有真實故障軸承損傷類別既有疲勞破壞導致的點蝕,也有塑性變形造成的壓痕;既有單點、多點損傷、也有多種損傷并存的癥狀。所以收集的軸承振動數據更符合工程實際中軸承的真實故障。
將滾動軸承正常、內圈故障和外圈故障三個類別中所有編號的軸承振動數據以1024點為一個樣本分割形成數據集,其中隨機抽取80%作為訓練子集,剩下的20%作為測試子集。然后按照相應的類別以及相應的工況組合在一起,形成的樣本數目如表5所示

表5 深溝球軸承數據集
所有工況的軸承正常、內圈故障和外圈故障時域波形圖樣本舉例如圖6所示。

(a)編號為0工況下的樣本時域波形圖

(b)編號為1工況下的樣本時域波形圖

(c)編號為2工況下的樣本時域波形圖

(d)編號為3工況下的樣本時域波形圖
在整個神經網絡模型訓練過程中,學習率Learning Rate設置為0.001,訓練次數Epoch設置為40,批訓練樣本量Batch Size 設置為20。整個實驗平臺配置為Windows10操作系統,CPU為E3-1240V5,顯卡為Nvidia Quadro K1200 和Python3.7開源軟件以及Facbook推出的Pytorch開源深度學習框架。同時,本文還采用了BP神經網絡、支持向量機(線性、非線性)等模型作為對比實驗。
首先將四種工況下的每個軸承振動數據按照正常、內圈故障和外圈故障三個類別分別隨機抽取80%的樣本然后混合在一起形成訓練集,然后將剩余的20%的樣本混合在一起形成測試集,如表6所示;然后將每種工況下的訓練集分別放入本文所采用的一維卷積神經網絡模型中訓練,在整個訓練過程中,測試集首先被隨機打亂,分批次訓練神經網絡模型。最終得到四個分別由四種工況所訓練的神經網絡模型。將四種工況下的測試集依次放入訓練好的四個神經網絡模型中進行驗證,得到的結果如表7所示。

表6 測試集與訓練集樣本

表7 不同工況交叉測試結果
由表7可知,對于四種類型的工況,當使用相同工況的測試集測試對應工況所訓練的神經網絡模型時,均取得了非常良好的結果,準確率分別為99.69%,99.37%,99.65%,99.55%,說明本文所采用的神經網絡模型可以很好的提取軸承故障的內在特征,并且能夠較為準確的識別軸承發生故障的位置。但是當使用四種工況測試集交叉驗證時,故障識別率準確率卻參差不齊,尤其是工況編號為0的振動數據所訓練的模型和其他工況的測試集進行交叉驗證時準確率最高僅為62.04%。這說明在不同的工況下滾動軸承在振動數據中所表現的特征有所差異,甚至差異較大。雖然可以針對滾動軸承運行的不同工況訓練生成不同的神經網絡模型,以此保證較高的故障識別率。但在機械設備實際運行中,軸承工況復雜多變,而且關注的焦點在于軸承發生的故障而不是工況。因此,為了解決上述問題,將所有工況所有類別的數據組合在一起形成相應的訓練集和測試集,并進行卷積神經網絡模型訓練和測試。訓練過程中的最小損失函數值如圖7所示:

圖7 采用不同損失函數優化算法損失率圖
測試準確率如圖8所示。

圖8 使用不同損失函數優化算法準確率圖
由圖7可知,在神經網絡模型訓練過程中使用Adam優化算法優化損失函數,訓練損失在前五次就可以實現快速收斂,由圖8可知,該神經網絡模型在訓練10次之后可以保持很高的故障診斷準確率,且準確率比較穩定,訓練30次之后的最低故障識別準確率也高達98.43%,最高的故障識別準確率為99.14%,表明該神經網絡模型能夠明顯的提取故障樣本的特征,并將它們區分開。
測試集檢驗本文所采用模型對于軸承故障識別準確率所得到的具體分類結果表8所示。

表8 測試集的結果百分比矩陣圖
表8中,橫坐標的數字表示該測試集中樣本的真實標簽,縱坐標表示使用模型所得到的預測標簽。由圖明顯可知,該模型對于每一類的標簽預測都有較高的準確率,最低也高達98.15%。在整個測試過程中,從加載一個測試樣本數據到給出診斷結果所耗費的時間僅為0.015s,具有很強的工業實時性,同時實現的軸承故障的端對端智能診斷。
最終本文所采用的一維卷積神經網絡模型和對比模型的測試準確率如表9所示。對比可知,本文所使用的神經網絡模型的準確率達到了99.14%,遠高于傳統的BP神經網絡和支持向量機模型,說明本文所提出的方法可以很好提取并融合不同工況下且具有復雜故障的滾動軸承振動數據內在特征,并給出準確的故障識別結果。

表9 對比模型的測試準確率
本文將一種基于數據驅動一維卷積神經網絡應用于工況多變、故障復雜的滾動軸承智能故障診斷。所采用的方法可將傳統的信號預處理、特征提取以及分類三個步驟融合到一起,避免了人為的進行數據預處理步驟,實現了滾動軸承變工況下端對端的智能故障診斷,即輸入原始信號,該方法即可給出故障診斷結果;該方法不但有更高的故障識別率,而且還具有良好的泛化能力和實時性。