王懷兵 萬曉云 Richard Fiifi Annan
1 中國地質大學(北京)土地科學技術學院,北京市學院路29號,100083
海底地形測量作為海洋測繪的一項重要內容,對科學研究、資源探索、軍事戰略以及經濟建設都具有重要作用[1]。海底地形模型的構建一方面可以為船舶航道和航行安全提供保障,另一方面可以為深海探測以及航行提供基礎資料[2]。傳統的水深測量是利用船載回聲探測技術,這種技術雖然精度高,但價格昂貴、費力、費時[3]。衛星測高技術使得利用衛星重力數據獲取海底地形成為可能,尤其隨著重力反演理論的不斷成熟,利用衛星測高資料獲取海底地形成為一種新型技術[4]。該技術可極大彌補傳統測量方法的不足,具有空間覆蓋范圍大、成本低等特點[5]。
機器學習作為一種新型技術,開始主要用于圖像識別、監督分類等方面[6],但隨著技術的不斷提高,近年也被用于近岸海底地形反演,并取得較好效果。Ai等[7]基于卷積神經網絡對遙感影像部分波段的特征信息進行學習,并取得較好的預測結果; Liu等[8]提出一種一維卷積神經網絡深度學習方法,根據原始實驗回波數據直接反演水深,結果表明,該深度學習方法對于處理大量LiDAR測深回波波形具有可行性。
本文首先利用卷積神經網絡對重力場信息進行訓練學習,并將預測結果與船測水深數據、國外水深模型數據進行對比分析;然后,對加入同源重力場產品數據是否會提高模型預測效果進行研究;最后,簡要分析訓練集的占比(訓練集占總數據集的比例)對卷積神經網絡預測結果精度的影響。
卷積神經網絡(convolutional neural network,CNN)是一種基于深度學習的神經網絡模型。與傳統的神經網絡不同,CNN利用卷積操作和池化操作,能夠有效提取數據特征,從而完成對數據的高效分類和識別等任務[9]。
CNN基本組成部分包括卷積層、池化層、激活函數、全連接層等。其中,卷積層是CNN的核心部分,其通過對輸入數據進行卷積操作,可以提取出數據的各種特征。為了防止卷積過程中前層網絡參數發生變化導致模型訓練失敗以及保證模型的快速收斂,在進行卷積之前,對輸入數據統一進行歸一化處理,然后利用3×3卷積核進行卷積。目前對于卷積層數的選取缺乏理論依據,均是通過實驗經驗進行設置[10]。通過實驗分析,本文設置5個卷積層進行處理,第1層卷積使用128個神經元,第2、3層包含256個神經元,第4、5層包含512個神經元。在每個卷積層后面均加入歸一化層以及修正線性單元(ReLU)層。加入歸一化層的目的是為了使網絡快速收斂,同時由于ReLU層中ReLU函數會將坐標和重力信號設置為負值,并且所有深度都設置為0,如果不進行歸一化處理,將會導致訓練模型出錯[11]。在第1、2層卷積后面加入池化層,池化操作通常包括對特征圖的某個區域進行最大值或平均值處理,從而減小特征圖尺寸。本研究采用最大池化層以2×2為移動窗口、步長為2進行池化處理。在卷積和池化操作之后,CNN會通過全連接層將數據映射到輸出類別上。全連接層通常是一個具有多個神經元的網絡層,每個神經元都與前一層的所有神經元相連。最后加入dropout層以及回歸層,前者是在模型參數過多但訓練樣本較少的情況下可以最小化網絡的過擬合,在一定程度上達到正則化的效果,后者用于回歸。對于模型參數,該網絡以初始學習率0.001訓練10個歷元,每個歷元迭代3 768次。用于更新權重的優化算法是帶動量的隨機梯度下降算法。本研究中CNN示意圖如圖1所示。

圖1 CNN原理圖
本文以決定系數(R2)、均方根誤差(RMSE)以及平均絕對誤差(MAE)3個指標對預測結果進行評價[12],表達式為:
(1)
(2)
(3)

本文選取南海(112°~119°E,12°~20°N)作為研究區域,主要因為南海區域地形結構比較典型,且多位學者采用傳統方法(如頻域法、重力地質法)對該地區進行過研究計算,便于對比分析。
本研究使用的船測數據來自美國國家海洋和大氣管理局國家環境信息中心(NOAA,https:∥maps.ngdc.noaa.gov/viewers/geophysics/),主要用于深度學習預測海底地形和精度評估。垂直重力梯度異常(VGG)、重力異常(GA)、垂線偏差(DOV)均采用Scripps海洋研究所(SIO,https:∥topex.ucsd.edu/pub/)提供的模型數據。海底地形模型數據分別來自SIO發布的SIOV25.1模型、丹麥科技大學(DTU,https:∥ftp.space.dtu.dk/pub/DTU21/1_MIN/)發布的DTU21BAT模型以及國際海道測量組織(IHO) 和政府間海洋學委員會(IOC) 聯合發布的世界大洋海底地形數據GEBCO_2022模型(https:∥www.gebco.net/data_and_products/)。
在訓練過程中,本文使用3種重力信號數據集,并選取80%的水深數據作為訓練集、10%作為驗證集、10%作為測試集,每個數據集中水深點數分別為100 182、12 523和12 523,結合§1.1構建的CNN網絡以及參數設置對模型進行訓練,分析模型訓練效果。完成訓練后,通過訓練集和驗證集的誤差曲線來分析模型性能(圖2)。

圖2 模型訓練進度
從圖2可以看出,訓練集和測試集的損失函數曲線在迭代約700次時達到飽和狀態,曲線接近于0。結合圖3、4可以得出,本次模型訓練效果良好,預測水深與船測水深具有較好的線性關系。通過計算可知,R2值為98.3%,測試點誤差呈現標準正態分布,且大部分都在-300~300 m之間。

圖4 測試點誤差分布直方圖
通過訓練得到的模型對全部數據集進行預測,并與船測水深數據進行精度對比,繪制預測結果與船測水深空間分布圖(圖5)。通過3σ準則篩選出異常值,并將精度統計結果呈現在表1和反演誤差分布直方圖(圖6,圖中藍色線代表以100 m為間隔,反演誤差在每個分段占總數的百分比曲線)中。

表1 CNN預測水深模型與船測水深模型精度統計

圖5 CNN預測水深和船測水深空間分布

圖6 誤差分布直方圖
通過圖6可以看出,反演誤差符合正態分布,且在-300~300 m范圍內點數占總點數的95%以上。結合表1可知,CNN預測結果與船測水深的誤差平均值為7.955 m,標準差為88.289 m。
將CNN訓練得到的預測結果分別與SIOV25.1、DTU21BAT、GEBCO_2022模型進行對比分析。首先繪制CNN預測水深與其他各模型水深空間分布圖(圖7),然后進行精度統計(表2)。

表2 精度統計

圖7 預測水深與其他各模型水深空間分布
從圖7可以看出,在淺海地區,CNN預測模型與其他模型存在較大差異,這主要是因為本次模型是利用水深數據進行學習,而船測數據在淺海地區數據相對較少,同時也缺乏陸地數據。由表2可見,CNN預測結果與SIOV25.1、DTU21BAT、GEBCO_2022模型的誤差平均值分別為-4.358 m、-3.749 m、0.014 m,標準差分別為124.989 m、127.563 m、130.826 m。
研究表明[13-14],利用重力場產品數據進行融合可以提高海底地形反演精度。§3.2使用3種重力信號進行反演,難以區分不同類型數據的影響。為了分析不同類型數據的貢獻,使用不同數據類型進行深度學習,并對預測結果進行對比分析(表3)。

表3 不同組合的學習結果統計
由表3可知,隨著SIO模型重力場數據的加入,反演結果與船測數據之間的標準差逐漸減小。結果表明,同源重力場信息的加入可以有效提高深度學習算法反演海底地形的精度,圖8為全部水深點處誤差分布,可以看出,反演誤差在-200~200 m范圍的比例在逐步提高,進一步驗證了該結論。

圖8 全部水深點處反演誤差分布直方圖
從圖9可以看出,在水深大于2 000 m時,隨著重力信息的加入,誤差標準差在逐漸降低,說明重力信息的加入可以提高深海區域海底地形反演精度;而在水深小于1 000 m時,根據圖中-1 000~0 m變化趨勢可知,該區間水深反演精度的提升主要歸功于垂線偏差數據的加入,重力梯度數據并未提升反演精度。理論上,在深度學習中,高精度數據的加入可以提高預測精度,精度較低數據的加入可能會導致預測結果較差,因此本研究出現以上結果可能是因為在水深小于1 000 m區域,重力梯度數據的精度較低。

圖9 標準差隨水深的變化
§3.1~3.3都是基于以80%船測水深數據作為訓練集、10%作為驗證集、10%作為測試集對海底地形反演精度進行研究,為分析不同數量訓練數據的影響,本節分別以80%、70%、60%以及50%的船測水深數據作為訓練集,其他數據集占比不變,分析不同訓練集數據量對海底地形反演精度的影響,統計結果見表4。

表4 不同訓練集數據量海底地形反演結果精度統計
為了更直觀地觀察不同數據量的反演結果精度變化情況,圖10為反演誤差隨訓練集數據量變化的標準差曲線。

圖10 標準差隨訓練集占比的變化
結合表4和圖10可以看出,分別以訓練集占比80%、70%、60%以及50%進行模型訓練,并將預測結果與船測水深數據進行精度統計,得到標準差分別為88.289 m、91.526 m、92.833 m、96.022 m,表明隨著訓練集數量的增多,CNN模型訓練效果逐步提高,水深預測結果精度逐漸提高。
本文利用重力異常、垂線偏差、垂直重力梯度異常數據和船測水深數據,對CNN神經網絡模型進行訓練,預測南海地區海底地形。通過與真實船測水深、SIO模型、DTU模型以及GEBCO模型數據進行對比,得到標準差分別為88.289 m、124.989 m、127.563 m、130.826 m。將重力信息分成4組進行訓練并預測:重力異常,垂直重力梯度異常與重力異常,垂線偏差與重力異常,以及垂線偏差、重力異常與垂直重力梯度異常。根據統計結果可知,4組數據反演結果與船測水深之間的標準差分別為104.780 m、102.778 m、93.788 m、88.289 m,表明同源信息的融合可以提高水深反演精度。最后,研究分析訓練集占比對CNN模型預測結果精度的影響,結果表明,數據量的增多可以有效提高模型學習結果的精度。基于深度學習的水深反演無需建立物理原理模型,且便于融合各類數據進行聯合反演。未來隨著海洋重力場數據的豐富[15],深度學習在海底地形反演中有望發揮更大作用。