一种基于生成式对抗网络的函数拟合方法及装置与流程

文档序号:30344170发布日期:2022-06-08 08:45阅读:108来源:国知局
一种基于生成式对抗网络的函数拟合方法及装置与流程

1.本发明涉及函数拟合技术领域,更具体地说,涉及一种基于生成式对抗网络的函数拟合方法及装置。


背景技术:

2.函数拟合在数值计算中有着十分广泛的应用。如何近似地表示函数,是函数拟合涉及的基本问题。经典的函数拟合原理,理论分析严密,体系十分成熟。但许多拟合算法都有一些共同的缺点:计算量较大,适应性差,对模型和数据的要求比较高,依赖性强。


技术实现要素:

3.本发明提供了一种基于生成式对抗网络的函数拟合方法及装置,解决现有技术计算量较大,适应性差,对模型和数据的要求比较高,依赖性强的问题。
4.为解决上述问题,一方面,本发明提供一种基于生成式对抗网络的函数拟合方法,包括步骤s1-s7:s1、创建一随机函数以生成服从分布p
noisedata
的随机数据nx;s2、建立采样规则以得到服从真实数据整体分布p
realdata
的真实采样数据rx;s3、将所述真实采样数据rx输入判别器d,训练判别器d以得到参数集合d
θ
;s4、将所述随机数据nx输入生成器g,输出服从pg分布的生成器采样数据gx,并将生成器采样数据gx输入至判别器d;s5、判断判别器d输出的值p(d(x))与预设的概率值的差值是否大于预设的阈值;若是,执行步骤s6,若否,转至步骤s7;s6、由判别器d得到的生成器梯度反馈到生成器g,转至步骤s3;s7、通过生成器g生成的样本gx拟合服从真实数据整体分布p
realdata
的真实数据。
5.步骤s2中,采样规则是随机采样,采样的数据个数为m。
6.步骤s3包括步骤s31-s32:s31、通过判别器d衡量生成器g生成的数据分布pg与真实数据分布p
realdata
之间的距离,用以表示生成器g产生样本的真实程度并输出一个概率值;s32、在生成器训练过程中通过判别器d提供梯度信息:d=d(
ˆ
x,d
θ
),d∈[0,1]其中d
θ
表示判别器d的参数集。
[0007]
步骤s4包括步骤s41-s42:s41、定义生成器g为一个采样于随机变量n的随机值n为输入,具有参数集g
θ
的可微函数:g=g|
n~n(n,gθ)
其中,g
θ
是生成器的参数集合;s42、接收所输入的随机噪声,通过生成器g输出一组符合真实数据整体分布
p
realdata
的数据,其中,真实数据的采样r(x,y)服从真实数据整体分布p
realdata
,输入生成器g的随机噪声服从的分布p
noisedata
,随机噪声采样n(x,y)服从分布p
noisedata

[0008]
其中:分布p
noisedata
为均匀分布或者高斯分布。
[0009]
一方面,本发明提供一种基于生成式对抗网络的函数拟合装置,包括:创建模块,用于创建一随机函数以生成服从分布p
noisedata
的随机数据nx;建立模块,用于建立采样规则以得到服从真实数据整体分布p
realdata
的真实采样数据rx;判别器模块,用于将所述真实采样数据rx输入判别器d,训练判别器d以得到参数集合d
θ
;生成器模块,用于将所述随机数据nx输入生成器g,输出服从pg分布的生成器采样数据gx,并将生成器采样数据gx输入至判别器d;判断模块,用于判断判别器d输出的值p(d(x))与预设的概率值的差值是否大于预设的阈值;反馈模块,用于在判别器d输出的值p(d(x))与预设的概率值的差值大于预设的阈值时,由判别器d得到的生成器梯度反馈到生成器g;拟合模块,用于在判别器d输出的值p(d(x))与预设的概率值的差值不大于预设的阈值时,通过生成器g生成的样本gx拟合服从真实数据整体分布p
realdata
的真实数据。
[0010]
其中,采样规则是随机采样,采样的数据个数为m。
[0011]
所述判别器模块包括:衡量子模块,用于通过判别器d衡量生成器g生成的数据分布pg与真实数据分布p
realdata
之间的距离,用以表示生成器g产生样本的真实程度并输出一个概率值;提供子模块,用于在生成器训练过程中通过判别器d提供梯度信息:d=d(
ˆ
x,d
θ
),d∈[0,1]其中d
θ
表示判别器d的参数集。
[0012]
所述生成器模块包括:定义子模块,用于定义生成器g为一个采样于随机变量n的随机值n为输入,具有参数集g
θ
的可微函数:g=g|
n~n(n,gθ)
其中,g
θ
是生成器的参数集合;执行子模块,用于接收所输入的随机噪声,通过生成器g输出一组符合真实数据整体分布p
realdata
的数据,其中,真实数据的采样r(x,y)服从真实数据整体分布p
realdata
,输入生成器g的随机噪声服从的分布p
noisedata
,随机噪声采样n(x,y)服从分布p
noisedata
,分布p
noisedata
为均匀分布或者高斯分布。
[0013]
一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行以上所述的一种基于生成式对抗网络的函数拟合方法。
[0014]
本发明的有益效果是:扩展性好,计算量小。
附图说明
[0015]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]
图1是本发明一实施例提供的一种基于生成式对抗网络的函数拟合方法的流程图;图2是本发明一实施例提供的判别器模型框架示意图;图3是本发明一实施例提供的生成器模型框架示意图;图4是本发明另一实施例提供的一种基于生成式对抗网络的函数拟合方法的流程图。
具体实施方式
[0017]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0019]
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
[0020]
参见图1,图1是本发明一实施例提供的一种基于生成式对抗网络的函数拟合方法的流程图。该基于生成式对抗网络的函数拟合方法,包括步骤s1-s7:s1、创建一随机函数以生成服从分布p
noisedata
的随机数据nx。
[0021]
本实施例中,创建一随机函数,用于生成服从分布p
noisedata
的随机数据nx,即nx~p
noisedata

[0022]
s2、建立采样规则以得到服从真实数据整体分布p
realdata
的真实采样数据rx;采样规则是随机采样,采样的数据个数为m。
[0023]
本实施例中,建立采样规则,得到服从分布p
realdata
的真实采样数据rx,即rx~p
realdata
,采样规则一般是随机采样,采样的数据个数为m。
[0024]
s3、将所述真实采样数据rx输入判别器d,训练判别器d以得到参数集合d
θ
;步骤s3包括步骤s31-s32:s31、通过判别器d衡量生成器g生成的数据分布pg与真实数据分布p
realdata
之间的距离,用以表示生成器g产生样本的真实程度并输出一个概率值。
[0025]
本实施例中,参见图2-图3,图2是本发明一实施例提供的判别器模型框架示意图,图3是本发明一实施例提供的生成器模型框架示意图,判别器可以衡量生成器生成的数据分布分布pg与真实数据分布p
realdata
之间的距离,用以表示生成器产生样本的真实程度并输出一个概率值。其中,conv为向量卷积运算;relu为线性整流函数(linear rectification function),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数;fc是指函数的意思,是用户自己编写的程序块;sigmoid函数是一个在生物学中常见的s型函数,也称为s型生长曲线;linear是指函数线性化。
[0026]
s32、在生成器训练过程中通过判别器d提供梯度信息:d=d(
ˆ
x,d
θ
),d∈[0,1]其中d
θ
表示判别器d的参数集。
[0027]
本实施例中,rx输入判别器d,训练判别器得到参数集合d
θ
。在生成器训练过程中为其提供梯度信息,其表达式如下:d=d(
ˆ
x,d
θ
),d∈[0,1],其中d
θ
表示判别器d的参数集。判别器的目的在于将输入的样本空间映射到0~1的概率空间,判别器接收一个样本
ˆ
x作为输入,
ˆ
x可能采样于真实分布,即服从于分布p
realdata
的真实数据,或者采样于pg的生成数据。判别器最终输出一个实数,其值越接近1,代表输入样本
ˆ
x真实程度越高,也即代表
ˆ
x采样于真实数据空间的可能性。优化判别器的过程可以认为是优化概率p
x~prealdata(x=
ˆ
x|dθ)

[0028]
s4、将所述随机数据nx输入生成器g,输出服从pg分布的生成器采样数据gx,并将生成器采样数据gx输入至判别器d;步骤s4包括步骤s41-s42:s41、定义生成器g为一个采样于随机变量n的随机值n为输入,具有参数集g
θ
的可微函数:g=g|
n~n(n,gθ)
其中,g
θ
是生成器的参数集合。
[0029]
本实施例中,为了通过生成器模型的学习使得生成的数据满足分布pg,使得pg尽可能近似于分布p
realdata
,生成器模型g被定义为一个采样于随机变量n的随机值n为输入,具有参数集g
θ
的可微函数:g=g|
n~n(n,gθ)
,g
θ
是生成器模型的参数集合。
[0030]
s42、接收所输入的随机噪声,通过生成器g输出一组符合真实数据整体分布p
realdata
的数据,其中,真实数据的采样r(x,y)服从真实数据整体分布p
realdata
,输入生成器g的随机噪声服从的分布p
noisedata
,随机噪声采样n(x,y)服从分布p
noisedata
。分布p
noisedata
为均匀分布或者高斯分布。
[0031]
本实施例中,nx输入生成器g,输出服从pg分布的生成器采样数据gx,gx输入至判别器d。即输入一组随机噪声,输出一组符合真实数据总体分布的数据。即,若真实数据整体分布记为:p
realdata
,则真实数据的采样r(x,y)服从p
realdata
,输入生成器模型g的随机噪声服
从的分布记为:p
noisedata
,则随机噪声采样n(x,y)服从p
noisedata
(通常情况下该分布是高维度的均匀分布或者高斯分布)。
[0032]
s5、判断判别器d输出的值p(d(x))与预设的概率值的差值是否大于预设的阈值;若是,执行步骤s6,若否,转至步骤s7。
[0033]
本实施例中,概率值优选为0.5。
[0034]
s6、由判别器d得到的生成器梯度反馈到生成器g,转至步骤s3。
[0035]
本实施例中,若判别器输出的值p(d(x))与0.5的差值大于设定的阈值,由判别器d得到的生成器梯度反馈到生成器g,重复步骤s3-s4。
[0036]
s7、通过生成器g生成的样本gx拟合服从真实数据整体分布p
realdata
的真实数据。
[0037]
综上,基于生成式对抗网络的拟合方法,根据拟合误差要求建立相应的生成器模型g、判别器模型d,真实数据训练判别器模型d,判别器模型d优化生成器模型g,最终使得生成器模型g在给定一组随机噪声情况下,输出一组符合真实数据总体分布的数据,输出的数据用于拟合真实数据,该方法扩展性好,计算量小。
[0038]
本发明还提供一种基于生成式对抗网络的函数拟合装置,包括:创建模块,用于创建一随机函数以生成服从分布p
noisedata
的随机数据nx;建立模块,用于建立采样规则以得到服从真实数据整体分布p
realdata
的真实采样数据rx;判别器模块,用于将所述真实采样数据rx输入判别器d,训练判别器d以得到参数集合d
θ
;生成器模块,用于将所述随机数据nx输入生成器g,输出服从pg分布的生成器采样数据gx,并将生成器采样数据gx输入至判别器d;判断模块,用于判断判别器d输出的值p(d(x))与预设的概率值的差值是否大于预设的阈值;反馈模块,用于在判别器d输出的值p(d(x))与预设的概率值的差值大于预设的阈值时,由判别器d得到的生成器梯度反馈到生成器g;拟合模块,用于在判别器d输出的值p(d(x))与预设的概率值的差值不大于预设的阈值时,通过生成器g生成的样本gx拟合服从真实数据整体分布p
realdata
的真实数据。
[0039]
其中,采样规则是随机采样,采样的数据个数为m。
[0040]
所述判别器模块包括:衡量子模块,用于通过判别器d衡量生成器g生成的数据分布pg与真实数据分布p
realdata
之间的距离,用以表示生成器g产生样本的真实程度并输出一个概率值;提供子模块,用于在生成器训练过程中通过判别器d提供梯度信息:d=d(
ˆ
x,d
θ
),d∈[0,1]其中d
θ
表示判别器d的参数集。
[0041]
所述生成器模块包括:定义子模块,用于定义生成器g为一个采样于随机变量n的随机值n为输入,具有参数集g
θ
的可微函数:g=g|
n~n(n,gθ)
其中,g
θ
是生成器的参数集合;
执行子模块,用于接收所输入的随机噪声,通过生成器g输出一组符合真实数据整体分布p
realdata
的数据,其中,真实数据的采样r(x,y)服从真实数据整体分布p
realdata
,输入生成器g的随机噪声服从的分布p
noisedata
,随机噪声采样n(x,y)服从分布p
noisedata
,分布p
noisedata
为均匀分布或者高斯分布。
[0042]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种基于生成式对抗网络的函数拟合方法中的步骤。
[0043]
其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0044]
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种基于生成式对抗网络的函数拟合方法中的步骤,因此,可以实现本发明实施例所提供的任一种基于生成式对抗网络的函数拟合方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0045]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1