一、上周工作
论文研读
二、本周计划
思考毕业论文要用到的方法或者思想,多查多看积累可取之处。学习ppt和上周组会内容、卷积神经网络。
三、完成情况
1. 数据训练的方式
1.1 迁移学习
迁移学习是一种机器学习方法,把任务 A 训练出的模型作为初始模型,并使用它来改进新目标任务B的学习。即通过从已学习的相关任务中转移知识来改进学习的新任务。这可以包括使用模型作为特征提取器,微调模型,或使用模型的部分作为初始化。
找到目标问题的相似性是关键,迁移学习任务就是从相似性出发,强调信息复用,将旧领域学习过的模型应用在新领域上。源领域的训练样本数量一般远大于目标领域。 比如,已经会下中国象棋,就可以类比着来学习国际象棋;已经会编写Java程序,就可以类比着来学习C#等等。如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。
迁移学习侧重于对模型进行微调,以将源域模型适用于目标域。
迁移学习可以通过多种方式实现:
- 特征迁移:将在源任务上学习到的底层特征或表示直接应用于目标任务,这种方式常见于使用预训练的卷积神经网络(CNN)模型进行图像分类任务。
- 模型迁移:将在源任务上训练好的模型(例如神经网络)的参数或结构迁移到目标任务中,以辅助目标任务的训练。
- 领域迁移:利用源任务和目标任务之间的相似性,通过对源领域的学习来改善目标领域中的性能。
1.2 域自适应学习
域自适应学习专注于调整在源域上训练的模型 ,使其在不同但相关的目标域上工作良好。任务保持不变,但数据分布发生了变化。挑战在于调整模型,使其在不忘记源域的情况下在新域上表现良好。
域适应主要问题是如何减少源域与目标域不同分布之间的差异。
1.3 多任务学习
多任务学习(Multi-task Learning)是指同时学习多个相关任务,让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务上的性能和泛化能力。多任务学习的主要挑战在于如何设计多任务之间的共享机制。
有助于避免过度拟合,通常会导致更通用的表示,尤其是当单个任务没有大量数据时。
这四种常见的共享模式分别为:
-
硬共享模式:让不同任务的神经网络模型共同使用一些共享模块(一般是低层)来提取通用特征,再针对每个不同的任务设置一些私有模块(一般是高层)来提取特定特征。
-
软共享模式:不显式地设置共享模块,但每个任务都可以从其他任务中"窃取"一些信息来提高自己的能力。窃取的方式包括直接复制使用其他任务的隐状态,或使用注意力机制来主动选取有用的信息。
-
层次共享模式:一般神经网络中不同层抽取的特征类型不同,低层一般抽取一些低级的局部特征,高层抽取一些高级的抽象语义特征。因此如果多任务学习中不同任务也有级别高低之分,那么一个合理的共享模式是让低级任务在低层输出,高级任务在高层输出。
-
共享-私有模式:一个更加分工明确的方式是将共享模块和任务特定(私有)模块的责任分开。共享模块捕捉一些跨任务的共享特征,而私有模块只捕捉和特定任务相关的特征。最终的表示由共享特征和私有特征共同构成。
1.4 持续学习
随着近年来数据呈现爆炸式的增长,机器学习算法中,训练数据与测试数据很难达到分布相似的状态,一般的机器学习算法很难在动态的环境中连续自适应的学习,因此提出了持续学习。
他的本质是既能够对到来的新数据进行利用,并基于之前任务积累的经验,在新的数据上很好的完成任务;又能够避免遗忘问题,对曾经训练过的任务依旧保持很高的精度(即避免灾难性遗忘的问题)。模型对连续的非独立同分布数据进行依次学习,并且每组数据仅访问一次。
持续学习中的主要挑战:灾难性遗忘 以及 稳定性(旧知识的记忆能力)- 可塑性(学习新知识的能力)权衡。
实际中进行持续学习的任务对象并非差异特别大的任务,比如先学习识别图像,再学识别语音,再到学习识别文字。更多的是做到对同任务不同阶段的学习,可以理解为对同任务不同域的数据进行学习。
持续学习的主流方法包括以下三类:
- 基于正则化的方法:通过为损失增添额外损失项,对权重进行约束,保护巩固已学习的知识,但这样可能会制衡新任务的学习性能,无法很好的权衡新旧任务,避免灾难性遗忘的能力是十分有限的。该类方法不需要保存任何以前的数据,只需要对每个任务进行一次训练。但是,随着任务数量的不断增加,可能导致特征漂移现象的发生。
- 基于动态结构的方法:动态的对网络结构进行调整,使其适应新的任务,也可以扩展网络结构来学习新的任务,使用更多的神经元或网络层。然而随着任务数量的不断增多,模型结构会不断变大,因此这样的方法无法应用到大规模数据中,影响其在实际场景中的使用。另外,该类方法也不能从任务之间的正向迁移中获益。
- 基于情景记忆的方法:通过保存一些之前任务的样例进行记忆回放来缓解灾难性遗忘,有一定的效果。但是随着任务数量的增长,计算成本会快速增加,同时由于需要保存之前的数据,不利于数据安全保护。为了解决这些问题,人们提出了生成模型来生成之前任务的一些相似分布样例,但在每次生成样本时,可能会造成"语义漂移",且随着时间推移,模型训练准确率逐渐下降,并且模型训练效率很低。
迁移学习与持续学习的区别:
迁移学习注重将在任务一学到的知识迁移到任务二,对解决任务二帮助更大,迁移过后对原任务一的表现并不关心;持续学习关注任务一得到的模型对任务二接着学习之后,在任务一和任务二上的表现如何,对过往学习任务依然具有表现要求。
2. 可选模块1------Deep prior
Deep prior(深度先验)是指深度学习模型中内在的结构、特征和偏好,这种先验知识被用于模型训练和任务解决过程中。通过利用深度学习模型在大量数据上学习到的先验知识,可以提高模型对于有限数据的泛化能力和稳定性。
Deep prior可以有多种形式:
- 其中一种常见形式是在模型训练过程中使用正则化技术,如权重衰减、Dropout、批量归一化等,以限制模型的复杂度和自由度,减小过拟合的风险。
- 另一种形式是利用预训练模型或迁移学习,通过在大规模数据上预训练一个模型,再基于该模型进行微调或特定任务的训练,以利用先验知识来提升性能。
3. 可选模块2------PINN- 基于物理信息的神经网络
PINN(Physics-informed neural network), 是一种融合物理约束和神经网络的方法,用于求解和建模部分已知物理规律的问题,特别是用于解决与偏微分方程 (PDE) 相关的各种问题。可将物理规律直接做成模块, 像 Deep prior 一样使用。
PINN是一类用于解决有监督学习任务的神经网络,它不仅能够像传统神经网络一样学习到训练数据样本的分布规律,而且能够学习到数学方程描述的物理定律。与纯数据驱动的神经网络学习相比,PINN在训练过程中施加了物理信息约束,因而能用更少的数据样本学习到更具泛化能力的模型。
物理神经网络PINN,其实就是把物理方程 作为限制加入神经网络中使训练的结果满足物理规律。而这个所谓的限制是怎么实现的?就是通过把物理方程的迭代前后的差值加到神经网络的损失函数里面去,让物理方程也"参与"到了训练过程。这样,神经网络在训练迭代时候优化的不仅仅是网络自己的损失函数,还有物理方程每次迭代的差,使得最后训练出来的结果就满足物理规律了。
对于偏微分方程 (PDEs)、常微分方程 (ODEs)等,传统的求解方法通常基于数值方法,需要进行离散化和网格化,然后通过迭代求解来获得数值解。然而,这些方法在高维问题或复杂几何形状上可能面临挑战。
PINN方法采用神经网络作为近似求解器,利用其强大的函数逼近能力和自适应性质来近似物理问题的解。与传统方法不同,PINN以一种无网格的方式工作,不需要显式的网格离散化,而是通过隐式地学习物理方程的约束来获取解。具体来说,PINN利用神经网络来表示未知的物理解和边界条件,并在训练过程中结合已知的物理规律或数据,来优化网络参数,使其逼近真实的物理解。
PINN方法不仅能够通过学习物理方程来求解未知的变量,还可以用于未知边界条件的推断、参数估计和不确定性量化等任务。其优点在于可以处理复杂的非线性问题、高维度的物理模型和复杂的几何形状,同时不需要显式的网格生成和离散化。
PINN方法在科学计算、工程建模、流体动力学、力学模拟等领域得到了广泛的应用,并取得了一定的成功。它为解决基于物理规律的问题提供了一种新颖、高效且灵活的方法。
4. 基于深度学习的图像分割技术
------他是利用卷积神经网络,实现了图像像素级的分类。它能够将一张图片按照类别的异同,将图像分为多个块。
基于深度学习的图像分割技术主要分为两类:语义分割及实例分割。
语义分割的目的是为了从像素级别理解图像的内容,并为图像中的每个像素分配一个对象类。在图像领域,语义指的是图像的内容,对图片意思的理解;分割的意思是从像素的角度分割出图片中的不同对象,对原图中的每个像素都进行标注。
常见的应用包括:自动驾驶汽车、医学图像诊断
4. 卷积神经网络------LeNet、AlexNet、VGG
------属于CNN中的小类,都使用的CNN中的一些经典操作,而它们的区别在于网络的结构和深度不同。
4.1 LeNet
第一次将LeNet卷积神经网络应用到图像分类上,在手写数字识别任务中取得了巨大成功。
上图就是LeNet网络的结构模型,其中包含:
- 第一模块:包含5×5的6通道卷积和2×2的池化。卷积提取图像中包含的特征模式(激活函数使用sigmoid),图像尺寸从32减小到28。经过池化层可以降低输出特征图对空间位置的敏感性,图像尺寸减到14。
- 第二模块:和第一模块尺寸相同,通道数由6增加为16。卷积操作使图像尺寸减小到10,经过池化后变成5。
- 第三模块:包含5×5的120通道卷积。卷积之后的图像尺寸减小到1,但是通道数增加为120。将经过第3次卷积提取到的特征图输入到全连接层。第一个全连接层的输出神经元的个数是64,第二个全连接层的输出神经元个数是分类标签的类别数。然后使用Softmax激活函数即可计算出每个类别的预测概率。
虽然LeNet网络模型对手写数字的识别取得的效果很明显,因为手写数字的输入图片尺寸仅为28x28但是当输入图片的尺寸过大时,它的效果就不尽人意了。
4.2 AlexNet
AlexNet与LeNet相比,具有更深的网络结构,包含5层卷积和3层全连接,同时使用了如下三种方法改进模型的训练过程:
- 数据增广:通过对训练随机加一些变化,比如平移、缩放、裁剪、旋转、翻转或者增减亮度等,产生一系列跟原始图片相似但又不完全相同的样本,从而扩大训练数据集。
- 使用Dropout抑制过拟合
- 使用ReLU激活函数减少梯度消失现象
其中主要有四个模块:
- 第一模块:包含了11 x 11步长为4的96通道卷积以及一个最大池化
- 第二模块:包含了5 x 5的256通道卷积以及一个最大池化
- 第三模块:包含了两个3 x 3的384通道以及一个3 x 3的256通道的卷积,后面加一个最大池化
- 第四模块:包含了两个4096通道输入的全连接层,每个全连接层后面加一个Dropout层来抑制过拟合,以及还有最后一个1000通道的全连接层
它由八个学习层------五个卷积层、三个全连接层组成。
AlexNet共有五个卷积层,每个卷积层都包含卷积核、偏置项、ReLU激活函数和局部响应归一化(LRN)模块。
- 卷积层C1:使用96个(其实是两组48个)核对224 × 224 × 3的输入图像进行滤波,卷积核大小为11 × 11 × 3,步长为4。将一对55×55×48的特征图分别放入ReLU激活函数,生成激活图。激活后的图像进行最大池化,size为3×3,stride为2,池化后的特征图size为27×27×48(一对)。池化后进行LRN处理。
- 卷积层C2:使用卷积层C1的输出(响应归一化和池化)作为输入,并使用256个卷积核进行滤波,核大小为5 × 5 × 48。
- 卷积层C3:有384个核,核大小为3 × 3 × 256,与卷积层C2的输出(归一化的,池化的)相连。
- 卷积层C4:有384个核,核大小为3 × 3 × 192。
- 卷积层C5:有256个核,核大小为3 × 3 × 192。卷积层C5与C3、C4层相比多了个池化,池化核size同样为3×3,stride为2。
其中,卷积层C3、C4、C5互相连接,中间没有接入池化层或归一化层。
AlexNet共有3个全连接层(后三层)。
- 全连接层F6:因为是全连接层,卷积核size为6×6×256,4096个卷积核生成4096个特征图,尺寸为1×1。然后放入ReLU函数、Dropout处理。值得注意的是AlexNet使用了Dropout层,以减少过拟合现象的发生。
- 全连接层F7:同F6层。
- 全连接层F8:最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000个类别预测的值。
可以借鉴的地方:在ReLU层之后应用了LRN局部归一化得到了一个更好的效果,Dropout避免过拟合,五个卷积层和三个全连接层构成更深的网络架构。
- 局部响应归一化:这种设计可以理解为将局部响应最大的再放大,并抑制其他响应较小的(放大局部显著特征,作用还是提高鲁棒性)。在用ReLU非线性层之后用到局部响应归一化在特定的层。
- dropout方法:全连接层由于参数过于庞大,因此很容易出现过拟合,那么每次迭代的时候把一些神经元以概率p失活,这样每次迭代时都是一个新的模型,显著提高了健壮性
4.3 VGG
AlexNet模型通过构造多层网络,取得了较好的效果,但是并没有给出深度神经网络设计的方向。VGG通过使用一系列大小为3x3的小尺寸卷积核和pooling层构造深度卷积神经网络,并取得了较好的效果。
这是VGG-16的网络结构示意图,有13层卷积和3层全连接层。VGG网络的设计严格使用3×3的卷积层和池化层来提取特征,并在网络的最后使用三层全连接层,将最后一层全连接层的输出作为分类的预测。 在VGG中每层卷积将使用ReLU作为激活函数,在全连接层之后添加dropout来抑制过拟合。
使用小的卷积核能够有效地减少参数的个数,使得训练和测试变得更加有效。由于卷积核比较小,可以堆叠更多的卷积层,加深网络的深度。
5. 整理学习地震反演的深度学习方法 相关概念
1)单个地震检波器的接收记录,称之为一个地震道。多个地震道的集合,简称道集。
2)地震资料采集中,若地下界面为水平界面,则共反射点在地面的投影必为炮集中拥有共反射点接受距的中心点,因此称为共中心点。把不同炮集中拥有共中心点的道抽取出来,形成一个新的集合,称之为共中心点道集------CMP道集。该道集进行动校正、水平叠加,就可得到水平叠加剖面。
3) 共炮点道集:同一激发点激发所有检波器接收的来自地下不同反射点的地震道的集合。它是以同一炮的不同道为坐标横轴、地震反射时间为坐标纵轴的数据排列方式。
4)静校正:把由地表激发,接收获得的地震记录,校正到一个假想的平面上 (基准面),目的是消除地表起伏变化对地震资料的影响,是陆地地震资料常规处理流程中必不可少的一环。
5)叠前噪音:在采集过程中,受到外界条件及施工因素和仪器等多种因素的影响,地震记录上存在各种干扰。尤其在高分辨率地震资料采集过程中,为了获得高频信号,不得不采用小药量激发,小组合或无组合甚至是单个检波器接收,各类干扰会更加严重。
6)由于震源爆炸时岩石破坏圈和岩石塑性圈的作用,使得震源发出的脉冲到达弹性形变区时变成具有一个具有一定延续时间的稳定的波形b(t),通常称为地震子波
7)受大地滤波作用的影响,地震波在地下介质传播的过程中,随着传播路程的增加,分辨率逐渐下降。反褶积的目的就是为了消除大地滤波作用的影响,恢复反射系数,提高地震记录对地下岩层的刻画能力。
6. 总结
当深度学习直接用于地震反演时,主要存在三个问题。首先,标签数据不足。第二,针对一个工作区域训练的网络不适用于其他工作区域。第三,反演结果存在空间不连续和不稳定问题。
毕设想法1:低频约束pass,关注于网络架构、损失函数,unet
基于低频约束与迁移学习的二维盐体数据反演方法
地震数据缺少低频成分,是否能将域自适应和低频约束相结合(可行性?)?网络输入从通常的单输入转变为双输入(地震数据和低频成分信息)
随机生成一些数据当作源域数据,首先使用源域数据进行网络训练得到预训练权重,之后进行目标域数据迁移学习。
step1:我们用大量合成的随机数据预训练网络。step2:将预训练的网络的权重迁移到具有相同架构的目标网络中针对目标域数据进行微调。
毕设想法2:pass
基于unet的数据增强
数据增强相关:提高分辨率
由于UNet结构的对称性,训练生成的数据与地震数据的分辨率实际上是一致的。后续加一个模块------包含卷积层和上采样,实现分辨率的提高。
四、下一步计划
关注于网络架构、损失函数,unet,了解近几年的网络架构、相关论文
了解其他人在unet上增加的一些内容,跟分割相关,如密集预测
在网络上去添加组件、连接方式、特征融合等。