劉冠男 常振臣 高明亮 趙 明 高 珊
(中車長春軌道客車股份有限公司國家軌道客車工程研究中心, 130062, 長春∥第一作者, 正高級工程師)
據(jù)統(tǒng)計,動車組轉(zhuǎn)向架故障中,由軸箱軸承失效導(dǎo)致的故障占到了45%~55%[1-4]。因此,動車組軸箱軸承早期故障診斷預(yù)測顯得尤為重要。傳統(tǒng)的軸承故障診斷方法主要是通過信號處理技術(shù),經(jīng)濾波解構(gòu),將能夠反映設(shè)備運行狀態(tài)的目標信號從含有眾多噪聲的原始信號中提取出來,然后通過建立近似的物理模型再加以相應(yīng)的數(shù)值計算,將目標信號進一步分析和還原,以精準地確定故障狀態(tài)及故障點位。該方法在數(shù)據(jù)不多、情況不復(fù)雜、環(huán)境較好、誤差不大的條件下的試驗結(jié)果尚能達到預(yù)期,但由于轉(zhuǎn)向架軸箱軸承數(shù)據(jù)所呈現(xiàn)的特性,這種傳統(tǒng)的、依靠信號分析技術(shù)解構(gòu)信號、依靠數(shù)據(jù)分析提取特征的故障診斷方法的缺點也逐漸被擴大。隨著計算機計算能力的增強,神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)算法開始為大眾所知。與傳統(tǒng)的故障診斷算法不同,新興的深度學(xué)習(xí)的故障診斷算法擁有極強的特征提取能力,善于提取數(shù)據(jù)內(nèi)部隱含的特征并且不依賴于人工的力量[5],可以實現(xiàn)算法的自主學(xué)習(xí)。
動車組的故障診斷預(yù)測模型是通過系統(tǒng)傳感器的檢測數(shù)據(jù)來構(gòu)建的,該過程是一個時序高維問題[6-9]。并且轉(zhuǎn)向架軸箱軸承數(shù)據(jù)呈現(xiàn)出異構(gòu)性、海量性、多樣性等特點,對故障診斷技術(shù)的魯棒性、實時性、泛化能力等提出了新的要求[7]。本文以深度學(xué)習(xí)理論為基礎(chǔ),以轉(zhuǎn)向架軸箱軸承為研究對象,結(jié)合軸承故障診斷等相關(guān)理論,將深度學(xué)習(xí)理論應(yīng)用于軸承故障診斷領(lǐng)域的嘗試和探索。通過LSTM(長短期記憶網(wǎng)絡(luò))構(gòu)建故障診斷分類模型,自主獲取不同工況下軸承振動信號的特征,最終達到可以準確地識別各類軸承故障的目的。LSTM深度學(xué)習(xí)理論與故障診斷在實際的生產(chǎn)和生活中相結(jié)合,不僅可以推動算法理論進一步的完善,更能夠精準地預(yù)測軸承的運行狀態(tài)及故障情況,實現(xiàn)對轉(zhuǎn)向架軸箱軸承的預(yù)防性維護[10-12]。
LSTM專門設(shè)計用于精確地模擬時間序列及其長期依賴性,且其反饋回路架構(gòu)比其他神經(jīng)網(wǎng)絡(luò)在模式識別上更勝一籌。與其他RNN(遞歸神經(jīng)網(wǎng)絡(luò))架構(gòu)相比,LSTM可以解決傳統(tǒng)的RNN中存在的梯度消失和梯度爆炸等問題,擁有比傳統(tǒng)RNN更好的長短期記憶性能。LSTM與其他神經(jīng)網(wǎng)絡(luò)的主要不同之處在于LSTM基本單元的內(nèi)部設(shè)計及LSTM 架構(gòu)的變化。LSTM具有學(xué)習(xí)長期依賴性的能力和優(yōu)秀的模型結(jié)構(gòu),因此更適用于基于時序序列診斷預(yù)測的軸箱軸承分類問題。
長短期記憶體的結(jié)構(gòu)由具有自重為1.0的自連接的線性單元組成。保留流入此自循環(huán)單元的值(正向傳播)或梯度(反向傳播),并隨后在所需的時間步長中進行檢索。通過時間步長使得上一個時間步的輸出或誤差與下一個時間步的輸出或誤差相同。該自循環(huán)單元,即存儲單元,能夠存儲過去幾十個時間步的信息,這對于多任務(wù)學(xué)習(xí)而言非常強大。例如,針對軸承振動數(shù)據(jù),LSTM單元可以存儲前一時間段中包含的信息,并將此信息應(yīng)用于當前階段的診斷。
如圖1所示的LSTM結(jié)構(gòu)可見,每個LSTM塊都具有4個神經(jīng)網(wǎng)絡(luò)層,且該4個神經(jīng)網(wǎng)絡(luò)層會以特殊的方式相互作用,使LSTM完成一系列的記憶、遺忘等動作。
注:Xt為t時刻狀態(tài)下數(shù)據(jù)的輸入;ht為t時刻接收到的上一個節(jié)點的輸入;σ為當前節(jié)點狀態(tài)下的權(quán)重值;tan h為激活函數(shù);“+”為數(shù)據(jù)矩陣相加,“×”為數(shù)據(jù)矩陣相乘。圖1 LSTM結(jié)構(gòu)圖Fig.1 Diagram of LSTM network structure
LSTM結(jié)構(gòu)的關(guān)鍵就在于其單元狀態(tài)(見圖2中的黑色加粗線條)。該單元狀態(tài)順著整個LSTM鏈條從頭運行至尾,期間與其他信息交互很少,其上所運載的信息可以在長時間內(nèi)保持不變,這就是LSTM可以學(xué)習(xí)長期依賴性的原因。
LSTM通過一種名為“門”的結(jié)構(gòu)來實現(xiàn)信息的記憶(增加)和遺忘(刪除)。在某些情況下,需要利用更新的、更相關(guān)的信息代替存儲單元或單元狀態(tài)中的信息,因而希望丟棄舊的、過時的信息。同時,不希望通過將不必要的信息發(fā)布到網(wǎng)絡(luò)中來混淆其他的循環(huán)網(wǎng)絡(luò)。為了解決此問題,LSTM單元具有一個遺忘門,遺忘門會刪除自循環(huán)單元中的信息,從而為新的存儲器騰出空間。該做法不會將信息發(fā)布到網(wǎng)絡(luò)中,從而避免了可能的混亂。遺忘門通過將存儲單元的值乘以0(全部刪除)和1(保留所有內(nèi)容)之間的數(shù)字來完成此操作,具體值由上一個時間步的當前輸入和LSTM單位輸出確定。
注:Ct為t時刻狀態(tài)下數(shù)據(jù)的輸入; ft為t時刻輸入門的輸出;it為t時刻遺忘門的輸出;ot為t時刻輸出門的輸出。圖2 LSTM結(jié)構(gòu)細節(jié)圖Fig.2 Details of LSTM structure
在其他時間內(nèi),存儲單元包含需要保留許多時間步長的值。為此, LSTM模型添加了另一個門,即輸入門或?qū)戦T,可將其關(guān)閉,以便沒有新的信息流入存儲單元。這樣,存儲單元中的數(shù)據(jù)將得到保護,直到需要它為止。
輸出門通過將存儲單元的輸出乘以0(無輸出)和1(保留輸出)之間的數(shù)字來操縱存儲單元的輸出。
雙向LSTM通過允許未來數(shù)據(jù)為時間序列中的歷史數(shù)據(jù)提供信息,可以提高LSTM網(wǎng)絡(luò)的性能。與簡單的前饋網(wǎng)絡(luò)相比,這類LSTM網(wǎng)絡(luò)可以更好地解決復(fù)雜的序列學(xué)習(xí)或機器學(xué)習(xí)問題。
LSTM原理如下:
第1步,在LSTM中確定需要從單元中遺忘的信息,這個動作由“遺忘門”完成?!斑z忘門”以ht-1和xt為輸入;在Ct-1單元中輸出1個[0,1]范圍內(nèi)的數(shù),其中1代表完全保留,0代表完全遺忘。
ft=σ(Wf·[ht-1,xt]+bf)
(1)
式中:
Wf——t時刻輸入門的權(quán)重值;
σ——LSTM的傳遞函數(shù);
bf——遺忘門的閾值。
第2步,LSTM需要確定記憶(存儲)的信息。這個動作由兩部分組成:先將ht-1和xt輸入至名為“輸入門”的神經(jīng)網(wǎng)絡(luò)層,由該神經(jīng)網(wǎng)絡(luò)層確定存儲到LSTM內(nèi)的值;然后創(chuàng)建1個候選向量,該候選向量由tanh層創(chuàng)建,用于加入狀態(tài)機中。
it=σ(Wi·[ht-1,xt]+bi)
(2)
Ct,s=tanh(WC·[ht-1,xt]+bC)
(3)
式中:
it——t時刻記憶門的輸出;
Ct,s——t-1時刻的輸入與t時刻的輸入疊加的輸出;
Wi——LSTM的權(quán)重值;
bi——i時刻記憶門的閾值;
WC——i時刻記憶門的權(quán)重值;
bC——i時刻輸出門的權(quán)重值。
第3步,采用更新的、更進步的、更相關(guān)的單元狀態(tài)Ct去替換舊的、落后的、不相關(guān)的單元狀態(tài)Ct-1。將舊的狀態(tài)乘以ft,通過該動作,可以遺忘LSTM在第1步中決定所舍棄的或許是過時的或錯誤的信息;接著在此基礎(chǔ)上加上itCt,s,其中,itCt,s是新的候選值。根據(jù)操作者決定更新每個狀態(tài)的程度進行變化。
Ct=ftCt-1+itCt,s
(4)
最后,決定LSTM要輸出的內(nèi)容。單元狀態(tài)決定了其輸出值的類型,但并非單元狀態(tài)中的所有信息都是要輸出的。因此,需要利用Sigmoid神經(jīng)網(wǎng)絡(luò)層來決定單元狀態(tài)的去和留。將經(jīng)過壓縮處理的單元狀態(tài)與Sigmoid層的輸出相乘,從而得到最終值。
ot=σ(Wo[ht-1,xt]+bo)
(5)
ht=ottanh(Ct)
(6)
式中:
Wo——t時刻輸出門的輸出權(quán)重值;
bo——t時刻輸出門的輸出閾值;
ot——t時刻輸出門的輸出值;
bi——t時刻輸出門的輸出權(quán)重值。
2.1.1 數(shù)據(jù)集1預(yù)處理
本文選取的2個數(shù)據(jù)集均來源于網(wǎng)絡(luò)開源數(shù)據(jù)集。數(shù)據(jù)集1中軸承故障檢測訓(xùn)練賽所利用的數(shù)據(jù)(以下簡為“競賽數(shù)據(jù)集”),共有訓(xùn)練集和測試集2個文件。其中,訓(xùn)練集中的數(shù)據(jù)一共有792行、6 002列:第1列是數(shù)據(jù)編號,第2列到第6 001列是軸承的振動數(shù)據(jù),最后1列代表了對應(yīng)這一行數(shù)據(jù)的軸承的故障類型。除正常狀態(tài)外,軸承故障類型一共有9種,因此軸承共有10種狀態(tài),如表1所示。
軸承故障數(shù)據(jù)共528行、6 001列。前6 001列故障數(shù)據(jù)與訓(xùn)練集中前6 001列故障數(shù)據(jù)的含義相同,在結(jié)構(gòu)上僅缺少最后1列標簽列。利用該數(shù)據(jù)集中的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集,并在軸承的簡易故障檢測系統(tǒng)運行時,通過已訓(xùn)練好的模型預(yù)測樣本集中的數(shù)據(jù),并將結(jié)果加以展示。
表1 競賽數(shù)據(jù)集的軸承故障標簽表Tab.1 Bearing failure tag table of the competition data set
數(shù)據(jù)輸入預(yù)處理過程如下:先將故障源文件中的數(shù)據(jù)讀取到模型數(shù)據(jù)結(jié)構(gòu)中;再將全部數(shù)據(jù)按第1列到6 001列及第1列到第6 002列,分為振動信號數(shù)據(jù)(X)和標簽數(shù)據(jù)(Y);為了保證模型在訓(xùn)練時的準確度和損失值在正常范圍內(nèi),將振動信號數(shù)據(jù)和標簽數(shù)據(jù)分別歸一化;按訓(xùn)練集與測試集為7∶3的比例,將全部數(shù)據(jù)分為訓(xùn)練集和測試集。
2.1.2 數(shù)據(jù)集2預(yù)處理
數(shù)據(jù)集2是動車組軸承實驗室所提供的數(shù)據(jù)(以下簡為“動車組數(shù)據(jù)集”)。該數(shù)據(jù)集包含了軸箱軸承在多達數(shù)十種工況下的數(shù)據(jù)。根據(jù)軸承數(shù)據(jù),振動數(shù)據(jù)的采樣頻率為25 600 Hz,溫度數(shù)據(jù)的采樣頻率為1 Hz。本文中該數(shù)據(jù)集的采集頻率取48 kHz,則該工況下的軸承轉(zhuǎn)速為1 797 r/min,驅(qū)動端軸承故障數(shù)據(jù)共有9種故障和1種正常狀況。9種故障狀況分別為3種不同損傷直徑下的內(nèi)圈故障、外圈故障和滾動體故障。其中,外圈故障的故障點均在6點鐘方向。動車組數(shù)據(jù)集如表2所示。
表2 動車組數(shù)據(jù)集Tab.2 Data set of EMU
數(shù)據(jù)輸入預(yù)處理過程如下:利用深度學(xué)習(xí)預(yù)處理文件中的函數(shù),將動車組數(shù)據(jù)集中的數(shù)據(jù)整理為1 000組長度均為6 000的振動信號,并對每組數(shù)據(jù)賦予相應(yīng)的標簽,再按一定比例分為訓(xùn)練集、驗證集和測試集。
LSTM處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)具有巨大優(yōu)勢,可直接將振動時域信號作為模型網(wǎng)絡(luò)的輸入層?;贚STM模型的軸承故障診斷預(yù)測流程如圖3所示。
注:E2E為端到端。圖3 基于LSTM模型的軸承故障診斷預(yù)測流程框圖Fig.3 Flow chart of bearing fault diagnosis prediction based on LSTM model
基于LSTM模型的軸承故障診斷流程如下:
1) 數(shù)據(jù)預(yù)處理。將全部數(shù)據(jù)按一定比例劃分為訓(xùn)練集和測試集,利用訓(xùn)練集中的數(shù)據(jù)對模型進行訓(xùn)練,修改數(shù)據(jù)輸入格式,對原始數(shù)據(jù)進行截斷、重新組合,使其適配模型。
2) 特征提取。將預(yù)處理后的振動時域數(shù)據(jù)作為LSTM網(wǎng)絡(luò)的輸入,進行特征學(xué)習(xí),并確定基于振動數(shù)據(jù)的LSTM迭代次數(shù)、隱藏層層數(shù)及其他參數(shù)。
3) 故障診斷。將訓(xùn)練好的LSTM網(wǎng)絡(luò)的輸出層連接在一起形成全連接層,最后采用Softmax分類器對振動信號進行分類,實現(xiàn)故障診斷。
4) 保存模型。將模型保存至指定路徑,后續(xù)供系統(tǒng)進行調(diào)用。
為發(fā)揮LSTM善于處理時序序列問題的優(yōu)勢,以及解決數(shù)據(jù)長度對于LSTM模型而言計算復(fù)雜的問題,本文將振動數(shù)據(jù)按照批次分步輸入LSTM模型進行訓(xùn)練。利用寬度固定的滑動窗口,窗口長度為150,每次截取150個數(shù),重疊率為50%,即每次截取的數(shù)據(jù)與上次截取的數(shù)據(jù)有50%是相同的。以此計算,將1組數(shù)據(jù)中6 000個數(shù)分為79步輸入至LSTM模型中。構(gòu)建的LSTM結(jié)構(gòu)如圖4所示。
注:6 000×1代表輸入數(shù)據(jù)的維度;150代表輸入層數(shù)。圖4 LSTM結(jié)構(gòu)圖Fig.4 Diagram of LSTM network structure
按照已設(shè)定的輸入格式,確定LSTM模型的結(jié)構(gòu)。本文所構(gòu)建的LSTM模型由LSTM層、全連接層和輸出層組成。其中,第1層的LSTM層的數(shù)據(jù)輸入格式設(shè)置為(79,150),即該層含有79個時間步,每次輸入數(shù)據(jù)長度為150;LSTM層中的神經(jīng)元數(shù)設(shè)置為128;輸出層根據(jù)不同問題設(shè)置不同數(shù)值,該問題中的分類數(shù)為10,因此輸出層中的變量設(shè)置為10。
設(shè)置好LSTM模型的結(jié)構(gòu)之后,設(shè)置訓(xùn)練參數(shù)。訓(xùn)練參數(shù)包括輪次、批次和迭代次數(shù)。迭代即為利用指定數(shù)量的數(shù)據(jù)完成一次正向傳播及反向傳播,并更新模型參數(shù)的過程;批次即為完成一次迭代利用數(shù)據(jù)的組數(shù);輪次即為訓(xùn)練集中的數(shù)據(jù)全部完成一次正向傳播和反向傳播。試驗結(jié)果表明,輪次的設(shè)置要盡量大,使得訓(xùn)練集及測試集或者驗證集中數(shù)據(jù)的準確率和損失函數(shù)的曲線達到相對平穩(wěn)。批次的設(shè)定要根據(jù)算法的實際運行情況進行調(diào)整,若批次取值較小,則每一輪訓(xùn)練迭代次數(shù)較多,導(dǎo)致計算速度慢,但參數(shù)的調(diào)整快;若批次取值較大,則每一輪的迭代次數(shù)較少,導(dǎo)致計算速度快,網(wǎng)絡(luò)的梯度亦更加準確。通過反復(fù)測試,最終確定批次設(shè)置為64,輪次設(shè)置為200。
本文首先利用競賽數(shù)據(jù)集進行模型的訓(xùn)練,將競賽數(shù)據(jù)集分為訓(xùn)練集和測試集。在每輪訓(xùn)練完成之后,利用測試集中的數(shù)據(jù)作為驗證集對模型進行驗證。該步驟的目的是為了防止模型的過擬合,通過模型在測試集上的準確率和損失函數(shù)進行判斷,從而再去調(diào)整模型的參數(shù),以達到最好的效果。LSTM利用經(jīng)過競賽數(shù)據(jù)集訓(xùn)練200輪的結(jié)果如圖5所示。從圖5可以看出,在訓(xùn)練進入大約20輪之后,模型在訓(xùn)練集上的準確率和損失函數(shù)就已經(jīng)達到一個穩(wěn)定的狀態(tài),且準確率達到了100%,損失函數(shù)也趨近于0;在訓(xùn)練進入約120輪之后,模型在測試集上的準確率和損失函數(shù)也不再改變,準確率達到0.980左右,損失函數(shù)則在0.077左右。
圖5 競賽數(shù)據(jù)集LSTM訓(xùn)練損失值及準確率Fig.5 LSTM training loss value and accuracy rate of the competition data set
本文利用動車組對該模型進行訓(xùn)練,模型結(jié)構(gòu)參數(shù)及訓(xùn)練參數(shù)的設(shè)置需要進行一定的修正,以使模型更好地契合第2個模型數(shù)據(jù)集。經(jīng)過反復(fù)測試最終確定將輸入數(shù)據(jù)格式修改為39個時間步,每次數(shù)據(jù)輸入長度為300;將批次修改為256,將Epoch設(shè)置為200,同時增加1層神經(jīng)元為128個的LSTM層。修正后模型的訓(xùn)練結(jié)果如圖6所示。由圖6可知,訓(xùn)練接近60次時,模型在訓(xùn)練集和驗證集上的準確率和損失函數(shù)就已經(jīng)幾乎保持不變,驗證集的準確率穩(wěn)定在0.997。通過模型評價函數(shù),采用已完成訓(xùn)練的模型對測試集進行評價,其準確率為0.875。
圖6 動車組數(shù)據(jù)集LSTM訓(xùn)練準確率Fig.6 LSTM training accuracy rate of EMU data set
本文充分利用動車組軸承振動信號時間序列的特點,以及LSTM擅長處理時間序列的優(yōu)勢,構(gòu)建LSTM模型對軸承的故障狀態(tài)進行識別,并采用LSTM算法對轉(zhuǎn)向架軸箱軸承進行故障診斷。模型的仿真和試驗表明,該診斷模型能有效地提高故障診斷的辨識精度,模型擬合優(yōu)度達到99%,辨識正確率最高達到87%。該研究成果可有效提升動車組軸承運用、維修及管理水平,具有良好的應(yīng)用前景。