馬國慶 王澤坤 李麗麗
(吉林大學地球探測科學與技術學院,吉林長春 130026)
由于地形等因素的影響,實測重磁數據的點位呈不規則離散分布。為了提高重磁數據的反演效率,需將數據進行規則網格化處理,目前常用方法有多元二次函數法[1]、最小曲率網格化方法[2-6]、克里金法[7-8]、等效源法[9]、離散光滑插值法[10-13]、樣條函數法[14]、分形分析方法[15]、基于凸集投影的全局網格化方法[16]、最近鄰方法[17]等。其中,等效源方法雖然可以使數據滿足拉普拉斯方程,但計算量大、精度低; 最近鄰方法的關鍵問題是網格化點位受距離最近的已知點異常值的控制,對于異常極大值點的估計可能偏小; 克里金法假設異常值滿足概率分布,即待網格化點位的異常值由已知點的分布決定,這種方法計算效率低,且如果待網格化點位與已知點位概率分布不同時,無法很好地網格化; 最小曲率法在數據稀疏的區域存在振蕩現象。
位場濾波主要包括頻率域方法和空間域方法。頻率域方法主要有余弦鑲邊濾波、補償圓滑濾波[18]、匹配濾波[19]、小波變換[20]; 空間域方法主要有多項式擬合、滑動平均、非線性曲率濾波及延拓法[21]等。
近些年來,深度學習逐漸應用于地球物理領域。自適應學習廣泛應用于三維重力物性反演[22]; 卷積神經網絡用于去除地震數據噪聲[23]; 優化的卷積神經網絡應用于地震數據道編輯[24]; 生成對抗神經網絡是一種生成式模型,通過提取待插值數據的高維空間的特征,再將其變換至已插值的數據,可在一定程度上解決數據量少導致的判別模型過擬合的問題,可應用于地震數據的插值[25]; 機器學習和深度學習可應用于重磁數據的插值[26]; 卷積神經網絡可實現地震數據的插值、重構[27-28]; 卷積神經網絡可用于位場數據的去噪處理[29]; 改進深度學習算法可用于地震相的識別[30]; 殘差網絡的思想可用于疊前隨機噪聲的壓制[31]; 數據增強用于波阻抗反演[32]; 聯合深度學習應用于地震數據噪聲壓制[33]。其中,深度學習與機器學習在測井領域還被應用于巖性識別[34],區別于其他地球物理數據、測井數據及巖石樣本數據具有數據量大、標簽識別性好的特點,在此類任務中機器學習可以替代人工識別,這方面的應用取得了一定效果。機器學習方法中的貝葉斯優化被用于建立不規則物體的重力場模型[35]。
注意力機制的思想產生于二十世紀九十年代的圖像處理,源于人類視覺作用機理的啟發。人們認為,機器學習模型應該也像人腦一樣在處理數據時根據需要關注特定的部分而無需關注全局。谷歌將其運用于圖像分類工作[36],旨在選出圖片中最值得注意的地方。之后,注意力機制開始應用于序列預測任務[37-38],這是該思想第一次應用于序列模型。自注意力機制始于谷歌對序列模型的注意力機制的改進[39],其放棄了循環神經網絡方式而使用多頭自注意力機制方式,其作用是把序列化的數據表示為向量,把位置信息融入元素,得到綜合全局考慮的表示向量。
本文提出一種基于自注意力機制的深度學習模型進行重磁數據網格化。對模型設計一種新的位置編碼方式,使用自注意力方式將此位置編碼轉換為一個高維位置隱表示,再將高維異常向量與高維位置向量相乘,可保留與網格化節點相關性更高的位置處的異常向量,無關處得到減弱,相乘得到的向量經過全連接層,最后輸出該網格化節點的異常。相對于最近鄰網格化方法(使用單一最近鄰點),自注意力機制使用的是全局已知點的信息; 相對于克里金網格化方法(假設網格化節點遵循與已知點相同的概率分布),自注意力機制深度學習模型無需對數據的先驗做出任何假設,模型會自動學習重磁數據已知點與待網格化節點間的關系; 最小曲率網格化方法假設異常曲面為一個長方形彈性薄片,實際上實測重磁數據并不能很好吻合這一假設,而自注意力模型在訓練過程中逐步確定與待網格化點的關聯性較大的已知點位,并將其異常映射至網格化異常,無須做任何先驗假設。
本文提出采用深度學習自注意力機制神經網絡實現網格化,為了實現自動識別數據干擾類型并進行相應濾波,采用卷積神經網絡、卷積自編碼器和自注意力機制神經網絡完成整套流程,實現數據的網格化和濾波。利用本文方法可自動識別數據干擾類型,并針對不同干擾類型使用不同的模型去除干擾,一定程度上可以減少手動去除干擾的工作量。
網格化要求將采集的數據投影至規則網格,即通過非網格化的原始數據推斷其附近規則點位的異常值,距離原始點位越近的網格化點與其關系越強。但如果直接通過固定表達式建立這種投影關系,例如傳統的近鄰方法、最小曲率法、克里金法等,其精度和效率不盡如人意,因為這些方法對數據的分布做了統計特征一致、最小彎曲量薄片等假設,而真實數據并不一定符合這些假設,即便是模型數據也無法嚴格服從這些假設。深度學習并不做統計假設,而是從大量數據中學習待網格化點位與已知點位之間的關系,再將自注意力機制融入深度學習模型,不僅考慮待網格化點位與已知點位之間的相對位置關系,還考慮已知道點位之間的相對位置關系。將模型位置關系融入表示式,最終通過全連接層生成待網格化點位。對于含有條帶狀干擾的數據,本質也是通過干擾區附近數據推斷干擾區的數據,所以也可使用自注意力機制深度學習模型解決這個問題。
基于深度學習的重磁數據處理流程包括網格化和濾波兩部分。通過深度學習對重磁數據網格化是基于這樣的假設:數據具有局部相關性,即待網格化點的數據與其周圍實測點的異常值存在相關性,深度學習網格化方法研究的就是這種相關性。濾波時,由于數據含有的干擾類型不止一種,例如高斯隨機噪聲、條帶狀干擾等,有時也可能是二者的疊加,所以需先使用深度學習判斷干擾類型,再根據干擾類型選擇相應的濾波方法。
基于自注意力機制的網格化模型框架如圖1所示,對于訓練這種模型,數據預處理階段需計算出待網格化點與已知點位的相對位置編碼。相對位置編碼的設計方式為[38]

圖1 基于自主注意力機制深度學習的網格化方法
(1)
式中:j1、j2為當前網格化點的x或y坐標;i1、i2分別由j1、j2對2取整得到。
假設已知點坐標為(x,y),其位置編碼轉換為(2,764)的矩陣E,再將E變換為(1,764×2)的一維向量,即該點的位置編碼,得到的位置隱表示具有這樣的特征:①已知點位與待網格化點位越接近,已知點位與待網格化點位向量的內積越大,反之則越小; ②考慮了全局點位分布,已知點位與其他已知點位距離越遠,代表該點所在區域較稀疏,則該點對待網格化點位的貢獻越小。
①已知點位的重磁異常向量; ②待網格化點位與已知點之間的位置向量; ③自注意力機制層; ④已知點重磁異常位置隱表示; ⑤相乘操作; ⑥融合表示; ⑦隱藏層; ⑧待網格化點位異常值
對處理好的相對位置編碼層使用自注意力機制方式變換為位置隱表示,即
(q,k,v)=[Q(P),K(P),V(P)]
(2)
(3)
式中:P為已知點位或待網格化點位的位置向量;Q、K、V為可學習矩陣,與位置向量P相乘即得到向量q、k、v; softmax為概率歸一化函數; attention是自注意力機制函數;dk是向量k的維度,其作用是避免注意力過度集中于附近點位。
深度學習濾波處理流程詳見圖2。自注意力機制首先通過式(2)將位置編碼P通過可訓練的矩陣參數Q、K、V變換至當前位置向量q、k、v,自注意力層對q和k進行相似度計算,再經過softmax得出點位與其他已知點位之間的權重,再將此權重與v進行加權求和,得到融合了全局信息的位置表示attention(q、k、v)。圖1中重磁異常向量(標注為①)與attention(q、k、v)進行乘法操作,相當于遺忘門的作用,即如果該點處的位置隱表示的權重太低,相乘操作可確保融合表示中該點對待網格化點不再重要,只保留對待網格化點位重要的點的信息。

圖2 深度學習濾波處理流程
重磁數據中經常會出現條帶狀干擾和隨機噪聲,需要對干擾區域的數據通過重建方式進行濾波,并去除數據整體的隨機噪聲。本文提出基于深度學習的濾波處理流程,實現干擾區數據重構并去除隨機噪聲,如圖2所示。該流程首先判斷數據所受干擾的類型,對于不同的噪聲類型,使用不同的神經網絡去噪濾波方法。
由于圖像的初始維度較高,所以傳統機器學習是直接對圖像數據進行分類,其計算復雜度較高,故首先需要對數據進行降維,再使用分類方法進行訓練。所以傳統機器學習方法并沒有利用圖像具有局部相關性這一重要特征。卷積神經網絡通過卷積層結構提取數據特征,很好地利用了局部相關性這一特征,同時具有平移不變性,即條帶狀干擾可平移到圖像的其他地方,仍可以判別其干擾類型。
針對判斷干擾類型的卷積神經網絡需要對其進行超參數優化,調節卷積神經網絡的參數(通道數,卷積層數,全連接層的層數),通過模型試驗對比深度學習方法與傳統機器學習方法的效果,模型訓練收斂之后,打印模型在測試集中的準確率,如表1所示(以表中準確率最高的編號為4的模型作為判別模型)。針對去除高斯隨機噪聲的卷積去噪自編碼器進行超參數優化,對比不同網絡結構下同一測試集的計算準確率,結果見表2。選擇測試集誤差最小的網絡結構1作為卷積去噪自編碼器的結構。將表1與表2選出的網絡結構進行可視化,這兩個結構在訓練過程中的損失函數下降曲線見圖3。

圖3 深度學習濾波方案模型及訓練損失曲線

表1 不同卷積神經網絡對測試集判斷噪聲類型準確率統計

表2 不同卷積去噪自編碼器測試集誤差對比
如果判斷噪聲類型為隨機噪聲,則使用卷積去噪自編碼器對數據去噪; 如果噪聲類型為條帶狀干擾與高斯隨機噪聲的混合,則首先使用網格化方法自注意力機制神經網絡對干擾區濾波,之后使用卷積去噪自編碼器去除隨機噪聲。具體步驟如下。
(a)卷積神經網絡判別干擾類型模型; (b)圖a模型訓練過程損失函數曲線; (c)卷積自編碼器恢復干擾區數據模型; (d)圖c模型訓練過程損失函數曲線
(1)根據條帶狀干擾區的異常值一般與周圍點異常值的均值有明顯差異這一特點,設定規則遍歷異常整個點位,再選取這些異常值點位中呈條帶狀分布的點位作為條帶狀干擾區域;
(2)從原始異常中選取與步驟(1)中相關區域的范圍,分別將對應的未被掩蓋區域的數據、被掩蓋區域的數據作為模型的輸入與輸出,從而訓練數據,訓練數據的數量與異常點位數據量成正比;
(3)使用深度學習框架、隨機梯度下降法對自注意力神經網絡進行訓練;
(4)使用訓練好的模型預測干擾區數據所含噪聲類型;
(5)根據噪聲類型選擇相應方法進行濾波。
建立圖4所示模型,對比深度學習方法與常規網格化方法在已知點位均勻分布和不均勻分布情況下的效果。球體中心點坐標為(9m,9m,-5m),半徑為2m。背景密度為0,球體密度為3.0g/cm3。在地面坐標范圍為[0,20m](x方向)×[0,20m](y方向)的區域中隨機均勻采樣64個點作為已知點位。

圖4 球體模型示意圖
首先針對已知點分布不均勻的情況。分別利用深度學習方法和常規網格化方法對上述模擬的待網格化數據進行網格化,結果見圖5和表3。
根據圖5可知:深度學習的網格化重力異常最大誤差為0.002mGal; 克里金網格化數據最大誤差為0.006mGal,比前者誤差稍大; 最小曲率網格化數據的誤差最大,為0.074mGal。這是因為最小曲率網格化方法本身在稀疏區域存在振蕩現象,在網格化區域的邊緣出現了誤差較大的點。從圖5d、圖5f和圖5h的誤差分布特征來看,深度學習的誤差空間分布與坐標沒有明顯的關系,呈現出了近似高斯白噪聲的特征; 克里金方法的誤差分布相對比較均勻,但在異常體附近出現了局部低值區,偏差的均值約為0.006mGal,這會對后續的反演解釋造成干擾; 最小曲率方法由于在稀疏區域存在振蕩現象,所以在邊緣區域出現了較低值,但偏差的整體均值也超過了克里金法誤差的均值。根據表3,上述幾種方法計算速度從快至慢依次為深度學習方法、最小曲率網格化法和克里金法。

表3 點位不均勻情況下深度學習與傳統網格化方法的計算誤差及耗時統計

圖5 深度學習方法和傳統網格化方法對球體模型測點不均勻分布條件下的網格化結果對比(a)重力異常等值線圖和隨機測點分布; (b)自注意力機制神經網絡訓練集損失函數下降曲線; (c)深度學習網格化重力異常分布; (d)深度學習網格化結果與原始重力異常的差; (e)克里金網格化重力異常圖; (f)克里金網格化結果與原始重力異常的差; (g)最小曲率網格化重力異常圖; (h)最小曲率網格化結果與原始重力異常的差
沿x與y方向每隔1.5m采集重力場數據,共計196個點。然后,針對球體模型且已知點分布均勻的情況,分別利用深度學習方法和常規網格化方法對待網格化數據進行網格化操作,結果見圖6。
從圖6可以看出,針對均勻點位數據網格化,克里金網格化方法和最小曲率網格化方法的誤差極大值都出現在無網格化點位分布的邊緣區域,且存在有規律的震蕩現象,但是深度學習的網格化結果仍然呈現較標準的高斯零均值分布,這是因為模型在訓練的過程中學習到了數據在邊界位置處的先驗分布,即由于訓練數據在邊界上呈現一定的分布特征,所以注意力機制模型在推理過程中,當發現邊界處的位置編碼與已知均勻點位位置編碼沒有太大關聯度時,會自動使用學習到的經驗,從而外推出了數據的邊界,這也是深度學習方法較傳統基于插值方式網格化方法不同之處。自注意力機制在這種情況下起到的作用是判斷出了待網格化點位的值無法通過已知點位得出,所以深度學習模型也可以很好地適用于均勻點位網格化的情況。

圖6 深度學習方法(a)、克里金網格化方法(b)和最小曲率網格化(c)重力異常圖(左)及其與理論重力異常的差(右)
建立圖7所示模型,模型包括一個球體和一個棱柱體重力異常體。圖8b為圖8a(原始不含干擾重力異常)加入均值為0、方差為0.1mGal2的高斯分布白噪聲及穿切模型異常的條帶狀干擾的重力異常圖。使用訓練好的自注意力機制深度學習模型處理圖8b,得到去除干擾之后的結果,再將其輸入卷積去噪自編碼器,得到的最終處理結果見圖8c。用中值濾波方法處理條帶狀干擾、均值濾波處理高斯隨機噪聲的結果見圖8d。圖8c、圖8d與圖8a的差值分別見圖8e和圖8f。

圖7 球體和棱柱體模型示意圖
由圖8可見,中值濾波方法并不能徹底去除高斯隨機噪聲,而深度學習方法處理結果則顯示了卷積神經網絡可以正確識別干擾類型為條帶狀干擾,并有效去除高斯分布噪聲與條帶狀干擾; 卷積去噪自編碼器的處理結果較好地保留了原始棱柱體的重力異常特征,在空白區域也可以計算出缺失值(圖8c),根據每個點的誤差統計結果,其分布特征與高斯隨機噪聲相符; 傳統方法對條帶狀干擾的濾波效果并不好,對空白區的數值計算結果誤差較大,殘差統計結果也較原始噪聲值差別更大,而且,處理結果在地質體上方區域的誤差較大,這會導致異常區數據反演結果出現較大偏差。

圖8 條帶狀區域重力異常深度學習與傳統濾波方法濾波結果對比(a)原始重力異常; (b)含條帶狀干擾、高斯隨機噪聲的重力異常; (c)用自注意力神經網絡處理條帶狀干擾、卷積自編碼器去除高斯隨機噪聲的濾波結果; (d)用中值濾波方法處理條帶狀干擾、均值濾波處理高斯隨機噪聲的結果; (e)圖c與圖a的差; (f)圖d與圖a的差
工區位于內蒙古自治區達爾汗茂明安聯合旗,對此區域的實測磁場數據進行處理,以檢驗本文方法的處理效果。
工區地面上有線纜,所以觀測到的磁場數據中可見明顯的線纜產生的磁異常干擾(圖9a中藍色的條帶狀負值區域)。使用基于自注意力機制的深度學習模型,通過干擾區域的其他已知點數據對干擾區域進行濾波,結果見圖9b。由圖可見,條帶狀干擾被有效去除,而條帶狀干擾區域由于地質體產生的異常值被有效保留了下來,該異常的極大值點也得到恢復。這表明模型有效地捕捉了條帶狀干擾區域內異常點之間的關系,證明深度學習方法可以有效應用于實際數據的濾波,效果良好。

圖9 工區實測磁場分布圖(a)及深度學習方法的恢復結果(b)
本文針對重磁數據網格化任務,設計了基于自注意力機制的深度學習網絡結構; 針對重力數據含有不同類型干擾的情況,采用卷積神經網絡以及自注意力機制的方法可判斷干擾類型; 對來自內蒙古自治區的實測磁場數據應用本文方法進行恢復,結果較好。得到以下兩點結論。
(1)基于自注意力機制的網格化點位與已知點位之間的空間關聯,將關聯信息與異常信息進行融合,通過神經網絡的方式輸出點位異常,可以更好地表達重磁數據的已觀測部分與未觀測部分之間的局部相關性,兼顧了全局性與局部相關性。模型試驗表明,傳統的空間域方法計算結果的誤差分布與原始異常的分布之間有相關性,而基于自注意力機制的深度學習方法由于學習到了待網格化點位與已知點位之間的位置上的關聯,其誤差相對較小。
(2)卷積神經網絡可以很好地判斷數據是否含有隨機噪聲和條帶狀干擾。本文針對這兩種噪聲類型分別使用自注意力機制神經網絡與卷積自編碼器進行去除。模型試驗表明這套方法具有良好效果; 實際磁場數據處理結果表明該方法具有一定的實用性。