江璟瑜 徐丹亞 韓寧生 王子赫
(1.中國石油大學(華東)計算機與科學技術學院 青島 266580)
(2.南方海洋科學與工程廣東省實驗室(珠海) 珠海 519080)
海表面高度異常(SSHA)對人類的生產生活有著重大的影響,例如漁業[1]海平面上升[2]、海洋工程[3]等。海表面高度異常同時也是海洋系統中的重要參數之一,能夠反映海流、潮汐、海洋鋒面、水團等中尺度海洋動力特征[4],預測海表面高度異常的研究同時具有理論和現實意義。由于海洋環境的復雜性與不確定性,海表面高度異常預測的準確性一直有待提升,傳統預測海表面高度異常的方法分為兩類,一類是基于物理方程的數值模擬方法,需要大量的計算資源,適用于大范圍的預測,另一類是基于數據驅動的方法,由于不同數據的特點適用于區域性的預測。數據驅動的方法是對數據的變化規律的提取,基于數據驅動的方法依賴于海表面高度異常數據集的大小和質量。多年來,通過衛星遙感觀測以及多種模式數據的產生,積累了大量的海表面高度異常數據,為使用數據驅動的方法進行海表面高度異常的精確預測提供了數據基礎。由于海洋環境的復雜,當前人工智能適合進行區域性SSHA預測,并且精確度和預測時間有待于進一步的提升。
為解決上述問題,本文采用長短期記憶神經網絡(LSTM)[5]對海表面高度異常進行短期精確預測,在基本LSTM單元的基礎上,設計stacked-LSTM,建立了海表面高度異常預測模型。本文提出的模型在預測中國南海未來120h的海表面高度異常上取得很好的效果,并與ANN、RNN、TCN等模型進行對比,證明我們的方法預測南海海面高度異常的準確性與有效性。據調查,這是第一次嘗試使用數據驅動的LSTM模型來預測SSHA。
LSTM是在傳統RNN[6]的基礎上改進得到的一種特殊的循環神經網絡,它在傳統RNN的基礎上引入記憶單元,這在一定程度上克服了傳統的神經網絡由于時間步長過大導致的梯度消失和梯度爆炸問題。LSTM通過將隱藏層作為一個記憶單元,對長時間和短時間的序列依賴問題相對于傳統RNN都具有絕對的優勢。
單層的LSTM由于模型的簡單而不能較好地反映SSHA數據的內在規律,stacked-LSTM模型采用三層LSTM單元和一層DENSE單元堆疊而成。相比單層的LSTM,多層的LSTM更能捕捉到SSHA序列之間前后的關聯,但由于LSTM記憶單元的復雜結構,多層的LSTM容易產生梯度消失的問題。為減少多層LSTM的梯度消失的問題,本文選定了三層的LSTM作為主要結構,最后通過DENSE層將結果映射出來。
本文使用CORA再分析高分辨率SSHA數據,我們選取的數據集包含了從1993/01/01~2011/02/12共6617天的SSHA數據,經緯度范圍是109.25°E~121.75°E,5.25°N~21.75°N,分辨率為1/4°×1/4°。
我們將SSHA的預測看作時間序列的問題,使用歷史觀測值去預測未來的值,那么首先應當確定使用多長的歷史信息進行預測。根據海表面高度的變化規律與歷史經驗,確定歷史信息長度L為7、15、30,并將所得結果進行比較。其次,將6617天的SSH隨時間變化的序列按5850、107、660的比例進行劃分[7],按照確定L的值分別生成實驗集、評估集、測試集。最后,模型的優化算法采用ADAM算法[8],Adam結合了AdaGrad和RMSProp算法最優的性能,并能提供解決稀疏梯度和噪聲問題的優化方法。因為樣本較多,我們采用小批量梯度下降算法(mini-batch)[9],在保證準確度的同時增加了訓練速度。
本文使用相對誤差(ACC)評估不同模型的預測效果,預測結果采用平均值加標準差的形式。通過實驗,選定歷史信息長度L=15,此時ACC最大。為了使模型得到更好的性能,我們接著從兩個方面改變了模型的參數:隱藏層神經元的個數、模型層數。最后確定隱藏單元在20的時候效果最好,而且單元數的變化對實驗效果并不明顯。隨著stacked-LSTM的層數由1層到4層,預測的準確率先上升,后下降,到第三層取得最好的效果,過少的層數由于模型結構的簡單而無法完全獲取到模型的變化趨勢與內在規律。過多的層數由于模型的復雜和訓練過程中梯度的消失,最終結果反而變差。
本文將Stacked-LSTM與ANN、RNN、TCN[10]等模型進行對比。結果如表一所示,Stacked-LSTM僅預測第三天的結果比ANN低了0.04%,在其他時間段準確率均高于ANN,Stacked-LSTM的預測SSHA的效果總體上好于ANN。并且Stacked-LSTM在任意時間段的準確率均高于TCN、RNN等模型。
同時,我們根據2009/05/09~2009/05/13的預測值和實際值差的絕對值作出灰度圖,如圖1所示。根據統計,差值絕對值在0.01cm以內的區域占總區域的比值分別為99.44%、96.09%、89.27%、80.56%、73.40%,說明我們的模型具有空間穩定性。圖2為2010/12/27~2010/12/31的灰度圖,與圖1間隔約500天,進一步證明模型在經過長時間的間隔后,仍然具有預測能力。此外,由于黑潮的影響,南海北部海表面高度異常的振幅變化較大[11],對海表面高度異常預測具有一定影響,導致我們的模型在南海北部的預測誤差相對較高。

圖1 真實值與預測值差的絕對值(2009/05/09 ~2009/05/13)

圖2 真實值與預測值差的絕對值(2010/12/27~2010/12/31)

表1 不同模型實驗結果比較
在本文中,我們將SSHA的預測當作時間序列問題,在LSTM基本單元的基礎上,采用stacked-LSTM模型,使用歷史SSHA數據預測未來的SSHA數據。據本文所知,這是第一次采用LSTM進行SSHA的預測,模型采用LSTM單元捕捉SSHA時間序列的變化規律,采用Dense映射得到最后的結果。在中國南海的SSHA數據集上,對未來120h的預測都取得了不錯的效果,并與ANN、RNN以及近期提出的TCN進行了對比,發現我們的模型總體效果最好,證明我們提出的方法在預測南海未來SSHA值的有效性。
對于未來的工作,可以考慮結合其他因素對海表面高度異常的影響,考慮多因素下的SSHA預測或許會取得更好的預測效果,并且可以引入膜計算,提高模型的計算效率[12~13]。