張超,龐永志,王巍智,呂達(dá)
(1.內(nèi)蒙古科技大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古包頭 014017;2.內(nèi)蒙古自治區(qū)機(jī)電系統(tǒng)智能診斷與控制重點(diǎn)實(shí)驗(yàn)室, 內(nèi)蒙古包頭 014010)
齒輪傳動(dòng)是機(jī)械傳動(dòng)中應(yīng)用最廣的一種傳動(dòng)形式。它的傳動(dòng)相對(duì)較穩(wěn)定、效率高、結(jié)構(gòu)緊湊、工作可靠,具有運(yùn)行平穩(wěn)、可變傳動(dòng)傳遞方向、傳遞大扭矩等優(yōu)點(diǎn)[1]。隨著集成度的提高,現(xiàn)代機(jī)械設(shè)備齒輪的精度也越來越高,在長期運(yùn)行中很容易出現(xiàn)磨損,從而發(fā)生輪齒折斷。監(jiān)測齒輪的健康狀態(tài)是保障機(jī)械設(shè)備可靠運(yùn)行的重要手段。出于可靠性、安全性和經(jīng)濟(jì)性的考慮,齒輪故障預(yù)測和健康管理(Prognostics and Health Management, PHM)[2]獲得廣泛關(guān)注。但是如何用大量的數(shù)據(jù)通過深度學(xué)習(xí)得到齒輪的剩余使用壽命成為一大挑戰(zhàn)。
深度學(xué)習(xí)(Deep Learning, DL)[3-4]是近幾年機(jī)器學(xué)習(xí)領(lǐng)域最引人注目的方向,它通過模仿人腦的工作機(jī)制對(duì)語音、圖像、文本等數(shù)據(jù)進(jìn)行解釋。其觀點(diǎn)最早來自于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)[5]的研究。反向傳播算法(Back Propagation,BP)[6-7]的提出,將統(tǒng)計(jì)模型的機(jī)器學(xué)習(xí)推向浪潮。張瑞等人[8]較早開始用淺層BP神經(jīng)網(wǎng)絡(luò),通過反向傳播誤差的算法構(gòu)建了設(shè)備狀態(tài)識(shí)別與剩余壽命預(yù)測模型;齒輪的狀態(tài)監(jiān)測數(shù)據(jù)非對(duì)稱分布,而且在實(shí)際應(yīng)用中采樣往往不連續(xù)。因此,考慮到以上2個(gè)原因,很難準(zhǔn)確預(yù)測齒輪的剩余使用壽命。由于Elman神經(jīng)網(wǎng)絡(luò)在反饋和精度上都優(yōu)于BP網(wǎng)絡(luò),CHEN和LIU[9]提出了一種基于灰色神經(jīng)網(wǎng)絡(luò)的齒輪剩余壽命預(yù)測,主要利用Elman神經(jīng)網(wǎng)絡(luò)對(duì)灰色模型殘差序列進(jìn)行修正的融合方法進(jìn)行預(yù)測;王鑠[10]提出了基于支持向量機(jī)(Support Vector Machine, SVM)的剩余壽命預(yù)測方法,通過卡爾曼濾波與支持向量機(jī)相結(jié)合方法對(duì)剩余壽命進(jìn)行預(yù)測,大大提高了機(jī)器剩余壽命預(yù)測精度,具有一定的工程應(yīng)用價(jià)值;李磊[11]針對(duì)旋轉(zhuǎn)機(jī)械傳動(dòng)部件剩余壽命預(yù)測的問題,通過極限學(xué)習(xí)機(jī)(Extreme Learning Machine, ELM)算法構(gòu)建ELM趨勢(shì)預(yù)測模型,用軸承全壽命數(shù)據(jù)進(jìn)行驗(yàn)證,結(jié)果表明ELM算法與傳統(tǒng)的SVM算法和BP算法相比在預(yù)測方面具有一定優(yōu)越性。由于計(jì)算機(jī)計(jì)算能力不斷提高,數(shù)據(jù)不斷增加,自2016年機(jī)器人AlphaGo打敗世界圍棋高手,迎來了深度學(xué)習(xí)的高潮,深度學(xué)習(xí)的應(yīng)用領(lǐng)域越來越廣。相比于傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò),遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)最大的優(yōu)點(diǎn)是可以用當(dāng)前時(shí)刻輸入層的數(shù)據(jù)和之前輸出的數(shù)據(jù),但是傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)卻不能。RNN 每一次的輸入既有當(dāng)前的也有過去的反饋,因此,RNN 更適合去解決一些與時(shí)序相關(guān)的信息[12]。然而RNN也存在一個(gè)很大的缺點(diǎn),當(dāng)序列過長時(shí)會(huì)導(dǎo)致網(wǎng)絡(luò)發(fā)生梯度消失或梯度爆炸[13]。為了解決這個(gè)問題,HOCHREITER和SCHMIDHUBER[14]最早引出了長短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),它可以很好地解決長時(shí)間序列的問題。石慧等人[15]依據(jù)監(jiān)測的一些設(shè)備退化數(shù)據(jù),提出了一種改進(jìn)的記憶循環(huán)神經(jīng)網(wǎng)絡(luò),時(shí)刻監(jiān)測剩余使用壽命,提高了預(yù)測精度。CHEN等[16]提出了一種新的遞歸神經(jīng)網(wǎng)絡(luò)-門控遞歸單元(Gated Recurrent Unit, GRU),驗(yàn)證了該方法對(duì)非線性退化過程RUL預(yù)測的有效性;結(jié)果還表明:與LSTM方法相比,該方法訓(xùn)練時(shí)間更短,預(yù)測精度更高。溫海茹和陳雯柏[17]提出一種深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network,DCNN) 和LSTM相結(jié)合的方法對(duì)剩余使用壽命進(jìn)行預(yù)測,并在C-MAPSS 數(shù)據(jù)集上進(jìn)行了驗(yàn)證,與CNN、LSTM 模型在相同數(shù)據(jù)集上進(jìn)行比較,預(yù)測精度有了很大提高,驗(yàn)證了此算法的有效性。雖然LSTM相比于RNN有了巨大的改進(jìn),并且通過與CNN相結(jié)合準(zhǔn)確率得到了提高,但是卻引入了更高的計(jì)算復(fù)雜度。為了解決LSTM復(fù)雜度過高的問題,同時(shí)又能保證良好的準(zhǔn)確率,本文作者提出了一種CNN結(jié)合GRU的方法來對(duì)齒輪進(jìn)行預(yù)測。因?yàn)镚RU簡化了LSTM的結(jié)構(gòu),可以在保持與LSTM模型相當(dāng)?shù)谋磉_(dá)能力前提下,提高循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是目前比較火的深度學(xué)習(xí)網(wǎng)絡(luò)之一,它有著很強(qiáng)的特征提取能力,大量應(yīng)用于語音識(shí)別、模式識(shí)別、語言處理等,并能通過大量檢測數(shù)據(jù)進(jìn)行機(jī)械系統(tǒng)故障診斷[18]。文中采用一維卷積來構(gòu)建時(shí)間序列,如圖1所示,提取特征信息,構(gòu)建2個(gè)卷積層,并采用最大池化層作為連接層,池化層尺寸為3×3,選擇合適大小的池化窗口能夠降低輸入門控循環(huán)單元的噪聲信息,但池化窗口過大則導(dǎo)致部分有效信息丟失。池化層的引入增加了參數(shù)量,但是提高了訓(xùn)練速度。
圖1 一維卷積原理Fig.1 One-dimensional convolution schematic
GRU能夠解決RNN在實(shí)際應(yīng)用中出現(xiàn)的梯度爆炸和消失的問題。它的核心是一個(gè)“更新門”,在保證神經(jīng)元記憶力的前提下,簡化了與它類似的長短時(shí)記憶網(wǎng)絡(luò)(Long Short Term Memory, LSTM)的結(jié)構(gòu),提高訓(xùn)練速度[19]。更新門的作用是決定模型要將多少之前的信息傳遞到后面。 它的重置門也非常重要,決定了要丟棄多少之前的信息。下一步當(dāng)前記憶內(nèi)容會(huì)被激活,激活后的更新門控制保留新信息和舊信息的數(shù)量。新信息和舊信息具有互補(bǔ)的關(guān)系。如果保留了大量的新信息,那么考慮的舊信息就會(huì)較少,反之亦然。具體的結(jié)構(gòu)如圖2所示。
圖2 GRU原理Fig.2 GRU schematic
更新門公式:
zt=σ(W(z)xt+U(z)ht-1)
(1)
重置門公式:
rt=σ(W(r)xt+U(r)ht-1)
(2)
當(dāng)前記憶內(nèi)容:
h′t=tanh(Wxt+rt⊙Uht-1)
(3)
當(dāng)前時(shí)間步最終記憶:
ht=zt⊙ht-1+(1-zt)⊙h′t
(4)
式中:W(z)、W(r)、W分別為更新門、重置門和當(dāng)前記憶的權(quán)重;ht-1、ht分別為上一時(shí)刻的輸出和當(dāng)前時(shí)刻的輸出;xt為當(dāng)前時(shí)刻的輸入;U(z)、U(r)、U為循環(huán)連接的權(quán)重;σ和tanh分別表示sigmoid函數(shù)和tanh函數(shù);⊙表示元素相乘。
GRU的目標(biāo)是通過學(xué)習(xí)非線性退化規(guī)律,將源數(shù)據(jù)轉(zhuǎn)換為RUL標(biāo)簽。RNN有許多不同的結(jié)構(gòu),它們被應(yīng)用于特定的任務(wù),比如:圖像自動(dòng)標(biāo)注通常采用單輸入多輸出結(jié)構(gòu);句子情感分析通常采用多輸入單輸出結(jié)構(gòu)。具有多輸入多輸出的結(jié)構(gòu)通常用于機(jī)器翻譯和視頻分類。不同的預(yù)測任務(wù)要建立不同的模型,GRU網(wǎng)絡(luò)專用于對(duì)時(shí)間序列建模和學(xué)習(xí)序列的長期依賴性,由于用于表示旋轉(zhuǎn)機(jī)械退化過程的退化特征由一系列隨時(shí)間變化的參數(shù)組成,因此GRU網(wǎng)絡(luò)能對(duì)滾動(dòng)軸承,齒輪等的退化過程進(jìn)行有效的分析[20]。此外,由于旋轉(zhuǎn)機(jī)械的退化過程通常表現(xiàn)出高度的非線性和非平穩(wěn)性,因此需要采用深度架構(gòu)使網(wǎng)絡(luò)具有更強(qiáng)大的非線性學(xué)習(xí)能力[21]。卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合在一定程度上提高模型的訓(xùn)練速度,在某些任務(wù)上也能提升模型的性能,并且有助于提高循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練穩(wěn)定性。
圖3所示是CNN-GRU模型的網(wǎng)絡(luò)結(jié)構(gòu),首先劃分好的數(shù)據(jù)集標(biāo)準(zhǔn)化處理后輸入到一維卷積神經(jīng)網(wǎng)絡(luò)中,進(jìn)行特征提取,減少冗余數(shù)據(jù),使得數(shù)據(jù)量變小且數(shù)據(jù)特征不變;其次將卷積神經(jīng)網(wǎng)絡(luò)的輸出作為門控循環(huán)單元的輸入進(jìn)行訓(xùn)練,訓(xùn)練結(jié)束后的數(shù)據(jù)將放進(jìn)全連接層輸出進(jìn)行預(yù)測。
圖3 CNN-GRU神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 CNN-GRU neural network structure
非線性的特征映射到神經(jīng)網(wǎng)絡(luò)中,需要用到激活函數(shù),如果沒有激活函數(shù),網(wǎng)絡(luò)中的每層輸入都等于上一層的線性輸出,網(wǎng)絡(luò)的訓(xùn)練能力有限;如果加上激活函數(shù),網(wǎng)絡(luò)中有非線性因子,能夠得到更強(qiáng)表達(dá)能力的深層神經(jīng)網(wǎng)絡(luò)[22]。
(1)Sigmoid函數(shù)對(duì)應(yīng)的算法:
(5)
Sigmoid函數(shù)能夠使計(jì)算結(jié)果大多數(shù)為0或1,這樣就滿足了門控的要求,即完全抑制和完全激活。
(2)Tanh函數(shù)對(duì)應(yīng)的算法:
(6)
該函數(shù)光滑可微,導(dǎo)數(shù)計(jì)算方便,在0附近梯度較大,可較好地區(qū)別小特征差異,但是運(yùn)算量比較大,速度慢;存在非線性飽和區(qū),還容易在反向傳播時(shí)引起梯度消散。
(3)ReLU函數(shù)對(duì)應(yīng)的算法:
y=max(x,0)
(7)
ReLU是一種非線性函數(shù),作為激活函數(shù)非常有效,它不僅能提高性能,而且有助于在訓(xùn)練階段顯著減少計(jì)算次數(shù),可以很好地解決S形激活函數(shù)存在的梯度彌散問題[23]。因此文中除了最后一層全連接層采用Sigmoid函數(shù)外,其他層使用的都是ReLU函數(shù)。
一般常用的優(yōu)化器有2種,分別是隨機(jī)梯度下降(Stochastic Gradient Descent, SGD)和自適應(yīng)矩陣估計(jì)(Adaptive Moment Estimation, Adam)[24]。
SGD優(yōu)化器在每個(gè)訓(xùn)練樣本通過網(wǎng)絡(luò)之后,計(jì)算并更新權(quán)重,該優(yōu)化器雖然速度相對(duì)較快但是由于權(quán)重更新得過于頻繁,因此整體損失曲線會(huì)有大量噪聲[25]。該算法的更新公式可表示為
Wt=Wt-1-α·r
(8)
式中:Wt為當(dāng)前時(shí)刻的權(quán)重;Wt-1為上一時(shí)刻的權(quán)重;α為學(xué)習(xí)率;r為損失值。
由于SGD存在噪聲的問題,文中采用Adam優(yōu)化器。它是目前深度學(xué)習(xí)中最熱門最廣泛的優(yōu)化器,它定義了損失梯度的動(dòng)量和方差,并利用組合效應(yīng)來更新權(quán)重參數(shù),動(dòng)量和方差共同作用,有助于平滑學(xué)習(xí)曲線并有效改善學(xué)習(xí)過程。該算法數(shù)學(xué)表達(dá)式可簡化為
Wt=Wt-1-pvσ
(9)
其中:pvσ為動(dòng)量與方差的組合。
在Windows7下采用Tensorflow、Keras 框架來實(shí)現(xiàn)提出的網(wǎng)絡(luò)結(jié)構(gòu)。所用的編程語言是Python3.7,所有實(shí)驗(yàn)都是在Inter Core i5(3.7 GHz) CPU、16 GB RAM 的計(jì)算機(jī)上進(jìn)行的。
(1)獲取齒輪的轉(zhuǎn)速數(shù)據(jù)、振動(dòng)信號(hào)數(shù)據(jù),按照8∶2的比例劃分為訓(xùn)練集和測試集;對(duì)它進(jìn)行編號(hào),再進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,然后進(jìn)行特征的縮放。
(2)CNN選用一維輸入數(shù)據(jù),輸入到模型當(dāng)中,初始化權(quán)重和偏置,將訓(xùn)練樣本分批次輸入到網(wǎng)絡(luò),選擇合適的學(xué)習(xí)速率和優(yōu)化器。卷積神經(jīng)網(wǎng)絡(luò)的輸出特征值維度的一維與時(shí)間序列的門控循環(huán)單元進(jìn)行銜接。
(3)由全連接層進(jìn)行輸出,然后進(jìn)行模型評(píng)估,構(gòu)建趨勢(shì)性量化指標(biāo)并構(gòu)建模型。將測試集進(jìn)行標(biāo)準(zhǔn)化處理,將它輸入到訓(xùn)練集訓(xùn)練好的模型中,對(duì)它進(jìn)行測試評(píng)估,根據(jù)樣本的輸出概率與真實(shí)值對(duì)比,得出損失值,最后做出壽命預(yù)測曲線。
此實(shí)驗(yàn)將部分GRU神經(jīng)元的數(shù)量進(jìn)行調(diào)整,選擇最優(yōu)的參數(shù)組合進(jìn)行研究。由于GRU不能直接輸出RUL,因此必須添加全連接層來預(yù)測RUL。此實(shí)驗(yàn)中CNN-GRU模型主要由一維Conv層、GRU層和Dense層組成,其中卷積核大小為3×1,選用最大池化,池化大小為3×1,選擇學(xué)習(xí)速率大小為0.000 1,優(yōu)化器選用Adam及選用padding=same進(jìn)行填充。第一層GRU的return_sequences返回的是True,第二層返回的是False。在網(wǎng)絡(luò)中加上Dropout層防止過擬合,Dropout大小設(shè)置為0.5。表1所示為每層網(wǎng)絡(luò)神經(jīng)元的數(shù)量。
表1 各層神經(jīng)元數(shù)量Tab.1 Number of neurons in each layer
損失函數(shù)又分為交叉熵?fù)p失、均方差損失(Mean Squared Error,MSE)、平方絕對(duì)誤差損失函數(shù)、0-1損失等。文中采用MSE損失函數(shù)。
均方誤差MSE:
(10)
式中:f(x)為預(yù)測值;y為真實(shí)值。
文中采用的是英國哈德斯菲爾德大學(xué)的齒輪信號(hào)數(shù)據(jù),此實(shí)驗(yàn)數(shù)據(jù)為齒輪的全壽命周期,實(shí)驗(yàn)數(shù)據(jù)主要包括:速度信號(hào)數(shù)據(jù)、溫度信號(hào)數(shù)據(jù)、電流信號(hào)數(shù)據(jù)、振動(dòng)信號(hào)數(shù)據(jù)。一共有5個(gè)通道:通道一采集轉(zhuǎn)速信號(hào),通道二采集溫度信號(hào),通道三采集電流信號(hào),通道四采集減速器振動(dòng)信號(hào),通道五采集齒輪箱增壓器振動(dòng)信號(hào)。文中主要采用振動(dòng)信號(hào)、轉(zhuǎn)速信號(hào)作為輸入數(shù)據(jù)。其中采樣頻率為30 555 Hz。具體信息如表2所示。
表2 哈德斯菲爾德大學(xué)齒輪數(shù)據(jù)說明
文中采用GRU模型預(yù)測齒輪的剩余壽命,屬于監(jiān)督學(xué)習(xí)。在監(jiān)督學(xué)習(xí)中,根據(jù)屬性可以將監(jiān)督學(xué)習(xí)分為回歸問題和離散問題。文中提出的齒輪的壽命預(yù)測屬于時(shí)序的回歸問題,離散問題一般評(píng)價(jià)指標(biāo)是accuracy,然而回歸問題的評(píng)價(jià)指標(biāo)一般是MSE、MAE等,所以文中采用MSE作為模型好壞的評(píng)價(jià)指標(biāo),并對(duì)2個(gè)評(píng)價(jià)指標(biāo)進(jìn)行對(duì)比。第i個(gè)測試樣本的誤差損失率為
Er(i)=rRUL(i)-pRUL(i)
(11)
圖4中的3個(gè)圖分別為LSTM、GRU、CNN-GRU在MSE評(píng)價(jià)函數(shù)下得到的損失函數(shù)。通過圖4可以發(fā)現(xiàn):CNN-GRU損失函數(shù)的值下降得更快,損失率較小。表3所示為不同神經(jīng)網(wǎng)絡(luò)模型下的參數(shù)值,由此也可觀察出:CNN-GRU模型的損失率較低,而且訓(xùn)練速度快,表明了該方法對(duì)齒輪壽命預(yù)測的可行性。
圖4 齒輪在不同模型下的損失率
表3 不同模型參數(shù)值Tab.3 Different model parameter values
由以上可以得出CNN-GRU模型相比較其他的網(wǎng)絡(luò)損失率有了很大的下降,無論在訓(xùn)練集還是測試集,CNN-GRU的誤差曲線都比其他2個(gè)下降得快。說明相對(duì)其他網(wǎng)絡(luò)它具有較低的誤差、更快的收斂速度,擬合性能更好。因此,CNN-GRU在預(yù)測精度方面均優(yōu)于普通的GRU和LSTM,能夠?qū)δP透玫剡M(jìn)行RUL預(yù)測。
齒輪的剩余壽命曲線如圖5所示,通過前面數(shù)據(jù)的訓(xùn)練對(duì)后面數(shù)據(jù)進(jìn)行預(yù)測。為了更直觀地理解,將訓(xùn)練集的數(shù)據(jù)進(jìn)行歸一化處理,即縱坐標(biāo)為1表示無損傷初始狀態(tài),壽命結(jié)束閾值設(shè)置為0。當(dāng)剩余壽命達(dá)到0時(shí)代表完全失效。從預(yù)測的結(jié)果可以看出:CNN-GRU模型的預(yù)測結(jié)果相對(duì)更加準(zhǔn)確,擬合度更高,預(yù)測誤差較小。通過仿真分析,得出此方法對(duì)齒輪的壽命預(yù)測具有一定的有效性。文中提出的方法解決了LSTM、GRU等網(wǎng)絡(luò)對(duì)齒輪的預(yù)測不夠精確、訓(xùn)練速度慢的問題。
圖5 齒輪在不同模型下壽命預(yù)測曲線
文中提出了通過CNN-GRU模型相結(jié)合的方法,利用了CNN的特征提取能力,避免了人工提取特征,具有很強(qiáng)的泛化性,并且GRU相比LSTM的網(wǎng)絡(luò)簡化許多,同時(shí)也避免了類似RNN的梯度消失或梯度爆炸。所以此方法既在簡化網(wǎng)絡(luò)、減少參數(shù)的情況下加快了訓(xùn)練速度,又提高了準(zhǔn)確率。采用哈德斯菲爾德大學(xué)數(shù)據(jù)對(duì)該方法進(jìn)行驗(yàn)證,結(jié)果表明:此方法不論是在預(yù)測精度方面還是訓(xùn)練時(shí)間方面都優(yōu)于其他模型,能夠提供更好的預(yù)測效果。通過以上的驗(yàn)證可以得出:文中所提出的CNN-GRU模型既有CNN的特征提取能力,又有GRU時(shí)間序列的預(yù)測能力,與CNN相比準(zhǔn)確率精準(zhǔn)得多,與GRU和LSTM相比不論是在訓(xùn)練速度上,還是在預(yù)測精確度上都要好得多,具有一定的可行性和優(yōu)越性,為齒輪的壽命預(yù)測提供了新的思路。