?

GRU-Transformer 洪水預報模型構建與應用

2023-11-27 06:05李文忠劉成帥胡彩虹解添寧
中國農村水利水電 2023年11期
關鍵詞:洪水注意力卷積

李文忠,劉成帥,鄔 強,胡彩虹,解添寧,田 露

(鄭州大學 黃河實驗室,河南 鄭州 450001)

0 引言

洪澇災害對人民生命財產安全、社會經濟發展等存在著巨大威脅,洪水預報作為重要的防洪減災非工程措施,其核心在于預報模型構建[1,2]。近年來,機器學習數據驅動技術成為研究熱點,其高效的數據并行處理能力可應用于洪水預報領域,并挖掘降雨-徑流過程中復雜的非線性關系[3,4]。例如,劉恒等[5]基于神經網絡及遺傳算法建立了洪水分類預報模型,模型的整體效果優于分類前;李大洋等[6]構建基于變分貝葉斯理論最新算法—隨機變分推斷SVI(Stochastic Variational Inference,SVI)與LSTM(Long Short-Term Memory,LSTM)耦合的VBLSTM,應用于黃河河源區的徑流過程研究,與傳統具有物理機制的水文模型相比預報精度更高;XU等[7]提出利用粒子群優化算法(Particle Swarm Optimization,PSO)對LSTM 超參數進行優化,用于汾河靜樂流域和洛河盧氏流域的洪水預報任務,提高了LSTM 模型進行洪水預報的精度;崔震等[8]構建了基于概念性水文模型的GR4J(modèle du Génie Ruralà4 paramètres Journalier)與LSTM 的混合模型預報陸水水庫的入庫流量,結果顯示GR4J-LSTM 洪水預報性能優于單個模型。與傳統的物理機制水文模型和淺層機器學習模型[9-11]相比,在洪水預報方面,機器學習模型表現出更優越的性能。因此,研究不同機器學習模型在水文預報領域的應用是非常必要的。

2017年提出的Transformer 模型[12]支持并行計算,訓練更快,且可以同時建模長期和短期依賴關系,并在處理時間數據序列方面顯示出比較好的效果[13,14]。然而,為更好的實現不同任務下的時間序列預測,相關領域學者對其進行了多方面的改進。例如,利用MCST-Transformer[15](Multi-channel Spatiotemporal Transformer)對交通流量的預測、XGB-Transformer(Gradient Boosting Decision Tree transformer)模型[16]被用于電力負荷的預測、Transformer 模型在時間序列預測任務中局部信息不敏感問題的解決[17]和基于Transformer 的雙編碼器模型對長江月徑流量的預測[18]。上述研究結果表明,Transformer 在各個領域的時間序列數據中具有較好的預測能力,也證明了它在水文預報領域同樣具有巨大的潛力。但由于Transformer 的編碼器和解碼器均基于自注意力機制,計算空間復雜度大,對局部信息特征的感知較弱,導致模型易受異常點影響,這是需要進一步考慮優化的問題。

為了使Transformer 模型更好的應用于洪水預報領域,本研究在Transformer 輸入部分耦合了預測效果更好的門控循環單元(GRU)層[19],并改進了Transformer模型的結構,構建了GRUTransformer 耦合模型。為探究GRU-Transformer 模型在洪水預報領域中的適用性,以故縣水庫控制流域為例進行檢驗,并與ANN和WOA-GRU模型進行對比。

1 GRU-Transformer原理介紹

1.1 GRU

門控制循環單元(Gated Recurrent Unit,GRU)模型與LSTM模型結構相似,同樣能夠解決傳統RNN 存在的梯度消失問題,與LSTM 模型相比,其計算過程更簡單、訓練參數更少,具有良好的時間序列預測性能。GRU 由更新門和重置門兩個門結構構成,其中,更新門的大小代表前一時刻信息的保留程度,以確保前一時刻的信息能夠傳送到當前時刻;重置門則控制當前時刻與過去的信息間是否結合,即決定多少過去的信息被遺忘,重置門值越小代表被遺忘的信息越多。構建多輸入單輸出任務的WOA-GRU 模型用于洪水預報,以NSE 為目標函數,采用鯨魚優化算法(WOA)對GRU模型進行參數率定[20]。

1.2 Transformer

Transformer 模型為基于注意力機制的編碼器-解碼器架構,原Transformer 模型在進行翻譯任務時,需要使用位置編碼對數據點序列位置信息進行捕捉,否則會影響翻譯結果,并利用Decoder 對編碼后的信息進行解碼和生成。而洪水時間序列數據是典型的多變量時間序列數據,通過多變量輸入對單個流量值進行滾動預測,此任務中位置編碼作用性低,且不需要Decoder 結構進行并行計算。因此,為更好的滿足洪水預報任務,對原Transformer 模型進行改進,去掉位置編碼及解碼器部分,且調整模型內部結構,增加卷積層和全局平均池化結構,使用全連接層進行結果輸出。

模型采用原Transformer 中的多頭縮放點注意力(Multi-Head scaled dot-product Attention,多頭注意力)機制;注意力機制可描述為將查詢(query,Q)和一組鍵值對(key-value,K-V)映射到輸出,其中輸出為value(V)的加權求和,權重取決于由query 和value 的相似性,將h個縮放點注意力的輸出進行特征融合做最終輸出,每一個注意力的輸出稱作一個頭。圖1 為多頭縮放點積注意力結構。

圖1 多頭縮放點積注意力結構Fig.1 Multiple head scaling point product attention structure

(1)縮放點注意力。

(2)多頭縮放點注意力。

其中,WiQ∈Rdmodel×dk,WiK∈Rdmodel×dk,WiV∈Rdmodel×dk,WO∈Rhdv×dmodel,h表示注意力頭的數量,設置dk=dmodel/h,d為向量的維度,T表示矩陣的轉置。

1.3 GRU-Transformer

在改進的Transformer 模型輸入部分耦合GRU 層對時間序列數據進行特征提取,將時間序列數據重構;GRU 層充分利用了當前的數據特征,并使用其門結構來決定是否記住或忘記以前的特征,構建如圖2所示的GRU-Transformer 模型。GRUTransformer 模型由具有一層隱藏層的GRU 層、多個編碼層和輸出層構成,編碼層包括多頭注意力層、殘差和歸一化、卷積層,卷積層為兩層一維卷積,提取數據深層特征且卷積層通過權值共享和稀疏連接來保證單層卷積中訓練參數少,提高前向傳播時的效率,并使用Dropout 層防止模型過擬合;輸出層采用全局平均池化層對向量化的數據全局平均池化,將多維的輸入一維化,之后經全連接層輸出,最后與GRU 層進行向量拼接并經全連接層做最終輸出。

圖2 GRU-Transformer結構圖Fig.2 Structure of GRU-Transformer

1.4 ANN

人工神經網絡的功能類似于人腦和神經系統,是人工智能的一種形式,它可以用數據集進行訓練,進行預測模型,并在沒有參數的情況下學習內在關系[21]。本文選用在水文預報中應用最廣泛的BP 神經網絡模型作為對照模型[22-25],圖3為具有一個隱藏層的ANN架構圖(典型的3層BP神經網絡)。

圖3 具有一個隱藏層的ANN架構(典型的3層BP神經網絡)Fig.3 ANN architecture with one hidden layer(typical three-layer feed forward artificial neural networks)

2 GRU-Transformer洪水預報模型構建

2.1 數據處理

模型所用數據包括降雨和流量數據,兩者間數值尺度、單位差異大,為了消除量綱對模型運算的干擾使模型加快收斂[26]對數據進行max-min 歸一化處理至(0,1)。將24個站點原始洪水數據資料處理為如表1 中的形式,設置不同預見期T,利用t-T時刻的降雨徑流數據預報t時刻出口斷面流量Q,P1~P24分別對應24個站點實測降雨量。

表1 處理后的數據形式Tab.1 Processed data form

2.2 模型基本參數設置

在模型訓練之前,需通過實驗設定模型超參數[27],初步發現GRU-Transformer 模型中注意力頭的維度、頭的數量、全連接層維度和編碼塊數量4個參數對訓練效果影響較大。以NSE為目標函數,采用網格搜索法[28]對超參數進行尋優,尋優范圍設置為:注意力頭維度范圍[4,512]、注意力頭數量范圍[1,256]、全連接層維度范圍[4,512]、編碼塊數量范圍[1,10]。本文同時選用ANN、WOA-GRU 模型作為對比實驗,各模型參數設置如表2所示。

表2 模型參數設置Tab.2 Model parameter setting

2.3 模型預測過程

洪水預報過程采用滑動窗口的模式實現不同預見期下徑流量滾動預報,沿時間軸滑動,到達數據集的時間結束,數據形狀為窗口。輸入變量為前期的降雨和流量特征,通過GRUTransformer 洪水預報模型模擬降雨和徑流間的非線性關系,最終輸出預報的洪水過程。圖4 為GRU-Transformer 洪水預報模型詳細示意圖,描述了模型預測過程。式(4)和(5)為模型輸入和輸出數據的格式,從輸入到輸出具體過程如下:

圖4 GRU-Transformer洪水預報模型詳細示意圖Fig.4 Detailed schematic diagram of GRU Transformer flood forecasting model

(1)數據輸入:輸入洪水數據可以表示為U=[Q,P],其中徑流數據矩陣為Q=[Q(t-T-i),Q(t-T-i+1),…,Q(t-T)]T,降雨數據矩陣為P=[P1,P2,…,P24],Pj=[pj(t-T-i),pj(t-T-i+1),…,pj(t-T)]T,(j=1,2,…,24)(T為預見期,i為時間步長,設定值為1。),輸入形狀為[(None,1,25)]。

(2)GRU 層:嵌入了其他更多維度的數據特征O,經隱藏層得到向量UG=[QG,PG,OG];輸出形狀為[(None,1,50)]。

(3)多頭注意力層:多頭注意力層將輸入數據映射到多個不同的子空間;輸出形狀為[(None,1,50)]。

(4)殘差&歸一化:將原輸入與上一步輸出相加,防止梯度爆炸,輸出形狀為[(None,1,50)]。

(5)卷積層及Dropout 層:使用兩層一維卷積層代替全連接層卷積計算,進行非線性映射,加入Dropout 防止過擬合;輸出形狀為[(None,1,50)]。

(6)全局平均池化及全連接層:通過全局平均池化進行數據降維,并對整個網絡在結構上做正則化防止過擬合,經全連接層輸出;輸出形狀為[(None,1,16)]。

(7)Concatenate 特征融合及全連接層:將GRU 層輸出與上一步的輸出進行向量拼接,經全連接層輸出最終結果;輸出形狀為[(None,1)]。

2.4 評價指標

對模型預測結果的評價選取NSE、RMSE、MAE、R2、MAPE作為評價指標,其數學表達式如下:

式中:Q和Qi分別表示觀測流量和模擬流量;和i表示觀測和模擬流量平均值,i表示第i個時刻,n表示時段數;NSE取值范圍為-∞(未擬合)到1(完全擬合);RMSE取值范圍為0(完全擬合)到+∞(未擬合),MAE是絕對誤差的平均值,描述了觀測數據和模擬結果之間的差異,R2的取值范圍為0(未擬合)到1(完全擬合),MAPE的取值范圍為0(完全擬合)到+∞(未擬合)[29]。

3 GRU-Transformer 洪水預報模型實例檢驗及比較研究

3.1 研究區及數據選取

選取故縣水庫控制流域作為研究案例,橫跨陜西省和河南省,地理位置介于E109°7′~E111°4′,N33°7′~E34°4′,流域面積4 759 km2,如圖5所示。流域為暖溫帶山地季風氣候,年降雨量600~900 mm,降雨量年際變化大,洪水頻發。多年平均徑流量為12.81 億m3,最大和最小年徑流量分別為31.5 億m3、5.2 億m3,實測洪峰流量最大值為4 130 m3/s(1954年8月)。本文選取故縣水庫上游24 個雨量及水文站點1990-2016年間共49 場洪水進行洪水過程模擬預報,時間間隔為1 h,其中1990-2011年的39場洪水為訓練集,2011-2016年的10場洪水為驗證集。

圖5 研究區位置圖Fig.5 Location map of study area

3.2 整體預報效果評價

圖6為GRU-Transformer、WOA-GRU、ANN模型等3種模型在預見期1~6 h 下的降雨-徑流過程線圖,可以看出,預報流量過程線和實測流量過程線基本吻合。表3 為在預見期T為1~6 h 下對3 種模型預報效果評價指標統計,通過對比結果可見,在T=1 h 時GRU-Transformer 模型預報性能最佳,此時率定期和驗證期的NSE、RMSE、MAE、R2、MAPE分別為0.96、33.27 m3/s、21.73 m3/s、0.96、13.91% 和0.95、12.07 m3/s、6.36 m3/s、0.93、10.05%,預測結果已十分接近實際;在T=6 h 時,GRU-Transformer 模型預報精度有所下降,此時率定期和驗證期NSE、RMSE、MAE、R2、MAPE分別為0.87、83.75 m3/s、30.15 m3/s、0.88、24.85%和0.86、35.91 m3/s、20.7 m3/s、0.84、20.11%;在相同預見期下,相對于WOA-GRU、ANN 模型,GRU-Transformer 模型的各項預報精度評價指標更優,預報效果最好,說明GRU-Transformer 模型在處理降雨和徑流關系上具有更好的非線性模擬能力。

表3 模型預報效果評價指標統計表Tab.3 Statistics of model prediction effect evaluation indicators

圖6 預見期1~6 h下3種模型率定期和驗證期洪水過程預報結果對比Fig.6 Comparison of flood process prediction results of three models at regular and verification periods during the forecast period of 1~6 h

圖7 為3 種模型分別在預見期T=1 h、T=3 h、T=6 h 下率定期、驗證期的實測和預報流量散點圖??梢奊RU-Transformer耦合模型和單個模型WOA-GRU、ANN 模型相比,其散點圖更接近1∶1線,在模型驗證期、T=1 h、3 h和6 h時,GRU-Transformer 模型R2值分別為0.93、0.91 和0.84,WOA-GRU 模型的R2值為0.91、0.88 和0.80,ANN 模型的R2值為0.83、0.79 和0.70,GRUTransformer 模型的R2值在相同預見期下優于其他模型,表明該模型可以更好地反映模擬流量和實測流量之間的關系。以上結果顯示,GRU-Transformer 模型徑流預報結果優于ANN 和WOA-GRU模型。但結合表3來看,3種模型的預報精度會隨著預見期的增加出現下降,這是因為預見期增長導致訓練集中輸入與輸出的時間間隔增大,數據的關聯性下降,從而導致機器學習模型預報精度下降。

圖7 不同預見期下3種模型在率定期和驗證期實測、模擬流量散點圖Fig.7 Scatter chart of measured and simulated flows of the three models in the periodic and validation periods

3.3 場次洪水預報效果

為了更深一步了解模型對洪水過程的預報效果,進一步分析了驗證期中2 場典型洪水事件在T=1,3,6 h 下的降雨徑流過程線對比情況,2 場典型洪水事件分別為20150908 場次洪水(洪水1)和20160711場次洪水(洪水2)。從圖8可以看出,ANN在較小流量洪水過程模擬中及洪峰前多產生波動,WOA-GRU模型在模擬洪水過程開始階段表現出較小誤差的波動,可能是由于WOA-GRU 模型中記憶單元的存在,較多保存了前一場洪水的數據特征導致的;而GRU-Transformer 模型預報流量最接近實測流量,能夠較好的預報洪峰,且在洪水退水階段表現出良好的預報效果??梢奊RU-Transformer 模型整體預報效果最為穩定,具有較好的洪水預報性能。同時,隨著預見期的增加模型的預報效果隨預見期的增加降低,模型出現低估洪峰的現象,并表現出滯后性,且隨預見期滯后現象更明顯,這是因為隨預見期增長,輸入數據和待預報的流量數據之間相關性降低,準確學習挖掘洪水數據特征較為困難導致的。

圖8 實測流量及ANN、WOA-GRU和GRU-Transformer模型預測結果對比(洪水事件1、2)Fig.8 Comparison of measured discharge and prediction results of ANN,WOA-GRU and GRU-Transformer models(flood events 1 and 2)

3.4 GRU-Transformer模型魯棒性評估

如圖9所示,在相同預見期下,GRU-Transformer 比WOAGRU 和ANN 模型的NSE、RMSE、MAE更優,說明GRU-Transformer 對降雨徑流模擬性能最好。3 種模型的預報效果均與預見期密切相關,并且隨預見期增大而變差。但GRU-Transformer 模擬表現出隨著預見期增加預報精度呈現緩慢下降趨勢,而不是急速下降,這說明GRU-Transformer 模型魯棒性最好。GRU-Transformer 模型的構建是機器學習在洪水預報領域新的嘗試,可以有效的進行洪水預報和模擬,但需要在更多的流域進行驗證以及進一步研究其在水文預報的應用。未來,進一步調整模型結構降低模型訓練耗時,結合更多的方法以提高預報精度和穩定性。

4 結論

提出了構建GRU-Transformer 模型應用于故縣水庫控制流域洪水過程預報,建立預見期1~6 h 下預報模型,并與WOAGRU、ANN模型進行模擬效果的對比,得到以下結論。

(1)GRU-Transformer 模型在洪水預報種具有較好的適用性,在預見期1~6 h 洪水預報中,GRU-Transformer 預報精度較高,校準期和驗證期的NSE均大于0.85,且預報精度在相同預見期下優于WOA-GRU 和ANN模型,但預報精度會隨著預見期增大而出現一定程度的下降。

(2)GRU-Transformer 模型較穩定地更好預測洪峰,且在較小流量洪水過程預報時及洪水退水階段模擬效果表現出優異效果,但隨預見期增加出現低估洪峰現象。

(3)與GRU-Transformer 模型比WOA-GRU 和ANN 模型具有更好的魯棒性,隨洪水預見期增大,其預報精度呈緩慢下降,降低的最慢。

猜你喜歡
洪水注意力卷積
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
洪水時遇到電線低垂或折斷該怎么辦
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
又見洪水(外二首)
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
洪水來了
論設計洪水計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合