劉 偉 王云雷 宋家俊
(西藏大學(xué)工學(xué)院, 西藏 拉薩 850000)
伊犁河谷被譽(yù)為新疆的“塞外江南”,但同時(shí)也是新疆地區(qū)山洪的易發(fā)區(qū)、高發(fā)區(qū)和重災(zāi)區(qū)[1]。由山洪及其引發(fā)的滑坡、泥石流等次生地質(zhì)災(zāi)害,對(duì)當(dāng)?shù)厝嗣竦纳?cái)產(chǎn)安全、農(nóng)林牧業(yè)的生產(chǎn)、交通運(yùn)輸和基礎(chǔ)設(shè)施都造成了嚴(yán)重影響和極大損失。伊寧縣是伊犁河谷的經(jīng)濟(jì)、政治、文化中心,預(yù)測(cè)該地區(qū)山洪暴發(fā)的主要影響因素降水量值,對(duì)于預(yù)防該地區(qū)山洪以及由山洪引發(fā)的滑坡、泥石流等次生災(zāi)害發(fā)生具有重要意義。
近年來(lái),新疆的總體氣候特征由暖干向暖濕過渡,降雨日數(shù)及強(qiáng)度呈現(xiàn)增加的趨勢(shì),直接導(dǎo)致洪災(zāi)發(fā)生頻率顯著增加[2-3]?,F(xiàn)有針對(duì)伊犁河谷地區(qū)山洪影響因素的研究已較為全面,都有相關(guān)的研究論證。例如,從氣候背景、天氣診斷分析[4],得出冬春季溫度回升是山洪發(fā)生的主要?dú)庀笠蛩刂?;從地形地貌特征研究出發(fā)[5],可知山麓、山前平原和河谷地帶洪水較為易發(fā);通過分析歷年降水量數(shù)據(jù),確定臨界致災(zāi)雨量指標(biāo),對(duì)洪災(zāi)易發(fā)區(qū)進(jìn)行等級(jí)劃分[6]。
本文基于深度學(xué)習(xí),搭建不同的神經(jīng)網(wǎng)絡(luò)模型,即反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BP)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)、門循環(huán)單元網(wǎng)絡(luò)(Gate Recurrent Unit,GRU),然后通過比較分析不同的神經(jīng)網(wǎng)絡(luò)對(duì)降水量值模擬的性能,選擇最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型,從而預(yù)測(cè)山洪產(chǎn)生的主要影響因子[7]即降水量的值,為預(yù)測(cè)伊寧地區(qū)山洪災(zāi)害的發(fā)生提供有力參考。
采用數(shù)據(jù)為NOAA提供的2015年至2022年5月19日伊寧縣站點(diǎn)的氣象監(jiān)測(cè)數(shù)據(jù),包括溫度、露點(diǎn)溫度、海平面氣壓、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、陣風(fēng)、最高溫、最低溫、降水量等氣象要素。所用數(shù)據(jù)實(shí)驗(yàn)前都將進(jìn)行缺失值和歸一化等預(yù)處理,保證實(shí)驗(yàn)結(jié)果的可靠性。
神經(jīng)網(wǎng)絡(luò)通過模擬人腦機(jī)理,使輸入樣本數(shù)據(jù)在通過神經(jīng)網(wǎng)絡(luò)模型計(jì)算后獲得不同的權(quán)重參數(shù),最后輸出數(shù)據(jù)進(jìn)行推理預(yù)測(cè)。本文將2015—2021年伊寧縣7年的氣象數(shù)據(jù)作為訓(xùn)練集,將溫度、露點(diǎn)溫度、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、最高溫、最低溫8個(gè)影響因子輸入BP、RNN、LSTM、GRU 4種不同的神經(jīng)網(wǎng)絡(luò)模型,使損失函數(shù)趨近于0,從而得到4種不同的預(yù)測(cè)降水量值的網(wǎng)絡(luò)模型。再以截至2022年5月19日的氣象數(shù)據(jù)作為測(cè)試集,將降水量值的8個(gè)影響因子放入模型預(yù)測(cè)降水量,以均方誤差作為檢驗(yàn)?zāi)P托阅艿臉?biāo)準(zhǔn),均方誤差越小,模型性能越好,從而得到伊寧地區(qū)降水量預(yù)測(cè)的最佳神經(jīng)網(wǎng)絡(luò)模型。
1.2.1 BP算法模型
BP神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)過程中包含信息前向傳播和誤差反向傳播兩個(gè)階段。在信息前向傳播階段,從輸入層開始,輸入元素經(jīng)隱藏層逐層傳輸?shù)捷敵鰧印H绻敵鰧拥膶?shí)際輸出結(jié)果與所期望的輸出結(jié)果不一致,網(wǎng)絡(luò)將進(jìn)行誤差反向傳播。誤差從輸出層傳輸?shù)降谝粋€(gè)隱藏層,并分配給每一層的所有單元。誤差信息是修正各單位權(quán)重和偏置的依據(jù)。信息前向傳播和誤差反向傳播階段的權(quán)重調(diào)整周期一直持續(xù)到收斂為止。在權(quán)重和偏置不斷調(diào)整的過程中,網(wǎng)絡(luò)一直處于學(xué)習(xí)的過程中。這個(gè)過程循環(huán)進(jìn)行,直到網(wǎng)絡(luò)的輸出誤差達(dá)到預(yù)期要求的計(jì)算精度,或者進(jìn)行到學(xué)習(xí)次數(shù)達(dá)到預(yù)設(shè)值為止[8-9]。
前向傳播階段是典型的3層BP神經(jīng)網(wǎng)絡(luò),輸入信息從第一個(gè)隱藏層開始,經(jīng)過第二個(gè)隱藏層,傳輸?shù)捷敵鰧?,在輸出端產(chǎn)生輸出信息。如果輸出信息滿足要求,則終止計(jì)算。否則,網(wǎng)絡(luò)將被轉(zhuǎn)移到誤差的反向傳播階段。其中,輸入樣本X=[x1,x2,…,xn],權(quán)重W=[w1,w2,…,wn],偏置B=[b1,b2,…,bn],輸出Y=[y1,y2,…,yn]。3層BP網(wǎng)絡(luò)結(jié)構(gòu)見圖1。
圖1 3層BP網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 RNN算法模型
RNN神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)算法的重要組成部分。與全連接神經(jīng)網(wǎng)絡(luò)相比,最大的不同在于隱藏層單元之間不是相互獨(dú)立的。隱藏層神經(jīng)元不僅相互關(guān)聯(lián),而且當(dāng)前隱藏層細(xì)胞的狀態(tài)也受到歷史輸入數(shù)據(jù)的影響。這個(gè)特性使得提取時(shí)序數(shù)據(jù)結(jié)構(gòu)的時(shí)序關(guān)系非常有效。RNN是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。在不同的時(shí)間步,RNN循環(huán)權(quán)重并跨時(shí)間步連接[10]。
由圖2可知,當(dāng)用RNN計(jì)算當(dāng)前狀態(tài)時(shí),它不僅取決于當(dāng)前的輸入,而且取決于前一狀態(tài)的輸出,即當(dāng)前輸入xt和前一狀態(tài)輸出st-1共同決定當(dāng)前狀態(tài)st,即
圖2 RNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
ot=g(Vst)
st=f(Uxt+WSt-1)
式中:V為隱藏層到輸出層之間的權(quán)重矩陣;U為輸入層到隱藏層之間的權(quán)重矩陣;f、g均為激活函數(shù);W為隱藏層和隱藏層之間不同時(shí)間的權(quán)重矩陣。循環(huán)迭代代入,便可得到
ot=g(Vst)=g[Vf(Uxt+WSt-1)]
1.2.3 LSTM算法模型
LSTM是RNN循環(huán)神經(jīng)網(wǎng)絡(luò)的一種優(yōu)化形式,因?yàn)闃?biāo)準(zhǔn)的RNN不會(huì)對(duì)以往的信息進(jìn)行選擇,而是機(jī)械地疊加以往的信息,導(dǎo)致RNN存在著梯度消失和梯度爆炸的問題,LSTM可有效解決這兩個(gè)問題。相較于RNN,LSTM引入了輸入門、遺忘門、輸出門3個(gè)結(jié)構(gòu)[11]。LSTM結(jié)構(gòu)見圖3。其中,f、g為激活函數(shù),Z為輸入樣本。Zi對(duì)輸入門進(jìn)行表達(dá),在這個(gè)部分對(duì)輸入進(jìn)行選擇性的記憶,重點(diǎn)記錄相關(guān)性強(qiáng)的信息;Zf對(duì)遺忘門進(jìn)行表達(dá),選擇性地錄入重要信息,遺棄次要信息;Zo對(duì)輸出門進(jìn)行表達(dá),過濾出需要得到的輸出部分。LSTM模型表達(dá)式如下:
圖3 LSTM結(jié)構(gòu)(某時(shí)間節(jié)點(diǎn))
Z=tanh(W[xt,ht-1])
Zi=σ(Wi[xt,ht-1])
Zf=σ(Wf[xt,ht-1])
Zo=σ(Wo[xt,ht-1])
1.2.4 GRU算法模型
GRU也是RNN的一種優(yōu)化形式,但是相較于LSTM,GRU的結(jié)構(gòu)更加簡(jiǎn)單,也可以理解為L(zhǎng)STM的一種變體,LSTM有3個(gè)門結(jié)構(gòu),GRU只有重置門和更新門2個(gè)門結(jié)構(gòu)[12]。GRU模型結(jié)構(gòu)見圖4。
圖4 GRU模型結(jié)構(gòu)
Z對(duì)更新門進(jìn)行表達(dá),更新門幫助模型決定到底要將多少過去的信息傳遞到未來(lái);r對(duì)重置門進(jìn)行表達(dá),重置門決定了怎樣將當(dāng)前新的輸入信息與之前的記憶信息相結(jié)合;h表示重置之后的數(shù)據(jù);St是更新記憶之后的表達(dá)式,即最終的記憶。GRU模型表達(dá)式如下:
Z=σ(xtUz+st-1Wz)
r=σ(xtUr+st-1Wr)
h=tanh[xtUh+(st-1⊙r)Wh]
st=(1-Z)⊙h+Z⊙st-1
圖5~圖8分別為4種神經(jīng)網(wǎng)絡(luò)模型對(duì)2015—2021年降水量值訓(xùn)練的結(jié)果。從圖中可以看出,BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果最差,對(duì)原始數(shù)據(jù)擬合效果并不理想,擬合曲線大致為一段弧線。RNN神經(jīng)網(wǎng)絡(luò)相對(duì)于BP神經(jīng)網(wǎng)絡(luò)的擬合能力有了一些提高,但在擬合時(shí)時(shí)間損耗較多,整體擬合效果不理想。LSTM神經(jīng)網(wǎng)絡(luò)的擬合效果比較理想,基本能擬合原始曲線且時(shí)間損耗較小。GRU神經(jīng)網(wǎng)絡(luò)的擬合效果較之于LSTM差一些,但是比RNN神經(jīng)網(wǎng)絡(luò)效果要好。
圖5 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖6 RNN神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖7 LSTM神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖8 GRU神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
同時(shí)從表1各個(gè)神經(jīng)網(wǎng)絡(luò)的損失函數(shù)值的大小來(lái)看,LSTM神經(jīng)網(wǎng)絡(luò)是4種神經(jīng)網(wǎng)絡(luò)里面擬合效果最好的。LSTM神經(jīng)網(wǎng)絡(luò)優(yōu)于GRU神經(jīng)網(wǎng)絡(luò),GRU神經(jīng)網(wǎng)絡(luò)優(yōu)于RNN神經(jīng)網(wǎng)絡(luò),RNN神經(jīng)網(wǎng)絡(luò)優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
表1 4種神經(jīng)網(wǎng)絡(luò)模型損失值變化
圖9~圖12為利用訓(xùn)練過的4種神經(jīng)網(wǎng)絡(luò)模型對(duì)截至2022年5月19日降水量值反歸一化的預(yù)測(cè)情況。從圖中可以比較清楚地看出,4種模型中LSTM的預(yù)測(cè)效果最好,BP的預(yù)測(cè)效果最差。
圖9 BP神經(jīng)網(wǎng)絡(luò)測(cè)試模型
圖10 RNN神經(jīng)網(wǎng)絡(luò)測(cè)試模型
圖11 LSTM神經(jīng)網(wǎng)絡(luò)測(cè)試模型
圖12 GRU神經(jīng)網(wǎng)絡(luò)測(cè)試模型
4種神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)均方誤差見表2。表2也佐證了訓(xùn)練集中LSTM模型效果最好的結(jié)論。同時(shí)發(fā)現(xiàn)訓(xùn)練集中表現(xiàn)較好的GRU模型,在MSE評(píng)估上比RNN遜色了一些,這是由于數(shù)據(jù)量不夠充足的緣故導(dǎo)致出現(xiàn)了一些誤差,如果同時(shí)考慮模型評(píng)價(jià)指標(biāo)MSE和時(shí)間性能的話,GRU依然是優(yōu)于RNN模型的,BP模型的效果最差。
表2 4種神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)均方誤差
本文通過構(gòu)建BP、RNN、LSTM、GRU4種不同的神經(jīng)網(wǎng)絡(luò)模型,對(duì)伊寧縣日降水量值進(jìn)行預(yù)測(cè)分析,實(shí)驗(yàn)結(jié)果表明,4種神經(jīng)網(wǎng)絡(luò)模型相比較,LSTM模型對(duì)于伊寧縣地區(qū)降水量值的預(yù)測(cè)效果最好,均方誤差可以達(dá)到0.06194096,其預(yù)測(cè)的降水量值可以作為預(yù)防山洪的一個(gè)重要指標(biāo),并能結(jié)合其他影響山洪暴發(fā)的因素,有效地為當(dāng)?shù)胤罏?zāi)減災(zāi)提供科學(xué)依據(jù)。
訓(xùn)練預(yù)測(cè)模型中輸入的溫度、露點(diǎn)溫度、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、最高溫、最低溫等氣象影響因子在某種程度上不能非常確切地表達(dá)出與降水量的緊密相關(guān)性,因此,也對(duì)輸入訓(xùn)練模型的氣象因子的選擇提出了更高的要求。