Generative Adversarial Nets

Paper:Generative Adversarial Nets(Ian J. Goodfellow et.al)

Abstract:

我们提出一个新的框架,评估生成模型通过一个对抗的过程中,我们同时训练两个模型:一个生成模型G,一个识别模型D估计样本来自于训练数据而不是G的概率。G 的训练过程是D犯错的概率最大化。该框架对应于一个极大极小二人游戏。在任意函数G和D的空间中,存在唯一解,G恢复训练数据分布并且D处处等于1/2。当G和D由多层感知器定义时,整个系统可以通过反向传播进行训练。在样本的训练和生成过程中,不需要任何马尔可夫链或展开的近似推理网络。

Introduction:

到目前为止,深度学习中引人注目的成功主要是基于反向传播和 dropout algorithms。

使用分段线性单元,它们具有特别良好的梯度。深度生成模型的影响较小,这是由于:最大似然估计和相关策略中出现的许多概率计算难以近似,以及难以在生成上下文中利用分段线性单元的优点。

我们提出了一种新的生成模型估计方法来克服这些困难。

提出的对抗性网络框架:生成模型是与一个识别模型对抗的,它学习的是确定样本是来自模型分布还是来自数据分布。生成模型可以被认为类似于一组伪造者,试图在不被发现的情况下制造并使用伪造货币,而判别模型则类似于警察,试图发现伪造货币。在这个游戏中,竞争促使两队改进他们的方法,直到假冒伪劣商品无法从正品中鉴别出来。

为多种模型和优化算法生成特定的训练算法。本文探讨生成模型通过多层感知机随机噪声产生样本的特殊情况,判别模型也是多层感知机。我们把这种特殊情况称为对抗性网络。在这种情况下,我们可以只使用非常成功的反向传播和 dropout algorithms来训练这两个模型,也可以只使用正向传播从生成模型中提取样本。不需要近似推理或马尔可夫链。

Related work:

具有潜在变量的有向图形模型的替代方案是具有潜在变量的无向图形模型,如受限玻尔兹曼机器(restricted Boltzmann machines, RBMs)[27,16]、deep Boltzmann机器(deep Boltzmann machines, DBMs)及其众多变体。这个量(配分函数)和它的梯度是很难处理的,除了最简单的例子,虽然他们可以估计马尔科夫链蒙特卡罗(MCMC)方法。

深度置信网络(Deep belief networks, DBNs)是一种包含单一无向层和若干有向层的混合模型。虽然存在快速的近似分层训练准则,但DBNs在无向模型和有向模型中都存在计算困难的问题。

也提出了不近似或限制对数似然的替代标准,如分数匹配和噪声对比估计(NCE)。这两种方法都要求将学习到的概率密度解析地指定为一个归一化常数。请注意,在许多具有若干层潜在变量(如DBNs和DBMs)的有趣生成模型中,甚至不可能获得易于处理的非规范化概率密度。一些模型,如去噪自动编码器和收缩式自动编码器的学习规则非常类似于分数匹配应用于RBMs。与本研究一样,NCE采用判别训练准则来拟合生成模型。然而,生成模型本身并没有拟合一个单独的判别模型,而是用于从固定噪声分布的样本中判别生成的数据。由于NCE使用固定的噪声分布,在模型在一小部分观察变量上学习了近似正确的分布之后,学习速度会显著减慢。

最后,有些技术不需要明确地定义概率分布,而是训练生成机器从期望的分布中抽取样本。这种方法的优点是,这种机器可以通过反向传播进行训练。最近在这一领域的突出工作包括生成随机网络(GSN)框架,它扩展了广义去噪自编码器:两者都可以看作是定义了一个参数化的马尔可夫链,即,学习执行生成马尔可夫链的一步的机器的参数。与GSNs相比,对抗性网络框架不需要马尔可夫链进行抽样。由于对抗性网络在生成过程中不需要反馈环,因此能够更好地利用分段线性单元,这提高了反向传播的性能,但在反馈回路中使用时存在无界激活的问题。最近通过反向传播来训练生成机器的例子包括自动编码变分贝叶斯和随机反向传播。

Adversarial nets:

当两个模型都是多层感知器时,对抗性建模框架最容易应用。为了定义生成器在数据x上的pg分布,我们定义了先验的输入噪声变量pz (z),然后用 G(z;θ g )表示数据空间的映射 ,G是一个可微函数由一个多层感知器参数θg表示,我们还定义一个多层感知器D(x,θD)输出一个标量。D(x)表示x来自数据而不是pg的概率。我们训练D使训练样本和G样本的正确标签的概率最大化我们同时训练G使log(1-D(G(z))最小化:

换句话说,D和G用值函数V (G,D)进行如下二人极小极大博弈:

min max V (D,G) = E x∼p data (x) [logD(x)] + E z∼p z (z) [log(1 − D(G(z)))].                                                   (1)
  G    D

在下一节中,我们将对对抗性网络进行理论分析,从本质上表明,当G和D有足够的容量时,训练准则允许恢复数据生成分布,例如在非参数极限下。请参见图1,以获得对该方法不太正式的、更具教育性的解释。在实践中,我们必须使用迭代的数值方法来实现游戏。优化D去完成训练的内部循环计算上是非常困难的,在有限的数据集上会导致过拟合。相反,我们在优化D的k个步骤和优化G的一个步骤之间交替。只要G的变化足够缓慢,D保持在其最优解附近。这一策略类似于SML/PCD,训练从一个学习步骤到下一个学习步骤维护来自马尔可夫链的样本,以避免在学习的内部循环中烧毁马尔可夫链。该过程在算法1中正式给出。

图1.生成对抗网络是通过同时更新判别分布(D,蓝色,虚线)来训练的,使其区别于来自生成分布pg(G)(绿色,实线)的生成分布数据(黑色,虚线)px样本。下一条水平线是z采样的区域,在这种情况下是均匀采样的。上面的水平线是x的定义域的一部分。向上的箭头表示映射x = G(z)如何对转换后的样本施加非均匀分布的pg。G在高密度区域收缩,在低密度区域膨胀。(a)考虑一个接近收敛的对抗性对:pg与data相似,D是部分准确的分类器。(b)在算法的内循环中,训练D从数据中识别样本,收敛到D*(x) = p data (x)/(pdata (x)+pg(x))。(c)更新到G之后,D的梯度引导G(z)流向更可能被归类为数据的区域。(d)经过几个步骤的训练,如果G和d有足够的能力,就会达到pg = pdata无法改善的地步。鉴别器无法区分这两个分布,即D(x) = 1/2.

在实际应用中,公式1可能无法提供足够的梯度让G学好。在学习的早期,当G较差时,D可以很有信心的拒绝样本,因为它们与训练数据明显不同。在这种情况下,log(1-D(G(z)))饱和。与其训练G最小化log(1-D(G(z))我们还不如训练G最大化logD(G(z))这个目标函数使得G和D的动力学具有相同的不动点,但是在学习的早期提供了更强的梯度。

Theoretical Results:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值