王鑫, 吳際,*, 劉超, 楊海燕, 杜艷麗, 牛文生,3
(1. 北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院, 北京 100083; 2. 豐臺(tái)職業(yè)教育中心學(xué)校, 北京 100076;3. 中航工業(yè)西安航空計(jì)算技術(shù)研究所, 西安 710068)
對(duì)于有高可靠性和安全性需要的復(fù)雜系統(tǒng),有效地預(yù)測(cè)使用階段的可靠性指標(biāo)是十分重要的。目前,已有眾多方法用來(lái)解決可靠性預(yù)測(cè)問(wèn)題,這些方法大致可以分為3類[1]:①基于故障機(jī)理(Physics-of-Failure, PoF)的方法,PoF是一種根據(jù)故障發(fā)生的內(nèi)在機(jī)制和根本原因進(jìn)行間接預(yù)測(cè)的方法;②數(shù)據(jù)驅(qū)動(dòng)(Data-Driven, DD)的方法,DD是一種應(yīng)用統(tǒng)計(jì)學(xué)或者機(jī)器學(xué)習(xí)等技術(shù)手段對(duì)可靠性指標(biāo)進(jìn)行直接預(yù)測(cè)的方法;③融合的方法,這種方法是一種PoF和DD相結(jié)合的方法。近年來(lái),數(shù)據(jù)驅(qū)動(dòng)的方法由于其便捷性和高效性等特點(diǎn),在實(shí)際可靠性預(yù)測(cè)中的應(yīng)用日漸廣泛[2-3]。
故障時(shí)間序列,作為一個(gè)重要的可靠性指標(biāo),能夠展示故障的動(dòng)態(tài)演化過(guò)程,并且已經(jīng)被多種數(shù)據(jù)驅(qū)動(dòng)的方法預(yù)測(cè),比如自回歸移動(dòng)平均(Autoregressive Integrated Moving Average,ARIMA)[4]、奇異譜分析(Singular Spectrum Analysis, SSA)[5]、支持向量回歸(Support Vector machines Regression,SVR)[6]、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)[7]等。由于可靠性數(shù)據(jù)通常不易獲取,已有的研究大多是面向組件級(jí)故障數(shù)據(jù)的,比如文獻(xiàn)[7]提供的柴油機(jī)渦輪增壓器和汽車發(fā)動(dòng)機(jī)故障時(shí)間序列。這些數(shù)據(jù)表現(xiàn)為規(guī)則性很強(qiáng)的曲線形態(tài)并且能夠被單一模型很好地?cái)M合和預(yù)測(cè)。然而,對(duì)于系統(tǒng)級(jí)故障數(shù)據(jù),比如文獻(xiàn)[3]提供的民航飛機(jī)整機(jī)故障時(shí)間序列,由于其復(fù)雜且不規(guī)則的曲線形態(tài),已有的單一模型很難達(dá)到理想的預(yù)測(cè)效果[8]。為此,文獻(xiàn)[8]提出了一種基于SSA和SVR的混合方法,該方法首先從原始數(shù)據(jù)中提取故障特征成分然后分別建模和預(yù)測(cè),得到了比單一模型更好的實(shí)驗(yàn)結(jié)果。然而,混合方法的構(gòu)建過(guò)程復(fù)雜、人工依賴性強(qiáng),不利于在實(shí)際中推廣和使用。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,一些深度學(xué)習(xí)模型逐漸被應(yīng)用到時(shí)序數(shù)據(jù)的研究中。深度學(xué)習(xí)模型是一種擁有多個(gè)非線性映射層級(jí)的深度神經(jīng)網(wǎng)絡(luò)模型,能夠?qū)斎胄盘?hào)逐層抽象并提取特征,挖掘出更深層次的潛在規(guī)律[9]。在眾多深度學(xué)習(xí)模型中,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)將時(shí)序的概念引入到網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)中,使其在時(shí)序數(shù)據(jù)分析中表現(xiàn)出更強(qiáng)的適應(yīng)性。在眾多RNN的變體中,長(zhǎng)短期記憶(Long Short-Term Memory, LSTM)模型[10]彌補(bǔ)了RNN的梯度消失和梯度爆炸、長(zhǎng)期記憶能力不足等問(wèn)題,使得循環(huán)神經(jīng)網(wǎng)絡(luò)能夠真正有效地利用長(zhǎng)距離的時(shí)序信息。LSTM模型在不同領(lǐng)域的時(shí)序數(shù)據(jù)研究中已有不少成功的應(yīng)用案例,包括文字語(yǔ)言相關(guān)的語(yǔ)言建模、語(yǔ)音識(shí)別、機(jī)器翻譯[11],多媒體相關(guān)的音頻和視頻數(shù)據(jù)分析、圖片標(biāo)題建模[12-13],道路運(yùn)輸相關(guān)的交通流速預(yù)測(cè)[14],以及醫(yī)學(xué)相關(guān)的蛋白質(zhì)二級(jí)結(jié)構(gòu)序列預(yù)測(cè)[15]等。然而,在可靠性領(lǐng)域,LSTM模型的應(yīng)用非常有限,特別是對(duì)于故障時(shí)間序列預(yù)測(cè)這一研究問(wèn)題,目前還未發(fā)現(xiàn)相關(guān)研究。
本文針對(duì)系統(tǒng)級(jí)故障時(shí)間序列數(shù)據(jù),提出了一種基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法,包括3層(輸入層、隱藏層和輸出層)網(wǎng)絡(luò)結(jié)構(gòu)的詳細(xì)設(shè)計(jì),以及網(wǎng)絡(luò)訓(xùn)練和網(wǎng)絡(luò)預(yù)測(cè)的實(shí)現(xiàn)算法等。在此基礎(chǔ)上,以預(yù)測(cè)誤差最小為目標(biāo),進(jìn)一步提出了一種基于多層網(wǎng)格搜索的LSTM預(yù)測(cè)模型參數(shù)優(yōu)選算法。應(yīng)用文獻(xiàn)[3]提供的民航飛機(jī)故障數(shù)據(jù)展開(kāi)實(shí)驗(yàn),并與Holt-Winters、ARIMA等多種時(shí)間序列預(yù)測(cè)模型進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)結(jié)果展示了所提出的LSTM預(yù)測(cè)模型及其參數(shù)優(yōu)選算法在故障時(shí)間序列預(yù)測(cè)中的優(yōu)越性能。
本節(jié)簡(jiǎn)要介紹LSTM模型,包括前向計(jì)算方法、基于時(shí)間的反向傳播(Back Propagation Through Time, BPTT)算法、Adam參數(shù)優(yōu)化算法,以及相關(guān)的RNN、GRU模型。
對(duì)于給定序列x=(x1,x2,…,xn),應(yīng)用一個(gè)標(biāo)準(zhǔn)的RNN模型[16](如圖1所示),可以通過(guò)迭代式(1)~式(2)計(jì)算出一個(gè)隱藏層序列h=(h1,h2,…,hn)和一個(gè)輸出序列y=(y1,y2,…,yn)。
ht=fa(Wxhxt+Whhht-1+bh)
(1)
yt=Whyht+by
(2)
式中:W為權(quán)重系數(shù)矩陣(比如Wxh表示輸入層到隱藏層的權(quán)重系數(shù)矩陣);b為偏置向量(比如bh表示隱藏層的偏置向量);fa為激活函數(shù)(比如tanh函數(shù));下標(biāo)t表示時(shí)刻。
盡管RNN能夠有效地處理非線性時(shí)間序列,但是仍然存在以下2個(gè)問(wèn)題[14]:①由于梯度消失和梯度爆炸的問(wèn)題,RNN不能處理延遲過(guò)長(zhǎng)的時(shí)間序列;②訓(xùn)練RNN模型需要預(yù)先確定延遲窗口長(zhǎng)度,然而實(shí)際應(yīng)用中很難自動(dòng)地獲取這一參數(shù)的最優(yōu)值。由此,LSTM模型應(yīng)用而生。LSTM模型是將隱藏層的RNN細(xì)胞替換為L(zhǎng)STM細(xì)胞,使其具有長(zhǎng)期記憶能力。經(jīng)過(guò)不斷地演化,目前應(yīng)用最為廣泛的LSTM模型細(xì)胞結(jié)構(gòu)[16]如圖2所示,z為輸入模塊,其前向計(jì)算方法可以表示為
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(3)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(4)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(5)
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
(6)
ht=ottanh(ct)
(7)
式中:i、f、c、o分別為輸入門(mén)、遺忘門(mén)、細(xì)胞狀態(tài)、輸出門(mén);W和b分別為對(duì)應(yīng)的權(quán)重系數(shù)矩陣和偏置項(xiàng);σ和tanh分別為sigmoid和雙曲正切激活函數(shù)。LSTM模型訓(xùn)練過(guò)程采用的是與經(jīng)典的反向傳播(Back Propagation,BP)算法原理類似的BPTT算法[17],大致可以分為4個(gè)步驟:①按照前向計(jì)算方法(式(3)~式(7))計(jì)算LSTM細(xì)胞的輸出值;②反向計(jì)算每個(gè)LSTM細(xì)胞的誤差項(xiàng),包括按時(shí)間和網(wǎng)絡(luò)層級(jí)2個(gè)反向傳播方向;③根據(jù)相應(yīng)的誤差項(xiàng),計(jì)算每個(gè)權(quán)重的梯度;④應(yīng)用基于梯度的優(yōu)化算法更新權(quán)重。

圖1 RNN模型及隱藏層細(xì)胞結(jié)構(gòu)Fig.1 RNN model and cell structure in hidden layer

圖2 LSTM隱藏層細(xì)胞結(jié)構(gòu)Fig.2 LSTM cell structure in hidden layer
基于梯度的優(yōu)化算法種類眾多,比如隨機(jī)梯度下降(Stochastic Gradient Descent, SGD)[18]、AdaGrad[19]、RMSProp[20]等算法。本文選用的是文獻(xiàn)[21]提出的適應(yīng)性動(dòng)量估計(jì)(Adaptive moment estimation, Adam) 算法。Adam優(yōu)化算法是一種有效的基于梯度的隨機(jī)優(yōu)化方法,該算法融合了AdaGrad和RMSProp算法的優(yōu)勢(shì),能夠?qū)Σ煌瑓?shù)計(jì)算適應(yīng)性學(xué)習(xí)率并且占用較少的存儲(chǔ)資源。相比于其他隨機(jī)優(yōu)化方法,Adam算法在實(shí)際應(yīng)用中整體表現(xiàn)更優(yōu)[21]。
此外,LSTM模型演化出了很多變體,其中最成功的一種是文獻(xiàn)[22]提到的門(mén)限循環(huán)單元(Gated Recurrent Unit, GRU)。GRU模型是LSTM模型的簡(jiǎn)化版本,但是保留了LSTM模型的長(zhǎng)期記憶能力,其主要變動(dòng)是將LSTM細(xì)胞中的輸入門(mén)、遺忘門(mén)、輸出門(mén)替換為更新門(mén)和重置門(mén),并將細(xì)胞狀態(tài)和輸出2個(gè)向量合二為一。在實(shí)際應(yīng)用中,GRU模型與LSTM模型具有很強(qiáng)的可比性[22]。
根據(jù)系統(tǒng)級(jí)故障時(shí)間序列數(shù)據(jù)的特點(diǎn),結(jié)合第1節(jié)介紹的相關(guān)理論和技術(shù),本節(jié)給出基于LSTM模型的故障時(shí)間序列預(yù)測(cè)方法,以及對(duì)應(yīng)的基于多層網(wǎng)格搜索的參數(shù)優(yōu)選算法。
考慮到單變量故障時(shí)間序列有限樣本點(diǎn)的數(shù)據(jù)特征,以及循環(huán)神經(jīng)網(wǎng)絡(luò)從簡(jiǎn)的設(shè)計(jì)原則,本文構(gòu)建LSTM預(yù)測(cè)模型的整體框架如圖3所示,包括輸入層、隱藏層、輸出層、網(wǎng)絡(luò)訓(xùn)練以及網(wǎng)絡(luò)預(yù)測(cè)5個(gè)功能模塊。輸入層負(fù)責(zé)對(duì)原始故障時(shí)間序列進(jìn)行初步處理以滿足網(wǎng)絡(luò)輸入要求,隱藏層采用圖2表示的LSTM細(xì)胞搭建單層循環(huán)神經(jīng)網(wǎng)絡(luò),輸出層提供預(yù)測(cè)結(jié)果,網(wǎng)絡(luò)訓(xùn)練采用第1節(jié)提到的Adam優(yōu)化算法,網(wǎng)絡(luò)預(yù)測(cè)采用迭代的方法逐點(diǎn)預(yù)測(cè)。

圖3 基于LSTM的故障時(shí)間序列預(yù)測(cè)框架Fig.3 LSTM based framework for failure time series prediction
2.1.1 網(wǎng)絡(luò)訓(xùn)練
網(wǎng)絡(luò)訓(xùn)練主要以隱藏層為研究對(duì)象。首先在輸入層中,定義原始故障時(shí)間序列為Fo={f1,f2,…,fn},則劃分的訓(xùn)練集和測(cè)試集可以表示為Ftr={f1,f2,…,fm}和Fte={fm+1,fm+2,…,fn},滿足約束條件m (8) 1≤t≤m,t∈N (9) X={X1,X2,…,XL} (10) 1≤p≤L;p,L∈N (11) 對(duì)應(yīng)的理論輸出為 Y={Y1,Y2,…,YL} (12) (13) 接下來(lái),將X輸入隱藏層。從圖 3可以看出,隱藏層包含L個(gè)按前后時(shí)刻連接的同構(gòu)LSTM細(xì)胞,X經(jīng)過(guò)隱藏層后的輸出可以表示為 P={P1,P2,…,PL} (14) Pp=LSTMforward(Xp,Cp-1,Hp-1) (15) 式中:Cp-1和Hp-1分別為前一個(gè)LSTM細(xì)胞的狀態(tài)和輸出;LSTMforward表示第1節(jié)提到的LSTM細(xì)胞前向計(jì)算方法(式(3)~式(7))。設(shè)定細(xì)胞狀態(tài)向量大小為Sstate,則Cp-1和Hp-12個(gè)向量的大小均為Sstate。可以看出,隱藏層輸出P、模型輸入X和理論輸出Y都是維度為(m-L,L)的二維數(shù)組。選用均方誤差作為誤差計(jì)算公式,訓(xùn)練過(guò)程的損失函數(shù)可以定義為 (16) 設(shè)定損失函數(shù)最小為優(yōu)化目標(biāo),給定網(wǎng)絡(luò)初始化的隨機(jī)種子數(shù)seed、學(xué)習(xí)率η以及訓(xùn)練步數(shù)steps,應(yīng)用Adam優(yōu)化算法不斷更新網(wǎng)絡(luò)權(quán)重,進(jìn)而得到最終的隱藏層網(wǎng)絡(luò)。 2.1.2 網(wǎng)絡(luò)預(yù)測(cè) (17) (18) 則m+1時(shí)刻的預(yù)測(cè)值為pm+1。然后,將Yf的最后L-1個(gè)數(shù)據(jù)點(diǎn)和pm+1合并為新的一行數(shù)據(jù) (19) Po={pm+1,pm+2,…,pn} (20) 接下來(lái),通過(guò)對(duì)Po進(jìn)行z-score反標(biāo)準(zhǔn)化(表示為de_zscore),得到最終的與測(cè)試集Fte對(duì)應(yīng)的預(yù)測(cè)序列為 (21) m+1≤k≤n,k∈N (22) 類似地,將X的每一行作為模型輸入可以得到與訓(xùn)練集Ftr對(duì)應(yīng)的擬合序列Ptr。最后,通過(guò)計(jì)算Ftr和Ptr,以及Fte和Pte的偏差定量地給出模型的擬合和預(yù)測(cè)精度。 總的來(lái)說(shuō),基于LSTM的故障時(shí)間序列模型訓(xùn)練和預(yù)測(cè)算法概括如下: 算法1訓(xùn)練并預(yù)測(cè)LSTM故障時(shí)間序列模型 輸入:Fo,m,L,Sstate,seed,steps,η。 輸出:與測(cè)試集對(duì)應(yīng)的預(yù)測(cè)序列以及模型精度。 1 getFtr,FtefromFobym 4 create LSTMcellbySstate 5 connect LSTMnetby LSTMcellandL 6 initialize LSTMnetby seed 7 for each step in 1:steps 8P=LSTMforward(X) 10 update LSTMnetby Adam with loss andη 12 for eachjin 0:(n-m-1) 14 appendPowithPf+j[-1] 15Pte=de_zscore(Po) 16 error measureε(Pte,Fte),εe(Ptr,Ftr) 其中:訓(xùn)練過(guò)程涉及輸入層、隱藏層、輸出層、網(wǎng)絡(luò)訓(xùn)練4個(gè)模塊,預(yù)測(cè)過(guò)程主要涉及輸出層模塊;LSTMcell表示LSTM隱藏層細(xì)胞(如圖2所示);LSTMnet表示LSTM隱藏層網(wǎng)絡(luò)(如圖3所示);εe為誤差度量函數(shù)。 在構(gòu)建上述LSTM預(yù)測(cè)模型中,涉及到眾多參數(shù),其中以分割窗口長(zhǎng)度L、狀態(tài)向量大小Sstate和學(xué)習(xí)率η最為關(guān)鍵[16]。為了達(dá)到更好的預(yù)測(cè)效果,本文采用網(wǎng)格搜索的方法對(duì)這3個(gè)參數(shù)進(jìn)行優(yōu)選。相比與其他的超參數(shù)優(yōu)化方法(比如遺傳算法[23]、隨機(jī)搜索算法[16]、粒子群算法[24],貝葉斯算法[25]等),網(wǎng)格搜索是一種簡(jiǎn)單實(shí)用、容易并行計(jì)算且計(jì)算耗時(shí)可控的優(yōu)化方法[26],能夠很好地滿足故障時(shí)間序列預(yù)測(cè)的任務(wù)需求和實(shí)驗(yàn)要求。參數(shù)優(yōu)選的依據(jù)是測(cè)試集全部測(cè)試點(diǎn)上的預(yù)測(cè)精度最高,即預(yù)測(cè)誤差ε(Pte,Fte)最小,目標(biāo)函數(shù)可以表示為 minε(Pte,Fte) (23) 式中:stepL、stepstate和stepη分別為對(duì)應(yīng)參數(shù)的網(wǎng)格搜索步長(zhǎng)。L、Sstate和η這3個(gè)參數(shù)構(gòu)成了一個(gè)三維搜索空間,可以通過(guò)多層網(wǎng)格搜索算法(算法2)獲取最優(yōu)參數(shù)組合。搜索過(guò)程主要包括3層,從內(nèi)到外分別對(duì)Sstate、L和η進(jìn)行網(wǎng)格搜索。首先,固定隨機(jī)種子數(shù)seed和訓(xùn)練步數(shù)steps,根據(jù)式(23)預(yù)設(shè)3個(gè)參數(shù)的取值范圍(為了降低模型復(fù)雜度,分別將Lmax和Smax控制在較小的取值);然后,分別遍歷3個(gè)參數(shù)的取值范圍,在最內(nèi)層訓(xùn)練并預(yù)測(cè)LSTM故障時(shí)間序列模型(如算法2所示,表示為L(zhǎng)STMpredict),保存對(duì)應(yīng)的模型參數(shù)和模型精度;最后,對(duì)所有保存的結(jié)果按照預(yù)測(cè)精度由高到低排序,則最前面的參數(shù)組合即優(yōu)選的模型參數(shù)。 算法2LSTM預(yù)測(cè)模型參數(shù)優(yōu)選 輸入:Fo,seed,steps,m,L,Sstate,η,stepL,stepstate,stepη。 輸出:測(cè)試集上預(yù)測(cè)誤差較低的參數(shù)組合。 1 predefine values of seed,steps 2 predefine value ranges ofL,Sstate,η 3 for eachηinη1,η2,…,ηrby stepη 4 for eachLin 2:Lmaxby stepL 5 for eachSstatein 2:Smaxby stepstate 6 executeLSTMpredict(Fo,m,L,Sstate,seed,steps,η) 7 append results withL,Sstate,η,ε(Pte,Fte),ε(Ptr,Ftr) 8 end (for); end (for); end (for) 9 return results ranked byε(Pte,Fte) 本節(jié)結(jié)合一個(gè)航空領(lǐng)域的工業(yè)案例,應(yīng)用第2節(jié)提出的LSTM預(yù)測(cè)模型及其參數(shù)優(yōu)選算法展開(kāi)實(shí)驗(yàn)驗(yàn)證。 首先介紹實(shí)驗(yàn)中所選用的故障數(shù)據(jù)集,與本文提出的LSTM模型相對(duì)比的其他時(shí)間序列預(yù)測(cè)模型,評(píng)價(jià)不同預(yù)測(cè)模型優(yōu)劣的精度度量指標(biāo),以及實(shí)驗(yàn)運(yùn)行平臺(tái)和軟硬件環(huán)境配置。 3.1.1 數(shù) 據(jù) 集 圖4 A、B飛機(jī)的月度故障時(shí)間序列數(shù)據(jù)Fig.4 Monthly failure time series data for Aircraft A and Aircraft B 3.1.2 對(duì)比模型 除了第1節(jié)提到的RNN和GRU模型,本文將LSTM模型與以下5種時(shí)間序列預(yù)測(cè)模型進(jìn)行實(shí)驗(yàn)對(duì)比。 1) Holt-Winters模型 Holt-Winters又稱3次指數(shù)平滑,是一種能夠處理含有趨勢(shì)性和周期性成分的時(shí)間序列分析方法[28]。其思想是利用歷史數(shù)據(jù)的不同特征成分(水平、趨勢(shì)和季節(jié))來(lái)遞推當(dāng)前數(shù)據(jù)。Holt-Winters模型的重要參數(shù)是與特征成分對(duì)應(yīng)的3個(gè)平滑系數(shù),即α、β和γ,取值均為0到1之間,且越靠近1則預(yù)測(cè)結(jié)果越依賴于近期觀測(cè)值。此外,根據(jù)季節(jié)性成分在遞推公式中的不同組織形式,Holt-Winters模型又分為加法和乘法2種類型(分別表示為Holt-Wintersa和Holt-Wintersm)。在實(shí)際使用中,這2種類型均需要計(jì)算不同特征成分的初始值,并根據(jù)均方誤差最小來(lái)計(jì)算3個(gè)平滑系數(shù)。 2) 自回歸移動(dòng)平均 ARIMA是時(shí)間序列分析的經(jīng)典理論和方法,其模型可以表示為ARIMA(p,d,q),其中p、d、q分別為自回歸項(xiàng)數(shù)、差分次數(shù)、移動(dòng)平均項(xiàng)數(shù)[29]。在實(shí)際使用中,這3個(gè)參數(shù)可以通過(guò)觀測(cè)自相關(guān)函數(shù)(Auto Correlation Function, ACF)和偏自相關(guān)函數(shù)(Partial Auto Correlation Function, PACF)確定,也可以通過(guò)計(jì)算AIC(Akaike Information Criterion)或BIC(Bayesian Information Criterion)值取其最小來(lái)確定。本文采用了文獻(xiàn)[30]提出的自動(dòng)化方法建立ARIMA模型。 3) 奇異譜分析 SSA是一種時(shí)域和頻域相結(jié)合的非參數(shù)方法,可以用于處理非線性、非平穩(wěn)以及包含噪聲的時(shí)間序列,其核心思想是提取序列中的有效成分建模和預(yù)測(cè)[31]。SSA包括分解和重構(gòu)2個(gè)過(guò)程,其中分解過(guò)程又包括嵌入和奇異值分解(Singular Value Decomposition,SVD)2個(gè)子過(guò)程,重構(gòu)過(guò)程又包括分組和對(duì)角平均2個(gè)子過(guò)程。在實(shí)際使用中,需要確定的2個(gè)參數(shù)為嵌入子過(guò)程的窗口長(zhǎng)度Lssa和分組子過(guò)程的分組類別Gssa。本文根據(jù)文獻(xiàn)[32]提出的方法確定這2個(gè)參數(shù)的取值范圍并取其最大值。此外,SSA包含遞歸和向量2種預(yù)測(cè)方法(分別表示為SSAr和SSAv),其中向量預(yù)測(cè)方法擁有更好的穩(wěn)定性但是需要消耗更多的計(jì)算資源。 4) 多元線性回歸 多元線性回歸(Multiple Linear Regression, MLR)是一種廣泛應(yīng)用于預(yù)測(cè)任務(wù)的多因素分析方法[33]。MLR用于時(shí)間序列預(yù)測(cè)的模型可以表示為Yt=a0+a1Yt-1+a2Yt-2+…+akYt-k+e,其中:Yt為t時(shí)刻的預(yù)測(cè)值,a1,a2,…,ak為不同歷史時(shí)刻數(shù)據(jù)Yt-1,Yt-2,…,Yt-k對(duì)應(yīng)的回歸系數(shù),a0和e分別為偏置項(xiàng)和誤差項(xiàng)[34]。當(dāng)連續(xù)的歷史時(shí)刻數(shù)據(jù)被選為多因素變量時(shí),k也可以稱為窗口長(zhǎng)度(表示為L(zhǎng)mlr)。本文選定連續(xù)2年的月度故障數(shù)據(jù)點(diǎn)個(gè)數(shù)24作為k的取值。 5) 支持向量回歸 SVR是一種可以用于時(shí)間序列預(yù)測(cè)的機(jī)器學(xué)習(xí)方法[35]。這種方法通過(guò)一個(gè)非線性核函數(shù)將多維輸入映射到更高維度的特征空間后執(zhí)行回歸運(yùn)算,進(jìn)而得到與輸出指標(biāo)的非線性映射關(guān)系。本文選擇常用的高斯徑向基函數(shù)(Gaussian Radial Basis Function, RBF)作為非線性核函數(shù),并采用文獻(xiàn)[36]提出的啟發(fā)式方法計(jì)算核函數(shù)參數(shù)σsvr和誤差邊界ε。此外,SVR模型的懲罰因子C和窗口長(zhǎng)度Lsvr分別設(shè)置為3和24。 3.1.3 度量指標(biāo) 3.1.4 平臺(tái)和環(huán)境 實(shí)驗(yàn)所使用計(jì)算機(jī)的配置如下:處理器為英特爾酷睿Duo CPU i5-6500,CPU頻率為3.20 GHz和3.19 GHz;內(nèi)存為4.00 GB;操作系統(tǒng)為Windows 10(64位);程序設(shè)計(jì)語(yǔ)言為Python 3.5.2(64位)和R 3.3.3(64位);集成開(kāi)發(fā)環(huán)境為PyCharm Community Edition 2016.3.2和Rstudio 0.99.903。程序設(shè)計(jì)過(guò)程中,RNN、LSTM和GRU模型由Python的tensorflow 0.12.0rc0[37]程序包實(shí)現(xiàn),Holt-Winters、ARIMA、SSA、MLR和SVR模型由R的stats 3.3.3[38]、forecast 8.0[39]、Rssa 0.14[40]和rminer 1.4.2[41]程序包實(shí)現(xiàn)。 首先,以飛機(jī)A為例,應(yīng)用2.1節(jié)提出的方法對(duì)標(biāo)準(zhǔn)化后的故障時(shí)間序列訓(xùn)練集建立LSTM預(yù)測(cè)模型。這里初步根據(jù)經(jīng)驗(yàn)確定模型參數(shù),分割窗口長(zhǎng)度L取最小值2,狀態(tài)向量大小Sstate取半年的月度故障數(shù)據(jù)點(diǎn)個(gè)數(shù)6,隨機(jī)種子數(shù)seed=1,訓(xùn)練步數(shù)steps=500。圖 5展示了相同參數(shù)下不同學(xué)習(xí)率(η=0.05,0.1,0.5)訓(xùn)練LSTM模型的損失變化和模型精度。可以看出:當(dāng)η=0.05和η=0.1時(shí),最終獲得的損失較小(0.83左右);3個(gè)學(xué)習(xí)率對(duì)應(yīng)的訓(xùn)練集擬合精度基本相同(RMSE值在2.0附近);在3、4、5、6和12個(gè)測(cè)試點(diǎn)上,η=0.1的預(yù)測(cè)精度最高(RMSE值最低)。因此,本文選定η=0.1訓(xùn)練LSTM模型。 為了驗(yàn)證LSTM模型在不同類型循環(huán)神經(jīng)網(wǎng)絡(luò)中的優(yōu)勢(shì),本文將LSTM模型的隱藏層細(xì)胞替換為RNN和GRU結(jié)構(gòu),并以相同參數(shù)進(jìn)行實(shí)驗(yàn)。 圖5 不同學(xué)習(xí)率的損失變化和模型精度對(duì)比(A飛機(jī))Fig.5 Comparison of loss change and model accuracy with different learning rates (Aircraft A) 實(shí)驗(yàn)結(jié)果如圖6所示。從圖中可以看出:LSTM和GRU的損失變化相似并且都優(yōu)于RNN,對(duì)應(yīng)的訓(xùn)練集擬合精度也較高;在5、6和12個(gè)測(cè)試點(diǎn)上,LSTM的預(yù)測(cè)精度要高于RNN和GRU。 為了進(jìn)一步驗(yàn)證LSTM模型的應(yīng)用效果,本文采用不同的時(shí)間序列預(yù)測(cè)模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示。從表中可以看出:LSTM模型的擬合精度要低于SSA和SVR模型,但是高于其他6種模型;LSTM模型的整體預(yù)測(cè)精度較高,在6和12個(gè)測(cè)試點(diǎn)上的預(yù)測(cè)精度最高(RMSE值分別達(dá)到了2.109和2.196);LSTM模型在該參數(shù)組合下的計(jì)算耗時(shí)要少于ARIMA模型,但是多于其他8種模型。 對(duì)于B飛機(jī),實(shí)驗(yàn)流程與A飛機(jī)類似。這里根據(jù)經(jīng)驗(yàn)調(diào)整模型參數(shù),令狀態(tài)向量大小Sstate仍然取6,分割窗口長(zhǎng)度L取一年的月度故障數(shù)據(jù)點(diǎn)個(gè)數(shù)12,隨機(jī)種子數(shù)seed=100,訓(xùn)練步數(shù)steps=1 000。圖7展示了相同參數(shù)下不同學(xué)習(xí)率(η=0.01,0.03,0.05)訓(xùn)練LSTM模型的損失變化和模型精度。可以看出:3個(gè)學(xué)習(xí)率對(duì)應(yīng)的訓(xùn)練集擬合精度基本相同(RMSE值在1.2附近);η=0.05時(shí)存在一定的過(guò)擬合現(xiàn)象,導(dǎo)致預(yù)測(cè)精度波動(dòng)較大;在6和12個(gè)測(cè)試點(diǎn)上,η=0.03的預(yù)測(cè)精度最高(RMSE值最低)。因此,本文選定η=0.03訓(xùn)練LSTM模型。 圖6 不同隱藏層細(xì)胞的損失變化和模型精度對(duì)比(學(xué)習(xí)率η=0.1,A飛機(jī))Fig.6 Comparison of loss change and model accuracy with different hidden layer cells (learning rate η=0.1, Aircraft A) 接下來(lái),本文替換隱藏層細(xì)胞為RNN和GRU結(jié)構(gòu)并進(jìn)行實(shí)驗(yàn),結(jié)果如圖8所示。可以看出,LSTM模型無(wú)論是在損失變化還是整體模型精度上都優(yōu)于RNN和GRU模型。圖9展示了LSTM模型的擬合(圖9(a))和預(yù)測(cè)(圖9(b))結(jié)果,其中黑色線條分別代表原始故障時(shí)間序列數(shù)據(jù)劃分的訓(xùn)練集和測(cè)試集,灰色線條分別代表LSTM模型在訓(xùn)練集和測(cè)試集上的擬合序列和預(yù)測(cè)序列。從圖中可以看出,在12個(gè)測(cè)試點(diǎn)上,LSTM模型很好地跟蹤了真實(shí)的故障數(shù)據(jù),達(dá)到了比較理想的預(yù)測(cè)效果。 表1 不同預(yù)測(cè)模型實(shí)驗(yàn)結(jié)果對(duì)比(A飛機(jī)) 注:最小RMSE值和最小耗時(shí)由下劃線標(biāo)記。 圖7 不同學(xué)習(xí)率的損失變化和模型精度對(duì)比(B飛機(jī))Fig.7 Comparison of loss change and model accuracy with different learning rates (Aircraft B) 圖8 不同隱藏層細(xì)胞的損失變化和模型精度對(duì)比(學(xué)習(xí)率η=0.03,B飛機(jī))Fig.8 Comparison of loss change and model accuracy with different hidden layer cells (learning rate η=0.03, Aircraft B) 最后,LSTM模型和不同時(shí)間序列預(yù)測(cè)模型的實(shí)驗(yàn)對(duì)比結(jié)果如表2所示。從表中可以看出:LSTM模型的擬合精度要低于SSA模型,但是高于其他7種模型;LSTM模型的整體預(yù)測(cè)精度較高,在3、6、12個(gè)測(cè)試點(diǎn)上的預(yù)測(cè)精度最高(RMSE值分別達(dá)到了1.703、1.237和1.580);RNN、GRU和LSTM模型在該參數(shù)組合下的計(jì)算耗時(shí)要明顯多于其他7種模型,并且以LSTM模型耗時(shí)最多。 圖9 LSTM模型的擬合和預(yù)測(cè)結(jié)果(學(xué)習(xí)率η=0.03,B飛機(jī))Fig.9 Fitting and forecasting results with LSTM model (learning rate η=0.03, Aircraft B) 在3.2節(jié)的實(shí)驗(yàn)中,LSTM模型的參數(shù)取值主要是通過(guò)經(jīng)驗(yàn)來(lái)確定的。本節(jié)應(yīng)用2.2節(jié)提到的多層網(wǎng)格搜索算法,對(duì)LSTM模型的3個(gè)關(guān)鍵參數(shù)進(jìn)行優(yōu)選。首先,固定非關(guān)鍵參數(shù)取值:隨機(jī)種子數(shù)seed=1,訓(xùn)練步數(shù)steps=500;然后,設(shè)定3個(gè)參數(shù)的取值范圍:分割窗口長(zhǎng)度L∈{2,3,…,24},狀態(tài)向量大小Sstate∈{2,3,…,24},學(xué)習(xí)率η∈{0.001,0.003,0.005,0.01,0.03,0.05},其中L和Sstate的搜索步長(zhǎng)為1;最后,設(shè)置目標(biāo)函數(shù)為12個(gè)測(cè)試點(diǎn)上預(yù)測(cè)精度最高(RMSE值最小),應(yīng)用2.2節(jié)中的算法2進(jìn)行網(wǎng)格搜索。 圖10和圖11分別展示了針對(duì)2個(gè)數(shù)據(jù)源(A飛機(jī)和B飛機(jī))建立2.1節(jié)提到的LSTM預(yù)測(cè)模型的參數(shù)搜索結(jié)果。在每個(gè)子圖中,橫坐標(biāo)為分割窗口長(zhǎng)度L,縱坐標(biāo)為狀態(tài)向量大小Sstate,Rm為最小RMSE值;不同子圖對(duì)應(yīng)學(xué)習(xí)率η的不同取值;網(wǎng)格中的方塊面積越大、顏色越深表示RMSE值越小。從圖10和圖11中可以看出,當(dāng)L和Sstate取值較小時(shí)更容易獲得較高的預(yù)測(cè)精度。表3和表4分別列出了針對(duì)2個(gè)數(shù)據(jù)源的前5組最優(yōu)參數(shù)組合以及對(duì)應(yīng)的模型精度。表1和表2對(duì)比可知,優(yōu)選后的LSTM模型精度明顯提高。 表2 不同預(yù)測(cè)模型實(shí)驗(yàn)結(jié)果對(duì)比(B飛機(jī)) 注:最小RMSE值和最小耗時(shí)由下劃線標(biāo)記。 圖10 LSTM模型3參數(shù)多層網(wǎng)格搜索結(jié)果(A飛機(jī))Fig.10 Multilayer grid search results for three parameters of LSTM model (Aircraft A) 圖11 LSTM模型3參數(shù)多層網(wǎng)格搜索結(jié)果(B飛機(jī))Fig.11 Multilayer grid search results for three parameters of LSTM model (Aircraft B) 排 名模型參數(shù)LSstateη訓(xùn)練集擬合RMSE值測(cè)試集預(yù)測(cè)RMSE值1個(gè)測(cè)試點(diǎn)2個(gè)測(cè)試點(diǎn)3個(gè)測(cè)試點(diǎn)6個(gè)測(cè)試點(diǎn)12個(gè)測(cè)試點(diǎn)耗時(shí)/s13210.0051.2610.6940.9211.2611.1541.6761.56214100.030.3212.5391.8342.5062.3901.9093.6331780.0051.3111.9231.8242.1372.0042.0413.94419110.030.2890.0540.7621.2902.0582.0614.8454160.030.5843.8602.7592.3951.9912.0811.66 表4 LSTM模型前5組最優(yōu)參數(shù)組合以及對(duì)應(yīng)的模型精度(B飛機(jī))Table 4 The first five groups of optimal parameters and corresponding model accuracy for LSTM model (Aircraft B) 本文提出了基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的系統(tǒng)級(jí)故障時(shí)間序列預(yù)測(cè)方法,包括對(duì)LSTM模型的訓(xùn)練、預(yù)測(cè)以及參數(shù)優(yōu)選等內(nèi)容。實(shí)驗(yàn)驗(yàn)證表明: 1) 與典型的時(shí)間序列預(yù)測(cè)模型相比,LSTM模型的擬合和預(yù)測(cè)性能整體更優(yōu)。 2) LSTM模型在訓(xùn)練過(guò)程中的損失變化和模型精度對(duì)學(xué)習(xí)率的取值較為敏感,過(guò)低或過(guò)高的學(xué)習(xí)率可能會(huì)導(dǎo)致欠擬合或過(guò)擬合問(wèn)題,影響模型的預(yù)測(cè)性能。 3) 與其他類型的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN和GRU)相比,LSTM模型的擬合和預(yù)測(cè)精度整體更高,但是訓(xùn)練過(guò)程的耗時(shí)也更多。 4) 基于多層網(wǎng)格搜索的參數(shù)優(yōu)選算法效果顯著,特別是對(duì)于第2個(gè)數(shù)據(jù)源(B飛機(jī)),在測(cè)試點(diǎn)12上的預(yù)測(cè)精度(RMSE值)達(dá)到了0.864,而文獻(xiàn)[8]中提出的混合模型其最優(yōu)RMSE值僅為1.879。 總的來(lái)說(shuō),本文驗(yàn)證了LSTM模型在可靠性預(yù)測(cè)領(lǐng)域中的適用性,擴(kuò)展了深度學(xué)習(xí)技術(shù)的應(yīng)用范疇。基于目前的工作,后續(xù)可以展開(kāi)進(jìn)一步研究:比如擴(kuò)展隱藏層層數(shù),檢驗(yàn)多隱藏層LSTM網(wǎng)絡(luò)結(jié)構(gòu)的應(yīng)用效果;或者從眾多LSTM模型參數(shù)入手,尋求更有效的參數(shù)優(yōu)化方法。此外,本文是從歷史數(shù)據(jù)出發(fā),應(yīng)用數(shù)據(jù)驅(qū)動(dòng)的技術(shù)逆向建立預(yù)測(cè)模型。下一步,可以從可靠性相關(guān)的領(lǐng)域知識(shí)出發(fā),應(yīng)用提取出來(lái)的關(guān)鍵特征和要素正向研究可靠性預(yù)測(cè)方法。 致謝感謝任健老師在實(shí)驗(yàn)數(shù)據(jù)方面提供的支持,感謝王森章博士在語(yǔ)言方面給予的幫助,感謝評(píng)閱論文的各位專家。 參考文獻(xiàn) (References) [1] VICHARE N M,PECHT M G.Prognostics and health management of electronics[J].IEEE Transactions on Components & Packaging Technologies,2006,29(1):222-229. [2] SAPANKEVYCH N I,SANKAR R.Time series prediction using support vector machines: A survey[J].IEEE Computational Intelligence Magazine,2009,4(2):24-38. [3] 王鑫,吳際,劉超,等.奇異譜分析在故障時(shí)間序列分析中的應(yīng)用[J].北京航空航天大學(xué)學(xué)報(bào),2016,42(11):2321-2331. WANG X,WU J,LIU C,et al.Application of singular spectrum analysis for failure time series[J].Journal of Beijing University of Aeronautics and Astronautics,2016,42(11):2321-2331(in Chinese). [4] 李瑞瑩,康銳.基于ARMA模型的故障率預(yù)測(cè)方法研究[J].系統(tǒng)工程與電子技術(shù),2008,30(8):1588-1591. LI R Y,KANG R.Research on failure rate forecasting method based on ARMA model[J].Systems Engineering and Electronics,2008,30(8):1588-1591(in Chinese). [5] ROCCO S C M.Singular spectrum analysis and forecasting of failure time series[J].Reliability Engineering & System Safety,2013,114(6):126-136. [6] MOURA M D C,ZIO E,LINS I D,et al.Failure and reliability prediction by support vector machines regression of time series data[J].Reliability Engineering & System Safety,2011,96(11):1527-1534. [7] XU K,XIE M,TANG L C,et al.Application of neural networks in forecasting engine systems reliability[J].Applied Soft Computing,2003,2(4):255-268. [8] WANG X,WU J,LIU C,et al.A hybrid model based on singular spectrum analysis and support vector machines regression for failure time series prediction[J].Quality & Reliability Engineering International,2016,32(8):2717-2738. [9] LECUN Y,BENGIO Y,HINTON G.Deep learning[J].Nature,2015,521(7553):436-444. [10] GRAVES A.Long short-term memory[M].Berlin:Springer,2012:1735-1780. [11] SRIVASTAVA N,MANSIMOV E,SALAKHUTDINOV R.Unsupervised learning of video representations using LSTMs[C]∥Proceedings of the 32nd International Conference on Machine Learning.Lille:JMLR W&CP,2015:843-852. [12] DONAHUE J,HENDRICKS L A,ROHRBACH M,et al.Long-term recurrent convolutional networks for visual recognition and description[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015,39(4):677-691. [13] VINYALS O,TOSHEV A,BENGIO S,et al.Show and tell:A neural image caption generator[C]∥IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2015:3156-3164. [14] MA X,TAO Z,WANG Y,et al.Long short-term memory neural network for traffic speed prediction using remote microwave sensor data[J].Transportation Research Part C Emerging Technologies,2015,54:187-197. [15] HANSON J,YANG Y,PALIWAL K,et al.Improving protein disorder prediction by deep bidirectional long short-term memory recurrent neural networks[J].Bioinformatics,2017,33(5):685. [16] GREFF K,SRIVASTAVA R K,KOUTNIK J,et al.LSTM:A search space odyssey[J].IEEE Transactions on Neural Networks & Learning Systems,2016,PP(99):1-11. [17] GRAVES A,SCHMIDHUBER J.Framewise phoneme classification with bidirectional LSTM and other neural network architectures[J].Neural Networks,2005,18(5-6):602. [18] AMARI S I.Backpropagation and stochastic gradient descent method[J].Neurocomputing,1993,5(4-5):185-196. [19] DUCHI J,HAZAN E,SINGER Y.Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research,2011,12(7):257-269. [20] YEUNG S,RUSSAKOVSKY O,NING J,et al.Every moment counts:Dense detailed labeling of actions in complex videos[J].International Journal of Computer Vision,2017(8):1-15. [21] KINGMA D P,BA J.Adam:A method for stochastic optimization[C]∥ICLR 2015,2015:1-15. [22] CHUNG J,GULCEHRE C,CHO K H,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[C]∥NIPS 2014 Deep Learning and Representation Learning Workshop,2014:1-9. [23] CHEN P W,WANG J Y,LEE H M.Model selection of SVMs using GA approach[C]∥IEEE International Joint Conference on Neural Networks.Piscataway,NJ:IEEE Press,2004:2035-2040. [24] BRATTON D,KENNEDY J.Defining a standard for particle swarm optimization[C]∥IEEE Swarm Intelligence Symposium.Piscataway,NJ:IEEE Press,2007:120-127. [25] SNOEK J,LAROCHELLE H,ADAMS R P.Practical Bayesian optimization of machine learning algorithms[C]∥International Conference on Neural Information Processing Systems.Lake Tahoe:Curran Associates Inc.,2012:2951-2959. [26] HSU C W,CHANG C C,LIN C J.A practical guide to support vector classification[EB/OL].(2016-05-19)[2017-03-20]. https:∥www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf . [27] SU C,JIN Q,FU Y.Correlation analysis for wind speed and failure rate of wind turbines using time series approach[J].Journal of Renewable & Sustainable Energy,2012,4(3):687-700. [28] CHATFIELD C.The Holt-Winters forecasting procedure[J].Journal of the Royal Statistical Society,1978,27(3):264-279. [29] BARTHOLOMEW D J.Time series analysis forecasting and control[J].Journal of the Operational Research Society,1971,22(2):199-201. [30] HYNDMAN R J,KHANDAKAR Y.Automatic time series forecasting:The forecast package for R[J].Journal of Statistical Software,2008,27(3):1-22. [31] VAUTARD R,YIOU P,GHIL M.Singular-spectrum analysis:A toolkit for short,noisy chaotic signals[J].Physica D-Nonlinear Phenomena,1992,58(1-4):95-126. [32] GOLYANDINA N,KOROBEYNIKOV A.Basic singular spectrum analysis and forecasting with R[J].Computational Statistics & Data Analysis,2014,71(1):934-954. [33] NIKOLOPOULOS K,GOODWIN P,PATELIS A,et al.Forecasting with cue information:A comparison of multiple regression with alternative forecasting approaches[J].European Journal of Operational Research,2007,180(1):354-368. [34] BIANCO V,MANCA O,NARDINI S.Electricity consumption forecasting in Italy using linear regression models[J].Energy,2009,34(9):1413-1421. [35] BRERETON R G,LLOYD G R.Support vector machines for classification and regression[J].Analyst,2010,135(2):230-267. [36] CHERKASSKY V,MA Y.Practical selection of SVM parameters and noise estimation for SVM regression[J].Neural Networks,2004,17(1):113-126. [37] Google.tensorflow rminer 1.4.2[EB/OL].[2017-03-20].https:∥www.tensorflow.org/versions/r0.12. [38] R Core Team.The R project for statistical computing[EB/OL].[2017-03-20].https:∥www.r-project.org. [39] HYNDMAN R.robjhyndman/forecast[EB/OL].[2017-03-20].https:∥github.com/robjhyndman/forecast. [40] KOROBEYNIKOV A.asl/rssa[EB/OL].[2017-03-20].https:∥github.com/asl/rssa. [41] PAULO C.rminer:Data mining classification and regression methods[EB/OL].[2017-03-20].https:∥cran.r-project.org/package=rminer.










2.2 基于多層網(wǎng)格搜索的LSTM預(yù)測(cè)模型參數(shù)優(yōu)選
3 實(shí)驗(yàn)驗(yàn)證
3.1 實(shí)驗(yàn)準(zhǔn)備



3.2 實(shí)驗(yàn)結(jié)果






3.3 參數(shù)優(yōu)選





4 結(jié) 論