董紹江,李洋,梁天,趙興新,胡小林,裴雪武,朱朋
(1.重慶交通大學機電與車輛工程學院 重慶,400074)
(2.重慶長江軸承股份有限公司 重慶,401336)
(3.重慶工業大數據創新中心有限公司 重慶,401000)
軸承作為現代制造業的重要組成部分,其故障診斷意義重大[1]。早期的故障診斷方法大多依賴于專家知識,通過人工手段對原始信號進行特征提取,效率低下,難以處理高速增長的海量數據[2-5]。近年來,深度學習技術在計算機視覺、自然語言處理及語音識別等領域取得了跨越式的發展,一些深度學習方法也被使用到軸承故障診斷領域。
在變工況軸承故障診斷問題上,Li等[6]提出一種改進基于Dempster-Shafer理論的證據融合的集成深度卷積神經網絡的算法,將原始時域信號的快速傅里葉變換特征的均方根圖輸入模型,實現變工況故障診斷。Ding等[7]提出一種基于小波包能量圖像和深度卷積網絡的能量波動多尺度特征挖掘方法,實現變工況故障診斷。Zhang等[8]提出基于訓練干擾的卷積神經網絡模型,直接將原始信號輸入模型,實現變工況故障診斷。Hao等[9]提出一維卷積長短期記憶網絡的多傳感器的方法實現變工況故障診斷。
前期相關文獻研究成果側重于強噪聲干擾研究或者變工況影響研究,對于變工況和噪聲背景的復雜條件下軸承的故障診斷效果不明顯。筆者圍繞相關問題提出將帶有注意力機制、將DropConnect和Dropout混合使用加入到CNN-BiLSTM模型,可以有效地解決這一問題。首先,將軸承時域信號和隨機噪聲信號輸入CNN網絡中提取軸承故障特征;其次,經全連接層匯總之后輸入帶有注意力機制的BiLSTM網絡層經過權重分配實現更有效的深層特征提??;最后,通過Softmax層分類器實現滾動軸承故障類別診斷。經試驗驗證,該方法在變工況和噪聲背景下獲得了較高的識別精度。
卷積神經網絡(CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡,是深度學習的代表算法之一。CNN主要由輸入層(Input)、卷積層(Conv)、池化層(Pool)、全連接層(FC)和Softmax層5種結構組成。CNN的訓練過程由前向傳播和反向傳播組成,前向傳播主要提取輸入數據的不同特征,反向傳播則主要是優化前向傳播的參數,其詳細訓練過程見文獻[10]。
長短時記憶網絡(long short-term memory,簡稱LSTM)是一種循環神經網絡結構的變體,能夠解決循環神經網絡中遇到的梯度爆炸和梯度消失問題[11]。標準LSTM網絡結構只有前向傳播運算,缺乏前后的邏輯性。雙向長短時記憶網絡(BiLSTM)是在LSTM的基礎上,利用已知時間序列和反向位置序列,通過前向和反向傳播雙向運算,加深對原序列特征提取,提高模型輸出結果的準確性。BiLSTM神經網絡最后輸出是前向、反向傳播的LSTM輸出結果之和。BiLSTM網絡結構如圖1所示。

圖1 BiLSTM網絡結構示意圖Fig.1 Schematic diagram of the BiLSTM network structure
在故障診斷領域,對故障進行診斷時通常先需要進行一系列特征提取,以得到故障特征進行診斷。但是在特征提取的過程中,并不是提取到的所有故障特征都有助于故障診斷。為了提高故障診斷的正確率,因此在特征提取時,有必要引入注意力機制對其進行篩選[12]。注意力機制的計算步驟如下。
1)將經過前期網絡訓練得到的各個故障特征,作為注意力機制層的各輸入故障特征yi,即先將輸入的故障特征與神經元權重相乘,再加上神經元的偏差;再用雙曲正切函數將前面計算得到的值映射到[-1,1]區間,以便于后面計算各個故障特征的權重系數。計算公式為

其中:tanh(·)為雙曲正切函數,它可以將輸入特征映射到[-1,1]區間;w為神經元的權重;b為神經元的偏差。
2)式(2)主要是通過Softmax函數計算出不同故障特征權重以便于后期對輸入故障特征中的重要特征進行篩選。經過式(1)計算得到的值,先在經過Softmax函數時可以計算出不同故障特征的權重系數ai,再對其進行歸一化處理,得到所有特征注意力權重ai之和為1的概率分布。具體計算公式為

3)式(3)主要是實現重要故障特征的篩選之后的最優故障特征。將各故障特征輸入量yi與權重系數ai相乘并求和,得到經過注意力機制優化以后的最終故障特征表達Fc為

由于最終的故障特征經過了權重的重新分配,相較于沒有經過注意力機制的故障特征,它反應的是更加重要和關鍵的故障特征。因此,在原有的訓練網絡中加入注意力機制層,更有利于提升模型的診斷能力。
Dropout是一種常用的解決過擬合、提高網絡模型泛化能力的方法。Dropout在神經網絡的訓練過程中,按照一定概率P將一部分中間層單元暫時從網絡中丟棄,即把一部分輸出置為0,以此避免過擬合,如式(4)所示。DropConnect則是一種通過舍棄一部分輸入單元來防止過擬合的方法[13],如式(5)所示。其二者不同之處在于,Dropout一般用于全連接層之后,DropConnect則用于神經網絡連接層的權重上,是把一部分輸入連接層的權重W單元置為0。二者的網絡結構如圖2所示。

圖2 Dropout和DropConnect網絡結構Fig.2 Dropout and DropConnect network structure

其中:m為剩余1-P的沒有被置為0的概率;a為一個激活函數;W為權重;v為上一層的輸出;r為輸出,其中m和a(Wv)相乘是對應元素的相乘。
本研究所提方法是一種端到端的數據驅動方法,減少了繁雜的人為特征提取過程。該方法在原始信號上加入隨機高斯白噪聲相當于增加訓練樣本,不僅可以減弱神經網絡的聯合適應性,以防止過擬合,還可以增強模型的抗干擾能力[14]。并且在模型的卷積層和全連接層之后,加了可以使得輸入數據落入敏感的非線性變換函數區域中的批量歸一化(batch normalizatio,簡稱BN),以防止梯度消失。雖然CNN-BiLSTM模型相較于傳統的CNN模型可以提取到更加深層的故障特征,但是為了使網絡提取到的特征更有利于故障診斷,筆者引入了注意力機制對深層故障特征進行篩選。為了進一步防止過擬合和提高抗干擾能力,將DropConnect和Dropout混合使用,分別加入到CNN和BiLSTM層模型中。本研究模型主體結構如圖3所示,注意力機制的BiLSTM層(A-BiLSTM層)如圖4所示。

圖3 本研究模型主體結構Fig.3 The main structure of this model

圖4 注意力機制的BiLSTM層Fig.4 BiLSTM network layer of attention mechanism
本研究模型由4個卷積層和池化層、1個全連接層、1個隱藏層為256的注意力機制的BiLSTM網絡層和Softmax層組成。筆者使用反向傳播算法和Adam隨機優化方法對網絡進行訓練,迭代輪數為3 000,數據集的訓練批處理大小為50,學習率為0.001,DropConnect率為0.5,Dropout率為0.5,激活函數為ReLU,池化類型為最大池化。試驗時采用Google的Tensorflow工具箱。各網絡層參數如表1所示。

表1 本研究模型各網絡層參數Tab.1 The network layer parameters of this model
為了消除隨機誤差對試驗結果的影響,本次試驗的測試結果為5次的平均值。設置了4個變量,分別是:有無BiLSTM層、有無注意力機制、Dropout添加的位置、有無DropConnect。F1為筆者所提模型:加注意力機制,DropConnect和Dropout混合使用的CNN-BiLSTM模型。F2,F3和F4模型為CNN-BiLSTM模型,F5為傳統CNN模型。具體如表2所示。

表2 不同模型的變量設置Tab.2 Variable settings for different models
3.3.1 泛化性和抗噪性試驗
試驗1:泛化性試驗。本研究所提模型主要針對驅動端數據下的軸承故障診斷,本次試驗選用4種不同工況數據,也選用風扇端的數據和Mad Net軸承數據來驗證筆者所提模型的性能。不同數據集下模型的正確率如表3所示。

表3 不同數據集下模型的正確率Tab.3 Model correct rate under different data sets %
由表3可知:筆者所提模型在驅動端的平均正確率高達99.93%,而文獻[7]提出的DCNN模型僅為99.10%;所提模型在驅動端數據和風扇端數據都能達到較高的識別率,但是二者并不相同。造成同一個模型針對不同數據集正確率不同的原因,可能是兩者的軸承型號不同、軸承和傳感器安裝位置不同等因素造成。雖然本研究模型主要是針對驅動端(同類型軸承)不同工況的故障診斷分析,但是在風扇端(其他類型軸承)不同工況下其診斷平均正確率可達100%,在Mad Net軸承數據的10類故障軸承數據試驗中,其診斷率也高達100%。通過本次試驗可知,本研究模型有較好的泛化能力。
試驗2:抗噪性試驗。本次試驗在選用驅動端的4種不同工況數據測試時,向測試數據集加入高斯白噪聲SNR=0 db模擬工業噪聲環境,求出各模型平均正確率,其結果如表4和圖5所示。

表4 在0 db時不同模型在不同工況下的正確率Tab.4 The correct rate of different models under different working conditions at 0 db %

圖5 不同模型的平均正確率Fig.5 The average correct rate of different models
由 表4和圖5可以看到,在0 db時,5個模 型在不同工況下診斷能力總存在有高有低的情況,由此說明同一個模型很難在所有的工況下都達到較高的正確率。但是通過分析發現,筆者所提出的F1模型整體性能是最高的,其平均正確率高達98.23%,比F2模型高出0.40%,比F3模型高出2.84%,比F4模型高出4.49%,比F5模型高出5.70%。通過本次試驗可以證明,噪聲環境下,筆者所提模型有較高的整體抗噪性。
試驗3:噪聲下的泛化性試驗。為了驗證筆者所提模型在噪聲環境下的泛化性,選用驅動端和風扇端下的4種不同工況的故障數據。本次試驗模擬測試數據集在SNR=0 db環境下,筆者所提模型在2種不同軸承上的正確率,其結果如表5所示。

表5 在0 db時不同軸承在4種工況下的正確率Tab.5 The correct rate of different bearings under 4 working conditions at 0 db %
通過表5可知,當SNR為0 db時,驅動端和風扇端在4種不同工況下的正確率都高于90%。驅動端數據在4種不同工況數據的平均故障診斷正確率高達98.23%,風扇端也可以達到96.06%。通過試驗可以證明,筆者所提模型在噪聲環境下依然有較強的泛化性。
取山羊奶發酵乳5 mL,4℃4000×g離心10 min,取上清液測定抗氧化活性。山羊奶發酵羊乳p H值調至2.0,然后取1 mL接于含9 mL的人工胃酸試管中,充分混勻后37℃保溫2 h,沸水浴加熱10 min以終止反應。測定消化前后的抗氧化活性。再將其p H調至6.8,以1∶9的體積比加入至人工腸液中,于37℃恒溫水浴中模擬消化2 h,沸水浴加熱10 min以終止反應,再取樣測定其抗氧化。
試驗4:Mad Net軸承數據試驗。本次試驗選取Mad Net軸承數據,測試不同模型在SNR=-2 db環境中的故障診斷能力及各模型的訓練時間,其結果如表6所示。

表6 在-2 db時不同模型的正確率和訓練時間Tab.6 The correct rate and training time of different models at-2 db
由表6可知,筆者所提模型在強噪聲環境下識別Mad Net軸承數據集的正確率達到了94.13%,遠高于其他模型。本研究主模型F1是基于F4模型CNN-BiLSTM網絡改進的,增加了注意力機制,將DropConnect和Dropout混合使用。在時間僅增加6.88 s的基礎上,本研究模型在強噪聲環境下的故障診斷能力提升了16.48%,說明了本研究模型在犧牲較短時間的基礎上,獲得了較高的正確率。
3.3.2 自適應變工況測試
試驗1:故障診斷領域常見方法對比試驗。自適應變工況測試一直是故障診斷領域的難點,即訓練數據集和測試數據集不是同一個工況。本次試驗選用驅動端的0,0.75和1.50 kW混合數據訓練模型,使用2.25 kW進行測試。主要采用一些故障診斷領域常見的方法,如k最近鄰、支持向量機、BP神經網絡、文獻[7]DCNN模型和文獻[9]1DCNNLSTM模型等方法與本研究的方法進行了比較。其正確率如表7所示。

表7 當0,0.75和1.50 kW混合訓練2.25 kW測試正確率Tab.7 2.25 kW test correct rate,when 0,0.75 and 1.50 kW mixed training %
通過表7可知,用驅動端的0,0.75和1.50 kW工況下的混合數據訓練模型,用2.25 kW進行測試。筆者所提方法正確率高達100%,比一些傳統方法和部分深度學習方法的正確率都高,體現出了本研究模型有極高的故障診斷能力。
再選用跟文獻[4]多核SSTCA-SVM模型一樣的特定變工況類型。1.50 kW訓練,0.75 kW測試;1.50和0 kW混 合 訓 練,0.75和2.25 kW混 合 測 試;1.50,2.25和0 kW混合訓練,0.75 kW測試3種類型試驗。其結果如表8所示。

表8 本研究方法與多核SSTCA-SVM對比正確率Tab.8 Comparison of the method in this paper and multi-core SSTCA-SVM correct rate %
由表8可以看出,在以上3種特定變工況類型試驗中,筆者所提模型的正確率都高于文獻[4]。本研究的平均正確率高達98.96%,比文獻[4]高出2.71%。
試驗2:變工況下深度學習領域的算法對比試驗。接下來主要是與其他論文提出的關于軸承故障診斷的深度學習方法做比較,使用文獻[6]IDSCNN模型和文獻[8]集成TICNN模型相同的方法做對比試驗。選用0.75,1.50和2.25 kW下驅動端軸承數據,僅用一種工況數據訓練模型,測試時分別用另一種工況數據測試,其結果如表9所示。

表9 一種工況訓練另外一種工況測試的正確率Tab.9 The correct rate of one working condition training and another working condition test %
由表9可知,筆者所提的方法平均正確率高達98.88%,比將原始時域信號作為輸入的集成TICNN模型高出2.78%。IDSCNN模型的輸入是將原始時域振動信號經過了特征提取,將振動信號的FFT特征的均方根圖作為模型輸入。由于IDSCNN模型的輸入數據是經過復雜的人為特征提取,因此其正確率可以高達98.40%。但是IDSCNN模型相較于本研究直接把原始信號作為模型輸入進行變工況下的故障診斷,其平均正確率也比本研究低0.44%。通過跟上述文獻中的方法比較,筆者所提模型都取得了較高的精確度。
試驗3:不同變工況下的試驗。由于軸承實際工作情況下很少出現0 kW的情況,所以接下來的試驗不再考慮0 kW的情況下。選用0.75,1.50和2.25 kW的驅動端數據試驗。分別采用一種工況數據訓練,其余兩種工況數據混合測試;用兩種工況數據訓練,其余一種工況數據測試。其結果如表10和表11所示。

表10 一種工況數據訓練兩種工況數據混合測試正確率Tab.10 One working condition data training correct rateofmixedtestoftwoworkingconditiondata %

表11 兩種工況訓練一種測試的正確率Tab.11 The correct rate of the other test for training under two working conditions %
通過試驗可知,用一種工況訓練,另外兩種混合工況測試,本研究模型的平均正確率為98.78%。結合試驗2可知,兩種工況混合測試比分別測試兩種工況的平均正確率98.88%略低。本次試驗比試驗2低的原因,結合實際情況可推斷為當測試數據較為復雜時,其正確率略有下降。
當兩種混合工況訓練、單一工況測試時,其最低正確率也能高達99%,其平均正確率為99.67%,比用一種工況數據訓練模型的平均正確率98.78%高出0.89%。結合實際情況可知,如果能夠獲取足夠多的故障工況訓練模型,那么有助于對將會出現的故障進行診斷;當獲取的故障工況越少,越難以診斷故障。因此可知,本研究上述試驗結果滿足實際工作情況。
3.3.3 自適應變工況下噪聲測試
由于實際工作中一般難以獲得足夠多的故障工況數據,因此在故障診斷時會帶來一定的挑戰。本研究充分考慮實際情況,本次試驗選用驅動端軸承在0.75,1.50和2.25 kW下的數據,只研究一種工況數據訓練模型,用其他工況數據測試。軸承實際工作時不僅會受到工況變化的影響,也會受到噪聲的干擾,因此本小節做自適應變工況下噪聲測試。如:0.75 kW訓練模型時,診斷過程中分別用1.50 kW,2.25 kW,1.50和2.25 kW混合的3類數據集測試。測試階段,模擬-4~4 db噪聲環境。首先分別用0.75,1.50和2.25 kW訓練好3個模 型,然后 依次求出每個模型在每db噪聲環境下,3類測試數據集正確率的平均值。如在-4 db環境下的最終值,實際是在3個模型上分別測出3個值,然后對這9個值求其平均。各模型在每db噪聲下的正確率及其平均值如表12和圖6所示。

表12 一種工況訓練其余工況測試的正確率Tab.12 The correct rate of one working condition training and other working condition test %

圖6 不同模型在不同噪聲下的正確率Fig.6 The correct rate of different models under different noises
由表12和圖6可以看到,筆者所提的F1模型在-4~4 db噪聲環境中,每db噪聲下都高于其他幾種模型。F4僅比F5多了一層BiLSTM網絡,但在任何噪聲環境下F4都比F5高。在-4~4 db下,F4平均正確率為87.45%,比F5高出0.98%。F3是在F4的BiLSTM層中引入了注意力機制,此時F3不僅在任何噪聲下都比F4和F5高,而且其最終平均值高達90.00%。由此可見,在網絡中引入注意力機制可以使模型在訓練時,將更多的注意力放在重要的特征挖掘上,從而極大地提高模型的識別率。
F2與F3,F4及F5相比,F2與F3區別僅在Dropout位 置 不 同。F2在A-BiLSTM中 加Dropout,F3是 在全連接層中加。在SNR為-2時,F2正確率就達到了90.01%。然 而F3,F4和F5均 在90%以下,僅 在SNR大于0時,才達到了90%以上。因此,可以證明將Dropout添加在A-BiLSTM層能夠更好地防止隨著模型層數的加深而產生過擬合問題。
F1模型與其他模型相比,其最大不同在于將DropConnect和Dropout混合使用。F1主要在F2的全連接層權重上添加了DropConnect=0.5。F1模型在-4~4 db環境下,都高于其他幾種模型,在SNR為-4 db時可以達到81.90%,其他模型均不到80%;在-2 db時達到了92.05%;在0 db時高達96.77%;在4 db時更是高達98.77%。在噪聲環境下其平均值可以高達94.06%,比沒有DropConnect的F2高出了1.30%,比F3高 出4.06%,比F4高出6.61%,比傳統CNN模型F5高出7.59%。F1模型同時使用了DropConnect和Dropout,DropConnect通過將CNN網絡的一部分輸入的數據置為0,以此防止CNN模型訓練時的過擬合問題,而Dropout則通過丟棄BiLSTM層的一部分輸出數據,防止網絡模型層數加深而產生的過擬合問題。因此,通過將DropConnect和Dropout混合使用可以在一定程度上提高模型的整體性能。
綜上分析,在用一種工況下的數據訓練模型,用其余數據集在-4~4 db環境下測試模型的故障診斷能力。本研究帶有注意力機制、DropConnect和Dropout混合使用的CNN-BiLSTM模型具有較強的抗干擾能力,在強噪聲環境下,也具有較高的故障診斷能力。
3.3.4 模型結果可視化
本小節主要展示測試過程中各網絡層處理故障數據的情況和最后的分類正確率。由于篇幅有限,僅展示SNR為0 db時,用2.25 kW訓練模型,用0.75和1.50 kW混合數據集的800個樣本的測試情況。圖7選用t-隨機鄰近嵌入(t-distributed stochastic neighbor embedding,簡稱t-SNE)算法展示了測試樣本在各網絡層中的特征分布情況。圖8通過混淆矩陣的方法展示了測試數據集的最終測試結果,詳細地列出了各個類別的分類情況和準確性。

圖7 測試樣本的特征分布圖Fig.7 Feature distribution of test samples

圖8 測試結果的正確率Fig.8 The correct rate of test results
通過圖7可以看到,測試數據在早期層中是不可分的,隨著層數加深,特征變得越來越可分。標簽10(正常狀態)在Conv2層的時候已經完全被分離開,這表明筆者所提模型有較強的區分故障信號與無故障信號的能力。在帶有注意力機制的網絡層(A-BiLSTM)中,可以看到不同類別之間區分得更加明顯,同類故障之間聚集更加緊湊。通過圖8可知,筆者所提方法在SNR為0 db時,針對滾動軸承的大多數故障類別都可以達到100%的診斷能力。僅標簽2(滾動體故障0.355 6 mm)和標簽3(滾動體故障0.533 4 mm)有少量故障被分類到標簽1(滾動體故障0.177 8 mm)上,其二者的錯誤率分別為0.60%和1.20%,與模型測試輸出的98.20%正確率相吻合。
1)本研究通過將帶有注意力機制、DropConnect和Dropout混合使用加入到CNN-BiLSTM模型中,實現了滾動軸承在變工況的噪聲環境下的故障診斷。在選用驅動端和風扇端的兩類軸承分別在4種不同工況的故障數據,在測試數據集的SNR為0 db時,驅動端平均故障診斷正確率高達98.23%,風扇端也可以達到96.06%;而且Mad Net軸承數據在-2 db下可以達到94.13%。因此,筆者所提模型在噪聲環境中具有較強的泛化性和抗噪性。
2)在自適應測試變工況試驗中,選用驅動端的0,0.75和1.50 kW混合訓練模型,2.25 kW作為測試時,本研究所提方法高于故障診斷領域常見的方法,正確率高達100%。在用一種工況數據訓練模型,分別用另一種工況數據測試時,本研究模型平均正確率高達98.88%,也高于部分文獻中使用深度學習的方法。同時,在噪聲和變工況的復雜環境中,通過比較不同模型,在-4~4 db噪聲下,筆者所提方法正確率高達94.06%,體現了本研究模型的優越性。
3)本研究在CNN-BiLSTM網絡中引入有注意力機制,可以幫助網絡模型將更多的注意力放在重要特征的提取上;將DropConnect和Dropout混合使用可以分別防止CNN網絡和BiLSTM網絡在訓練過程中的過擬合問題,達到了提升模型故障診斷能力的效果。