劉 琦
(92493部隊60分隊,遼寧 葫蘆島 125000)
滾動軸承是在機械設備中非常重要的關鍵部件之一。據統計,超過50%的旋轉機器故障與軸承故障有關,實施滾動軸承狀態監測與故障診斷具有非常重要的意義。
在當今工業現場,應用最多的是基于信號分析的故障診斷技術,其主要判據是故障特征頻率和特征圖譜。這種診斷方法要求技術人員熟悉設備的故障機理,了解設備的機械結構,儲備大量的先驗知識,但其診斷效率和準確度不高,難以適應日益復雜的機械設備系統。隨著大數據時代的到來與人工智能技術的突破,機器學習顯示出了巨大的潛力,智能診斷方法在故障診斷中顯示出了充分的可行性和優越性[1]。在機電大數據時代,如何有效利用海量生產制造數據并發揮出數據的價值,越來越成為工業轉型的研究熱點和重要突破口。
滾動軸承出現損壞故障的原因是復雜多樣的。大體上,可以將軸承的故障主要劃分為以下3種:外圈故障、內圈故障、滾珠故障。本文軸承故障數據來源于DC競賽開源數據的真實軸承振動信號數據集,數據集提供了792個數據樣本。通過按時間序列連續采樣,數值范圍為1~6000,得到振動信號能量值。采用的軸承具有3種直徑(直徑1,直徑2,直徑3),結合3種故障狀態,將軸承的故障類別定義為9類,外加正常的工作狀態,共將軸承的工作狀態定義為10類。標簽數據代表軸承的工作狀態,用數字0~9表示,軸承的工作狀態類別見表1。

表1 軸承的工作狀態類別Table 1 Working state category of bearing
因數據集是軸承采集的真實數據,且數據質量很高,本實驗不需對異常值進行處理。因此,本實驗數據的數據清洗工作主要為缺失值的處理,本文采取填補法處理缺失值。考慮到實驗數據為時序數據,針對空值取其前后各10組數據的平均值作為估計值。
本實驗數據是軸承在一段時間內的振動信號數值及其故障類別,振動信號數值已經說明,時間序列的同列取值不相關,甚至可以認為每一組數據時間序列數目也不一樣,所以必須對時序數據提取特征。本文提取了平均值、標準差、方差、最小值、最大值、中位數、偏度、峰度等8個時序數據特征值。
故障診斷可以視作一個模式識別問題,正常運行狀態與各種故障狀態都可以看作是一種特定的模式,可以根據提取出的特征進行分類識別。
如果預測的是離散值,例如“好西瓜”“壞西瓜”,那么此類學習任務稱為“分類”。當分類任務只包含兩個類別時,稱為“二分類”任務,例如判斷一個水果是不是西瓜,只會得到“是”或“不是”兩種輸出;當分類任務包含多個類別時,稱為“多分類”任務,例如判斷一個水果是西瓜、蘋果、菠蘿還是橙子等多個水果中的哪一種。
對于N個類別而言,多分類學習的基本思路是“拆解法”,即將多分類任務拆解為若干個二分類任務。具體而言,首先選定合適的拆分策略對問題進行拆解,然后針對每個拆解出來的二分類任務訓練一個分類器,最終通過某些策略對分類器的結果進行集成即可得到最終的多分類結果。
隨機森林是一種采用決策樹為基礎模型的Bagging擴展變體,進一步在決策樹的訓練過程中引入了隨機屬性選擇,在穩定性和準確性上取得了良好效果,得到了廣泛的應用。
簡單來說,隨機森林就是獨立取出訓練樣本生成決策樹,通過建立多棵決策樹進而組成一片“森林”。與單棵的決策樹進行比較,隨機森林采用合適的策略將多棵決策樹的結果進行結合,分類結果由多棵決策樹共同決定,彌補了決策樹存在過擬合情況的缺陷,分類精度更高。
為了解決梯度提升決策樹(GBDT)在海量數據中遇到的問題,2017年微軟在GBDT的基礎上推出了LightGBM算法,在模型訓練速度和內存方面進行了一定的優化,取得了不錯的應用表現。
under the new global economic and trade situation.(209)很明顯“順應全球經貿發展趨勢”在漢語是謂語,但在英語譯文中是狀語;“積極主動”是定語修飾“開放戰略”,但是英語中更適合作狀語 actively promote the opening--up strategy。實際上漢語應該這樣表達“更加積極主動地實行開放戰略,所以有的極個別漢語表達是具有迷惑性的,無意中會引起翻譯的困難。
面對海量數據,GBDT算法處理起來相對復雜,計算開銷非常大,難以兼顧精度和效率。而LightGBM模型的提出,主要在基于梯度的單邊采樣(GOSS)和互斥特征綁定(EFB)兩個方面做出了改進,大大降低了計算復雜度,在提升了模型計算效率的同時,還可以保證較高的準確率。
極限提升樹算法(XGBoost),是陳天奇提出的基于Boosting思想的一種梯度提升改進方法。XGBoost能夠利用CPU進行多線程并行計算,具有較高的運行效率;同時XGBoost在傳統GBDT算法的基礎上,對代價函數實現二階泰勒級數展開,把樹模型復雜度作為正則項加到優化目標中,減少了過擬合的可能性,使學習到的模型泛化能力更高,加快了收斂速度[3]。XGBoost以其靈活、高速、穩健等眾多優點,使其在機器學習和數據挖掘等科研領域廣受關注,目前多被用于構建故障診斷預測模型。
卷積神經網絡(CNN)是一種經常用來處理具有類似于網格結構的數據的神經網絡,是目前主流深度學習算法之一[4]。
卷積神經網絡是典型的層疊結構,其網絡基本結構包括輸入層、卷積層、池化層、全連接層和輸出層,示意圖如圖1所示。

圖1 典型卷積網絡結構示意圖Fig.1 Schematic diagram of a typical convolutional network structure
在經過數據預處理、特征處理與分析等流程之后,就可以開始構建模型了。一般地,會基于已有數據構建多個模型,從中選出與數據最為匹配的模型。此時,就需要利用評價指標衡量模型的效果。結合本文的研究任務,選取查準率、召回率、F1-Score、ROC曲線和AUC作為模型評價指標。
2.6.1 查準率
查準率(Precision)的定義是模型判為正例的所有樣本中有多少是真正的正樣本,其定義如式(1)所示:

2.6.2 召回率

2.6.3 F1-Score
F1-Score的定義是精確率和召回率的調和平均值,其定義如式(3)所示:

2.6.4 ROC曲線和AUC
ROC(Receiver Operating Characteristic) 曲 線 和 AUC(Area Under Curve)常用來評價分類器的優劣。ROC曲線的橫軸為假正例率(FPR),即反例被誤判為正例的比率;縱軸是真正例率(TPR),即正例被判斷正確的比率。通常,ROC曲線越接近左上角,分類器的性能越好。
AUC是ROC曲線下的面積,面積越大意味著分類器效果越好。
在實際的數據集中,測試數據中的正負樣本的分布很可能隨著時間變化,而ROC曲線具有一個特性,即在正負樣本的分布變化時ROC曲線仍然能夠保持不變。因此,ROC和AUC在眾多評價標準中深受研究人員喜愛。
2.6.5 損失函數
損失函數(loss function)是用來估量模型的預測值與真實值的不一致程度,通過使損失函數最小化,使模型達到收斂狀態,減少模型預測值的誤差。
3.1.1 隨機森林模型分類實驗結果
隨機森林模型實驗同樣取全部數據樣本的70%作為訓練集,30%作為測試集。使用隨機森林模型后,軸承故障診斷預測分類結果如圖2所示。

圖2 隨機森林分類實驗結果Fig.2 Random forest classification experiment results
隨機森林模型的總體分類準確率為0.95378。由圖2中可知,有11個故障樣本的故障類型被誤判,占全部樣本4.6%。在誤判的故障類型中,有10個誤判樣本均來自于故障2(內圈故障)或故障3(滾珠故障)。這是因為外圈故障振動信號周期性沖擊特性明顯,故障特性明顯,而內圈故障和滾珠故障因其結構和工作特性故障特征不太明顯,因此容易產生誤判。同時,可以觀察到,故障2(內圈故障)或故障3(滾珠故障)均屬于直徑1的軸承,可以理解為故障結果誤判與軸承直徑也存在一定關系。
3.1.2 LightGBM模型分類實驗結果
LightGBM模型實驗同樣取全部數據樣本的70%作為訓練集,30%作為測試集。使用LightGBM模型后,軸承故障診斷預測分類結果如圖3所示。
LightGBM模型的總體分類準確率為0.95798。由圖3中可知,有10個故障樣本的故障類型被誤判,占全部樣本4.2%。在誤判的故障類型中,有5個誤判樣本來自于故障2,占所有誤判結果的一半,造成這種誤判現象的原因很可能是內圈故障信號波形周期性沖擊特性較為不明顯,故障表現的較為微弱,容易產生誤判。同時,故障2的樣本數相比于其他樣本較少,也可能因此無法達到理想的訓練效果,從而影響實驗結果。

圖3 LightGBM分類實驗結果Fig.3 LightGBM classification experiment results

圖6 10次訓練Fig.6 10 times training

圖7 20次訓練Fig.7 20 times training
3.1.3 XgBoost模型分類實驗結果
XgBoost模型實驗同樣取全部數據樣本的70%作為訓練集,30%作為測試集。使用XgBoost模型后,軸承故障診斷預測分類結果如圖4所示。

圖4 XgBoost分類實驗結果Fig.4 XgBoost classification experiment results
XgBoost模型的總體分類準確率為0.94537。由圖4可知,有13個故障樣本的故障類型被誤判,占全部樣本5.4%。在誤判的故障類型中,有8個誤判樣本均來自于故障2或故障3,造成這種誤判現象的原因很可能與隨機森林模型結果誤判原因相同。
3.1.4 CNN模型分類實驗結果
CNN模型實驗同樣取全部數據樣本的70%作為訓練集,30%作為測試集。使用CNN模型進行訓練后,軸承故障診斷預測分類結果如圖5~圖8所示。

圖5 5次訓練Fig.5 5 times training

圖8 30次訓練Fig.8 30 times training
可以看出,經歷了5次訓練后的CNN模型總體分類準確率較低,僅為0.64285,有29個有故障樣本被判為無故障,此外還有大量的有故障樣本的故障類型被誤判;經歷了10次訓練后的CNN模型總體分類準確率大幅提升為0.98739;經歷了20次訓練后的CNN模型僅有1個樣本的故障類型被誤判;最終,經歷30次訓練后,CNN模型的訓練結果已經達到了1.00000,達到了軸承故障診斷與預測的最佳預期效果。
ROC和AUC評價指標結果如圖9~圖11所示。

圖9 隨機森林分類后的ROC曲線和AOCFig.9 ROC curve and AOC after random forest classification

圖11 XgBoost分類后的ROC曲線和AOCFig.11 ROC curve and AOC after XgBoost classification
使用CNN模型進行多次訓練后,查準率、召回率、F1-score、損失函數評價指標的變化如圖12~圖15所示。

圖12 精確率隨訓練次數變化Fig.12 The accuracy rate varies with the number of training sessions

圖15 損失函數隨訓練次數變化Fig.15 The loss function changes with the number of training
由以上圖表可以看到,在訓練20次時,模型訓練結果已經趨近最優;在訓練30次時,可以認為達到了最佳的訓練效果。

圖10 LightGBM分類后的ROC曲線和AOCFig.10 ROC curve and AOC after LightGBM classification

圖13 召回率隨訓練次數變化Fig.13 The recall rate varies with the number of training sessions

圖14 F1-score隨訓練次數變化Fig.14 F1-score Changes with the number of training
對比隨機森林、LightGBM、XgBoost以及CNN模型(訓練30次)的評價結果,匯總見表2,繪制柱狀圖如圖16所示。

表2 模型評價結果對比Table 2 Comparison of model evaluation results

圖16 模型評價結果對比Fig.16 Comparison of model evaluation results
從表2和圖16中可以看出,在機器學習的4個模型中,對比查準率、召回率和F1分數這3個評價指標,LightGBM模型均獲得最高的評價結果,但是隨機森林模型取得了最高的AUC分數,為0.997,比LightGBM模型的0.995得分還要高出0.002。AUC代表的是分類或者排序能力,與分類閾值無關,因此查準率高的模型其AUC指標也是可能出現較低值的。在本實驗中,CNN模型展現了其非常優秀的分類能力,經過30次迭代訓練,其各項指標已經達到最優。
本文以滾動軸承為研究對象,對滾動軸承多分類故障診斷技術進行了研究,卷積神經網絡分類速度快、精度高,展現出優異的分類能力,可在其基礎上進行擴展優化,獲得更優的分類結果。