一种基于变分自编码器的地震数据扩充方法与流程

专利2022-06-29  90


本发明属于地球物理勘探解释技术及深度学习领域,特别涉及一种地震数据处理技术。



背景技术:

近年来,在深度学习领域,无监督学习模型受到越来越多的关注,尤其是在深度生成模型方面,取得了突破性的进展。其中,变分自编码器(variationalauto-encoders,vae)和生成对抗网络(generativeadversarialnetworks,gan)被视为无监督学习领域最具有研究价值的方法之一,在深度生成模型领域得到越来越多的应用。变分自编码器(vae)作为深度生成模型的一种形式,是由kingma等人于2014年提出的基于变分贝叶斯(variationalbayes,vb)推断的生成式网络结构。变分自编码器作为特殊形式的自编码器模型,一经提出就迅速成为深度生成模型领域最受关注的形式之一,vae是一种深度隐空间生成模型,在数据生成方面表现出巨大的应用价值,尤其是在图像生成方面,得到了非常广泛的应用。

变分自编码器(vae)模型是一个数学逻辑性极强的数据生成模型,结合深度学习和统计学习构造了一套逻辑自洽的数据生成流程,vae采取了弱监督的学习方式,是对自编码器的一种拓展,不使用人工标记而是样本本身作为训练标签,其目的不再是提取原始样本的隐藏变量,而是生成全新的样本数据。vae有两大核心点,一是以自编码器为核心搭建的神经网络,二是以变分推断为核心构造的损失函数,vae使用自编码器获取隐藏变量的信息,通过假设隐藏变量服从标准正态分布进而获取到变分推断需要的先验概率分布,因此vae是个显式数据生成模型。

目前,作为在深度生成模型领域最具有价值的方法之一的变分自编码器这种无监督的数据生成方法在地质领域的应用基本上很少,尤其是在地震数据生成方面还是一个空白。而在实际中要人工获取稳定、可靠的某类地震数据要花费大量的人力物力。



技术实现要素:

为解决上述技术问题,本发明提出一种基于变分自编码器的地震数据扩充方法,通过利用变分自编码器(variationalauto-encoders,vae),在某类地震样本数据数量不足的情况下生成大量分布接近此类样本的数据;从而实现了以数据驱动方式就扩充地震数据的目的。

本发明采用的技术方案为:一种基于变分自编码器的地震数据扩充方法,包括:

s1、将不同类型的无标签地震数据作为训练集,

s2、采用步骤s1的训练集对vae网络进行训练,得到训练好的vae网络模型;

s3、将待扩充样本的标签数据输入步骤s2训练好的vae网络模型,得到新的样本数据。

步骤s3具体为:

s31、将待扩充样本的标签数据作为vae网络模型的编码器的输入;

s32、vae网络模型的编码器输出隐变量;

s32、通过高斯混合模型拟合出隐变量的分布;

s33、根据拟合的分布,从该分布中采样得到大量隐变量;

s34、将步骤s33获得的大量的隐变量输入vae网络模型的解码器,得到新样本数据。

步骤s32具体为:采用模拟采样技术从标准正态分布中采样辅助噪声变量ε,通过辅助噪声变量ε来得到隐变量z的分布。

所述编码器还包括输出标准正态分布的均值μ和方差σ2

步骤s33具体为:根据辅助噪声变量ε、标准正态分布的均值μ和方差σ2获得生成因子z*,计算式如下:

z*=σ2(ε-μ)。

步骤s33具体为:将生成因子z*输入解码器,解码得到新样本数据,将新样本数据作为扩充样本。

本发明的有益效果:本发明先利用无标签的数据去训练整个vae网络模型,对于某一类想要扩充样本的标签数据,将其输入到训练好的vae网络中,通过编码器得到一个二维的隐变量数据,再利用高斯混合模型得到此二维隐变量的具体分布;在已知隐变量分布的情况下,可以采样得到同分布的更多的隐变量数据,将这些隐变量数据输入到训练好的vae网络模型的解码器中,就可以得到大量的接近某一类标签数据的样本,以此达到一个实现扩充地震数据的目的。相比于利用人工手段扩充地震数据的技术,本发明的优点是通过深度学习的方法生成比较稳定、可靠的地震数据以实现快速的扩充,在一定程度上节省了人力物力。目前,这种数据生成方法在地质领域尚未应用,尤其是在以数据驱动方式为基础的地震数据扩充领域。

附图说明

图1为vae基本网络结构;

图2为aevb算法流程;

图3为vae模型基本训练流程;

图4为扩充地震数据算法流程图;

图5为正演得到的两类理论地震数据;

图6为扩充生成的两类理论地震数据;

图7为两类理论地震数据对应真实数据和生成数据主频比较;

图8为某地区的三类实际地震数据;

图9为扩充生成的某地区的三类实际地震数据;

图10为三类实际地震数据对应真实数据和生成数据主频比较。

具体实施方式

为便于本领域技术人员理解本发明的技术内容,下面结合附图1-10对本发明内容进一步阐释。

利用深度学习领域的深度生成模型生成地震数据是一种高度非线性、多模态的问题。

gan把所有的输出看作是在一个分布中,因此gan只能生成一种类别的输出(比如只能生成猫或狗的一种)。目前用gan来生成正演记录,从理论上来说,只知道生成的伪样本数据分布和真实数据是一样的,但是在真实数据数量不多的情况下,会导致模型的训练效果不好,也就是无法很好的生成某一类伪样本。继而对于其他类型的伪样本来说也是一样的情况。

而vae将每一个输出分类看作一个分布,这样就可以生成多种分类输出(比如既可以生成猫又可以生成狗等)。由于gan是用来生成和某一种数据类型一样的伪样本的,它无法很好的利用多种类型的数据样本。vae确恰好可以将这些不同类型的数据全部当做训练集来训练模型。

传统自动编码器由于隐藏层输出的向量混乱且未知导致其不能够自主地生成数据,基于此,2014年diederikp.kingma和maxwelling在传统自动编码器的隐含层中加入了隐变量z,然后通过这个隐变量来自动生成数据从而形成了变分自编码器(vae)。变分自编码器作为一种结合了深度学习和统计学习特点的生成模型,很好的利用了深度模型在应用于非线性拟合时候非常强大的能力。

vae是对自动编码器的一种拓展,其目标不再是提取原始样本的隐藏变量,而是生成全新的样本数据,因此目标输出不是编码器的输出而是解码器的输出,其基本结构如图1所示。合理损失函数是指导神经网络模拟成数据生成模型的关键,vae采取的是一种相对传统的思路,即损失函数由概率似然为核心来构建,生成的新样本满足训练集样本的概率分布是其构造损失函数的理论依据。

本发明在人工获取地震数据需要耗费大量人力物力的背景下,通过结合深度学习领域深度生成模型方面的方法(变分自编码器,vae),在某类地震数据样本不足的情况下生成大量有效、可靠的数据,从而实现了以数据驱动方式就可以扩充地震数据的目的。

本发明的实现原理为:

1、构建隐变量模型

当我们训练一个某类数据的生成模型时,该数据的不同维度之间的相关性越复杂,那么模型的训练难度系数就越大。根据手写数据集为例子,如果字符左边包含了数字8的左半部分,那么该字符的右边不可能是数字5的右半部分,否则这个字符看上去就不像真的数字了。

从理论上来说,如果模型首先决定生成哪个数字,我们就不用担心生成的数字左右不符了。我们将这种生成数据前做的事情称之为一个隐变量。从另一个角度说,在模型生成数字字符之前,它首先从集合{0,...,9}中随机选取一个数值z,然后确保生成的所有笔画都与该数字有关。之所以称z为隐变量,是因为对于该模型生成的某一个数字,我们无需知道它是由怎样的一组隐变量生成的。

为了使生成模型能够代表整个数据集,我们需要确保对于数据集中每一个数据点x,都有一组或者多组隐变量与之对立。通过概率密度函数p(z)在高维空间z上采样得到一组样本z,定义f(z;θ)为一组确定性函数,其中θ是向量参数,利用函数f(z;θ)将隐变量z映射到原始数据空间x,我们希望通过优化参数θ使f(z;θ)与数据库中的真实数据尽可能的相似。即最大化以下概率:

p(x)=∫pθ(x|z)p(z)dz(1)

其中,p(x)为生成某个真实数据x的概率,pθ(x|z)表示条件概率分布。这里用pθ(x|z)代替f(z;θ),这样做方便用全概率公式来明确地表示x在z上的依赖性。

最大似然是vae框架的真正的关键,即可认为如果模型有可能产生训练集样本,那就应该有能力产生与原始数据相似的样本,同时不可能产生与样本完全不相干的数据。在模型中输出的分布也可以是任意的分布,但是一般来说高斯分布式vae的首选输出分布。例如,p(x|z;θ)=n(x|f(z;θ),σ2*i),其均值为f(z;θ),协方差矩阵等于单位矩阵与协方差σ标量的乘积。在训练的早期阶段,模型是无法产生与特定的x相匹配的输出的。

引入一个高斯分布之后,可以利用梯度下降或者是其他的优化技术来用f(z;θ)逼近x的方式增加p(x),也就是使得在生成模型中训练数据更加相似。例如数据集是二值化类型的时候,输入z时,输出某个真实数据x的概率p(x|z)可能会是一个参数化的伯努利分布,这样其中p(x|z)是可以被计算的。

2、vae的变分推断

边缘相似性由孤立点的边缘似然之和构成,可以记为:

其中,xi表示数据集中的一个数据,pθ(z|xi)表示后验概率,l(θ,φ;xi)表示边缘似然函数的变分下限,表示边缘似然函数的对数。第一部分是真实后验的近似kl散度,是非负的。第二部分是数据点i边际可能性的变分下界,因此可记做:

其中,表示求变分分布qφ(z|x)的期望值,表示变分分布qφ(z|x)的对数似然函数,表示数据x和z的联合分布的对数似然函数。也可写成:

其中,表示变分分布qφ(z|x)的对数似然函数。

在对变分参数φ和生成参数θ的下界进行评估和优化的时候,通常采用的蒙特卡洛梯度来解决φ的下界梯度这种类型的问题。当第l次采样的隐变量zl~qφ(z|xi)时:如果用这个来估计梯度,将会失去意义。

引入随机梯度变分贝叶斯方法(sgvb)实现估计近似推理,从而得到自编码变分贝叶斯方法vae。最后结合变分下界的重参化形成一个下界评估器,能够有效地对非离散隐变量进行近似后验推理,同时直接使用随机梯度下降对算法优化。

本发明还提供另一种实用的关于下界及其导数的估计方法,即如图2所示的aevb算法。

假定公式qφ(x|z)的近似后验,引入变分贝叶斯方法,在一定条件下,对于所选择的近似后验使用一个辅助噪声变量ε~p(ε)的微分变换gφ(ε,x)来重参化随机变量从而可以得到蒙特卡洛估计函数:

其中,f(z)是关于z的一个确定性函数,εp(ε)表示辅助噪声变量ε分布的期望值,f(gφ(ε,xi))表示经过微分变换gφ(ε,x)之后重参化的确定性函数,l表示辅助噪声变量ε样本个数。

结合公式(3),可以得到一般的随机梯度变分贝叶斯估计(sgvb),即

其中,表示数据xi的原始变分下限l(θ,φ;xi)的近似,表示数据xi和z的联合分布的对数似然函数,z(i,l)表示对于数据xi来说第l次采样得到的隐变量,通过辅助噪声变量εl进行gφ(ε,x)微分变换,z(i,l)=gφ(ε(i,l),xi),εl~p(ε)。ε(i,l)表示对于数据xi来说第l次采样得到的辅助噪声变量。此时公式(3)中,只需要对重构误差进行采样分析,先验分布则与近似后验分布接近。从而可以得到sgvb估计的另外一种表达形式:

引入minbatch后可以构建得到关于整个数据集的边缘下界估计:

其中,x是一个包含n个数据的数据集,m是随机从x中抽取的采样点个数,表示数据集x原始变分下限l(θ,φ;x)的近似,表示数据xi的原始变分下限l(θ,φ;xi)的近似。在实际中只要minibatch的尺寸足够大的时候(例如2000)m可以设为1.引入minibatch之后的aevb算法流程见下图2。

在公式(7)中第一项作为一个正则化项的近似后验估计kl散度,第二项是负的重构误差项。选择函数gφ(.)的时候,它需要满足将一个数据点xi和一个随机噪声向量εl映射到一个近似后验样本,其中数据点xi满足:z(i,l)=gφ(εl,xi)且z(i,l)~qφ(z|xi),然后将z(i,l)输入到函数中,等同于在生成模型的数据点xi的概率密度上给定z(i,l)

如图3所示为vae训练过程,包括:

vae首先在理论上做了一个假设,即p(z|x)服从标准正态分布

p(z|x)~n(0,1)u=0,σ2=1

然后根据贝叶斯公式

p(z)=∫xp(x)p(z|x)=∫xp(x)n(0,1)=n(0,1)(9)

由上可知p(z)的概率分布也服从标准正态分布,在变分推断中需要完成的三个未知分布的建模剩下p(x|z),从形式上看这与前文所述判别式模型推断的条件概率分布p(y|x)相同,实际上类别y可以理解为样本变量x的最高抽象的隐藏变量,并且分布p(x|z)恰好表达出了由变量z还原为变量x的过程,这恰好就是自编码器中解码器执行的过程,同时p(z|x)分布的形式能够对应上自编码器的编码器部分的逻辑表达式,也适合作为变分推断中的概率分布q(z),因此vae以自编码器的结构为基础搭建出了能够表达变分推断数学逻辑的架构,vae模型的基本运作流程如图3所示。

vae编码器部分的目标是构造证据下界l中的-dkl(q(z)||p(z)),其中q(z)在vae的应用中被指定为与编码器有关的概率分布p(z|x)。编码器的输入是样本数据x,也就是样本数据的特征值,但是编码器的输出不再是维度被压缩后的主要特征值,而是有意的输出两个意义明确的值,标准正态分布p(z|x)的均值μ和方差σ2,目的在于结合p(z)服从标准正态分布的已知条件构造如下的l的kl散度

其中,j表示样本的编号,是方差,是均值的平方,公式(10)使用了蒙特卡洛模拟的技巧,使用离散的累加计算近似了p(z|x)的期望积分,如此便得到了l损失函数的第一项表达式。vae的编码器的输出并不像自编码器一样直接与解码器输入相连,因为vae关注的是样本的生成能力,因此解码器的输入应该是和隐藏变量同分布的不同样本,这里vae使用了一种技巧,利用模拟采样技术从标准正态分布中采样辅助噪声变量ε(通过辅助噪声变量ε来得到隐变量z的分布)与编码器输出的均值μ和方差σ2做如下运算获得生成因子z*

z*=σ2(ε-μ)(11)

生成因子z*保存了样本x的主要特征同时获得了生成新样本的能力。

综上可知,vae生成样本的概率分布并不是由样本对象决定的,而是人工设定一些适用度高的概率分布,例如上文经常例举的正态分布,然后通过调整这些分布的参数,使其与对象的真实分布相接近,以达到生成和真实样本类似的新样本,vae固定了生成样本的概率分布形式,在固定形式的框架下拟合出与真实样本概率分布近似的分布,这个理论和gan的生成理念是不一样的。

如图4所示为生成地震数据的实现流程,具体为:

在有很多无标签地震数据的情况下,我们想要生成大量的某一种类型的地震数据。通过前文可知vae将每一个输出分类看作一个分布,这样就可以生成多种分类输出(比如既可以生成猫又可以生成狗等)。

因此,其可以将这些不同类型的数据全部当做训练集来训练模型。也就是先利用无标签的数据去训练整个vae网络模型。对于某一类想要扩充样本的标签数据,我们将其输入到训练好的vae网络中,通过编码器得到一个二维的隐变量数据,再利用高斯混合模型得到此二维隐变量的具体分布。在已知隐变量分布的情况下,可以采样得到同分布的更多的隐变量数据。将这些隐变量数据输入到训练好的vae网络模型的解码器中,我们就可以得到大量的接近某一类标签数据的样本,以此达到一个实现扩充地震数据的目的。

为了充分的说明上述算法的可行性,在仿真过程中,我们先后利用理论地震数据和实际地震数据来进行验证。

我们采用的理论数据是利用正演得到的单反射地震数据和双反射地震数据,具体分别见图5(a)、图5(b)。由于两类数据分别对应两种二维隐变量数据分布,为了直观的验证vae网络模型编码器的效果,我们将这两类数据分别输入训练好的vae网络模型编码器得到两类隐变量数据。在此基础上,将这两类隐变量数据通过高斯混合模型之后采样扩充得到相对应的同分布新的隐变量数据。然后我们将两类新的隐变量数据输入到训练好的vae网络模型的解码器中,得到了两类相对应的输出数据,分别是单反射地震数据和双反射地震数据,具体见图6(a)、图6(b)。

为了进一步验证生成数据的正确性,我们分别对比了单反射地震数据对应的真实数据和生成数据的主频,以及双反射地震数据对应的真实数据和生成数据的主频。具体见图7(a)、图7(b)。从图中,可以明显的看到两类地震数据的真实数据和生成数据的主频基本上是吻合的,说明生成的理论地震数据是有效、可靠的。至此,我们能够证明本发明提出的基于变分自编码器(vae)的地震数据生成方法是有效的。

为进一步检验基于变分自编码器的地震数据生成方法的适用性,利用此方法来扩充某地区的三类实际地震数据,具体如图8(a)、8(b)、8(c)所示。它们分别通过训练好的vae网络模型的编码器之后得到对应的三类隐变量数据,将这三类隐变量数据通过高斯混合模型采样扩充后得到相对应的同分布新的隐变量数据。然后将新的隐变量通过训练好的vae网络模型的解码器,得到三类相对应的生成地震数据,如图9(a)、图9(b)、图9(c)所示。最后比较三类实际地震数据对应真实数据和生成数据的主频,如图10(a)、图10(b)、图(c)所示。从图中,可以明显的看到三类实际地震数据的真实数据和生成数据的主频基本上是吻合的,说明生成的实际地震数据是有效、可靠的。

通过图5-10,我们可以证明本发明的方法是应用到实际中去的,可以在某类地震数据样本不足的情况下扩充生成大量数据分布接近此类数据的可靠地震数据,在一定程度上实现了以数据驱动方式就可以扩充地震数据的目的。

tracenumber,time表示时间,normalizedsepectralamplitude表示归一化分离振幅,frequency(wavelengthsper1000samples)表示频率(每1000个样本的波长)

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。


技术特征:

1.一种基于变分自编码器的地震数据扩充方法,其特征在于,包括:

s1、将不同类型的无标签地震数据作为训练集,

s2、采用步骤s1的训练集对vae网络进行训练,得到训练好的vae网络模型;

s3、将待扩充样本的标签数据输入步骤s2训练好的vae网络模型,得到新的样本数据。

2.根据权利要求1所述的一种基于变分自编码器的地震数据扩充方法,其特征在于,步骤s3具体为:

s31、将待扩充样本的标签数据作为vae网络模型的编码器的输入;

s32、vae网络模型的编码器输出隐变量;

s32、通过高斯混合模型拟合出隐变量的分布;

s33、根据拟合的分布,从该分布中采样得到大量隐变量;

s34、将步骤s33获得的大量的隐变量输入vae网络模型的解码器,得到新样本数据。

3.根据权利要求2所述的一种基于变分自编码器的地震数据扩充方法,其特征在于,步骤s32具体为:采用模拟采样技术从标准正态分布中采样辅助噪声变量ε,通过辅助噪声变量ε来得到隐变量z的分布。

4.根据权利要求3所述的一种基于变分自编码器的地震数据扩充方法,其特征在于,所述编码器还包括输出标准正态分布的均值μ和方差σ2

5.根据权利要求4所述的一种基于变分自编码器的地震数据扩充方法,其特征在于,步骤s33具体为:根据辅助噪声变量ε、标准正态分布的均值μ和方差σ2获得生成因子z*,计算式如下:

z*=σ2(ε-μ)。

6.根据权利要求4所述的一种基于变分自编码器的地震数据扩充方法,其特征在于,步骤s33具体为:将生成因子z*输入解码器,解码得到新样本数据,将新样本数据作为扩充样本。

技术总结
本发明公开一种基于变分自编码器的地震数据扩充方法,应用于地球物理勘探解释技术及深度学习领域,为了解决现有的人工获取稳定、可靠的某类地震数据要花费大量的人力物力的问题,本发明先利用无标签的数据去训练整个VAE网络模型,对于某一类想要扩充样本的标签数据,将其输入到训练好的VAE网络中,通过编码器得到一个二维的隐变量数据,再利用高斯混合模型得到此二维隐变量的具体分布;在已知隐变量分布的情况下,可以采样得到同分布的更多的隐变量数据,将这些隐变量数据输入到训练好的VAE网络模型的解码器中,就可以得到大量的接近某一类标签数据的样本,以此达到一个实现扩充地震数据的目的。

技术研发人员:胡光岷;陈松;李坤鸿;蔡涵鹏
受保护的技术使用者:电子科技大学
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-25981.html

最新回复(0)