论文学习记录之SeisInvNet(Deep-Learning Inversion of Seismic Data)
目录
1 INTRODUCTION—介绍
2 RELATED WORKS—相关作品
3 METHODOLOGY AND IMPLEMENTATION—方法和执行
3.1 方法
3.2 执行
4 EXPERIMENTS—实验
4.1 数据集准备
4.2 实验设置
4.3 基线模型
4.4 定向比较
4.5 定量比较
4.6 机理研究
5 CONCLUSION—结论
1 INTRODUCTION—介绍
地震勘探是根据地震波在大地中的传播规律来确定地下地层结构的一种方法,主要可以从反射或折射的地震波来估计地球地下的物理性质。通常,需要人工能源,并在地表放置一系列接收器来记录地震波(如图1所示)。处理记录数据的一个主要结果是重建地下速度模型,即地震速度反演。近年来,全波形反演(FWI)是目前最具吸引力的高精度和高分辨率速度模型重建方法之一。
图 1.地震勘探图解。将地震速度模型(空间图像)映射到时间序列地震数据。地震数据由红色边框表示的地震剖面组成。每个地震剖面对应于由来自地震源的所有接收器记录的地震数据。地震剖面上的白色虚线表示由单个接收器记录的地震道。
FWI最早是在20世纪80年代初提出的,通过在最小二乘意义上迭代地最小化地震数据和合成数据之间的差异来重建速度模型。传统的FWI使用基于梯度的求解器来更新模型参数,且常通过基于伴随状态方法的数据残差的向后波场传播来计算梯度。然而,从观测信号估计地震速度是一个高度非线性的过程,则迭代线性算法通常需要一个良好的启动模型,以避免局部最小值。此外,由于不充分的观测或观测数据的噪声污染,FWI还面临着严重的非唯一性。针对常规FWI存在的非线性和非唯一性问题,地震学家们提出了许多改进方法,如多尺度策略、在其他领域处理地震数据等。
基于DNN的地震反演是学习从地震数据到速度模型的映射函数,如图2所示。到目前为止,一些工作已经在这方面取得了进展。莫斯利等人[29]在速度剖面的深度-时间转换后,通过WaveNet [30]实现了一维速度模型反演。Araya-Polo等人。[31]使用卷积神经网络(CNN)从原始数据计算的语义立方体重建速度模型。这两项工作可能会引入人为因素,因为在地震数据处理中存在人为干预。除了数据处理之外,Wu等人[32]提出了InversionNet来直接构建从原始地震数据到相应速度模型的映射,遵循自动编码器架构,从编码整个地震数据的嵌入向量解码速度模型。由于数据在嵌入向量中被极度压缩,解码的速度模型可能丢失细节。
图2 任务定义:基于DNN的地震反演是学习将地震数据映射到其对应的速度模型的函数
受最新进展的启发,基于DNN的地震反演任务的特点如下:
- 原始时间序列信号(地震数据)和地震图像(速度模型)之间的空间对应性很弱:特别是对于反射地震信号。如图3所示,对于地震剖面上存在反射波的位置,速度模型上对应的位置可能不包含任何界面,反之亦然。
- 考虑到地下结构在各种速度模型中的复杂性,对于由一个接收器接收的来自一个源的反射地震信号(即,地震道),速度模型中引起反射的相应界面是不确定的。在本文中,使用术语不确定的反射-接收关系来指这一特性。
-
在原始地震资料中,记录到的地震波随着时间的推移而逐渐减弱。即地震数据具有时变特性,这使得用固定的核函数很难捕捉到地震模式。所有这些特征都对DNN提出了巨大的挑战,特别是对于具有空间对应性和权重共享特性的CNN。
图三 速度模型及其相应的地震剖面
左侧:具有一个向下和向上界面的速度模型;中:基于位置25处的一次激发的地震数据剖面;右:基于位置75处的一次激发的地震数据剖面。地震剖面上的红色和紫色曲线分别表示来自界面向下部分和向上部分的信号。请注意,带有喷射颜色的正方形表示面片都位于相同的相对位置。左侧地震剖面上的小块包含来自界面的上、下两部分的反射信号,而右侧地震剖面上的小块仅包含来自界面的上部分的反射信号。然而,速度模型上的补丁没有任何关于界面的信息。也就是说,速度模型和地震剖面之间或者不同地震剖面之间的空间对应关系没有对准。
在本文中,提出了一个端到端DNN与称为SeisInvNet的新组件。其思想是首先从每条地震道中学习与速度模型空间对齐的特征图,在建立空间对应关系之后,从学习的特征图中重建速度模型。考虑到不确定的反射-接收关系,强制每个地震道学习一个特征图,该特征图具有与整个速度模型相对应的信息,而不管每个地震道与速度模型之间的实际关系。然后,从所有的特征图重建的速度模型的CNN。因此,在训练之后,每个特征图中的信息将在空间上与速度模型对齐。由于每个地震道都有其敏感区域,因此来自不同地震道的特征图将包含用于重建不同部分速度模型的知识。通过全连接层来学习空间对齐的特征映射,可以处理地震数据的不确定性和时变特性。通过这种方式,解决了不确定的反射-接收关系的挑战,建立了空间对应,同时摆脱了时变问题。
在学习特征图之前,用来自几个邻域道和整个剖面的一些辅助知识来增强每个地震道。由于使用每个增强的地震道作为实际输入,而不是大量的原始地震数据,则SeisInvNet将保存大量的参数进行优化。此外,所有提到的操作都可以进行端到端的培训。一般来说,SeisInvNet充分利用所有的地震数据,让每个地震道有助于重建整个速度模型,通过寻找空间对应。
通过综合比较,SeisInvNet与所有基准模型相比表现出了较好性能。从速度值、地下结构和地质界面等方面来看,反演结果与地面实况更加吻合。通过可视化和统计分析,进一步研究了SeisInvNet的作用机制。主要贡献在于以下几个方面:
- 对基于DNN的地震反演问题进行了深入分析;
- 设计SeisInvNet时采用了新颖高效的组件,以充分利用所有地震数据;
- 在SeisInv数据集上展示了对所有基线模型的较好性能;
- 提供全面的机制研究。
2 RELATED WORKS—相关作品
一些工作已经以各种方式尝试了DNN的地震反演问题,可以总结如下:
A.基于数据预处理的地震反演:为了使原始地震数据和相应的速度模型在空间上对齐,数据预处理始终是一个可以考虑的选择,尽管有引入人为假设的风险。莫斯利等人[29]在通过WaveNet [30]进行一维速度模型反演之前,通过标准的一维时间-深度转换使单接收器记录的信号在空间上与模型对齐。Araya-Polo等人[31]在应用CNN之前,通过共中点道集数据的正常时差校正[34]将原始地震数据转换为速度相关特征立方体。
B.基于编解码器网络的地震反演:当图像具有特定的固定结构或图案时,它们可以在不提供诸如空间对应性之类的低级信息的情况下被重建。在这种情况下,即使丢弃空间信息并将原始数据压缩为1D嵌入向量,我们仍然可以在不丢失太多信息的情况下获得所需的输出。这个过程可以通过编码器-解码器网络(简称自动编码器)来实现,编码器将输入压缩到嵌入向量,而解码器则从嵌入向量重构输出。这种自动编码器已被广泛用于对齐人脸数据集的任务,例如人脸生成[35],[36]。根据他们的实验,嵌入向量包含高层次的信息,如表情,性别,年龄等,它也适合人类的行为,我们可以画肖像只给一些高层次的语义描述。然而,当涉及到更复杂的图像时,低级信息将具有至关重要的意义。例如,医学图像语义分割方法,如U-Net [23],[37]通过快捷方式将深层输出上的低级特征连接起来,以补偿结果的细节,但它们仅适用于输入和输出空间对齐的数据。
对于输入和输出在空间上不对齐的地震反演问题,仍可以应用编码器-解码器网络来提取嵌入向量。Wu等人[32]采用该方式提出了InversionNet,根据他们的论文,该方法在具有相对固定模式(水平界面和倾斜断层)的速度模型上运行良好。然而,当速度模型包含大量小结构时,嵌入向量可能无法保留所有细节。如图8所示,在我们的实现中,自动编码器反转的结果有时会丢失细节。
C.其他相关工作:具有全连接层的多层感知器神经网络(MLP)是在弱空间对应的数据之间构建映射的最直接方法。每个全连通层的输出将取决于所有的输入值,从而可以最好地捕获地震数据所携带的信息。然而,这样,计算和空间复杂度与数据维度的平方成正比。Dahlke等人[33]开发了一种概率模型,使用MLP在2D速度模型中指示故障的存在,而Araya-Polo等人[38]将该方法扩展到3D情况。为了降低计算复杂度,他们必须首先将模型转换为低维像素或体素网格,这样只能粗略地识别故障。除了反射地震波之外,透射波也可以用于重建速度模型。例如,基于透射波的叠前多炮地震道,Wang等人[39]使用全卷积网络实现了令人满意的反演结果。
3 METHODOLOGY AND IMPLEMENTATION—方法和执行
3.1 方法
符号介绍:N个速度模型(
)和相对应的N个地震数据
(
)。每个速度模型
的大小为[ H,W ],每个地震数据的大小为[ S,T,R ]。在此,H和W表示速度模型的高度和宽度,而S、R和T分别表示震源、接收器和时间步长的数量。每一条地震数据
可以看作是S×R的维度为T的单道地震,而同一震源的所有单道地震则构成了[ T,R ]维度的地震剖面。这些符号的直观说明如图1所示。在这项工作中,通过具有参数“
”的DNN直接学习从地震数据
到速度模型
的映射“ M ”,即地震反演:
(1)
通常,对于图像到图像的映射,CNN是优选的。然而,在本文的情况下,直接使用CNN可能不是最佳选择。地震资料与速度模型之间的映射有两个独特的特点:
- (1)弱空间对应性。速度模型中的界面与地震资料中对应的图形在空间上对应性较弱。
- (2)地震资料与速度模型之间的不确定反射-接收关系。对于同一条地震道,在不同的速度模型下,引起反射信号的界面是不确定的。
这些特性对于CNN的空间对应性将是有问题的。此外,随着时间的推移,地震波会逐渐减弱,这可能会对CNN的权重共享特性提出另一个挑战。如SEC所述。第二,使用CNN的一种可能方式,无论空间对应性和权重共享问题如何,都是通过编码器-解码器网络,它将地震数据压缩到1D嵌入向量中,并放弃其空间信息。如图7所示,这种方法有时会导致速度模型的不准确反演。
相反,在本文中打算充分利用地震数据,而不会损失太多的DNN信息。本文主要使用以下方法:一般来说,首先学习特征图,其中包含来自每个地震道
的速度模型
空间对齐的信息。然后从所有空间对齐的特征图[
:
,
]中回归速度模型
。在实际应用中,由于速度模型中地震道与界面之间的关系不确定,因此选择让每条地震道学习隐含着与整个速度模型相应的知识特征图。经过训练后,将建立特征图和速度模型之间的空间对应关系,并且来自不同地震道的特征图将为重建速度模型的不同部分提供知识,因为每个地震道都有其敏感区域。然而,这种映射是模糊的,因为不同的地震观测设置和地下地质条件可能导致相同的地震道记录,即:
,
,
为了减少不确定性并丰富知识,对于单接收器记录和单炮
记录的地震道数据
,本文通过对它的邻域信息
进行编码来增强它,它的观测设置
和它的s-th的观测轮廓
的背景信息,采用嵌入向量
来代替
:
(2)
与相比,
包含了更丰富的知识,可以生成空间对齐的、无歧义的特征映射。直观地说,邻域信息将帮助网络了解本地地震数据的模式,例如反射波的存在和方向;观测设置将通过告诉每个地震道数据是如何记录的来使信息更可区分和更不模糊;全局背景信息将补充全局信息,例如速度分布和界面数量。
有了这些信息,则从中生成空间对齐特征
是可行的:
(3)
其中,和
是特征生成函数及其参数。收集所有的特征图,有维度为
的
。
最后,用常用的CNN从中回归速度模型
,因为已经建立了
和
之间的空间对应关系:
(4)
其中,和
为速度模型回归函数及其参数。
在本文中,通过映射图:
(5)
在下文,将描述如何通过DNN分别实现。
3.2 执行
图4说明了提出的SeisInvNet,它有四个组件。
图4 SeisInvNet框架的可视化。给定地震数据(A-C表示不同来源的数据,而a-c表示不用接收器记录的数据,为了保存空间,数据不以其原始比例显示。) (a)嵌入编码器用一个嵌入向量代替每条原始地震道
,其中嵌入向量
有邻域信息
(用白色透明的长方形条框表示),观测设置
(用正方形表示,例如图上的红色小正方形),相应地震剖面的全球背景(用绿色、蓝色的长方形条框表示);(b)空间对齐特征生成器将每个嵌入向量转换为特征图,其信息与速度模型空间对齐;(c)速度模型解码器收集所有的特征图,从这些特征图中解码只是以回归速度模型;(d)通过最小化L2指标和最大化MSSIM指标来优化解码器、生成器和解码器的参数,使输出更接近地面真实值。通过2.3.2节检查细节。
(1)嵌入编码器:嵌入编码器生成包含邻域信息、观测设置和全局背景的嵌入向量。
在地震剖面上利用阴影CNNs(
)提取邻域信息。在输入和输出的维数
相同的情况下,每个位置
的值都包含了领域信息,而不是原始值。因此,列
(维度T)包含地震道
的邻域信息。在观测设置方面,
将接收器r的位置和源位置s转换为单热向量。由于
和
,因此观测设置S(
是维数
的向量)。全球背景是由编码器
从地震剖面
中提取到的维度为
的向量。编码器
也有CNN实现,它通过卷积运算不断压缩数据,直到空间维度消失。
最后,作为公式2,本文收集,形成
维度的嵌入向量
,代替原始的
维度的地震道
。有时候将
称为增强地震道。值得注意的是,所有基于CNNs的
和
都是对所有应用数据的权重共享。
(2)空间对准特征生成器:给定的嵌入向量
,首先使用具有几个全连接层(包括激活和范数运算)的MLPs
将他们进一步压缩为大小为
的向量,然后将每个向量重新调整为大小为
的特征图
。由于嵌入向量具有比原始地震数据小得多的维数,因此映射到特征图对于完全连接的层是可以接受的。本文设计了Generator生成器,输出与速度模型相同维度比的特征图。从这些特征图中,速度模型将被重建。因此,在训练之后,特征图的每个部分将表明速度模型的对应部分中的知识,特征图在空间上与速度模型对齐。另外,特征图
来源于不同的源s和接收器r,每个特征图都有自己的敏感期。因此,会聚焦于速度模型的不同部分。在Sec中显示特征图,章节2.4.6验证上述功能。
(3)速度模型解码器:速度模型解码器收集所有的特征图
,并从中解码知识,以通过具有多个卷积层(包括激活函数和范数操作)的CNNs
的回归速度模型
(它的大小为
)。在训练过程中,速度模型解码器随机丢弃若干个特征图(dropout),使解码器在重建速度模型时不再只依赖某些特征图,提高了其鲁棒性,防止了过拟合。
(4)损失函数:结果如何主要取决于损失函数的设计。对于图像回归和重建问题,L1或L2范数是定义损失函数的最常用度量。然而,这些指标单独对待图像的每个位置,这使得网络难以捕获局部结构和细节,如边缘和角落。在Wang等人的实验中。在相同的L2评分下,处理后的图像显示出显著的差异,即评分L2与人类感知不一致。
局部结构和细节是重建地震速度模型时需要考虑的重要因素。为了衡量这些因素,Wang等人提出的结构相似性指数(SSIM)是最常用的度量,它计算预测和目标中两个相应窗口之间的统计差异。SSIM定义为:
(6)
其中,x和y是两个对应的窗口,而和
用于维持稳定的两个常数。SSIM的得分范围从0到1,当两个窗口中的信息完全相同时,SSIM得分达到最大值。
因此,除了最小化范数度量,在这项工作中,将同时最大化SSIM度量。具体来说,应用L2范式和多尺度结构相似性(MSSIM)来计算每个数据对的损失率:
(7)
其中,分别表示第i-th数据对的反演结果和地面真实情况,
是以k为中心的、大小为r的两个对应窗口。本文在总R的不同尺度上进行SSIM,对于每一个尺度r都有一个权重
来控制它的重要性。
4 EXPERIMENTS—实验
4.1 数据集准备
在本节中,给予详细描述如何准备数据集。数据集有12000个不同的速度模型和相应的合成地震数据对。由于该数据集主要用于反演问题,因此将数据集命名为SeisInv数据集。合成地震数据是输入,而速度模型是地面真实情况。
在这项工作中,速度模型被设计成具有水平分层结构,具有沿界面沿着随机分布的几个小的起伏跌宕。通常,我们数据集中的速度模型可以根据地下界面的数量分为四个子集,分别为I,II,III和IV型。在每个类别中,通过首先生成地质界面,然后用从[1500,4000]中随机选择的恒定速度值填充两个相邻界面之间的层,设计了3000个不同的模型。根据地下实际地质条件的统计,越深地层的地震波速度越大。因此,本文让速度值随地层单调增加,相邻地质层的速度相差超过300 m/s。包括平均值、方差和直方图的总体统计数据见图5(a)和图5(B)。在本文中,设计的速度模型有多达四个接口,即,二至五层,速度值不同。为了在观测数据上获得更易识别的模式,界面远离前十个网格,主要分布在中间,如图5(c)所示。
图5 训练数据集的总体统计数据。(a)速度随深度的分布。红色星号表示垂直轴上所示深度上速度分布的平均值,蓝色间隔表示相应的标准差。(b)速度模型中值的直方图。蓝色条表示在相应速度区间内具有速度值的网格数。(c)速度模型上的界面分布。每个网格中的接口数量通过右侧色图可视化。
地震数据是通过对地震波在速度模型上的传播进行数值模拟而产生的。在地震勘探中,在地面上放置一系列震源和接收器,分别激发和记录地震波。通常,记录的信号将包含各种类型的波,例如反射波、衍射波等。通常,一次反射波是用于提取关于地下结构的信息的主要信号。在本文的地震资料数值生成中,速度模型的网格尺寸为100 × 100,在地表上均匀布置20个震源,每隔5个网格,在地表的每个网格上布置100个接收器。通常,声波方程(Eq.8)被认为是控制地震波场随时间变化的主导物理。
(8)
在这里,p表示压力,即声波场,v表示介质的波速,x和y是空间坐标,t是时间。基于伪谱方法可以精确地模拟任意速度模型中的地震波传播(参见图6中的波场快照)。每个接收点和每个时间步长的波场都保存为地震数据(如图3中的右两图)。
图6 在时间步长(a)t=0.2s、(b)t=0.35s、(c)t=0.375s和(d)t= 0.5s的波场快照。红色倒三角形表示地震波在t=0时激发的震源位置。在t=0.35s时,地震波场首先遇到向下的界面,并且有一小部分反射回来。在时间t=0.375s时,地震波场的一小部分在向上界面上反射回来。
注意,具有最大振幅的第一个记录波被称为直达波(如图3所示)。它表示直接从震源传播到接收器的波,因此它不包含任何关于地下结构的信息。在直达波的下面是一次反射波,在图3中用红棕线表示。它们的振幅要小得多,因为部分波能将穿过界面并继续在下一个介质中传播。即使在同一介质中,由于频散和耗散作用,随着时间的推移,地震记录的振幅也会逐渐减小。这种波场衰减的性质将带来巨大的挑战,特别是对于在整个空间维度上共享统一权重的CNN。
4.2 实验设置
本文随机将SeisInv数据集分为三组,10000用于训练,1000用于验证,1000用于测试。为了降低计算复杂度,并便于与其他方法进行比较,只利用前1000个时间步的数据,并从100个接收器中对32个接收器记录的数据进行均匀采样。因此,的大小为【20,1000,32】,
的大小为【100,100】。在开始时从窗口大小11应用具有五个不同尺度的MSSIM,并且每个尺度的权重与[44]相同。为了优化我们的SeisInvNet和基线模型,我们使用Adam优化器[48],batchsize为12,并按照“poly”学习率策略将初始学习率设置为5e-5。在训练过程中,我们总共执行了200个epoch,并在我们的Velocity Model Decoder中将丢弃率设置为0.2。SeisInvNet中最长的路径有24层(每一层都是卷积或全连接操作,激活操作和范数操作的组合)。我们的SeisInvNet有大约10M个参数,可以进行端到端的训练,无需任何预处理和后处理。按照惯例,我们保存在验证集上表现最好的参数,并在验证集和测试集上进行实验。
4.3 基线模型
为了验证SeisInvNet的有效性,本文使用完全卷积网络作为基线模型。具体来说,本文设计了基于编码器-解码器网络的基线模型,如[32](32表示:Inversionnet:使用卷积神经网络进行准确高效的地震波形反演)中所使用的。基线模型有21层,比我们的SeisInvNet少一点。然而,在我们的实现中,基线模型中的参数数量大约是40 M,是SeisInvNet的三倍,因为经常使用大通道的卷积。公平地说,我们的SeisInvNet和基线模型是用相同的基本网络块设计的,并用相同的超参数和优化器进行训练。SeisInvNet的详细架构和基线模型请参考补充资料2.4.2节。
在比较过程中,通过修改损失函数配置测试了SeisInvNet和基线模型的几个变体。对于SeisInvNet和基线模型的每一对比较,所有设置都是相同的。例如,在Tab1中,不是比较SeisInvNet和基线模型与方程中定义的损失,仅用L1损失和L2损失进行比较。值得注意的是,InversionNet [32]是基线模型的一种特定形式,其损失为L1,初始学习率为5e-4,每15个训练期后学习率下降10倍。在本文的实现中,InversionNet可能不会收敛到最佳状态,因为学习率急剧下降。所有变体都在一台NVIDIA TITAN Xp机器上进行了训练、验证和测试,平均推理时间为0.013 ± 0.002毫秒。
为了方便,使用一系列希腊字母来表示SeisInvNet的每个变体和基线模型,()对应InversionNet,(
)对应具有L1损失的基线模型,(
)对应具有L1损失的SeisInvNet模型,(
)对应具有L2损失的基线模型,(
)对应具有L2损失的SeisInvNet模型,(
)对应具有L2和MSSIM损失的基线模型,(
)对应具有L2和MSSIM损失的SeisInvNet模型。
4.4 定向比较
在本小节中,将展示一些示例,以直观地展示SeisInvNet()和基线模型(
)的反演效果。总的来说,这两种方法都可以成功地反演速度模型,而SeisInvNet提供了比基线模型更准确的值和详细的界面结构。从验证和测试集中的每种类型的速度模型中,随机选择一个示例进行比较,如图7所示。从左到右排列的示例分别是相应的地面实况、SeisInvNet结果、基线模型结果和垂直速度剖面。
图7 SeisInvNet(第二列)和Baselines(第三列)的反演结果以及验证集和测试集的地面实况(第一列)。最右栏显示黑线处的垂直速度剖面,用于比较反演速度值。从上到下的每一行分别展示了速度类型I-IV的例子。第三行的红色椭圆圈出了速度模型中的一个小凸起,相应的反演结果和第三和第四行的红色矩形表示异常速度区域。此图中的比较表明,SeisInvNet()提供了比基线模型(
)更好的性能。
地质界面错配程度和速度值是评价中考虑的两个主要因素。如图7所示,SeisInvNet和基线模型反演的所有四个示例在每个地下层内呈现相对均匀和准确的速度分布。综合观测结果表明,SeisInvNet重建的速度模型从速度值、地下结构和地质界面等方面都更接近地面实况。为了进一步分析反转效果,仔细观察界面并在像素级上比较反转结果。一般来说,基线模型倾向于呈现模糊的界面,而SeisInvNet生成更准确的界面描述,特别是当界面有一些小的起伏时。以第三行的例子为例,SeisInvNet成功地重建了第二个界面上的小凸起(用红色圆圈标记),而基线模型完全错过了这个结构,并呈现出平坦的界面。此外,第三和第四行基线模型的结果反演效果较差,分别存在速度异常区(图7中的红色矩形)和界面模糊,而SeisInvNet的结果与地面实况更吻合。一个可能的原因是基线模型消除了空间维度,而SeisInvNet保留了空间信息,如第2.4.6节所述。
从图7所示的垂直中心轴处的速度剖面图中,可以发现SeisInvNet在速度恢复方面比基线模型更好。在浅层,SeisInvNet重建的速度模型与地面实况基本一致,而基线模型有时会产生一定的误差。对于更深层,两种方法在地面实况方面存在一定的差异,而SeisInvNet的误差明显较小。这种模式符合地球物理勘探的常识,即地下结构越深,越难估计。此外,SeisInvNet的输出速度跳跃似乎比基线模型更“垂直”,这意味着SeisInvNet预测的界面更尖锐。
为了进一步比较反演效应与其他基线模型,在图8中显示了从测试集中随机选择的更多示例。显然,SeisInvNet()在大多数情况下可以提供最佳性能。查看补充材料以获取更多结果。
图8。从测试数据集中随机选择所有方法的结果。从上到下的每一行分别展示了速度类型I和IV的例子。
4.5 定量比较
在本小节中,通过一系列指标定量评估和比较SeisInvNet和基线模型的整体反演效果。
(1)指标:使用的工具如下所列:
a)MAE和MSE:量化的失配误差的基础上普遍使用的平均绝对误差(MAE)和均方误差(MSE)的反演结果。
b)SSIM和MSSIM:测量SSIM [40]和MSSIM [44]对局部结构的拟合程度。
c):如前所述,地质界面的质量是评估反演结果时考虑的一个主要因素。地质界面显示为两个相邻层之间的边缘。因此,可以首先检测边缘重建的速度模型和地面实况,然后使用边缘检测的评价方法来衡量他们的对齐。也就是说,通过在应用相同的边缘检测方法之后评估边缘的准确性来测量地质界面的质量,在该方法中,将边界的边缘
视为预测边缘,并将对应边界的边缘V视为地面实况边缘。
也称为F-measure,是一种度量分类准确性的度量,定义为:
(9)
也可用于测量边缘的精度,其范围为0到1,其规则为越大越好,1表示完全对齐,0表示相反。然而,该度量过于严格,以至于无论预测的边缘偏离地面实况边缘多少,它都将导致总的未对准。这个问题也存在于其他指标,如MAE和交叉熵。
因此,我们将预测修正 为用于边缘检测的软度量,该软度量在空间上越接近目标的预测,预测
将越大,参见Alg中的定义1。 值得注意的是,由于软阈值
不再遵循其原始公式,因此值范围将发生变化。在本文的实验中,值范围可能超过1,但仍然遵循原始规则。在下面的实验中,将
设为7,
设为1。
(2) 结果和消融研究:SeisInvNet和基线模型的所有七个变体的比较结果,通过验证(有效)和测试集的总共五个指标在表1中列出。显然,对于具有相同损失函数配置的每一对SeisInvNet和Baseline,SeisInvNet根据所有指标显示出一致的优越性。总的来说,SeisInvNet()在L2和MSSIM损失下实现了最佳性能。因此,MAE和MSE、SSIM和MMSIM以及
分别测量速度值、地下结构和地质界面的拟合。因此,SeisInvNet(
)的结果应该在这些方面具有整体最佳质量,请参见图7,图8或补充的视觉结果。
表一:不同方法在五个指标和两个数据集上的性能统计。对于每个组和公制,前三个结果分别以红色、蓝色和绿色突出显示。↑表示数值越大,性能越好,而↓表示数值越小,性能越好。
此外,在图9中显示了Baseline和SeisInvNet(
)的损失曲线。可以看出,这两种方法都能快速收敛,而不会在训练集和验证集上过度拟合,但SeisInvNet(
)收敛得更快、更稳定,这意味着SeisInvNet(
)可以在没有太多负担的情况下科普这项任务,并且可以很好地应用于其他更复杂的数据。值得一提的是,SeisInvNet仅使用了基线模型中四分之一的参数就实现了这一有希望的性能,这进一步证明了SeisInvNet的效率。
图9 训练集和验证集上的Baseline()和SeisInvNet(
)的损失曲线。
4.6 机理研究
如前几节所述,从增强的地震道中提取空间对齐的特征图的好处在于充分利用每条地震道中固有的知识。通常,来自不同增强地震道的特征图将具有不同的敏感区域,每个特征图将反映速度模型的不同部分上的知识焦点。在图10中,展示了SeisInvNet()的空间对齐特征
的外观。由于地震道
的大小为[20,1000,32],因此将有640条记录的地震道,从而生成640个特征图。为了保存空间,只显示第11个震源(中间震源)的32个特征图。此外,为了从整体角度进行可视化,对于每个特征图,计算其在所有1000个验证数据上的平均值,然后对每八个特征图进行分组并进一步平均,以更好地探索模式。
从图10中很容易看出,来自左接收器(#1 - 8)记录数据的特征图在左侧具有高激活,这意味着它可以提供更多的信息来重建速度模型的左侧部分。类似地,由中左接收器(# 9 - 16)、中右接收器(# 17 - 24)和右接收器(# 25 - 32)绘制的特征图分别具有用于重建速度模型的中左、中右和右部分的信息。但是,两种特征图对速度模型底部的响应都很小,这意味着很难从地震数据中推断出信息来重建底部,也意味着特征图的敏感区域不能覆盖整个速度模型。
图10 特征图可视化。可视化特征图遵循第2.4.6节中描述的方法。每个特征图都被放大以更好地说明。特征图显示了清晰的敏感区域(黄色区域)。
然而,SeisInvNet()的大多数结果看起来和图7一样好,所以怀疑我们对速度模型底部的反演结果可能更多地取决于SeisInvNet捕获和记忆的数据集的上下文和统计信息。利用上下文和统计是基于DNN的方法的主要优点,但在地球物理反演任务中,由于缺乏直接知识,DNN对速度模型中的底部的反演可能仍然不稳定并且具有较大的误差。可以肯定的是,底部部分是固有的难以反演的地震反演机制所确定的。
通过图11研究和验证了这个潜在的问题,图11说明了验证集中速度模型不同层的速度差异和方差,针对第2.4.3节中描述的七种方法。速度差定义为平均估计速度减去由每层真速度模型确定的区域内的平均真速度。以相同的方式,可以计算速度方差测量与平均估计速度的平方偏差。从图11中的速度差异,可以得出结论,所有七种方法都倾向于在浅层产生较高的速度值,而在深层产生较低的速度值。在速度方差方面,顶、底层条的高度小于中间层条的高度,表明顶、底层的速度分布稳定、均匀。总的来说,SeisInvNet的变体在各层内呈现出较小的速度差异和方差,从而可以给予更准确、稳定和统一的地震反演结果。在测试集中也可以进行类似的观察。我们还没有完全理解这些现象背后的机制,这可能成为未来的一个潜在研究重点。
图11 速度差(a)-(d)和速度方差(e)-(h)。从左到右,分别显示了四种类型I和IV的速度模型的结果。在每个子图中,分别有七组用于七种方法的条形图()-(
)。对于每个组,从左到右的条对应于从上到下的层。
5 CONCLUSION—结论
在这项工作中,深入研究了基于深度学习的地震反演问题。我们发现,大多数现有的方法不能充分利用地震数据,可能会引入人工。鉴于这些缺点,我们分析了这项任务的内在特征,并提出了一种称为SeisInvNet的端到端DNN。我们的SeisInvNet从每个增强的地震道中生成空间对齐的特征,这使得每个地震道都有助于重建整个速度模型。在我们的实验中,这些空间对齐的特征实际上显示了与速度模型的空间对应关系,从而为后续组件直接通过卷积运算回归速度值铺平了道路。
我们将L2损失和MSSIM损失一起应用,指导SeisInvNet重建速度模型,同时考虑个体位置和局部结构,以生成更接近目标的结果。我们提出从速度值、地下结构和地质界面等方面进行评价,并据此选取了5个相关指标。在这些指标中,所提出的软度量标准是的一个宽松版本,可以更好地衡量接口的对齐。为了训练、验证和测试SeisInvNet,收集了包含12000对地震数据和速度模型的SeisInv数据集。
在实验中,SeisInvNet表现出上级性能一致优于SeisInv数据集上的所有基线模型的五个指标。通过更少的参数,SeisInvNet实现了更低的损失,并且收敛更快,更稳定。从视觉比较来看,SeisInvNet的反演结果也显示出比基线模型更好的质量。在机理研究中,进一步提供了证据来验证本文的说法,并发现了一些潜在的问题,以解决未来。
注意:之后可以阅读一下这篇论文
Deep-learning seismic full-waveform inversion for realistic structural models
相关文章:
论文学习记录之SeisInvNet(Deep-Learning Inversion of Seismic Data)
目录 1 INTRODUCTION—介绍 2 RELATED WORKS—相关作品 3 METHODOLOGY AND IMPLEMENTATION—方法和执行 3.1 方法 3.2 执行 4 EXPERIMENTS—实验 4.1 数据集准备 4.2 实验设置 4.3 基线模型 4.4 定向比较 4.5 定量比较 4.6 机理研究 5 CONCLUSION—结论 1 INTRODU…...
深度学习中的优化方法
深度学习中的优化问题通常指的是:寻找神经网络上的一组参数 θ \theta θ,它能显著地降低代价函数 J ( θ ) J(\theta) J(θ...

【设计模式之美】重构(三)之解耦方法论:如何通过封装、抽象、模块化、中间层等解耦代码?
文章目录 一. “解耦”概述二. 如何给代码“解耦”?1. 封装与抽象2. 中间层2.1. 引入中间层能**简化模块或类之间的依赖关系**。2.2. 引入中间层可以起到过渡的作用,能够让开发和重构同步进行,不互相干扰。 3. 模块化4. 其他设计思想和原则4.…...
Spring MVC学习之——Controller类中方法的返回值
Controller类中方法的返回值 1.返回ModelAndView RequestMapping("/hello")public ModelAndView hello(){//封装了页面和数据ModelAndView view new ModelAndView();//对这个请求的页面添加属性(数据)view.addObject("hello",&quo…...

IDEA中启动项目报堆内存溢出或者没有足够内存的错误
1.报错现象 java.lang.OutOfMemoryError: Java heap space 或者 Could not reserve enough space for object heap 2.解决办法 在运行配置中VM选项后加下面的配置: -server -XX:MaxHeapSize256m -Xms512m -Xmx512m -XX:PermSize128M -XX:MaxPermSize256m 3.JVM虚…...
Angular: DOCUMENT
不用原生的 document,是因为不利于后端渲染,所以避免使用原生浏览器的对象 import { DOCUMENT } from angular/common; import { Directive, Inject, Input, OnChanges, Output, Renderer2, SimpleChanges } from angular/core;Directive({selector: [a…...

mybatis-plus批量保存异常及效率优化
最近基于自己公司内部服务维护,发现其中调度中心近期出现不少错误日志,但是该任务却是正常执行,生成的报表数据也是正常的,所以很多天没有发现问题 这就匪夷所思了, 经仔细排查发现,是触发了feign超时hyst…...

查找局域网树莓派raspberry的mac地址和ip
依赖python库: pip install socket pip install scapy运行代码: import socket from scapy.layers.l2 import ARP, Ether, srpdef get_hostname(ip_address):try:return socket.gethostbyaddr(ip_address)[0]except socket.herror:# 未能解析主机名ret…...

乐观锁与悲观锁:高并发场景下的选择
😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...
vue2 省市区联动组件封装
在element ui中有级联选择器el-cascader,其实已经够用了,但是在实际需求中,发现el-cascader如果有三级,数据数组必须得三个才能完全展示,所以不符合实际需求,还是自定义封装吧 需求:省市区联动数组,有多少个显示多少个 这里使用element ui得el-select组件,思路是使用…...

VScode远程开发
VScode远程开发 在SSH远程连接一文中,我么介绍了如何使用ssh远程连接Jetson nano端,但是也存在诸多不便,比如:编辑文件内容时,需要使用vi编辑器,且在一个终端内,无法同时编辑多个文件。本节将介绍一较为实用…...
芯片设计重要工具—— IBM LSF 分布式高性能计算调度平台
IBM Spectrum LSF Suites 是面向分布式高性能计算 (HPC) 的工作负载管理平台和作业调度程序。基于 Terraform 的自动化现已可用,该功能可在 IBM Cloud 上为基于 IBM Spectrum LSF 的集群供应和配置资源。 借助我们针对任务关键型 HPC 环境的集成解决方案࿰…...

RDMA Scatter Gather List详解
1. 前言 在使用RDMA操作之前,我们需要了解一些RDMA API中的一些需要的值。其中在ibv_send_wr我们需要一个sg_list的数组,sg_list是用来存放ibv_sge元素,那么什么是SGL以及什么是sge呢?对于一个使用RDMA进行开发的程序员来说&#…...

【动态规划】24子数组系列_最长湍流子数组_C++
题目链接:最长湍流子数组 目录 题目解析: 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析: 题目让我们求返回 arr 的 最大湍流子数组的长度 由题可得: 如果比较符号在子数组中的…...

fastJson和jackson的日期数据处理
目录 1.jackson 2.fastjson 3.总结 1.jackson jackson是spring mvc默认的JSON解析方法,前端的数据序列化处理之后,后端经过反序列化处理可以直接使用实体对象进行接收。后端接口返回实体对象,经过序列化处理后前端可以接收并进行处理。 …...

书生·浦语大模型实战营第五节课笔记及作业
LMDeploy 大模型量化部署实践 1 大模型部署背景 1.1 模型部署及大模型特点 1.2 大模型部署挑战及方案 2 LMDeploy简介 2.1 核心功能-量化 2.2 核心功能-推理引擎TurboMind 2.1 核心功能-推理服务api server 3 动手实践及作业 按照文档LMDeploy 的量化和部署中的步骤在Intern…...

如何在CentOS 7 中基于OpenSSL 3.0 搭建Python 3.0 环境
1、OpenSSL 1.1 原因 [rootlocalhost ~]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 [rootlocalhost ~]#通过执行openssl version可知Linux系统已经安装了OpenSSL,但该版本较低;Python 3 要求 OpenSSL版本不能低于1.1.1,否则安装P…...

爬虫接口获取外汇数据(汇率,外汇储备,贸易顺差,美国CPI,M2,国债利率)
akshare是一个很好用的财经数据api接口,完全免费!!和Tushare不一样。 除了我标题显示的数据外,他还提供各种股票数据,债券数据,外汇,期货,宏观经济,基金,银行…...
Spring Cloud和微服务架构的关系
大话Spring Cloud 在Java悠久的历史长河中(其实也就十来年),有一个框架自诞生之初就成了Java企业级开发领域的弄潮儿,它以开放的姿态不断引领着技术改革(我们管他叫Java领域的“改革开放”),它就是久经考验的企业级开发框架,改革…...
C++:通过ofstream写入二进制文件内容
C++:通过ifstream读取二进制文件内容_c++ ifstream 二进制读取-CSDN博客 介绍了读取二进制文件的方法。 本文介绍一下写入二进制数据到文件的方法: 1.通过write #include <fstream> #include <string> using namespace std; int main() {int data = 0x0102030…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...