唐 鳴,雷曉輝,龍 巖,譚喬鳳,張 召
(1.中國水利水電科學研究院,北京 100038; 2.河北工程大學水電學院,河北 邯鄲 056038;3.河海大學水利水電學院,南京 210098)
水資源調(diào)度是緩解水資源分布不均、水資源短缺的有效手段。南水北調(diào)中線為我國緩解河北地區(qū)水資源短缺,協(xié)調(diào)南北水資源分布的典型長距離調(diào)水工程,并以閘前常水位為渠道運行的控制指標[1]。多年來,學者們試圖用水力學的方法模擬渠道水流,以期用數(shù)值方法制定閘門控制策略以及水資源實時調(diào)度方案。然而實際模擬需要精確的地形資料、準確的實測數(shù)據(jù),在參數(shù)率定中,受模型參數(shù)及邊界條件的影響使得精度難以達到水位控制要求,因而存在諸多局限[2-4]。
隨著人工智能的發(fā)展,機器學習方法發(fā)展迅速。學者們試圖用數(shù)據(jù)驅(qū)動的方式規(guī)避傳統(tǒng)水力學模型多方面建模要求及復雜的參數(shù)校正過程,而直接探索數(shù)據(jù)之間的潛在規(guī)律。由于人工神經(jīng)網(wǎng)絡(Artificial Neural Networks,ANN)具有強大的非線性能力,能無限逼近任意函數(shù)使得其在水位預測中應用中最為廣泛[5-7]。然而ANN結構簡單不能保存前時信息而無法學習時間序列數(shù)據(jù)。遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Networks,RNN)因隱含層神經(jīng)元相互連接構成循環(huán)結構,使其能保存先前時刻的信息并利用先前信息預測當前信息,也被用于水位預測[8]。由于RNN在梯度傳遞中的缺陷,Hochreiter和Schmidhuber[9]提出了RNN的變體長短時記憶網(wǎng)絡。LSTM因其強大的時間序列處理能力,已被用于語義識別[10]、圖像識別、疾病預測[11]、股票收益預測[12]等多方面任務。近幾年來,LSTM逐步運用水力學及水文預報[13-15],然而在諸多水力控制因素下的長距離調(diào)水工程中應用較少。
建立了一個三層LSTM長距離調(diào)水工程閘前水位預測模型,應用于南水北調(diào)中線京石段12個閘的閘前水位預測,并與DNN模型預測結果進行了對比,探索了LSTM模型參數(shù)對預測精度及計算效率的影響。
研究區(qū)為南水北調(diào)中線京石段,如圖1。京石段(樁號970+379~1197+669)為古運河河節(jié)制閘-北拒馬節(jié)制閘渠段,位于南水北調(diào)中線干渠末端段,主要向北京、天津和河北三省市供水。沿線共14座節(jié)制閘,13個分水口,12座退水閘,以及倒虹吸、渡槽、暗渠等眾多水力建筑物,渠道運行方式為閘前常水位。
圖1 京石段示意圖Fig.1 Schematic diagram of jingshi section
本研究采用京石段14座節(jié)制閘閘前水位、閘后水位、過閘流量及閘門開度監(jiān)測數(shù)據(jù)及節(jié)制閘間渠段的分水口、退水閘的流量數(shù)據(jù)。數(shù)據(jù)長度為3-10月,數(shù)據(jù)時間間隔為2 h,數(shù)據(jù)集按19∶1劃分訓練集和測試集。部分閘閘前閘后水位如圖2。
圖2 部分節(jié)制閘閘前閘后水位Fig.2 Water level immediately upstream the gate and water level immediately downstream the gate of partial gates
LSTM 是一種特殊的RNN 變體,具有與RNN相似的循環(huán)結構,如圖3。RNN因在普通多層BP神經(jīng)網(wǎng)絡基礎上,增加了隱含層各單元間的橫向聯(lián)系,通過一個隱藏層狀態(tài),可以將上一個時間序列的神經(jīng)單元的值傳遞至當前的神經(jīng)單元,從而使神經(jīng)網(wǎng)絡具備了“記憶功能”。然而RNN在訓練中很容易發(fā)生梯度爆炸和梯度消失,導致訓練時梯度不能在較長序列中一直傳遞下去,從而使RNN無法捕捉到長周期的影響[16]。Hochreiter and Schmidhuber (1997)提出了LSTM解決了這一問題,其“記憶單元”的門控結構使用兩個隱藏層狀態(tài)控制信息的取舍、輸入、更新、輸出,因此具備長時間的記憶功能。
圖3 RNN及LSTM單元結構Fig.3 Gated structures of RNN and LSTM
LSTM的門控結構如圖3(b),原理如下:
(1)遺忘門(forget gate)計算:輸入上一序列的隱藏狀態(tài)ht-1和本序列數(shù)據(jù)xt,通過sigmoid激活函數(shù)得到遺忘門的輸出ft,決定上一細胞狀態(tài)Ct-1的保留概率。
ft=σ(Wfht-1+Ufxt+bf)
(1)
it=σ(Wiht-1+Uixt+bi)
(2)
(3)
(4)
(3)輸出門(output gate)計算:首先,ht-1和xt經(jīng)過sigmoid層確定細胞狀態(tài)的輸出部分。其次,細胞狀態(tài)經(jīng)過tanh進行處理并和sigmoid門的輸出相乘,輸出指定部分ht。
ot=σ(Woht-1+Uoxt+bo)
(5)
ht=ot⊙tanh(Ct)
(6)
式中:⊙為矩陣元素積;Wf,Wi,Wo分別表示從遺忘、輸入、輸出門到輸入的權值矩陣;Uf、Ui、Uo分別表示從遺忘、輸入和輸出門到隱藏層的權重矩陣;bf,bi,bo分別表示遺忘、輸入和輸出門的偏置向量。
文中首先進行實驗一來確定最優(yōu)的人臉人耳特征融合權重系數(shù)α,β。將權重系數(shù)α從0.1開始以0.1為步長逐步調(diào)整至0.9,對應的權重系數(shù)β也隨之調(diào)整,β=1-α,統(tǒng)計每次系數(shù)對應的識別率,統(tǒng)計結果如圖3所示。
考慮模型參數(shù)對精度和計算效率的影響,將隱藏層單元數(shù)目、最大迭代次數(shù)、學習率作為參數(shù)可變輸入項。并以loss函數(shù)在訓練期作為模型收斂標準,其中y為實測值,s為預測值,公式如下:
(7)
圖4 模型各數(shù)據(jù)項關系示意圖Fig.4 Schematic diagram of the relationship between each data item
為了提升模型的收斂速度及保持數(shù)據(jù)一致性,將所有變量在輸入時都進行了歸一化處理,在輸出時進行反歸一化。
(8)
本研究采用兩種方法來評判預測值和實測值之間的準確性。均方根誤差RMSE對一組測量中的特大或特小誤差反應非常敏感,能夠很好地反映出測量的精密度和整體偏差大小。納什系數(shù)能很好地反映預測值和實測值之間的吻合程度,反映預測值序列和實測值序列的擬合關系。
(9)
(10)
在訓練階段,用訓練集數(shù)據(jù)訓練模型,并用驗證集數(shù)據(jù)預測滹沱河節(jié)制閘-墳莊河節(jié)制閘的閘前水位。訓練階段所用模型超參為128個隱藏層單元數(shù)目,最大迭代次數(shù)1 000,學習率10-3。驗證集對應的預測結果如圖5。
結果顯示,LSTM及DNN都能夠預測出滹沱河節(jié)制閘-墳莊河節(jié)制閘的閘前水位隨時間的波動趨勢,但是DNN在某些閘誤差較大不能預測出局部水位波動趨勢,而LSTM能夠很好地擬合所有節(jié)制閘的閘前水位。表1評價指標直觀顯示,LSTM模型在所有閘預測結果RMSE最高僅為0.029 m,NSE最
圖5 LSTM與DNN在京石段12個節(jié)制閘預測結果對比Fig.5 Comparison of prediction between LSTM and DNN in 12 gates of jingshi section
表1 兩模型預測精度對比Tab.1 Prediction accuracy of two models
低可達0.953;DNN模型RMSE最高可達0.1,NSE最低達0.35,LSTM整體預測效果比DNN更好。對于兩模型在唐河節(jié)制閘及放水河節(jié)制閘高精度的閘前水位預測結果,分析為所用模型輸入數(shù)據(jù)的標準差較小所致;同樣對于墳莊河精度相對較低的結果,分析為所用模型輸入數(shù)據(jù)的標準差較大導致。
由于LSTM預測效果比DNN更好,在水位預測進行調(diào)度決策時首選LSTM模型。本節(jié)選擇學習率、最大迭代次數(shù)以及LSTM隱藏單元數(shù)目作為指標探索模型超參對LSTM預測精度及計算效率的影響,為預測精度以及實際工程應用時考慮的計算效率做參考。以沙河節(jié)制閘為例,對8組模型參數(shù)進行精度及計算效率的測試。為使結果對比明顯,本節(jié)選用1、2、3 cm誤差結果百分比作為精度評判指標,如表2。1和2組,3和4組,5和6組的結果對比可顯示出對計算效率影響最大的是最大迭代次數(shù)。1、3、5組及2、4、6組的結果顯示隱藏層單元數(shù)目對計算效率幾乎沒有影響,而對精度有較大影響。對比第4、7、8的結果可知,過高的學習率會導致過擬合現(xiàn)象,過低的學習率會使精度不足。在模型構建時應首先考慮最大迭代次數(shù)對計算效率的影響,其次綜合考慮隱藏單元數(shù)目及學習率對精度的影響。
本文基于長短時記憶網(wǎng)絡建立了南水北調(diào)中線閘前水位預測模型,并運用于南水北調(diào)京石段閘前水位預測。針對模型性能,將所提模型預測結果與DNN模型預測結果進行了對比分析;選取學習率、隱藏層單元數(shù)、最大迭代次數(shù)3個超參作為指標,對比在不同組指標下的預測結果,探索了LSTM模型超參對模型精度及計算效率的影響。得到主要結論如下:
(1)LSTM模型能高精度地預測京石段閘前水位,預測精度高于DNN,實現(xiàn)了單點動態(tài)實時預測。提出的水位預測模型可作為南水北調(diào)中線或其他多閘聯(lián)控河渠的水位模擬及預測替代模型,并可作為工程運行風險預警方法。
(2)所提模型運用于實際工程水位預測時,應根據(jù)工程對結果精度和計算效率的需求合適選擇模型學習率、隱藏層單元數(shù)、最大迭代次數(shù),保證模型精度和計算效率達到最優(yōu)。
表2 不同模型超參對預測精度及計算效率的影響Tab.2 Accuracy and calculation efficiency of different hyper-parameters
本文提出了一種新的長距離調(diào)水工程閘前水位的預測方法,得到了很好的預測效果。然而,本研究依然存在不足,比如在對精度和計算效率探索上選取的指標可以更全面;針對不同的渠道運行工況,對模型結構和性能的研究可更加深入。
□