唐 杰 孟 濤 韓盛元 陳學國
(①中國石油大學(華東)地球科學與技術學院,山東青島 266580;②中國石油化工股份有限公司勝利油田分公司勘探開發研究院,山東東營 257015)
斷層檢測是地震資料解釋的一項重要工作[1-2]。人工手動拾取斷層不僅耗時、耗力,而且具有較強的主觀性[3-4]。為了提高效率,研究人員提出了多種斷層自動檢測方法。Gersztenkorn等[5]提出的C3相干體技術能極大地提高斷層解釋精度。張瑞等[6]使用分頻螞蟻追蹤技術能夠識別深部小斷層,識別結果較為清晰、準確。孫振宇等[7]提出了一種基于支持向量機(SVM)的斷層自動識別方法,能夠有效識別地震數據中的小斷層。李軍等[8]提出了基于魔方矩陣的斷層邊緣檢測方法,利用斷層傾角和傾向等信息可以檢測地震數據中斷層的分布和發育方向。隨著地震勘探技術的不斷發展,采集的地震數據量越來越大,傳統的斷層檢測方法在效率和精度方面存在明顯的不足。如何從海量的地震資料中高效、準確地挖掘更多的斷層信息,是當前地震資料解釋面臨的一項巨大挑戰[9-11]。
近年來,隨著計算機運算能力的提升,機器學習方法得到了越來越多的應用。深度學習是機器學習的一個熱點領域,具有強大的特征提取能力和高效的特征表達能力,被廣泛應用于圖像分類、目標檢測等,并取得了很好的效果[12-14]。深度學習也廣泛應用于油氣勘探,如橫波速度預測[15]、測井曲線重構[16]、鹽丘檢測[17]和地震資料構造解釋[18]等。
基于深度學習的斷層檢測方法通常采用像素分類或語義分割深度學習網絡。Xiong等[19]應用卷積神經網絡自動檢測三維地震數據中的斷層,識別的斷層具有較好的連續性。Guo等[20]提出了基于卷積神經網絡的斷層檢測方法,充分學習、利用解釋人員的斷層拾取經驗,自動檢測斷層,精度較高。Li等[21]提出了編碼器—解碼器卷積神經網絡斷層檢測方法,即采用一個較小的訓練集訓練網絡,然后逐像素地預測地震數據中的斷層。Wu等[22]基于U-Net卷積神經網絡,使用人工合成地震數據對搭建的網絡模型進行訓練,可快速預測實際地震數據中的斷層位置。張政等[23]將深度殘差網絡與遷移學習相結合,增強了網絡的斷層識別泛化能力。常德寬等[24]提出基于卷積深度神經網絡的地震數據斷層識別方法,克服深層網絡梯度彌散的不足,提高了網絡的訓練效率。
實際地震數據中往往存在著不同尺度斷層,為了提高斷層解釋效率、改善斷層檢測效果,本文提出了一種基于深度學習的多分辨率U-Net網絡(MultiResU-Net)斷層檢測方法。首先引入多分辨率模塊增強網絡模型的多尺度斷層檢測能力,使用殘差路徑代替普通跳躍連接,縮小用于拼接的特征圖之間的語義差別;然后使用人工合成的地震數據和斷層標簽數據訓練網絡模型,在合成數據測試集和二維實際地震數據中斷層檢測效果均較好;最后將網絡模型擴展為三維并與遷移學習結合后,在三維實際地震數據測試中也取得了很好的效果。
U-Net網絡由Ronneberger等[25]在2015年提出,最初用于生物醫學圖像分割任務,如細胞分割、腫瘤檢測等。U-Net網絡是一種編碼器—解碼器結構的網絡,因網絡結構類似于字母“U”而得名。
U-Net網絡主要由兩大部分構成:①下采樣部分,即特征提取部分,每一層由兩個3×3卷積序列和一個最大池化層組成;②上采樣部分,即特征恢復部分,每一層由兩個3×3卷積序列和一個反卷積操作組成,可以將下采樣得到的高級語義特征恢復至上一層的尺度。
U-Net網絡與全卷積網絡(Fully Convolutional Networks,FCN)[26]雖然結構相似,但卻采用了完全不同的特征融合方式。U-Net網絡每進行一次上采樣后,將恢復的特征圖與對應特征提取部分得到的相同尺度的特征圖在通道(Channel)維度上進行拼接,從而形成更厚的特征層,使同一大小的特征圖擁有更多的特征表示,并且不會因占用過多顯存而導致網絡訓練速度下降過多;而FCN僅僅是特征圖的簡單相加,并不能形成更厚的特征層。
普通U-Net網絡中,下采樣部分和上采樣部分的每一層中的兩個3×3卷積序列運算效果等價于一個5×5卷積層運算[27]。多分辨率U-Net網絡(圖1)引入多分辨率模塊改進普通U-Net網絡,將一個3×3卷積層和一個7×7卷積層與上述的5×5卷積層并行,以此增強網絡的多尺度斷層檢測能力[28]。為了進一步減少網絡的內存需求,將多分辨率模塊中的7×7卷積層替換為具有等價效果的三個3×3卷積序列,此外還在模塊中添加了一個1×1的卷積層,使網絡能夠獲取更多的空間信息。

圖1 多分辨率U-Net網絡結構
普通U-Net網絡直接將下采樣部分得到的特征圖與上采樣部分得到的相同尺度的特征圖通過跳躍連接拼接起來。下采樣部分的特征圖為淺層、級別較低的特征,而上采樣部分的特征圖具有更深層、級別更高的特征,因此這兩組特征之間存在一定的語義差別,直接拼接可能會對網絡訓練和預測結果產生不利影響。本文使用殘差路徑代替普通跳躍連接,殘差路徑中的非線性操作有望縮小語義差別,使網絡模型更容易學習到所需的特征信息。由于下采樣部分與上采樣部分特征之間的語義差別會隨著網絡的加深而減小,因而可減少深層殘差路徑中使用的殘差塊的數量。本文網絡模型從淺層到深層的四條殘差路徑分別設置4、3、2、1個殘差塊。
圖1為多分辨率U-Net網絡模型結構,將普通U-Net網絡中的兩個3×3卷積序列替換為多分辨率模塊,并通過調整模塊中卷積層的卷積核數目防止網絡模型的總參數量過多。網絡模型分別進行四次下采樣和四次上采樣,將得到的相同尺度的特征圖通過殘差路徑連接起來,最后輸出結果。
深度學習神經網絡是一種數據驅動的優化方法,訓練數據集的制作是一項重要工作。斷層數據集的制作有兩種方法可供選擇:①人工合成地震數據及其相應的斷層標簽,以此作為訓練和測試數據集分別對網絡模型進行訓練和測試;②使用實際地震數據和人工拾取的斷層標簽作為訓練集訓練網絡模型,再將訓練完備的網絡模型應用于其他實際地震數據進行斷層檢測。第一種方法解決了訓練數據集制作時間長的問題,可以快速制作大量的訓練數據,適用于實驗研究;第二種方法需要人工標注實際地震數據中的斷層位置、制作斷層標簽數據,或者利用其他傳統方法進行斷層標注,再從中挑選出較好的斷層檢測結果作為斷層標簽數據。人工合成地震數據及其相應斷層標簽數據的過程如圖2所示。

圖2 人工合成數據的生成(a)水平反射系數序列; (b)進行彎曲變形; (c)將數據與雷克子波進行褶積 并添加斷層; (d)添加噪聲; (e)提取的含斷層地震數據; (f)提取的斷層標簽數據
首先,創建一個大小為200×200的水平反射系數序列(圖2a),其地質意義為水平沉積地層;其次,在這個水平反射層上應用彎曲變形(圖2b),這個過程相當于水平沉積地層經過地質作用后產生褶皺;再其次,使用雷克子波與模型進行褶積,在模型中添加斷層的同時生成相應的斷層標簽(圖2c),在這一步驟中,還可以使用目標區提取的子波與模型數據的反射系數褶積以進一步減小人工合成數據與實際地震數據之間的差異;然后,添加一定強度的噪聲使合成地震數據更具真實性(圖2d);最后,分別從合成地震數據和標簽數據中心提取大小為128×128的數據,便可得到含有斷層的人工合成地震數據(圖2e)及其相應的斷層標簽數據(圖2f)。基于此,可以人工合成足量的訓練數據和測試數據。
本文基于Keras框架搭建網絡模型,模型中除了最后一層的激活函數選用Sigmoid外,其他各層均使用ReLU(Rectified Linear Units)激活函數,兩者的表達式分別為
(1)

(2)
ReLU是目前使用最為廣泛的一種激活函數,其優點是沒有復雜的指數運算,神經網絡在訓練過程中能以較快的速度收斂,并且在一定程度上避免梯度爆炸和梯度消失問題。最后一層的激活函數選用Sigmoid函數,是因為本文的斷層檢測任務本質上是一個二分類任務(斷層/非斷層),Sigmoid函數是二分類神經網絡的輸出層常用激活函數。
本文使用了5500個大小為128×128的合成地震數據及其對應的斷層標簽訓練并測試網絡模型,將其中4455個數據作為訓練數據、495個數據作為驗證數據、550個數據作為測試數據。訓練數據集、驗證數據集與測試集不相交。
在正式訓練網絡之前,首先為網絡模型選用不同優化算法(RMSprop、Adam、Adagrad和SGD等函數)進行了30輪(Epoch)的預訓練測試,以便選擇最合適的優化函數,測試準確度(Accuracy)曲線如圖3所示。由圖可見,使用Adagrad和SGD優化函數時,網絡訓練的收斂速度相對較慢,準確度最終分別收斂至0.94和0.95左右;使用RMSprop和Adam優化函數時收斂相對較快,準確度能達到0.97左右,其中Adam優化函數效果最優。對Adam優化函數的不同學習率(Learning Rate)進行測試,結果如圖4所示。由圖可見,當學習率為0.0001時網絡訓練準確度不僅前期上升較快,且后期能達到最高值。

圖4 Adam優化函數的不同學習率測試結果
在正式訓練過程中,使用Adam優化函數對網絡模型在反向傳播過程中的權重進行優化,學習率設為0.0001;使用二進制交叉熵(Binary Cross-Entropy)損失函數衡量網絡的斷層預測結果與真實斷層標簽數據之間的差異。網絡訓練50輪,將訓練得到的準確度曲線(圖5)和損失(Loss)曲線(圖6)分別與普通U-Net網絡的準確度曲線和損失曲線對比。
由圖5和圖6可以看出,多分辨率U-Net網絡模型(本文模型)在訓練過程中收斂較好,訓練準確度曲線(圖5中的紅色實線)和驗證準確度曲線(圖5中的綠色實線)整體趨勢為:在前7輪訓練中快速上升,然后趨于穩定,可分別達到98%和97%左右。訓練損失曲線(圖6中的紅色實線)在前10輪訓練中快速下降,訓練20輪后便降到0.1以下并在訓練50輪后收斂到0.077,驗證損失曲線(圖6中的綠色實線)也以較快的速度收斂趨至0.13左右。因此,可初步判斷網絡模型在訓練過程中得到了有效訓練,未出現不良訓練現象。普通U-Net網絡的訓練準確度雖然達到了98%以上,可是它的驗證準確度卻只能趨近于96%左右;其訓練損失雖然降到了5%以下,但是驗證損失曲線在訓練15輪后卻開始逐漸上升,這是典型的過擬合現象。如果在實際網絡模型訓練過程中遇到這一問題,必須提前結束訓練或者增加訓練樣本數量。

圖5 網絡準確度曲線

圖6 網絡損失曲線
為了直觀形象地展示數據在網絡模型中的變化,分析網絡模型各個模塊的中間運行狀態,對測試數據(圖7)在模塊1、3、5、7、9中的部分特征圖(圖8)以及最終斷層預測結果(圖9)進行了可視化輸出。
其中,模塊1、3、5是下采樣特征提取模塊,模塊7、9為上采樣特征恢復模塊。從圖8a~圖8c中可以直觀地看出,模塊1、3、5有效地提取出了測試數據中的斷層特征,隨著網絡的加深,提取到的斷層特征越來越抽象。模塊7(圖8d)和模塊9(圖8e)逐步將斷層特征信息恢復出來,最終輸出斷層預測結果(圖9a)。對比圖9a與圖9b可知,網絡模型具備了從地震數據中提取斷層信息的能力。

圖7 輸入的測試數據

圖8 網絡中間層的部分特征圖(a)模塊1; (b)模塊3; (c)模塊5; (d)模塊7; (e)模塊9
圖10展示了普通U-Net網絡中的跳躍連接(第1層與第9層、第2層與第8層)特征融合恢復結果和本文使用的殘差路徑跳躍連接(模塊7與模塊9、模塊2與模塊8)特征融合恢復結果。由圖可見,相比于普通跳躍連接,殘差路徑跳躍連接(多分辨率U-Net網絡)特征融合的恢復結果具有更加完整的斷層特征信息。因此,殘差路徑中的非線性操作有望縮小下采樣部分與上采樣部分得到的特征圖之間的語義差別,改善預測效果。

圖9 測試數據的斷層預測結果(a)與真實斷層標簽(b)對比

圖10 普通跳躍連接(U-Net)與殘差路徑跳躍連接(多分辨率U-Net網絡)特征融合恢復結果對比 (a)U-Net第2與第8層特征融合; (b)多分辨率模塊2 與模塊8特征融合; (c)U-Net第1與第9層特征融合; (d)多分辨率模塊1與模塊9特征融合
為了檢驗網絡模型的訓練效果,使用與訓練數據尺寸相同的550個人工合成地震數據對網絡進行測試,并與普通U-Net網絡的測試結果進行對比。測試結果如圖11所示。對比圖11中的紅色箭頭處可知,本文的網絡模型訓練完備后,比普通U-Net網絡的斷層檢測結果更加完整。
為了進一步檢驗和量化評估網絡模型的斷層檢測能力,引入了Jacard指數和Dice系數兩個經典的相似度評價指標量化評估斷層預測結果,即
(3)
(4)
式中:J(A,B)和D(A,B)分別為計算得到的Jacard指數和Dice 系數;|A|為測試數據的真實斷層數據集合;|B|為預測結果中的斷層數據集合;|A∩B|代表預測結果中預測正確的斷層數據集合;|A∪B|是真實斷層數據與預測斷層數據的并集。
此外,本文還提出了一種斷層預測錯誤率量化指標作為輔助評價指標,稱為EFP(Error of Fault Prediction),定義為
(5)
上述三個評價指標如圖12所示。
對550個樣本數據進行測試后,根據每個樣本數據及其測試結果可分別計算得出三個評價指標數值。分別求出所有測試數據的三個指標數值的平均值制成如圖13所示的統計直方圖。由圖可見,普通U-Net網絡和本文方法測試結果的Jacard指數平均值分別為0.588和0.615;Dice系數的平均值分別為0.730和0.751。這表明本文方法檢測出的斷層與真實斷層位置相似度更高,具有更高的準確度。另外,本文方法預測結果的EFP系數平均值為0.137,相比于普通U-Net網絡降低了0.094,說明本文方法的預測結果中的錯誤斷層點更少。

圖11 合成地震數據測試結果對比 從上到下分別是兩個測試數據,從左到右依次為地震數據、真實斷層位置、普通U-Net預測結果和本文方法預測結果

圖12 評價指標示意圖(a) Jacard指數; (b) Dice系數; (c) EFP系數。|A|為真實斷層 數據集合,|B|為預測斷層數據集合,兩者重疊位置為預測正確的 斷層數據集合,|B|中紅色部分為預測錯誤的斷層數據集合

圖13 測試結果的Jacard指數、Dice系數和EFP系數對比圖
為了檢驗網絡模型在實際數據中斷層的檢測效果,選取了一個大小為570×170的二維實際地震數據對訓練完備網絡模型進行測試。在預測任意大小(如m×n)的實際地震數據時,數據大小與網絡模型的輸入不一致,可以使用一個128×128的滑動窗口對地震數據進行滑動預測。具體操作為:首先在實際數據的四周進行填充操作(填充大小為128),得到(m+256)×(n+256)的數據;然后使用一個大小為128×128的滑動窗口以一定步幅預測數據的不同部分;最后將每個數據點的預測值的總和除以該數據點處重疊窗口的數目,得到最終輸出數據結果。該方法的優點是:當滑動窗口在填充后的數據上滑動時,數據中的每個數據點都被滑動窗口框定,并且被預測的次數相同。
二維實際地震數據斷層預測結果如圖14所示,可以看出,實際數據剖面中的主要斷層均被準確預測出來,斷層顯示清晰。

圖14 二維實際地震數據斷層檢測結果 紅線表示預測斷層
為了測試本文方法的應用前景,將二維的多分辨率U-Net網絡模型擴展為三維,使用1600個網格大小為64×64×64的三維人工合成地震數據對網絡模型進行訓練。如果在計算機硬件允許的條件下,可以使用網格更大的訓練數據訓練網絡模型,這樣可以在增加網絡模型的感受野的同時,減少預測實際數據滑動窗口的滑動次數,從而進一步改善斷層檢測結果。
三維網絡模型訓練完備后,通過遷移學習方法,繼續利用實際地震數據及其斷層標簽數據對網絡模型進行再訓練,可以進一步提高對目標區實際地震數據中的斷層檢測準確度。
本文用于遷移學習的三維實際地震數據訓練樣本制作方法及主要過程如下:首先利用現有的斷層檢測方法對實際數據中的斷層進行檢測;然后從中人為挑選出較好的斷層檢測結果作為三維實際地震數據的斷層標簽數據。
網絡模型經過遷移學習再訓練之后,選取某一工區(工區1)內的大小為130×260×128的三維實際地震數據(圖15a)進行斷層檢測。由圖可見,相比于相干體屬性(圖15b),本文方法(圖15c)能夠較清晰地預測三維地震數據中的主要斷層。對比圖15c 與圖15d可以看出,網絡經過遷移學習之后,預測的斷層更加清晰、連續性更好。
與遷移學習結合的優點是:可以在一定程度上縮小因訓練數據與實際測試數據的差異而引起的不利影響,在實際應用時能夠節省訓練時間,使訓練完備的網絡模型不需要重復性訓練,僅使用少量目標區的人工拾取的斷層標簽數據對其進行參數調優就能得到更好的斷層檢測性能。這非常適合應用于實際生產工作,可以節省人力和時間。
為了進一步檢驗三維網絡模型對實際地震數據中小尺度斷層的檢測能力,選取了另一工區(工區2)內大小為225×795×150的三維實際地震數據(圖16a),該數據體內含有豐富的小尺度斷層。對比相干體屬性斷層檢測結果(圖16b),本文方法能夠更加清晰、準確地預測出多數小尺度斷層(圖16c)。

圖15 工區1三維實際數據斷層檢測結果對比(a)實際數據; (b)相干體屬性斷層檢測結果; (c)三維多分辨率U-Net網絡斷層檢測結果; (d)遷移學習前斷層檢測結果

圖16 工區2三維實際數據斷層檢測結果對比 (a)實際數據; (b)相干體屬性斷層檢測結果; (c)三維多分辨率U-Net網絡斷層檢測結果
本文提出了一種基于深度學習的多分辨率U-Net網絡地震數據斷層檢測方法,即引入多分辨率模塊增強網絡模型的多尺度斷層檢測能力,使用殘差路徑代替普通跳躍連接縮小用于拼接的特征圖之間的語義差別。通過網絡中間層可視化分析直觀地展示了網絡模型對地震數據的特征提取、表達過程。主要結論如下。
(1)合成地震數據測試集的測試結果和量化評估指標表明,本文提出的多分辨率U-Net網絡比普通U-Net網絡預測斷層具有更高的準確度和更少的錯誤點,能夠準確地預測二維實際地震剖面中主要的斷層,并且斷層清晰、連續性較好。
(2)通過三維實際地震數據測試結果可知,三維多分辨率U-Net網絡與遷移學習結合之后具有較強的實用性,本文方法比相干體屬性檢測的斷層更加清晰、連續性更好。本文方法有望應用于實際生產工作中,實現高效、自動化斷層檢測,節省地震資料解釋工作所需的人力和時間。