周瑋辰,韓震,2,張雪薇
(1.上海海洋大學 海洋科學學院,上海 201306;2.上海河口海洋測繪工程技術研究中心,上海 201306)
海面高度異常(Sea Level Anomaly,SLA)是反映海洋環(huán)境狀況的重要變量之一,常用來進行海洋中尺度渦旋的識別和追蹤(陳亞飛等,2016)。海面高度異常對船舶導航、漁業(yè)資源預測和海洋工程與工業(yè)具有重要的意義(Bhatpuria et al,2015;Carton et al,2005;Gao et al,2016)。此外,由于海洋中溫鹽結構分布差異引起的膨脹和收縮造成的熱含量變化是引起海面高度改變的因素之一,因此海面高度異常的研究對揭示海洋溫鹽變化規(guī)律及動力過程也有著深刻意義(Chelton et al,2011)。
海面高度預報已經發(fā)展出了許多基于經驗正交函數分析方法的數值模型,這些模型的物理公式并不完美,且運行模型需要大量的計算資源,不適合大規(guī)模和大尺度的海面高度預報(徐凌宇 等,2018;楊德全等,2019)。近年來,隨著衛(wèi)星遙感觀測、導航觀測、各種水下設備采集和再分析數據的積累,通過人工智能方法對SLA 數據進行預測成為可能。2002 年,人工神經網絡(ANN)被用于地中海的海表面高度預測(Rixen et al,2002)。2010 年,Ghorbani 等(2010)分析了遺傳編程和人工智能方法預報海表面高度的可行性。隨著計算機硬件的發(fā)展和新算法的不斷涌現,以及更強大的神經網絡模型的提出并使用,除了對圖像特征提取高效的卷積神經網絡外(Convolutional Neural Net原works,CNNs) (周飛燕 等,2017),基于時間序列的遞歸結構的神經網絡成為近年來的研究熱點(楊麗等,2018)。遞歸結構的深度學習網絡模型,如遞歸神經網絡(Recurrent Neural Network,RNN)和長短時記憶網絡 (Long Short-Term Memory,LSTM),適用于時間序列的數據預測分析。其中LSTM 網絡被廣泛應用于海洋環(huán)境參數的預測(Zhang et al,2020;魏昱洲 等,2019;Xiao et al,2019)。相較于大尺度的海水溫度場和風場,海表面高度數據變化多樣,大量中尺度渦具有明顯的邊界,這導致LSTM 網絡在預測SLA 上效果不佳(Imani et al,2014)。2015 年,Krizhevsky 等(2015)提出了U-Net 全卷積網絡模型,該模型可以在小樣本數據集中高效提取高維圖像特征并準確分割影像。本文參考U 型網絡結構提出基于融合U-Net 及卷積長短記憶網絡(Convolutional LSTM Network,ConvLSTM)的中長期海面高度異常預報模型,該模型可以更有效、更準確地預測大尺度的月均海面高度異常。
海面高度異常是衛(wèi)星觀測海面高度的最佳估計值與平均海面的差值。本文的SLA 數據來源于哥白尼海洋數據服務站(Copernicus Marine Service)。研究區(qū)域為中西太平洋(0—30毅S,135毅E—180毅E)。海面高度異常數據產品是多源衛(wèi)星融合觀測結果,空間分辨率為0.25毅的月均全球海面高度異常數據。數據集為1993 年1 月至2019 年9 月共321 個月的月均SLA 數據,1993 年1 月至2010 年12 月數據作為訓練集,2011 年1 月至2015 年12 月數據作為測試集,2016 年1 月至2019 年9 月數據作為驗證集。訓練集中總共有5 964 600 個樣本,其數據分布如圖1 所示。
圖1 海面高度異常值分布圖
從圖1 可以發(fā)現,高度異常數據主要的范圍在-0.2~0.3 m 之間,約占總數據量的96.81%。在神經網絡模型的訓練中,個別極大值或極小值會造成數據分布極度不均勻,在擬合能力較弱的網絡中極易造成梯度消失的情況,因此去除這些少數的極大值和極小值,將大于0.5 m 和小于-0.2 m 的數據分別替換為0.5 m 和-0.2 m,處理后的數據既滿足了合理的訓練數據分布又保留了絕大多數海面高度異常數據。
在人工智能深度學習的網絡模型中,RNN 和LSTM 遞歸網絡適用于時間序列數據的預測,然而在針對具有時空變化的圖像張量數據時,這些預測網絡會丟失空間上結構信息,導致預測精度下降。卷積長短記憶網絡結合了卷積網絡對圖像特征的提取和遞歸網絡對未來數據預測的優(yōu)點,既兼顧了參數的空間變化特征又很好地預測了未來的數據變化(Shi et al,2015)。
長短時記憶網絡在1997 年被提出(Hochreiter et al,1997),其在RNN 的基礎上增加了兩個結構:細胞狀態(tài)和門結構。細胞狀態(tài)用來記錄時間序列特征,門結構用來控制之前時刻的信息保留量問題,該結構克服了RNN 難以訓練和梯度消失等問題。該網絡結構如圖2 所示。
圖2 LSTM 結構圖
其中,莓為Hadamard 乘積,i、f、o 分別為輸入門,遺忘門和輸出門,x 為網絡輸入,W 為網絡參數,b 為偏置量,h 為隱藏狀態(tài),滓為Sigmoid 函數。
ConvLSTM 網絡是在LSTM 的基礎上加上卷積操作,因此對于圖像的特征提取會更加有效。其采用類似LSTM 的門結構控制信息流動,輸入門、細胞狀態(tài)、遺忘門和輸出門的表達式類似(Shi et al,2015)。LSTM 與ConvLSTM 不同的是各個門結構中的信息輸入由點積替換為卷積操作,細胞狀態(tài)更新依然保持點積不變。權重部分放到了卷積核內,部分放入循環(huán)層的循環(huán)核。卷積核Wi、Wf和Wo在空間二維矩陣滑窗,得到的卷積結果,按照門結構進行輸入、更新細胞狀態(tài)、遺忘和輸出。
其中,it為輸入門,ct為細胞狀態(tài),ft為遺忘門,ot為輸出門,ht為隱含層輸出,滓為sigmoid 函數。
圖3 為三個預測SLA 預報模型的流程圖,包括LSTM 模型、ConvLSTM+CNN 模型和基于融合U-Net 及ConvLSTM 層的預測模型。
圖3 模型流程圖
LSTM 模型最簡潔,輸入數據后經過兩層LSTM網絡和一層全連接層(Dense Layer)后輸出預測結果。ConvLSTM+CNN 模型通過三層ConvLSTM 層和兩層CNN 層輸出結果,該模型在中大尺度海水溫度的預測上有非常好的表現(Xiao et al,2019;Zhang et al,2020)。
本文提出的融合U-Net 及卷積長短記憶的網絡模型采用了U-Net 網絡結構并加入ConvLSTM層。模型由編碼器網絡和解碼器網絡組成,圖像進行下采樣的同時卷積核翻倍,下采樣的過程可以對海面高度異常數據進行高維特征信息的提?。↙i et al,2019;Hu et al,2020)。對稱的層采用疊加進行跳躍連接,實現了不同尺度圖像特征的融合,提高了圖像分割的精度(Ronneberger et al,2015;計夢予等,2017)。上采樣后的卷積層替換成了ConvLSTM 層,形成對不同尺度的海面高度異常預測的網絡結構。
實驗電腦使用Anaconda 的Spyder 4.15 作為程序編譯環(huán)境,使用Python3.7 和TensorFlow2.2 框架。實驗數據為1993 年1 月至2019 年9 月共321個月的月均SLA 數據。所有網絡的時間序列輸入為整理好的前12 個月SLA,模型輸出結果為預測值的下一個月SLA 數據。
在網絡模型搭建試驗過程中,以驗證集的輸出結果為依據,尋找最合適該模型的循環(huán)層和卷積層數量。每層濾波器的數量由16、32、64、96、128和256 從少到多進行嘗試,卷積核數量為3 伊3 或5 伊5。經過實驗后,最終確定最佳的循環(huán)層個數、濾波器和卷積核的數量。SLA 預測模型均為回歸模型,選擇均方誤差(Mean Square Error,MSE) 作為損失函數。在優(yōu)化器的選擇上使用Tensorflow2.2內置Keras 自帶的keras.optimizers.Adam 優(yōu)化器。Adam 是自適應矩估計(Adaptive Moment Estima原tion),在訓練過程中Adam 會根據一階矩估計和二階矩估計動態(tài)調整參數的學習率,以獲得最佳的訓練結果。Adam 初始學習率為0.000 1,一階矩估計的指數衰減率為0.9,二階矩估計的指數衰減率為0.99,模糊因子為默認的K.epsilon 常量(值為1伊10-8),用以防止除0 錯誤。訓練的停止方式使用早停策略(Early Stop),早停策略可以有效地防止過擬合現象。將最大迭代次數設置為1 000 次,在15 次循環(huán)迭代后訓練集的精度提高不超過0.000 1,則結束訓練。
通過實驗,最終LSTM 模型由兩層LSTM 層加一層全連接網絡組成,濾波器為96 個,總訓練參數為10 500 960 個。該模型每輪訓練約30 s,在訓練了700 輪后模型完成訓練。
ConvLSTM+CNN 的網絡使用了三層濾波器為96 個的ConvLSTM2D 循環(huán)層,總訓練參數為1 670 913 個。在每一個ConvLSTM2D 層后加入批標準化層(Batch Normalization layer) 對每層的輸出進行批標準化處理。使用該方法可以防止過擬合,加快模型訓練速度,穩(wěn)定訓練精度并提高模型的魯棒性(Ioffe et al,2015)。模型每輪訓練需要約210 s,總共訓練了457 輪后停止訓練。
基于U-Net 結構的ConvLSTM 網絡模型總共使用了三層ConvLSTM2D 循環(huán)層,循環(huán)層均在解碼階段上采樣后使用。編碼階段起始濾波器為64,下采樣后濾波器數量翻倍,在最深一層前后加入Dropout 優(yōu)化算法防止模型過擬合(Srivastava et al,2014;張云 等,2019)。模型總訓練參數為10 307 713 個,每輪訓練需要約180 s,在訓練372 輪時訓練完成。
SLA 預報模型屬于回歸模型,使用均方根誤差(Root Mean Square Error,RMSE)和平均絕對誤差(Mean Absolute Error,MAE)來評估模型的優(yōu)劣。將訓練好的模型分別在訓練集、驗證集和測試集上運行,將預測結果與真實結果進行對比得到均方根誤差和平均絕對誤差。表1 和表2 的均方根誤差和平均絕對誤差是所有柵格數據預測結果的平均誤差。
表1 模型的均方根誤差
表2 模型的平均絕對誤差
從表1 和表2 可以發(fā)現,預測結果的均方根誤差在0.039 ~ 0.069 m,平均絕對誤差在0.049 ~0.026 m。其中LSMT 網絡測試集的均方根誤差和平均絕對誤差在三個模型中最大,U-Net+Conv LSTM 網絡的預測結果最準確,驗證集和測試集的誤差在三個模型中最小。而訓練集中LSMT 網絡的均方根誤差和平均絕對誤差均小于其他的兩個網絡,這是由于LSTM 網絡模型的泛化能力較弱,在測試集上表現出了明顯的過擬合現象。
為了更好地展示訓練結果,繪制了2019 年6月的真實海面高度異常值和三個模型預測的SLA結果(圖4),色標的范圍在-0.1~0.2 m 之間。
圖4 2019 年6 月的真實海面高度異常值和三個模型預測的SLA 結果
從圖4 可以發(fā)現,海面高度異常結構復雜,存在多個中尺度渦且邊界明顯。使用LSTM 網絡模型預測的結果非常差,只能粗略地預測出大范圍海域的高度異常趨勢,丟失了大部分中尺度渦的邊界信息,且預測值與真實值也有較大差距。而使用ConvLSTM+CNN 網絡模型預測的結果可以有效地獲得大部分的海面高度異常趨勢變化,但是對其中中尺度渦邊界的預測還是不夠理想。結果最好的是U-Net 結構的ConvLSTM 網絡模型,該網絡較好地預測了海面高度異常的變化,不僅整體的變化趨勢符合真實值,而且對于高度異常中存在較為復雜渦旋的邊界也有非常好的預測效果。為了更好地說明預測模型在單一坐標點的預測精度,選取了圖4(4)中LSTM 網絡紅色方框中心位置(165毅E,-20毅S)的坐標點,該點常年具有明顯的海面高度異常起伏,適合作為參考點判別模型的優(yōu)劣。圖5為該坐標點SLA 真實值與預測結果的對比,其中黑色實線為真實海面高度異常值,綠色和紅色虛線分別為驗證集和測試集的SLA 預測結果。
由圖5 可以發(fā)現,LSTM 網絡的預測效果較差,真實值和預測值存在較大的差異,同時還存在大量的相反趨勢預測結果。ConvLSTM+CNN 模型具有較好的預測效果,但是在2016 年年中的預測結果中,存在相反的趨勢預測。效果最好的是UNet 的ConvLSTM 網絡模型,該模型沒有出現明顯錯誤的趨勢預測,且與真實值之間的差距也較小。
表3 為該坐標點的預測值與真實值的誤差統(tǒng)計。根據統(tǒng)計結果,U-Net+ConvLSTM 模型優(yōu)于LSMT 模型和ConvLSTM+CNN 模型,其均方根誤差和絕對值誤差均小于其他模型,相關系數R2在三個模型中也是最高。與圖5 的分析結果相同,UNet+ConvLSTM 模型的預測結果最佳。
圖5 坐標點SLA 預測結果
表3 坐標點SLA 誤差統(tǒng)計
通過計算相關系數R2可以判斷預測模型的優(yōu)劣,此外相關系數R2可以反映網絡能否有效地預測出區(qū)域SLA 趨勢的變化。當一片區(qū)域的海面高度異常升高,模型如果判斷出相反的趨勢,則相關系數R2會呈現負值,因此模型總體的相關系數R2可以有效地說明模型對研究區(qū)域高度異常趨勢的判斷正確與否,結果如表4 所示。
表4 模型R2 統(tǒng)計
從表4 可以發(fā)現,LSTM 網絡在驗證集和測試集上的相關系數R2為負值,說明大范圍的SLA 趨勢判斷中出現了相反的趨勢。ConvLSTM+CNN 的網絡的相關系數R2為正值,但是相關系數R2數值較低,說明該網絡模型在趨勢判斷中,有部分預測值與實際值存在較大偏差。U-Net+ConvLSTM 網絡的相關系數R2均超過0.6,說明大多數SLA 的趨勢預測獲得了正確的結果。除了LSTM 網絡,其他兩個網絡在驗證集和測試集的相關系數R2均高于訓練集的結果。這是由于訓練集數據量大,且主要的極大和極小值都存在于訓練集,因此訓練集結果相對較差。
人工智能方法以數據驅動的方法“學習”了隱藏在海面高度異常數據中的規(guī)則。本文使用了基于人工智能深度學習的LSTM、ConvLSTM 遞歸層的網絡,并提出基于融合U-Net 和ConvLSTM 的預測模型。研究結果表明,加入全連接層的LSTM 網絡模型無法較好地預測海面高度異常?;贑onvL原STM 的預測網絡由于可以通過卷積的方法提取SLA 的空間特征,有效地降低了誤差的同時也可以較好地預測SLA 的變化。測試集SLA 預測值的均方根誤差和MEA 分別為0.049 4 m 和0.034 6 m,但是該網絡對SLA 中尺度渦形狀和邊界的預測還是不夠理想。而基于融合U-Net 和ConvLSTM 的預測模型則通過U-Net 結構可以有效地提取高維SLA 特征,通過非線性的方法上采樣并疊加下采樣過程中不同尺度的空間特征,后連接ConvLSTM 遞歸層做預測,該方法得到的SLA 預測效果最佳。測試集的均方根誤差和平均絕對誤差分別為0.039 m和0.027 m,均大幅優(yōu)于前兩個網絡模型,而且在趨勢判斷上保持了較高的準確度。綜上所述,使用深度學習的方法預測月均SLA 可以高效快速地獲得預測結果,為海表面高度異常的預報提供了新的方法。本文的預測模型也存在不足,由于SLA 的變化與海水溫度和鹽度等其他參數有著密切的關系,只考慮單一的SLA 變量是不夠的,下一步工作是將更多相關參數加入模型,進一步提高海面高度異常的預測精度。