張佳洛 黃 勇 劉傳才,3
(1.南京理工大學計算機科學與工程學院 南京 210094)
(2.安徽省氣象科學研究所 合肥 230061)
(3.閩江學院物聯(lián)網(wǎng)產(chǎn)業(yè)化與智能生產(chǎn)協(xié)同創(chuàng)新中心 福州 350108)
準確的降水預報服務可以幫助計劃戶外活動,甚至可以提供洪水或交通的預警。目前,我國預報業(yè)務通常把0~2h的天氣預報稱為臨近預報[1]。臨近預報的主要手段是基于天氣雷達資料的雷達回波外推技術,即根據(jù)當前時刻雷達觀測結(jié)果,推測雷達回波未來的位置和強度,以實現(xiàn)對未來時間段的降水預報[2]。目前常用的基于雷達回波進行預報的方法主要包括交叉相關法(Tracking Radar Echoes by Correlation,TREC)、單體質(zhì)心法、光流法。1978年Rinehart提出了TREC算法,將雷達回波視為單體進行識別、分析、追蹤,對單體進行擬合外推來做臨近預報[3]。對較大的回波,交叉相關法有較好的識別和追蹤效果。對較小的單體,尤其是相互距離較近的多個單體,其識別和追蹤效果較差[4]。單體質(zhì)心法是緊隨交叉相關法之后出現(xiàn)的。與交叉相關法相比,單體質(zhì)心法能較好地識別和追蹤較小的孤立單體,并且能夠提供單體的更詳細的特征數(shù)據(jù),因而得到了更快的發(fā)展。喬春貴等使用質(zhì)心法對雷達回波圖進行線性外推,結(jié)果顯示該方法對穩(wěn)定的層狀云表現(xiàn)較好,而對其他類型的云表現(xiàn)相對較差[5]。1950年由Gibson首先提出光流法,最初主要應用于圖像分割、目標追蹤、運動估計等領域[6]。Hoffman等在數(shù)值模式檢驗領域第一次引入了光流的概念,結(jié)果表明光流法與傳統(tǒng)的單體質(zhì)心法和交叉相關法相比,對于變化較快的強對流降水天氣過程,具有明顯的預報優(yōu)勢[7]。
相較于傳統(tǒng)的雷達回波預報方法,神經(jīng)網(wǎng)絡模型通過逐層的特征變換,將樣本在原空間的特征表示變換到一個新的特征空間,從而提升分類或預測的準確性[8]。在最新的研究中,SHI Xingjian等提出一種時空序列預報模型ConvLSTM(Convolution Long Short-term Memory),將CNN和LSTM相結(jié)合,即在傳統(tǒng)LSTM的基礎上在每個LSTM單元中增加卷積結(jié)構(gòu)。實驗結(jié)果表明,ConvLSTM相對于光流法能夠更好地捕捉雷達回波的時空特征,達到較優(yōu)的結(jié)果[9]。
盡管ConvLSTM深度學習算法在對流臨近預報中表現(xiàn)良好,但是模型只能學習單一高度下雷達回波圖像序列的特征預測未來時間段回波序列。鑒于此,提出了一種基于卷積門循環(huán)單元的神經(jīng)網(wǎng)絡的臨近降水預報模型,模型先對目標站點不同高度的雷達反射圖像做卷積,同一高度的卷積圖像通過GRU學習云團運動過程中的時序特征,最后將不同高度時序圖像的學習特征聚合到全連接層中進行訓練,輸出目標站點未來1h~2h的降水量。
本文的預測模型結(jié)構(gòu)如圖1所示,先對不同高度的時序圖像做卷積和池化處理,學習空間特征。對于每個高度上的時序圖像將卷積和池化后的特征作為輸入,使用GRU作為循環(huán)神經(jīng)網(wǎng)絡的神經(jīng)元來訓練數(shù)據(jù),最后對四個高度的圖像特征進行全連接,以未來1h~2h的降水數(shù)據(jù)作為輸出。
圖1 預測模型流程圖
雷達反射圖像有其固定的特性,在臨近預報模型中先對雷達圖像進行卷積操作,學習圖像中的云團特征。對整個圖像作卷積運算,可以得到圖像中任意位置上的不同特征的激活值[10]。在本文的臨近預報模型中,對目標站點觀測到的雷達圖像(100×100)做卷積操作,卷積核尺寸大小為(5×5),步長為5,卷積之后進行(2×2)的最大池化,最后單張雷達圖像的特征維度大小為(10×10)。
卷積過程可以由下式表示:
式(1)中,l表示當前位于的神經(jīng)網(wǎng)絡層數(shù),i,j分別表示特征映射圖上的點和編號,x表示計算數(shù)值(雷達回波圖像的灰度值),k為卷積核參數(shù),b表示加性偏置,Mj表示特征映射圖集合,?表示卷積操作,σ(·)為激活函數(shù)。
最大池化(max-pooling)過程可表示為
簡單的卷積池化操作只能學習到當前時刻云團的空間特征,并不能學習到云團在運動過程中的聚合或消散特征,以及運動的軌跡。本文的模型中加入了循環(huán)層,學習不同時序上的雷達圖像的時序特征。如圖2所示,在循環(huán)神經(jīng)網(wǎng)絡中,輸入t=[t1,t2,…,t14,t15]表示經(jīng)過卷積和池化處理之后雷達圖像特征,在每個時間步(1≤t≤15)中,參數(shù)都要經(jīng)過每層中的循環(huán)單元處理,最后將循環(huán)層輸出的結(jié)果聚合到全連接層,以未來1h~2h的降水量最為輸出訓練模型。
圖2 循環(huán)神經(jīng)網(wǎng)絡模型
在傳統(tǒng)的RNN模型中,隨著當前和過去數(shù)據(jù)之間的差距越來越大,一般的RNN模型無法學習較長連接的輸入。Bengio等已經(jīng)證明,傳統(tǒng)的RNN模型很難學習到輸入序列超過10的特征[11]。在臨近降水預報中,雷達時序圖像為15張,因此需要使用改進之后的RNN模型,提高循環(huán)神經(jīng)網(wǎng)絡中的學習能力。在循環(huán)層中使用GRU模型,可以增加時序記憶同時減少訓練參數(shù),節(jié)省模型訓練時間。
在GRU模型中,引入了重置門(reset gate)和更新門(update gate)的概念,從而修改了循環(huán)神經(jīng)網(wǎng)絡中隱藏狀態(tài)的計算方式。GRU中的重置門和更新門的輸入均為當前時間步輸入Xt與上一時間步隱藏狀態(tài)Ht-1,輸出由激活函數(shù)為sigmoid函數(shù)的全連接層計算得到。
如圖3所示,神經(jīng)元的輸入Xt∈Rn×d(n為樣本數(shù),d為輸入個數(shù))和上一時間步隱藏狀態(tài)Ht-1∈Rn×h(h為隱藏單元個數(shù))。其中重置門Rt∈Rn×h和更新門Zt∈Rn×h的計算公式如下:
圖3 門循環(huán)單元(GRU)
式(5)中Xt∈Rn×d表示輸入,Wxh∈Rd×h,Whh∈Rh×h是權(quán)重參數(shù),Rt∈Rn×h計算所得的重制門,Ht-1∈Rn×h表示t-1步的狀態(tài),⊙表示變量做點乘,bn∈Rl×h是偏置參數(shù),tanh函數(shù)作為激活函數(shù)來計算候選狀態(tài)的值。對于隱藏狀態(tài)計算公式如下:
式(6)中可以看出,時間步t的隱藏狀態(tài)值Ht∈Rn×h的計算依賴于重制門,時間步t-1的隱藏狀態(tài)值和時間步t的候選隱藏狀態(tài)值。
本文采用的實驗數(shù)據(jù)集包含雷達回波圖和目標站點地面降水量。每張雷達圖像覆蓋一個目標地點及其周邊地區(qū),標記為100×100網(wǎng)格,其中每個網(wǎng)格點記錄的是經(jīng)過線性轉(zhuǎn)換后的dBZ。實驗數(shù)據(jù)共有一萬個樣本,分為訓練集(80%)、測試集(10%)、驗證集(10%)。其中每個樣本包含90幀圖像,如圖4所示,共分為四組,分別表示目標站點在0.5km、1.5km、2.5km、3.5km監(jiān)測到的圖像,每組15幀,每兩幀的時間間隔為6min,最后是目標站點未來1h~2h的降水量。
圖4 數(shù)據(jù)示例
臨近降水預報屬于回歸問題,為了定量地描述其預報的準確性,在實際評估中,常采用了均方誤差(MSE)和平均絕對誤差(MAE)三個指標來對算法進行比較[12],計算公式如下:
在實驗中,共有一萬個樣本數(shù)據(jù),每個樣本包含60張雷達反射圖和對應1h~2h內(nèi)的降水量。其中,8000個樣本作為訓練集,1000個樣本作為驗證集,1000個樣本作為測試集。表1表示的是模型在測試集中的評分結(jié)果。其中,Mul-Input ConvGRU采用圖1的輸入輸出模型,將四層高度的雷達圖片分別做卷積,并使用GRU模型學習,對不同高度學習的特征做全連接進行訓練。在卷積中使用的卷積核大小為(5×5),對卷積后的圖像(20×20),最后做最大池化(2×2)。最終用來輸入GRU模型中特征向量為(15×100),模型使用了兩層循環(huán)層,兩層全連接層,輸出預測的降水量。Sin-Input ConvGRU表示抽取樣本中的一層數(shù)據(jù)參與訓練,采用的卷積層、循環(huán)層、全連接層跟Mul-Input ConvGRU模型相同。
從表1中可以看出不同模型下的MSE和MAE,結(jié)果越小預報準確性越高。根據(jù)表1的實驗結(jié)果可以看到,多輸入模型的MSE和MAE都要小于單輸入模型。此外,在循環(huán)層中使用GRU可以將MSE降低3.2,MAE降低0.2。出現(xiàn)上述現(xiàn)象的原因是由于多輸入模型能夠?qū)W習到目標站點不同高度的特征信息,可以減少雷達誤差對預測結(jié)果的影響。且在循環(huán)層中使用GRU模型,引入重制門和更新門單元,保持長時記憶,從而提高了預報的準確性。
表1 模型評分結(jié)果
為直觀展示模型的預報性能,實驗采用Mul-Input ConvGRU模型對隨機抽取的100個樣本進行預報,結(jié)果如圖5所示,曲線重合程度越高,表明預報精度越高。從圖中可以看出當真實降水量較大的時候,預測值會出現(xiàn)偏差。這是由于降水量大情況下,較難學習到云團的劇烈運動特征,但相較于單輸入模型,已經(jīng)具有較好的預測精度。
圖5 降水預報曲線
在Mul-Input ConvGRU模型中,不同的迭代次數(shù)會對預報性能產(chǎn)生較大的影響。實驗分析模型隨迭代次數(shù)增加時,MAE和MSE的表現(xiàn)。如圖6,7所示,圖中的曲線mul-input ConvGRU,0.5-sin-input ConvGRU,1.5-sin-input ConvGRU,2.5-sin-input ConvGRU,3.5-sin-input ConvGRU分別表示多輸入模型和不同高度下單輸入模型的MAE和MSE。從圖中曲線可以看出,對于單輸入模型,輸入訓練高度為1.5km的雷達圖像時,預測效果最好。這是由于高度低的時候會受到地物干擾,而高度偏高時看到的云雨信息由于距離地面較遠,下落過程中會出現(xiàn)蒸發(fā)、增長等物理過程,從而引起降水量變化。在1.5km處,不受地物影響,又貼近地面,下落到地面時,降水量的變化小。從圖中可以看出,多輸入模型的預測性能要優(yōu)于單輸入模型。這主要是因為多數(shù)入模型在對不同高度的雷達特征聚合之前進行了Dropout操作,可以在保證學習不同高度特征的同時減少訓練參數(shù),使得模型具有較強的泛化能力。
圖6 迭代次數(shù)與平均絕對誤差
圖7 迭代次數(shù)與均方誤差
本文提出了一種基于ConvGRU神經(jīng)網(wǎng)絡的臨近降水預報模型,通過訓練不同高度的雷達序列圖像來預測目標站點未來1h~2h的降水量。實驗結(jié)果分析表明,改進之后的模型能夠?qū)Σ煌叨鹊睦走_序列圖像同時進行學習,有效解決單一高度下雷達圖像反射率失真的問題。但對于此模型的訓練來說,由于樣本數(shù)據(jù)較少使得模型參數(shù)較難訓練到最優(yōu),未來會收集更多樣本數(shù)據(jù)并加入一些數(shù)據(jù)預處理的方法擴大樣本數(shù)數(shù)據(jù)。