黃子炎,王慶賓,趙東明,馮進凱,譚勖立
(信息工程大學,鄭州 450001)
重力數據是地球重力場研究的基礎,同時也是大地測量學、地球物理學和空間科學等學科與領域開展相關研究所必須的基礎資料,但在陸地、海洋和航空的重力測量過程中,容易受外界觀測環境和測量系統本身的影響,導致實測的重力數據中通常混雜著各種噪聲誤差,因此如何對含噪聲數據進行有效處理是一個重要問題[1,2]。國內外學者針對該問題進行了廣泛研究。IIR(Infinite Impulse Response)和FIR(Finite Impulse Response)數字低通濾波器方法可以簡單有效地對重力數據進行濾波[3,4],但是無法分離同一頻段的信號和噪聲。小波具有較好的時頻局部化特性,可對信號進行多尺度分解濾波,劉萬國和孫中苗等將其應用到重力測量數據處理中,并取得了較好的去噪效果[5,6],然而其本質上是頻域的帶通濾波,無法對頻段外的疊加噪聲進行很好地濾除。Kalman濾波是一種基于模型的時域方法,能夠有效地進行系統內部狀態估計和重力數據信號降噪[7-9],但有時建立準確的狀態方程和設置合理的系統參數較困難。在小波強制閾值濾波之后級聯一個低階FIR濾波器的級聯濾波方法可以有效去除噪聲的影響[10],可是需要先調整參數,將重力信號分解濾波到合適層數。基于分形維數的濾波方法能有效地檢測到信號的動態變化,抑制噪聲對重力儀測量信號的影響[11],然而短時分形維數的函數需要根據信號的特點進行具體設計。盡管這些方法都取得了較好的實際應用效果,但每種方法都受到某種假設或條件限制,去噪性能在不同區域數據上的差別較大,去噪重構能力和泛化性都有待進一步提高。
深度學習[12]是機器學習的一個分支,并在圖像處理、語音處理等領域取得了顯著成果[13,14]。深度神經網絡是深度學習的核心技術,其特點是能夠充分學習不同層面的數據特性,而且隨著網絡深度的增加,模型的學習性能也會顯著提升[15],著名的LeNet、AlexNet、Google-Net和VGGNet等都具有較深的網絡結構,網絡層的堆疊通常能夠提升整體模型的學習效果,但是訓練非常深的網絡往往十分困難。這是由于在網絡加深的情況下,經典卷積結構運算存在缺陷,網絡的收斂性被破壞,在優化神經網絡過程中會出現梯度消失和爆炸問題[16]。殘差網絡(Residual Network,ResNet)[17]的出現有效解決了上述問題,Zhang[18]等又將ResNet應用于圖像去噪領域。由于存在諸多優點,基于深度學習理論的深度殘差網絡,目前也已經被應用到地震數據噪聲壓制、重力反演、遙感影像識別等領域,并取得了不錯的效果[19-21]。在重力數據去噪上,王逸宸[22]等構建了卷積自編碼器,實現了從含噪聲的重力圖像中重建重力觀測圖像。
基于此,本文提出將深度學習技術應用到重力數據處理中,構建一種基于深度殘差網絡的含噪聲重力數據到去噪重構重力數據的非線性映射網絡模型,本文稱為GraResNet(Gravity Residual Network)神經網絡。通過模型數據和實測數據進行試驗,結果表明:相較于IIR濾波方法、FIR濾波方法和小波濾波方法,本文所提方法通過學習到的重力數據特征,能夠有效地分辨重力信號和噪聲信號,從而進行更加精準和徹底的噪聲去除,同時在一定程度上避免了對有用重力數據信息的錯誤濾除,重構的重力數據局部細節更加豐富,數據分辨率更高;并且該方法還具有較好的泛化性和魯棒性,對于不同噪聲水平下的重力數據均可以表現出優異的去噪重構能力。
深度殘差網絡的基本思想是殘差學習,假設神經網絡要學習的目標映射為H(x),但是該映射較為復雜,學習難度較大,可以讓網絡學習映射:

同時原始的映射變為:

則原始的映射學習分解為一個線性的直接映射:x→x和非線性殘差映射F(x),深度殘差網絡的基本結構如圖1所示,跳躍式連接(Skip Connection)將輸入信息恒等映射到輸出端,使殘差結構學習目標與輸入的差值,保證了信息流動的完整性,降低了訓練難度。考慮到輸入和輸出數據具有相似性和實際的地球物理特性,本文采用的基本殘差結構去除了批規范層(Batch normalization, BN),避免BN層將網絡學習的數據特征進行強制歸一化,破壞數據的地球物理特性,并給端到端的學習造成困難。

圖1 基本殘差結構Fig.1 Basic residual structure
針對重力數據去噪問題,學習訓練采用的是端到端的網絡結構,深層殘差網絡的多層卷積運算可以提取重力數據的物理特征,然后采用優化算法調整網絡結構參數,需要強調的是,卷積核大小和個數、激活函數、模型優化算法和損失函數的選擇和設置是搭建去噪重構神經網絡的關鍵和難點,影響著網絡模型的性能。
基于深度殘差網絡的GraResNet神經網絡結構如圖2所示,結構中包含了4個殘差塊,共有11個卷積層(Convolution, Conv),5個修正線性單元層(Rectified Linear Unit, Relu),其中Relu函數的作用是完成不同網絡層之間的非線性映射,使得神經元具有稀疏激活性,提高收斂速度,更有利于重力數據特征的學習。第三個殘差塊跳躍連接線上的卷積層設置為1×1卷積核,其余卷積層的卷積核設置為3×3大小,步長都設置為1,并且在每次卷積后都采取補0策略,這樣保證了特征圖尺寸在卷積后不會發生改變,減少因為卷積而丟失重力數據特征和數據邊界而引入的誤差。各卷積層的卷積核個數已經在結構圖中標注,其中最后一個卷積層設置為1個卷積核,目的是將特征圖的深度降為1,保證輸入和輸出數據大小一致。

圖2 GraResNet網絡結構Fig.2 Network structure of GraResNet
GraResNet神經網絡訓練的實質就是利用優化算法,不斷最小化損失函數的過程,通過正向傳播的輸出結果與樣本標簽值之間的誤差,反向傳播來修正優化神經元權值及其他參量。本文采用均方誤差損失函數(MSE),它的定義如下:

其中y為樣本標簽值,即不含噪聲的原始重力異常數據,為經過神經網絡前向傳播運算得到的去噪后的數據,N為數據量。
Adam(Adaptive Moment Estimation)算法是在RMSProp(Root Mean Square Prop)算法[23]的基礎上改進的學習率自適應的優化算法,該算法將具有經典動量思想的RMSProp算法與2L范數相結合,適合大數據量超參數的優化問題,并且具有計算高效和收斂速度快的優勢,因此本文采用Adam算法來優化目標,最小化損失函數。
如果重力數據中包含噪聲影響,則重力數據可以表示為:

式中,x為添加噪聲后的數據,y為原始重力異常數據,n為噪聲數據。則基于深度殘差網絡的重力數據去噪重構模型可以表示為:

式中,GraResNet為神經網絡結構,θ= {w,b}為神經網絡參數,w為權重,b為偏置項。
使用GraResNet神經網絡對重力數據進行去噪重構,分為訓練和預測兩個階段。在訓練階段,使用帶標簽的樣本數據集進行學習訓練,利用多層卷積提取重力數據特征,然后使用深度學習優化算法調整網絡參數,建立復雜的神經網絡去噪模型 GraResNet(θ);在預測階段,將含噪聲的重力數據輸入到已經訓練好的GraResNet神經網絡模型中,得到預測的去噪重構數據,圖3是使用GraResNet去噪重構策略的完整流程。

圖3 GraResNet去噪重構策略Fig.3 The process of denoising and reconstruction strategy
GraResNet神經網絡模型在Tensorflow-GPU 2.4.0深度學習框架下編譯完成。配套編譯環境包括:python3.7編程語言,NVIDIA并行計算架構CUDA 11.0,NVIDIA深度神經網絡GPU加速庫cuDNN 8.0,Windows 10操作系統。硬件環境包括:NVIDIA RTX3070 Laptop GPU (4G),AMD R9 CPU,32G內存。
為衡量重力數據去噪重構性能,選取標準差Std,信噪比SNR、噪聲衰減因子β和耗時T作為評價指標,具體定義如下:

其中y為原始重力異常數據,x為添加噪聲后的數據,為去噪后的數據,N為數據量,var表示計算數據的方差,v為重構數據中的噪聲。
本文使用數據分塊的方式進行訓練和測試,即將區域重力數據按照經緯度劃分為若干塊30×30數據量的重力數據塊,這樣分割可以縮減單個訓練樣本的大小,避免大范圍數據同時輸入神經網絡,造成瞬時計算資源不足的現象。同時分塊的方式增加了用于訓練的數據塊數量,更加有利于卷積過程的特征提取和訓練出更優的神經網絡參數。需要注意的是,本文是將深度殘差網絡對圖像數據去噪的方法思路遷移學習到重力數據去噪重構問題中,而在使用深度殘差網絡處理灰度圖像數據時,圖像的像素值在0~255范圍內,而重力異常數據具有實際的物理意義,其值域一般大于這個范圍,將其直接用于神經網絡,容易產生梯度更新過大而導致神經網絡難以收斂的梯度爆炸現象,因此在重力數據用于神經網絡訓練和預測前,需要將重力數據進行映射處理,首先對數據集進行歸一化,然后強制統一到0~255的值域之間,具體處理如式(10)所示。

xi為第i個重力數據,xmax和xmin分別為數據最大值和最小值,為xi經過映射處理后的重力數據。
本文用于訓練的原始重力數據來源于衛星測高重力異常模型DTU17[24],區域范圍為40 °×40 °,數據分辨率為1′×1′,如圖4(a)所示,在數據中加入其60%標準差幅度的蒙特卡洛隨機誤差生成含噪聲重力數據,如圖4(b)所示,按照30×30的標準將圖4中的兩類數據進行分塊,構成6400對含噪聲重力數據作為樣本輸入,原始重力數據作為標簽的訓練數據集,數據統計信息見表1。

圖4 訓練集重力數據Fig.4 Gravity data of training set
在訓練階段,將訓練集6400對數據塊輸入神經網絡進行訓練,共訓練30輪次,每輪訓練的批數據個數為50,由圖5可以看出,訓練誤差在訓練前期就迅速降低,隨著訓練輪次的增加,出現小幅度震蕩現象,最后經過30輪迭代訓練,訓練誤差變化趨于穩定,網絡訓練得到收斂,收斂時的網絡誤差為8.42×10-6mGal,訓練消耗時間為79.8225 s。

圖5 訓練誤差變化曲線Fig.5 The curve of training error
為了驗證GraResNet網絡對重力數據的去噪重構性能,從DTU17模型中選取10°×10°區域大小的模型數據用于測試,如圖6(a)所示,數據的分辨率為1'×1',圖6(b)是在數據中加入其60%標準差幅度的蒙特卡洛隨機噪聲生成含噪聲重力數據。表2展示了數據的各類統計特性值。同時本文將GraResNet網絡去噪重構結果與IIR濾波方法、FIR濾波方法和小波濾波方法進行對比。

圖6 模型測試數據Fig.6 Test data extracted from gravity model

表2 模型測試數據的統計特性Tab.2 Statistical characteristics of the test data extracted from gravity model
圖7和圖8分別是各方法的去噪重構結果和去除的噪聲,表3是根據各方法的去噪重構結果計算的評價指標值。可以發現IIR濾波和FIR濾波去噪效果一般,噪聲衰減因子僅為0.4522和0.4479,去噪重構數據中仍然存在明顯的噪聲數據,濾波去噪后的噪聲標準差仍達到了2.3601 mGal和2.3696 mGal,并且由圖8(b)和圖8(c)可以很明顯地看出,IIR濾波和FIR濾波方法在去除噪聲的同時,部分非噪聲信號也被濾除,這是因為它們都是基于頻率的低通濾波方法,容易將頻段內的噪聲信號和有用信號同時濾除,而在頻段外的疊加噪聲又無法進行很好的分離濾除;小波濾波去噪效果較IIR濾波和FIR濾波方法有所提高,由圖8(d)可以發現其去除的噪聲中沒有明顯的有用信號,這是因為小波濾波在分解的若干信號頻段內進行濾波去噪,濾波去噪后的噪聲衰減因子可以達到0.6176,但是在圖7(d)的去噪重構結果中仍有明顯的噪聲數據,說明濾除的噪聲不夠徹底;由圖7(a)可以發現,相對前面三種方法,本文方法的去噪重構效果最好,去噪后的噪聲標準差降低了75.2%,濾除了大部分的噪聲,信噪比也較IIR濾波和FIR濾波方法提高近一倍,并且噪聲衰減因子達到了0.9387,說明本文方法去除噪聲較為徹底,而且重構數據的局部細節更加清晰,同時由表3中的各方法消耗時間可以發現,雖然訓練神經網絡耗時較長,但是使用訓練完的網絡模型進行去噪重構的效率與傳統方法相近。

表3 各方法的去噪重構效果評價Tab.3 Evaluation of denoising and reconstruction effect of each method

圖7 去噪重構結果Fig.7 The result of denoising and reconstruction

圖8 各方法去除的噪聲Fig.8 Noise removed by various methods
為進一步測試本文方法的泛化性能,在原始模型數據中,分別加入其80%和100%標準差幅度的蒙特卡洛隨機噪聲生成含噪聲重力數據,如圖9所示,表4是數據的統計特性。

圖9 兩種噪聲幅度的重力數據Fig.9 Gravity data with two kinds of noise amplitude

表4 含噪聲模型測試數據的統計特性(單位:mGal)Tab.4 Statistical characteristics of noise-containing test data extracted from gravity model(Unit: mGal)
圖10是利用GraResNet方法對兩種更高的噪聲幅度數據進行去噪重構的結果,圖11是中心緯度的原始重力數據和去噪重構結果的對比,表5是根據兩種噪聲幅度數據的去噪重構結果計算的評價指標值。GraResNet網絡的訓練階段,使用的是加入了60%標準差幅度噪聲的重力數據進行訓練,而在泛化性測試階段,噪聲水平增大到了80%和100%標準差幅度,但是由實驗結果可以發現,本文方法依然可以保持良好的性能。在圖10的去噪重構結果中,噪聲信號產生的模糊影響消失,重力數據局部特征清晰,無明顯噪聲殘留。同時由圖11可以發現,中心緯度上的兩類含噪聲數據去噪重構數據曲線與原始重力數據曲線的符合度極高,數據中的大部分噪聲信號能夠被有效去除,重力數據信號得到充分保留,由表5的去噪重構效果評價指標值可知,加入了80%和100%標準差幅度噪聲的重力數據,去噪重構后的噪聲標準差降低了78.3%和78.4%,噪聲衰減因子仍可達到0.9531和0.9534,這些都進一步說明GraResNet網絡具有較好的泛化性,使用訓練好的網絡,可以對不同噪聲水平的重力數據進行去噪重構。

圖10 80%Std和100%Std噪聲幅度重力數據的去噪重構結果Fig.10 The denoising and reconstruction results of gravity data with 80% STD and 100% STD noise amplitude

表5 兩種噪聲幅度重力數據的去噪重構效果評價Tab.5 Evaluation of denoising and reconstruction effect of gravity data with two kinds of noise amplitude

圖11 中心緯度的原始重力數據和去噪重構數據對比Fig.11 Comparison of original gravity data and denoising results of central latitude
為進一步驗證本文所提方法對實測數據的有效性和模型的泛化性,采用南非比勒陀利亞地區4°×4°的實測重力異常數據進行測試,并將數據格網化到1'×1'分辨率,如圖12(a)所示,可以發現該區域重力異常數據變化劇烈,并且數據中沒有明顯的噪聲,為了方便對比各方法的性能,向實測數據中加入其80%標準差幅度的蒙特卡羅隨機誤差,如圖12(b)所示,表6是兩類數據的統計特性,可以看出原始實測數據被加入的噪聲干擾嚴重,僅能分辨部分低頻信號。使用訓練得到的GraResNet網絡模型對加入噪聲的實測數據進行去噪重構,并與IIR濾波方法、FIR濾波方法和小波濾波方法的去噪重構結果進行對比。圖13是四種方法對加入噪聲的實測數據進行去噪重構的結果,表7是去噪重構結果相對原始實測數據偏差的統計信息,由圖13(b)和圖13(c)可以發現IIR濾波方法和FIR濾波方法對實測數據的去噪重構效果較差,結果中仍然存在較多的噪聲信號;在小波濾波方法的結果圖13(d)中,重力信號細節相對更加清晰,但結果中仍然存在明顯的噪聲信號;本文方法去除噪聲較為徹底,結果中無明顯的噪聲信號殘留,去噪重構結果偏差的標準差相對IIR濾波方法、FIR濾波方法和小波濾波方法分別降低了37.1%、32.7%和13.4%,并且重力信號重構效果較好,結果中含有更豐富的局部細節。

圖12 實測數據及含噪聲實測數據Fig.12 Measured data and measured data with noise

表6 實測數據及含噪聲實測數據的統計特性(單位:mGal)Tab.6 The statistical characteristics of the measured data and the measured data with noise(Unit: mGal)

表7 去噪重構結果偏差的統計特性(單位:mGal)Tab.7 Statistical characteristics of the deviation of denoising reconstruction results(Unit: mGal)

圖13 含噪聲實測數據的去噪重構結果Fig.13 The denoising and reconstruction results of measured data with noise
本文將深度殘差網絡應用到重力數據去噪重構問題中,提出了GraResNet神經網絡模型,利用大量的訓練樣本數據進行學習訓練,通過深層網絡的多層卷積運算提取重力數據的特征,然后采用深度學習的優化算法調整深層網絡結構參數,從而建立一個復雜的重力數據去噪重構網絡模型,并在模型數據和實測數據上與傳統的IIR濾波方法、FIR濾波方法和小波濾波進行了對比分析,主要結論如下:
(1) GraResNet神經網絡通過學習到的重力數據的特征,能夠更加有效地區分重力信號和噪聲信號,其去噪結果的噪聲標準差降低了75.2%,信噪比也較IIR濾波和FIR濾波方法提高近一倍,并且噪聲衰減因子達到了0.9387,同時很大程度避免了對有用重力數據信息的錯誤濾除,重構的重力數據局部細節更加豐富與清晰;
(2) GraResNet對加入了80%和100%標準差幅度噪聲的模型重力數據進行去噪重構,噪聲標準差降低了78.3%和78.4%,噪聲衰減因子仍可達到0.9531和0.9534,對加入了80%標準差幅度噪聲的實測重力數據進行去噪重構,去噪重構結果偏差的標準差相對IIR濾波方法、FIR濾波方法和小波濾波方法分別降低了37.1%、32.7%和13.4%,GraResNet方法仍然可以表現出優異的去噪重構能力和泛化性能;
(3) GraResNet在模型重力異常數據和陸地實測重力異常數據的去噪問題上取得了較好的效果,其“端到端”的網絡結構可以應用到海洋和航空的實測重力異常和重力梯度測量數據的去噪處理中,提高多源測量數據的精度。