汪松松,徐蓬博,胡書源,王凱
(浙江水利水電學院信息工程學院,浙江杭州310018)
山洪災害防治事關人民群眾生命安全、財產安全和民生福祉。2020年全國山洪災害致死157人[1],主要發生在小流域,以山地丘陵眾多、降雨量豐富的浙江省小流域分布廣泛,對山洪預測預報有著迫切需求。浙江省共劃分為1200多條重點小流域,梅雨和臺風引起的溪河洪水災害頻繁,小流域山洪災害成災時間短、突發性強、危害性大、易發頻發等特征突出,對沿河村落居民生命財產安全構成較大的威脅。
傳統的水文水動力預測模型主要以雨量測定為主,由于山洪致災因素多、時空因素變化快、成災速度快,導致山洪災害預測預報及時度不高、可靠度低、覆蓋面小,在山地丘陵小流域地區預測效果不明顯[2-3]。隨著物聯網、大數據、人工智能等[4-5]智慧信息技術的快速發展與廣泛應用,在智慧水利建設的大背景下,為山洪災害的實時監測與精準預測提供了新的解決思路。
本文以浙江苕溪流域為研究區域,對山洪水位預測進行研究。基于神經網絡具有輸入多維數據的優勢,根據水位和降水歷史與實時信息,從tutiempo 網站獲取濕度以及氣溫的歷史信息,作為神經網絡模型的輸入。設計基于時間序列的RNN 和LSTM 對比預測模型,使用Python3.7 和TensorFlow2.0 框架開發,在Jupyter Notebook平臺編寫RNN和LSTM代碼。通過采用不同的模型參數集,對兩種模型進行訓練。最后對RNN 神經網絡以及LSTM 神經網絡的擬合情況進行對比,并用于預測連續48 小時的水位情況,當模型預測位線超過預警水位線時可以發布預警信息,以降低災害損失。
在數據輸入方面,Khan等人[6]提出了一種采用模糊神經網絡來預測城市河流峰值流量的方法,使用模糊數來說明輸出和模型參數的不確定性。Supattra 等人[7]提出了一種在自適應機器學習框架中融合氣象、水文、地理空間和眾包大數據的洪水預報系統,能夠有效預測在特定區域和時間范圍內發生的洪水事件。Nitin 等人[8]提出了一種基于傳感網絡的洪水預測模型,在印度洪災預測中顯示出了其有效性。Samikwa 等人[9]提出了一種基于邊緣計算的短期洪水預測系統,使用IoT 和人工神經網絡(ANN)對實時降雨和水位數據進行長時短期記憶訓練,但總體上僅適用于短實時洪水預報。
在基于ANN 預測方面,Snieder 等人[10]調整了ANN 的四種輸入變量選擇方法,產生了性能最強的ANN。Haibo Chu 等人[11]提出了一種基于ANN的洪水淹沒仿真建模框架,適合在快速響應中使用。Thabo Michael等人[12]應用?-支持向量機(SVM)和ANN 來模擬和預測三個不同流域的水流,在潮濕和半潮濕的系統中均表現良好。Lu Chen等人[13]提出了一種基于回溯搜索算法的短期洪水預報模型,但可靠度仍有較大提升空間。
在基于改進的深度學習模型方面,Le等人[14]提出了一種改進的長期短期記憶神經網絡LSTM 洪水預報模型,將日流量和降雨量用作輸入數據,適用于越南的大河流域洪水預報。IFeng Kao 等人[15]提出了基于LSTM 的編解碼器模型,用于多步提前洪水預報。Juanhui Ren 等人[16]提出了KNN 混合洪水預報模型,在大洪水中的仿真性能良好。Moyang Liu 等人[17]利用LSTM 和遞歸神經網絡,證明了LSTM-KNN 模型在研究區域中的有效性。總體上都僅適應特定的環境,具有一定局限性。
RNN 是典型的時間序列前饋神經網絡,包括各時間點狀態、通道與通道之間時間上的聯系。神經元的輸入信息,不僅包括前一神經細胞層的輸出,還包括它自身在先前通道的狀態。循環神經網絡內核結構如圖1所示,xt是第t個時間序列輸入數據,循環核ht表示存儲器,ht的內容由xt與權重矩陣whx進行線性變換,并加上一個循環核所傳送過來的內容即whh與ht-1進行線性變換的結果,再過激活函數tanh 轉化為ht的值。yt表示存儲器ht與權重矩陣why進行線性變換,再過激活函數的輸出值。神經網絡元節點ht、yt的計算公式如下:


圖1 RNN內核結構
循環神經網絡按照時間步展開,即把循環核按照時間軸方向展開,存儲器ht周圍的權重矩陣在whx、why在前向傳播過程中基本不變,只有當進行反向傳播時才會更新參數矩陣。訓練完成后使用效果最好的權重矩陣whx、why、whh執行前向傳播,并且輸出預測結果。
RNN最大的特點就是存在循環核,循環核可以存儲狀態信息,正是因為每個時間步都存在狀態信息,因此可以時間按照時間序列進行預測。小流域山洪水位預測需要展開的循環時間步較長,可能會造成梯度消失的問題。
LSTM 是一種特殊的RNN 神經網絡,LSTM 比RNN 增加了對信息選擇性存儲的能力,LSTM擁有門控裝置,可以對信息進行挑選,較好地解決長時依賴,從而解決梯度消失的問題。LSTM 結構如圖2 所示。it,ft還和ot分別是輸入門、忘記門和輸出門;Wi、Wf和WO分別表示將輸入、忘記和輸出門與輸入連接的權重;Ui、Uf和Uo分別表示從輸入、忘記和輸出門到隱藏狀態的權重;bi、bf和bo分別是輸入、忘記和輸出門偏置向量;Ct是記憶單元輸入,~Ct是當前的記憶單元狀態,ht是指當前的隱藏狀態;?是元素乘法,tanh 是雙曲正切函數。這種結構設計是以細胞狀態作為記憶單元,通過每個門的不同操作來記住有用的信息。輸入門濾波器是在當前輸入和歷史信息的輔助下添加到記憶單元中的信息,而忘記門丟棄某些先前的信息,允許單元格清除它所包含的值,輸出門選擇性地輸出信息,主要計算公式為:


圖2 LSTM的基本結構
GRU和LSTM同為RNN的變體,LSTM擁有兩個門限,GRU對LSTM 進行簡化,只擁有一個門限,但兩者非常相近,國內外眾多學者采用LSTM 進行研究,但對于LSTM 認可度較高。LSTM神經網絡結構是基于存儲器結構的遞歸記憶型神經網絡中的一種,它能將當前節點的隱藏狀態記錄下來,LSTM擁有獨特的存儲器單元機制,LSTM通過它的“門控裝置”,使得梯度消失和爆炸問題得到較好解決。LSTM 相比于RNN 神經網絡增加了門控裝置,對信息進行挑選,并且使用累加的形式計算狀態,這種累加形式使導數也成累加形式存在,從而避免了傳統RNN 神經網絡因為鏈式求導法則而直接導致的梯度被連續乘積,而導致的梯度消失的問題,即避免了RNN神經網絡因為許多小于1 的項相乘導致梯度無限接近于0 造成梯度消失的問題。當輸入的水位、雨量、空氣濕度、溫度數據量較少時,RNN神經網絡可能并不會因為梯度消失問題而出現很大的劣勢,當數據量較大,并且對準確度要求更高時,LSTM神經網絡會因為避免梯度消失問題的發生從而產生出一定的優勢。
通過苕溪小流域的橋東村水位站歷史水位、雨量、空氣濕度、溫度數據,預測雨量和水位。實驗設計通過對2020年6月1日—2021年4月1日總共7296小時的數據進行模型訓練,其中5400小時作為訓練集,1896小時作為測試集。用連續輸入240小時的數據來預測第241小時的水位,以達到預測目的。
試驗環境為Window10,64位操作系統,處理器為AMD Ry‐zen 7 4800U with Radeon Graphics,內存16GB。Python 為3.7 版本,使用Jupyter Notebook 平臺作為代碼編寫平臺,RNN、LSTM神經網絡均使用tensorflow2.0 框架進行編寫,整個輸入輸出模型如圖3所示。

圖3 時間序列預測算法模型
構建100 層的RNN 與LSTM 深度學習神經網絡,在學習率為0.001,訓練次數為400 次的情況下均取得較好的成果,各參數誤差見表1、表2 所示。為了更加直觀地對比兩種算法在最優情況下的模型,繪制的效果圖如圖4所示。RNN神經網絡在學習率較大,且步長較短的情況下,擬合誤差較高;在學習率為0.001,步長為400 時,在訓練集以及測試集上誤差均較小。LSTM 在長時間的水位預測上效果均較好,在學習率為0.001,步長為400時擬合效果最好,模型最佳??梢钥闯?,LSTM神經網絡對于真實的水位更加接近,說明LSTM 神經網絡在苕溪流域的橋東村水位站水位預測更加準確。

表1 RNN神經網絡水位預測模型參數及誤差對比表

表2 LSTM神經網絡水位預測模型參數及誤差對比表

圖4 深度學習神經網絡預測模型對比圖
根據試驗模型對流域山洪水位預測。以浙江雨水情實時網站獲取2021 年4 月1日—4月12日的歷史水位信息,并從中央氣象臺獲取4 月13 日當地實時的降水預測信息以及空氣濕度和溫度的實時預測信息。使用基于深度學習的LSTM小流域山洪水位模型預測4月13日的水位,預測結果如圖5所示。根據LSTM 模型預測的水位,當預測過高時有關部門可以向群眾發布洪水預警信息,從而及時地疏散群眾,保障生命財產安全。

圖5 小流域山洪水位預測圖
從該小流域山洪水位預測試驗得知,基于深度學習的小流域山洪水位深度學習預測具有一定的可行性?;谏疃葘W習的小流域山洪水位預測RNN 與LSTM 算法模型的實時性與準確性效果較好,在最優參數的情況下,LSTM模型誤差更低。該模型對小流域山洪災害的預測預警具有一定的參考意義。