余阿東
(信陽職業(yè)技術(shù)學院 汽車與機電工程學院,河南 信陽 464000)
滾動軸承經(jīng)常在復雜環(huán)境中運行,易受各種外界干擾從而發(fā)生故障。在滾動軸承發(fā)生故障后,如何快速、準確地識別出故障類型及故障程度,對于提高故障定位精度和縮短整機恢復運行時間具有重要意義[1]。
目前,對滾動軸承故障進行診斷一般是基于振動信號進行[2],而實際采集到的振動信號常表現(xiàn)出非線性和非平穩(wěn)性,導致傳統(tǒng)的基于信號處理的故障識別方法受到較大限制[3]。
而基于深度學習的軸承故障識別方法無須構(gòu)建復雜的滾動軸承物理模型。
丁家滿等人[4]在對滾動軸承故障進行診斷時,采用重采樣技術(shù),提取了軸承振動信號的時域和頻域特征,進而構(gòu)建了深度森林模型,使?jié)L動軸承故障的識別率達到了95%。王登峰等人[5]將深度Q網(wǎng)絡引入了軸承的故障識別領(lǐng)域,建立了“博弈”診斷模型,建立了故障信號與不同故障程度之間的映射關(guān)系。
深度學習模型為一般黑箱模型。CHEN K等人[6]為解釋故障機理,將軸承故障特征轉(zhuǎn)換為灰度圖;但是灰度圖的物理含義不明確。
稀疏表示以字典原子的線性組合來重建信號,因此其所提取的字典原子與信號本身是線性關(guān)系,具有較重要的實際意義。
因此,筆者基于稀疏表示理論,借鑒深度學習“逐層提取特征”的思想,提出一種可用于滾動軸承故障識別的深度字典學習(DDL)模型;首先利用稀疏性約束逐層學習故障數(shù)據(jù)中的典型結(jié)構(gòu)特征,然后構(gòu)成深度故障字典,根據(jù)故障樣本的重建誤差確定故障類別,最后以滾動軸承試驗臺為對象測試DDL模型的有效性。
稀疏表示是利用少量基本信號的線性組合來表示目標信號,其表達式如下:
y=Dx+v
(1)
式中:y—目標信號;D—字典;x—稀疏表示系數(shù);v—誤差。
字典D的每一列為一個原子,其單位化處理式如下:
(2)
由學習方法構(gòu)造的字典是根據(jù)樣本數(shù)據(jù)的特點自適應學習得到的,學習到的原子形態(tài)更豐富。因此,筆者使用學習方法來構(gòu)造故障字典。
在字典學習模型中,D和x為待求量,因此求解目標信號的稀疏表示可轉(zhuǎn)換為:
(3)
式中:Y—樣本矩陣;X—稀疏系數(shù)矩陣;s—稀疏指標;‖·‖F(xiàn)—F—范數(shù);‖·‖0—向量非零元個數(shù)。
筆者采用交替迭代法來求解式(3),其具體步驟是:
首先,固定D求解X;然后,固定X對D進行更新,重復上述操作,直到誤差滿足要求。
由字典D求解X是編碼問題,此處筆者采用正交匹配追蹤法(OMP)[7]進行求解。
此外,筆者采用SGK算法[8-10]進行字典D的更新,即:
(4)
(5)
由于將學習到的字典應用于軸承故障識別時,不需要構(gòu)建分類器,目標樣本會由同屬一類的字典原子稀疏表示出來,通過非零項系數(shù)的分布及重建誤差,可將測試樣本分配給對應類別。
設樣本數(shù)為M,樣本維度為N。
滾動軸承故障類型如下:正常狀態(tài)、內(nèi)圈故障(輕微損傷尺寸0.18 mm,中度損傷尺寸0.36 mm,重度損傷尺寸0.54 mm)、外圈故障(輕微損傷尺寸0.18 mm,中度損傷尺寸0.36 mm,重度損傷尺寸0.54 mm)、滾動體故障(輕微損傷尺寸0.18 mm,中度損傷尺寸0.36 mm,重度損傷尺寸0.54 mm),共計10種工況類型。
其中,測試軸承的損傷尺寸由電火花刻蝕技術(shù)加工獲得。
樣本矩陣表示如下:
(6)
式中:Y∈N×M;Yi—第i(i=1,2,…,10)類樣本的樣本子集,Yi∈N×Mi;Mi—第i類的樣本總數(shù)。
筆者借鑒深度學習模型“逐層特征提取”算法,構(gòu)建深層故障字典。每層字典的稀疏性指標設置為1,利用信號表示殘差逐層驅(qū)動字典學習,其數(shù)學模型如下:
(7)
第j層字典Dj、系數(shù)矩陣Xj和殘差矩陣Δj也按類別進行劃分。殘差矩陣Δj定義如下:
(8)
式(7)所示的約束優(yōu)化問題可簡化為無約束優(yōu)化問題,即:
(9)
重復上述操作,直到字典層數(shù)等于設定的總層數(shù)n,所學習到的深度字典即可以用于故障識別。
DDL模型求解流程圖如圖1所示。
圖1 DDL模型流程圖
(10)
式(10)中,J越小誤差越小,模型性能越好。
由于不同字典初值會影響迭代過程的收斂,從而最終會對模型性能造成影響。
K均值初始化、直接初始化和隨機初始化3種不同初始化方法對模型的影響,如圖2所示。
圖2 不同初始化方法對模型性能的影響
由圖2可知:K均值初始化方法效果最好,其內(nèi)在結(jié)構(gòu)上保證了初始化的字典中不會有特別相近的原子。因此,筆者選擇K均值進行初始化。
字典的原子總數(shù)以及字典層數(shù)也是影響模型性能的重要因素。在理論上,增加字典規(guī)模和層數(shù)可使模型更精確,但同時也會增加字典學習過程中所需的時間和硬件資源。因此,此處應綜合考慮模型性能和求解代價,選擇合理的字典規(guī)模和層數(shù),在保證模型性能的前提下,盡可能地縮短模型訓練時間,并減少其對硬件資源的占用。
筆者對字典中原子總數(shù)占總樣本總數(shù)的比例從0.1至0.5,字典層數(shù)從1層到8層的情況下,進行了迭代求解。
不同組合下,模型最終的代價函數(shù)取值如圖3所示。
圖3 字典規(guī)模及層數(shù)對模型性能的影響
由圖3可以看出:當字典規(guī)模和層數(shù)增加到一定程度時,模型性能趨于穩(wěn)定。此時,再增加字典規(guī)模和層數(shù)對模型性能的提升作用不大。
因此,筆者最終選定字典層數(shù)為5層,字典中原子總數(shù)占樣本總數(shù)的比例為30%。
分類學習至各層字典后,筆者將同屬一層的各類字典組成總子層字典,即:
(11)
對待識別的軸承故障樣本y,在各子層字典Dj(j=1,2,…,n)上逐層求解稀疏表示系數(shù),且各層的稀疏性指標均為1。由于此時字典Dj是已知的,只需利用OMP算法求解系數(shù)向量xj,然后利用殘差更新公式逐層更新殘差,最后進行信號重構(gòu)。重構(gòu)誤差最小的類就是該樣本所屬故障類別。
具體判別方法如下:
(12)
樣本的深度稀疏表示如圖4所示。
圖4 樣本的深度稀疏表示
為驗證深度字典學習DDL模型的有效性,筆者搭建了滾動軸承試驗臺,對故障軸承進行了測試。
滾動軸承試驗臺如圖5所示。
圖5 滾動軸承實驗臺
圖5中的試驗臺由電機、轉(zhuǎn)矩測量軸、滾動軸承測試模塊、飛輪和負載電機等組成。
加速度傳感器安裝在試驗臺驅(qū)動端,軸承型號為6205-2RS JEM SKF;采樣頻率設置為12 000 Hz,轉(zhuǎn)速為1 800 r/min;
此處,筆者設置4種工況狀態(tài):內(nèi)圈故障工況、外圈故障工況、滾動體故障工況以及正常工況。
每種故障損失尺寸分別為0.18 mm、0.36 mm和0.54 mm。測試軸承的損傷尺寸是由電火花刻蝕技術(shù)加工得到的。
最后,實驗所得數(shù)據(jù)集的每種工況包括3 000個訓練樣本、800個驗證樣本和1 000個測試樣本。測試樣本用于評估模型,每個樣本包括1 024個采樣點。
實驗工況的設置如表1所示。
表1 實驗工況設置
在10種工況下,滾動軸承的時域波形如圖6所示。
圖6 時域波形圖
10種工況下,滾動軸承相應的的包絡譜如圖7所示。
圖7 包絡譜圖
由圖(6,7)可知:滾動軸承的信號時域波形與包絡譜圖受噪聲干擾嚴重,難以直接識別滾動軸承故障。
在Winpython5.2.0環(huán)境下的Spyder編譯器使用Python 3.8進行程序編寫,深度學習框架為PyTorch 1.5。
其硬件以及軟件環(huán)境如表2所示。
表2 程序運行環(huán)境
筆者將樣本采用2.1節(jié)中的樣本矩陣生成方法進行處理,得到樣本矩陣;再利用深度字典學習模型求解方法迭代求解出深度故障字典D。其中模型關(guān)鍵參數(shù)的選擇與2.3節(jié)中一致。后續(xù)故障樣本的分類均基于該深度故障字典D實現(xiàn),分類實現(xiàn)如2.4節(jié)所述。
為了測試深度字典學習DDL模型的性能,在相同數(shù)據(jù)集上,筆者使用文獻[11]提出的CNN-LSTM深度神經(jīng)網(wǎng)絡(CNN-LSTM)、文獻[12]提出的深度自編碼網(wǎng)絡(DSCN)、文獻[13]提出的卷積神經(jīng)網(wǎng)絡和門控循環(huán)單元(C-GRU)進行對比分析。
在測試集上,不同模型的實驗結(jié)果準確率取10次試驗結(jié)果的平均值,如表3所示。
表3 不同模型的實驗結(jié)果
由表3可知:
(1)采用DDL模型的滾動軸承故障識別準確率達到了99.28%,高于其他3種模型,且訓練時間低于其他模型,這是因為數(shù)據(jù)驅(qū)動的字典學習方法能充分利用滾動軸承自身的海量故障數(shù)據(jù)提取故障特征;且訓練算法非反向傳播算法,梯度消失缺陷得以避免;
(2)在CNN-LSTM模型中,由于LSTM的梯度消失現(xiàn)象嚴重,識別準確率僅為94.67%,且LSTM的時間跨度較大,運算相對耗時;
(3)DSCN模型為全連接網(wǎng)絡模型,所需要訓練的參數(shù)眾多,導致訓練時間最長;
(4)C-GRU將CNN和GRU模型結(jié)合,GRU相對LSTM少一個門函數(shù),因此,參數(shù)量少于LSTM,訓練速度快于LSTM;但其識別準確率略低于LSTM。
基于DDL的診斷方法的第1次訓練與測試過程Loss曲線,如圖8所示。
圖8 Loss函數(shù)變化曲線
接下來,筆者進一步分析DDL模型的特征學習與故障識別能力。
基于DDL的診斷方法的第1次測試結(jié)果多分類混淆矩陣,如圖9所示。
圖9 第1次測試結(jié)果的多分類混淆矩陣
由圖9可知:10種工況下,滾動軸承的故障識別準確率均達到了99%以上(工況f和g的識別準確率最高,達到了100%);正常工況下的識別率為99.17%,低于其他工況。
考慮到實際運行環(huán)境中存在噪聲,筆者對所提算法的抗噪性能進行驗證,對采集到的故障樣本添加高斯白噪聲。
在不同噪聲強度下,故障識別準確率和重建誤差(樣本實際所屬類別字典的重建誤差)的均值,如表4所示。
表4 抗噪性能驗證
由表4可知:在不同噪聲強度下,筆者所提出的DDL模型均可獲得較高的故障識別準確率,且對樣本的重建誤差受噪聲強度的影響較小。該結(jié)果證明了DDL模型具有較好的抗噪性能。
由于深度學習等基于數(shù)據(jù)驅(qū)動的特征學習算法的可解釋性差,筆者構(gòu)建了一個基于數(shù)據(jù)的特征學習模型,且所學習到的特征具有較好的物理含義。
外圈故障振動信號基于深度故障字典的稀疏表示結(jié)果,如圖10所示。
圖10 稀疏表示字典原子
由圖10可知:低層字典原子主要反映了故障樣本的概貌特征,高層字典原子主要揭示了故障的細節(jié)特征(沖擊特征),且隨著字典層數(shù)的增加,突變量等細節(jié)信息更為凸顯。
由此可見,這種從由概貌到細節(jié)的層次化特征提取方式,符合人們的認知過程,具有較好的物理意義[14,15]。
為了解決軸承故障識別算法存在的特征提取與選擇困難的問題,筆者提出了一種基于DDL方法的滾動軸承故障識別方法,即利用字典學習的稀疏性約束逐層學習軸承故障數(shù)據(jù)中的典型結(jié)構(gòu)特征,再根據(jù)故障樣本結(jié)構(gòu)構(gòu)造了深度故障字典,根據(jù)樣本的重建誤差確定了其故障類別;實驗結(jié)果表明,基于DDL的故障識別方法具有較好的識別效果。
主要研究結(jié)論如下:
(1)深度字典學習模型逐層自動提取故障特征,所提取的故障特征具有較好的物理含義;其中,低層字典包含了故障的總體特征,高層字典揭示了故障的細節(jié)特征,在一定程度上解決了故障特征的可解釋性問題;
(2)基于數(shù)據(jù)驅(qū)動的字典學習方法,能充分利用滾動軸承自身的海量故障數(shù)據(jù)提取故障特征,用于解決如軸承系統(tǒng)復雜故障識別等物理建模過程過于復雜的問題。
筆者所設置的軸承故障缺陷是參考大多數(shù)文獻所使用的電火花刻蝕技術(shù)得到的,與實際軸承缺陷的表現(xiàn)特征存在一定差別。因此,在后續(xù)的研究工作中,筆者擬將DDL模型方法應用于軸承全壽命周期故障信號,并進一步對DDL模型進行優(yōu)化。