CN110717582A - 使用鉴别器神经网络从生成器神经网络采样 - Google Patents
使用鉴别器神经网络从生成器神经网络采样 Download PDFInfo
- Publication number
- CN110717582A CN110717582A CN201910925886.3A CN201910925886A CN110717582A CN 110717582 A CN110717582 A CN 110717582A CN 201910925886 A CN201910925886 A CN 201910925886A CN 110717582 A CN110717582 A CN 110717582A
- Authority
- CN
- China
- Prior art keywords
- score
- acceptance
- neural network
- new data
- data sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 112
- 238000005070 sampling Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000003278 mimic effect Effects 0.000 claims abstract description 15
- 239000000523 sample Substances 0.000 claims description 82
- 238000012549 training Methods 0.000 claims description 37
- 238000009826 distribution Methods 0.000 claims description 20
- 239000013068 control sample Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 abstract description 15
- 238000001914 filtration Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Machine Translation (AREA)
Abstract
方法,系统和装置,包括编码在计算机存储介质上的计算机程序,用于响应于针对数据样本的请求而提供数据样本。在一个方面,一种方法包括:接收针对新数据样本的请求;以及直到生成满足接受标准的候选的新数据样本为止,执行以下操作,包括:使用生成器神经网络生成候选的新数据样本;使用鉴别器神经网络处理候选的新数据样本以生成模仿分数;以及根据模仿分数,确定候选的新数据样本是否满足接受标准;以及响应于接收的请求,提供满足接受标准的候选的新数据样本。
Description
技术领域
本说明书涉及使用机器学习模型处理数据。
背景技术
机器学习模型接收输入,并且基于接收的输入生成输出,例如,预测输出。一些机器学习模型是参数模型,并且基于接收的输入和模型参数的值生成输出。
一些机器学习模型是深度模型,其采用多层模型来为接收的输入生成输出。例如,深度神经网络是一种深度机器学习模型,包括输出层和一个或多个隐藏层,每个隐藏层将非线性转换(transformation)应用于接收的输入以生成输出。
发明内容
本说明书描述了一种实施为生成数据样本(例如,图像、音频片段或文本片段)的一个或多个位置上的一个或多个计算机上的计算机程序的系统。
根据第一方面,提供了一种由一个或多个数据处理装置执行的方法,所述方法包括:接收对新数据样本的请求。直到生成满足接受标准的候选的新数据样本为止,所述方法包括使用生成器神经网络生成候选的新数据样本。使用鉴别器神经网络处理候选的新数据样本以生成模仿分数。鉴别器神经网络已被训练为生成数据样本的模仿分数,所述模仿分数表征数据样本是(i)从给定数据样本的训练集合中抽取还是(ii)由生成器神经网络生成的可能性。根据模仿分数,确定候选的新数据样本是否满足接受标准。响应于接收的请求,提供满足接受标准的候选的新数据样本。
在一些实施方式中,生成器神经网络生成的候选的新数据样本是图像。
在一些实施方式中,根据模仿分数确定候选的新样本是否满足接受标准包括:根据模仿分数确定接受分数;通过从数值范围上的概率分布采样来获得控制样本;以及如果接受分数具有高于控制样本的值,则确定候选的新数据样本满足接受标准。
在一些实施方式中,根据模仿分数确定接受分数包括:通过将边界变量的当前值确定为(i)边界变量的先前值和(ii)模仿分数中的最大值来更新边界变量的值;以及根据模仿分数和更新的边界变量来确定接受分数。
在一些实施方式中,根据模仿分数和更新的边界变量来确定接受分数包括:将接受分数确定为σ(a),其中,σ(·)为S(sigmoid)形函数,其中,a定义为:a∶=D-DM-log(1-exp(D-DM)),其中,D是模仿分数,其中,DM是边界变量的当前值。
在一些实施方式中,根据模仿分数和更新的边界变量来确定接受分数包括:将接受分数确定为σ(a-γ),其中,σ(·)为S形函数,其中,γ为数值,其中,a定义为:a∶=D-DM-log(1-exp(D-DM-∈)),其中,D是模仿分数,其中,DM是边界变量的当前值,并且其中,∈是为数值稳定性所添加的常数。
在一些实施方式中,所述方法还包括将数值γ确定为先前确定的接受分数的预定百分比。
在一些实施方式中,通过从数值范围上的概率分布采样来获得控制样本包括:通过从范围[0,1]上的均匀概率分布采样来获得控制样本。
在一些实施方式中,鉴别器神经网络已使用逻辑损失函数进行了训练。
在一些实施方式中,使用S形函数处理模仿分数定义从给定数据样本的训练集合中抽取数据样本的概率。
根据第二方面,提供了一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行第一方面的方法的操作。
根据第三方面,提供了存储指令的一个或多个计算机存储介质,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行第一方面的方法的操作。
可以实施本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。
生成器神经网络可以学习生成新数据样本(例如,图像),这些新数据样本共享与“真实”数据样本训练集合相似的特性,这是由于与鉴别器神经网络一起进行训练的结果。(当在本文档中使用时,“数据样本”可以指代数字数据的任何适当元素,例如,图像、文本片段或音频片段)。鉴别器神经网络被训练为区分由生成器神经网络生成的数据样本和真实数据样本,并且生成器神经网络训练为生成鉴别器神经网络将其表征为可能是真实数据样本的数据样本。在训练过程中,生成器神经网络在生成与真实数据样本具有相似特性的数据样本方面变得越来越好,并且鉴别器神经网络不断适应识别真实数据样本与由生成器神经网络生成的数据样本之间的差异。
在一些传统系统中,在训练结束时,生成器神经网络被部署(即,以生成新数据样本),并且鉴别器神经网络被丢弃(即,不再相关)。也就是说,鉴别器神经网络仅用于促进生成器神经网络的训练,并且在训练后不使用。本说明书中描述的系统在训练结束时使用鉴别器神经网络权重中保留的信息来过滤由生成器神经网络生成的数据样本,即,仅“接受”由生成器神经网络生成的特定数据样本,并且“拒绝”其余部分。由数据生成系统提供的接受的数据样本可以具有与由生成器神经网络生成的数据样本的完整集合相比总体上与真实数据样本的训练集合更加一致的特性。例如,数据生成系统更可能过滤具有与真实图像的训练集合不一致的视觉特征的图像,例如,模糊或另外地具有低视觉质量的图像,或描绘不真实对象的图像。因此,与一些传统系统相比,本说明书中描述的数据生成系统可以生成具有更高质量的数据样本(即,更紧密地遵循真实数据样本的真实分布)。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得明显。
附图说明
图1示出示例数据生成系统。
图2提供了定性说明了可以通过使用数据生成系统来实现的性能增益的示例。
图3是用于响应于针对数据样本的请求而提供数据样本的示例处理的流程图。
在各个附图中,相同的附图标记和标记表示相同的元件。
具体实施方式
本说明书描述了一种数据生成系统,用于使用已经与鉴别器神经网络联合地训练的生成器神经网络来生成新数据样本。在训练期间,对鉴别器神经网络进行训练以处理数据样本,以区分由生成器神经网络生成的数据样本和来自数据样本训练集合的“实际”数据样本。生成器神经网络与鉴别器神经网络一起训练,以生成数据样本,鉴别器神经网络将其表征为可能是真实数据样本。数据生成系统在训练结束时使用鉴别器神经网络权重中保留的信息来过滤由生成器神经网络生成的数据样本,即仅“接受”由生成器神经网络生成的特定数据样本,并且“拒绝”其余部分。这些特征和其他特征将在下面更详细地描述。
图1示出示例数据生成系统100。数据生成系统100是被实施在一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,其中,实施下面描述的系统、组件和技术。
数据生成系统100被配置为响应于对于数据样本的请求(例如,来自系统100的用户)来提供数据样本102。系统100的用户可以例如使用由系统使得可用的应用编程接口(API)将针对数据样本的请求发送到系统100。数据生成系统100包括生成器神经网络104、鉴别器神经网络106、训练引擎108和过滤引擎110,下面将更详细地对其中的每个进行描述。
生成器神经网络104被配置为生成数据样本,例如,图像、文本片段或音频片段。通常,生成器神经网络104可以具有使其能够生成数据样本112的任何适当的神经网络架构,并且系统100可以使用生成器神经网络104以各种方式中的任意方式来生成数据样本。在一个示例中,为了生成新数据样本112,系统100可以从潜在变量的空间上的预定义概率分布中采样潜在变量,并且将采样的潜在变量提供给生成器神经网络104。然后,生成器神经网络104可以使用神经网络层集合来处理采样的潜在变量以生成相对应的数据采样。在该示例中,潜在变量的空间可以是例如实数集,并且在潜在空间上的预定义概率分布可以是例如正态(0,1)概率分布。在另一示例中,为了生成新数据样本112,生成器神经网络104可以在可能的数据样本的空间上生成概率分布,并且根据该概率分布对新数据样本进行采样。
在一些实施方式中,生成器神经网络104可以被配置为处理“调节(conditioning)”输入,该“调节”输入指定要生成的新数据样本的一个或多个期望特性。例如,调节输入可以指定对象类型(例如,车辆、房屋或自行车),该对象类型应该由生成器神经网络生成的图像来描绘。作为另一示例,调节输入可以指定应当根据由生成器神经网络生成的图像以指定的方式修改的初始图像,例如,生成的图像可以通过使其看起来仿佛初始图像是在晴天拍摄的来改变初始图像的外观。作为另一示例,条件输入可以指定:(i)文本的一部分,和(ii)说话者身份,并且生成数据样本可以是音频数据输出,该音频数据输出以指定说话者的语音对文本进行口头表达。
鉴别器神经网络106被配置为处理数据样本以生成“模仿”分数,该“模仿”分数表征从真实数据样本(的训练集合中抽取数据样本即,与由生成器神经网络104生成的相反)的估计可能性。例如,将适当的函数(例如,S形函数(sigmoid function))应用于模仿分数可以产生提供输入数据样本是真实数据样本的概率的概率值(即,在[0,1]范围内)。
在系统100被用于响应于针对数据样本的请求而提供数据样本102之前,训练引擎108联合训练生成器神经网络104和鉴别器神经网络106。具体地,训练引擎108训练鉴别器神经网络106以生成模仿分数,以在以下两者之间进行区分:(i)来自真实数据样本的训练集合的数据样本,和(ii)由生成器神经网络104生成的数据样本(例如,使用逻辑损失函数)。联合地(in tandem),训练引擎108训练生成器神经网络104生成数据样本,该数据样本在由鉴别器神经网络进行处理时,产生模仿分数,该模仿分数指示从真实数据样本的训练集合中抽取数据样本的高可能性。训练引擎108可以在以下两者之间交替:基于使用鉴别器神经网络参数的当前值生成的模仿分数训练生成器神经网络104,和基于使用生成器神经网络参数的当前值生成的数据样本训练鉴别器神经网络。参考I.Goodfellow,J.Pouget-Abadie,M.Mirza,et al.:“Generative Adversarial Nets”,Advances in NeuralInformation Processing Systems(NeurIPS),2014描述了用于联合训练生成器神经网络104和鉴别器神经网络的示例方法。
可选地,在联合训练生成器神经网络104和鉴别器神经网络106之后,训练引擎108可以冻结生成器神经网络104的参数值并且随后继续训练鉴别器神经网络106(即,对于一个或多个附加训练迭代)。例如,训练引擎108可以继续训练鉴别器神经网络106,直到对真实数据样本和使用生成器神经网络104的冻结参数值生成的数据样本的验证集的集合评估的性能达到最大值为止。通常,验证集中的数据样本仅用于评估鉴别器神经网络106的性能,而鉴别器神经网络106不在验证集中的数据样本上训练。对鉴别器神经网络106执行附加训练使其能够完全适应生成器神经网络的最终训练参数值,并且有助于其随后用于过滤由生成器神经网络104生成的数据样本,这将在下面更详细地描述。
在训练了生成器神经网络104和鉴别器神经网络106之后,系统100使用过滤引擎110来过滤由生成器神经网络104生成的数据样本112,并且响应于对数据样本的请求而提供“接受的”数据样本102。具体地,响应于接收到针对数据样本的请求,系统100使用生成器神经网络104来生成数据样本112,并且使用鉴别器神经网络106来处理数据样本112以生成相对应的模仿分数114。过滤引擎110将数据样本112的“接受”概率(即,在[0,1]范围内)确定为模仿分数114的函数,并且基于接受概率来概率性地确定应该接受(即,响应于请求提供)还是拒绝(例如,丢弃)数据样本112。具体地,过滤引擎110可以采用其接受概率提供的概率确定数据样本112应该被接受。例如,过滤引擎110可以从范围[0,1]上的均匀概率分布中采样“控制”值,并且此后确定仅当接受概率高于控制值时才应该接受数据采样。
可选地,过滤引擎110可以执行确定性过滤,而不是概率性地过滤由生成器神经网络生成的数据样本(即,使用接受概率)。例如,仅当数据样本的模仿分数满足预定阈值(例如,指示数据样本是真实的足够高的可能性)时,过滤引擎110才可以确定应当响应于请求而提供数据样本。例如,通过过度表示真实数据样本的真实分布的高概率模式和未充分表示真实数据的真实分布的低概率尾部,以这种方式执行确定性过滤可以减少由系统100提供的样本的多样性。另一方面,例如,如果生成的数据样本是正在广播直播的音频数据样本,则执行确定性过滤在特定情况下可能是有利的,例如,在生成不切实际的数据样本具有负面影响的情况下。在这些情况下,生成数据样本的多样性可能不如保证其真实性重要。
过滤引擎110可以以各种方式中的任意方式将数据样本112的接受概率确定为模仿分数114的函数。通常,过滤引擎110可以将指示数据样本真实的较高可能性的模仿分数映射到较高接受概率。在一个示例中,过滤引擎110可以将接受概率p确定为:
p=σ(D-DM-log(1-exp(D-DM))) (1)
其中,σ是S形函数,D是模仿分数,DM是“边界变量”,下面将对其进行详细描述。作为另一示例,过滤引擎110可以将接受概率p确定为:
p=σ(D-DM-log(1-exp(D-DM-∈))-γ) (2)
其中,σ是S形函数,D是模仿分数,DM是边界变量,∈是为数值稳定性所添加的常数,以及γ是调制总体接受概率的超参数。通常,增加γ的值具有增加所有数据样本的接受概率的效果,而减小γ的值具有减小所有数据样本的接受概率的效果。
等式(1)和(2)中引用的边界变量DM可以是在可能的数据样本的空间上(例如,在可能的图像的空间上)的模仿分数的最大值的估计。系统100可以在训练生成器神经网络104和鉴别器神经网络之后确定边界变量的值。例如,系统100可以使用生成器神经网络来生成一组(population)数据样本,使用鉴别器神经网络为每个数据样本生成相应的模仿分数,以及然后将边界变量确定为该组上的模仿分数中的最大值。每当系统100为新数据样本生成新的模仿分数时,例如,如果新的模仿分数具有高于边界变量的值,则系统100可以确定是否应将边界变量的值更新为新的模仿分数。
系统100还可以使用由生成器神经网络生成的一组数据样本来确定在等式(2)中引用的超参数γ的值。例如,系统100可以将γ的值确定为针对该组数据样本确定的接受概率(即,在将γ的值设置为零时确定接受概率的情况)的百分比(例如,90%、95%或98%)。以这种方式确定超参数γ可以减小系统100生成太低以至于无法使用的接受概率(例如,导致数据样本的过多部分被拒绝的接受概率,从而降低了效率)的可能性。
响应于过滤引擎110确定应当接受数据样本112,系统100可以响应于针对数据样本的请求而提供数据样本112,例如通过API。在用户请求多个数据样本的情况下,过滤引擎110可以继续生成新数据样本并且基于接受概率对它们进行过滤,直到已经响应于请求提供了期望数量的数据样本为止。由系统100提供的数据样本可以在多种应用中的任意应用中使用。
图2示出可以通过使用本说明书中描述的数据生成系统来实现的性能增益的示例。在此示例中,通过从布置在网格中的25个各向同性的二维(2-D)正态分布(每个标准偏差为0.05)中采样来生成真实数据样本202。GAN样本204由已经与鉴别器神经网络一起训练的生成器神经网络生成。数据生成系统样本206由本说明书中描述的数据生成系统生成,即,使用鉴别器神经网络对数据样本进行概率性过滤。可以理解,数据生成系统样本206比GAN样本204更有效地捕获了真实样本202的分布。仅为了方便,参考低维合成数据示出图2;更一般地,本说明书中描述的数据生成系统可以用于生成高维数据样本,例如,表示文本、图像或音频的数据样本。
图3是用于响应于对数据样本的请求而提供数据样本的示例处理300的流程图。为了方便,将处理300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的图1的数据生成系统100可以执行处理300。
系统接收对新数据样本的请求(302)。系统可以例如通过系统使得可用的API从用户接收请求。
系统执行步骤304-308,直到生成满足接受标准的候选的新数据样本为止。
系统使用生成器神经网络生成候选的新数据样本(304)。数据样本可以是例如图像、文本片段或音频片段。
系统使用鉴别器神经网络处理候选的新数据样本以生成模仿分数,该模仿分数表征该数据样本是(i)从真实数据样本的训练集合中抽取还是(ii)由生成器神经网络(306)生成的可能性。使用激活函数(例如,S形函数)处理模仿分数可以定义从真实数据样本的训练集合中抽取数据样本的概率。鉴别器神经网络可能已经被训练,例如使用逻辑损失函数。
系统使用模仿分数确定候选的新数据样本是否满足接受标准(308)。例如,系统可以从模仿分数(例如,使用等式(1)或(2))确定接受分数(概率),并且通过从数值范围(例如,范围[0,1])上的概率分布(例如,均匀分布)采样来获得控制样本。如果接受分数具有比控制样本更高的值,则系统然后可以确定候选的新数据样本满足接受标准。作为根据模仿分数确定接受分数的一部分,系统可以通过将边界变量的当前值确定为(i)边界变量的先前值和(ii)模仿分数中的最大值来更新边界变量的值。
响应于确定候选的新数据样本不满足接受标准,系统返回到步骤304。响应于确定候选的新数据样本满足接受标准,系统响应于请求提供候选的新数据样本(310)。
本说明书与系统和计算机程序组件相关联地使用术语“被配置”。对于将被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使系统执行操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使该设备执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实施,包括本说明书中公开的结构及其等同结构,或它们的一个或多个的组合。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们的一个或多个的组合。替选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置,用于由数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置还可以是专用逻辑电路或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
可以以任何形式的编程语言(包括编译或解释语言,或者声明性或程序性语言)编写计算机程序,也可以将其称为或描述为程序、软件、软件应用程序、应用(app)、模块、软件模块、脚本或代码;并且该计算机程序可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元进行部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、专用于所讨论程序的单个文件中或多个协调文件中,例如,存储一个或多个模块、子程序或部分代码的文件。可以将计算机程序部署为在一个计算机或位于一个站点上或分布在多个站点上并且通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛地用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或处理。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装并且运行多个引擎。
本说明书中描述的处理和逻辑流可以由执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能的一个或多个可编程计算机来执行。处理和逻辑流还可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或者两者,或者可以是任何其他种类的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘,磁光盘或光盘),或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘,磁光盘或光盘)接收数据或将数据传送到用于存储数据的一个或多个大容量存储设备(例如,磁盘,磁光盘或光盘)。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,可以在具有下述的计算机上实施本说明书中描述的主题的实施例:显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,以用于向用户显示信息;以及键盘和指示设备,例如,鼠标或轨迹球,用户可以通过其向计算机提供输入。其他种类的设备也可以用于提供与用户的交互,例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网络浏览器接收的请求,将网页发送到用户设备上的网络浏览器。此外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用并且转而从用户接收响应消息的智能电话)来与用户交互。
用于实施机器学习模型的数据处理设备还可以包括例如专用硬件加速器单元,用于处理机器学习训练或产生(即推理)工作负载的公共部分和计算密集型部分。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署机器学习模型。
本说明书中描述的主题的实施例可以下述计算机系统中实现,其包括:后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如具有图形用户界面、网络浏览器或应用的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个此类后端、中间件、或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器例如向用户设备发送数据,例如HTML页面,以用于向与充当客户端的与设备交互的用户显示数据并且从其接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
尽管本说明书包含许多特定的实现细节,但是这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的特定特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实施。此外,尽管以上可能将特征描述为以特定组合形式起作用,甚至最初是这样要求保护的,但是在某些情况下,可以从组合中排除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,尽管以特定顺序在附图中描绘了操作并在权利要求中对其进行了叙述,但是这不应理解为要求以所示的特定顺序或以顺序执行这些操作,或者执行所有图示的操作来取得理想的结果。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品或系统中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (20)
1.一种由一个或多个数据处理装置执行的方法,所述方法包括:
接收针对新数据样本的请求;
直到生成满足接受标准的候选的新数据样本为止,执行下述操作,包括:
使用生成器神经网络生成候选的新数据样本;
使用鉴别器神经网络处理候选的新数据样本以生成模仿分数,
其中,鉴别器神经网络已经被训练为生成数据样本的模仿分数,所述模仿分数表征数据样本是(i)从给定数据样本的训练集合中抽取还是(ii)由生成器神经网络生成的可能性;以及
根据模仿分数确定候选的新数据样本是否满足接受标准;以及响应于接收的请求,提供满足接受标准的候选的新数据样本。
2.根据权利要求1所述的方法,其中,由生成器神经网络生成的候选的新数据样本是图像。
3.根据权利要求1所述的方法,其中,根据模仿分数确定候选的新样本是否满足接受标准包括:
根据模仿分数确定接受分数;
通过从数值范围上的概率分布采样来获得控制样本;以及
如果接受分数具有高于控制样本的值,则确定候选的新数据样本满足接受标准。
4.根据权利要求3所述的方法,其中,根据模仿分数确定接受分数包括:
通过将边界变量的当前值确定为(i)边界变量的先前值和(ii)模仿分数中的最大值来更新边界变量的值;以及
根据模仿分数和更新的边界变量确定接受分数。
5.根据权利要求4所述的方法,其中,根据模仿分数和更新的边界变量确定接受分数包括:
将接受分数确定为σ(a),其中,σ(·)是S形函数,其中,a定义为:
a∶=D-DM-log(1-exp(D-DM)),
其中,D是模仿分数,并且其中,DM是边界变量的当前值。
6.根据权利要求4所述的方法,其中,根据模仿分数和更新的边界变量来确定接受分数包括:
将接受分数确定为σ(a-γ),其中,σ(·)是S形函数,其中,γ是数值,其中,a定义为:
a∶=D-DM-log(1-exp(D-DM-∈)),
其中,D是模仿分数,其中,DM是边界变量的当前值,并且其中,∈是为数值稳定性所添加的常数。
7.根据权利要求6所述的方法,还包括:
将数值γ确定为先前确定的接受分数的预定百分比。
8.根据权利要求3所述的方法,其中,通过从数值范围上的概率分布采样来获得控制样本包括:
通过从范围[0,1]上的均匀概率分布采样来获得控制样本。
9.根据权利要求1所述的方法,其中,鉴别器神经网络已经使用逻辑损失函数进行了训练。
10.根据权利要求1所述的方法,其中,使用S形函数处理模仿分数定义从给定数据样本的训练集合中抽取数据样本的概率。
11.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行下述操作,包括:
接收针对新数据样本的请求;
直到生成满足接受标准的候选的新数据样本为止,执行下述操作,包括:
使用生成器神经网络生成候选的新数据样本;
使用鉴别器神经网络处理候选的新数据样本以生成模仿分数,
其中,鉴别器神经网络已经被训练为生成数据样本的模仿分数,所述模仿分数表征数据样本是(i)从给定数据样本的训练集合中抽取还是(ii)由生成器神经网络生成的可能性;以及
根据模仿分数确定候选的新数据样本是否满足接受标准;以及响应于接收的请求,提供满足接受标准的候选的新数据样本。
12.根据权利要求11所述的系统,其中,由生成器神经网络生成的候选的新数据样本是图像。
13.根据权利要求11所述的系统,其中,根据模仿分数确定候选的新样本是否满足接受标准包括:
根据模仿分数确定接受分数;
通过从数值范围上的概率分布采样来获得控制样本;以及
如果接受分数具有高于控制样本的值,则确定候选的新数据样本满足接受标准。
14.根据权利要求13所述的系统,其中,根据模仿分数确定接受分数包括:
通过将边界变量的当前值确定为(i)边界变量的先前值和(ii)模仿分数中的最大值来更新边界变量的值;以及
根据模仿分数和更新的边界变量确定接受分数。
15.根据权利要求14所述的系统,其中,根据模仿分数和更新的边界变量确定接受分数包括:
将接受分数确定为σ(a),其中,σ(·)是S形函数,其中,a定义为:
a∶=D-DM-log(1-exp(D-DM)),
其中,D是模仿分数,并且其中,DM是边界变量的当前值。
16.一个或多个非临时性计算机存储介质,存储指令,当所述指令在由一个或多个计算机执行时使一个或多个计算机执行下述操作,包括:
接收针对新数据样本的请求;
直到生成满足接受标准的候选的新数据样本为止,执行下述操作,包括:
使用生成器神经网络生成候选的新数据样本;
使用鉴别器神经网络处理候选的新数据样本以生成模仿分数,
其中,鉴别器神经网络已经被训练为生成数据样本的模仿分数,所述模仿分数表征数据样本是(i)从给定数据样本的训练集合中抽取还是(ii)由生成器神经网络生成的可能性;以及
根据模仿分数确定候选的新数据样本是否满足接受标准;以及响应于接收的请求,提供满足接受标准的候选的新数据样本。
17.根据权利要求16所述的非临时性计算机存储介质,其中,由生成器神经网络生成的候选的新数据样本是图像。
18.根据权利要求16所述的非临时性计算机存储介质,其中,根据模仿分数确定候选的新样本是否满足接受标准包括:
根据模仿分数确定接受分数;
通过从数值范围上的概率分布采样来获得控制样本;以及
如果接受分数具有高于控制样本的值,则确定候选的新数据样本满足接受标准。
19.根据权利要求18所述的非临时性计算机存储介质,其中,根据模仿分数确定接受分数包括:
通过将边界变量的当前值确定为(i)边界变量的先前值和(ii)模仿分数中的最大值来更新边界变量的值;以及
根据模仿分数和更新的边界变量确定接受分数。
20.根据权利要求19所述的非临时性计算机存储介质,其中,根据模仿分数和更新的边界变量确定接受分数包括:
将接受分数确定为σ(a),其中,σ(·)是S形函数,其中,a定义为:
a∶=D-DM-log(1-exp(D-DM)),
其中,D是模仿分数,并且其中,DM是边界变量的当前值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862737860P | 2018-09-27 | 2018-09-27 | |
US62/737,860 | 2018-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110717582A true CN110717582A (zh) | 2020-01-21 |
CN110717582B CN110717582B (zh) | 2024-01-12 |
Family
ID=69212010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910925886.3A Active CN110717582B (zh) | 2018-09-27 | 2019-09-27 | 使用鉴别器神经网络从生成器神经网络采样 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11514313B2 (zh) |
CN (1) | CN110717582B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339749A (zh) * | 2020-03-02 | 2020-06-26 | 乐山师范学院 | 无条件文本生成方法、文本生成装置及存储介质 |
US20210319090A1 (en) * | 2021-06-23 | 2021-10-14 | Intel Corporation | Authenticator-integrated generative adversarial network (gan) for secure deepfake generation |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514313B2 (en) * | 2018-09-27 | 2022-11-29 | Google Llc | Sampling from a generator neural network using a discriminator neural network |
US12118473B2 (en) * | 2018-12-03 | 2024-10-15 | Clover Health | Statistically-representative sample data generation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114278A1 (en) * | 2003-08-29 | 2005-05-26 | Mahesh Saptharishi | System and methods for incrementally augmenting a classifier |
CN102179375A (zh) * | 2011-03-09 | 2011-09-14 | 中国科学院合肥物质科学研究院 | 一种基于近红外作物单籽粒成分无损检测筛选方法 |
US20140279773A1 (en) * | 2013-03-13 | 2014-09-18 | Google Inc. | Scoring Concept Terms Using a Deep Network |
US9129190B1 (en) * | 2013-12-04 | 2015-09-08 | Google Inc. | Identifying objects in images |
CN106504238A (zh) * | 2016-10-31 | 2017-03-15 | 成都交大光芒科技股份有限公司 | 基于图像处理和卷积神经网络的铁路接触网缺陷检测方法 |
CN107122826A (zh) * | 2017-05-08 | 2017-09-01 | 京东方科技集团股份有限公司 | 用于卷积神经网络的处理方法和系统、和存储介质 |
US20180075581A1 (en) * | 2016-09-15 | 2018-03-15 | Twitter, Inc. | Super resolution using a generative adversarial network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5532122A (en) * | 1993-10-12 | 1996-07-02 | Biotraces, Inc. | Quantitation of gamma and x-ray emitting isotopes |
US7206938B2 (en) * | 2002-09-24 | 2007-04-17 | Imagic Software, Inc. | Key sequence rhythm recognition system and method |
US9730643B2 (en) * | 2013-10-17 | 2017-08-15 | Siemens Healthcare Gmbh | Method and system for anatomical object detection using marginal space deep neural networks |
GB201718756D0 (en) * | 2017-11-13 | 2017-12-27 | Cambridge Bio-Augmentation Systems Ltd | Neural interface |
WO2018022752A1 (en) * | 2016-07-27 | 2018-02-01 | James R. Glidewell Dental Ceramics, Inc. | Dental cad automation using deep learning |
US10713794B1 (en) * | 2017-03-16 | 2020-07-14 | Facebook, Inc. | Method and system for using machine-learning for object instance segmentation |
CN107633218B (zh) * | 2017-09-08 | 2021-06-08 | 百度在线网络技术(北京)有限公司 | 用于生成图像的方法和装置 |
CN107491771A (zh) * | 2017-09-21 | 2017-12-19 | 百度在线网络技术(北京)有限公司 | 人脸检测方法和装置 |
CN107704857B (zh) * | 2017-09-25 | 2020-07-24 | 北京邮电大学 | 一种端到端的轻量级车牌识别方法及装置 |
US10764486B2 (en) * | 2018-01-11 | 2020-09-01 | Qualcomm Incorporated | Multi-camera autofocus synchronization |
US10621760B2 (en) * | 2018-06-15 | 2020-04-14 | Adobe Inc. | Synthesizing new font glyphs from partial observations |
US11151334B2 (en) * | 2018-09-26 | 2021-10-19 | Huawei Technologies Co., Ltd. | Systems and methods for multilingual text generation field |
US11514313B2 (en) * | 2018-09-27 | 2022-11-29 | Google Llc | Sampling from a generator neural network using a discriminator neural network |
-
2019
- 2019-09-24 US US16/580,649 patent/US11514313B2/en active Active
- 2019-09-27 CN CN201910925886.3A patent/CN110717582B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114278A1 (en) * | 2003-08-29 | 2005-05-26 | Mahesh Saptharishi | System and methods for incrementally augmenting a classifier |
CN102179375A (zh) * | 2011-03-09 | 2011-09-14 | 中国科学院合肥物质科学研究院 | 一种基于近红外作物单籽粒成分无损检测筛选方法 |
US20140279773A1 (en) * | 2013-03-13 | 2014-09-18 | Google Inc. | Scoring Concept Terms Using a Deep Network |
US9129190B1 (en) * | 2013-12-04 | 2015-09-08 | Google Inc. | Identifying objects in images |
US20180075581A1 (en) * | 2016-09-15 | 2018-03-15 | Twitter, Inc. | Super resolution using a generative adversarial network |
CN106504238A (zh) * | 2016-10-31 | 2017-03-15 | 成都交大光芒科技股份有限公司 | 基于图像处理和卷积神经网络的铁路接触网缺陷检测方法 |
CN107122826A (zh) * | 2017-05-08 | 2017-09-01 | 京东方科技集团股份有限公司 | 用于卷积神经网络的处理方法和系统、和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339749A (zh) * | 2020-03-02 | 2020-06-26 | 乐山师范学院 | 无条件文本生成方法、文本生成装置及存储介质 |
CN111339749B (zh) * | 2020-03-02 | 2022-05-20 | 乐山师范学院 | 无条件文本生成方法、文本生成装置及存储介质 |
US20210319090A1 (en) * | 2021-06-23 | 2021-10-14 | Intel Corporation | Authenticator-integrated generative adversarial network (gan) for secure deepfake generation |
US12248556B2 (en) * | 2021-06-23 | 2025-03-11 | Intel Corporation | Authenticator-integrated generative adversarial network (GAN) for secure deepfake generation |
Also Published As
Publication number | Publication date |
---|---|
US20200104707A1 (en) | 2020-04-02 |
CN110717582B (zh) | 2024-01-12 |
US11514313B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3732628B1 (en) | Learning data augmentation policies | |
EP3718057B1 (en) | Neural architecture search using a performance prediction neural network | |
CN111602148B (zh) | 正则化神经网络架构搜索 | |
US20230281445A1 (en) | Population based training of neural networks | |
US20210103823A1 (en) | Training neural networks using a variational information bottleneck | |
US20240394540A1 (en) | Neural networks for scalable continual learning in domains with sequentially learned tasks | |
CN110717582B (zh) | 使用鉴别器神经网络从生成器神经网络采样 | |
EP3568811A1 (en) | Training machine learning models | |
JP7483751B2 (ja) | 教師なしデータ拡張を使用した機械学習モデルのトレーニング | |
US11314987B2 (en) | Domain adaptation using simulation to simulation transfer | |
US10824946B2 (en) | Training neural networks using posterior sharpening | |
US20220101624A1 (en) | Neural network training using the soft nearest neighbor loss | |
US20240152809A1 (en) | Efficient machine learning model architecture selection | |
EP3619654B1 (en) | Continuous parametrizations of neural network layer weights |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |