賀琪,劉東旭,宋巍,黃冬梅,杜艷玲
(1.上海海洋大學 信息學院,上海 201306;2.上海電力大學,上海 200090)
臺風是一種典型的熱帶天氣系統(tǒng),是海洋-大氣相互作用的重要形式之一(張志偉,2019)。它嚴重威脅著沿海地區(qū)人民的生命財產(chǎn)安全和經(jīng)濟的發(fā)展。因此,及時地對臺風軌跡進行預(yù)測可以為防災(zāi)部門提供有效的信息支持,從而減少人員傷亡和經(jīng)濟損失。然而影響臺風軌跡的因素眾多,如臺風熱力學、臺風動力學和臺風期間環(huán)境場等(黃小燕等,2013)。并且在臺風登陸之后,臺風軌跡還會受到陸地地形地貌,以及海岸線水深的影響(余錦華等,2012)。所以,臺風軌跡預(yù)測是一個十分重要而又充滿挑戰(zhàn)的研究課題。
早期的臺風軌跡預(yù)測主要依靠熱力學和空氣動力學對臺風環(huán)境場進行分析,結(jié)合臺風登陸點對沿海地區(qū)復(fù)雜的海岸線以及陸地地形地貌影響因素的分析,建立臺風軌跡預(yù)測領(lǐng)域特有的經(jīng)驗法則(王瀚,2020)。然而這種主觀經(jīng)驗法,效率低下,并且需要大量人力物力,預(yù)測的精度和時效性都難以滿足需求。隨著臺風監(jiān)測技術(shù)和計算機技術(shù)的發(fā)展,為了解決臺風軌跡預(yù)測精度不足和時效性滯后的問題,臺風領(lǐng)域的專家提出了數(shù)值預(yù)報方法。袁炳等(2010)提出一種非對稱臺風Bogus 方法,提升了臺風強度預(yù)報精度。王康玲等(1996)提出了一套解決臺風數(shù)值預(yù)報初始場的方案,并且已將其應(yīng)用于中國南海臺風預(yù)報。錢傳海等(2012)討論了不同初始場和一些邊界條件對臺風數(shù)值預(yù)報精度的影響。李澤椿等(2002)回顧了國家氣象中心集合數(shù)值預(yù)報系統(tǒng)的開發(fā)過程,概述了國家氣象中心現(xiàn)有的中期集合數(shù)值預(yù)報系統(tǒng)的組成、應(yīng)用和發(fā)展趨勢。雖然數(shù)值預(yù)報在預(yù)報性能上要遠遠優(yōu)于主觀經(jīng)驗法,但是數(shù)值預(yù)報的精度相較于主觀經(jīng)驗法并沒有明顯提升(陳國民等,2019)。進一步提高數(shù)值預(yù)報模型的預(yù)報精度仍然是一個挑戰(zhàn)。
目前,世界各國的氣象局基本都建立了氣象衛(wèi)星、海洋觀測站,以及地面觀測站等臺風三維觀測系統(tǒng)。從1949 年至今已經(jīng)積累了大量臺風數(shù)據(jù)(Gao et al,2018)。隨著臺風數(shù)據(jù)的收集整理,部分研究者對臺風軌跡數(shù)據(jù)的時空特征進行了分析,認為可以將臺風軌跡數(shù)據(jù)視為時間序列數(shù)據(jù),因此提出了將臺風軌跡預(yù)測和時間序列預(yù)測技術(shù)相結(jié)合的方法,希望獲得更好的預(yù)測效果。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN) (Tokg觟z et al,2018)是一種適用于處理時間序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),已經(jīng)在許多領(lǐng)域被廣泛應(yīng)用,但在迭代后期會出現(xiàn)“梯度消失”的問題。于是,Hochreiter 等(1997)最早提出了長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),通過增加輸入門、遺忘門和輸出門,使得網(wǎng)絡(luò)自循環(huán)的權(quán)重可以變化,從而避免了“梯度消失”問題,適合處理和預(yù)報時間序列中延遲較長的事件。Ranzato等(2014) 提出了一種基于LSTM 的視頻解釋算法。Sutskever 等(2014)采用了LSTM 算法對時間序列進行預(yù)測,得到了很好的效果。研究表明,深度學習算法特別是LSTM 算法,可以很好地應(yīng)用在天氣預(yù)報和海洋預(yù)報領(lǐng)域中。徐高揚等(2019)將LSTM 網(wǎng)絡(luò)應(yīng)用在臺風軌跡預(yù)測中,與動態(tài)時間規(guī)整算法(Dynamic Time Warping,DTW) 相結(jié)合,在預(yù)測6h 臺風軌跡中效果很好。
隨著神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用(如金融、醫(yī)學等),其包含的數(shù)據(jù)信息成指數(shù)增長,數(shù)據(jù)的長度、影響因子各有不同。傳統(tǒng)的LSTM 已經(jīng)無法完美地解決數(shù)據(jù)不定長或者數(shù)據(jù)影響因子較多的分類或預(yù)測問題。在此基礎(chǔ)上,20 世紀90 年代,F(xiàn)orcada 等(1997)提出了一種編碼器-解碼器結(jié)構(gòu)用來實現(xiàn)機器翻譯。編碼器-解碼器網(wǎng)絡(luò)結(jié)構(gòu)無論輸入和輸出的長度是什么,中間的向量長度都是固定的,根據(jù)不同的任務(wù)可以選擇不同的編碼器和解碼器。這種靈活性使得編碼器-解碼器網(wǎng)絡(luò)迅速發(fā)展并且應(yīng)用在各個領(lǐng)域。Chen 等(2018)提出了一種帶可分離卷積的編碼器-解碼器網(wǎng)絡(luò)并成功應(yīng)用在圖像分割上。Malhotra 等(2016)將編碼器-解碼器網(wǎng)絡(luò)應(yīng)用在時間序列的異常檢測上,并取得很好的效果。Ekambaram 等(2020)利用編碼器-解碼器網(wǎng)絡(luò)進行新產(chǎn)品的銷售時間序列預(yù)測,得到了比較準確的預(yù)測結(jié)果。然而,隨著時間序列的長度和特征數(shù)量增加,編碼器-解碼器網(wǎng)絡(luò)的中間變量可能存儲不了那么多信息,會造成精度下降,于是,一種基于注意力機制的編碼器-解碼器網(wǎng)絡(luò)被提出。該注意力機制可以使網(wǎng)絡(luò)更加集中于重要的特征,同時能夠存儲更長久的信息,亦有許多學者將其應(yīng)用于時間序列預(yù)測領(lǐng)域,如:查鋮等(2020)提出了一種結(jié)合注意力機制的區(qū)域海表面溫度預(yù)報算法,明顯提升了預(yù)報精度。Qin 等(2017)提出了一種雙階段的注意力機制模型,并將其應(yīng)用在時間序列預(yù)測上,取得了很好的預(yù)測效果。Du 等(2020)將注意力機制和編碼器-解碼器網(wǎng)絡(luò)結(jié)合,對空氣質(zhì)量時間序列數(shù)據(jù)進行預(yù)測,取得了很好的效果。Sutskever(2014)等針對注意力機制中的時間關(guān)系學習存在的問題,將注意力機制和編碼器-解碼器網(wǎng)絡(luò)結(jié)合,發(fā)現(xiàn)使用注意力機制可以明顯提高基于LSTM 的編碼器-解碼器網(wǎng)絡(luò)的預(yù)測能力。
雖然上述研究方法皆在一定程度上提高了預(yù)測精度問題,但目前針對臺風軌跡預(yù)測還未考慮到臺風軌跡數(shù)據(jù)的特征相關(guān)性和深層的時間相關(guān)性。為了解決該問題,本文基于長短時記憶網(wǎng)絡(luò)和注意力機制,提出一種結(jié)合雙注意力機制的編碼器、解碼器網(wǎng)絡(luò)模型(Dual-Attention-Encoder-Decoder,DA-Encoder-Decoder),首先使用臺風軌跡數(shù)據(jù)計算得到臺風曲率序列,充分考慮了臺風軌跡數(shù)據(jù)中隱藏的轉(zhuǎn)向和偏折信息。將曲率作為新的特征輸入,然后通過特征注意力機制對輸入特征分配權(quán)重,隨后編碼器將輸入特征編碼作為中間變量,而后再通過時間注意力機制對時間步長分配權(quán)重,最后通過解碼器進行映射輸出,得到預(yù)測結(jié)果。
圖1 給出了DA-Encoder-Decoder 模型的流程圖,兩個灰色矩陣從上到下分別表示臺風軌跡時間序列矩陣和臺風軌跡曲率矩陣,綠色矩陣表示融合臺風軌跡矩陣和曲率矩陣的輸入矩陣。藍色矩陣表示經(jīng)過特征注意力加權(quán)的特征矩陣,橙色矩陣表示經(jīng)過時間注意力加權(quán)的特征矩陣。D,D1,D2表示矩陣寬度,即臺風序列數(shù)據(jù)的特征個數(shù),H 表示矩陣高度。DA-Encoder-Decoder 模型的具體步驟如下:
圖1 DA-Encoder-Decoder 模型流程圖
步驟淤:將西北太平洋臺風數(shù)據(jù)庫處理成臺風軌跡矩陣和曲率矩陣。
步驟于:將臺風軌跡矩陣和臺風曲率矩陣合并,依次按照臺風軌跡時間先后進行排列,構(gòu)成矩陣序列,作為DA-Encoder-Decoder 模型的輸入。
步驟盂:利用注意力機制為獲得的輸入矩陣特征分配注意力權(quán)重,然后將注意力權(quán)重乘上對應(yīng)的特征,得到加權(quán)的特征矩陣。
步驟榆:將特征矩陣輸入編碼器,得到隱藏狀態(tài)特征,保存特征信息。
步驟虞:利用時間注意力對隱藏狀態(tài)特征按照時間步長進行權(quán)重分配,然后將注意力權(quán)重乘上對應(yīng)的特征,得到加權(quán)的隱藏狀態(tài)特征。
步驟愚:對獲得的隱藏狀態(tài)進行解碼,通過映射,最終獲得預(yù)測結(jié)果。
本文中每一條臺風序列可表示為Si= [x1,x2,x3,…,xn],每一個xt沂Si表示臺風序列的一個時間步長的輸入[a,b],其中a 表示緯度坐標,b 表示經(jīng)度坐標。然后將臺風軌跡抽象到二維坐標系中,可以看作是一系列坐標點,通過二維坐標系中三點定圓原理,可以求得臺風軌跡對應(yīng)的曲率變化序列,求解步驟如下:
步驟1:首先設(shè)所求圓的半徑為R,圓心坐標為(x,y),則可由圓公式得:
根據(jù)上述步驟求得每條臺風軌跡的曲率序列,加入輸入軌跡序列中作為第三個特征。得到新的輸入序列Si= [x1,x2,x3,…,xn],每一個xt沂Si表示臺風序列的一個時間步長的輸入[a,b,c],其中a 表示緯度坐標,b 表示經(jīng)度坐標,c 表示當前坐標點對應(yīng)的曲率。
1.2.1 編碼器
編碼器在本質(zhì)上是一種循環(huán)神經(jīng)網(wǎng)絡(luò),它將我們的輸入序列編碼轉(zhuǎn)化為一種特征。對于時間序列來說,給定輸入序列X=(x1,x2,x3,…,x栽),編碼器可以利用下面公式學習從x 到隱藏狀態(tài)的映射。
其中ht沂Rm,Rm是t 時刻編碼器的隱藏狀態(tài),m 是隱藏狀態(tài)的大小,f1是一個非線性激活函數(shù),在本文中我們使用LSTM(長短時記憶網(wǎng)絡(luò))。每一個LSTM 單元都有一個記憶細胞來記錄t 時刻的狀態(tài)St。對于這個記憶細胞將會通過三個門:遺忘門ft,輸入門it以及輸出門ot。LSTM 三個門的更新機制如下:
上式中[ht-1;xt] 表示當前輸入和之前的隱藏層的連接。Wf、Wi、Wo、bf、bi、bo、bs是需要學習的參數(shù)。滓和已分別表示邏輯sigmoid 函數(shù)和對應(yīng)元素的相乘。
相較于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),LSTM 的細胞狀態(tài)可以對一段時間內(nèi)的活動進行求和,可以克服梯度消失、梯度爆炸等問題,并且能夠更好地捕獲時間序列的時序依賴問題。
1.2.2 解碼器
為了預(yù)測輸出經(jīng)緯度,本文使用了另外一個基于LSTM 的循環(huán)神經(jīng)網(wǎng)絡(luò)去解碼已編碼的輸入信息。然而Cho 等(2014)提出,隨著輸入時間序列長度的增加,編碼器-解碼器結(jié)構(gòu)網(wǎng)絡(luò)的性能會下降。因此本文在解碼之前結(jié)合了一個時間注意力機制,針對時間步長去訓(xùn)練相應(yīng)的注意力權(quán)重。簡單地說,就是根據(jù)前一個時間步的解碼器隱藏狀態(tài)計算當前編碼器隱藏狀態(tài)的權(quán)重。最終計算出我們期望的目標預(yù)測值。
注意力機制(Attention mechanism)是一種模仿人們視覺神經(jīng)的方法,當人們觀看某個東西時,會將視線主要集中在重點關(guān)注的部分周圍,獲取這個部分更多的相關(guān)信息,減少對無用信息的獲取。所以,注意力機制最早應(yīng)用在圖像分析領(lǐng)域,且表現(xiàn)出色。隨后慢慢地應(yīng)用到了自然語言處理領(lǐng)域,與深度學習相結(jié)合,顯著地提升了模型的效果。目前,注意力機制經(jīng)常會和Encoder-Decoder 一起應(yīng)用。注意力機制可以應(yīng)用在多個領(lǐng)域,它們所作用的對象不同,對模型的性能提升也不盡相同,本文利用特征注意力機制和時間注意力機制來為輸入特征和時間步長分配權(quán)重。
1.3.1 特征注意力機制
在使用編碼器之前,使用特征注意力主要是為了獲得輸入特征對預(yù)測結(jié)果的影響大小的關(guān)聯(lián)關(guān)系,以獲得更好的預(yù)測結(jié)果。本文特征注意力的學習流程如圖2,對t 時刻的第n(1臆n臆k,n沂Z)個特征向量的隱藏狀態(tài)的特征注意力權(quán)重表示方法如下:
1.3.2 時間注意力機制
輸入數(shù)據(jù)經(jīng)過編碼器編碼后,將會得到一系列隱藏狀態(tài),為了得到預(yù)測結(jié)果,需要對隱藏狀態(tài)進行解碼。本文使用LSTM 網(wǎng)絡(luò)作為編碼器和解碼器。然而,編碼器中輸入序列長度過長的時候,解碼器的性能會下降。所以,本文在解碼器之前利用時間注意力機制來盡量提升解碼器的性能。對編碼器生成的隱藏狀態(tài)來說,其對時間依賴性的關(guān)注不足,需要利用時間注意力機制來對編碼器的隱藏狀態(tài)進行權(quán)重分配,以提升網(wǎng)絡(luò)整體性能。簡單地說,時間序列的長期依賴性可以通過加權(quán)編碼器中目標值最相關(guān)的隱含狀態(tài)來學習(Sagheer et al,2019)。本文時間注意力的學習流程如圖2,對t時刻的第i(1臆i臆T,i沂Z)個隱藏狀態(tài)的時間注意力權(quán)重表示方法如下:
圖2 特征注意力機制流程圖
圖3 時間注意力機制流程圖
本文實驗使用Keras 框架搭建,Keras 是一個高度模塊化的神經(jīng)網(wǎng)絡(luò)庫,可以基于Theano 或者tensorflow 搭建,并且支持擴展開發(fā)。實驗硬件環(huán)境平臺是Windows10,Intel Corei7,3.0 Hz,8GBRAM。
在使用模型進行預(yù)報時,由于誤差的計算是根據(jù)預(yù)測坐標和實際坐標的差值,均方根誤差(Root Mean Square Error,RMSE)能夠很好地反應(yīng)坐標點的偏移,也是一種常用的精度評價指標。實際誤差距離(ErrDis)(km)則是根據(jù)預(yù)測坐標點和實際坐標點來計算兩點之間地理上的實際誤差距離。能夠更加明確清晰地體現(xiàn)預(yù)測誤差,對實際業(yè)務(wù)應(yīng)用也有一定的作用。
因此,為驗證DA-Encoder-Decoder 模型的有效性,本實驗使用RMSE 和ErrDis 來評估不同預(yù)報方法的性能,RMSE 和ErrDis 的公式如下表示:
對于RMSE 和ErrDis 來說,它們的值越小越好。當模型訓(xùn)練使得RMSE 和ErrDis 最小的時候,就是最優(yōu)模型。訓(xùn)練時,通過觀察RMSE 和ErrDis的變化來確定合適的模型結(jié)構(gòu)和模型參數(shù)。
由于臺風預(yù)測需要時效性,實驗選取訓(xùn)練時間步長為一天(24 h)的數(shù)據(jù)。然后將全部的臺風軌跡數(shù)據(jù)進行劃分,將75%的數(shù)據(jù)作為訓(xùn)練集,用于訓(xùn)練DA-Encoder-Decoder 預(yù)測模型的參數(shù),剩下的25%的數(shù)據(jù)作為驗證集,用于驗證模型的學習效果。
確定輸入特征:前文中提到利用臺風軌跡計算出曲率序列。增加曲率的特征主要是為了模擬出臺風的軌跡的曲線運動趨勢,包含了臺風的轉(zhuǎn)折角度和未來方向等信息。為了確定曲率特征對預(yù)測性能的提升能力,使用臺風軌跡原始數(shù)據(jù)和增加曲率特征的數(shù)據(jù)集分別預(yù)報24 h、48 h、72 h 的軌跡坐標。對比了曲率在編碼器-解碼器(Encoder-Decoder)和基于雙注意力機制的編碼器解碼器模型(DAEncoder-Decoder)預(yù)測模型的作用。根據(jù)表1 預(yù)測結(jié)果,可以看到在Encoder-Decoder 模型和DAEncoder-Decoder 模型上,增加了曲率特征之后對RMSE 和ErrDis 都有一定的降低作用,有利于提高臺風軌跡預(yù)測的精度。因此,本文在輸入特征中增加曲率特征。
表1 增加曲率特征性能對比
確定注意力機制:針對Encoder-Decoder 模型,增加不同的注意力機制,來記錄性能變化。從表2 可以看到,增加了注意力機制的模型預(yù)測精度要優(yōu)于未增加的注意力機制的模型。增加了時間注意力的TA-Encoder-Decoder(Temporal-Attention-Encoder-Decoder)模型要優(yōu)于增加了特征注意力的FA-Encoder-Decoder (Feature-Attention-Encoder-Decoder)模型。而本文提出的基于雙注意力機制的DA-Encoder-Decoder 模型效果明顯優(yōu)于其他注意力機制。因為利用特征注意力機制去計算輸入特征的注意力權(quán)重會在更大程度上修正輸入特征對預(yù)測結(jié)果的影響。第二部分的時間注意力機制會針對每次輸入的樣本計算時間步長的注意力權(quán)重,盡管LSTM 也具備這種能力,但是在編碼器解碼器結(jié)構(gòu)下,長序列會大大降低模型預(yù)測精度,而時間注意力機制能夠解決這個問題,可以對輸入數(shù)據(jù)進行長時期的權(quán)重計算,將之前的信息存儲在隱藏層中。
表2 是針對不同的注意力機制與預(yù)測模型結(jié)合的預(yù)測結(jié)果。預(yù)測模型分別對24 h、48 h、72 h 臺風軌跡進行預(yù)測??梢钥闯?,增加了時間注意力的模型(TA-Encoder-Decoder)精度比單純的Encoder-Decoder 模型高,證明了在時間維度上的注意力權(quán)重訓(xùn)練能夠提高模型的預(yù)測精度。同理,在特征維度上的注意力權(quán)重訓(xùn)練也能夠提高模型預(yù)測精度。因此,特征相關(guān)性和時間相關(guān)性對臺風軌跡預(yù)測的精度均有影響。本文的DA-Encoder-Decoder模型既考慮了特征相關(guān)性,又考慮了時間相關(guān)性,從表2 可以看出,DA-Encoder-Decoder 模型的精度要明顯優(yōu)于其他同類模型的預(yù)測精度。
表2 增加不同注意力機制性能對比(輸入包含曲率特征)
預(yù)報方法對比:確定了預(yù)測模型的輸入特征、注意力機制,預(yù)報模型基本上已經(jīng)確定,為了驗證本文提出的DA-Encoder-Decoder 模型的有效性,分別與傳統(tǒng)預(yù)測方法以及神經(jīng)網(wǎng)絡(luò)方法進行了對比。對比方法包括:BP、SVR、LSTM、ELM。對于SVR 網(wǎng)絡(luò)使用的是徑向基核函數(shù)(Radial Basis Function,RBF),該核函數(shù)能夠?qū)崿F(xiàn)非線性映射并且需要學習的參數(shù)較少。以上對比試驗均采用Keras 庫函數(shù)進行搭建。訓(xùn)練數(shù)據(jù)使用數(shù)據(jù)集的75%,驗證數(shù)據(jù)使用25%。通過預(yù)測24 h、48 h、72 h 的臺風軌跡,對比模型的RMSE 和ErrDis 指標來比較模型之間的預(yù)測性能的差異。
表3 是所有對比模型和本文模型的預(yù)測結(jié)果。可以看出,在預(yù)測24 h 臺風軌跡時,BP、SVR、LSTM、ELM、DA-Encoder-Decoder 模型的RMSE指標分別為3.48、2.96、2.81、5.62、1.82,ErrDis指標分別為330.6 km、279.24 km、263.14 km、539.55 km 和172.03 km。在24 h、48 h、72 h 上的預(yù)測中,與其他機器學習、深度學習預(yù)測模型相比DA-Encoder-Decoder 模型降低了預(yù)測誤差,具備最好的預(yù)測性能。
表3 不同模型性能對比(輸入包含曲率特征)
本文提出的DA-Encoder-Decoder 模型在臺風軌跡預(yù)測上的應(yīng)用具有一定的研究意義,它充分挖掘了臺風軌跡數(shù)據(jù)的特征和時間信息,在輸入上結(jié)合了臺風軌跡的曲率序列,包含臺風軌跡的轉(zhuǎn)向、偏折等隱藏信息,與同類臺風軌跡預(yù)測模型相比,提高了預(yù)測準確性。
本文主要的結(jié)論有三點:
(1)之前的臺風軌跡預(yù)測都是只單純考慮臺風時間序列經(jīng)緯度之間的關(guān)系,而本文將包含轉(zhuǎn)向、偏折信息的曲率特征作為預(yù)測特征,考慮了臺風轉(zhuǎn)向等隱藏因素對臺風軌跡的影響。
(2)利用了特征注意力機制為特征分配權(quán)重,得到不同的特征對要預(yù)測的軌跡點在特征維度上的影響。特征與權(quán)重相乘得到加權(quán)特征,突出了關(guān)鍵特征,提升了預(yù)測精度。
(3)利用了時間注意力機制為特征分配權(quán)重,反映出歷史臺風軌跡數(shù)據(jù)對要預(yù)測的軌跡點在時間維度上的影響,歷史臺風軌跡數(shù)據(jù)距離預(yù)測的軌跡點的時間遠近不同,對其的影響也不相同;特征與權(quán)重相乘可得到加權(quán)特征,使得關(guān)鍵信息被突出,加權(quán)特征包含的信息越明顯,預(yù)報精度便越高。
對比不同方法在同一數(shù)據(jù)集下的預(yù)測結(jié)果,DA-Encoder-Decoder 分別預(yù)測24 h、48 h、72 h臺風軌跡,誤差分別為172.03 km、245.14 km、403.6 km,實驗結(jié)果表明DA-Encoder-Decoder 模型在臺風軌跡預(yù)測方面獲得了一定的精度提升,從而驗證了本文方法的有效性,該模型值得更深入地研究和應(yīng)用。由于臺風軌跡所受到的影響因子眾多,如風速、壓強、降雨量等,這些因子對臺風軌跡的變化具有一定的影響,因此在后續(xù)的研究中也應(yīng)該充分考慮其他相關(guān)要素對臺風軌跡的影響。在下一步工作中,利用要素相關(guān)性或關(guān)聯(lián)規(guī)則去篩選對臺風軌跡影響較大的要素,利用這些要素建立多要素預(yù)測模型,從而進一步提高臺風軌跡預(yù)測精度。