?

基于改進一維卷積神經網絡的滾動軸承故障識別

2022-02-22 03:04鄧林峰趙榮珍
振動與沖擊 2022年3期
關鍵詞:軸承卷積神經網絡

王 琦, 鄧林峰, 趙榮珍

(蘭州理工大學 機電工程學院,蘭州 730050)

滾動軸承廣泛應用于工業生產設備中,是旋轉機械的核心部件,其健康狀態對機械設備的性能、效率和使用壽命有巨大影響[1]。因此,滾動軸承狀態監測及識別對于維護機械設備穩定運行至關重要。軸承振動信號中包含軸承狀態信息,通過對其進行分析處理可識別軸承故障狀態。然而隨著軸承監測點增多,數據量增大,傳統故障診斷方法已不能滿足大數據故障分析識別的要求[2]。因此,基于大數據技術的智能故障診斷方法成為當前一個研究熱點。

近年來,數據驅動的深度學習[3]方法以其強大的非線性關系表達和特征提取能力被廣大學者引入機械故障診斷領域,諸如深度置信網絡、堆疊自編碼器、循環神經網絡和卷積神經網絡(convolutional neural network,CNN)等深度學習方法在故障診斷中得到廣泛應用[4]并取得了較好的研究成果。Tamilselvan等[5]提出了一種基于深度置信網絡的故障診斷方法,分別對飛機發動機和變壓器進行了故障辨識,驗證了深度學習方法在故障模式識別方面的優勢及可行性。郭亮等[6]通過集成信號的時域、頻域和小波域的混合特征,利用3層堆疊稀疏自編碼器和Softmax回歸分類,最終實現了滾動軸承故障的準確診斷。Liu等[7]提出了一種基于循環神經網絡和自編碼的滾動軸承故障診斷方法,可對噪聲環境下的滾動軸承故障實現有效診斷。

作為深度學習技術的一種主流算法,卷積神經網絡以局部計算、權值共享和端對端等特點,受到特別多的關注并應用于機械故障診斷。Zeng等[8]將原始振動信號經過S變換后的時頻圖作為CNN輸入,能夠自動提取故障特征并識別出齒輪箱故障。李恒等[9]將原始時域信號進行快速傅里葉變換后的時頻譜圖輸入CNN,實現了滾動軸承故障的準確辨識。Hoang等[10]通過將原始振動信號轉換為二維灰度圖像并結合卷積神經網絡的策略,對滾動軸承故障能夠進行準確診斷。Peng等[11]提出了一種包含殘差塊的一維卷積神經網絡模型,該模型使用寬卷積和Dropout技術增強網絡的泛化能力,通過試驗驗證,并與其他深度學習模型進行對比發現,該模型可以達到更高的故障診斷精度。

雖然以上基于深度學習的故障診斷方法都取得了一定的研究成果,但并沒有考慮過多的模型參數會導致學習效率降低的缺陷,這在很大程度上將影響模型的應用性能,使其在解決實際診斷問題時難以達到期望效果。針對上述問題,本文提出一種基于改進一維卷積神經網絡的滾動軸承故障識別(fault recognition based on improved one-dimensional convolutional neural network, FRICNN-1D)方法。其在傳統CNN基礎上,使用1×1卷積核增強模型非線性表達能力,同時結合全局平均池化降低模型參數量和計算量,以增強其適應性和穩定性。最后,利用滾動軸承故障數據對該方法的性能進行了驗證,并通過與多種故障診斷方法對比分析,進一步證實了該方法的有效性。

1 理論基礎

1.1 卷積神經網絡

CNN是一種特殊結構的前饋神經網絡,主要由輸入層、卷積層、池化層、全連接層和輸出層構成。

卷積層使用設置的卷積核對所在層的輸入特征圖按照步長依次對其進行局部卷積運算,在輸入特征圖上遍歷一次卷積運算后輸出相應的特征圖。由于卷積核的參數共享機制,每一個卷積核都會輸出一個特征圖,卷積核的數目則為輸出特征圖的深度。具體的卷積運算如式(1)所示。

(1)

通常在卷積層之后使用激活函數對其輸出特征圖進行非線性變換,提高網絡的非線性表達能力。本文采用線性整流(rectified linear unit,ReLU)函數來加速模型的收斂,其計算過程如式(2)所示。

yl=f(xl)=max{0,xl}

(2)

式中:xl為式(1)卷積運算得到的輸出特征圖;yl為xl經過ReLU激活操作后的輸出值。

池化層的主要目的是通過改變特征圖的寬度來減少網絡參數和計算量,同時保留重要特征。池化主要分為平均池化和最大池化,本文將采用最大池化操作,也就是將輸入特征圖在池化核感知域中的最大值輸出。具體的最大池化運算過程如式(3)所示。

(3)

全連接層的作用是將交替的卷積層和池化層所提取到的特征進行整合并再次提取。具體的做法是將最后一個卷積層或者池化層的輸出特征圖展平為一維特征向量,并進一步對特征進行提取,全連接層的運算過程如式(4)所示。

yl=f((wl)Txl-1+bl)

(4)

式中:xl-1為第l-1層的輸出值;wl為權重;yl為l層的輸出;bl為偏置項;f(·)為激活函數。最后將輸出和SoftMax分類器連接,完成分類任務。Softmax函數的計算過程如式(5)所示。

(5)

式中:xi為輸出層第i個神經元的激活值;C為類別數;p(xi)為輸出層神經元的概率輸出。Softmax函數將每個神經元的輸出映射到(0,1)概率空間,概率值越大對應類別的可能性越高[12]。

1.2 全局平均池化層

全局平均池化[13](global average pooling, GAP)操作分別將最后一個卷積層或池化層的輸出特征圖進行空間平均操作。與全連接層相比,GAP層能夠增強特征與目標類別之間的相關性,同時GAP層中沒有需要訓練的參數,因此可以大幅減少網絡的參數和計算量,有效防止過擬合,使得學習到的特征魯棒性更好。GAP的具體計算公式如式(6)所示。

(6)

1.3 批量歸一化

批量歸一化(batch normalization, BN)操作類似于一種標準化操作,在卷積神經網絡中添加BN層的目的是減少內部協變量轉移,以提高網絡的性能和增強網絡的泛化能力。BN層主要放置在卷積層之后,其具體計算過程如式(7)所示。

(7)

yl=γxl+β

2 FRICNN-1D方法

2.1 FRICNN-1D模型的構建

本文在CNN的基礎上,提出基于改進一維卷積神經網絡的滾動軸承故障識別模型(FRICNN-1D),具體的模型結構如圖1所示。其包括9個卷積層,3個最大池化層以及1個全局平均池化層,各層之間的兩個箭頭分別表示網絡的前向傳播和反向傳播過程。相比傳統的CNN,FRICNN-1D主要做了如下改進。

(1) FRICNN-1D直接以原始的時域振動信號作為輸入,為了適應一維時域振動信號時間序列的結構特性,FRICNN-1D的卷積核和池化核均為一維結構。

(2) FRICNN-1D的第一層采用大尺寸卷積核,目的是為了增大感受野,獲取更多的數據并為網絡后續層提供更多信息。對于實際故障診斷而言,大卷積核可以更好地抑制高頻噪聲[14]。

(3) 每層卷積操作后,再進行批量歸一化操作以增強模型的泛化能力。

(4) 在FRICNN-1D結構中使用1×1卷積核,其作用為:①在不顯著增加模型訓練參數的前提下,增強模型的非線性表達能力[15-16];②壓縮特征通道并保留顯著特征;③實現跨通道特征融合。

(5) 使用GAP層代替全連接層,可減少模型參數和計算復雜度,且能防止過擬合現象。由于GAP層的輸出和Softmax分類器相連接,需將FRICNN-1D最后一個卷積層的卷積核數量設置為故障類別數。

圖1 FRICNN-1D的結構

Fig.1 The structure of FRICNN-1D

本文構建的FRICNN-1D模型以原始時域振動信號作為輸入,前向傳播并通過交替的卷積層和最大池化層逐層完成故障特征的自動提取,利用GAP對所提取的特征進行全局整合,并通過Softmax分類器進行故障辨識。然后以交叉熵度量Softmax函數的輸出概率分布和故障類別的概率分布間的差異性,并將其作為損失函數。交叉熵的具體計算公式如式(8)所示。

(8)

式中:p(x)為樣本x的真實分類結果;q(x)為樣本x的Softmax輸出分類結果。最后通過反向傳播來更新權值和偏置使損失函數最小,以達到FRICNN-1D的設計要求。

2.2 FRICNN-1D方法的流程設計

基于FRICNN-1D的滾動軸承故障識別方法主要分為3個環節:①數據集準備;②模型訓練;③模型測試。其具體實施步驟如下:

步驟1將采集的滾動軸承故障信號分為訓練集和測試集,并做標記。

步驟2對FRICNN-1D模型的權值和偏置參數進行初始化。

步驟3將訓練集輸入FRICNN-1D,并前向傳播。

步驟4根據式(8)計算損失函數Loss,并通過反向傳播更新模型的權值和偏置,使Loss的值最小。

步驟5若滿足訓練要求,則完成FRICNN-1D的訓練;若不滿足訓練要求,則返回步驟3。

步驟6使用訓練好的FRICNN-1D對測試集進行故障分類識別。

與上述步驟對應的流程如圖2所示。

圖2 故障識別方法的流程圖

3 滾動軸承故障識別試驗

3.1 數據集介紹

試驗數據取自凱斯西儲大學(CWRU)滾動軸承故障數據集[17]。其軸承型號為深溝球軸承SKF6205,軸承的運行狀態包括正常(N)、內圈故障(IF)、滾動體故障(BF)和外圈故障(OF),且每類故障都包含0.177 8 mm、0.355 6 mm和0.533 4 mm 3種故障直徑,因此可形成10種運行狀態。故障數據的采樣頻率為12 kHz。

考慮到訓練FRICNN-1D所需樣本數量,本文采用重疊采樣[18]的方式來獲取數據樣本。采樣方式如圖3所示,即從原始信號中進行截取訓練樣本時,每一個樣本與其后一個樣本部分重疊。采用重疊采樣技術既滿足FRICNN-1D的訓練要求,也可避免由于常規截取方式導致信號邊緣特征丟失的現象。

圖3 重疊采樣技術

本文選用的試驗數據是驅動端采集得到的,其中每個數據樣本包含2 048個數據點[19]。試驗驗證共準備了4個數據集,其具體信息如表1所示。

表1 試驗數據集

3.2 FRICNN-1D參數設置

在構建卷積神經網絡時,針對不同任務,選擇恰當合理的參數對模型性能有很大提升。因此,本文在構建FRICNN-1D過程中,對一些影響模型準確率和訓練速度的參數進行選取,如卷積核尺寸和步長、批處理樣本數目(Batchsize)、優化器類型等。通過重復試驗選取模型參數,選取過程遵循單一變量原則,最終得到FRICNN-1D的結構參數如表2所示。

表2 FRICNN-1D結構參數

在模型的訓練過程中,通常將訓練集分為多個Batchsize,并依次輸入模型進行訓練。但是,Batchsize太小會導致模型不易收斂,太大會降低模型的泛化性能。因此,為選擇合適的Batchsize,分別設置其為16、32、64和128時進行試驗,結果如圖4所示。

從圖4可見,當Batchsize為32和64時,初始訓練階段模型準確率較高,且在訓練至第10個迭代批次(Epoch)時趨于收斂。雖然當Epoch小于7時,Batchsize為32的模型準確率比Batchsize為64的更高,但在第7個Epoch之后二者基本保持一致;同時,考慮到Batchsize對模型訓練速度的影響,本文選取Batchsize為64。

針對不同的深度學習模型和分類任務,選擇合適的優化器對于提高模型訓練速度和分類準確率具有重要作用[20]。因此,在訓練FRICNN-1D過程中分別選擇Adagrad、Adam、Adadelta、RMSprop和SGD 5種優化器進行分析對比,結果如圖5所示。從圖5可以看出,Adam使得模型的訓練過程最快收斂,且準確率也最高,故本文選取Adam作為優化器。

圖5 不同優化器對訓練結果的影響

3.3 試驗結果對比及分析

本文試驗是在以Tensorflow為后端的Keras環境中進行,為避免試驗結果的隨機性偏差,所有試驗均采用5折交叉驗證法。

為說明本文方法的有效性,將其與CNN-1D、Zhang等和周奇才等的方法3種智能故障識別模型進行對比。其中,CNN-1D模型是將FRICNN-1D中的1×1卷積核去除,并使用神經元個數為100的全連接層代替全局平均池化層,同時為防止過產生擬合現象,在其全連接層使用Dropout操作。

試驗結果如表3所示,可以看到4種智能故障識別模型在表1所示的4個數據集上都達到了很高的故障識別率,說明CNN具有出色的故障特征提取和分類能力。但相比之下,本文所提出的FRICNN-1D模型可以達到更高的故障識別率,尤其對數據集A、C和D的識別準確率達到了100%,且平均準確率為4種模型中最高的99.98%;此外,本文所構建的模型相比其他3種模型具有更少的參數,所以模型訓練過程也相對更簡單,易收斂。因此,本文方法不僅具有更高的故障識別能力,而且訓練時間更短,效率更高。

表3 不同故障診斷模型的診斷結果對比

3.4 泛化性分析

為驗證本文方法的泛化能力,分別使用數據集B和C訓練模型,然后利用剩余3個數據集測試模型的識別準確率,并與3.3節中所述3種智能故障識別模型進行對比分析,結果如圖6所示。圖中B→A表示使用數據集B訓練模型,使用數據集A測試模型。

圖6 變負載軸承的故障識別結果

從圖6可見,當訓練集和測試集是軸承在不同負載狀況下采集的數據時,4種方法的故障識別率均出現不同程度的下降,這主要是負載發生變化導致軸承故障數據集間存在一些分布差異。但是,本文方法在上述情況下的故障識別率均明顯高于其他3種故障識別方法,且無論以數據集B還是數據集C作為訓練數據,本文方法對剩余3個數據集的識別準確率都超過了96%,明顯高于其他3種方法。由此說明,當故障數據集存在一定分布差異時,FRICNN-1D仍可以實現軸承故障的準確識別。

3.5 特征可視化分析

為了進一步分析本文方法的有效性,利用t-分布鄰域嵌入(t-distribution stochastic neighbor embedding, t-SNE)算法分別對數據集A在FRICNN-1D各層上提取到的故障特征進行二次處理,以獲取更重要敏感的故障特征信息,處理得到的結果如圖7所示。其中,圖7(a)~圖7(l)分別表示FRICNN-1D各層上所提取的故障特征經t-SNE處理后的前兩維特征分布狀態。

由圖7可見:① 原始信號經過第一層大尺寸卷積核卷積操作后,與故障特征交疊的正常信號特征已經分離并聚集在一起,并且部分不同類別的故障特征也有逐漸分離的趨勢;② 經過第二層1×1卷積操作后,同一類別的故障特征也開始逐漸靠近;③ 經過Conv3卷積操作后,不同類別的故障特征基本上可以區分開,只有少數故障特征仍交疊在一起;④ Conv4卷積操作可將交疊在一起的IF0.355 6和OF0.355 6故障特征有效分離;⑤ 隨著模型深度增加,各類故障特征的可分性和聚集性越來越好,說明隨著深度增加,FRICNN-1D的非線性表達能力越強;⑥ 全局平均池化層能將提取到的故障特征進行全局整合并通過Softmax函數完成故障數據的分類。

(a) Input

綜上,本文構建的FRICNN-1D模型能夠從原始故障數據集中提取出重要故障特征信息,并實現軸承故障的準確識別。

3.6 滾動軸承故障實例分析

為進一步驗證方法的廣泛適用性及穩定性,將本文所構建的FRICNN-1D故障識別模型用于如圖8所示的HZXT-DS-001型雙跨綜合故障模擬試驗臺的軸承故障識別。軸承型號為NSK6038深溝球軸承,其狀態包括正常(N)、滾動體故障(BF)、內圈故障(IF)、外圈故障(OF)及保持架故障(CF)共5種狀態。振動信號的采樣頻率設為8 kHz。

圖8 HZXT-DS-001型雙跨綜合故障模擬試驗臺

轉子的平穩轉速為2 600 r/min,考慮到故障特征信息的完整性及分析處理過程的高效性,取每個振動信號樣本的采樣點為2 048。采集軸承5種運行狀態的原始時域振動信號,如圖9所示。

從圖9可見,滾動軸承5種運行狀態的振動信號存在一定差別,尤其對于內圈故障狀態,與其他4種狀態相比,其振動信號中存在明顯的沖擊成分,且幅值較大,幾乎是其他狀態信號幅值的10倍。但是,仍難以通過5種運行狀態的原始振動信號直接對軸承故障狀態進行準確地分類辨識,需要對原始振動信號做后續處理,才能實現軸承不同狀態的有效識別。

(a) N

為準確識別上述滾動軸承5種運行狀態,每種狀態取訓練樣本數為100,測試樣本數為50,然后利用本文所構建的FRICNN-1D模型對樣本信號進行分析處理;同時,為顯示本文方法更強大的軸承故障狀態識別能力,使用3.3節中所述其他3種智能故障識別模型也分別處理樣本信號,并將4種方法的故障識別結果進行對比,結果如圖10所示。

從圖10可見,本文構建的FRICNN-1D模型的故障識別率明顯高于其他3種故障識別模型,且準確率的誤差限也最小。由此說明,對于實際的滾動軸承故障識別任務,本文方法與其他3種智能故障識別模型相比,具有更好的適用性和更高的準確率。

圖10 不同模型的故障識別結果

4 結 論

(1) 本文提出了一種基于改進一維卷積神經網絡的滾動軸承故障識別方法。該方法可直接作用在原始一維振動信號上,無需進行人工特征提取。

(2) 通過在模型的第一層使用大尺寸卷積核,可以獲取更多故障信息并傳遞給網絡的后續層;通過引入1×1卷積核,在只增加少量模型參數的同時增強了模型的非線性表達能力;使用全局平均池化層代替了傳統卷積神經網絡的全連接層,很大程度上減少了模型的參數和計算量,可有效防止過擬合現象。

(3) 試驗結果表明,該方法相比于其他智能故障識別模型可以達到更高的故障識別率,且模型的參數更少,易于訓練;同時該方法可以有效識別實際滾動軸承的故障狀態,具有廣泛的適用性。

猜你喜歡
軸承卷積神經網絡
軸承知識
軸承知識
基于遞歸模糊神經網絡的風電平滑控制策略
基于3D-Winograd的快速卷積算法設計及FPGA實現
軸承知識
軸承知識
卷積神經網絡的分析與設計
神經網絡抑制無線通信干擾探究
從濾波器理解卷積
基于神經網絡的中小學生情感分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合