姚德臣,劉恒暢,楊建偉,李 熙,崔曉飛
(1.北京建筑大學 機電與車輛工程學院, 北京 100044;2.北京建筑大學 城市軌道交通車輛服役性能保障北京市重點實驗室, 北京 100044;3.北京市地鐵運營有限公司, 北京 100044)
隨著城市軌道交通運營里程的迅速增加,運送客流規模急劇增大,城軌列車作為城市軌道運輸的載體,如何在快速運行條件下保障城軌列車的運行安全已經成為各城市共同面臨的嚴峻考驗。以某地鐵統計數據為例,在軌道車輛走行部故障中機械部件故障高達78%,軸承是最易損壞的零部件之一[1]。
列車軸承最常見故障模式為局部損傷或缺陷,缺陷部位通過其他接觸元件表面時會產生沖擊振動[2]。因列車運行環境的特殊性,極易導致軸承復合故障發生。列車軸承復合故障發生時,其振動信號往往是非線性非平穩的,且包含有多種頻率成分,而且在其運行過程中,這些頻率成分的幅值和頻率又會受到周期性沖擊力的調制。因此,列車軸承復合故障振動信號是一種非線性非平穩的多分量調幅-調頻信號[3]。傳統滾動軸承故障診斷方法通常包括以下步驟:
(1)原始振動信號的數據預處理。
(2)振動信號特征提取。
(3)使用指定的模型進行故障分類[4]。
特征提取是為了提取信號中有用的故障信息,從而提高故障診斷的準確率[5]。常用的特征提取方法包括短時傅里葉變換(STFT)、小波變換、主成分分析法等。就目前國內外常用于故障特征提取的各種信號處理方法來說,雖然都具有一定的效果,但在針對非平穩、非線性信號的適用性方面以及方法本身的理論方面,仍存在著不同程度的局限性。
目前多數故障診斷方法在面對非平穩、非線性信號時需要人工選擇特征,不同的特征選擇決定了故障診斷的效果;另一方面現有特征提取方法隨著數據量的增大,算法性能會逐漸降低。為克服上述診斷方法缺點,深度學習理論被引入到故障診斷領域。深度學習來源于機器學習,目前被廣泛應用于圖像檢測、圖像分類、自然語言處理等領域,被稱為未來走向人工智能的途徑之一。與傳統淺層模型相比,深度學習避免了對診斷經驗和特征提取的需求,同時能夠滿足在“大數據”時代,對故障診斷準確率的高要求[6]。
CNN最初被作為一個深度學習架構提出,可以直接使用圖片像素矩陣作為輸入,避免了繁瑣的特征提取。CNN模型具有三大特點:權值共享,局部連接,降采樣[7]。局部連接意味著每個神經元結點只需要接收局部的像素點作為輸入,不用像傳統的多層感知機(MLP)每一個神經元都要接收圖片的全部像素點信息。權值共享則意味著同一卷積層中每一個過濾器的權重是一樣的,因此卷積層的參數量只和卷積核的尺寸大小有關。降采樣來自于池化層,減少了輸出參數量,使模型具有對輸入數據平移的容忍性,提高了模型的泛化能力。CNN模型解決了傳統神經網絡在層數加深后計算復雜度大、過擬合的問題,大幅提高了模型的泛化能力。
CNN模型已廣泛應用于故障診斷領域。文獻[8]提出基于卷積神經網絡的滾動軸承故障診斷,利用CNN模型成功對美國凱斯西儲大學公開的軸承故障數據進行分類。文獻[9]于1998年提出了手寫字體識別的LeNet-5模型,由于其較強的泛化能力,至今仍在很多領域被改進應用。文獻[10]提出短時傅里葉變換和LeNet-5模型結合分析軸承故障。文獻[11]提出卷積神經網絡和小波時頻圖相結合的滾動軸承故障診斷。上述方法都能有效診斷軸承外圈、內圈和滾動體故障,但較難辨識軸承復合故障。
本文采用一維振動信號轉二維圖像的思想,利用CNN模型特征挖掘能力,免去了故障診斷中篩選特征環節,提高了故障診斷效率,為改進軸承故障診斷路線提供了新思路。
本文提出的基于深度學習的城軌列車軸承復合故障診斷方法,利用CNN模型圖像分類的功能對軸承復合故障進行診斷。首先需要將采集到的一維振動信號進行標準化,并轉換為二維數組,將數組以圖形方式保存作為特征樣本,分為訓練集和測試集;在Le-Net5模型的基礎上建立深度學習模型;將訓練集作為模型的輸入,對模型進行訓練,獲取適合城軌列車軸承故障診斷的最佳網絡架構和參數;最后將測試集輸入到訓練好的模型中,對模型效果進行評估。故障診斷方法流程見圖1。

圖1 診斷方法流程
原始振動數據為一維時間序列信號,而CNN模型的輸入數據要求是二維矩陣。為了將一維時間序列轉換成二維數據矩陣[12],實驗基于固定取樣間隔R,每次取樣M個采集點為一個行向量li,將li進行歸一化。對于取N個行向量所構成的M×N矩陣P,為一個圖像樣本。實驗中R取1 024,M、N取64。li歸一化公式為
P=[l1l2…ln]T
(1)
(2)
式中:x*為歸一化前的值;xmax為最大值;xmin為最小值。
振動信號生成圖像樣本見圖2,經過偽彩色處理后的故障圖像樣本見圖3。

圖2 振動信號生成圖像樣本

圖3 振動信號故障圖像樣本
深度學習模型一般由輸入層、卷積層、池化層(降采樣層)、全連接層和輸出層組成。
輸入層是整個深度學習模型的輸入,一般會對輸入數據進行數據預處理,比如去噪、數據歸一化等,在本實驗中,輸入層的數據即灰度圖的像素矩陣。
卷積層是卷積神經網絡能夠發揮其優勢最重要的層次,與傳統的全連接神經網絡不同,卷積層中每一個節點的輸入都是上一層中的一小塊,因此卷積神經網絡具有稀疏交互的特點,而這一特征通過“卷積核”實現[13]。卷積核也稱過濾器,卷積核用來提取輸入數據中最基本的特征,卷積核的數量越多,卷積層能夠提取的圖片有效高階特征也就越多。每一個卷積核的輸出被稱為特征映射(Feature Map),卷積核的尺寸決定了特征映射的尺寸,卷積核的深度決定了下一層節點矩陣的深度。卷積神經網絡具有權值共享的特性,即每一個隱含節點的參數都是一樣的,所以卷積層的參數數量與卷積核的尺寸和深度有關,相對于傳統全連接神經網絡,卷積神經網絡的參數個數減少了幾個數量級。卷積操作計算過程見圖4。

圖4 卷積操作
構建卷積層時,需要設置圖像填充方式和卷積步長。圖片每次進行卷積運算后,輸出圖片的尺寸都會變小,在邊緣像素點的信息也可能丟失。為避免上述問題,提出對圖像使用全0填充,在輸出的節點矩陣邊界位置補充0使得輸出節點矩陣和輸入節點矩陣的尺寸相同。卷積步長表示卷積核每次在進行卷積運算時,其在圖片上的步進長度[14]。例如一個輸入圖片尺寸為n×n、卷積核尺寸為f×f、全零填充的值為p、卷積步長為s的卷積層輸出矩陣尺寸為
(3)
卷積層后通常會接池化層,池化層可通過縮小矩陣的尺寸進一步減少模型的參數數量,池化層通過一個與卷積核類似的結構完成運算,與卷積核區別在于,池化層通過計算矩陣區域中的最大值或者平均值達到縮小矩陣尺寸的目的,計算最大值方法的池化層被稱為最大池化層,計算平均值方法的池化層被稱為平均池化層。目前較常應用的為最大池化層。池化層使得CNN具有對圖像縮放、旋轉和平移的不變性[15]。最大池化層的計算過程見圖5。

圖5 最大池化操作
為了驗證本文所提算法的有效性,設計軸承故障試驗臺。試驗臺由驅動電機、聯軸器、齒輪箱和磁粉制動器等組成,齒輪箱按城軌列車齒輪箱傳動比定制。在試驗臺整個運行過程中,采集振動加速度信號,采樣頻率為12 kHz,轉速為1 200 r/min,包含5種軸承狀態:正常、內圈故障、外圈故障、滾動體故障以及復合故障。實驗用的軸承型號為NJ202ECP。部分狀態軸承見圖6,外圈故障軸承由于外圈無法拆卸,所以沒有拍攝故障圖片。

圖6 軸承運行狀態
實驗在Tensorflow的框架下開發,使用AMD的R5-2600x CPU(主頻3.6GHz),WIN10 64位操作系統,NVIDIA GTX1060顯卡,主機上安裝了 CUDA 9.0,Cudnn7.3對顯卡運算進行加速。
每類故障中隨機抽取500個樣本,組成一個具有2 500個樣本的訓練集,再從剩余的數據集中分別從每種狀態隨機抽取100個樣本建立一個具有 500個樣本的測試集。
由于多分類CNN模型的輸出為一個概率分布,所以要求輸入標簽必須是概率分布的形式,從而能夠計算出模型輸出與輸入標簽之間的交叉熵,根據交叉熵對網絡進行優化。為解決上述問題,數據集中的樣本全部使用獨熱編碼(one-hot)制作標簽,one-hot編碼即將數字轉化為一個只有一位是1,其余均為0的向量。使用one-hot編碼的標簽見表1。

表1 標簽編碼
實驗算法基于Tensorflow開源深度學習框架進行設計,本實驗采用數據集通過Tensorflow提供的統一存儲格式TFRecord進行存儲。
在Le-Net5模型基礎上建立適用于軸承故障診斷的深度學習模型,原始Le-Net5模型共有7層,包括3個卷積層、2個池化層和2個全連接層。原始Le-Net5模型見圖7。

圖7 原始Le-Net5模型
采用原始Le-Net5模型對軸承狀態進行辨識,存在訓練時間長、泛化能力差、分類效果不理想的問題。
為提高模型的收斂速度和精度,分別對模型的訓練迭代次數、卷積核的尺寸、學習率、層數和優化器的選擇等進行了實驗。常用的卷積核尺寸有1×1,3×3,5×5。經多次驗證,將卷積核尺寸定為5×5,卷積步長和池化步長均設為1。卷積操作和池化操作均使用全零填充,池化層使用最大池化方法。
原始的Le-Net5使用梯度下降法(Gradient)對模型參數進行優化,出現了訓練時模型無法收斂的情況,即使加大訓練迭代次數損失函數loss依然較大。因此在實驗中將優化器替換成Adam優化器,Adam是一種自適應參數更新算法,可以在訓練過程中改變學習率的值,根據梯度的一階矩估計和二階矩估計提供自適應性學習率。Adam優化器的詳細流程見表2。β1、β2為指數衰減率,α為初始學習率,ε為常數避免除數為0的情況。

表2 Adam優化器的詳細流程
為防止模型出現過擬合問題,提高模型的準確率,使用Dropout和L2正則化進行過擬合優化。為提高模型的泛化能力,Dropout通過在訓練模型時,隨機將指定比例的神經元節點的權值一般失活比例選為50%,本次實驗中也設定為50%。
L2正則化通過權重衰減的方式,限制模型的學習能力,防止過擬合問題的出現。L2正則化的衰減公式為
(4)
式中:L為加上權重衰減后的損失函數;J為初始損失函數;λ為正則化懲罰參數;w為權重參數。
對模型中優化器種類和過擬合優化的使用進行多次實驗,不同模型在訓練集和測試集上的實驗效果見表3。批尺寸(batch size)設為100,訓練迭代次數設為4 000,學習率設為0.001,模型的網絡連接方式為C1-P1-C2-P2-FC1-FC2。C代表卷積層;P代表池化層;FC代表全連接層。模型的網絡結構見圖8。

表3 不同模型實驗效果

圖8 模型網絡結構
圖9、圖10分別為模型在使用不同優化器和過擬合優化時,loss值的優化效果以及訓練時精度的變化。由圖9、圖10可以看出,Adam優化器相對于Gradient優化器可以加快模型收斂的速度,提高對loss值和訓練精度的優化效果。

圖9 不同優化器對loss的優化

圖10 不同優化器訓練集的精度
通過t-SNE算法可對模型在測試集上的預測進行降維和可視化,使輸出的多維預測數據展現在2維空間上。t-SNE算法詳細過程見表4[16]。表3不同模型在測試集上的數據分布見圖11。

圖11 不同模型的測試集數據分布

表4 t-SNE算法詳細過程
為評測不同模型對每個狀態的分類精度,對不同模型診斷結果使用混淆矩陣進行可視化,矩陣最右列代表輸出類的精度,最后一行代表召回率。表3不同模型在測試集上的混淆矩陣見圖12。




圖12 不同模型的混淆矩陣
從實驗結果可以確定最佳CNN模型。模型在訓練時使用Adam優化器和過擬合優化時,可有效辨識列車軸承的復合故障。
本文針對傳統故障診斷方法,需要進行特征提取、依賴專家知識等缺點,提出基于深度學習的城軌列車軸承復合故障診斷方法,將其應用在列車軸承復合故障診斷中。通過實驗,得到如下結論:
(1) CNN模型能夠實現端對端的診斷模式,省去了傳統診斷方法中復雜的特征工程。只需向模型輸入轉換后的圖形,即可輸出診斷結果。
(2) 通過使用Adam優化器對模型參數進行優化,能夠加快損失函數收斂速度,提高模型的訓練效率。
(3) 通過在訓練中使用L2正則化和Dropout進行過擬合優化,能夠有效提高模型的泛化性。最終模型在測試集上可以準確識別列車軸承的復合故障。
實驗結果表明本文提出的基于深度學習的軸承故障診斷方法能較好地辨識城軌列車軸承復合故障。