張超,秦敏敏 ,張少飛
(1.內蒙古科技大學機械工程學院,內蒙古包頭 014010;2.內蒙古自治區機電系統智能診斷與控制重點實驗室,內蒙古包頭 014010)
機械設備廣泛用于現代社會的各行各業,軸承是機械設備中最通用的組成部件,一旦發生故障,很可能引發嚴重的事故。近幾十年來,由機械設備故障而引發的嚴重經濟損失和人員傷亡事故的例子很多。如陜西秦嶺發電廠發生了由軸系斷裂引起的5號發電機組故障停機,導致了巨大的經濟損失。因此,全面了解軸承運行狀態是保證設備正常運轉的必要一環。
在滾動軸承故障診斷領域中,常用的分類算法有支持向量機(SVM)和人工神經網絡(ANN)。但SVM和ANN都存在著缺陷。SVM對缺失數據十分敏感,且對于非線性問題沒有固定的解決方法,因此核函數的選擇變得尤為重要。ANN的使用需要大量的參數,如網絡拓撲結構、權值等,且學習時間過長。XGBoost是由CHEN和GUESTRIN提出的一種新型提升決策樹算法,能夠利用CPU的多線程實現多行并行運算,大大減少了運算時間,且算法的精度更高,這些優點使得XGBoost被廣泛應用于工程領域。
當XGBoost應用在軸承故障診斷時,首先需要使用合適的方法從時序信號中提取出相關的特征信息,然后將這些特征數據作為輸入。當前軸承信號特征提取的方法主要有時域分析法、頻域分析法和時頻域分析法。張鈺等人提出使用時域分析提取特征,把最大值、峭度、歪度等指標做為特征向量輸入到XGBoost中進行訓練和分類,但是該方法忽略了信號中的頻域信息和時頻域信息,分類效果較差。針對上述問題,吳定會等提出從信號的時域、頻域、時頻域中共同提取特征,將多特征融合向量輸入XGBoost中進行訓練和分類,雖然該方法充分挖掘了信號的特征信息,但是步驟過于繁瑣容易出現錯誤,且自適應性差。基于軸承信號的非線性特點,還可以使用小波包變換法進行特征提取,但是使用單一方法會使得特征的提取不充分,容易造成有用信息的丟失。與上述的特征提取方法相比,一維卷積神經網絡(One Dimensional Convolutional Neural Network,1D CNN)解決了人工手動提取信號特征的弊端,可以自適應地對軸承信號特征信息進行深度挖掘,得到更完整的特征信息。
綜合以上分析,本文作者利用一維卷積神經網絡和XGBoost的優勢,提出混合模型1D CNN-XGBoost,以實現滾動軸承信號的自適應特征提取,縮短故障分類時長,得到具有較高準確率和良好泛化性能的故障分類模型。
卷積神經網絡是一種深度學習算法,其基本結構如圖1所示。該算法的本質是對多個卷積核進行不斷學習,再使用卷積核對數據進行卷積和池化操作,從而達到提取數據相關特征的目的。一維卷積神經網絡的結構與CNN相似,但是其輸入為一維向量,卷積核和特征圖也是一維的,因此一維卷積神經網絡更加適合處理時序信號。

圖1 CNN基本結構
卷積層是卷積神經網絡的核心部分,卷積層通過卷積核對前一層的特征圖進行卷積得到相應特征,再使用合適的激活函數進行非線性變換獲得新的特征圖,具體過程如下:

(1)

下采樣層也叫池化層,深度學習中存在許多不同的池化函數,如最大池化函數,其作用是通過卷積核將輸入的特征圖劃分為許多矩形區域,并且輸出每個區域的最大值。池化層通過不斷地減小數據的空間大小,使得相關的參數隨之減少,在一定程度上防止過擬合的發生。池化過程如下:

(2)
式中:()表示最大池化函數。
輸出層包含了全連接層和分類層兩部分,其中全連接層的作用是將上一層的分布式特征映射到一維空間中,再通過分類層進行分類輸出。全連接層轉化過程如下:

(3)
XGBoost算法是對GBDT算法的一種改進。XGBoost與GBDT的最大區別是XGBoost對代價函數進行了二階泰勒展開,并加入了正則項,使得過擬合的情況不易發生。并且XGBoost使用多線性并程計算,使得訓練速度得到了巨大的提升。其算法模型如下:

(4)

該模型的目標函數包括損失函數和正則項兩部分:

(5)

采用加法分布的策略對該模型進行優化,可以確保損失函數不斷降低,直到優化完所有的棵樹。
1D CNN-XGBoost算法的流程如圖2所示。該模型主要由1D CNN特征提取器和XGBoost分類器兩部分組成。首先將軸承信號劃分為訓練集和測試集,再將訓練集數據輸入到一維卷積神經網絡進行訓練,待訓練完成時,保存該網絡模型并使用該網絡提取特征,再將特征向量輸入到XGBoost進行訓練,最后使用訓練好的XGBoost模型進行故障分類。

圖2 1D CNN-XGBoost算法流程
采用凱斯西儲大學軸承數據中心提供的數據集作為實驗的數據來源。實驗臺如圖3所示,該實驗臺由1.5 kW的電動機、扭矩傳感器和一個功率測試計組成。使用電火花加工技術分別對軸承內外圈和滾動體引入故障,故障尺寸為0.177 8 mm。在軸承的驅動端和風扇端分別安裝加速度傳感器進行數據的采集,由于風扇端受到的外部干擾較多,選用驅動端采集的數據,采樣頻率為12 kHz。

圖3 CWRU實驗臺
采集到的驅動端的4種不同的軸承狀態數據分別為正常狀態數據、內圈故障數據、外圈故障數據、滾動體故障數據。每種狀態取300個樣本,樣本長度為400;在每種狀態的300個樣本中,取210個樣本作為訓練集,剩下的樣本作為測試集,具體劃分如表1所示。

表1 數據集構建
本文作者使用的一維卷積神經網絡的模型結構如表2所示,主要包含2個卷積層、2個池化層和2個全連接層,每個卷積層的激活函數都為ReLU函數(),并且加入了一個dropout層防止過擬合;學習率設為0.01,迭代次數設為20,batch_size設置為32。將訓練集的數據代入模型中進行訓練,訓練過程中準確率曲線和損失函數曲線分別如圖4和圖5所示。可以看出:該模型沒有發生過擬合,訓練效果較好。當訓練完成時保存該模型,用該模型作為特征提取器提取特征,再將特征數據集代入到XGBoost模型中。

表2 網絡結構

圖4 準確率曲線(數據集1) 圖5 損失函數曲線(數據集1)
在使用XGBoost算法時,首先需要通過經驗對一些參數進行設置。決策樹的深度設置為6,若設置過大易發生過擬合;葉節點的最小權重為0.572 6;最小損失分裂值為0.811 6,;學習率為0.1,過大易發生過擬合,其余參數選擇默認值。參數設置完成后,再將一維卷積神經網絡提取的特征向量數據集代入XGBoost模型中進行訓練和測試,各種分類結果如圖6所示。可知:除內圈故障分類準確率為99%,其他類型準確率均為100%。該結果充分顯示了文中模型在故障分類精度上的優越性。

圖6 混淆矩陣(數據集1)
為進一步體現1D CNN-XGBoost模型的優勢,分別與XGBoost以及1D CNN模型進行比較,其中XGBoost模型使用的數據集并沒有進行特征提取,而是直接使用第4.2節中的數據集。在機器學習中,常常使用準確率、召回率以及準確率和召回率的調和平均數作為指標對模型分類效果進行評估。這些指標的計算公式如下:

(6)

(7)

(8)
式中:表示預測正確的標簽數量;表示預測標簽中錯誤的標簽數量;表示實際標簽中分類錯誤的標簽數量。
分類結果對比如表3所示。可以看到:1D CNN-XGBoost模型的各個指標均高于XGBoost和1D CNN模型,其性能有了很大的提升,同時發現沒有使用特征提取數據集的XGBoost的模型分類效果較差,準確率只有90.81%。更證明了在使用XGBoost前,使用合適的方法對數據進行特征提取的必要性。

表3 分類結果對比 單位:%
為驗證1D CNN-XGBoost的泛化性,使用一組新的滾動軸承數據集進行實驗。該數據來源于內蒙古科技大學機械工程學院的HZXT-DS-003雙跨雙轉子滾動軸承實驗臺,如圖7所示。

圖7 HZXT-DS-003 滾動軸承實驗臺結構簡圖
滾動軸承的型號為6205-2RS,用電火花在軸承滾動體外圈、內圈溝道上加工直徑為0.178 mm的單點損傷。軸承數據通過加速度傳感器從軸承座上采集,軸的轉動速度為1 000 r/min,采樣頻率為1.2 kHz。每種軸承狀態數據取樣本600組,樣本大小為1 024,每組樣本打上標簽,取400組作為訓練集,其余作為測試集,數據的劃分如表4所示。

表4 構建的數據集2
將訓練集數據代入一維卷積神經網絡中進行訓練,該一維卷積網絡的結構與第4.3節中的結構相同,其訓練過程的準確率曲線和損失率曲線分別如圖8、圖9所示。可以看到:曲線的波動幅度不大,測試集的準確率略低于訓練集,損失率略高于訓練集,模型未發生過擬合的情況,訓練效果較好。

圖8 準確率曲線(數據集2) 圖9 損失函數曲線(數據集2)
將訓練好的模型提取特征輸入到XGBoost模型中進行訓練,其中決策樹的深度設置為7;葉節點的最小權重為0.572 6;最小損失分裂值為0.611 6;學習率為0.1,其余參數設置為默認值。將訓練好的模型進行故障分類,結果如圖10所示。可知:軸承正常狀態的分類準確率為100%,內圈和滾動體的分類準確率為99%,外圈的分類準確率為97%。結果表明:1D CNN-XGBoost模型在其他數據集上依舊適用,且分類的準確率較高,普適性和泛化性得到了充分的證明。

圖10 混淆矩陣(數據集2)
XGBoost模型的輸入數據若不進行特征提取處理,其分類的準確率較低。因此,需要合適的方法對數據進行自適應特征提取。傳統的手動提取特征的方法較為繁瑣且丟失信息嚴重,本文作者提出的1D CNN-XGBoost模型可以自適應地提取特征,特征信息挖掘程度高。通過實驗對比可知所提模型的分類準確率高,具有很好的分類性能和泛化性,為軸承故障分類研究提供了參考。