楊午陽 楊佳潤 陳雙全 匡麗琴 王恩利 周春雷
(①中國石油勘探開發(fā)研究院西北分院,甘肅蘭州 730020; ②中國石油大學(北京)CNPC物探重點實驗室,北京 102249; ③中國石油大學(北京)油氣資源與探測國家重點實驗室,北京 102249)
斷層解釋是地震資料解釋的關鍵環(huán)節(jié)之一。傳統(tǒng)方法是:首先通過人工在二維地震剖面上根據(jù)同相軸的不連續(xù)性識別斷層,再在三維空間進行斷層組合。目前,可以在常規(guī)地震波形剖面的基礎上增加不同的地震屬性進行斷層聯(lián)合解釋,如相干[1-4]、方差[5]、曲率[6]等屬性。其中,Bahorich等[1]提出的基于互相關C1相干體技術(shù)計算速度快,但受相干噪聲干擾明顯;Marfurt等[2]提出的基于多道相似性C2相干體技術(shù)在保證計算速度及適用性的同時,彌補了C1相干算法由于采樣少造成的抗噪性低的不足,但對波形和橫向振幅的變化敏感;為了進一步提高相干體技術(shù)的分辨率,Gersztenkorn等[3]提出了基于本征結(jié)構(gòu)的C3相干技術(shù),通過計算協(xié)方差求取相干值,但運算速度相對較慢。而方差體技術(shù)[5]是一種基于概率方差分析的不連續(xù)性檢測,它通過計算相鄰地震道之間的方差表示反射特征的差異,從而完成斷層的識別。
除了上述與地震屬性相關的方法識別斷層外,還可以通過邊緣檢測[7]、數(shù)據(jù)目標特殊處理、模型正演分析[8]和全三維解釋[9]等技術(shù)提高斷層識別的準確性和可靠性[10]。其中,邊緣檢測技術(shù)起源于圖像處理領域,主要用于檢測圖像中的灰度突變,可檢測地震數(shù)據(jù)中的反射同相軸不連續(xù)。通常情況下,斷裂等一些特殊地質(zhì)體在地震剖面上會表現(xiàn)出同相軸不連續(xù)的特點,經(jīng)過邊緣檢測技術(shù)處理后,這些不連續(xù)的邊緣特性會得到凸顯,但缺點在于檢測的對象不是地震數(shù)據(jù)本身,而是經(jīng)過處理后(如濾波、相干等)的地震數(shù)據(jù)圖像。
目前,利用地震數(shù)據(jù)解釋斷層主要還是依靠人工,工作量大且費時。隨著人工智能技術(shù)的發(fā)展,如何自動、快速地識別斷層,成為了地球物理勘探領域研究的熱點之一。斷層的自動識別主要包括深度學習網(wǎng)絡的選取及優(yōu)化、樣本標簽數(shù)據(jù)集的生成和損失函數(shù)的選取等三個方面。
在深度學習網(wǎng)絡的選取方面,董守華等[11]應用BP神經(jīng)網(wǎng)絡探索了斷層自動檢測方法;Chehrazi等[12]采用多層感知器(MLP)的網(wǎng)絡結(jié)構(gòu)訓練斷層自動識別模型;Huang等[13]首次將卷積神經(jīng)網(wǎng)絡(CNN)成功應用于斷層識別中;Zhao等[14]將CNN斷層識別與圖像處理相結(jié)合,提高了斷層識別精度;Wu等[15]改進了U型神經(jīng)網(wǎng)絡(U-Net),充分利用地震數(shù)據(jù)的三維空間特征,大幅度提高了模型訓練的預測精度和效率; Liu等[16]在Wu等[15]提出的U-Net的基礎上,引入了ResNet-34[17]中的殘差模塊,進一步提高了斷層自動識別的精度。
在樣本標簽數(shù)據(jù)集的制作方面,Tingdahl等[18]通過地震屬性優(yōu)選制作樣本標簽數(shù)據(jù)集;Zhang等[19]提出了一種正演合成斷層地震記錄作為樣本標簽的方法,將有限差分聲波方程正演得到含斷層的地震數(shù)據(jù)作為訓練集; Xiong等[20]利用骨架化地震相干自校正結(jié)果作為訓練樣本,將一個中心點的主測線和聯(lián)絡線、時間切片的地震數(shù)據(jù)作為三通道輸入;Wu等[15]提出了合成地震記錄并用U型神經(jīng)網(wǎng)絡進行訓練的方法,通過定義反射系數(shù)層、加入縱向剪切、加入橫向剪切、加入斷層、褶積運算、加入噪聲等六個步驟,獲得了更符合地質(zhì)意義以及更多樣化的樣本和標簽信息。
在損失函數(shù)方面,董守華等[11]采用平方誤差函數(shù)作為網(wǎng)絡的損失函數(shù),將網(wǎng)絡的參數(shù)調(diào)整與梯度優(yōu)化相結(jié)合;Zhang等[19]采用符合機器學習特征的規(guī)則化最小平方高斯內(nèi)核函數(shù)作為損失函數(shù);Araya-Polo等[21]采用瓦瑟斯坦(Wasserstein)損失函數(shù)作為目標函數(shù),克服了交叉熵損失函數(shù)無法考慮相鄰樣本之間聯(lián)系的缺點,使訓練的模型更符合斷層的地質(zhì)意義;Wu等[15]在考慮地震數(shù)據(jù)中正、負樣本不均衡的情況下,使用平衡交叉熵損失函數(shù)。
雖然利用深度學習檢測斷層技術(shù)已獲得較大進展,但在實際資料應用中還存在模型訓練難度大、預測效果不理想等問題,因此本文構(gòu)建了新的網(wǎng)絡結(jié)構(gòu)ResU-Net用于地震數(shù)據(jù)斷層檢測。該網(wǎng)絡結(jié)構(gòu)將U-Net與Res-50的殘差模塊相結(jié)合,在增加網(wǎng)絡深度的同時,優(yōu)化模型以降低訓練難度和計算量;針對合成地震數(shù)據(jù)集中正、負樣本極度不均衡(斷層點的數(shù)量遠遠少于非斷層點)的情況,應用帶有權(quán)重的交叉熵損失函數(shù),提高了斷層樣本對損失函數(shù)的影響;同時選擇適當?shù)妮斎氪笮 ⒅丿B邊界處理方法以及進行不規(guī)則輸入數(shù)據(jù)的擴充后,通過搭建的網(wǎng)絡訓練得到的模型可快速、準確地檢測斷層。
利用CNN識別斷層的方法分為兩種:第一種是當作圖像分類問題,主要思路是判斷一個剖面的中心點是否為斷層點,然后逐點移動剖面,進行逐點預測[13,20];第二種是當作語義分割問題,輸入二維或者三維的數(shù)據(jù)體,輸出對應大小的預測結(jié)果[15-16]。相較于前者,后者擁有更高的預測精度和更快的訓練速度。因此,本文采用語義分割的思路進行斷層自動識別。
1.1.1 U-Net
U-Net于2015年由Ronneberger等[22]提出,是基于全卷積神經(jīng)網(wǎng)絡(FCN)[23]拓展、修改而來,由編碼器和解碼器兩部分組成。其中,編碼器部分是典型的卷積結(jié)構(gòu),包含兩個連續(xù)的3×3卷積核層,卷積后的特征圖像經(jīng)ReLU函數(shù)進行非線性激活;下采樣方法采用最大池化,每次下采樣操作都將特征圖像通道數(shù)增加2倍,同時將圖像尺寸縮小2倍;在解碼器部分對特征圖像反卷積,特征圖像的尺寸擴大2倍,與對應編碼器中的特征圖像拼接,提取低維特征信息,對拼接后的特征圖像進行兩次連續(xù)卷積操作,最后使用ReLU函數(shù)激活。在最后的輸出層中利用1×1卷積核對特征圖像進行卷積,生成與輸入數(shù)據(jù)相同的維數(shù),還原圖像的原始尺寸。在編碼器部分的每次池化之前,特征圖像都將被保存,并通過跳躍連接的方式將保存的特征圖像傳遞給對應尺度的解碼器部分,為解碼器提供不同尺度的特征信息。通過跳躍連接的方式恢復由于池化處理降低分辨率而損失的空間信息,可為解碼器提供不同分辨率的圖像特征。
1.1.2 殘差模塊
機器學習算法的網(wǎng)絡達到一定深度之后,就會出現(xiàn)梯度消失、梯度爆炸等問題,從而產(chǎn)生錯誤的訓練結(jié)果。為此,He等[17]提出了能夠解決網(wǎng)絡過深問題的殘差神經(jīng)網(wǎng)絡。如果網(wǎng)絡中的深層是恒等映射,那么模型就退化為一個淺層網(wǎng)絡。因此,需要解決的問題是學習過程中的恒等映射函數(shù)。如果把網(wǎng)絡設計為H(x)=F(x)+x,那么可將它轉(zhuǎn)換為學習一個殘差函數(shù)F(x)=H(x)-x(其中x為網(wǎng)絡的輸入)。只要F(x)=0就構(gòu)成了一個恒等映射H(x)=x,從而使結(jié)果更容易擬合。由此,He等[17]提出了包含殘差函數(shù)的兩個殘差模塊,分別為Res-34和Res-50(圖1)。對比Res-34和Res-50兩個殘差模塊,可以發(fā)現(xiàn)Res-34模塊主要由兩個3×3的卷積核構(gòu)成;而Res-50模塊中間為一個3×3的卷積核,首端和末端均為1×1的卷積核,目的是削減和恢復四倍的特征圖像通道數(shù)量。
在殘差模塊的時間復雜度對比方面,主要考慮卷積層中的乘法次數(shù)。假設在殘差模塊中完成特征圖像通道數(shù)為64的運算,圖1中兩個殘差模塊紅色部分的時間復雜度是一樣的,其余部分中,Res-34模塊可以分解為3×3×64×64次乘法運算,而Res-50模塊為(4+4)×64×64次乘法運算。因此,對于二維數(shù)據(jù)的卷積核計算,兩種殘差模塊的時間復雜度基本相同。但是,對于三維卷積核,紅色部分抵消之后,Res-34模塊的時間復雜度為3×3×3×64×64,而Res-50模塊的時間復雜度不變,因此Res-34模塊的時間復雜度為Res-50模塊的3.375倍。對于三維地震數(shù)據(jù)體的斷層檢測而言,選擇Res-50模塊會比Res-34模塊減少計算時間,可以加深網(wǎng)絡結(jié)構(gòu)以提高學習能力。
圖1 Res-34(左)與Res-50(右)殘差模塊結(jié)構(gòu)對比
1.1.3 ResU-Net網(wǎng)絡結(jié)構(gòu)
通過上述分析,本文以U-Net網(wǎng)絡為基礎,引入Res-50殘差模塊構(gòu)建新的網(wǎng)絡結(jié)構(gòu),即ResU-Net,如圖2所示。
Res-50模塊通過1×1×1卷積核升、降特征圖像的通道數(shù),可以在保證特征學習能力的前提下大幅減少運算量。因此,本文構(gòu)建了包含45個卷積層的深層神經(jīng)網(wǎng)絡,特征圖像通道數(shù)從16開始、以2的倍數(shù)升高至512。
在編碼器部分(圖2左側(cè)),每一個步驟均包含三個卷積層,依次為1×1×1、3×3×3和1×1×1,并將輸出與殘差模塊的輸入計算殘差。每一個卷積層之后都加入一個ReLU函數(shù),最后利用一個2×2×2的最大池化層用于下采樣。這樣就可以在每一步驟之后將特征層的數(shù)量加大一倍。
圖2 ResU-Net網(wǎng)絡結(jié)構(gòu)示意圖
在解碼器部分(圖2右側(cè))的每一步驟都包含一個2×2×2的上采樣操作、一個與左側(cè)收縮路徑中的特征連接和三個卷積層(依次為1×1×1、3×3×3、1×1×1),并將輸出與殘差模塊的輸入計算殘差。每一個卷積層之后都加入一個ReLU函數(shù)。輸出層采用一個包含Sigmoid函數(shù)的1×1×1卷積層,最終輸出斷層概率值。
損失函數(shù)最小化可使模型達到收斂狀態(tài),減少模型預測值的誤差。本文采用的損失函數(shù)為Xie等[24]提出的平衡交叉熵損失函數(shù),即
(1)
式中:N為輸入三維地震體數(shù)據(jù)點個數(shù);β為非斷層點與樣本數(shù)的比;pi是預測為斷層點的概率(0 增加β可以使模型在訓練過程中更加側(cè)重于標簽少的樣本的學習,適合正、負樣本不均衡的情況。在數(shù)據(jù)訓練集中,非斷層點(標簽為0)遠大于斷層點(標簽為1)的數(shù)量,因而應用平衡交叉熵損失函數(shù)能夠增加模型對斷層點的學習能力,以便更好地識別斷層。 模型訓練采用的數(shù)據(jù)集為Wu等[15]開源的合成地震記錄數(shù)據(jù)集,共有220個三維合成地震記錄以及與之對應的標簽集,每個數(shù)據(jù)集大小為128×128×128。其中,200個作為訓練集,剩余的20個作為測試集。圖3展示了剖面、時間切片以及對應的斷層標簽。 圖3 模型訓練樣本數(shù)據(jù)(左)及對應斷層標簽(右) 在訓練之前,首先對樣本標簽數(shù)據(jù)體進行預處理??紤]到不同地震圖像的振幅值之間可能存在很大差異,因而對所有訓練的地震圖像進行歸一化處理,每幅圖像用平均值減去標準差。同時,為了增加數(shù)據(jù)的多樣性,提高訓練模型的泛化能力,對數(shù)據(jù)集進行增強處理,將樣本標簽數(shù)據(jù)集沿z軸進行90°、180°和270°旋轉(zhuǎn),目的是避免插值引起的偽影。 在模型數(shù)據(jù)訓練中,本文對比了兩個網(wǎng)絡模型的訓練效果。第一個網(wǎng)絡模型為包含45個卷積層的ResU-Net;第二個網(wǎng)絡模型是在第一個網(wǎng)絡模型的基礎上,將映射計算方式改為H(x)=x的U-Net。在模型訓練中采用相同的參數(shù)(表1)。采用數(shù)據(jù)增強之后的800個合成地震記錄數(shù)據(jù)體(前文的220個數(shù)據(jù)集中的200個作為訓練集,數(shù)據(jù)增強處理將訓練集擴充了四倍),在顯存為11GB的GPU-RTX2080Ti中訓練了25個周期,每訓練完1個周期均采用20個合成地震記錄數(shù)據(jù)集作為驗證集進行驗證。 表1 模型訓練參數(shù)表 經(jīng)過25個周期訓練,兩個網(wǎng)絡模型均達到收斂,并在驗證集上均取得了約93%的準確率和0.025的損失。 隨機在驗證集中選取一條地震剖面,斷層預測結(jié)果如圖4所示。由圖可見,兩個網(wǎng)絡模型預測結(jié)果基本一致,均可以從地震剖面中識別斷層。在相同條件下,訓練得到的模型具有相同的訓練時間和時間復雜度(3.1×109),這也印證了前文對殘差模塊的分析。殘差模塊恒等映射與普通卷積層計算恒等映射具有相同的模型參數(shù)和計算量,即殘差模塊并不會增加模型的參數(shù)和訓練時間,只是更換了卷積層計算映射的方式。相較于包含7個Res-34結(jié)構(gòu)、時間復雜度為7.3×109的ResU-Net(包含Res-34殘差模塊),本文的包含Res-50殘差模塊ResU-Net能夠在很大程度上減少參數(shù)數(shù)量,節(jié)余的計算量可以加入更多的Res-50殘差模塊而更好地學習斷層特征,并且擁有更少的訓練時間和更小的時間復雜度。 圖4 不同訓練模型驗證集地震剖面斷層預測結(jié)果對比 選取三個斷層比較發(fā)育的三維實際地震數(shù)據(jù)(圖5)進行測試以驗證模型的斷層預測效果及泛化能力。 圖5 實際地震數(shù)據(jù)體 在實際數(shù)據(jù)的處理過程中,需要根據(jù)訓練模型的輸入大小進行數(shù)據(jù)的組合、拼接,不同大小的模型輸入、不同的拼接方法均會對預測結(jié)果產(chǎn)生很大的影響。 本文利用第一個數(shù)據(jù)進行模型大小的對比、分析。第一個三維數(shù)據(jù)的大小為300×300×300,為了充分利用GPU的計算效率,將網(wǎng)絡的輸入分別設置為64×64×64、128×128×128、256×256×256并進行測試。從預測所用的時間來看,這三種情況下都在5s之內(nèi)完成了測試,所用時間相近。測試結(jié)果如圖6所示。由圖可見,以64×64×64作為輸入效果最差,斷層連續(xù)性被嚴重破壞;而以256×256×256作為輸入效果最好,斷層識別精度高,預測的斷層更加連續(xù)(圖6箭頭處)。測試結(jié)果表明,網(wǎng)絡輸入越大,地震數(shù)據(jù)信息及斷層特征更豐富,檢測到的斷層更連續(xù)、準確。 圖6 不同輸入大小的預測結(jié)果對比 一般情況下,使用訓練好的模型進行實際數(shù)據(jù)應用時,如果三維地震數(shù)據(jù)某個維度的大小超過了256,則在這個維度上選取256作為輸入的大小就可以得到相對優(yōu)異的預測結(jié)果。因此,可以通過分塊預測、采用邊界加權(quán)疊加的方法進行輸出數(shù)據(jù)的拼接。圖7對比了數(shù)據(jù)輸出時分別采用和不采用加權(quán)疊加方法得到的結(jié)果。如果不做任何處理直接進行拼接,將會在拼接處出現(xiàn)如圖7a箭頭所示的斷層不連續(xù)的現(xiàn)象。在加權(quán)函數(shù)選取中,本文選取高斯權(quán)重函數(shù)進行加權(quán)疊加,使預測斷層更加連續(xù),拼接痕跡明顯減少(圖7b)。 圖7 不同拼接方式預測結(jié)果對比 在實際數(shù)據(jù)應用中,如果以200×200×200的大小作為輸入(圖8a)時,就會出現(xiàn)斷層無法預測的現(xiàn)象,原因是網(wǎng)絡需要進行5次池化層的操作,即將原始輸入的圖像縮小了25(32)倍,32無法被200整除,所以導致200×200×200大小的數(shù)據(jù)無法預測。本文將這定義為數(shù)據(jù)不規(guī)則情況下的預測問題。為了解決這個問題,將數(shù)據(jù)向上擴展到最近的一個能夠被32整除的數(shù)據(jù),即224,被擴充的部分數(shù)值為原始矩陣的均值。與128×128×128大小作為輸入并進行重疊邊界處理后的結(jié)果(圖8b)相比,將數(shù)據(jù)擴充以224×224×224作為輸入識別的斷層(圖8c)更加連續(xù),準確性更高。 圖8 數(shù)據(jù)不規(guī)則預測結(jié)果對比 殘差模塊的加入可提升斷層識別能力。實際數(shù)據(jù)應用中采用256×256×256大小作為輸入,重疊部分拼接長度為15,整個預測過程在幾秒內(nèi)即可完成。圖9展示了其在兩個訓練模型上的應用結(jié)果對比。可以看出,相較于U-Net網(wǎng)絡,ResU-Net預測斷層更準確、連續(xù)性更好(圖9中黑色虛線圓圈標注處);同時,ResU-Net網(wǎng)絡預測的斷層線更細致(圖9中箭頭處)。 圖9 兩個網(wǎng)絡訓練模型的實際數(shù)據(jù)應用效果對比 為了證明模型的泛化能力,利用其他兩個三維數(shù)據(jù)進行測試,圖10和圖11分別為對應于圖5b和圖5c的三維數(shù)據(jù)體斷層預測結(jié)果。結(jié)果表明,兩個三維數(shù)據(jù)體的斷層預測結(jié)果與實際數(shù)據(jù)體斷層解釋結(jié)果一致,驗證了本文網(wǎng)絡模型在實際數(shù)據(jù)應用中具有良好的泛化能力。 圖10 圖5b三維數(shù)據(jù)體地震剖面(左)及斷層預測結(jié)果(右)對比 圖11 圖5c三維數(shù)據(jù)體地震剖面(左)及斷層預測結(jié)果(右)對比 網(wǎng)絡模型的抗噪能力是機器學習應用于斷層檢測過程中非常重要的一個方面,通過加入隨機噪聲的實際數(shù)據(jù)進行訓練可檢驗模型的抗噪能力。首先向地震數(shù)據(jù)中加入一定強度的高斯噪聲(15dB和10dB),為了方便凸顯不同信噪比條件下剖面的差異,選擇地震波形顯示方式進行展示(圖12)。與圖12a中Inline地震剖面相比,圖12b、圖12c中同相軸很模糊,有效信號被噪聲掩蓋,構(gòu)造特征無法凸顯。將這三組數(shù)據(jù)輸入到本文提出的網(wǎng)絡模型中進行斷層預測。可以看出,盡管在地震數(shù)據(jù)中存在較強噪聲干擾的情況下,信噪比為15dB地震數(shù)據(jù)(圖12b右)與原始地震數(shù)據(jù)的預測結(jié)果(圖12a右)基本一致,與人工解釋斷層結(jié)果也吻合較好,表明本文網(wǎng)絡模型抗噪能力強。而在信噪比為10dB的情況下,也能夠?qū)⒋蟛糠謹鄬訙蚀_識別(圖12c右),但是在黑色虛線圓圈標注處的斷層未能很好地識別。這可能因為此區(qū)域噪聲對同向軸干擾相對較強,從而影響了模型對斷層識別的效果??紤]到訓練樣本標簽數(shù)據(jù)集的合成過程中已經(jīng)加入了一定強度的隨機噪聲,因此向數(shù)據(jù)集中加入多種噪聲、對預測數(shù)據(jù)采取更好的去噪處理是進一步提高斷層識別精度的兩個重要手段。 圖12 不同信噪比條件數(shù)據(jù)體(左)及斷層預測預測結(jié)果(右)對比 本文結(jié)合U-Net與Res-50殘差模塊提出了一種運算高效且泛化能力強的地震數(shù)據(jù)斷層檢測深度學習網(wǎng)絡。利用合成數(shù)據(jù)集進行網(wǎng)絡訓練建立的斷層檢測模型,在不同的三維數(shù)據(jù)體上的測試應用均取得較好的結(jié)果,預測的斷層準確性高、連續(xù)性好,并且抗噪能力強。1.3 模型訓練
2 實際數(shù)據(jù)應用
3 結(jié)束語