基于数据增广的CNN用于地震数据重建
2021-08-19陈锐,王琴>
陈 锐,王 琴>
(中国地质大学 数学与物理学院,湖北 武汉 430074)
1 引 言
由于经济因素和采集环境的限制,采集到的地震数据往往出现地震道的缺失,这将影响后续的处理和资料解释。因此,对地震数据进行重建就有十分重要的实际意义。已有的地震数据重建方法包括:基于预测误差滤波器的方法[1-3],基于数学变换的方法[4-6],基于波场延拓算子的方法[7,8]和基于降秩理论的方法[9-11]。以上方法通常基于某些先验假设,重建效果受到该假设的制约。例如:降秩理论的方法基于线性同相轴的假设,弯曲同相轴数据需要通过加窗的方法来满足局部线性的假设。此外,以上方法通常还存在超参数选择的问题——不同数据的重建,需要重新调节超参数,增加了人工干预,导致自动化程度较低。
近几年,研究者们探索将深度学习的方法应用到地震数据重建[12]中。基于深度学习的地震数据重建方法的原理为:网络从海量训练数据集自动学习缺失数据到完整数据之间的映射。深度学习的方法无需先验假设,学习后的网络可直接对新的缺失地震数据进行重建,因此,该方法的自动化程度更高。Wang等运用残差网络(Residual Network, Resnet)[13]对规则缺失地震数据进行重建。该方法首先采用三次样条对数据做预重建,然后使用残差网络优化重建结果。该研究取得了优于f-x方法的效果。Oliveria等使用条件生成对抗网络[14]对叠后数据的gap缺失进行研究。针对不同缺失宽度建立了网络池,重建结果优于单个网络。Mandelli等将Unet网络[15]应用在地震数据随机缺失重建中,取得了优于经典的多道奇异谱分析算法的效果。Chang等提出了一种双域条件生成对抗网络[16]对随机缺失地震数据进行重建。该方法由生成网络和判别网络组成,以地震数据集和频域离散傅里叶变换数据集作为输入,综合考虑时域和频率域信息,使网络更好地发掘数据特征。
尽管以上方法都表明了CNN网络(CNN,Convolutional Neural Network)在地震数据重建问题中的潜力,但它们通常面临着一定的泛化问题,即:当需要重建的数据与训练数据存在较大差异时,网络的性能都会明显下降。构建好的训练数据集是提高网络泛化性直接有效的方法之一。在图像处理领域中,数据增广策略是构建数据集的常用技巧之一:通过对图像进行翻转、旋转、缩放、裁剪、对比度、色彩抖动,加噪等处理,让数据集尽可能的多样化。本文提出了适合地震数据特点的数据增广策略。具体包括:从整个工区数据中随机截取数据块,并设定筛选条件去除掉无信号数据和异常数据,通过翻转、加噪、多尺度采样进行数据增广。在实验中以常用的Unet网络和Resnet网络作为骨架网络,讨论所提出的数据增广方法的有效性。人工合成数据和真实数据的实验结果表明,本文方法的泛化性更好,重建的地震数据信噪比更高。
2 网络模型与重建方法
2.1 基于CNN的地震数据重建
基于CNN的地震数据重建方法包含两个阶段:训练阶段和测试阶段。在训练阶段中,利用大量的缺失数据和完整数据样本对(xi,yi)训练CNN,拟合缺失数据到完整数据的映射f。训练过程中目标函数为:
(1)
其中,xi表示第i个缺失数据(网络输入);yi表示对应的完整数据(标签),i∈[1,N];N表示数据集的数据对的个数;fθ表示参数为θ的CNN。网络参数θ可通过最小化网络输出fθ(x)和标签之间的均方误差进行优化求解。每一层网络参数的梯度由反向传播算法计算[17]。
(2)
2.2 网络结构
已有的研究中,Resnet网络和Unet网络已经被学者应用到地震数据重建问题中,取得了较好的重建结果。因此,本文将基于这两个CNN网络对所提的数据增广策略进行测试。
Resnet结构由多个残差模块堆叠而成。它的逐层残差学习策略可以有效地解决网络退化问题。本文所使用的Resnet结构如图1所示,由一个输入卷积层,一个输出卷积层和三个残差块组成。图中蓝色和黄色矩形表示中间层特征图,矩形下方的数字表示特征图通道个数。紫色箭头为卷积操作,绿色箭头为跳过连接。卷积操作的卷积核大小均为3*3,使用线性整流(Rectified Linear Unit, ReLU)激活函数。红色虚线框表示一个残差模块,每个残差模块包含两个卷积层和一个跳过连接。在残差模块中,层输入通过跳跃连接结构与两层卷积的输出结果相加得到残差块输出,此时卷积层学习的是层输入与层输出之间的残差。网络通过逐层的残差学习将缺失数据映射为最终的重建结果。
图1 Resnet网络结构Fig.1 Resnet network structure
Unet网络结构如图2所示,由编码器和解码器两部分组成。左半部分为编码器,由卷积层和最大池化层反复堆叠组成,如图2中紫色箭头所示。每一个卷积层包含一个3*3大小的卷积算子,一个批标准化[18](Batch Normalization, BN)层和一个ReLU激活函数层。红色箭头表示下采样,通过2*2大小的最大池化层实现,每经过一次下采样,特征图尺度减半。右半部分为解码器,由卷积层和卷积上采样层堆叠组成。绿色箭头表示上采样,由转置卷积算子实现,每经过一次上采样,特征尺度加倍。图中灰色箭头表示特征图通道维度的拼接,将解码器中上采样所得特征图和编码器对应层输出特征图在通道维度拼接以提供多尺度信息融合。最后解码器的结果经过1*1的卷积得到最终的网络输出,即为缺失地震数据的重建结果。
图2 Unet网络结构Fig.2 Unet network structure
2.3 数据增广策略
常用的训练数据集通过滑动窗口的策略获取,即在整个工区炮集记录上,以固定大小、固定步长的滑动窗口截取数据块。若步长设置较小,会截取出大量的冗余数据。冗余数据不能提升网络训练的质量,还会浪费计算资源。若步长设置较大,则可能会产生信息丢失。本文以随机的方式在整个工区数据上截取数据块,并对所截取数据块进行筛选,除去数据块方差极小的无信号数据和极差极大的异常数据。
本文通过翻转、加噪、多尺度采样来进行数据增广。由于实际的勘探情况和采集数据设备不同,不同的数据可能会有不同时间采样率和空间采样率。不同的空间采样间隔在炮集上表现为不同的同相轴斜率。因此,为了丰富训练数据集同相轴斜率特征,考虑了多尺度空间下采样的数据扩增方式。此外,对数据进行水平翻转,模拟更多炮集记录的情况可以丰富数据类型。对训练数据加入微小噪声扰动,可提高网络鲁棒性,避免过拟合。
3 数值实验
3.1 网络的训练细节
本文使用公开的人工合成数据作为实验数据集(https://wiki.seg.org/wiki/2007_BP_Anisotropic_Velocity_Benchmark),取其中前400炮作为训练数据集,401到500炮作为验证数据集。每个炮大小为1 151*800, 时间采样间隔为8 ms,空间采样间隔为12.5 m。
构建训练集:使用所提出的数据增广方法构建训练数据集。分别使用12.5 m,25 m和50 m 的空间采样间隔对训练数据进行采样,从采样后的数据中随机截取24 000 个128*128的数据块(无信号区域占比超过50 %的数据被去除)。将每个数据标准化到0和1之间,标准化公式为:
(3)
然后,对数据集中的数据块进行50 %概率的随机翻转和加噪,噪声的均值为0,方差为每个数据极差的0.01。将这24 000个数据块作为训练标签,对每个数据块随机缺失50 %的地震道作为网络输入,最终形成24 000个(输入,标签)数据对构成整个训练集。部分训练数据如图3所示。
图3 数据集中的部分数据Fig.3 Part of the data in the dataset
构建验证集:在验证数据中随机截取6 000个128*128的数据块作为验证集标签,每个数据块标准化到0和1之间,每个数据块随机缺失50 %的地震道作为输入,最终形成6 000个验证数据对。
评价标准:使用信噪比(Signal Noise Ratio,SNR)评价该方法在随机缺失地震数据重建中的性能,SNR计算公式为式(4):
(4)
针对Resnet网络,本文使用Adam优化器,学习率设置为0.001,每批输入32个数据,一共训练15轮。针对Unet网络,使用Adam优化器,学习率设置为0.0001,每批输入24个数据,一共训练15轮。实验在Windows10环境下进行,训练用的显卡为英伟达GTX1660。训练Resnet网络平均每轮耗时11分钟,训练Unet网络平均每轮耗时18分钟。
图4为训练过程中验证集数据重建的平均信噪比曲线图。图中蓝色三角形和红色五角星的曲线为基于所提出数据增广的Resnet和Unet重建结果信噪比,黑色和绿色空心圆为基于常用的滑动窗口数据集的Resnet和Unet重建结果信噪比。从图4中可以看出,基于数据增广方法的结果信噪比更高。Unet网络在一轮训练后信噪比达到25 dB左右,相比于Resnet网络收敛更快。网络训练在15轮后趋于收敛,最终基于数据增广的Resnet和Unet重建结果比基于滑动窗口的结果平均信噪比分别高0.82 dB和1.9 dB。
3.2 仿真数据实验
应用训练好的网络对仿真数据重建。从合成数据第501炮中截取128*128大小的区域,如图5(a)所示。对该数据随机缺失50 %的地震道,如图5(b)所示。图5(c)~图5(f)分别为不使用数据增广方法的Resnet网络结果、使用数据增广方法的Resnet网络结果、不使用数据增广方法Unet网络结果以及使用数据增广方法Unet网络结果。重建的信噪比分别为26.06 dB、27.61 dB、34.25 dB、37.61 dB。可以看出,无论是Resnet网络还是Unet网络,使用了数据增广方法的网络都有更好的性能,重建数据有更高的信噪比,而Unet网络的性能优于Resnet。
图5 空间采样间隔为12.5 m仿真数据的重建结果Fig.5 Reconstruction results of simulated data with a spatial sampling interval of 12.5 m
对空间采样间隔为25 m的数据进行测试,结果如图6所示。图6(a)为原始标签,有128个时间采样点,64个空间采样点。图6(b)为随机缺失50 %地震道数据。图6(c)~图6(f)分别为不使用数据增广方法的Resnet网络结果、使用数据增广方法的Resnet网络结果、不使用数据增广方法Unet网络结果以及使用数据增广方法Unet网络结果。重建的信噪比分别为19.73 dB、24.38 dB、23.06 dB、28.14 dB。可以看出,当空间采样间隔从12.5 m增加到25 m时,使用数据增广方法的结果提升更为明显。
图6 空间采样间隔为25 m仿真数据的重建结果Fig.6 Reconstruction results of simulated data with spatial sampling interval of 25 m
3.3 真实数据实验
将上述在合成数据中训练好的网络对真实的叠前数据Mobil Avo Viking Graben Line 12(http://s3.amazonaws.com/open.source.geoscience/open_data/Mobil_Avo_Viking_Graben_Line_12/mobil_avo.html)进行重建。本文从中截取一个炮进行测试。图7(a)为原始的完整数据,包含512个时间采样点,采样时间间隔为4 ms, 120个空间采样点,空间采样间隔为25 m。图7(b)为随机缺失50 %地震道数据。图7(c)~图7(f)分别为不使用数据增广方法的Resnet网络结果、使用数据增广方法的Resnet网络结果、不使用数据增广方法Unet网络结果和使用数据增广方法Unet网络结果。重建信噪比分别为22.53 dB、27.44 dB、24.58 dB和30.41 dB。图7中红框区域为差异明显的部分(采样时间范围0.8 s到1.2 s,道号为65到95),图8展示了图7红框区域的局部放大,可以看出使用了数据增广方法的重建结果同相轴的连续性更好,而没有使用数据增广方法的结果同相轴出现了断裂。即本文提出的数据增广方法训练的网络对真实数据仍然有很好的重建性能。
4 结 论
针对基于深度学习的地震数据重建方法中存在的网络泛化性不足的问题,本文提出了一种基于数据增广的卷积神经网络地震数据重建方法。通过空间方向上多尺度采样、随机翻转、加噪等数据增广策略,构建出信息更加丰富的训练数据集。仿真和真实数据实验结果表明,在常用的Resnet网络和Unet网络下,训练出的网络泛化性能更好,重建数据具有更高的信噪比。然而对于连续多道缺失的地震数据,本文方法重建误差较大。下一步工作将考虑改进网络结构,探索连续多道缺失地震数据的重建方法。