Generative Adversarial Nets
Abstract
我们提出一种新的通过对抗过程来预估生成模型的框架,其中我们同时训练两个模型:捕获数据分布的生成模型G和估计样本来自训练数据而不是生成模型G的概率的判别模型D。G的训练过程是最大化D产生错误的概率。这个框架对应于极小的双玩家游戏。在任意函数G和D的空间中,存在唯一的解,其中G恢复训练数据分布,并且D处处等于1/2。在通过多层感知机定义G和D的情况下,整个系统可以用反向传播训练。在训练或生成样本期间不需要任何马尔科夫链或展开的近似推理网络。实验通过对生成样本进行定性和定量的评价来证明框架的潜力。
1 Introduction
深度学习的过程可以发现丰富的层次模型[2],这些模型可以表示各种人工智能应用中遇到的各样数据概率分布,例如自然图片,包含语音的音频波形和自然语言语料库中的符号。到目前为止,深度学习中最引人注目的成功包括判别模型,通常这些判别模型将高维、有感知的输入映射到类标签[14, 20]。这些惊人的成功主要是基于反向传播、随机失活算法(dropout algorithms)、使用分段线性单元[17, 8, 9] 这些都有特别良好的梯度。深度生成模型具有较小的影响,由于在最大似然估计和相关策略中出现很多许多棘手的概率近似计算的困难,并且在生成的上下文中很难利用分段线性单元的优势。我们提出了一种可以回避这些困难的生成模型估计过程。
在这个提出的对抗网络框架中,生成模型与对手相对:一个判别模型,这个模型可以判断一个样本来自于模型分布还是数据分布。生成模型被认为类似一组伪造者,试图产生假币,并且在没有检测的情况下使用它,而判别模型类似于警察,试图去检测假币。在这个游戏中的竞争驱使两个团队改进他们的方法,直到这些冒牌的产品与真正的产品不能区分。
这个框架可以产生针对多种模型和优化算法的特定训练算法。在本文中,我们探讨了生成模型通过使随机噪声通过多层感知机来生成样本的特殊情况,并且判别模型也是多层感知机。我们将这种特殊情况称为对抗网。在这种情况下,我们可以仅使用出色的反向传播算法和随机失活算法[16] 来训练两个模型,并且仅使用前向传播从生成模型中生成样本。不再需要近似推断或者马尔科夫链。
2 Relate work
知道最近,大多数关于深度生成模型的工作集中于提供一个概率分布函数的参数规范的模型。然后通过最大化对数似然来训练模型。在这个模型系列中,也许最成功的是深度玻尔兹曼机[25]。这些模型通常有难以处理的似然函数,因此需要对似然函数梯度的大量近似。这些困难推动了“生成机”的发展,这些模型没有明确地表示似然,而是能够从期望的分布生成样本。生成随机网络[4]是一个生成机的例子,它可以通过精确的反向传播训练,而不是玻尔兹曼机所需的大量近似。这项工作通过消除在生成随机网络中使用的马尔科夫链来扩展生成机的想法。
我们的工作通过生成过程使用观察来反向传播梯度
我们没有意识到当时我们开发了正向工作,Kingma和Welling[18] 和Rezende等[23] 已经开发了 一般的随机梯度反向传播规则,允许通过有限方差的高斯分布反向传播,并反向传播到协方差参数及均值。这些反向传播规则可以允许我们学习生成器的条件方差,我们在这项工作中视为超参数。Kingma和Welling[18] 和 Rezende等人 [23]使用随机反向传播来训练变分自动编码器(VAEs)。像生成对抗网络,变分自动编码器将可区分的生成器网络与第二个神经网络配对。与生成对抗网络不通,VAE中第二个网络是执行近似推断的识别模型。GANs要求通过可见单元进行区分,因此不能对离散数据进行建模,而VAEs要求通过隐藏单元进行区分,因此不能具有离散的隐变量。其他的VAE样的方法存在[12,22],但与我们的方法不太密切相关。
以前的工作也采取了使用判别标准来训练生成模型的方法[29,13]。这些方法的这些标准对于深度生成模型非常难以处理。这些方法甚至对于深度模型的近似都非常困难,因为他们设计概率的比率,这些概率不能使用概率下限的变分近似来近似。噪声对比估计(NCE)[13]涉及通过学习权重来训练模型,这使得模型可用于固定噪声分布中区分数据。使用先前训练的模型作为噪声分布允许训练增加质量的模型序列。这可以被看做一种非正式的竞争机制,其精神类似于对抗网络游戏中使用的正式竞争。NCE的关键限制是其“判别器”由噪声分布和模型分布的概率密度的比率来定义,因此需要通过两个密度来评估和方向传播能力。
一些以前的工作已经使用两个具有两个神经网络竞争的一般概念。最相关的工作是可预测性最小化[26]。在预测性最小化中,神经网络中的每个隐藏单元被训练为不同于第二网络的输出,其给出所有其他隐藏单元的值来预测该隐藏单元的值。该项工作与可预见性最小化在三个重要方面不同:1)在这项工作中,网络之间的竞争是唯一的训练标准,并且足以自己训练网络。预测性最小化只是一个正则化,它鼓励神经网络的隐藏单元在完成某些其他任务时保持统计上独立;它不是重要的训练标准。2)竞争的本质不同。在可预测性最小化中,比较两个网络的输出,一个网络试图使输出相似,而另一个网络试图使输出不同。所讨论的输出是单个标量。在GANs中,一个网络产生丰富的、高维的向量,这些向量被用于另一个网络的输入,并且尝试选择一个使其他网络不知道如何处理的输入。3)学习过程的规范是不同的。可预测性最小化被描述为具有要最小化目的的目标函数的优化问题,并且学习接近目标函数的最小值。GANs基于最小化游戏而不是优化问题,并且具有一个代理寻求最大化并且另一个寻求最小化的函数。游戏终止于相对于一个玩家的策略最小的鞍点,以及相对于另一个玩家的策略的最大值。
生成式对抗网络有时被与“对抗样本”的相关概念混淆[28]。对抗样本是通过对分类网络的输入直接使用基于梯度的优化来找到的样本,为了找到与数据相似然而被错分的样本。这与目标的工作不同,因为对抗样本不是用于训练生成模型的机制。相反,对抗样本主要是用于显示神经网络以有缺的方式表现的分析工具,如果有两个图片有很小的差异,这些差异对于观察者来说是察觉不到的,但是他们通常以很高的置信度自信地对这两个图像进行不同地分类。这种对抗样本确实存在,这表明生成式对抗网络训练可能是低效的,因为它们表明有可能使当前的判别网络自信地识别一个类而不模仿该类的任何人类可感知的属性。
3 Adversarial nets
当模型是多层感知机时,对抗建模框架是最直接应用的。为了学习生成器在数据 $x$ 上的分布 , 我们在输入噪声变量上定义一个先验,然后表示一个到数据空间的映射为,这里$G$是由剁成感知机表示的可微函数,参数是。我们还定义输出单个标量的第二个多层感知器。表示x来自数据而不是。我们训练$D$以最大化给训练样本和来自于$G$的样本分配正确的标签的概率。我们同事训练以最小化。换句话说,和玩以下具有值函数$V(G,D)$的双玩家最小化游戏。
在下一节中,我们提出了对抗网络理论分析,基本上表明当G和D被基于足够的容量时,训练标准允许人们恢复数据生成分布,例如在非参数极限。参见图1 ,该方法的一个不太正式,更加教学的解释。在训练的内循环中优化D到完成是计算上禁止的,并且在有限数据集上导致过拟合。相反,我们k次优化D再优化1次D,这样交替训练。只要G变化的足够满,就会导致D保持在其最佳解附近。这个过程在算法1中正式呈现。
实际上,等式1可能不能成为G提供足够的梯度来学习。在学习早期,当G很差时,D可以以高置信度地拒绝样本,因为他们和训练数据有着明显的不同。在这种情况下,饱和。不是训练G以最小化,我们可以训练G以最大化。这个目标函数导致G和D的动力学的相同固定点,但在学习的早期提供更强的梯度。
4 Theoretical Result
生成器G
图1:
4.1 Global Optimality of
我们首先考虑对于任意给定的生成器G的最有判别器D。
命题1
对于固定的G,最佳的判别器D是
证明
给定任何生成器G,鉴别器D的训练标准是使V(D,G)最大化
对于任意的,函数在中的实现它的最大。这个判别器不需要在之外定义,结束证明。
注意,D的训练目标可以被解释为最大化用于估计条件概率是对数似然,其中Y表示x是来自于(y=1),还是来自于(y=0)。公式1中最小化游戏,现在可以重新表示为:
定理1 当且仅当时,实现虚拟训练标准的全局最小。在这一点上,实现值。
证明
对于,,(考虑公式2)。因此,通过检查等式4在,我们发现。为了看到这是一个的最佳可能值,仅仅当它达到的时候,观察
这里KL是Kullback–Leibler散度。我们在前面的表达式中认识到模型的分布和数据生成过程之间的Jensen–Shannon divergence:
因为两个分布之间的Jensen–Shannon divergence总是非负的,当且仅当它们相等的时候为0,我们已经表明是的全局最小值,并且唯一的解是,即完全复制数据分布的生成模型。
4.2 Convergence of Algorithm 1
命题2 如果G和D具有足够的容量,并且在算法1的每个步骤中,判别器在给定G时被允许达到最优,并且被更新以便改进标准
证明
5 Experiments
表1:基于窗口的对数似然估计。MNIST上报告的数字是测试集上样品的平均对数似然,具有在样本中中计算的平均值的标准误差。在TFD上,我们计算数据集的折叠之间的标准误差,使用每个折叠的验证集选择不同的σ。在TFD上,σ在每个折叠上交叉验证,并计算每个折叠上的平均对数似然。对于MNIST,我们与真实值(而不是二进制)版本的数据集的其他模型进行比较。
我们训练对抗网络在一系列数据集上包括MNIST、Toronto Face Database(TFD)和CIFAR-10。生成网络使用一个混合rectifier linear activations和sigmoid激活,然而判别网络使用maxout激活。训练判别网络时使用了Dropout技术。虽然我们的理论框架允许在生成网络的中间层使用Dropout和其他的噪声,但是我们仅仅使用噪声作为生成网络的最底层输入。
我们估计在以下测试集合数据概率,通过Gaussian Parzen窗口拟合G生成的样本并且报告此分布下的对数似然。高斯参数通过对验证集的交叉验证得到。这个过程在Breuleux等人[7],并且用于各种生成模型,其确切的可能性是不可控的。结果在报告的表1中。这种似然估计性的方法有一些高的方差,并且在高维空间中表现不佳,但它是我们所知的最好的方法。可以采样但不估计可能性的生成模型的进展直接促进了如何评估这种模型的进一步研究。在图2和图3中,我们显示了在在训练后从生成网络中提取的样本。虽然我们没有声称这些样本比由现有的方法生成的样本更好,但我们认为这些样本至少与文献中更好的的生成模型具有竞争性,并突出了对抗框架的潜力。
6 Advantages and disadvantages
这个新的框架现对于以前的建模框架有优点和缺点。主要缺点是没有的显式表示,并且D必须在训练期间与G同步良好(特别地,G不必被训练太多而不更新D,以避免“the Helvetica scenario”其中将太多的z值与相同的x值相乘以具有足够的多样性来模拟),正如Bolzmann机的负链必须在学习步骤之间保持最新。优点是不需要马尔科夫链,只有backprop用于获得梯度,在学习期间不需要推断,并且各种功能可以并入到模型中。表2总结了生成对抗网络与其他生成建模方法的比较。
上述的优点只要是计算的。对抗模型还可以从生成网络获得一些统计的优点,而不直接用数据样本更新,但是仅仅通过判别器的梯度。这意味着输入的组件不会直接复制到生成器的参数中。对抗网络的另一个优点是,他们可以表示非常尖锐,甚至退化的分布,而基于马尔科夫链的方法要求分布有些模糊,以便链能够在模式之间混合。
7 Conclusions and future work
这个框架承认了许多简单的扩展:
图2:来自模型的样本可视化。最右边的列出了相邻样本的最近训练样本,以便证明该模型没有记住训练集。样本是公平的随机抽取,而不是像采樱桃那样有意挑选。与深度生成模型的大多数其他可视化不同,这些图像显示来自模型分布的实际样本,而不是给定隐藏单元样本的条件意义。此外,这些样本是不相关的,因为采样过程不依赖于马尔科夫链混合。a)MNIST b)TFD c)CIFAR-10(fully connected model) d)CIFAR-10(convolutional discriminator and "deconvolutional" generator)
图3:通过在完整模型的z空间的坐标之间线性内插获得的数字。
通过将c作为输入添加到G和D可以获得条件模型。
学习的近似推断可以通过训练辅助网络通过执行给定的x以预测z。这类似于由唤醒睡眠算法训练的推理网[15],但是具有的优点是,在生成网络已经完成训练之后,推理网可以针对固定的生成网络进行训练。
可以通过训练共享参数的条件模型族来近似地建模所有条件函数(这里这个符号不会打),其中S是x的索引的子集。基本上,可以使用对抗生成网络实现确定性MP-DBM的随机扩展。
半监督学习:当有限的标记数据可用时,来自判别器或推断网的特征可以提高分类器的性能。
效率改进:通过设计更好的方法来协调G和D或者在训练期间确定更好的样本z分布,可以大大加快训练。
本文已经展示了对抗建模框架的可行性,表明这些研究方向可以证明是有用的。
表2:生成建模中的挑战:对设计模型的每个主要操作的深度生成模型的不同方法遇到的困难总结。
Reference
[1] Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I. J., Bergeron, A., Bouchard, N., and Bengio, Y. (2012). Theano: new features and speed improvements. Deep Learning and Unsupervised Feature Learning NIPS 2012Workshop.
[2] Bengio, Y. (2009). Learning deep architectures for AI. Now Publishers.
[3] Bengio, Y., Mesnil, G., Dauphin, Y., and Rifai, S. (2013). Better mixing via deep representations. In ICML’13.
[4] Bengio, Y., Thibodeau-Laufer, E., and Yosinski, J. (2014a). Deep generative stochastic networks trainable by backprop. In ICML’14.
[5] Bengio, Y., Thibodeau-Laufer, E., Alain, G., and Yosinski, J. (2014b). Deep generative stochastic net- works trainable by backprop. In Proceedings of the 30th International Conference on Machine Learning (ICML’14).
[6] Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley, D., and Bengio, Y. (2010). Theano: a CPU and GPU math expression compiler. In Proceedings of the Python for Scientific Computing Conference (SciPy). Oral Presentation.
[7] Breuleux, O., Bengio, Y., and Vincent, P. (2011). Quickly generating representative samples from an RBM-derived process. Neural Computation, 23(8), 2053–2073.
[8] Glorot, X., Bordes, A., and Bengio, Y. (2011). Deep sparse rectifier neural networks. In AISTATS’2011.
[9] Goodfellow, I. J.,Warde-Farley, D., Mirza, M., Courville, A., and Bengio, Y. (2013a). Maxout networks. In ICML’2013.
[10] Goodfellow, I. J., Mirza, M., Courville, A., and Bengio, Y. (2013b). Multi-prediction deep Boltzmann machines. In NIPS’2013.
[11] Goodfellow, I. J., Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R., Bergstra, J., Bastien, F., and Bengio, Y. (2013c). Pylearn2: a machine learning research library. arXiv preprint arXiv:1308.4214.
[12] Gregor, K., Danihelka, I., Mnih, A., Blundell, C., andWierstra, D. (2014). Deep autoregressive networks. In ICML’2014.
[13] Gutmann, M. and Hyvarinen, A. (2010). Noise-contrastive estimation: A new estimation principle for unnormalized statistical models. In Proceedings of The Thirteenth International Conference on Artificial Intelligence and Statistics (AISTATS’10).
[14] Hinton, G., Deng, L., Dahl, G. E., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Sainath, T., and Kingsbury, B. (2012a). Deep neural networks for acoustic modeling in speech recognition. IEEE Signal Processing Magazine, 29(6), 82–97.
[15] Hinton, G. E., Dayan, P., Frey, B. J., and Neal, R. M. (1995). The wake-sleep algorithm for unsupervised neural networks. Science, 268, 1558–1161.
[16] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., and Salakhutdinov, R. (2012b). Improving neural networks by preventing co-adaptation of feature detectors. Technical report, arXiv:1207.0580.
[17] Jarrett, K., Kavukcuoglu, K., Ranzato, M., and LeCun,Y. (2009). What is the best multi-stage architecture for object recognition? In Proc. International Conference on Computer Vision (ICCV’09), pages 2146–2153. IEEE.
[18] Kingma, D. P. andWelling, M. (2014). Auto-encoding variational bayes. In Proceedings of the Interna- tional Conference on Learning Representations (ICLR).
[19] Krizhevsky, A. and Hinton, G. (2009). Learning multiple layers of features from tiny images. Technical report, University of Toronto.
[20] Krizhevsky, A., Sutskever, I., and Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. In NIPS’2012.
[21] LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278–2324.
[22] Mnih, A. and Gregor, K. (2014). Neural variational inference and learning in belief networks. Technical report, arXiv preprint arXiv:1402.0030.
[23] Rezende, D. J., Mohamed, S., and Wierstra, D. (2014). Stochastic backpropagation and approximate inference in deep generative models. Technical report, arXiv:1401.4082.
[24] Rifai, S., Bengio, Y., Dauphin, Y., and Vincent, P. (2012). A generative process for sampling contractive auto-encoders. In ICML’12.
[25] Salakhutdinov, R. and Hinton, G. E. (2009). Deep Boltzmann machines. In AISTATS’2009, pages 448– 455.
[26] Schmidhuber, J. (1992). Learning factorial codes by predictability minimization. Neural Computation, 4(6), 863–879.
[27] Susskind, J., Anderson, A., and Hinton, G. E. (2010). The Toronto face dataset. Technical Report UTML TR 2010-001, U. Toronto.
[28] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I. J., and Fergus, R. (2014). Intriguing properties of neural networks. ICLR, abs/1312.6199.
[29] Tu, Z. (2007). Learning generative models via discriminative approaches. In Computer Vision and Pattern Recognition, 2007. CVPR’07. IEEE Conference on, pages 1–8. IEEE.