一、进度概述
1、DL-FWI基础入门培训笔记
2、inversionnet_train 试运行——未成功
二、详情
1、InversionNet: 深度学习实现的反演
InversionNet构建了一个具有编码器-解码器结构的卷积神经网络,以模拟地震数据与地下速度结构的对应关系。
(一)编码器
编码器(上侧部分)主要采用卷积层(非方形卷积)构建的,从输入的地震数据中提取出高级特征,并将高级特征压缩为单一的高维向量。在最后一个卷积层中并没有实施填充零的操作,一遍特征向量可以压缩为一个单一的向量。
这个高维向量是由1*1的图块构成的512通道张量,可以认为是一个512维的向量。
非方形卷积——空间压缩,因为输入的地震波图像的时间维度(图像的高)相比于宽度是很高的,所以需要使用一些比较窄的卷积将时间域压缩来与宽度差不多的程度,先经历宽度不变,高度被压缩的过程。
从上图可以直观的感受到,最初的输入有6个通道,经过第一次卷积压缩变为32个通道(图像的尺寸变小、通道数变多才能保证信息的平衡),1000的高度变成了500;第二次使用两个卷积先将500的时间维度变为250,再使用这两个卷积将250的高度变为125,相当于经历了两次压缩过程(一次压缩使用2个卷积,相比于第一次卷积的压缩更加温和),一共用了4个卷积。第三次操作通过一次压缩、四次卷积的过程将125变为32,此时非方形卷积的目的已经达到了。第四操作中时间域与空间域的操作同时进行,采用一般卷积(方形卷积)进行压缩。
这里的操作实际上是一种降维操作,从学过的信号与系统知识可以辅助理解(实际上可以把图像看做一个二维信号,通过矩阵定义出来的,而对于一信号函数的各种变换,同样也适用于图像,这一点比较好理解)
(二)解码器
解码器(底部部分)通过一组反卷积(转置卷积)将这些特征转换为速度模型。
下图架构中给出的h和w方便用户在未来适配更多的速度模型环境,对于70*70的速度模型,作者给出的h=w=5,在该模型下最终输出的尺寸为80*80(16w),最后通过裁剪得到70*70。
反卷积 (转置卷积)可以将图像的维度进行升维, 同时最大程度保留图像原本性质.这可以通过在输入特征地图上填充零来实现。
反卷积的效果比一般的反池化操作拥有更好的效果。
反卷积:一种特殊的卷积,先通过padding来扩大图像尺寸,紧接着跟正向卷积一样,旋转卷积核180度,再进行卷积计算。
反池化:池化的逆操作,无法通过反池化的结果还原出全部的原始数据。因为池化的过程就是只保留主要信息,舍去部分信息。如想从池化后的这些主要信息恢复出全部信息,则存在信息缺失,这时只能通过补位来实现最大程度的信息完整。包含最大反池化和平均反池化。
(三)卷积操作构成
网络结构中展示的每个卷积操作实质上都是由卷积层, 批归一化 (BN)和LeakyReLU共同构成组成
卷积层中, 卷积承担输入信号的责任, 同时担任滤波器的作用以提取有意义的特征.
卷积是应用于我们的问题的理想方法, 因为地震测量在空间上是连续的, 而卷积层的局部连通性和权重共享使得特征提取有效和高效.批量归一化 (Batch Normalization) 表明, 如果网络的输入具有零均值, 单位方差和去相关, 则深层网络的收敛速度会加快. 有关进一步表明, 使中间层的输出具有这些属性也是有利的.
批处理归一化就是这样一种技术, 它用于在每次迭代时, 对馈送到网络中的中间层的数据子集在输出进行归一化.用于解决 ReLU 的神经元死亡现象, LeaklyReLU被提出.
Leakly ReLU通过把x的非常小的线性分量给予负输入αx来调整负值的零梯度问题;
此外其也扩大的函数的y的范围.(见下图)
注:这里对这第三个概念还是比较模糊的,详细可以参考一下文章:
深度学习优化方式_深度学习与优化控制方法-CSDN博客
(四)实验结果评估
注:对于这里的理解还是比较抽象的,而且对其计算方式也不太理解。故这里的打算为先把结果跑出来,再回来试着看看,能不能减少其抽象程度。
2、inversionnet_train 试运行——未成功
今天在试运行时,出了一些小问题:
相关环境配置还是有些问题,花了些时间解决,实验结果可能需要推迟一下才能成功运行。