馬 躍,李成蒙,尹震宇,李明時,柴安穎,趙志浩
(中國科學院大學,北京 100049) (中國科學院 沈陽計算技術研究所,沈陽 110168)
現如今,隨著科學技術的發展,現代工業已基本實現了機械化、自動化的生產流程.在生產線作業中也越來越多地引入大型機械化設備,這些設備間一般具有先后的生產次序關系,單個設備作為生產線的一部分,其穩定性和安全性直接影響著整個生產線的持續性運行[1].一旦生產線中的設備發生故障,不僅會降低生產效率,而且可能帶來嚴重的安全生產事故.同時,在大多情況下,設備故障并不是瞬時發生的,而是通過一定的時間累積出現的異常現象,具有一定的規律性[2].因此,如何有效地對生產線中設備的運行狀態進行預測,對于做好安全生產和提高生產效率至關重要.
傳統上對于設備運行狀態的判斷主要依靠人工經驗來完成,一般根據已掌握的設備歷史維護信息來判斷未來一段時間內是否會發生故障,但是這種維護方式帶有很強的主觀性,可能會受到設備的運行強度、環境因素、人為因素等的影響;另外就是采用定時維護的方式,但是會帶來“維修不足”以及“維修過剩”等問題[3].
一般來說,設備運行過程中產生的數據屬于時序數據,其本質上反應的是某個或某些隨機變量隨時間不斷變化的趨勢[4].時序數據會受到各方面的影響,具體表現為數據的非線性、非平穩性、快速變換且包含噪聲等特點[5].傳統ARIMA(差分整合移動平均自回歸)模型要求輸入為平穩數據,但是現實中獲取到的時序數據一般多為非平穩的,因此還需要對數據進行差分處理,使數據最終滿足平穩性的要求.隨著人工智能技術的發展,出現了越來越多的深度學習算法,這些算法能夠很好地對非線性數據進行處理,有效地解決了ARIMA模型對數據平穩性的依賴問題.晏臻等[6]人采用CNN和LSTM相結合的方式實現了對交通流量的短時預測;馮浩等[7]人針對樣本類別分布不均衡的問題,提出了一種加權焦點損失函數(WFL),并與LSTM模型相結合,實驗結果表明,這種預測模型相較于傳統的機器學習算法能夠更好地學習到特征在時間維度上的變化規律;陳平等[8]人基于GRNN神經網絡建立了電子裝備的狀態預測模型,通過仿真分析,驗證了模型的可行性與預測的準確性;侯晨煜等[9]人在神經網絡算法的基礎上,結合卡爾曼濾波,提出了一種新型有效的地鐵客流短時預測算法;代杰杰等[10]人為預測電力變壓器運行狀態,建立了基于長短時記憶網絡的電力變壓器狀態預測模型,能較準確地反映出變壓器的優劣狀況.
為了能更好地描述設備的未來運行狀態,為設備維護提供及時有效的建議,本研究針對生產線設備維護過程中存在的問題,結合獲取到的設備運行狀態數據,采用LSTM網絡結構作為預測模型對設備的狀態進行初步預測.同時針對多步預測過程中存在的誤差“累積”問題,采用另外一個LSTM網絡結構對預測模型的殘差數據進行建模,作為輔助模型對初步預測結果進行修正,可以有效降低誤差傳播對預測精度的影響.
隨著Hinton等[11]人提出深度學習的概念以來,諸如人工神經網絡(ANN)、卷積神經網絡(CNN)和遞歸神經網絡(RNN)等逐漸被越來越多的領域所采用.深度學習相較于傳統的統計學習方法,能夠通過多層非線性變換,從原始數據中提取到由底層到高層、由具體到抽象、由一般到特定語義的特征[12].這種結構上的優勢,讓深度學習能夠在計算機視覺、自然語言處理等領域中發揮較好的預測效果.
循環神經網絡(Recurrent Neural Network,RNN)將時序的概念引入到了網絡設計中,使其能夠更好地處理時序數據問題[13],能更大限度地挖掘出時序數據間隱含的信息.循環神經網絡在相鄰的神經節點之間都有連接,可以用來傳遞數據間的狀態信息,同時每個神經節點又可以接受新的狀態輸入,結合歷史保留信息,能夠預測輸出下一時刻的數據狀態.具體網絡結構如圖1所示.
圖1中xt-1、xt、xt+1代表輸入的時序數據,yt-1、yt、yt+1表示每個時刻的輸出,可由如下公式得到:
ht=f(U·xt+W·ht-1)
(1)
yt=g(V·ht)
(2)
其中U、V、W為權重矩陣,可以被網絡所共享,大大減小了網絡的訓練復雜度;f(x)和g(x)分別為隱藏層和輸出層的激活函數,f(x)通常采用tanh(x)函數,而g(x)根據輸出數據的類型來選擇對應的激活函數;ht則為網絡保存的歷史狀態,可以有效地利用數據間的關聯性信息.
雖然循環神經網絡能夠記憶狀態信息,但是,在處理時間跨度較長的輸入時會存在長期依賴問題.這是由于狀態ht在接受每個輸入時都會被更新,因此會失去前期輸入的“記憶”,導致不能有效利用時間跨度較長的時序數據中的信息.因此,在循環神經網絡的基礎上演化出了長短時記憶網絡(LSTM),通過加入3個“門”和一個能保存輸入“記憶”的結構,有效解決了RNN在處理長序數據時存在的問題[14,15].其細胞結構如圖2所示.

圖2 LSTM細胞結構圖Fig.2 LSTM cell structure diagram
1)遺忘門(forget gate):用來控制需要保留的細胞狀態信息,計算公式為:
ft=σ(Wf·[ht-1,xt]+bf)
(3)
其中[ht-1,xt]為上次輸出與本次輸入向量的一個拼接,Wf和bf分別表示權重矩陣和偏置項.運算結果通過一個sigmoid激活函數映射到0-1之間,決定了保留之前信息的程度.
2)輸入門(input gate):主要負責當前序列位置的輸入,計算公式為:
it=σ(Wi·[ht-1,xt]+bi)
(4)
(5)

3)細胞狀態更新:將遺忘門和輸入門得到的數據添加到上一細胞狀態中,計算公式為:
(6)
細胞狀態記錄了起始輸入到當前輸入所保留的信息,通過遺忘門信息與輸入門信息進行求和運算,可以有效解決RNN中的梯度消失和梯度爆炸的問題.
4)輸出門(output gate):根據細胞狀態和輸入數據決定當前的輸出,計算公式為:
ot=σ(Wo[ht-1,xt]+b0)
(7)
ht=ot*tanh(Ct)
(8)
其中狀態輸出由兩部分組成,第1部分ot為上次輸出和本次輸入向量拼接后通過sigmoid激活函數映射得到,第2部分則由細胞狀態與第1部分的輸出相乘得到.狀態輸出有兩個作用:1)作為當前時刻的預測值,2)進入下一個細胞網絡中參與參數運算.
根據時序數據前后相互關聯的特點,通過滑動窗口的方式進行數據分割,結合LSTM循環神經網絡,本節給出Dual-LSTM混合模型的數據預測方法,實現對設備狀態的準確預測.
系統的總體結構如圖3所示.首先通過數據庫或者遠程推送的方式獲取到設備的歷史狀態數據.由于設備信息采集裝置處于工業環境現場,可能會受到傳感器失效、網絡阻塞等各種情況的影響,從而導致采集到的數據出現異常,因此需要采用一定的方法對這些原始數據進行預處理,主要包括異常值去除、缺失值補全、數據歸一化等.然后對處理后的時序數據進行數據分割,以滿足后續模型的輸入格式要求.最后進行模型的網絡參數訓練,通過預測模型和輔助模型相結合的方式完成對設備狀態的預測工作.

圖3 系統結構Fig.3 System structure
為了提升模型的收斂速度以及訓練精度,首先采用公式9對數據做歸一化處理,將數據映射到[min,max]的區間中,一般取min=0,max=1.
(9)
其中x′為歸一化后的值,x為原始值,xmax和xmin分別為數據中的最大值和最小值.通過歸一化后,數據保留了原始的走向趨勢,但是其值被限定在一個較小范圍內,在一定程度上減小了異常值對模型的影響.對于模型的預測結果,還需要進行反歸一化為實際值,反歸一化的公式為:
(10)
然后在歸一化后的數據基礎上構建數據集,對于時序數據采用的是過去一段時間內的數據對未來數據進行預測,因此可以采用滑動窗口的方式構建數據集.具體做法為指定滑動窗口的長度為n,在原數據上以步長為1進行滑動,以窗口中的數據作為模型的輸入數據,窗口的下一個數據作為預測值,不斷重復這個過程,直到構建出符合要求的數據集,具體做法如圖4所示.同時為了驗證模型的準確性,保留最后2000個時刻的數據作為測試集,其余的數據作為訓練集參與模型參數的訓練工作.

圖4 數據集構建Fig.4 Construction of data sets
預測工作主要由預測模型和輔助模型共同完成,其中預測模型主要完成對數據的初步預測,輔助模型則對預測模型的預測殘差值進行確定,從而實現對初步預測結果的修正.模型均采用了第2節中提到的LSTM循環神經網絡結構,主要包括輸入層、隱藏層、輸出層3部分,其中輸入層節點個數與數據分割窗口大小相對應,隱藏層則實現對輸入數據的非線性變換,輸出層通過linear線性激活函數將輸出映射到實數空間中.同時考慮到不同設備狀態數據間的差異,可以在模型的隱藏層中加入全連接層對數據進行多維度映射.
3.3.1 預測模型構建
根據數據的特點,將分割數據的窗口大小設置為100,即每次預測需要依賴前100個時刻的序列數據,其數據格式表示為{yt-100,…,yt-2,yt-1}.同時預測模型的輸入節點個數與輸入數據長度相等,然后加入3層LSTM層學習數據中的隱含信息和1層全連接層進行維度映射,采用平均絕對誤差(Mean Absolute Error, MAE)作為損失函數,利用自適應動量估計(Adaptive Moment Estimation, Adam)優化算法更新網絡權重,并將劃分好的訓練集送入模型進行訓練.

通過上述動態構建輸入序列數據的方法,預測模型進行多步預測的步驟如下:

2.判斷是否達到預設的預測步長,若不滿足,則進入步驟3,否則,進入步驟4;
3.重新構建輸入序列,加入預測值,并將新構建的序列帶入步驟1中;
4.將各個預測流程中的值返回,預測結束.
3.3.2 輔助模型構建
1.將初始時間序列數據輸入預測模型和輔助模型中,分別得到初步預測結果和殘差預測值;
2.通過殘差預測值對初步預測結果進行修正,得到更為精確的預測值;
3.判斷是否達到預設的預測步長,若不滿足,進入步驟4,否則,進入步驟5;
4.重新構建輸入序列,加入修正后的預測值,并將新構建的序列帶入步驟1中;
5.將各個預測流程中的值返回,預測結束.
為了驗證本文所提出的Dual-LSTM混合模型對時序數據預測的有效性,以實驗產線為目標,通過將溫度傳感器部署到六軸機械手伺服電機的外圍殼體處,以采集到的溫度數據進行實驗驗證,從不同的預測方式上進行結果對比,采用均方根誤差(RMSE)、平均絕對誤差(MAE)作為模型的預測性能評價指標.
首先從數據庫中讀取已儲存的溫度數據,由于數據中存在一定的異常值和缺失值,因此采用線性插值算法對這些值進行替換、填充,使數據滿足連續性的特點要求.然后采用第3節中的分割方法將數據劃分為訓練集和測試集,分別進行預測模型和輔助模型的網絡參數訓練.
為了驗證混合模型能夠有效地降低預測過程中產生的誤差,首先在測試數據集上對模型的單步預測效果進行驗證分析,利用訓練完成后的預測模型和輔助模型進行預測,與單LSTM模型預測結果對比如圖5所示.
從圖5中可以看出,單模型預測曲線雖然與真實值曲線趨勢保持一致,但是與真實值之間還是存在一定的差距,而加入輔助模型后,由于能夠對每次的預測結果進行修正,因此混合模型能夠更好地擬合真實數據值,減小預測過程中產生的誤差.另外從表1中的預測結果指標數據上也可以看出,混合模型在RMSE值和MAE值上均比單預測模型更低,驗證了本文提出的Dual-LSTM混合模型在設備狀態數據單步預測上具有良好的有效性.

圖5 單步預測結果對比Fig.5 Comparison of single-step prediction results

表1 單步預測結果Table 1 Single-step prediction results
為了進一步說明本文提出的Dual-LSTM混合模型在數據多步預測上的有效性,利用第3節中提到的對數據循環預測的方法,在測試集上進行循環預測25個時刻的狀態數據,結果如圖6所示.

圖6 多步預測結果對比Fig.6 Comparison of multi-step prediction results
由于每次在進行輸入序列重建時都會引入一個預測誤差值,因此單模型在預測到第7個時刻的數據時,誤差的“累積”導致輸入序列數據偏離了正常范圍,在后續過程中已經不能準確地預測出當前時刻的真實值.而混合模型能夠對每一步的預測結果進行修正,因此,在前期預測過程中引入的誤差較小,預測模型依然可以進行正常預測.在第10個時刻時,

表2 多步預測結果Table 2 Multi-step prediction results
雖然預測值與真實值的差異變大,但是依然能夠捕捉到真實數據的走向趨勢,從表2中的預測結果指標數據對比中也可以看出,混合模型的預測精度更高.
本文提出了一種Dual-LSTM混合模型數據預測方法,針對時序數據預測過程中出現的誤差“累積”問題,提出了一個可以對預測結果進行修正的輔助模型,并在實際產線設備數據上進行了驗證,通過與單LSTM模型在單步和多步的預測結果上進行對比,實驗結果表明,輔助模型能夠有效提升預測精度,并在多步預測上也能有較為出色的表現效果,較大地改善了對產線設備狀態預測的能力.在本實驗研究的基礎上,下一步的研究工作應該主要放在對狀態數據的識別以及故障預測方面,通過對已有故障數據進行建模,來識別出預測數據中可能會出現的故障信息.