一种基于卷积网络的地震探测数据随机噪声去除方法
2021-02-24高有湖岳景杭王清扬
高有湖,岳景杭,孔 军,李 铎,王清扬
(1.山东滨莱高速公路有限公司,淄博 255200;2.山东大学齐鲁交通学院,济南 250002)
在地震勘探中,随着勘探深度增加,地质环境更加复杂,噪声干扰也愈加严重。压制多种噪声干扰,获得高信噪比的地震勘探数据,始终是地球物理学家关注的焦点问题。地震勘探噪声种类繁多,按照其是否存在相干性可以分为两类,分别为相干噪声和随机噪声。相干噪声本身有一定的运动学特点,随时间变化有一定的规律性,如面波和多次波等。针对不同的相干噪声类型、产生条件选取合适的处理方法才能够取得较好的去噪效果,如频率-波数域预测滤波[1]可以压制面波干扰;Radon变换[2]是利用有效信号与噪声视速度的不同压制噪声;预测反褶积[3]可以消除虚反射等。与相干噪声不同,随机噪声多为环境噪声,缺少规律可循,且往往分布于各个频段,严重降低了地震勘探数据的信噪比。针对随机噪声压制问题,中外学者提出了许多相关处理手段,如f-x域预测滤波[4]能够对地震剖面上的线性同相轴进行预测,提取有效信号,进而分离噪声;相干加强技术[5]利用了地震同相轴的相干性,区分出有效信号,压制噪声;多项式拟合[6]则利用有效信号空间上的相似性进行时间和振幅拟合,既保留了高频成分又压制了噪声。传统去噪方法依靠信号特点分离噪声,针对不同噪声选用不同的去噪手段。而随机噪声的多样性、随机性和复杂性成为地震数据去噪的重点和难点。同时,传统去噪方法往往需要进行参数选择,去噪效果依赖于处理人员的经验水平,这就要求探索新的去噪方法和手段。
随着人脸识别、自动驾驶等一系列人工智能手段进入人们的视野,深度学习开始引起科研工作者的极大兴趣。1998年,Lecun等[7]首次提出卷积神经网络,用于手写体识别。2006年,Hinton[8]正式提出深度学习概念,并给出了“梯度消失”问题的解决方案。2012年,在ImageNet图像识别大赛中,Krizhevsky[9]采用ReLU激活函数[10]解决梯度消失问题,并采用图形处理器(graphyics processing unit,GPU)极大提高了运算速度。随着硬件计算能力的提高和大数据信息的丰富,深度学习作为机器学习的分支已经广泛应用到各个领域。由于深度学习表现出的显著优势,大量学者也开始逐步利用深度学习解决地球物理问题,包括地球物理反演[11]、断层识别[12]、孔隙度评价[13]和速度自动拾取[14]等。其中地震勘探数据去噪已经成为当前研究的热点之一,如应用卷积网络处理不同噪声类型[15]、海上数据去噪[16]等。
DnCNN[17](denoising convolutional neural network)是一种前馈降噪卷积神经网络,因其在自然图像去噪任务中的良好表现而受到中外学者的广泛关注。与自然图像不同,地震勘探数据受到诸如勘探环境,数据采集设备和处理方法等多种因素影响。同时,在勘探过程中,相较于获得浅层勘探信号,人们往往更希望得到能够反映深层地质情况的地震波信号。因此,以DnCNN网络框架为基础,根据地震勘探数据特点,提出了一种适用于地震勘探数据去噪的卷积神经网络。该网络共有18层,第1层为卷积层和激活层,第2层至第16层为卷积层、归一化层和激活层,第17层为卷积层,第18层为输出层。其中卷积层中卷积核大小为3×3,特征图个数为64,归一化层使用批量标准化[18],激活层选用ReLU激活函数。相对于无噪数据,噪声特点更容易被网络获取,所以在输出层中使用了残差学习,即网络通过学习噪声分布特点实现地震数据去噪。为了获取相对微弱的深层地震波信号,对训练集所用的数据进行了深度加权,使得网络对深部信息更为敏感。最后应用训练好的网络对添加高斯白噪声和真实地表噪声的地表正演数据进行去噪验证,并与f-x域滤波方法进行对比,期望改进后的卷积神经网络去噪效果优于传统f-x域滤波方法,从而证明该去噪方法的有效性。
1 卷积神经网络
1.1 残差学习
地震数据去噪的目的是从原始数据中去除噪声干扰,从而得到能够反映地质情况的有效数据,表达式为
Y(x,t)=X(x,t)+V(x,t)
(1)
(2)
相比于学习无噪数据,噪声数据量更少,数据特征更易被网络掌握。残差学习简化了网络学习过程,加速了网络训练速度,使得训练效果更好。
1.2 卷积层与归一化层
卷积神经网络是一种可以梯度更新的前馈神经网络,往往包含卷积层、归一化层和激活层等基本单元。其中卷积层包含多个特征图,每个特征图上的神经元即是上一层对应位置的神经元与权值矩阵卷积的结果,从而实现了局部连接与权值共享。卷积层的存在不仅大大减少了权重参数,而且使得网络的学习能力并没有实质性的降低。
归一化层实现了数据的重新分布,将每层输入数据映射到0~1,防止了梯度爆炸和梯度消失,有效提高了网络的泛化能力。在深度学习中有多种归一化方式,如BN(batch normalization)[18]、LN(layer normalization)、IN(instance normalization)和GN(group normalization)等。使用BN[18]进行归一化操作,即求得同一个批次内的所有样本相同位置数据的均值与方差,然后进行规范化、尺度变换和偏移,表达式为
(3)
1.3 网络结构
该网络包含18层,不包含输入层,第1层为卷积层和激活层,第2层到第16层为卷积层、归一化层和激活层,第17层为卷积层,第18层为输出层,网络结构如图1所示。
图1 卷积神经网络结构Fig.1 Convolutional neural network structure
训练集所用无噪数据为地表地震正演数据,噪声为高斯白噪声,含噪数据为正演结果与高斯白噪声数值相加的结果。卷积使用3×3的卷积核,激活函数采用线性整流函数(rectified linear unit,ReLU)[10],公式为
f(x)=max(0,x)
(4)
式(4)函数图像如图2所示。
图2 ReLU函数图像Fig.2 ReLU activation function image
1.4 深度加权
地震勘探数据与自然图像不同,随着勘探深度的增加,地震信号逐渐变弱,同时受到CNN中权值共享的影响,无法准确反映不同探测深度信号的各自特点,进而深层信号特征更加难以获得。基于这种现象,在原有的网络基础上对正演数据进行了深度加权,加权公式为
X(x,t)new=X(x,t)+X(x,t)t1/2
(5)
式(5)中:X(x,t)为地震正演数据;X(x,t)new为加权后的正演数据;x为炮检距,t为采样时长。在地表水平方向上,相邻检波器接收的地震信号具有相似性,其波形和振幅符号、大小相似。所以在同一采样时长,地震加权数值相同。这样既保留了原始信号中地震反射界面的深度信息,又在一定程度上对深层微弱信号进行了增强。
2 数据准备
2.1 速度模型及观测系统
利用SeisInv[19](seismic inversion)数据库中的层状速度模型作为正演模型,层数为一层到四层,每一层的波速相同,下层波速大于上层波速,速度模型如图3所示。
图3 速度模型Fig.3 Velocity model
速度模型分为四种类型:a含有两种波速的层状模型,b含有三种波速的层状模型,c含有四种波速的层状模型,d含有五种波速的层状模型。每种速度模型都符合下层波速大于上层波速的规律,波速范围为1 500~4 000 m/s,模型尺寸为100 m×100 m。地震正演使用声波激发震源,震源位置从左至右依次排列,地表分布100个检波器,采样间隔为1 ms,采集时长为1 s,观测系统如图4所示。
图4 观测系统Fig.4 Observation system
2.2 噪声水平
地震勘探所收集到的地震信号既包括能够反映地质情况的有效信号,又包括许多干扰信号,将这些干扰信号统称为噪声。在实际勘探中,一般将噪声划分为随机噪声和规则噪声。规则噪声可以根据噪声特点去除,而随机噪声缺少规律可循,且频率分布在各个频段,严重影响有效信号的分辨率。采用高斯白噪声模拟实际勘探中的随机噪声,以此测试CNN去噪的有效性。
高斯白噪声是常用的模拟噪声,概率分布服从高斯分布[20]。高斯白噪声中任意两个时刻的随机变量互不相关且统计独立。随机噪声是一种概率分布未知的干扰信号,在地震正演数据中加入高斯白噪声可以模拟真实含噪数据。测试中选用了标准差为25的噪声水平进行训练,然后用添加了同样噪声水平的地震数据进行去噪实验。
3 训练与测试
3.1 数据预处理
与自然图像不同,地震正演数据分布较广,为了适应噪声水平,将地震正演数据进行预处理,使之分布在0~255的范围内,表达式为
(6)
网络训练所用的地震正演数据尺寸为1 000×100,如果直接将其放入训练集进行训练会导致计算机内存占用过大,降低训练速度。为了减小数据尺寸,将原有数据进行切割,将1 000×100的数据切割成为10组100×100的地震数据。实验表明,进行数据切割并不影响测试效果,同时还能减少内存,加快训练速度。最终使用了9 990组100×100的地震数据作为训练集,100组1 000×100的含噪地震数据进行测试。为了扩充数据量,网络将输入尺寸为100×100的数据进行切割,同时相邻图片会有20×40的重复区域,所以每组数据会得到16组40×40的数据。同时为了加快网络训练速度,网络使用GPU训练,硬件为两张NVIDIA Tesla P100 协同工作。
3.2 损失函数
在机器学习中,常用损失函数(loss function)来衡量真实值与预测值间的不一致程度。一般来说,损失函数越小,表明预测值与真实值越接近,模型的鲁棒性越好,但同样要控制网络训练次数,避免过拟合的发生。在CNN中,采用误差反向传播算法[21](back propagation,BP)进行梯度回传,使用均方误差(MSE)作为损失函数,表达式为
(7)
3.3 超参数设置
CNN网络采用PyTorch框架,超参数设置如下:
(1)Batch Size为256。
(2)高斯白噪声标准差为25。
(3)训练次数迭代次数为130。
(4)采用Adam学习率优化算法,初始学习率为0.001。
(5)梯度更新采用随机梯度下降算法。
4 去噪实验结果及分析对比
4.1 去噪结果
训练网络所用时常为6 h,应用训练好的网络进行测试,测试数据为1 000×100的含噪数据,平均每组测试用时0.02 s。CNN去噪结果如图5所示。
图5 添加高斯噪声的地震记录去噪结果对比Fig.5 Denoising results comparison of seismic records with Gaussian noise
由细部图5(g)可以看出,与图5(e)和图5(f)对比,经过传统方法f-x域预测滤波后的地震记录中仍有部分干扰噪声。而在图5(h)中,CNN去噪后的地震记录则基本去除了噪声干扰。
图6 损失函数下降曲线Fig.6 Loss function curve
图6为损失函数下降曲线,可以看出,0~20次训练阶段,损失函数曲线波动较大,20~80次训练过程中损失函数急剧下降,当达到100~130次训练次数后损失函数基本不再变化。选用训练130次后的模型参数作为去噪模型。
4.2 信噪比
衡量去噪效果的方法有许多种,其中信噪比是常见的衡量标准。选用了峰值信噪比[22](peak signal to noise ratio,PSNR)对DnCNN去噪和f-x域预测滤波去噪效果进行了对比。峰值信噪比公式为
(8)
式(8)中:MAX为地震数据中最大值。
两种去噪方法的峰值信噪比对比结果如表1所示,可以看出,DnCNN用于地震数据去噪的峰值信噪比普遍大于f-x域预测滤波方法的峰值信噪比,证明了该网络去噪能力的有效性与优越性。
表1 PSNR对比结果Table 1 Compared results PSNR
4.3 真实地表噪声去噪
为了进一步测试网络的去噪效果,采集了真实的地表噪声,将其进行随机分割加入有以下工作地震正演数据中,以此代替高斯噪声训练和测试网络。结果如图7所示,从去噪结果中可以看出,该网络能够较好地去除正演数据中添加的地表真实噪声。由图7(e)和图7(f)也可以看出,应用f-x域预测滤波的方法去除噪声会损失部分有效地震波数据,而所提出的CNN网络能够在去除随机噪声的同时保留有效信息,基本不会造成损失有效信号的情况。
图7 添加真实地表噪声的地震记录去噪结果对比Fig.7 Denoising results comparison of seismic records with real surface noise
5 结论
地震勘探数据噪声去除一直是提高数据质量的关键因素。采用CNN进行地震数据去噪,得到的去噪效果优于传统的f-x域预测滤波方法。同时,应用训练完成的卷积神经网络去噪不需要人工设置参数,避免了由于参数选择不同引起的去噪效果的差异。在下一步工作中,有以下工作计划:①扩充地质模型,使网络适应复杂地质情况去噪;②使用无监督学习,减少网络训练对无噪数据的依赖;③增加噪声种类,使训练数据中同时包含随机噪声和规则噪声。