龔 安,馬光明,郭文婷,陳 臣
(中國石油大學(華東) 計算機與通信工程學院,山東 青島 266580)
隨著中國經濟的迅速發(fā)展,核電站的發(fā)展規(guī)模日益擴大[1],為保證對核電系統(tǒng)安全狀態(tài)的及時掌控,核電設備運行狀態(tài)的預測變得越來越重要。然而,基于核電數據的保密性等原因,通過核電數據對核電設備運行狀態(tài)進行預測,還未發(fā)現(xiàn)相關的研究,因此研究核電設備運行狀態(tài)的預測方法很有意義。
核電系統(tǒng)屬于復雜結構系統(tǒng),結構越復雜,系統(tǒng)數據的復雜性越大。普通的預測方法如灰色預測模型[2]、比例風險模型[3]、非線性濾波器模型[4]都局限于因果回歸,并不能有效反映時序數據和設備運行狀態(tài)之間的關系。
近年來,深度學習模型在時序數據的研究越來越深入[5],其中LSTM神經網絡[6]通過設備產生的時序數據預測其運行狀態(tài)已經取得了不少成功的案例。例如,Noriaki Hirose等提出基于LSTM的滾動摩擦預測模型[7],對機械系統(tǒng)的滾動摩擦進行研究,實驗結果精確預測了設備的滾動摩擦系數;Chen Zaifa等將LSTM模型和經驗模式分解算法相結合,用LSTM模型處理軸承數據的本征模函數分量,并將實驗結果與支持向量機相對比,更好地實現(xiàn)了機械狀態(tài)的單步預測[8];AbdElRahman ElSaid等使用LSTM模型實現(xiàn)了飛機發(fā)動機振動值的預測[9],并由此建立了飛機發(fā)動機狀態(tài)預警系統(tǒng),避免了過渡振動對飛機的不利影響;Zhao Rui等使用LSTM獲取磨損數據的依賴關系,提出基于LSTM評估的生活工具健康檢測系統(tǒng)[10],并通過對比實驗展示了LSTM模型的優(yōu)越性。
在上述研究的基礎上,文中采用LSTM神經網絡對核電設備運行狀態(tài)進行預測,選擇某核電站數據中的主泵繞組溫度作為實驗數據進行對比實驗,包括數據預處理、網絡結構設計、神經網絡的訓練和預測等算法的實現(xiàn)。實驗結果表明該方法對核電設備運行狀態(tài)有更高的預測精度。
數據預處理是數據挖掘的重要步驟,同時也是必不可少的一環(huán)。為了更有效地挖掘出知識,必須為數據挖掘模型提供簡潔、干凈、有效的數據。然而,實際應用系統(tǒng)中獲得的原始數據通常含有臟數據,存在雜亂性、重復性、不完整性等方面的問題。
通過數據預處理對應的模塊,以領域知識作為指導,對原始數據進行處理,擯棄與數據挖掘目標無關的屬性,為數據挖掘的核心算法模型提供更準確和更有針對性的數據,以提高數據挖掘的效率和準確度。
數據預處理相關理論與方法很多,然而,對于復雜設備時序數據的預處理,目前還沒有相關理論方法的深入研究。為了提高實驗精度,除了手動除去噪點之外,實驗采用z-score標準化方法對實驗數據進行預處理,其公式可表示為:
z=(x-μ)/σ
(1)
x為具體的實驗數值;μ為平均數;σ為標準差。
循環(huán)神經網絡在網絡結構設計中引入時序數據的概念,使其在時序數據處理中具有更強的適應性。RNN (recurrent neural network)雖然能夠有效處理時間序列數據,但仍存在以下兩個問題:(1)RNN存在梯度消失和梯度爆炸問題,無法有效處理時間維度過長的時間序列數據;(2)RNN模型的訓練過程中需要預先設定延遲窗口的長度,但是這一參數的最優(yōu)值難以獲取。
LSTM神經網絡是眾多RNN的變體之一,在普通RNN的基礎上,在各隱藏層神經單元中加入記憶單元,實現(xiàn)時間序列上的記憶信息可控。每次序列數據在隱藏層各單元之間傳遞時會通過遺忘門、輸入門、輸出門等可控門,控制時序數據中之前數據和當前數據的記憶和遺忘程度,從而使神經網絡具有長期記憶功能。通過這種方式,LSTM神經網絡有效改善了循環(huán)神經網絡梯度消失、長期記憶力不足等缺點[11-12],能夠有效地利用長距離的時序數據。
圖1 RNN隱藏層細胞結構
ht=f(Wxhxt+Whhht-1+bh)
(2)
yt=Whyht+by
(3)
其中,W表示權重系數矩陣;b表示偏置向量;f表示激活函數。
LSTM神經網絡的神經元細胞結構如圖2所示[13],計算公式可表示為:
圖2 LSTM隱藏層細胞結構
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(4)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(5)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(6)
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
(7)
ht=ottanh(ct)
(8)
其中,i,f,c,o分別表示輸入門、遺忘門、細胞狀態(tài)、輸出門;W和b分別對應權重系數矩陣和偏執(zhí)系數;σ和tanh分別對應sigmod和雙曲正切激活函數。
訓練過程可分為四個步驟:
(1)由式4~式8計算LSTM細胞的輸出值;
(2)計算每個LSTM細胞的誤差;
(3)根據誤差計算每個權重的梯度;
(4)應用基于梯度的優(yōu)化算法更新權重。
LSTM有許多變體,最成功的是門限循環(huán)單元(gated recurrent unit,GRU)。GRU模型保留了LSTM的長期記憶能力,將LSTM細胞中的輸入門、遺忘門、輸出門替換為更新門和重置門,并將細胞狀態(tài)和輸出兩個向量合二為一。GRU結構相對簡單,參數數量少,訓練效率較高,在實際應用中,兩者的可比性很強。
梯度下降算法是機器學習領域使用最廣泛的優(yōu)化算法,在許多流行的深度學習庫中都包含了不同版本的梯度下降算法的實現(xiàn)。基于梯度下降的優(yōu)化算法有多種,比如Adam[14-15]、AdaGrad[16]、RMSProp[17]等。文中選用隨機梯度下降算法(stochastic gradient descent,SGD)[18]。SGD算法的優(yōu)化過程為:在給定的樣本M中,隨機取出副本N代替原始樣本M來作為全集,對模型進行訓練。這種訓練方式優(yōu)勢明顯,如果樣本抽取在合適范圍內,既會求出結果,并且速度更快。
SGD算法能夠有效解決訓練過程隨實驗樣本數量加大而變得異常緩慢的問題,有效提高收斂速度并減少占用的設備資源。
根據設備運行數據的特點,結合第一節(jié)提到的相關理論,給出基于LSTM模型的核電設備運行狀態(tài)預測方法,包括模型的搭建、訓練和預測。
考慮到實驗數據是單變量時間序列數據,構建的LSTM神經網絡預測模型如圖3所示。該模型由五個功能模塊組成,包括輸入層、隱藏層、輸出層、網絡訓練和網絡數據預測。輸入層對實驗數據集進行初步處理:劃分數據集,數據標準化,數據分割等以滿足LSTM神經網絡的輸入要求;隱藏層用LSTM細胞搭建循環(huán)神經網絡:遺忘門決定保留多少上一時刻的神經元狀態(tài)到當前時刻神經元狀態(tài),輸入門決定保留多少當前時刻的輸入到當前時刻的神經元狀態(tài),輸出門決定當前時刻的神經元狀態(tài)輸出的多少;輸出層提供預測結果。網絡訓練使用SGD算法更新權重,在保證精度的前提下提高了優(yōu)化效率。網絡數據預測使用迭代的方法進行數據預測。
圖3 LSTM模型框架
首先,定義原始的設備狀態(tài)時間序列數據為:
f={f1,f2,…,fn}
(9)
為了適應隱藏層輸入的特點,應用數據分割方法對數據集f進行處理。設定分割窗口長度(數據步長)為L,分割后的數據集為:
F={F0,F1,…,Fn}
(10)
Fp={fp*L+1,fp*L+2,…,fp*L+L},0≤p≤t
(11)
然后,將實驗劃分為訓練集train_x,train_y和測試集test_x,test_y兩部分。
訓練集可表示為:
Ftrain_x={fp*L+1,fp*L+2,…,fp*L+m}
(12)
Ftrain_y={fp*L+m+1,fp*L+m+2,…,fp*L+L},1 (13) 測試集可表示為: (14) (15) train_y,test_y分別為train_x,test_x的理論輸出。 接下來將訓練集train-x,train-y輸入到隱藏層訓練神經網絡。實驗設定訓練集與測試集的大小比值為9∶1,則模型隱藏層輸出C和train-y均為(0.9*t,L-m)的二維數組。選擇均方誤差作為誤差計算公式,訓練過程的損失函數可表示為: (16) 把損失函數最小化作為實驗的優(yōu)化目標,選擇不同的學習率和訓練步長,應用SGD優(yōu)化算法不斷更新權重,得到最終的預測模型。 應用訓練好的LSTM模型進行預測,將測試集test_x輸入到模型,利用測試集test_y作為理論輸出和模型的實際輸出來計算模型的預測精度。 本節(jié)使用核電數據作為實驗數據集,應用第一節(jié)的相關理論和第二節(jié)的模型構建方法展開實驗驗證,具體包括數據準備、實驗結果、對比實驗分析三部分。 實驗采用主泵繞組溫度作為實驗對象。主泵繞組溫度是反映核電設備運行狀態(tài)的重要參數,主泵繞組溫度的高低決定著核電設備實時的運行狀態(tài)。數據時間范圍:從2010年1月17日13點56分到2017年02月16日15點0分,數據量:采樣頻率為1分鐘1條數據,總數據量為3 725 343。 部分時間序列數據如圖4所示。 圖4 主泵電機繞組溫度 誤差度量方式的選擇對模型誤差的計算有很大影響。常見的誤差度量方式有:均方誤差(mean squared error,MSE),計算參數估計值與參數真值之差平方的期望值;均方根誤差(root mean squared error,RMSE),計算均方誤差的算術平方根;平均絕對誤差(mean absolute error,MAE),計算絕對誤差的平均值。對于預測模型精度的計算,通常選擇平均絕對誤差作為度量標準。MAE的計算公式可表示為: (17) 其中,ft和yt分別為設備運行狀態(tài)時間序列數據在t時刻的實際值和模型的輸出值;T為數據點個數。通過對測試集計算MAE值來評估模型的預測精度。 實驗所使用的計算機配置如下:處理器為(英特爾)Intel(R) Core(TM) i7-4720HQ CPU @ 2.60 GHz(2601 MHz);內存為8.00 GB;操作系統(tǒng)為Ubuntu 16.04;程序設計語言為Python3.5.2;集成開發(fā)環(huán)境為PyCharm Community Edition 2016.3;實驗程序中所用到的RNN,LSTM和GRU模型由Python的TensorFlow程序包實現(xiàn)。 3.4.1 獲取精度較高的模型參數 根據經驗確定模型參數。分別選用5、10、15和20作為數據步長,選用不同的學習率(η=0.001,0.002,0.005,0.01,0.02,0.05,0.1)來訓練LSTM模型。通過測試數據來檢驗模型精度,實驗結果如表1所示。 表1 不同參數下LSTM模型的MAE 由表1可看出,當數據步長為15、學習率η=0.02時,LSTM模型的預測精度最高,MAE為0.030 5。 3.4.2 LSTM模型與RNN模型和GRU模型的對比 為了驗證LSTM模型在不同類型的循環(huán)神經網絡中的優(yōu)勢,實驗中改變模型的隱藏層神經單元,構建RNN和GRU網絡模型,并采用相同的多組參數對RNN模型和GRU模型進行訓練,得到預測精度最高的RNN模型和GRU模型。實驗結果表明,RNN模型預測精度最高時MAE=0.034 5,GRU模型預測精度最高時MAE=0.032 6。 LSTM與RNN對比結果如圖5所示。 LSTM與GRU對比結果如圖6所示。 實驗結果表明,LSTM模型的預測精度明顯高于RNN模型,略高于GRU模型。 文中深入探究了設備狀態(tài)預測的主要方法,針對所獲得的核電數據的特點和核電設備運行狀態(tài)預測的需求,提出了基于LSTM神經網絡的核電設備運行狀態(tài)預測方法。對比實驗結果表明:基于LSTM模型的預測方法與RNN模型和GRU模型相比,有更高的預測精度;LSTM模型在訓練過程中模型精度對學習率的取值較為敏感,過高和過低都會影響模型的預測性能;與其他循環(huán)神經網絡(RNN和GRU)相比,LSTM的預測精度更高,但訓練過程耗時更多。 圖5 LSTM與RNN對比結果 圖6 LSTM與GRU對比結果 總的來說,驗證了LSTM模型在核電數據分析領域的適用性,擴展了深度學習的應用范疇?;诋斍暗墓ぷ?,后續(xù)將從以下方面繼續(xù)研究:擴展隱藏層的數目,檢驗多隱藏層的實驗結果;尋找有效的參數優(yōu)化方法,提高參數優(yōu)化效率和預測精度。3 實驗驗證
3.1 實驗數據集
3.2 度量指標
3.3 實驗平臺和環(huán)境
3.4 實驗結果
4 結束語