吳明慧,侯凌燕,王 超
1.北京信息科技大學 計算機開放系統實驗室,北京100101
2.北京材料基因工程高精尖中心,北京100101
時間序列預測方法在目標追蹤、天氣預報、市場分析和故障診斷領域中有廣泛的應用。時間序列預測的目標是尋找未來時刻序列的取值與其歷史觀測值及變量之間的關系[1-2]。深度學習(deep learning)通過建立深層神經網絡實現自動特征提取,構建數據在不同層級、維度下的關聯,提高自變量對因變量的解釋程度[2-5]。
目前,用于時間序列預測的深度學習模型主要有循環神經網絡(Recurrent Neural Network,RNN)和長短時神經網絡(Long Short-Term Memory neural network,LSTM)[6]。基于時間(狀態)的循環機制,RNN能將時間序列的上下文信息考慮在內,但在訓練過程中存在梯度消失問題(即梯度向量的分量在長時序列上呈指數降低)[7-15]。Schmidhuber等人提出長短時神經網絡,在RNN的基礎上設立細胞狀態保存歷史信息、設立輸入門更新細胞狀態、設立遺忘門清除無用歷史信息,從而分離了記憶模塊與數據輸入模塊,緩解了梯度消失問題[3]。進而,涌現出諸多基于LSTM模型在預測領域的應用案例,例如Yuan等[15]對工業設備壽命的預測。然而,后續的研究發現梯度消失問題在LSTM中仍然存在,尤其在工業環境中,時序數據往往由高采樣率的傳感器收集得到,隨采樣時間的增加,序列長度不斷增長,在處理距離當前時刻較遠的序列信息時這個問題更加明顯[16]。
為解決此問題,Chorowski等人[17]提出在LSTM之后增加注意力機制,通過為隱層節點分配不同權重,使重要特征在長序數據的學習過程中被保留。Wang[18]將CNN捕捉局部特征的能力與LSTM提取序列數據時序特征的能力相結合,構建多特征提取模型。Li[19]在此基礎上引入注意力機制選取關鍵特征進行學習,進一步降低預測誤差,然而序列長度受限的關鍵在于LSTM,通過多特征疊加的方式并不能解決此問題。Shi等人[20]提出ConvLSTM,將卷積整合到LSTM結構中獲得時空特征的提取能力,使LSTM應用擴展到圖像領域。Conv-LSTM在短序列輸入時表現突出,但面對高維長序數據輸入的特征提取能力不足。
基于單鏈結構的LSTM僅能學習正向時序關系,BiLSTM的逆序雙鏈結構可以對數據二次訓練,這一特性使其可以學習序列正向和逆向的時序關系。Siami[21]驗證了在預測準確度上BiLSTM優于LSTM。隨后,Ding[22]將CNN與BiLSTM組合,結果表明在預測誤差方面優于LSTM、BiLSTM和CNN-LSTM,是目前預測精度最高的方案。Wang[23]和Jiang[24]等人分別嘗試在CNNBiLSTM組合上附加注意力機制用于特征選取,但預測效果并不穩定。
綜上,在LSTM對歷史序列的記憶能力隨序列長度增加而下降的問題中,關注的重點在于引入其他模型或機制來提升特征提取能力[25-27],均未從LSTM鏈式結構信息傳導機理出發提升LSTM的記憶能力。鏈式結構的長短時神經網絡在梯度反向傳導時,歷史時刻梯度的計算基于后續時刻的梯度值。這一機制使得在面對高采樣率、分布不均衡的數據時,模型會弱化小比例數據的記憶能力。最終導致算法能夠接受的序列長度有限,輸入序列達到一定長度時預測精度會明顯降低。在此方面,本文提出提出在LSTM節點中構建強化門實現對遺忘信息的提取,并與記憶信息按比例選取、融合、輸入記憶單元,增加學習過程中的梯度傳導能力,使網絡對相對較遠的信息保持敏感以提升記憶能力。
RNN是一種隱層具有自連接關系的神經網絡,每個節點通過當前時刻的狀態信息計算輸出,而當前狀態由上一時刻的狀態和當前時刻的輸入共同決定,從而實現時序數據的記憶。LSTM延續了RNN的鏈式傳導結構,并在RNN的基礎上增加了四種交互層(如圖1所示),input(輸入門)、forget(遺忘門)、output(輸出門)和cell(細胞狀態),以解決梯度消失問題。每個LSTM節點包含三個輸入,即上一時刻的節點狀態、上一時刻的節點輸出和當前時刻的輸入。LSTM特有的門結構包含一個非線性激活函數,決定了在節點之間傳遞的信息量。LSTM通過門結構實現對歷史信息傳遞的控制[29]。

圖1 面向預測問題的LSTM結構Fig.1 LSTM structure for prediction problems
(1)遺忘門通過自循環權重控制前一個過程中狀態信息的保存。同時通過激活函數將遺忘門的值限制在0至1之間,控制細胞狀態以防止記憶飽和[15]。計算公式為:

其中,Wf為循環權重,Uf為輸入權重,bf為偏置,ht-1和xt分別為隱含層的輸出和輸入。
(2)輸入門由sigmoid激活函數實現,輸入單元it按需提取輸入信息C?t以控制序列的輸入。計算公式為:

其中,Ui和Uc為輸入權重,Wi和Wc為循環權重,bi和bc為偏置。
(3)細胞狀態更新。細胞狀態Ct用來記錄當前時刻LSTM神經網絡的狀態。由Ct-1和遺忘門ft的乘積,和輸入門it和C?t的乘積兩部分組成。計算公式為:

其中,°為哈達瑪積[28]。
(4)輸出門將輸入的數據經過隱藏層計算再通過激活函數壓縮到0至1進行輸出。計算公式為:

其中,Wo和Uo分別為循環權重和輸入權重,bo為偏置。
(5)隱狀態通過輸出激活函數實現預測。設輸入序列X=(x0,x1,…,xt),預 測 結 果 用y?=( )y?0,y?1,…,y?t表示,計算公式為:

其中,wy為權重,by為偏置,φ代表LSTM的輸出激活函數。當輸入序列(x0,x1,…,xt),LSTM模型會生成相應的隱狀態(h0,h1,…,ht),隱狀態經過數據激活函數φ轉換為預測值。
在數據持續輸入的過程中,會出現細胞狀態飽和現象(細胞狀態持續增長導致模型停止記憶新信息),因此Schmidhuber引入遺忘門限制記憶傳遞的程度。但在序列長度超過一定限度時,遺忘門會導致歷史信息丟失。針對長序列數據的記憶限制問題,本文提出在LSTM節點中構建強化門實現對遺忘信息Ct-1(f)的提取,并與記憶信息Ct-1(r)按比例選取、融合、輸入記憶單元,增加學習過程中的梯度傳導能力,使網絡對相對較遠的信息保持敏感以提升記憶能力。
遺忘門控制上一時刻細胞狀態的傳遞,當輸入序列超出模型接受的限度時,遺忘門會過度發揮作用將重要信息(歷史信息)過濾。遺忘門的這一性質導致LSTM面對長序數據會遺忘歷史信息。強化門機制是在遺忘門的基礎上附加了記憶回收模塊,可在輸入長序數據時回收部分遺忘的歷史信息。記憶強化結構如圖2所示。

圖2 記憶增強LSTM模型結構圖Fig.2 Structure of memory enhanced LSTM model
將遺忘信息Ct-1(f)的選取比例設定為W1,記憶信息Ct-1(r)的選取比例設為W2,引入強化門后記憶單元為:

其中,W3=W2-W1,通過對遺忘信息加權,可使LSTM對遺忘信息保持一定程度的敏感性。將公式(4)展開得:


公式(9)表明,將記憶狀態按照時間全部展開后,第t個時刻的單元記憶Ct為第i步的輸入記憶C?i經歷t-i+1次遺忘求和得到。通過加強每一時刻的輸入記憶C?t,可實現單元記憶Ct的增強。將公式(8)展開如下:其中,ft由sigmoid函數實現,其輸出結果在0~1。當0 另一方面,LSTM長期記憶的序列長度與梯度值正向相關,遞歸梯度計算是導致梯度消失的原因。LSTM結構設計為通過Ct進行長期記憶,對進行展開: 其中,function表示復合函數。在長序數據(尤其是不均衡數據集)輸入的條件下,通常取值為0~1,function函數對其取值影響小于ft。對改進模型梯度展開得: 細胞狀態Ct通常在時間序列的學習過程中傾向于線性增長,在持續輸入的情況下,細胞狀態可能會無限增長,從而導致輸出門的飽和。輸出門飽和將使ht的導數消失,無法獲取輸入誤差,導致模型停止記憶,故遺忘門取值設置在0~1,以實現對單元記憶飽和度的控制[15]。因fnew_t輸出結果在0~1,記憶增強模型不會由于增加記憶信息而導致單元記憶飽和。 實驗選取預測擬合曲線對比改進模型(記憶增強)S_LSTM與原LSTM模型的預測能力。隨后對比S_LSTM與多種LSTM模型的預測誤差隨輸入序列長度的變化,以驗證改進模型的預測精度。之后評測參數W1對改進模型S_LSTM預測誤差與訓練時間的影響。最后對比S_LSTM與原LSTM模型訓練時間與測試時間隨輸入序列增加的變化趨勢,分析新參數伴隨的負面效果。 實驗數據集取自某器件中的監控數據,單個傳感器按照每20 ms一次的頻率記錄一次數值,將160個傳感器在同時刻記錄的數值集合記為一條數據。數據集包含某時刻起連續29 h采集的正常數據4 000 686條數據,在0.3 h內采集的故障數56 954條,數據集共有160個維度,每個維度表示相應的傳感器監測值。為平衡正負樣本,本實驗將正常數據以20為間隔選取,將數據壓縮至200 000條,故障數據過濾掉空值過多的項,總數據量共計245 463條。 在數據采集的過程中,數據集質量會受環境因素干擾,采集數據的不正當操作以及設備本身的問題會導致采集的數據中存在異常。在訓練前先對數據進行預處理。 本文采用min-max歸一化是對原始數據的線性變換,變換公式如式(13): 其中,Maxvalue為數據中的最大值,Minvalue為數據中的最小值,Maxvalue-Minvalue為極差,xi為在數據集中所取的數據,xi′為歸一化后數據的大小。 將傳感器編號18S記錄的指標設為因變量18S,當18S數值大于170時機器異常,其余指標作為自變量,使用日前向鏈嵌套交叉驗證方法,基于Keras框架搭建LSTM模型實現對故障特征參數18S的預測。訓練集中因變量18S的數值如圖3所示,橫坐標為數據量,縱坐標表示數值,以此數據分布模擬實際場景中一個訓練周期。 圖3 訓練集因變量18S度量指標Fig.3 18S metric of training set dependent variable 實驗選取平均絕對誤差(Mean Absolute Error,MAE),均方根誤差(Root Mean Square Error,RMSE)作為模型預測結果的評估標準。RMSE是用于測量觀測值與實際值之間的偏差,對非常大或較小誤差的測量高度敏感。MAE與RMSE的計算如下: 圖4 展示了記憶增強模型(S_LSTM)與原模型的預測結果,橫坐標表示數據量,縱坐標表示參數數值。直線線條為測試集因變量18S的值,虛線線條(記憶增強模型)和星狀線條(原模型)為模型預測的因變量值。因變量在潛在故障時由93變為163,發生故障時由163增長超過170閾值。在正常時序區間,記憶增強模型的預測曲線比原LSTM模型的預測曲線更貼近于真實曲線。在故障時序區,記憶增強模型的預測誤差為14.45,相對于原模型的預測誤差(22.51)減少35.8%。 圖4 預測結果對比Fig.4 Comparison of prediction results 圖5 給出記憶增強模型(S_LSTM)與其他LSTM模型在預測過程中的均方根誤差RMSE與平均絕對誤差MAE隨輸入序列長度的變化趨勢對比,對比模型包括LSTM、Attention LSTM、ConvLSTM、BiLSTM、CNNLSTM、CNN-BiLSTM及Attention CNN-LSTM。由圖5(a)的RSME曲線可見,隨輸入序列長度逐漸增加,各模型的均方根誤差均呈持續增長的趨勢。其中,S_LSTM的RSME曲線整體位于原模型的下方,該現象印證了改進模型記憶能力高于原LSTM模型。而與其他模型的對比中,在0~60序列長度內,模型組合以增強特征提取能力的表現更明顯,CNN-LSTM、BiLSTM、Attention CNN-LSTM與CNN-BiLSTM的預測誤差均小于S_LSTM。但是當序列長度增至100時,僅CNN-BiLSTM的預測能力略優于改進模型。在100后,改進模型的誤差曲線最低,這說明在序列長度超過60時,附加其他模型特征提取能力的影響已經逐漸弱于LSTM梯度傳導的影響。改進模型面對長序輸入的記憶能力高于其他LSTM模型。平均絕對誤差MAE(圖5(b))的變化趨勢與均方根誤差RMSE類似,但隨序列長度增加,曲線斜率的變化更明顯。圖5(b)中,各模型的誤差曲線斜率均呈現先降低后增加的趨勢。這表明,當輸入序列增加到一定程度(100)時,模型已達到記憶上限。而S_LSTM曲線斜率上升的拐點晚于其他模型,這表明S_LSTM的記憶增強機制發揮作用,添加強化門機制可使LSTM記憶上限高于其他方法。 圖5 記憶增強模型與其他模型在預測誤差上比較Fig.5 Comparison of prediction error between memory enhancement model and other models 表1 展示了S_LSTM在不同W1參數取值下與預測精度較高的LSTM相關模型(CNN-LSTM、BiLSTM、Attention CNN-LSTM及CNN-BiLSTM)對比,對比預測誤差與總訓練時間分析S_LSTM的性能。其中序列長度設置為200,學習率為0.01,L2正則化系數為0.01,以0.1為間隔在0至1區間取值。當W1取值為0.2及0.8時RMSE與MAE最小,分別為24.65與14.11,低于原LSTM(33.76與22.51)及其相關模型。表1中,W1取值從0.1至0.9運行時間無明顯規律變化,但高于LSTM、CNN-LSTM、CNN-BiLSTM及Attention CNNLSTM。可見,記憶增強模型的預測結果在RMSE、MAE方面均優于其他LSTM相關模型,但訓練時間相比LSTM、CNN-LSTM、CNN-BiLSTM及Attention CNNLSTM略微增長。 表1 參數W1對模型的影響Table 1 Effect of parameter W1 on model 圖6 進一步表現了記憶加強模型(S_LSTM)與原模型(LSTM)訓練時間(圖6(a))與測試時間(圖6(b))隨輸入序列的變化(學習率為0.01,L2正則化系數為0.01)。記憶加強模型與原模型在序列長度為1時訓練時間接近,分別為14 s與11 s。隨著序列長度的增長,兩模型的訓練時間與測試時間均逐漸上升。記憶增強模型的平均訓練時間為599.81 s,較原模型(509.57 s)增長17.71%。記憶加強模型的訓練時長與輸入序列長度的增長基本呈線性關系,而原LSTM模型僅在序列長度低于130區間內表現為線性,之后則呈現急劇增加的趨勢,表明模型的記憶能力與訓練時間存在正向關系。當序列長度達到200時,記憶加強模型和原LSTM模型已基本持平。測試時間方面,引入強化門機制增加參數計算量,導致記憶增強模型的測試時間整體略高于原模型。 圖6 記憶增強模型與原模型訓練時間與測試時間Fig.6 Training time and test time of memory enhancement model and eriginal model 本文提出了一種面向預測的長短時神經網絡記憶增強機制,通過對神經網絡的節點結構修改,在遺忘門的基礎上增設強化門,由原模型只關注歷史信息的篩選(保留記憶部分),擴展至對遺忘信息提供傳導通道并實現記憶調節,增加學習過程中的梯度傳導能力從而增強了長短時神經網絡對歷史信息在傳遞過程中的提取能力。實驗表明,改進模型S_LSTM對長序數據的預測精度高于其他LSTM模型。 本文提出的改進方法在LSTM節點內部實現,引入新參數提升記憶能力的方式增加了學習的參數量,融合其他模型會帶來更大的訓練成本。同時復雜的組合模型容易導致過擬合,需要加大正則系數。后期將從降低模型復雜度切入,可通過門控單元合并降低參數量,或引用卷積提取局部特征,以簡化S_LSTM輸入的特征量,降低運算復雜度。

3 實驗結果分析
3.1 數據集
3.2 數據預處理

3.3 模型搭建

3.4 評價指標


3.5 結果分析




4 結語