【学习笔记】Day 2

一、进度概述

        1、inversionnet_train_light 试运行——未成功
        2、DL-FWI基础入门培训-1,2,以及作业1的完成——暂未完成作业

二、详情

1、inversionnet_train_light 试运行

        在补充完相关依赖后,运行仍有报错

        产生原因:这个代码在当时师兄的库中存在相关申明,但现在没有了
        解决方法:在 “InversionNet.py” 中补充以下代码

import torch.nn.functional as F

        关于为什么解决完所有问题后仍然运行不成功:内存不够!

        关于代码还需要说明的一点:目前只是将代码运行成功,实际上并没有逐句分析,在后面学习了相关知识后,建议开个篇章逐句理解。

2、《DL-FWI:简述》知识总结

学习目的:进一步认识 “通过全波形反演探测地震数据” 这一系统。
内容摘要
(1)“全波形反演” 概述
        A. 关于正演与反演的逻辑
        B. FWI的数学表示
        C. FWI的端到端深度学习解释
        D. DL-FWI的优势
        E. DL-FWI的基本发展和分类
        F. 地震数据 (Seismic Data) 是什么样的?
        G. 速度模型 (Velocity Model) 是什么?
        H. 道 (Trace) 是什么?
笔记记录

(一)何为全波形反演 (Full waveform inversion)?

        从地表发出的震源弹性波会沿着不同方向传播, 并受到不同介质特性的影响而发生反射、折射、衍射等现象。
        我们可以在地表放置多个接收器来检测这些反射信号, 从而来分析关于地下介质结构及物性参数等信息。当我们把每个接收器获取的弹性波绘制出来并拼接在一起就可以得到如下的地震数据。

        而通过右图的结构推测左图构造的问题就称之为全波形反演, 后续我们简称为FWI.

A. 关于正演与反演的逻辑

        正演 (Forward modeling) 指的是根据地下介质的物性参数, 运用物理方程和数值计算方法, 模拟真实地震波传播过程并得到合成地震记录的过程. 可以认为正演是反演的逆过程: 即通过地层图模拟地震波形.
        反演问题是建立从地震数据到速度模型的映射. 一般认为是多解的, 即一个地震数据可能对应于多个速度模型.
        正演问题是建立从速度模型到地震数据的映射.一般认为是单解的, 即一个速度模型只能生成一个地震数据.

B. FWI的数学表示

通过之前的表示, 常密度二维声波方程式: 

若我们把上式简写为: u=H(v)
这个公式即将v映射到u, 这里通常是非线性的, 这就是常规的正演思路. 
在反演应用中, 求解上述方程的策略是开发一个相当快速且准确的逆算子H^{-1}.

现有的采用PDE (偏微分方程)的全波形反演方法将会使用迭代优化算法来最小化目标函数H^{-1}.
但是由于算子H的非线性特性和测量d本身可能得不完善 (因为d本身也是通过数值化的正演模拟得到) 很难得到精确地下模型.

        (吐槽一下这和电磁波有什么区别啊可恶,死去的电磁场与电磁波还在攻击我)
        注:这部分的数学理论部分理解可参考 “数学物理方法” 和 “电磁场与电磁波” 等相关课程,计算靠机器。

C. FWI的端到端深度学习解释

        而随着深度学习的壮大, 我们以深度网络的逼近定理为原则, 尝试用各种端到端结构去模拟目标函数H^{-1}.
        由此FWI的端到端深度学习的方法可以总结为: 
        就是用已知的”地震数据”和”速度模型”来训练一个[模型].
        然后通过将新的”地震数据”喂入这个[模型]中, 从而预测其”速度模型”, 从而推测地下构造.

D. DL-FWI的优势

        传统的FWI的求解过程涉及到多次迭代, 时间开销是巨大的, 而且依赖于初始解, 存在病态性.
        1. DL-FWI通常在训练阶段需要更多时间, 而实际预测花费的时间很少, 只需要几秒钟. 一旦建立了良好的通用网络, 那么就可以大大地减少FWI计算时间.
        2. 神经网络可以自然地将空间相关性作为正则化引入生成速度模型, 这样可以抑制梯度中的噪声并减轻局部最小.

E. DL-FWI的基本发展和分类

        DL-FWI最主要的发展是从2018年开始, 而2020左右是相关的重要架构产出的时代.
        最开始人们采用的手段主要是”严格端到端”和”空间信息的嵌入”两种手段.
        严格的端到端手法就是尝试通过设计构建完善的网络去拟合函数𝐻^(−1), 将设计侧重在网络的设计中, 它们大多是CNN的编-解码结构. 但是需要承认, 这种设计可能会弱化一些物理意义和空间信息.

        而嵌入的手段就强调在空间中提供重要的信息参与训练, 这个过程中伴随着其他特征网络的维度控制, 这个时候就会有DNN参与进来.
        嵌入特征有非常强的空间解释性, 某些效果也是很出色的. 
        但是目前嵌入有关论文的开源性很差.

        近几年, DL-FWI的方法愈发丰富, 一些设计引入了更丰富的非严格端到端网络架构结构 (GAN等), 训练场景 (无监督等) 和训练思路 (渐进迁移等). 这些手法跳出了只沉溺于网络的设计的怪圈, 将深度学习的其他成果融于了DL-FWI研究中, 进一步强化了DL-FWI. 但是也模糊了物理方法和DL-FWI的界线.
        近几年物理引导的DL-FWI愈发火热起来, 它可能是未来DL-FWI的一个极其富有潜力的方向 : 更强解释性和效果, 但模糊了物理方法和深度学习方法的界线, 难度颇高.
        但是我们目前仍在致力于挖掘DL-FWI中关于”DL-”部分的潜力.

        几个主要架构
ModifiedFCN (2018)
GeoDNN (2018)
FCNVMB (2019)
InversionNet (2019)
SeisInvNet (2020)
VelocityGAN (2020)
ULFWI (2022)

F. 地震数据 (Seismic Data) 是什么样的?

示意图见PPT

        在位置A触发振动源, 所有接收器都会陆续接收到波信号, 这些信号可以绘制出炮面图A, 如右图所示.
        然后移动振动源到位置B, C触发振动源, 同理我们会得到炮面图B, C
        因为振动源动而接收器没动, 故这些炮面图是互不同的.
        因此放S个炮就可以得到S个炮面图, 我们将他们”捆”在一起, 成为一个”S-通道的图集”.
同时, 炮面图的宽度 = 接收器个数, 高度 = 采样时长.

(通过图像还是比较好理解的)

G. 速度模型 (Velocity Model) 是什么?

        我们通常将地下结构称之为”速度模型”, 因为这个图的每个像素点其实表示的是波在这个介质中传播的速度. 
        因此它所表示的物理意义更接近于”速度值”的分布, 只因这种分布与地表构造强相关, 故我们可以通过这种”速度值”的分布来分析地层样貌.

示意图见PPT

H. 道 (Trace) 是什么?

示意图见PPT

        道在计算机中的解释: 地震图像中的任意一个纵向的向量, 如果这个图像宽R, 那么它最多就有R个道. 如果这个图像高T, 那么每个道的长度都是T, 维度为 (T x 1).
        道在物理意义上的解释: 任意一个地震检波器在T时间内接受到的波形信号组, 是一个时间序列数据.

3、《DL-FWI:数据》知识总结

学习目的:FWI数据中的信息与数据的运用
内容摘要
(1)数据与数据间的关系
(2)SEG盐体数据
(3)OpenFWI数据集
(4)数据的操作: 读取
(5)数据的操作: 展示
笔记记录

(1)数据与数据间的关系

        首先, 我们的数据集本身是由若干个 {地震数据-速度模型} 构成的数据对, 任何一个地震数据必然有其对应的速度模型, 反之亦然.

         对于有N个数据的地震数据集, 数据与数据之间存在下面这样的层级关系

(2)SEG盐体数据与模拟数据

        首先我们介绍的是SEG盐体数据
        SEG盐的数据描述了一个大约2km×3km的地下二维剖面区域. 采样后, 地下的像素区域大小为201×301. 波在这个地下区域的传播速度为1500m/s~4482m/s.

        图中的黄色部分代表盐体 (Salt Body),波在这个介质中的传播较快

        然后是SEG盐体数据的模拟数据:
        考虑到真实数据的量是很匮乏的, 而DL-FWI的一般网络都是非常吃数据量的模型, 故还需要通过合成一些同SEG盐数据类似分布的模拟数据来进行预训练, 作为网络背景.
        该模拟数据集有 1700 个与SEG盐数据大小相同的合成速度模型.
        每幅图像都有不同宽度的层,从大约 5 到 12 层不等. 为了精确模仿盐体, 每个速度模型在中间或底部随机嵌入了随机形状的盐体. 同时,模拟数据的地层速度波动也控制在2000km/s~4500km/s.

(3)OpenFWI数据集

        OpenFWI是近一两年随着DL-FWI的蓬勃发展而诞生的大规模、多结构基准数据集的集合.
它包含了12 个根据不同先验合成的数据集, 其中包括一个 3D 数据集.
        而这12个数据集又可以细分为四类数据, Vel类, Fault类, Style类, Kimberlina类. 除Style外, 它们都表示不同的地下结构, Style则为一种自然图像的迁移假想地层.
        A/B代表地层的难度分级.

(4)数据的操作: 读取

(5)数据的操作: 展示

注:4,5等到完成作业1后再来补充理解

4、作业1

        暂未成功复现,其原因是对于numpy和scipy库完全陌生,无法理解代码的逻辑。目前首要任务更改为了解两个库以及其所描述的问题的基本情况。

        参考文献如下: 

python学习笔记之numpy库的使用——超详细_手机插上u盘怎么传文件-CSDN博客

【Python三方库】Python之SciPy库的简介、安装、使用方法、示例代码、注意事项等详细攻略_python scipy库-CSDN博客

        初步看下来,scipy更像是对numpy的一个封装,从原理上理解numpy库的使用,从工具角度上学习scipy更佳。


后记

视频1,2学习笔记可参考

DL-FWI基础入门培训视频学习1、2_fwi,使用最近插值法-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值