跳至主要內容

Deep-learning seismic full-waveform inversion for realistic structural models

Xenny约 2447 字大约 10 分钟FWIFWI深度学习

Deep-learning seismic full-waveform inversion for realistic structural models

  • DOI: 10.1190/geo2019-0435.1open in new window

  • 传统方法需要初始模型且计算量大,该文使用共炮点集合和共检波器集合进行特征提取,并进一步反演获得速度模型。

准备工作

构建致密层、断层和盐体模型

  • 由于数据驱动的特性,DL方法的性能很大程度取决于训练数据。合理的模型设计可以帮助神经网络更有可能应用于现实情况。

    该文提出了一种设计致密层、断层和盐体模型的新方案。

  • 要设计一个带有断层或盐体的致密层模型,首先要生成一个致密层结构模型,再在上面随机添加断层结构。对于致密层模型来说,难点在于如何在有限的深度和勘探分辨率下确保每一层的连续性和可变性,增加地下介质的数量。我们按照以下步骤生成致密层模型:

    1. 随机生成一条曲线作为模型的第一个界面。
    2. 通过上界面进行调整,迭代生成曲线,以确保两个相邻界面之间不会发生剧烈变化并保持逼真。
    3. 将P-波速度值填充到两个相邻面之间的介质中,遵循较深介质对应较大速度值的标准。
  • 该文的反演模型大小设定为100x100。在模型四周边界有一个额外的20网格吸收边界。

    作者定义了由多个三角方程和线性方程形成的函数来生成连续、波动和复杂的曲线。

    y=y1+y2+y3,y1=a1sin(x2πT1+θ1)+a2(sin(x2πT2+θ2))2,y2=a3(sin(x2πT3+θ3))i,i=1,2,3,y3=r×x+c0,(1) \begin{aligned} y &= y_1 + y_2 + y_3,\\ y_1 &= a_1 \sin\left(\frac{x}{2\pi T_1} + \theta_1\right) + a_2(\sin\left(\frac{x}{2\pi T_2} + \theta_2\right))^2,\\ y_2 &= a_3(\sin\left(\frac{x}{2\pi T_3}+\theta_3\right))^i, i = 1,2,3,\\ y_3 &= r\times x + c_0, \end{aligned}\tag{1}

    其中aj,Tja_j, T_jθj\theta_j为不同三角方程的参数,rrcc分别控制界面倾斜和深度的常数。

    该文设a1>a2>a3a_1>a_2>a_3T1<T2<T3T_1<T_2<T_3,随机选定θs\theta_s。这使得y1y_1是曲线主导部分,为了让两个相邻层之间趋势相似,与前一个界面相比,应该调整每个界面的y1y_1y2y_2在每个界面上单独选取iiycy_c通过c,rc,r来控制深度和倾斜。

    图1. 通过获得的多个面。
    图1. 通过yy获得的多个面。

    最终可以获得如图1所示的各个曲线。

  • 同时,为了削弱三角函数引起的曲线平滑性,作者还在每条曲线中选择了一些离散点,通过这些点来重新生成新的曲线使模型更逼真。

    图2. 重新生成曲线。
    图2. 重新生成曲线。
  • P-波速度的设定范围为[1500,4000] m/s[1500, 4000]\ m/s。根据真实地球介质的固结效应(consolidation effect),每层的速度设置应随着深度增加而增加。该文中将相邻层的速度差设置为大于200 m/s200\ m/s,根据最大波速vmaxv_{\mathrm{max}}、上一层介质波速vupperv_{\mathrm{upper}}、下一层介质数量ln\mathrm{ln}和随机项rr得到每层介质的速度范围为:

    [200,r×vmaxvupperln](2) \left[200, r\times \frac{v_{\mathrm{max}} - v_{\mathrm{upper}}}{\mathrm{ln}}\right]\tag{2}

  • 在致密性模型的基础上,对于断层按照图3操作生成

    图3. 断层模型。
    图3. 断层模型。

    对于移动部分的每个点[h0,w0][h_0, w_0],最新位置[h,w][h_{*}, w_{*}]可以通过如下方程计算得到

    [h,w]=[h0+Δh,w0±((h0+Δh)l(h0))].(3) [h_{*}, w_{*}] = [h_0+\Delta h, w_0\pm ((h_0+\Delta h)-l(h_0))].\tag{3}

    其中Δh\Delta h为垂直方向的移动距离,l(x)l(x)为断层线的方程。同时还需要注意,边界处的速度值将丢失并需要进行填充。

  • 盐体可以被视为从底部向上上升的致密地层,同时盐体还会随着流入上层而波动。作者使用高斯函数来模拟逐渐波动:

    f(x)=ae(xb)2/2c2,(4) f(x) = ae^{-(x-b)^2/2c^2}, \tag{4}

    其中a,ba,bcc分别代表振幅、中心值和标准差。为了模拟盐体对致密层的影响,较深的层具有较大的形变。

    图4. 盐体模型。
    图4. 盐体模型。

    如图4所示,原始分层模型根据这组高斯曲线波动模拟盐体的入侵影响,最后通过随机参数的抛物线设计了一个新的岩体,其波速范围为[4400,4500]m/s[4400, 4500] m/s

  • 作者通过该方法生成了1800018\,000组模型(每种类型60006\,000个)用于网络训练。

网络框架

  • 该文网络模型基于作者的另一篇论文Deep- learning inversion of seismic dat,基于原始模型做了如下修改:

    1. 编码器

      作者认为CNN或全连接不适合提取特征。原网络使用卷积方法从共炮集中提取全局和域信息,并使用一个独热向量标记道。对于大小为[S×R×T][S\times R\times T]的地震数据,通过两组SS个共炮剖面的[R×T][R\times T]卷积,获得全局信息和局部信息,其大小分别为[R×C][R\times C][R×T][R\times T]。此外,震源和接收器的位置信息也由长度为R+SR+S的独热向量编码。这样每道数据都可以被编码成T+R+S+CT+R+S+C的数据,该数据比之前的单一道数据包含更多信息。

      改进:为了尽可能多地提取数据的有效特征,该文还是用共检波器集合[S×T][S\times T]。即分别对两种数据进行卷积得到长度为CC的向量(全局信息),再从相邻道集进行特征提取并线性加权得到长度为RR的相邻信息。

      通过编码器,每个地震道的大小变为T+S+R+C+CT+S+R+C+C,包含了更多有效信息。

      图5. 两种编码器区别。
      图5. 两种编码器区别。

      也就是说新的方法还用了共检波器集合提取特征,最终通过线性加权获得最终的邻域信息。

      UPD:这里再解释下每个符号,从共炮点集和共检波器集分别可以得到T×1T\times 1的特征,再通过线性加权得到最终的T×1T\times 1的邻域信息。同时从共炮点集和共检波器集全局上下文提取得到C×2C\times 2的特征。还包含两个独热向量拼接得到(S+R)×1(S+R)\times 1。所以最终是T+S+R+C+CT+S+R+C+C的数据。

    2. 生成器

    给定编码后的数据道剖面(T+S+R+C+C)×R(T+S+R+C+C) \times R,通过生成器的全连接网络获得特征图S×RS\times R

    同时再提取每道数据的特征转为h×wh\times w的数据。

    1. 解码器

    这部分就比较常规了,通过端到端的CNN得到[H,W][H, W]的速度模型。

    1. 损失函数

    用的二维MSE和二维MSSIM,比较常规。

    图6. 网络架构。
    图6. 网络架构。

训练

训练集

  • 通过之前的构建方法,该文制作了1800018\,000个致密层断层和盐体模型(尺寸均为140×140140\times 140)。每个模型有5599层。

    在声波场的正演中,每个网格大小被定义为10m×10m10m \times 10m,即除去吸收边界外对于100×100100\times 100的模型,反演区域为1km×1km1km \times 1km

    共设置了2020个震源和3232个检波器,它们分别均匀对称地放置在地表上。每个源之间的间隔为50 m50\ m,每个检波器之间的间隔是30 m30\ m

  • 采用伪谱法模拟地震波传播。采用主频为20 Hz20\ \mathrm{Hz}的雷克子波作为震源,采样间隔为1 ms1\ \mathrm{ms},时间步长为10001\,000

网络参数

  • 优化器:Adam

    Batch size: 36

    学习率:5×1055\times 10^{-5}

  • 同时对于网络的每一层都使用ReLU和BN。Dropout的丢弃率设置为0.20.2。训练轮次为200200次。

评价指标

  • MAE、MSE、SSIM和MSSIM

结果

图7. 结果。
图7. 结果。
  • 对于致密层、断层、盐体都表现不错,图就不放了。

炮点丢失

  • 丢失了一部分炮点数据,即用更少的地震数据反演的结果也还不错。

    图8. 炮点丢失结果(第二行为该文方法,第三行为SeisInvNet)。
    图8. 炮点丢失结果(第二行为该文方法,第三行为SeisInvNet)。

陡峭倾角和边缘断层模型

图9. 陡峭倾角和边缘断层模型。
图9. 陡峭倾角和边缘断层模型。
  • 对于具有陡峭倾角或位于观测系统边缘的断层模型,预测不佳的原因是反射波数据难以记录。从图9可以看出,速度值和界面位置得到了很好的预测,但没有得到断层。这表明,由于接收器没有记录故障的反射波信息,因此很难预测故障。尽管使用了完整的波形信息,但网络更多地依赖于强的第一反射波进行预测。衍射等信息很难被网络有效利用。

更多层的致密层模型

图10. 10层和12层的致密层模型(b和d为预测结果)。
图10. 10层和12层的致密层模型(b和d为预测结果)。
  • 对于10层模型,经过训练的网络仍然可以进行准确的预测,并得到明显的分层结果。对于12层模型,由于层厚较小,部分界面预测不准确,但实现了整体速度预测。

总结

  1. 一种新的、完善的构建致密层、断层和盐体模型的方法。
  2. 从共炮集、共检波器集提取地震邻域信息。设置独热向量编码位置信息。
  3. 设置生成器将多个特征转为特征图以便端到端的解码器恢复速度模型。