古天龍,孫鎮海1,,賓辰忠,常 亮
(1.桂林電子科技大學,廣西 桂林 541004;2.廣西可信軟件重點實驗室,廣西 桂林 541004)
現代工業中,機械裝置故障診斷是安全生產必不可少的環節。滾動軸承是旋轉機械裝置中最為常用的部件,一旦軸承發生故障可能導致嚴重事故甚至造成巨大經濟損失和人員傷亡?,F主流方法是在軸承振動加速度時序信號進行分析與監測[1]。深度學習模型借助多層非線性映射能力更好的逼近復雜函數,往往比傳統方法有著更好的診斷精度。以往的研究表明,診斷精度在很大程度上取決于提取特征過程。因此,特征的抽取是故障診斷領域中一個重要研究方向[2]。
機器學習技術早已應用于軸承故障診斷中。如文獻[3]提出了基于LMD 和SVDD 的滾動軸承健康狀態評估算法。而卷積神經網絡(CNN)一直是深度學習領域炙手可熱的算法之一。許多學者提出優秀的卷積神經網絡經典結構,但是由于CNN與一維振動信號不兼容,導致這些模型并不能直接運用到故障診斷領域。文獻[4]提出以振動信號小波時頻圖作為二維卷積神經網絡模型輸入。文獻[5]開發了一種信號到圖像的轉換方法,使用2DCNN取得優異的診斷精度。上述算法通過一些方法將一維數據轉換為二維數據,振動信號作為一維時序信號轉換為二維數據保證不了轉換后數據關聯性是否遭遇破壞。因此,使用原始一維信號直接作為輸入數據是更為合理的診斷方案。
迄今為止,一維CNN 對時序信號處理已有了階段性成果。文獻[6]提出了一維多渠道CNN模型,應用于時序性序列的處理,但是多元的時序信號意味著多種傳感器。文獻[7]中,作者提出了WDCNN 模型,利用深度卷積網絡診斷方法;緊接著文獻[8]在WDCNN基礎上引入Drop-out卷積核方法,使模型泛化能力更上一層樓。而文獻[9]中,作者提出了一個自適應故障診斷算法,使用雙層卷積網絡,更為側重算法的魯棒性。
綜上,現階段一維CNN 診斷領域通常存在如下幾處存在不足:
(1)需要大量數據支持,未考慮極端環境的存在;(2)忽略振動信號固有特征,僅當作普通時序性信號處理。因此,這里更為關注使用小數據集獲得更好效果,同時還兼顧模型的適應能力。這里的主要創新點如下:①利用多尺度卷積層作為特征提取的方法;②考慮軸承振動信號的固有特征,利用軸承轉速,故障尺寸等參數確定模型參數,結合實際情況解決實際問題;③將BN網絡引入多尺度卷積神經網絡智能診斷算法中;④引用“數據增強”概念,大幅擴充樣本數量。
卷積神經網絡(CNN)由卷積層,池化層與分類層組成。本質上CNN是通過一系列方法將龐大的數據量不斷減少并保留數據主要特征。核心功能介紹如下:(1)局部感受野:采用CNN時,每個神經元只感受局部信息,最后將所有感受野得到不同振動信號的局部神經元進行篩選整合以獲得整體特征信息,這樣不僅減少的計算量也增加了神經網絡的可靠性;(2)權值共享:對一維振動信號使用多種濾波器進行卷積獲取多種特征向量,這時候每一個局部感受野參數共享,不僅可以進一步減少計算量,還能夠學習到更多樣的信號特征。
批歸一化(Batch Normalization)[10]是由Google公司提出應用于神經網絡訓練.目的在于減少訓練方差的偏移,代替一些正則化處理方法甚至比它們更為有效。通常在卷積層之后或在激活單元之前添加。
增加模型的泛化能力,也就是保證訓練集與測試集數據的分布情況相似。BN算法在卷積層之后對激活函數進行歸一化,減小數據偏移誤差。在文獻[11]中也驗證了該方法能夠使數據混雜地更為均衡,減小了數據集之間的差異性。
模型包括三部分:數據處理層、特征提取層和診斷分級層。具體細節將在下面展開。
數據處理層的目的是對原始振動信號數量上的擴充。在診斷過程中,通常采集到的振動信號是屬于長時間序列。它的建模和挖掘特征在數據量上很難滿足機器學習任務對數據量的要求。因此模型引入“數據增強”概念:將時間序列分割成若干個較短的時間序列,對訓練樣本進行重疊切片?!皵祿鰪姟笔疽鈭D,如圖1所示。步長為每一個樣本相隔的距離。
圖1 “數據增強”示意圖Fig.1 Diagram of the Data Augmentation
特征提取層利用深層多尺度卷積實現振動數據的特征信抽取。在第一層卷積階段,如圖2所示。模型以經數據處理層后的樣本數據作為輸入,再利用尺寸相異的4種不同卷積核并行提取不同跨度的時序信號分別對振動信號進行卷積操作。為了保證模型獲取最全面的特征信息,最大的卷積核長度設為軸承一整圈檢測點數,確保每一次卷積覆蓋了軸承一整圈振動信號,獲取振動信號全局特征,減少特征的缺失;然后結合長度大于故障區域采集點的卷積核獲取局部特征,確保故障區域異常數據在訓練過程中得到較大的權重;最后選擇2種在長短卷積核尺寸之間的卷積核,增加模型的寬度,使模型提取到的特征更為細膩,補充特征中振動信號前后紐帶關系。不同卷積核得到不同的軸承特征向量,一定程度擺脫了對數據量的依賴。定義模型輸入數據為S=(x1,x2,x3,…)卷積公式可描述為:
圖2 MSCNN框架圖Fig.2 Structure of the Proposed MSCNN Model
式中:Sj—輸入的振動特征向量;
N—不同尺度空間;
bj—第j個卷積核的權重與偏置;
xN(i)—第N維度空間內第i個局部區域。
模型在卷積層數據激活之前這里引入BN算法,減小數據偏差,增強模型泛化能力。
這里使用線性整流函數ReLU(Rectified Linear Unit)作為激活函數,池化方式為Max-Pooling。
其數學公式描述如下:
由于模型采用多次卷積的方法并使用數據加強技術,因此模型在卷積過程中誤差主要來源于卷積層參數誤差造成估計均值發生變化,而這種情況下,Max-Pooling 層對輸入特征執行局部Max 操作,以減少參數,獲得位置不變的特征更適合面對。因此池化方法選擇Max-Pooling。最終得到4 種不同維度空間特征向量。
最大池轉換描述如下:
W—池化寬度;
獲取到不同的特征向量后,可以選擇對不同特征向量進行深度提取,也可以選擇繼續利用尺寸相異卷積核對它們分別進行特征提取,這里選擇后者。對各個空間特征向量處理方法與上述處理原始信號方法相同最后輸出多個特征向量。
診斷分級層的作用在于整合所有特征向量,并利用分類函數進行健康狀態分級。這里使用首尾相連的方法實現對特征提取層得到的零散特征向量拼接操作,得到一維特征向量。
分類步驟由兩個全連接層完成,輸入層為拼接整合后的一維向量,中間層為過渡層,目的為了減少全連接的訓練參數,輸出層神經元個數為故障等級數目,最后利用Softmax分類函數實現的診斷分級,函數公式如下:
這里使用softmax輸出概率分布與目標分別之間的交叉熵,考慮到這里模型使用數據加強,BN算法可代替正則項,因此這里loss函數中并沒有正則項。設為p(x)目標分布,q(x)為預估分布,loss函數公式如下:
隨機梯度下降法(SGD)盡管近些年逐漸被Adam優化算法取代但仍不失為機器學習領域中是最為經典的優化算法之一。該方法通過在小批量數據上計算損失函數的梯度而迭代地更新權重與偏置項。
SGD公式如下:
式中:wk—第k次更新迭代;
λk-1—學習率;
f—損失函數。
在文獻[12]指出Adam雖然在訓練初期優于SGD,但在收斂后性能,泛化能力,穩定程度卻都不如SGD優秀。
凱斯西儲大學(Case Western Reserve University)實驗室提供了正常和故障滾珠軸承的加速度振動信號數據。該數據集含有單點驅動端和風扇端故障軸承在0hp,1hp,2hp,3hp不同馬力下的加速度數據。對于故障軸承,使用電火花加工技術對軸承外圈、內圈、滾動體制造直徑為7、14、21mils的單點缺陷。這里選擇驗證MSCNN算法時使用在3個缺陷部位的3種缺陷軸承加上正常軸承共十種類型軸承數據。
從軸承數據集描述中得到數據采集的頻率和轉速,推斷出軸承每圈采集的數據數量約為400;由單點缺陷尺寸與軸承外圈直徑得知最少需要4個測試點位覆蓋整個缺陷點。這里選擇每個樣本2000個數據點,保證每個樣本都覆蓋軸承一整圈測試數據且具備多樣性;第一層卷積層中,全局特征卷積核尺寸為400,局部特征卷積核為20。由于這里卷積核較寬,若在此基礎上使用深度卷積網絡則模型參數數量倍增而導致訓練效果不佳。因此這里將采取雙層卷積層模型。
為了驗證不同配置感受野神經元對實驗影響,在本小節實驗中每種故障情況選擇500個訓練樣本,每組實驗20次,迭代次數20,學習率為0.001,drop-out概率為0.3,batch大小為10(下文實驗中未明確說明的實驗參數與本次實驗相同)。評價標準為20組實驗平均測試集準確率。不同參數的實驗結果,如表1所示。
表1 不同參數的實驗結果Tab.1 Experimental Results of Different Parameters
結合上表數據,在這幾組實驗中已經充分證明利用振動信號固有特征進行模型參數的選擇是切實可行的方法。這里選擇第一層卷積層卷積核尺寸分別為400,200,100,50;第二層卷積層卷積核尺寸分別為32,16,8,4參數方案。
這里模型致力于擺脫軸承健康診斷對大量數據的依賴性。為了驗證效果是否符合預期,在本小節實驗里這里將與WDCNN等經典模型進行對比實驗研究。所有訓練的數據集,實驗參數等都是相同的,綜上測試集正確率依然不失為最佳評估標準。實驗結果,如表2所示。
表2 不同數量的實驗數據的實驗結果Tab.2 Experimental Results Using Different Amount of Experimental Data
表2中可以清晰看出,在模型的精度方面,三種模型隨著訓練樣本的增加,準確率上升。在500個樣本數量時MSCNN準確度基本達到100%,遠遠比其他模型精度要高。雖然在樣本逐漸增多的情況下WDCNN算法診斷精度不斷地提升,但是在數據量依賴程度來說,MSCNN算法模型是更加可靠地。
這里為了進一步證明在小樣本數據中MSCNN是否有著絕對的優勢,這里上述方法在樣本數據為500 時的訓練過程羅列出來,如圖3所示。測試集準確率略高于訓練集,表明實驗效果未發生過擬合現象??梢郧逦目闯?,MSCNN在不管是準確率上,還是收斂速度上MSCNN 都有著不錯的性能。樣本數據量為500,在機器學習領域不可謂大數據集。由此可見這里方案在減少診斷算法數據依賴的研究方面是確實可行。
圖3 訓練集與測試集準確率曲線Fig.3 Curves of Accuracy of Training and Testing Datasets
在實際工作中,機械系統的工作環境十分復雜,干擾因子數不勝數。在本小節中,這里通過不同的負載數據交叉實驗驗證MSCNN模型泛化能力。實驗過程中依然采用0馬力數據作為訓練集進行模型訓練,但是測試集使用換為1hp,2hp,3hp數據。測試集數據采用與訓練集相同的10種分類故障等級。依舊以測試集準確度為評估標準,實驗結果,如圖4所示。
圖4 不同數據集性能實驗Fig.4 Performance Experiments on Different Data Sets
根據上圖可以看出交叉實驗中,在此3種實驗條件下,診斷精度在90%以上僅有MSCNN。說明在交叉實驗中,一般機器學習模型是無法適應數據集的變化??偟膩碚f,本實驗證明了MSCNN能夠清晰的辨別的故障特征。
針對現有的診斷方法缺失對小ss樣本數據的處理能力,這里提出了一種一維多維度空間卷積神經網絡故障智能診斷模型MSCNN,保證診斷精度的同時也具備一定的泛化能力。
實驗證明MSCNN在各種工作條件下都能獲取精確的診斷結果,特別在小樣本數據情況下,MSCNN有著超群地精度。
該方法優點總結如下:
(1)可以直接作用于原始信號,有一定地實時監控能力;
(2)多維度空間卷積層拓寬與深化了神經網絡,能夠更好地學習振動信號特征,減少了對數據地依賴并增加了模型地泛化能力;
(3)結合振動信號固有特征確定模型參數,提高模型針對特定問題的診斷精度;