弓子卉,李光輝
(山西大學 物理電子工程學院,山西 太原 030006)
在處理地震資料的過程中,與有效波混疊在一起的噪聲給地質信息的分析造成了較大困擾,因此,準確分類和識別地震子波顯得尤為關鍵.隨著卷積神經網絡模型的不斷涌現[1-3],其在地震勘探領域方面的應用[4-7]也有著長足的發展和進步,但實際上在分類和識別地震子波方面卻鮮有報道.本文針對分類和識別地震子波設計了具體的卷積神經網絡模型(Convolutional Neural Network,CNN),通過CNN提取地震子波時頻譜圖上的特征,并進行了一系列仿真實驗,驗證了針對分類和識別地震子波所構建網絡的可行性和有效性,為后續地震資料處理領域的研究提供了一個新的角度.
卷積神經網絡的本質是在不給出任何輸入、輸出間的數學表達式時,仍能夠學習其之間的映射關系,其布局結構與實際生物神經網絡相類似,在大型的圖像處理方面有著出色表現.
CNN一般由輸入層、隱藏層、全連接層和輸出層組成,其經典拓撲結構[8]如圖1 所示.CNN的四大核心部分為局部感知、權值共享、卷積和池化,各部分起到感知局部區域,以特征提取的方式進行卷積操作,減少參數數量,降低卷積層輸出的特征向量維數的作用,確保CNN的功能實現.

圖1 卷積神經網絡的經典拓撲結構圖Fig.1 Diagram of the classic topology of a convolutional neural network
卷積神經網絡進行訓練時,將網絡提取圖片的像素值X作為特征向量,像素值決定了X的維度大小.Y為實際的標簽值,Y0為網絡預測的標簽值.網絡以X作為輸入,Y作為輸出,{x(1),y(1)},{x(2),y(2)},{x(3),y(3)},…為樣本1,樣本2,樣本3,…的輸入和輸出.卷積層以樣本X作為輸入,其特征輸出值表示為[9]
Z=WTX+b,(1)
式中:W和b為隱藏層的兩個相關參數,網絡要做的是不斷學習W和b,以得到正確的估計值Y0.
本文選取激活函數RELU(修正線性單元)[9],其表達式為
a=max(0,Z).(2)
激活函數RELU的含義為:當輸入Z取正值時,輸出與輸入成正比例關系,且斜率為1;當輸入Z取負值時,輸出為0.修正線性單元如圖2 所示.

圖2 修正線性單元Fig.2 RELU
預測值Y0表示為
Y0=a.(3)

神經網絡的計算通過前向和反向傳播過程來實現,無法看到隱藏層計算得出的中間節點值,其中涉及了參數值的不斷更新和數次的迭代訓練.卷積神經網絡的計算雖龐大繁雜,但使用者無需親自計算,僅需關注網絡的輸入和輸出即可.卷積神經網絡作為深度學習的一個框架,功能強大.本文借助其圖像處理能力進行特征提取,完成地震子波的分類和識別.
本文參考語音命令識別[10]的經典CNN網絡,其架構中加入了RELU激活函數和歸一化層,在獲取波動特征的基礎上加快了網絡訓練速度.但其結構較為復雜,且信號間存在的差異性使得該模型無法直接應用于地震信號的識別.針對該問題,對照地震信號的特點,通過改進網絡結構,調整網絡參數,設計出可以分類識別地震子波的網絡.改進方面如下:
1) 輸入圖片的大小為32×32.對原圖片進行裁剪得到數據集圖片.圖片尺寸過大會影響訓練的速度;圖片尺寸過小,卷積神經網絡無法提取較為準確的特征.因此,本文基于網絡負荷量、訓練收斂速度以及圖片像素點等因素,將CNN模型輸入層大小設置為32×32,確保地震特征的提取和網絡功能的正常實現.
2) 本文CNN網絡的前5層使用3×3大小的卷積核,第6層使用5×5大小的卷積核.CNN結構的設置思想是:前幾層用多個小卷積核堆疊起來代替一個大卷積核,加深網絡層次,保證特征提取量;最后一層加大卷積核的尺寸,帶來更大的感受野,從而提取出更為準確的信號特征.
3) 本文設置了批歸一化層[11].該層起到了穩定訓練進程、加快訓練速度、增強抗干擾能力的作用.測試該網絡模型時,錯誤率明顯下降.
具體的網絡模型參數如表1 所示.

表1 模型參數Tab.1 Model calculation parameters
本文的數據集由幾類地震子波組成.地震子波作為地震記錄中的基本單元,具有確定的起始時間和有限能量.本文采用5種常用的模擬地震子波:零相位雷克子波[12]、最小相位雷克子波[12]、帶通子波[13]、正弦指數衰減子波[12]和阻尼余弦子波[14]來完成相關仿真實驗.5種地震子波的數學表達式如下

式中:fp為峰值頻率;n為采樣點數;r為子波寬度;fL為低截頻;fH為高截頻;f0為子波主頻;β為子波衰減系數;B為阻尼常數.
對地震子波進行短時傅里葉變換可得到其時頻譜圖(Short-Time Fourier Transform,STFT)[15],時頻譜圖反映了隨時間和頻率的改變,能量密度的變化情況,通過觀察譜圖,可以得到信號的時頻分布特性.5類信號特征明顯,其時頻譜圖也展現出了較大的差異性,因此,將各類信號的譜圖組成CNN的數據集.5種地震子波的時域波形圖與其時頻譜圖見圖3~圖7,其參數設置為:采樣點數NN=800,采樣頻率Fs=800,幅值限定在-1~1之間,頻率取值范圍在20 Hz~60 Hz 之間.

(a) 時域波形圖
從圖3 可以看出,零相位雷克子波由一個主瓣和其對稱側的兩個旁瓣組成,旁瓣幅值較大,所占時間較短.圖4 為最小相位型雷克子波的圖形表示,當子波寬度逐漸增大至7時,最小相位雷克子波可看作混合相位雷克子波.從圖5 可以看出,帶通子波由一個主瓣和大量旁瓣組成,旁瓣幅值不一,所占時間較長.圖6 的正弦指數衰減子波波形呈衰減態勢.從圖7 可以看出,阻尼余弦子波呈連續阻尼振動態勢.各類型地震子波的時頻譜圖與其時域波形圖相對應,顏色最亮的部分即能量最強的部分,集中在信號的主頻附近.

(a) 時域波形圖

(a) 時域波形圖

(a) 時域波形圖

(a) 時域波形圖
在實際地震數據中,地震子波并不是分布在整個地震記錄上,有些地震道上全部充斥了噪聲,幾乎不含有效信號.因此,要達到識別地震子波的目的,確認好子波位置是關鍵.分段算法的選取,首先要避免將完整的子波序列分開,其次不能利用那些受限于序列本身幅值和采樣長度等因素的算法,另外受到噪聲等外界情況而波動較大的方法也不可取.考慮到上述要求,本文采用了一種經典的時間序列分段方法(Toeplitz Inverse Covariance-based Clustering,TICC)[16],將其應用至地震信號序列的分段中.
TICC是一個用于確定信號間相似度的python求解器,它對數據完成了兩種操作:分割每條數據和聚類分割后的數據.TICC方法中,由馬爾科夫隨機場(Markov Random Field,MRF)[17]定義每個聚類,MRF表征了各子序列中不同觀測值間的依賴關系.該方法通過參數值間的交替極小化,不斷更新結果值,從而求解問題.
TICC方法中參數選擇的合適與否直接影響時間序列分段的效果好壞.該算法的相關參數見表2.

表2 TICC算法的相關參數Tab.2 Related parameters of the TICC algorithm
算法選取6 000個樣本數,進行100次迭代訓練,并且依據將含噪地震子波和幾乎全部覆蓋噪聲的采樣點分為兩類的思想,將時間戳聚集到集群的數量設置為2.本文以混疊高斯白噪后所合成的信噪比為-2 dB的含噪雷克子波為例來進行說明.圖8 為均勻分段和TICC兩種方法分段的對比結果圖.從圖中可以看出,均勻分段算法無法抓取一道地震序列上的關鍵點,僅按相同距離進行切割,這使得一個完整的子波被分割開來.而本文的TICC算法將800點的震序列分成了5段,兩個完整子波所在段被定義為“1”類,其余段被定義為“2”類.

(a) 均勻分段
在已搭建完成的CNN模型基礎之上,將地震子波序列的時頻譜圖構成數據集作為CNN的輸入,來完成一系列仿真試驗,其流程如下:
1) 數據預處理.將數據集分類整理,設置標簽號,為訓練CNN和測試CNN做準備.
2) 訓練CNN.在訓練過程中,完成網絡結構的修改和參數的調試.通過大量實驗得到一個適合處理地震子波的CNN模型.
3) 測試CNN.將不同于訓練時所用的地震子波譜圖構成測試集,用于分類地震子波,其分類結果可驗證網絡模型的好壞;將分段后的含噪地震子波譜圖構成測試集,用于識別地震信號的有效子波.
4) 試驗結果分析.將本文模型與其他模型結構相比較,分析本文模型的特點和優勢;對疊加不同類型噪聲的地震子波,比較其識別的準確度.
仿真試驗使得本文所提方法有了較為完整的實現,驗證了本文模型的可行性.
試驗分為兩部分:地震子波的分類和地震子波的識別.在分類地震子波部分,對CNN模型的參數進行了調試,并對5種類型的地震子波進行類別測試.在識別地震子波部分,首先介紹了混疊各類型噪聲后的地震子波波形圖,然后分析本文模型與其他模型的區別,最后借助已訓練好的CNN模型來訓練新的地震數據,從而完成含噪地震子波的識別工作.
本文將卷積神經網絡的訓練集分為兩部分:一部分由4類地震子波組成,CNN自行提取該集合信號的特征;另一部分由噪聲信號組成,它們作為訓練集中的背景噪聲存在,CNN并不提取該集合信號的特征,該集合僅起到比較和參考的作用.通過大量實驗驗證,本文將迭代次數設置為30次,學習率設置為0.01.訓練完成后將網絡保存為“commandNet”.隨迭代次數的增加,分類的準確率和損失率的變化情況如圖9 所示.從圖中可以看出,分類的準確率不斷上升,損失率不斷下降,最終趨于穩定.網絡自行驗證分類的準確率為100%,達到了比較滿意的效果.

(a) 準確率曲線圖
由Matlab產生的在有效頻率范圍20 Hz~60 Hz 間的5種地震子波的1 000張譜圖組成測試集.試驗加載預訓練的網絡“commandNet”來進行CNN的分類測試,部分測試結果如圖10 所示.網絡定義零相位雷克子波的標簽號為“1”,最小相位雷克子波的標簽號為“2”,帶通子波的標簽號為“3”,正弦指數衰減子波的標簽號為“4”,阻尼余弦子波的標簽號為“5”.測試結果顯示,CNN對測試集的每張圖片進行了分類并且標簽正確.

圖10 測試結果圖Fig.10 Test result graph
試驗模擬實際地震資料中子波交叉的情況,將一道記錄上的兩個子波進行平移變換,得到了各種形態的交叉子波.圖11 為兩種形態的交叉雷克子波以及混疊高斯白噪后合成的信噪比為-5 dB 的含噪交叉雷克子波波形圖.

(a) 交叉程度低
試驗疊加幾種類型的噪聲于地震子波,含噪雷克子波波形圖如圖12 所示.從圖中可以看出,混疊高斯白噪后,信噪比為-8 dB和-10 dB的地震信號幾近被淹沒,不再保持原有的形狀;疊加實際的色噪噪聲于地震信號上,信號明顯存在失真.

(a) 混疊高斯白噪(SNR=-8 dB)
試驗保持原有的CNN結構和參數不變,即加載訓練好的網絡“commandNet”訓練新的地震數據,來測試地震子波的識別效果.本文將3.1部分所用到的訓練集替換為20 Hz~60 Hz頻率范圍內的雷克子波,測試集由分段后的含噪交叉子波組成,來驗證CNN模型.
測試集包含不同幅度、不同交叉程度的含噪雷克子波譜圖共1 000張.本文模型與其他CNN模型的結構對比見表3.從表中可以看出,本文模型相比模型2,增加了第6層的卷積核尺寸,帶來更大的感受野,提取了更為準確的特征,識別率相應提高;模型3在去掉第6層的批歸一化層之后,準確率下降較多;模型4增加了最大池化層的尺寸,但導致了信息的過度丟失,降低了識別率.試驗結果表明,本文模型有較高的準確率.

表3 不同網絡模型的對比Tab.3 Comparison of different network models
測試集由分段后的含噪雷克子波構成,用于識別出一道地震信號上確定的地震子波,并明確該地震子波的所在位置.混疊各種類型的噪聲于地震信號,其識別率如表4 所示.從表中可以看出,當信噪比為-5 dB時,地震子波的識別率可以達到100%;當信噪比為-8 dB時,地震子波的識別率達到了96.3%;甚至在-10 dB的極低信噪比下,地震子波的識別率仍可以達到87.2%.色噪(超低頻噪聲)背景下,地震子波的識別率較高,達到了99.7%,進一步驗證了模型的抗干擾能力.色噪最接近于實際地震處理中的噪聲,模型對地震子波的識別有71.4%的準確率.試驗證明了本文模型的可行性,基本實現了預期目標.

表4 含噪信號的識別率Tab.4 Recognition rate of noisy signals
1) 本文搭建了一個適合分類和識別地震子波的卷積神經網絡模型,為地震數據的處理提供了新的思路和方法.
2) 本文將5種常見類型的地震子波進行分類,訓練時的準確率和損失率達到了較為滿意的效果,測試時的分類準確率達到100%.
3) 本文利用混疊高斯白噪聲后的含噪交叉雷克子波來f驗證CNN模型,證明了本文模型相較于其他模型有著更好的性能.本文對混疊各類型噪聲后的含噪雷克子波進行識別,結果實現了低信噪比下的高準確率識別.