GAN:Generative Adversarial Nets

1406.2661v1

摘要

我们提出一个新的框架通过一个对抗的过程来估计生成模型,**我们同时训练两个模型:生成模型G捕获数据分布,和一个判别模型D估计一个样本来自训练数据的概率,而不是G。G的训练过程是最大限度地提高D犯错误的概率。**这个框架对应于一个极大极小双人游戏。**在任意函数G和D的空间中,存在一个唯一解,G恢复训练数据分布,D处处为1/2 。**在G和D由多层感知器定义的情况下,整个系统可以通过反向传播进行训练。在训练或生成过程中不需要任何马尔可夫链或展开近似推理网络。实验通过对生成的样本进行定性和定量评价,证明了该框架的潜力。

导言

深度学习的前景是发现丰富的、层次的模型[2],这些模型代表了人工智能应用中遇到的各种数据的概率分布,如自然图像、包含语音的音频波形和自然语言语料库中的符号。到目前为止,在深度学习方面最显著的成功都涉及到鉴别模型,通常是那些将高维、丰富的感官输入映射到类标签[14,22]的模型。这些惊人的成功主要是基于反向传播和dropout算法,使用分段线性单位[19,9,10],它有一个特别表现良好的梯度。深度生成模型的影响较小,因为在最大似然估计和相关策略中难以逼近许多棘手的概率计算,以及由于在生成上下文中难以利用分段线性单元的好处。我们提出了一种新的生成模型估计程序,以避开这些困难。

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

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

Adversarial nets

当模型都是多层感知器时,对抗性建模框架最直接应用。为了学习生成器在数据x上的分布$p_g$,我们定义了输入噪声变量$p_z(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)$的双人极大极小游戏:

image.png

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

在实践中,方程1可能不能为G提供足够的学习梯度。在学习早期,当G较差时,D可以高可信度地拒绝样本,因为它们与训练数据明显不同。在这种情况下,$log(1−D(G(z)))$饱和。我们可以训练G最小化$log (1−D(G(z))$,而不是训练G最小化$logD(G(z))$。这个目标函数导致G和D动态的相同不动点,但在学习早期提供了更强的梯度。

优缺点

与以前的建模框架相比,这个新的框架都有优缺点。

缺点主要是没有明确的表示$p_g (x)$,而D必须同步与G在训练(特别是G不能训练太多没有更新D,为了避免“海尔维蒂卡场景”G崩溃太多的值z相同的值x有足够的多样性模型pdata),就像玻尔兹曼机器的负链必须保持更新之间的学习步骤。其优点是从来不需要马尔可夫链,只使用反向支撑来获得梯度,在学习过程中不需要推理,并且在模型中可以包含各种各样的函数。

上述优点主要是计算性的对抗性模型也可以获得一些统计优势,因为发电机网络没有直接更新的数据示例,而只有梯度流过鉴别器。这意味着输入的组件不会直接复制到生成器的参数中。对抗性网络的另一个优点是,它们可以表示非常尖锐的,甚至是退化的分布,而基于马尔可夫链的方法要求分布有些模糊,以便链能够在模式之间混合。

Last updated