孫 苗,趙龍飛,孔祥超
1.國家海洋信息中心 天津 300171
2.自然資源部海洋信息技術創新中心 天津 300171
3.天津農學院 天津 300392
海表面溫度 (Sea Surface Temperature,SST)是太陽輻射、海洋熱力、動力過程以及海氣相互作用的綜合結果,是海表面水汽和熱量交換的一個重要物理參數[1,2]。因此,海表面溫度的變化一直備受關注,常用的海表面溫度預報方法主要分經驗預報、數值預報和統計預報等三類。其中,經驗預報根據海溫自身變動的持續性、周期性、相似性以及與其他要素的相關性,進行定性或定量的預報[3]。數值預報,采用模式或者同化了實測數據的模式進行海溫預報[4],但預測精度受初始邊界條件、次網格物理過程參數化等影響。統計預報是從數理統計的角度進行預報,包括多元分析與時間序列分析法[5]。然而由于物理機制認識上的不完備、人類活動影響等現實復雜性,傳統的海洋預報仍存在一定的技術瓶頸。隨著大數據、人工智能等關鍵技術的發展,以及計算機軟硬件環境的不斷提升,深度學習通過一個比較泛化的學習過程從輸入數據中學習,具有非線性、容錯性、自適應性等特點,能夠改善傳統預測方法的不足。
本文以南海為研究區域,在梳理對比深度學習框架與模型方法的基礎上,建立了基于卷積神經網絡-長短期記憶網絡 (Convolutional Neural Network-Long Short-Term Memory,CNN-LSTM)的南海區域海表面溫度預測模型,并與單純基于卷積神經網絡或循環神經網絡的預測結果進行了對比分析。結果表明,基于CNN-LSTM的SST預測模型,考慮了SST的時空特征,相比于單純的卷積神經網絡或循環神經網絡模型在時效上能夠達到更好的預測效果,進一步分析了相比于先用長短期記憶網絡再采用卷積神經網絡的方法 (LSTM-CNN),CNN-LSTM能夠更好的保留空間和時間信息,避免因為先用LSTM對數據進行拉伸處理造成空間信息的丟失問題。
深度學習作為機器學習的一個分支領域,是可以直接將原始數據送入機器并自動發現數據中所包含特征的一類算法,省去特征提取器的人工創建步驟,最終達到分類識別以及預測預報的目的。
在海洋領域,隨著衛星遙感的長時間、大范圍觀測積累了海量數據,大數據技術的更新迭代,促使著深度學習應用于海洋數據挖掘,用以解決海洋空間信息高效提取、分析預測等問題。近幾年,深度學習在海洋數據挖掘分析的研究層出不窮,Orenstein等[6]采用CNN對3.4×106個浮游生物的圖像進行進行了準確分類,且效率和精度都高于傳統的手動篩選方法。Bentes等[7]則采用深度神經網絡對合成孔徑雷達 (Synthetic-Aperture Radar, SAR)圖像數據進行自動分類,提高了分類效率。 Ducournau等[8]采用CNNs方法對SST數據進行了高分辨率重構,該工作使用多年多源SST遙感觀測數據進行雙三次插值生成的高分數據作為標準數據對深度學習模型進行訓練,模型經過訓練后可以將由雙三次差值的低分辨率SST重構為高分SST。Ducournau和Fablet[9]提出了一種基于深度學習的圖像超分辨率模型與復雜的卷積神經網絡方式,對SST數據進行研究,評估應用于海洋遙感數據的深度學習體系的效率與相關性,其結果驗證了經過專門訓練的海洋遙感數據的深度學習模型,能支持重建高分辨海洋表面溫度場。Zhang等[10]首先采用了RNN中的長短期記憶網絡 (Long Short-Term Memory,LSTM)模型用于SST數據的預測,Yang等[11]在其基礎上,提出采用LSTM與CNN相結合的方式,在構造模型的過程中先進行時間信息的提取,再增加一個卷積層提取空間信息,并在實驗中證明時空序模型比單純的時序模型更能對中國近海數據集進行精準預測。
南海是我國三大邊緣海之一,自然海域面積約3.5×106km2,生物多樣性豐富,常年受季風影響。本研究以南海為研究區域,地理范圍為105°E-125°E,0°N-25°N,研究該區域海表面溫度的預測模型的建立問題。

圖1 研究區域地形圖
海表面溫度數據可以通過衛星微波輻射計紅外輻射計、實時錨定、漂流浮標及船測獲取,是氣候和天氣的重要測量參數。不同的儀器可以測量不同深度的溫度,當從高空遙測海表面溫度時,觀測的深度通常與衛星儀器的頻率有關。如,紅外輻射計測量的是大于20 μm深度處的溫度,微波輻射計測量的是幾mm深度處的溫度。Remote Sensing System(RSS)提供的微波優化插值SST則代表著1 m深度處的SST值。RSS提供兩種優化插值的SST天數據產品,一種是微波數據,25 km分辨率,一種是微波和紅外相結合的數據,9 km分辨率。考慮到時間跨度較長、數據量更大,本研究采用的微波海表面溫度數據,時間跨度為1998年1月1日至2018年12月31日,時間分辨率為d,空間分辨率為25 km。
CNN多用于空間特征提取,目前較流行的模型包括LeNet,AlexNet和GoogLeNet。其中,LeNet[12]是1998年Yann LeCun設計提出的,用來識別手寫數字的模型,也是最經典的卷積神經網絡之一。CNN以數據為驅動進行模型訓練,是一個每層由多個二維平面組成,每個平面由多個獨立神經元組成的多層神經網絡。每一個神經元的輸出是神經元節點特征以一定的權重乘以上一層特征的輸入值,再加上偏差值,再經過非線性變換得到。其公式描述如下:

其中xi是神經元輸入值,ωi為該神經元輸入值的權重大小,b為偏差值。f(x)則是從輸入到輸出映射的非線性函數。輸入層通過卷積算子進行卷積計算后在C1層形成特征圖 (Feature map),C1通過池化計算,形成S2特征圖。S2特征圖進行卷積后形成C3,C3經過池化計算形成S4層,最后經過全連接層和分類層,形成輸出層。一般來說,C層為特征提取層,用于提取前一層的特征。S層為特征映射層,也是池化層,用于降低特征提取結果對圖像變形的敏感度,泛化出更一般的特征。具體結構如圖2所示。

圖2 CNN結構示意圖
RNN[13]通過網絡中的環狀結構將上一時間點的輸出進行 “記憶”并達到影響下一時間點的目的,常用于處理和預測序列數據[14],其結構如圖3所示。通過神經網絡主體結構W將歷史輸入狀態進行總結,使得隱藏層h包含現有的輸入和過去的 “記憶”。

圖3 RNN網絡原理示意圖,其中X為輸入層,h為隱藏層,O為輸出層,W為神經網絡的主體結構
RNN隱藏層h的值不僅取決于當前時刻的輸入值X,還取決于前一時刻的隱藏層h的值,隱藏層的用公式表達如下:

其中U是輸入層到隱藏層的權重矩陣,V是隱藏層到輸出層的權重矩陣,W是隱藏層上一時刻的值作為當前時刻輸入的權重,然而,由于訓練過程中梯度消失或爆炸等問題,在實際應用中可采用LSTM用于對信息進行長期存儲。LSTM包含一個記憶細胞和3個 “門”,分別是遺忘門、輸入門和輸出門。LSTM通過 “門”結構控制信息的通過,調整 “記憶”的重點,緩解梯度消失或爆炸問題[11]。
因此,構建由CNN和LSTM相結合的預測模型,可以充分發揮模型優勢,實現數據特征識別和預測。
深度學習模型的訓練通常分為遷移學習法和底層建模法。遷移學習法在海洋領域已經證明在數據分類、數據重構等方面具有較好的建模效果[6,8]。底層建模法主要采用網格搜索 (Grid Search),即對模型層數、神經元個數、收斂函數算法等進行組合實驗。考慮到應用的特殊性,本研究分別采用CNN,LSTM,CNN+LSTM 3種算法建立南海區域海表面溫度的預測模型并進行對比分析,采用底層建模法進行模型調整訓練。基本流程包括數據處理與構造、模型訓練及結果輸出,如圖4所示。

圖4 深度學習海表面溫度預測工作流程示意圖
采用3個標準對模型預測精度進行評估,分別是均方根誤差 (RMSE),平均絕對百分比誤差 (MAPE)和平均絕對誤差 (MAE)。

其中yt是真實值,是模型預測值。RMSE為衡量觀測值與真實值之間的偏差。MAE可以反映預測值誤差的實際情況,數值越接近于0,則模型預測精度越高。
根據研究區域范圍和數據的時空分辨率,實驗數據每個時間點 (天)圖像包含100*81個像素,共21年。按時間順序,前70%為訓練數據,中間20%為測試數據,后10%為驗證數據。

圖5 數據組織示意圖
對訓練數據按照7*7*L三維體進行分割,獲得輸入數據大小為7*7*L,7*7像素可以覆蓋大多數中尺度特征,可有效保留空間信息、提高訓練效率。L根據預測天數進行設置,本實驗設為7,即預測7天的海表面溫度數據。
3.3.1 基于CNN的海表面溫度預測模型
基于CNN的海表面溫度預測模型,實驗過程中通過增加模型深度、神經元數量和池化層數等策略進行模型調整,但均未得到較好的模擬效果,進一步佐證模型并非越復雜模擬效果越好。經過對比篩選和模型評價,最終針對本實驗數據建立了一層模型20個神經元的CNN網絡。為了對比過濾器采樣范圍對模型的影響,采用Valid和Same兩種方式對卷積核進行采樣,其采樣原理如圖6所示。通過表1可以看出Valid采樣方法,最終得到的模型略好于Same法,后續模型訓練均采用Valid采樣方法。

圖6 卷積核采樣范圍示意圖

表1 CNN模型精度評估及對比
3.3.2 基于LSTM的海表面溫度預測模型
基于LSTM的海表面溫度預測模型采用同樣訓練策略,實驗結果如表2所示,可以看出相比于單純的CNN,LSTM具有更穩定的表現。但是同樣區域大小的數據,LSTM訓練建模迭代次數多、時間消耗長,建立的模型結構更加復雜。最終形成了3層深度模型,每層深度模型的神經元個數分別為12、15和34。

表2 LSTM模型評估
3.3.3 基于CNN-LSTM的海表面溫度預測模型
CNN-LSTM模型先提取數據的空間特征,后提取時間序列特征。LSTM-CNN網絡則先在時間序列上進行計算建模,后提取空間信息,然而LSTM對網格數據處理時先進行拉伸處理,會丟失空間信息。因此本研究采用CNN-LSTM模型,得到實驗結果對比如表3所示。

表3 CNN-LSTM實驗結果對比
通過對比可以得知2層CNN+3層LSTM的模型精度更高,相比單獨的CNN表現更佳,與單獨的LSTM相比雖沒有明顯的模型預測優勢,但卻提高了模型預測效率,這可能與CNN進行特征提取空間過程將圖像劃分粒度更小,易于LSTM進一步處理有一定的關系。綜合考慮效率和精度,CNN+LSTM優于單獨的CNN或LSTM,本研究最終建立的CNN+LSTM模型包含神經元個數為20,30,12,15和34。
本文采用了CNN、LSTM和CNN-LSTM 3種方法建立了南海海表面溫度預測模型,并對結果進行了分析。基于CNN-LSTM的SST預測模型,考慮了SST的時空特征,相比于單獨的CNN和LSTM模型在時效性方面能夠達到更好的預測效果。相比于LSTM-CNN,CNN-LSTM方法能夠更好的保留空間和時間信息,避免LSTM因為數據的拉伸造成空間信息的丟失問題。
傳統的數值模擬預測海表面溫度多依賴于物理模型,以深度學習為代表的海表面溫度預測方法則以數據為驅動,通過 “學習”建立模型。然而,由于深度學習適用范圍和可解釋性還存在一定壁壘,未來通過將 “知識-數據-算法-算力”相結合的方式,為深度學習提供更廣的發展機遇,不斷拓展人工智能等新技術在海洋數據分析挖掘、預測預報等方面的應用研究,提高長時序、大空間范圍的海洋數據規律認識能力和工作效率。