Fork me on GitHub

GAN

GAN

Abstract

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

Introduction

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

在提出的对抗网框架中,生成模型与对手相竞争:一种判别模型,它学会判断样本是来自模型分布还是数据分布。生成模型可以被认为类似于一组伪造者,他们试图制造假币并在不被发现的情况下使用它,而区别模型则类似于警察,试图发现假币。在这个游戏中的竞争促使两队改进他们的方法,直到仿冒品从真品中消失。

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

related work

直到最近,大多数关于深层生成模型的工作都集中在提供了概率分布函数参数说明的模型上。然后通过最大化log似然值来训练模型。在这个系列的模型中,也许最成功的是深度玻尔兹曼机[25]。此类模型通常具有难以处理的似然函数,因此需要对似然梯度进行多次近似。这些困难推动了“生成机器”的发展——模型不能明确地表示可能性,但能够从期望的分布中生成样本。生成随机网络[4]是生成机器的一个例子,它可以通过精确的反向传播进行训练,而不是像玻尔兹曼机那样需要大量的近似。通过消除生成随机网络中使用的马尔可夫链,扩展了生成机器的思想。

我们的工作通过生成过程通过观察来反向传播导数:

当时我们都不知道我们开发了这个工作,Kingma和Welling [18]和Rezende
等开发了更一般的随机反向传播规则,允许一个反向传播通过有限方差的高斯分布,并反向传播协方差参数和平均值。这些反向传播规则可以帮助我们了解生成器的条件方差,我们将其作为超参数处理。Kingma和Welling[18]和Rezende等人使用随机反向传播训练变分自编码器(VAEs)。与生成对抗网络一样,变分自编码器将一个可区分的生成器网络与另一个神经网络配对。与生成式对抗网络不同,VAE中的第二个网络是一个执行近似推理的识别模型。GANs要求通过可见单元进行区分,因此不能对离散数据进行建模,而VAEs要求通过隐藏单元进行区分,因此不能有离散的潜在变量。其他类似VAE的方法也存在[12,22],但与我们的方法关系不大。

以前的工作也采取了使用判别准则来训练生成模型的方法[29,13]。这些方法使用的标准对于深层生成模型来说是棘手的。这些方法甚至很难对深度模型进行近似,因为它们涉及到概率的比率,而这些比率不能使用概率下界的变分近似来近似。噪声对比估计(NCE)[13]涉及到通过学习使该模型对从固定噪声分布中识别数据有用的权值来训练生成模型。使用之前训练过的模型作为噪声分布,可以训练一系列提高质量的模型。这可以看作是一种非正式的竞争机制,在精神上类似于对抗性网络游戏中使用的正式竞争。NCE的关键限制在于它的“鉴别器”是由噪声分布和模型分布的概率密度之比来定义的,因此需要能够对这两种密度进行评估和反向传播。

以前的一些工作使用了两个神经网络竞争的通用概念。最相关的工作是可预测性最小化[26]。在可预测性最小化中,神经网络中的每个隐藏单元都被训练成不同于第二个网络的输出,第二个网络根据所有其他隐藏单元的值来预测隐藏单元的值。这项工作与可预测性最小化有三个重要的区别:1)在这项工作中,网络之间的竞争是唯一的训练标准,它本身就足以训练网络。可预测性最小化只是一个正则化器,它鼓励神经网络的隐藏单元在完成其他任务时在统计上是独立的;这不是一个主要的训练标准。2)竞争的性质不同。在可预测性最小化中,比较两个网络的输出,一个网络试图使输出相似,另一个网络试图使输出不同。所讨论的输出是单个标量。在GANs中,一个网络生成一个丰富的高维向量作为另一个网络的输入,并尝试选择另一个网络不知道如何处理的输入。3)学习过程的规范不同。可预测性最小化被描述为一个目标函数最小化的优化问题,学习接近目标函数的最小值。GANs是基于一个极小极大的游戏,而不是一个优化问题,并且有一个价值函数,一个代理寻求最大化,另一个寻求最小化。游戏在一个鞍点结束,这个鞍点相对于一个玩家的策略是最小的,相对于另一个玩家的策略是最大的。

生成式对抗性网络有时与相关概念“对抗样本”[28]相混淆。对抗样本是指直接在分类网络的输入上使用基于梯度的优化找到的样本,以便找到与错误分类的数据相似的样本。这与目前的工作不同,因为对抗样本不是训练生成模型的机制。相反,对抗样本主要是一种分析工具,用来显示神经网络以有趣的方式运行,经常信心十足地对两幅图像进行不同的分类,尽管它们之间的差异是人类观察者察觉不到的。这种对抗样本的存在确实表明,生成对抗网络训练可能是低效的,因为它们表明,有可能使现代辨别性网络自信地识别一个类,而不模仿该类的任何人类可感知的属性。

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):

在下一节中,我们提出一个理论分析对抗网络,基本上表明训练标准允许恢复数据生成分布G和D有足够的容量。在非参数极限下。请参见图1,其中对该方法进行了不太正式的、更具教育性的解释。在实践中,我们必须使用迭代的数值方法来实现游戏。在训练的内部循环中进行优化直至完成在计算上是不可能的,并且在有限的数据集上可能会导致过拟合。相反,我们在优化D的k个步骤和优化G的一个步骤之间交替进行。这导致D保持在其最优解附近,只要G变化足够慢。该过程在算法1中正式给出。

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

Theoretical Results

生成器G隐式地定义了一个概率分布pg,即z∼pz时得到的样本G(z)的分布。因此,我们希望算法1收敛到一个好的pdata估计,如果有足够的能力和训练时间。本节的结果是在非参数的情况下得到的,例如我们通过研究概率密度函数空间的收敛性来表示一个具有无限容量的模型。

我们将在第4.1节中展示这个极大极小游戏对于pg=pdata有一个全局最优。我们将在4.2节中展示算法1对Eq1进行了优化,从而得到了我们想要的结果。

图1:生成对抗网通过同时更新判别分布(D,蓝色,虚线)进行训练,使得生成式分布(黑色,虚线)px中的样本与生成式分布pg(G)(绿色,实线)中的样本进行判别。下面的水平线是采样z的区域,在这种情况下是一致的。上面的水平线是x域的一部分。向上的箭头表示映射x=G(z)如何将非均匀分布pg施加到变换后的样本上。(a)考虑一个接近收敛的对抗性对:pg类似于pdata,D是一个部分准确的分类器。(b)在算法的内部循环中,训练D从数据中识别样本,最后汇聚到D(x) =pdata(x)/(pdata(x)+pg(x))。(c)在G更新之后,D的梯度引导G(z)流向更可能被归类为数据的区域。(d)经过几个步骤的训练,如果G和d有足够的能力,它们将达到某一点,由于pg=pdata,两者都无法改善。鉴别器无法区分这两个分布,即D(x) = 1/2

Global Optimality of pg = pdata

我们首先考虑任意给定生成器g的最优鉴别器D。

命题1 对于固定的G,最优鉴别器D是

证明。鉴别器D的训练准则,对于任意发生器G,是使V (G, D)的数量最大化

对于任意(a,b)∈R,函数y = a log(y) + blog(1−y)在[0,1]最大值位于a/(a+b),鉴别器不需要在Supp(pdata) ∪ Supp(pg)外部定义

注意,训练目标为D可以解释为最大化对数似估计条件概率P (Y=Y|x),Y表示是否x来自哪里pdata(Y=1)或从pg(Y=0)。等式1中的极大极小的游戏现在可以新表示为:

定理1 当且仅当pg=pdata时,得到虚拟训练准则C(G)的全局最小值。此时,C(G)的值为-log4。

Convergence of Algorithm 1

命题2
如果G和D有足够的容量,在算法1的每一步,鉴别器可以达到给定G的最优值,并更新pg以改进判据

然后pg收敛到pdata

实际上,通过函数G(z;θg),我们优化θg而不是pg本身,因此,证据并不适用。然而,多层感知器在实践中的优异性能表明,尽管多层感知器缺乏理论保证,但它是一个合理的模型。

表1:基于Parzen窗口的日志可能性估计。MNIST上报告的数字是测试集上的样本的平均对数似然值,其中的标准误差是通过实例计算得到的。在TFD,我们计算数据集的标准误差在折叠,用不同的σ选择使用验证组每一个折叠。TFD,σ是交叉验证每个折叠和平均对数似在每个折计算。对于MNIST,我们将其与实值(而非二进制)数据集版本的其他模型进行比较。

Experiments

我们训练了一系列的数据集,包括MNIST[21]、多伦多的脸数据库(TFD)[27]和CIFAR-10[19]。生成网络使用Relu激活[17,8]和sigmoid激活的混合,而鉴别器网使用maxout[9]激活。应用dropout[16]训练鉴别器网络。虽然我们的理论框架允许在生成器的中间层使用dropout和其他噪声,但我们只使用噪声作为生成器网络最底层的输入。

我们通过对G生成的样本拟合高斯Parzen窗口,并报告该分布下的对数似然,来估计pg下测试集数据的概率。高斯分布的参数σ是通过交叉验证的验证集。这个过程介绍了Breuleux等。[7],用于各种生成模型的精确的可能性是不容易处理的(24、3、4)。结果见表1。这种估计可能性的方法有一些高的方差,在高维空间中表现不好,但它是我们所知道的最好的方法。生成模型的进展,可以采样但不能估计可能性直接激励进一步研究如何评估这些模型。在图2和图3中,我们展示了训练后从生成器网络中抽取的样本。虽然我们不能断言这些样本比现有方法生成的样本更好,但我们认为这些样本至少与文献中更好的生成模型具有竞争力,并突出了对抗性框架的潜力。

Advantages and disadvantages

与以前的建模框架相比,这个新框架有优点也有缺点。缺点主要是没有显式表示的pg(x)和D必须同步与G在训练(特别是G不能训练太多没有更新,为了避免“Helvetica场景”,即G崩溃太多相同的z值x的值有足够的多样性模型pdata),负链的玻耳兹曼机之间必须保持最新的学习步骤。它的优点是不需要使用马尔科夫链,只使用backprop来获得梯度,在学习过程中不需要推理,可以将多种函数合并到模型中。表2总结了生成式对抗网与其他生成式建模方法的比较。

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

Conclusions and future work

这个框架允许许多简单的扩展:

  1. 将c作为G和D的输入,可以得到条件生成模型p(x | c)。

  2. 学习近似推理可以由培训辅助网络预测z给x。这类似于和生物钟的推理网络训练算法[15]但推理网络的优势可能在生成器网络训练完成后被训练为一个固定的生成器网络。

3.通过训练一系列共享参数的条件模型,可以近似地对所有条件p(xS|x6)进行建模,其中S是x指标的子集。本质上,我们可以使用对抗网来实现确定性MP-DBM[10]的随机扩展。

  1. 半监督学习:来自鉴别器或推理网络的特征可以在有限的标记数据可用时提高分类器的性能。

  2. 效率改进:通过设计更好的方法来协调G和D,或者在训练期间确定更好的z样本分布,可以大大加速训练。

本文证明了对抗性建模框架的可行性,表明这些研究方向是有用的。

-------------本文结束感谢您的阅读-------------
显示 Gitment 评论