張 昊,朱培民,顧 元,黎孝璋
(1.中國地質(zhì)大學(武漢)地球物理與空間信息學院,湖北武漢430074;2.自然資源部海底礦產(chǎn)資源重點實驗室,廣州海洋地質(zhì)調(diào)查局,廣東廣州510760;3.中海石油(中國)有限公司湛江分公司,廣東湛江524057)
速度分析是常規(guī)地震資料處理中的重要環(huán)節(jié)之一[1-2],是地震資料后續(xù)處理(如多次波壓制[3-4]、時深轉(zhuǎn)換[5]、偏移成像[6-7]和反演[8-9]等)的基礎。為了獲取速度分析的結(jié)果,需要在速度譜上進行速度拾取,這一過程目前基本上是人工操作,需花費大量的人工時間。受地震噪聲、多次波、側(cè)面波、繞射波以及構造復雜性和構造的空間變化等的影響,只有受過訓練的處理員才能得到正確或精度較高的速度拾取結(jié)果。雖然受過訓練的地震資料處理員人工拾取速度譜判別能力強,具有一定的靈活性,但是人工拾取存在拾取效率低、耗時長等缺點,在進行大面積三維地震資料處理時這一問題顯得更為突出。因此,有必要研究一種快速且有效的自動拾取速度譜的方法,以減少地震資料處理人員的人工操作。
近些年,隨著地震勘探程度的深入和技術條件的改善,速度自動拾取方法的研究取得了較大進步?,F(xiàn)有的地震速度自動拾取方法可以分為兩大類:第一類是最優(yōu)化搜尋方法,它采用最優(yōu)化算法和最大相似度量準則,在考慮實際地質(zhì)條件的前提下設定速度約束條件,對初始速度模型加以擾動,自動尋找速度譜中疊加能量的全局最優(yōu)解,從而獲得合理的速度模型。最優(yōu)化速度拾取方法實際上是一種反演方法,多以層速度模型作為初始模型,通過反演方式,例如共軛梯度法[10]、非線性最優(yōu)化法[11-14]、蒙特卡洛法[15-18]、路徑積分優(yōu)化法[19-20]等,獲得最優(yōu)的層速度模型。嚴格地說,這些方法并不是速度拾取方法。還有一種基于機器視覺和層速度的啟發(fā)式組合匹配,提取速度譜上與實際結(jié)果最大相關的一組能量團峰值的自動拾取方法[21],在本質(zhì)上仍然是一種反演方法?;谧顑?yōu)化搜尋的速度譜自動拾取方法存在的主要問題是:①需要適當?shù)南闰灱s束;②當初始層速度與真實速度偏離較大時,該方法的計算效率較低,甚至得出錯誤結(jié)果;③對于地質(zhì)條件復雜的地區(qū),例如速度橫向巨變的地區(qū),速度拾取的準確性很低。第二類地震速度自動拾取方法基于人工智能技術,它利用智能算法對速度譜中的能量團峰值進行識別,獲取疊加速度。在早期研究中,一些學者提出了基于BP神經(jīng)網(wǎng)絡[22-23],或者將BP神經(jīng)網(wǎng)絡與二叉排序樹[24]、模糊數(shù)學[25]等相結(jié)合的疊加速度自動拾取方法。由于傳統(tǒng)人工神經(jīng)網(wǎng)絡存在計算量大、學習速度慢、容易陷入局部極小值或出現(xiàn)過擬合等問題,加上早期計算資源的限制,該方法無法達到滿意的效果,因而相關的研究也逐漸減少。近年來隨著計算機硬件的提升和深度學習的快速發(fā)展,人工智能技術已經(jīng)成功應用于地震巖相反演[26]、噪聲壓制[27-28]、儲層預測[29-30]、測井巖性識別[31]等物探領域,但是基于深度學習技術的自動速度拾取研究并不多。MA等[32]和BISWAS等[33]分別提出了基于卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)的疊加速度自動拾取方法。然而這些方法只適用于簡單地質(zhì)條件下的速度譜自動拾取,且拾取效果較差,甚至在速度反轉(zhuǎn)的情況下需要附加人為干預。
總結(jié)上述兩類方法的特點,發(fā)現(xiàn)仍然有兩個主要問題未能解決:①對于復雜地質(zhì)情況的區(qū)域,拾取結(jié)果的準確性不高;②在自動拾取之前,這些方法需要根據(jù)先驗知識來設置合理的計算時窗、搜索半徑,添加約束等人為干預過程,并沒有完全實現(xiàn)智能化和自動化。
為解決上述兩個問題,本文提出了基于深度學習的地震疊加速度智能拾取方法,模仿地震處理員拾取速度的過程,來實現(xiàn)速度的自動拾取。該方法將速度譜視為圖像,并依據(jù)所拾取的“時間-速度”對具有時間序列的特點,提出了一種基于CNN和長短期記憶(long-short term memory,LSTM)模型的混合神經(jīng)網(wǎng)絡模型,采用張量流(Tensorflow)深度學習框架來自動拾取速度譜上的“時間-速度”對。理論和實際地震數(shù)據(jù)的訓練和測試結(jié)果,驗證了該方法的速度拾取精度、效率和自動化程度。
基于地震數(shù)據(jù)CMP道集計算的速度譜是速度分析的主要表現(xiàn)形式,其具有兩個鮮明的特點:一是速度譜可以看作圖像,其上的能量峰值對應地震處理員所需要拾取的疊加速度——“時間-速度”對;二是這些“時間-速度”對在速度譜上存在著特定的空間關系,一般情況下疊加速度會隨著時間的增加而增大,說明其具有明顯的序列特征。這兩個速度譜的基本特征為本文后續(xù)的算法設計提供了科學依據(jù)。
深度學習中最為常見并且應用最為廣泛的模型是CNN和RNN。其中,CNN模型可以提取數(shù)據(jù)在空間結(jié)構上的關系,在圖像識別領域表現(xiàn)出巨大的優(yōu)勢[34-35]。RNN模型可以提取長短時的間隔信息,擅長于預測時間序列,但由于傳統(tǒng)RNN模型存在梯度爆炸或者梯度消失的問題[36-37],在本文中將用其改進模型——LSTM模型。
從速度譜中拾取疊加速度,可以看作是對速度譜圖像中能量團的識別和定位,我們通過深度學習方法來實現(xiàn)對能量團的識別。首先利用CNN模型在圖像識別上的能力來提取速度譜圖像中能量團的特征,并對能量團的位置進行預測;再基于“時間-速度”對的時序特性,利用LSTM模型對時間序列的預測優(yōu)勢來進一步提高“時間-速度”對識別的準確度。該方法所涉及的相關神經(jīng)網(wǎng)絡原理、網(wǎng)絡結(jié)構及其重要參數(shù)如下。
1.2.1 卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡主要由輸入層、卷積層、池化層、全連接層、丟棄(Dropout)層等層級結(jié)構組成。卷積層的前向?qū)崿F(xiàn)過程為:
ai,k=f(xi*Wk+bk)
(1)
式中:ai,k是經(jīng)過卷積層中第k個卷積核對輸入的訓練集的第i個圖像數(shù)據(jù)xi進行卷積處理得到的卷積特征矩陣;“*”表示卷積運算;Wk表示第k個卷積的權值矩陣;bk為第k個卷積核對應的閾值;f(·)為非線性激活函數(shù)。本文采用ReLU型激活函數(shù),其形式如下:
f(x)=max(0,x)
(2)
池化層能夠有效減少特征和參數(shù),降低計算的復雜度,因此,在完成卷積計算后采用最大池化的方法來最大化圖像特征。最大池化采用以下公式:
cj=maxpool(ai,k)
(3)
其中,cj為池化層產(chǎn)生的第j個池化特征矩陣,pool為池化運算。
利用Dropout層減輕網(wǎng)絡過擬合現(xiàn)象,隨機將經(jīng)過Dropout層的某些池化特征矩陣設置為0,其計算過程為:
D(x)=R⊙x
(4)
(4)式表示將該層的數(shù)據(jù)矩陣x中的某些值隨機地置為0。其中,R=RandomZero(p)表示根據(jù)概率p隨機產(chǎn)生一個使某些值為0、其余值為1的矩陣,⊙表示Hadamard積,D(x)表示訓練階段經(jīng)過Dropout層后得到的數(shù)據(jù)矩陣。
全連接層的前向計算過程為:
ai,l=f(Wlai,l-1+bl)
(5)
式中:ai,l表示經(jīng)過第l個全連接層后第i個圖像數(shù)據(jù)的特征向量;bl和Wl分別代表第l個神經(jīng)元的閾值和權重。
1.2.2 長短期記憶模型
LSTM模型是一種特殊的循環(huán)神經(jīng)網(wǎng)絡。一個LSTM模型由一個細胞狀態(tài)和3個門(輸入、輸出、遺忘)組成,如圖1所示。LSTM模型遺忘門的數(shù)學表達式為:
f(t)=σ[Wfh(t-1)+Ufx(t)+bf]
(6)
式中:f(t)表示遺忘上一層隱藏細胞狀態(tài)的概率;h(t-1)表示序列的上一隱藏狀態(tài);x(t)表示當前時刻序列的輸入;Wf和Uf代表權重矩陣;bf代表偏置向量;σ為sigmoid激活函數(shù)。(7)式和(8)式為LSTM模型輸入門的數(shù)學表達式:
i(t)=σ[Wih(t-1)+Uix(t)+bi]
(7)
g(t)=tanh[Wgh(t-1)+Ugx(t)+bg]
(8)
式中:i(t)和g(t)為這兩個輸入門的輸出;Wi,Ui,Wg,Ug為輸入門的權重矩陣;bi和bg為輸入門的偏置向量。更新細胞狀態(tài)的數(shù)學表達式為:
c(t)=c(t-1)⊙f(t)+i(t)⊙g(t)
(9)
式中:c(t)表示當前的細胞狀態(tài);c(t-1)表示上一序列的細胞狀態(tài)。(10)式和(11)式為輸出門兩部分的數(shù)學表達式:
o(t)=σ[Woh(t-1)+Uox(t)+bo]
(10)
h(t)=o(t)⊙tanh[c(t)]
(11)
式中:o(t)為輸出門的輸出;Wo和Uo為輸出門的權重矩陣;bo為輸出門的偏置向量;h(t)表示當前隱藏狀態(tài)。當前序列預測輸出的數(shù)學表達式為:
y(t)=φ[Whh(t)+bh]
(12)
式中:y(t)為當前序列的預測輸出;Wh和bh分別表示預測輸出的權重矩陣和偏置向量。
圖1 一個LSTM模型的網(wǎng)絡單元結(jié)構
根據(jù)速度譜特征,對速度譜的自動拾取可以看作二維圖像的識別問題,即針對速度譜中能量團的空間位置進行識別。由深度學習理論可知,CNN模型采用多個卷積層堆疊的形式來描述數(shù)據(jù)的空間屬性,并能夠很好地提取圖像特征,但是無法模擬時間序列。在研究中發(fā)現(xiàn),僅僅利用單一的CNN模型來識別和定位速度譜中的能量團位置,所獲得的結(jié)果精確度不夠高。因此,本文依據(jù)疊加速度“時間-速度”對具有時間序列的特點,將CNN和LSTM兩種模型結(jié)合,利用LSTM模型隱藏單元的記憶模塊來保存“時間-速度”對的長間隔信息,對“時間-速度”對進行修正,以獲得準確的識別結(jié)果。
圖2為用于速度自動拾取的混合神經(jīng)網(wǎng)絡模型結(jié)構。該模型分為2個模塊:一是卷積神經(jīng)網(wǎng)絡模塊,將速度譜圖像輸入到卷積層,利用滑動窗口,提取速度譜中能量團的特征,計算能量團的位置,獲取“時間-速度”對序列;二是循環(huán)神經(jīng)網(wǎng)絡模塊,將卷積層生成的“時間-速度”對序列依次輸入到LSTM模型各節(jié)點,預測新的“時間-速度”對序列。
圖2 CNN+LSTM網(wǎng)絡模型結(jié)構
卷積神經(jīng)網(wǎng)絡模塊包括4個卷積層、4個池化層、3個全連接層。其中每個池化層置于卷積層之后,全連接層則設置在最后一個池化層的后面。LSTM模型模塊要求其輸入層向量維度與卷積神經(jīng)網(wǎng)絡的輸出相對應,其中隱藏層使用至少20個神經(jīng)元,輸出層為“時間-速度”對,與卷積神經(jīng)網(wǎng)絡模塊最后一層的神經(jīng)元個數(shù)相同。
對模型進行訓練時,本文將3通道RGB圖像輸入至模型中,每次輸入100張彩色速度譜圖像及其平均值。實驗采用隨機梯度下降算法進行優(yōu)化,并利用自適應學習率算法來更新所有模型參數(shù)的學習率。其中,基礎學習率為0.01,步長為0.001,學習率的指數(shù)衰減速率為0.9,每當訓練1000次時調(diào)整一次學習率,一共訓練10000次。本文所有的實驗均在張量流(Tensorflow)深度學習框架下運行,并使用GPU加速訓練過程。
建立了一個數(shù)量龐大的速度譜圖像數(shù)據(jù)庫,為了增加模擬速度譜的多樣性和測試速度譜識別的普適性,共設計了10000個6~10層的一維層狀地質(zhì)模型,每層的厚度為300~500m,每層的速度變化范圍為1500~3000m/s。利用射線追蹤方法對上述地質(zhì)模型進行正演,選用主頻為40Hz的雷克子波,褶積計算得到共中心點(CMP)道集,并在模擬中考慮了多次波(圖3)。對CMP道集進行速度掃描,共計算得到10000張速度譜圖像(圖4)。
圖3 任意選取的一個包含有多次波同相軸的CMP道集
在使用卷積神經(jīng)網(wǎng)絡對圖像進行處理前,為了程序設計簡單且適用于不同地區(qū)、不同測線、不同參數(shù)計算得到的速度譜,我們對速度譜圖像進行了縮放,將其轉(zhuǎn)換為大小統(tǒng)一的401×401像素的圖像(圖5)。本次實驗將模擬生成的10000張速度譜圖像分為訓練集和測試集兩部分,其中80%的速度譜圖像作為訓練集,用于訓練本文設計的速度譜識別深度學習模型;20%的速度譜圖像作為測試集來對方法進行檢驗。
為了量化網(wǎng)絡模型的學習效果,本文利用均方差(公式(13))和預測精度(公式(14))兩個指標來比較不同深度學習模型識別速度譜的有效性和準確性。
圖4 由圖3數(shù)據(jù)計算得到的速度譜
圖5 圖4經(jīng)過縮放變換后的速度譜
為了體現(xiàn)LSTM模型對時間序列的預測優(yōu)勢和驗證CNN+LSTM混合模型的有效性,在訓練過程中,本文在相同的數(shù)據(jù)集上分別采用了CNN模型和CNN+LSTM模型來進行速度譜識別。其中,CNN模型與圖2中左側(cè)卷積神經(jīng)網(wǎng)絡的結(jié)構相同,訓練結(jié)果如圖6和圖7所示。由圖6可以看出,隨著迭代次數(shù)的增加,兩種模型的RRMSE值都能逐漸減小并趨于平穩(wěn),表明兩種模型都是收斂的。另外,CNN模型的RRMSE值大于CNN+LSTM模型的RRMSE值,說明CNN+LSTM模型識別誤差較小。圖7給出了CNN模型和CNN+LSTM模型的PPA值變化趨勢。其中,CNN模型的PPA值最高達到33.3%,CNN+LSTM模型的PPA值最高達到89.5%,表明CNN+LSTM模型具有更好的識別精度。
圖6 CNN和CNN+LSTM網(wǎng)絡模型識別理論數(shù)據(jù)的RRMSE值變化曲線
訓練后的模型被用于識別剩余的2000張速度譜圖像。CNN模型和CNN+LSTM模型的預測識別結(jié)果如圖8所示。由圖8可以看出,CNN+LSTM模型的識別結(jié)果比單一CNN模型的識別結(jié)果更接近真實模型,這說明LSTM模型能夠很好地利用速度譜中時間與速度對的時序性,提高速度譜識別結(jié)果的準確率。
采用海上某二維測線對本文方法進行了測試。
圖7 CNN和CNN+LSTM網(wǎng)絡模型識別理論數(shù)據(jù)的PPA值變化曲線
該測線共抽取了7000個CMP道集。對這些CMP道集進行預處理、去噪和速度掃描之后,獲得了相應的速度譜。本文將80%的速度譜作為訓練集,20%作為測試集。在訓練時,將速度譜圖像作為人工神經(jīng)網(wǎng)絡模型的訓練輸入,由人工拾取的“時間-速度”對作為人工神經(jīng)網(wǎng)絡模型的訓練輸出。
分別采用CNN和CNN+LSTM兩種模型進行速度譜識別,利用RRMSE和PPA值來比較兩者的拾取效果。另外,在計算RRMSE和PPA時,因為是實際數(shù)據(jù),我們用人工拾取的“時間-速度”對代替了(13)式和(14)式中的真實速度值。在經(jīng)過10000次學習后,CNN模型的RRMSE值大于CNN+LSTM模型的RRMSE值(圖9),CNN模型的PPA值最高達到26.4%,遠小于CNN+LSTM模型的最高PPA值81.3%(圖10)。該結(jié)果與理論數(shù)據(jù)的學習結(jié)果一致,說明對于實際地震數(shù)據(jù)速度譜,CNN+LSTM模型無論在拾取誤差還是拾取準確率上均優(yōu)于CNN模型。
表1列出了CNN模型和CNN+LSTM模型分別對訓練集、測試集速度譜識別的RRMSE值和PPA值統(tǒng)計結(jié)果。由表1可知,無論是訓練集還是測試集,CNN模型的RRMSE值均大于CNN+LSTM模型的RRMSE值,CNN模型的PPA值均小于CNN+LSTM模型的PPA值,這表明CNN+LSTM模型所拾取的“時間-速度”對更接近人工拾取的“時間-速度”對。另外,在不同數(shù)據(jù)集上,CNN+LSTM模型在測試集拾取的整體效果與訓練集相近,而CNN模型測試集拾取的整體效果與訓練集相差較大,說明CNN+LSTM模型具有更強的泛化能力。
圖8 CNN和CNN+LSTM網(wǎng)絡模型的理論數(shù)據(jù)識別結(jié)果
圖9 CNN和CNN+LSTM網(wǎng)絡模型識別實際數(shù)據(jù)的RRMSE值變化曲線
數(shù)據(jù)集CNN模型CNN+LSTM模型RRMSEPPARRMSEPPA訓練集45.5426.4%9.7781.3%測試集50.7523.2%9.8780.7%
圖10 CNN和CNN+LSTM網(wǎng)絡模型識別實際數(shù)據(jù)的PPA值變化曲線
采用CNN模型和CNN+LSTM模型分別對兩個CMP道集(圖11)計算出的速度譜進行自動拾取,結(jié)果如圖12所示。由圖12可知,與單一CNN模型相比,CNN+LSTM模型自動拾取結(jié)果與人工拾取結(jié)果更為吻合,也驗證了CNN+LSTM模型對速度譜自動拾取的可行性。另外,為了進一步檢驗拾取結(jié)果的正確性,本文對CMP100道集運用人工拾取的疊加速度和CNN+LSTM模型拾取的疊加速度分別進行動校正,結(jié)果如圖13所示。由圖13可見,人工拾取疊加速度與CNN+LSTM模型自動拾取疊加速度動校正結(jié)果的同相軸拉平程度相當,說明CNN+LSTM模型自動拾取的疊加速度可以完全替代人工拾取的疊加速度。圖14顯示了實際資料利用人工拾取的疊加速度和CNN+LSTM模型自動拾取的疊加速度所得到的疊加剖面。其中,圖14a采用的是每間隔20個CMP進行一次人工拾取得到的疊加速度(共350個CMP道集),圖14b采用的是由本文方法對7000個CMP進行自動拾取得到的疊加速度。對比圖14a和圖14b可以看出,兩個疊加剖面中的反射同相軸總體上非常接近。
圖11 兩個實際數(shù)據(jù)的CMP道集a CMP100; b CMP600
圖12 兩個實際速度譜的CNN模型和CNN+LSTM模型識別結(jié)果a CMP100; b CMP600
圖13 利用不同方法拾取速度的動校正結(jié)果a 人工拾取速度; b CNN+LSTM自動拾取速度
圖14 海上實際地震資料疊加剖面a 人工拾取疊加速度; b CNN+LSTM模型自動拾取疊加速度
在本次實驗中,我們設計的程序在一臺處理器為Intel i7-7700HQ,內(nèi)存32GB,GPU為Nvidia Quadro M2200(顯存4GB)的筆記本電腦上運行,CNN+LSTM模型對7000張速度譜進行自動拾取僅用了30min,遠遠小于人工拾取時間。
本文利用卷積神經(jīng)網(wǎng)絡在圖像目標識別上的優(yōu)勢以及LSTM模型的時序性特點,設計了一種用于速度譜智能拾取的CNN和LSTM混合神經(jīng)網(wǎng)絡模型,在沒有人為干預的情況下分別采用理論數(shù)據(jù)和實際地震數(shù)據(jù)對該模型進行測試,并分析了算法的應用效果,為解決地震資料速度譜自動拾取問題提供了一種新的方案。通過分析和實驗結(jié)果得到以下結(jié)論:
1) CNN+LSTM混合結(jié)構模型不僅能夠提取速度譜圖像的空間結(jié)構特征,而且能夠提取“時間-速度”對的時間序列特征,速度譜識別結(jié)果有較高的準確率;
2) 與傳統(tǒng)的基于反演的速度拾取算法相比,本文方法雖然在訓練階段需要花費大量時間,但是當模型訓練完成后,能夠快速拾取“時間-速度”曲線,并且不需要任何人工干預,自動化程度更高。
一般情況下,深度學習需要大量的訓練數(shù)據(jù),以圖像識別為例,其基本數(shù)據(jù)訓練集都在幾萬張圖片以上。但在本文研究中,無論是理論速度譜數(shù)據(jù)集,還是實際速度譜數(shù)據(jù)集,數(shù)據(jù)量仍然偏少,盡管速度譜識別的準確率超過了80%。在實際應用中,增加更多的實際數(shù)據(jù)來進行學習或訓練,可以持續(xù)提高速度“拾取”的準確率。