2023 7.24~7.30 周报 (VelocityGAN)

本文详细介绍了VelocityGAN在地震全波形反演(FWI)中的应用,包括其网络结构、损失函数和训练策略。VelocityGAN基于InversionNet并引入对抗性学习,通过判别器和生成器的交互提升反演效果。文章还讨论了OpenFWI框架下2022版本的VelocityGAN的改进,如判别器结构的变化,以及训练过程中的关键步骤。

0 上周回顾

上周读完了论文《Deep-Learning Full-Waveform Inversion Using Seismic Migration Images》.
收集了一些idea.

1 本周计划

这周继续深入阅读一篇DL-FWI论文:
《Data-Driven Seismic Waveform Inversion: A Study on the Robustness and Generalization》
并且通过已有代码来分析实现细节.
最终复现.

1.1 论文背景

这篇论文是《Data-Driven Seismic Waveform Inversion: A Study on the Robustness and Generalization》. 它发布于2020年, 所在期刊是《IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING》, 即TGRS.
这篇论文与经典论文InversionNet的有着共同的第二作者, 我有理由怀疑它们应该是共同的一个研究团队. 而且这篇论文的实验风格, 数据展示方式都与InversionNet非常相似. 而且通过阅读逐渐发现: 这篇论文有沿用InversionNet的许多结构, 不如说: InversionNet + Discriminator 构成的DGAN结构.
这篇论文中, 作者将它的结构称之为VelocityGAN.

2 完成情况

2.1 背景简述

按照惯例, 作者介绍了传统FWI的弊端, 但是作者的侧重点可谓别出心裁, 因为它着重强调了传统FWI在正则优化上的改进.

传统FWI方法相比于更简单的走时反演有更加精确的分辨率和精度, 但是FWI也具有更高的难度, 因为它的正向算子是非线性的, 模拟量大且问题具有不适定性, 没有唯一的解决方案. (三方面: 不适定性, 周期跳跃, 高计算成本)
于是近几年人们提出正则化的优化方法:

  • Tikhonov正则化
  • 全变分正则化
  • 高阶正则化
  • 基于先验的正则化

来解决FWI存在的多数问题, 但是这些方法都还是在物理方法的框架下架构的. 他们会被物理先验的精确性影响, 而且开销巨大.
虽然局限存在, 但正则化的优秀之处仍然不可无视, 因此在进入数据驱动FWI的研究时代下, 仍然有些很好的正则约束在沿用, 只不过多了很多"深度学习"的味道.
而神经网络结构存在一种非常特殊的正则约束, 那就是对抗约束, 即通过构造判别器 (Discriminator) 来与固有的网络 (Generator) 生成的数据对抗, 从而约束固有网络. 这就是GAN.
虽然GAN在之前有试着FWI领域进行融合 (论文: Generative Adversarial Networks for Model Order Reduction in Seismic Full-Waveform Inversion), 但是并不及VelocityGAN的名气, 因为相比之下, VelocityGAN有着较好的实验和论证, 包括损失函数的设计. 以及, VelocityGAN的数据集更广泛, 覆盖了合成和真实数据 (SEG), 同时也运用了迁移学习 (迁移到断层).

2.2 网络结构: 生成器 (Generator)

在这里插入图片描述
图的左侧是VelocityGAN中所提到的生成器网络的参数, 而右侧是InversionNet提供的网络参数.
实际上仔细观察可以发现, 两个使用的是同一套架构, 甚至在数据上也几乎是同一套.
InversionNet论文中直接演示的架构的信息里, 地震图像是 6 × 1000 × 32 6\times1000\times32 6×1000×32, 速度模型用了两套, 分别是平坦结构的 100 × 100 100\times100 100×100和曲面结构的 100 × 150 100\times150 100×150 (2019年版)
VelocityGAN直接演示的架构的信息里, 地震图像也是 6 × 1000 × 32 6\times1000\times32 6×1000×32, 速度模型只用了曲面数据, 大小也是 100 × 150 100\times150 100×150 (2020年版), 但是额外添加了SEG的数据进行真实数据测试.
InversionNet在解码器部分设置了 h × w h\times w h×w来表示其对于速度模型的灵活控制, 只要设置 h = 10 h = 10 h=10 w = 7 w = 7 w=7那么就可以最终获得 160 × 112 160\times112 160×112的图像. 再通过截取即可获得 100 × 150 100\times150 100×150的速度模型.

2.3 网络结构: 判别器 (Discriminator)

作者设置了一个较为浅层的CNN网络来表示判别器网络.
在这里插入图片描述

In particular, it consists of five convolution blocks, a global average pooling layer, and fully connected layers. Each convolutional block involves a combination of Convolutional, BatchNormalization, LeakyReLU, and MaxPooling layers.

在论文中, 他描述的判别器网络由五个卷积块, 一个全局平均池化层和全连接层组成, 但是并没有给出具体的结构参数. 于是我根据猜测绘制了其如下的图像.
作者描述的每个卷积块都包含了最大池化的操作, 其目的肯定是为了缩小图像尺寸, 由此可以推断其经历了至少5次尺寸缩小.
而通道数是我的一种猜测, 因为其的生成器也采用了类似的通道数规律设计.
最后的全局平均池化就是将最后512通道的每张4*5的图像都在图像内部求平均值, 即20个数值的平均, 由此会得到512个平均值. 这些平均值作为全连接神经网络的输入, 最后通过全连接网络, 压缩得到4个网络节点.

We apply the “PatchGAN” classifier [18] in the discriminator to capture local style statistics. We set the patch size as 4 and calculate the mean loss value of all patches in an image. In our data set, velocity maps can be a rather different one from the others (such as different tilting angles, layer thicknesses, and layer velocities). However, if we focus only on the local information, their geological faults and interfaces share some similarities (the geological faults and interfaces always have a drastic change in velocity). Therefore, “PatchGAN” is more suitable than “GlobalGAN” for our task.

这4个节点都是判别器的输出, 依据作者在文章中提到的PatchGAN思路, 这四个输出值反映了速度模型图像中 “四个区域” 的真实性判别,每个区域给出0.0~1.0的评分, 越高, 证明判别器认为它是real的概率越高, fake的概率越低.
这只是四个区域的判别, 最终, 四个区域的值求平均, 即是速度模型本身的真实性判别. (详情可百度"PatchGAN")

在这里插入图片描述

2.4 损失函数: Loss

VelocityGAN的损失函数使用了WGAN-GP的损失函数, 这部分百度倒都是有解释, 这里我为了方便总结, 我也捋一捋.
首先要明确, 对于GAN类的损失函数, 一般来说我们是先看 判别器 的损失函数, 因为程序里面, 我们确实要先告诉判别器什么是fake, 什么是real. 而往往来说, 喂入判别器的real就是生成器的真实标签 (Ground truth), 而fake是生成器预测的标签. 对于FWI, 标签即速度模型.

判别器Loss (如果是纯WGAN):
L d = E x ~ ∼ P g D ( x ~ ) − E x ∼ P r D ( x ) L_{d}=\underset{\tilde{x} \sim \mathbb{P}_{g}}{\mathbb{E}} D(\tilde{x})-\underset{x \sim \mathbb{P}_{r}}{\mathbb{E}} D(x) Ld=x~PgED(x~)xPrED(x)
这里是WGAN的判别器网络的loss, 这里的 x ~ \tilde{x} x~表示预测的速度模型, 也就是fake图像; x x x是真实速度模型, 即real图像. 这里 E \mathbb{E} E我通过原文分析可能是一种求平均值的算子, 即 E ( images ) \mathbb{E}(\text{images}) E(images)会将所囊括的图像的每个像素求平均.
此外, 这里的 P g \mathbb{P}_{g} Pg表示生成器生成的速度模型的分布, 而 P r \mathbb{P}_{r} P</

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值