胡向東,梁 川
(重慶郵電大學 自動化學院,重慶 400065)
隨著信息處理分析技術和傳感器技術的不斷發展與日益創新,故障診斷已經發展成為一種多個學科交叉融合的新技術。故障診斷是通過測量設備的工作狀況并對其異常狀態做出技術判斷,為后續維修計劃提供參考依據[1]。因為存在較多無法預測的狀況,工業生產的機械設備可能出現不同的問題,引起系統功能故障,造成嚴重的工廠事故。滾動軸承是機械設備的易損部件,其健康狀況對機械設備的性能、穩定性和使用壽命有重大影響[2]。當機械軸承出現故障時,會產生異于正常工作時的振動信號,故障點不同,產生的信號特征也不相同,因此分析缺陷軸承的振動信號來判斷軸承故障狀態,是一種科學的檢測、診斷方法[3]。
傳統的機械軸承智能診斷方法一般需要借助于快速傅里葉變換(FFT)、小波變換(WT)和經驗模態分解(EMD)等現代信號處理技術[4]對采集到的信號進行處理,然后經過工程經驗獲取故障特征,進而實現故障的判別。郭宇庭等[5]提出了一種基于小波變換的自適應時頻特性的軸承故障診斷方法。但該方法只是比較了軸承正常與故障時的信號特征規律,并未得出確切的診斷結果。劉暢等[6]提出了一種改進支持向量機的機械軸承故障診斷方法,雖然此方法能夠獲得不錯的診斷準確率,但是對技術人員的理論知識要求較高,并且其故障信號判別過程較為繁瑣,并未實現端到端的故障診斷。李繼猛等[7]提出一種融合經驗模態與奇異值分解的滾動軸承故障診斷方法,該方法雖然特征提取精度較高,但是需要技術人員來進行故障分辨,仍然存在一定的分辨誤差。傳統的軸承故障診斷方法在特征選取環節的好壞會直接影響診斷精度,因此依靠工程經驗提取振動信號特征并不是最優解。
目前使用原始振動信號特征進行軸承故障診斷逐漸成為研究重點,許多學者利用深度學習直接挖掘信號潛在特征,通過深層次神經網絡和批量訓練樣本來提高分類準確率[8]。張穎等[9]提出結合時頻圖像與卷積神經網絡的軸承故障診斷方案,利用短時傅立葉變換獲得二維圖像,然后將其輸入到卷積神經網絡,獲得了較好的故障診斷準確率,但是該方法仍未實現端到端學習。Miao He等[10]利用可調濾波器大小的卷積核進行振動信號的分割,使用訓練的離散傅里葉變換-逆離散傅里葉變換自編碼器來得到振動信號譜平均值,并使用譜平均值重構振動信號,然后將重構的振動信號送入分類層進行軸承故障診斷。該方法雖然在診斷的準確率上表現不錯,但是較為繁瑣,目前在工業現場部署還較為困難。
針對以上問題,張偉[11]研究出直接在時域振動信號進行處理的卷積神經網絡模型。該模型雖然對軸承的故障識別準確率較高,但是模型魯棒性還有待提高,其超參數的選擇也需要多次實驗才能確定。昝濤等[12]設計出多輸入層的診斷方案,提高了測試準確率,但卻需要在卷積或池化層輸入低維的頻譜數據,過程繁瑣且未實現端到端的故障診斷。宮文峰等[13]提出一種使用全局均值池化技術代替傳統CNN的全連接部分的改進卷積神經網絡的軸承故障診斷方法,但對于內圈的輕度缺陷檢測準確率只有96%,仍還有提升的空間。
綜合以上分析,本文提出一種基于SE-ResNeXt的端到端故障診斷模型,不僅避免了繁瑣的振動信號特征提取過程,很好地解決了軸承故障診斷準確率低的問題,而且模型魯棒性較好,實現了端到端的軸承故障診斷,具有良好的可操作性與通用性。本文所做的主要內容如下:
(1)以441位數據點為一個樣本,使用滑動窗口采樣法對原始的軸承振動信號數據進行擴增,根據數據集長度獲取8 000個樣本并劃分5 600個訓練集,2 400個測試集后隨機打散。
(2)選定壓縮率、組卷積分支數和殘差網絡參數,并將SEnet與ResNeXt進行級聯,搭建易于拓展的SE-ResNeXt故障診斷模型。
(3)將本文所提模型與現有的深度學習算法進行多次故障診斷實驗,進行可行性分析與有效性驗證,并向測試數據中加入噪聲信號,進行模型的魯棒性測試。
采用SE-ResNeXt模型對滾動軸承進行故障診斷的思路是先將一維信號進行滑動窗口采樣并標準化處理后作為輸入,利用SEnet網絡進行特征重標定,并級聯ResNeXt網絡對一維振動信號進行深層次的空間特征學習,最后利用Softmax函數完成故障分類。模型訓練流程如圖1所示。

圖1 模型訓練流程圖
為測試所提模型對軸承故障診斷的可行性和魯棒性,本文采用凱斯西儲大學軸承數據[14]進行故障仿真實驗。故障軸承振動信號來源于如圖2的仿真實驗平臺,左邊為三相感應電機用于產生驅動力,中間的扭轉傳感器用于測量扭矩和轉速,右側為測力計用于產生不同負載,測試軸承型號為SKF6205,安置在驅動端。

圖2 軸承故障試驗臺
實驗為人工采用電火花在軸承的內圈、外圈和滾動體上加工出尺寸為0.007英寸、0.014英寸、0.021英寸的單點故障,用來表示不同的故障損壞程度,實驗共有9種不同的損傷狀態和1種健康狀態。所產生的信號使用16通道數據記錄儀進行收集,采樣頻率為12 kHz,電機載荷有4種,分別為0、1、2、3 hp(1 hp=0.746 kW)。
本實驗在采樣頻率12 kHz,0 hp負載下進行測試,該負載對應的轉速為1 797 rpm,因為原始振動信號有限,本文使用了一種固定步長的滑動窗口采樣算法進行數據擴增,如圖3所示。

圖3 滑動窗口采樣算法偽代碼
本文設定的滑動窗口大小w=441,滑動步長為150,并且按照7:3劃分訓練集與測試集,采樣后的數據集組成如表1所示。

表1 軸承數據集
因一維振動信號幅值較為分散,在劃分訓練集和測試集后,使用批標準化方法將數據進行轉換,轉換后將數據變為均值為0,方差為1的標準正態分布,使得模型更能學到數據之間的規律,并加快梯度收斂速度,其計算公式為:
(1)

因在生產過程中,軸承設備一般處于較為惡劣的環境中,對滾動軸承故障的準確診斷較為困難,且噪聲的干擾會嚴重影響故障診斷的精度。本節提出一種SE-ResNeXt網絡的軸承故障診斷模型,該模型首先使用一維卷積神經網絡層對輸入的原始故障振動信號進行初步特征提取,利用特征重標定層擴大模型感受野,增強模型的抗噪聲能力,并級聯ResNeXt網絡進行深層次的空間特征學習,使用全局平均池化將特征信號轉為一維向量展平,最后使用Softmax函數進行故障分類。為優化模型訓練過程,實驗網絡均采用Relu作為激活函數,為防止過擬合現象的發生,將傳統的全連接層替換為全局平均池化層,對模型的參數進行縮減,增強模型的泛化能力。SE-ResNeXt模型結構如圖4所示。

圖4 SE-ResNeXt模型結構
接下來分別介紹網絡的各個部分。
1)CNN+SEnet網絡層:
原始振動信號經過批標準化后首先輸入到一維卷積層,一維卷積層采用8個尺寸為3的濾波器,滑動步長為1,初步提取振動信號特征。利用卷積層權值共享的特點能夠減少網絡參數,避免由于參數過多造成的過擬合現象,并降低系統所需內存。一維卷積層的卷積計算公式為:
(2)

ReLU(x)=max(0,x)
(3)
將經過卷積后得到的向量采用最大池化進行稀疏,其能夠選取特征圖中的最大值,簡化網絡參數加速模型訓練,最大池化公式為:
(4)

Squeeze-and-Excitation Networks(SEnet網絡)[15]是胡杰團隊于2017年提出的新型網絡結構,并利用該模型獲得了ImageNet 2017競賽圖像分類任務的冠軍。本課題利用該網絡作為特征重標定層,通過損失函數值去學習特征權重,調整有效的特征信息權重大,從而優化模型達到更好的訓練效果,SEnet網絡結構如圖5所示。

圖5 SEnet網絡結構
在振動信號數據經過卷積與池化層后,將其輸入到SEnet網絡進行特征重標定,自適應獲取每個特征通道的重要程度。SEnet網絡主要包含Squeeze(壓縮)和Excitation(激勵)兩個部分。
Squeeze操作:數據X經過Ftr卷積池化轉換后得到圖5中的第二個模塊U,其中H,W1,C代表張量的長度、寬度以及通道數。模塊U經過Fsq操作變為1*1*C的輸出,其公式為:
(5)
式中,zc為壓縮操作后的輸出量,uc(i,j)為c通道中第i行第j列的輸出值。經過Squeeze操作進行特征映射后,原始的多維信號特征被映射為一個數值,該數值具有全局感受野,這使得靠近輸入的層也能獲得全局感受野,增強了模型的泛化能力。
Excitation操作:通過壓縮操作得到的結果為zc,將W1與zc進行全連接操作,如公式(6)所示。
s=Fex(zc,W)=σ(g(zc,W))=σ(W2δ(W1zc))
(6)

(7)
2)ResNeXt網絡層:
ResNeXt是ResNet和Inception的重構網絡,將殘差和多尺度思想相融合,既避免了因為網絡模型過深而帶來的梯度彌散現象,又利用多尺度學習信號特征。該模型不需要多次實驗設計復雜的Inception結構細節,而是選用一致的拓撲結構共享超參數,通過基數來改變控制組卷積的分支數量,極大地提高了模型的可擴展性。
將經過特征重標定后的振動信號輸入到ResNeXt網絡層,該網絡平行堆疊相同拓撲結構的殘差塊,減少超參數,便于模型的移植。ResNeXt的單個殘差塊在低維嵌入上實施一系列變換,再將輸出數據通過相加的方式聚合,ResNet與ResNeXt基本模塊的結構對比如圖6所示。

圖6 ResNet和ResNeXt模塊結構對比
左圖為常見的ResNet網絡,當網絡深度較深或參數較多時,模型訓練梯度可能會發生彌散現象,本文采用殘差結構優化信息傳遞路徑,避免梯度彌散現象的發生。圖6中右圖為改進的ResNeXt網絡,拆分-轉換-合并的形式可表示為:
(8)
其中:Ti為相同的拓撲結構,c為一個模塊中所具有的相同分支的數目,通常將c稱為基數,c的取值可以是任意數。ResNeXt網絡既可以對信號的空間特征進行更加深層次的學習,又可以利用多尺度結構提高模型性能。
3)故障分類層:
在經過ResNeXt模型提取信號特征后,利用全局平均池化將向量展平為一維,最后使用全連接層的Softmax函數將輸出進行特征轉換,完成軸承故障診斷。Softmax函數如式9所示。p(i)為第i個樣本的概率值,且0
(9)
本文采用交叉熵損失函數進行網絡優化,損失函數定義如式(10)所示,式中n為每個訓練批次的大小,k代表分類的類別數,k=[0,1,…,9],Y代表輸出的概率分布,P代表真實的故障標簽。
(10)
為測試模型的診斷準確率,本實驗在采樣頻率為12 kHz,0hp負載的條件下進行了測試實驗,該負載對應的轉速為1 797 rpm,實驗數據共包含5 600條訓練數據,2 400條測試數據,仿真實驗采用Python的深度學習框架keras來實現;仿真平臺為Inteli7-6700CPU3.40 GHz,24 G內存,Win1 064位操作系統;不采用GPU加速。實驗參數:輸入一維信號長度為441,采用Adam優化器進行梯度下降,最大迭代次數200,每批次訓練樣本256。
雖然本文提出的SE-ResNeXt模型使用了組卷積的概念,簡化了超參數的選取,但是卷積和池化層仍然需要進行參數的設定,經過多次重復性實驗,最后得到了如表2的參數設置與模型結構。

表2 模型參數
圖7為SE-ResNeXt網絡迭代200次的訓練與測試準確率曲線圖,其中模型輸入為原始一維振動信號數據,圖中可以看到本文所提模型在迭代大約120輪后訓練準確率已達到99.2左右,雖有較小波動但是后續逐漸趨于平穩,證明了所提模型能夠較好的完成滾動軸承的故障診斷與分類。

圖7 SE-ResNeXt模型訓練準確率曲線
本文采取的軸承故障診斷評估指標有準確率(Accuracy):所有正確分類的樣本與所有樣本之比;召回率(Recall):實際正常的
樣本與預測為正常樣本之比;F1(F1-Score):準確率與召回率的調和平均,其對應公式為:
(11)
(12)
(13)
式中,TN代表將正常樣本正確分類的樣本數;TP代表將故障樣本正確分類的樣本數;FN代表錯誤分類故障樣本數;FP代表錯誤分類正常樣本數。利用上述指標對SE-ResNeXt模型診斷實驗結果的評價如表3所示。

表3 SE-ResNeXt模型分類結果
在未使用模型時,模型訓練用時為456 s,利用模型復用技術,該網絡調用已訓練完畢的模型,進行故障診斷,得到的平均準確率為99.25%,重構時間為2.16 s。在本次實驗中,我們采用了NIN、Inception-V1、VGG16、1DCNN四種模型與SE-ResNeXt進行了十分類對比測試,實驗結果如圖8所示。

圖8 十次實驗的平均測試準確率
為進一步分析模型的診斷分類效果,將模型訓練的0 hp負載數據在全連接層進行T-SNE技術的特征降維,然后將二維特征向量進行可視化,結果如圖9所示。降維可視化表明,在未進行分類時,各種故障特征雜糅在一起,難以區分,經過SE-ResNeXt模型訓練后在全連接層已經具有較為明顯的十類分布。

圖9 T-SNE特征可視化
在實際的工業生產中,機械設備的滾動軸承往往處于較為復雜的環境條件下,實驗測量所得到的振動信號并不都是純凈的,經常夾雜著許多的噪聲。因此為了進一步的測試模型的魯棒性,使用1 hp的正常數據進行訓練,并在測試數據中加入不同強度的高斯白噪聲,評估模型在不同信噪比下的性能。
以正常振動信號與外圈故障0.007英寸的振動信號為例,加入10 dB與20 dB的噪聲信號,信噪比的定義如式(14)所示。
(14)
式中,Asignal為信號的幅度,Anoise為噪聲幅度,實驗十次取平均值,測試結果如表4所示。

表4 模型抗噪聲實驗結果 %
由表中的數據可知,模擬真實工業生產環境,添加不同的噪聲信號后,模型的檢測準確率有所下降,且噪聲越大,對模型的影響越大。多次實驗所測得的結果是SE-ResNeXt模型診斷準確率最高。分析1DCNN的抗噪聲能力不錯是其采用了卷積神經網絡,提取的特征具有平移不變的特點,增加了模型的魯棒性,但因為其并未進行特征重標定,模型感受野有限且學習深度不夠從而導致模型的準確率較低。VGG16僅僅依靠堆疊較深層次的卷積網絡,雖然模型在噪聲較小的情況下準確率較高,但是由于感受野有限,導致模型的魯棒性欠佳。
本文首先介紹了常用的軸承故障診斷方法,然后在相關研究的基礎上,提出了一種基于SE-ResNeXt網絡的軸承故障診斷方法,該方法直接從原始一維振動信號提取特征進行學習,通過設計相應的網絡參數完成最優診斷模型的構建,從而實現了端到端的軸承故障診斷。
實驗結果表明:與目前常用的深度學習算法相比,本文所提模型具有更好地檢測準確率,利用模型復用技術,可以在較短時間內實現故障的快速診斷。工業生產中的噪聲會嚴重影響模型的診斷準確性,本文所提模型可減小噪聲對診斷結果的影響,提高在噪聲影響下的診斷準確率。
在將來的工作中,本文將針對以下兩個方面進行更加深入的探索:
1)研究數據類別高度不平衡的滾動軸承故障檢測算法。
2)在保持高準確率的情況下,探索故障檢測時間較短的深度學習算法。