王承超,王湘江
(南華大學 機械工程學院,湖南 衡陽 421001)
《中國制造2025》的提出使制造業向自動化、智能化、機械設備無人化發展[1],如何確保機械設備在無人化環境中的安全平穩運行成為現代制造業發展中的難題。旋轉機械作為現代制造業的重要設備,在實際生產中使用范圍廣,產生的故障類型多,且故障的嚴重程度不均衡,為保障旋轉機械在無人化環境中的穩定運行,確保生產安全,有必要針對旋轉機械的故障特點建立合適的智能故障監測與診斷系統。
目前,故障診斷方法主要有基于專家經驗的診斷方法、基于信號處理的“淺層學習”及基于數據驅動的“深度學習”三大類[2]。但隨著機械設備不斷復雜化、精密化,基于專家經驗和信號處理的故障診斷方法已經難以滿足當前“大數據”時代下的故障診斷需求[3-4],期望通過知識經驗及精密的數學模型對機械故障進行診斷愈發困難,且隨著機械設備不斷更新,故障類型愈發繁多,傳統的故障診斷知識難以涵蓋所有故障類型。目前常用的基于支持向量機[5](Support Vector Machine,SVM)、決策樹[6-7]及人工神經網絡等“淺層學習”模型的故障診斷系統因為算法結構過于簡單,導致在復雜環境中故障診斷效果不佳。為了彌補這一不足,研究人員通過傅里葉變換[8]、小波變換[9]等時頻域分析方法對模型的特征提取能力進行優化,進一步加強了模型的特征結構。此類方法雖然取得了一定的成果,但是由于人工特征提取能力的有限性,在多類型、高維度的故障診斷任務中仍然效果不理想。
近年來,由于Hinton等[10]提出的“深度學習”(Deep Learning,DL)模型在智能特征提取上的優良表現得到了業內學者的廣泛關注[11-12]。辛闊等[13]提出了一種基于深度Q學習網絡的滾動軸承故障診斷方法。Abdeljaber等[14]構建了一種深度自適應一維卷積神經網絡,用于鋼架損傷的故障檢測。劉頡等[15]利用奇異值分解得到的特征向量建立了圖卷積神經網絡對小樣本滾動軸承數據進行診斷,解決了機械故障診斷中由于樣本不足導致特征提取困難的問題。以上研究雖然通過構建不同的“深度學習”模型解決了在故障診斷中人工特征提取能力不足的問題,但是針對多類型、多層次的機械故障診斷任務,以上模型忽略了不同程度下故障特征的差異性,在故障特征具有明顯差異的情況下,同時對所有故障使用同一模型診斷不僅增大了計算量,而且容易造成“深度學習”模型訓練困難、模型難以收斂等問題[16]。
對于機械故障演化機理的研究表明,微小故障經過時間累積往往會形成嚴重故障,且演變過程往往伴隨越發明顯的振動、噪聲等故障特征[17],即表明嚴重故障產生的特征信號往往越明顯,而細微故障由于損傷微小,其產生的特征較為模糊,由此認為,嚴重故障通過基礎的特征分類能有效識別,而微小故障由于特征不明顯,需要對特征進行深度提取才能有效區分。基于此,針對旋轉機械產生的故障特點,本文提出了一種基于ID3決策樹和卷積神經網絡(ID3-CNN)的故障診斷模型。該方法由淺至深進行特征提取,利用t-SNE對特征進行兩次降維,確定特征分布規律,最后通過ID3決策樹與卷積神經網絡進行分類,以完善模型的特征提取能力,提高故障診斷的準確率。
ID3算法是一種逼近離散函數值的計算分類模型,在類型差異較大的數據集中,訓練好的ID3模型具有分類速度快、準確率高等優點[18],因此被廣泛應用于具有明顯特征的故障診斷和數據挖掘中。其基本結構是由一個根節點、若干個內部節點及若干個葉子節點組成。ID3模型中根節點的樣本集通過內部節點計算特征的信息增益實現最優劃分,并在葉子節點處顯示出數據的類型,得到最終的分類結果。其內部節點的計算過程如下。
信息熵是指數據集內部的混亂程度,信息熵越大則表示數據集越混亂。假設信號集S含有S=(s1,s2…sn)種信號,每種信號對應在集合中的概率分別是P=(p1,p2…pn),則該信號集S的信息熵可以表示為
若數據集Y中含有a種訓練樣本(y1、y2…ya),訓練集樣本量為T,設屬性X中有n個值(x1、x2…xn),樣本Y經過屬性X劃分為(Y1、Y2…Yn)的n個子集,每個子集中的樣本量為(e1、e2…en),則劃分后數據集Y的信息熵計算公式為
式中,p(xi)為第i個子集的權值,其計算公式為
式中,E(Y|xi)為在屬性X=xi時子集Yi中的信息熵,其計算公式為
式中,p(y)為子集Yi中的樣本等于y的概率。
則訓練集Y在經過屬性X劃分后的信息增益為
卷積神經網絡是一種具有較強表征學習能力的前饋神經網絡,通過卷積運算可以從本質上對混雜的數據類型進行有效區分。其主要結構包括輸入層、卷積層、池化層、全連接層。如圖1所示,輸入信號經過卷積層、池化層進行特征提取,隨后對數據展開,通過全連接層和Softmax函數進行計算分類并得到診斷結果。

圖1 一維卷積神經網絡結構
1.2.1 卷積層
卷積層將卷積核與樣本進行卷積運算提取出數據中含有的特征信息,計算公式為
1.2.2 池化層
池化層本質上是一種下采樣計算,通過池化可以對特征矩陣進行降維,避免在訓練過程中產生過擬合現象。常用的池化運算為平均池化和最大池化,本文選用最大池化運算,計算公式為
式中:β、b為權重矩陣和偏置矩陣,down( )為下采樣函數。
1.2.3 全連接層
特征矩陣通過全連接層進行整合,將二維特征展開為一維數據,并使用Softmax激活函數進行轉化,可得
式中:w0、b0分別為權值矩陣和偏置矩陣,fv為特征矢量,f( )為Softmax激活函數。
ID3-CNN的基本架構如圖2所示。輸入層對原始的長時序數據進行采樣,制作訓練所需的樣本,特征提取層對樣本數據進行兩次特征提取,提高模型的特征表達能力,然后對各類數據進行屬性劃分,得到診斷結構,完成對數據的檢測。

圖2 ID3-CNN基本架構
原始信號采樣時間較長,大量特征信息在長時序信號中產生重疊,造成樣本浪費,由此在不損失信號特征屬性的前提下,本文對長時序信號進行了滑動重疊采樣[19],從而擴充訓練集樣本,提高訓練中模型參數的精確性,如圖3所示。

圖3 滑動重疊采樣
滑動窗口在滑動步長的控制下,在時間方向上對原始長時序信號進行滑動采樣。假設采樣長度為L,滑動窗口長度為S,滑動步長為D,則采集到的樣本數量N計算公式為
ID3-CNN模型建立了具有兩次提取過程的特征提取層,首先通過人工提取信號特征,然后使用卷積運算對人工提取中特征混疊的故障類型進行再次提取。并利用t-SNE方法對兩次提取到的特征進行了降維可視化,直觀表現出兩次特征提取后的數據變化。特征提取過程如圖4所示。

圖4 ID3-CNN特征提取
在卷積中常用的激活函數是Sigmiod、tanh等非線性函數,但是Sigmiod函數容易導致模型的收斂速度變慢,存在梯度丟失問題,本文在此處采用tanh激活函數:
輸出層將對原始數據中提取到的特征進行類型劃分,通過ID3及CNN模型同時對不同類型的故障類型進行分類,直觀表現出每種數據的故障類型。
為驗證本文所提出模型的有效性,本文選用凱斯西儲大學軸承數據集(CWRU)進行了試驗。試驗基于Tensorflow深度學習架構,試驗條件為R7-4800H、GTX1050Ti、Windows 11。
凱斯西儲大學軸承數據庫(CWRU)選用的軸承為6205-2RSJEM SKF深溝球軸承,采樣頻率為12 kHz,轉速為1797 r/min,數據庫主要包含在基座、驅動端、風扇端采集到的軸承內圈、外圈、滾動體故障,并測試了各部位故障中4種不同程度的故障類型,本文提取了在驅動端采集到的內圈故障、外圈故障、滾動體故障及正常運轉等7種數據類型進行模型的驗證,如表1所示。
在本次試驗中,首先對原始數據進行人工時域特征提取,并且對提取的人工時域特征使用t-SNE進行降維可視化,確定故障的特征分布,隨后對可視化中顯示的特征混疊的故障進行卷積運算,提取深度特征,最后對第一次t-SNE可視化提取到的具有明顯特征的故障類型使用ID3決策樹進行甄別,對第二次特征提取的故障類型使用卷積神經網絡進行診斷。
試驗中每種故障選用75%的樣本數據用于模型訓練,其余數據用于測試訓練好的模型。時域特征提取類型如表2所示,在人工時域特征提取完成后對訓練集的樣本數據進行隨機序列打亂。

表2 時域特征及計算
在本次試驗中,卷積神經網絡的最大迭代次數為1000次,卷積核數量(filters)為112,卷積核尺寸(kernel_size)設置為2。同時為了驗證本文建立的模型性能,本文構建了支持向量機(SVM)和二維卷積神經網絡(2D_Convolutional Neural Networks,2D_CNN)用于對比實驗。
模型性能通過測試的準確率表現,其定義式為
首先通過滑動采樣對原始數據進行樣本提取,采樣窗口長2048,為增強樣本數據之間的關聯性,設置采樣重復區域長度為1000,對每種數據各采集100個樣本,并劃分為訓練集(75%)和測試集(25%),訓練集中20%作為驗證集,在訓練過程中進行交叉驗證。時域特征的提取結果如圖5所示。

圖5 部分時域特征

圖6 按時域特征進行數據重打標簽
可發現標簽為B4、OR1、NM的數據類型在時域特征中與其他數據具有明顯的區分,標簽為B1、B2、B3、IR1的數據在時域特征中發生混疊,不易與其他數據區分。因此,根據故障形成機理,將峰值特征突出的B4、OR1故障定義為嚴重故障T4、T3,將峰值差異較小的B1、B2、B3、IR1定義為輕微故障T2,如表3所示。

表3 數據標簽重構
使用t-SNE方法對原始數據及模型二次提取到的特征進行了降維可視化,如圖7所示。

圖7 原始特征與ID3-CNN提取的特征分布可視化圖
圖7中t-SNE降維結果表明,原始數據混疊雜亂,很難通過分類器進行有效鑒別,經過人工提取特征后,部分故障類型界限較為清晰,但仍有混疊現象,第二次特征提取后,各故障的數據特征界限清晰,具有較高的可分性,為模型的分類準確性提供了保障。
利用處理后的數據構建決策樹,如圖8所示,在不對決策樹進行預剪枝的前提下,經過數據標簽重構后的ID3決策樹沒有出現數據過擬合的現象,決策樹模型結構清晰明了。

圖8 重新定義標簽后構建的決策樹

圖9 卷積神經網絡訓練準確率及損失與迭代次數的關系
故障等級嚴重的T3、T4類型在該決策樹上測試準確率達到100%。輕微故障T2在經過決策樹篩選后,由卷積神經網絡進一步提取特征。輕微故障T2在卷積神經網絡中訓練的準確率和訓練損失如圖10所示,經過1000次迭代后準確率接近100%。

圖10 各模型在不同故障類型中診斷的準確率
輕微故障T2的測試集在卷積神經網絡中測試的準確率為95%左右。
同時使用訓練好的ID3-CNN 模型與SVM、2D_CNN進行了對比實驗,對比結果如圖10所示。
2D_CNN測試平均準確率為92.57%,SVM模型測試平均準確率為91.42%,本文構建的ID3-CNN診斷模型測試平均準確率為97.14%。本文構建的模型在時域特征模糊的故障類型T2(B1、B2、B3、IR1)中診斷準確率達到95%,高于二維卷積神經網絡和支持向量機模型的準確率,且在特征明顯的故障類型T3(OR1)、T4(B4)中,本文構建的模型診斷準確率達到了100%。
本文提出了一種基于ID3決策樹與卷積神經網絡融合的旋轉機械故障診斷方法,針對旋轉機械故障類型多、故障等級不均衡的特點,利用不同故障類型之間特征的差異性,首先對故障特征進行人工提取,然后對人工故障特征混疊的故障類型進行二次特征提取,加強了模型的特征表達能力,針對不同等級的故障類型使用不同的分類器,減小了模型的訓練難度,取得了良好的故障診斷性能,主要結論如下:1)利用不同故障之間的差異性,使用多種模型進行故障診斷,相比于傳統單一模型,能有效減小模型的訓練難度,提高模型性能。與SVM、2D_CNN相比,ID3-CNN模型識別準確率得到提高。2)相比于傳統模型中的單次提取,對故障特征進行兩次提取,經過t-SNE方法降維可視化表明,兩次特征提取的故障類型更具線性可分性,提高了模型的特征提取能力。