基于深度学习的地震子波分类识别

2021-02-25 03:09弓子卉李光辉
测试技术学报 2021年1期
关键词:子波卷积神经网络

弓子卉,李光辉

(山西大学 物理电子工程学院,山西 太原 030006)

0 引 言

在处理地震资料的过程中,与有效波混叠在一起的噪声给地质信息的分析造成了较大困扰,因此,准确分类和识别地震子波显得尤为关键.随着卷积神经网络模型的不断涌现[1-3],其在地震勘探领域方面的应用[4-7]也有着长足的发展和进步,但实际上在分类和识别地震子波方面却鲜有报道.本文针对分类和识别地震子波设计了具体的卷积神经网络模型(Convolutional Neural Network,CNN),通过CNN提取地震子波时频谱图上的特征,并进行了一系列仿真实验,验证了针对分类和识别地震子波所构建网络的可行性和有效性,为后续地震资料处理领域的研究提供了一个新的角度.

1 卷积神经网络理论

1.1 CNN经典拓扑结构

卷积神经网络的本质是在不给出任何输入、输出间的数学表达式时,仍能够学习其之间的映射关系,其布局结构与实际生物神经网络相类似,在大型的图像处理方面有着出色表现.

CNN一般由输入层、隐藏层、全连接层和输出层组成,其经典拓扑结构[8]如图1 所示.CNN的四大核心部分为局部感知、权值共享、卷积和池化,各部分起到感知局部区域,以特征提取的方式进行卷积操作,减少参数数量,降低卷积层输出的特征向量维数的作用,确保CNN的功能实现.

图1 卷积神经网络的经典拓扑结构图Fig.1 Diagram of the classic topology of a convolutional neural network

1.2 CNN算法介绍

卷积神经网络进行训练时,将网络提取图片的像素值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)

神经网络的计算通过前向和反向传播过程来实现,无法看到隐藏层计算得出的中间节点值,其中涉及了参数值的不断更新和数次的迭代训练.卷积神经网络的计算虽庞大繁杂,但使用者无需亲自计算,仅需关注网络的输入和输出即可.卷积神经网络作为深度学习的一个框架,功能强大.本文借助其图像处理能力进行特征提取,完成地震子波的分类和识别.

2 试验准备

2.1 基于CNN的模型设计

本文参考语音命令识别[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

2.2 数据来源

本文的数据集由几类地震子波组成.地震子波作为地震记录中的基本单元,具有确定的起始时间和有限能量.本文采用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) 时域波形图

2.3 数据处理

在实际地震数据中,地震子波并不是分布在整个地震记录上,有些地震道上全部充斥了噪声,几乎不含有效信号.因此,要达到识别地震子波的目的,确认好子波位置是关键.分段算法的选取,首先要避免将完整的子波序列分开,其次不能利用那些受限于序列本身幅值和采样长度等因素的算法,另外受到噪声等外界情况而波动较大的方法也不可取.考虑到上述要求,本文采用了一种经典的时间序列分段方法(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) 试验结果分析.将本文模型与其他模型结构相比较,分析本文模型的特点和优势;对叠加不同类型噪声的地震子波,比较其识别的准确度.

仿真试验使得本文所提方法有了较为完整的实现,验证了本文模型的可行性.

3 试验及结果分析

试验分为两部分:地震子波的分类和地震子波的识别.在分类地震子波部分,对CNN模型的参数进行了调试,并对5种类型的地震子波进行类别测试.在识别地震子波部分,首先介绍了混叠各类型噪声后的地震子波波形图,然后分析本文模型与其他模型的区别,最后借助已训练好的CNN模型来训练新的地震数据,从而完成含噪地震子波的识别工作.

3.1 地震子波的分类

本文将卷积神经网络的训练集分为两部分:一部分由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

3.2 地震子波的识别

试验模拟实际地震资料中子波交叉的情况,将一道记录上的两个子波进行平移变换,得到了各种形态的交叉子波.图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

4 结 论

1) 本文搭建了一个适合分类和识别地震子波的卷积神经网络模型,为地震数据的处理提供了新的思路和方法.

2) 本文将5种常见类型的地震子波进行分类,训练时的准确率和损失率达到了较为满意的效果,测试时的分类准确率达到100%.

3) 本文利用混叠高斯白噪声后的含噪交叉雷克子波来f验证CNN模型,证明了本文模型相较于其他模型有着更好的性能.本文对混叠各类型噪声后的含噪雷克子波进行识别,结果实现了低信噪比下的高准确率识别.

猜你喜欢
子波卷积神经网络
一类非线性动力系统的孤立子波解
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
地震反演子波选择策略研究
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
一种基于卷积神经网络的性别识别方法