摘要
我们提出一种新的框架通过对抗过程来估计生成模型,该框架由两部分模型组成:生成模型G用来捕获真实数据分布;判别模型D用来判别输入样本的真实性,一般采用概率表示。G的训练过程是最大化D犯错误的概率。该框架相当于一个极小极大化双人博弈游戏。在任意函数G和D空间,存在唯一的解使得G能够学习到训练数据的分布,且D无法区分输入数据的真伪(即D的输出概率永远为0.5)。G和D都是由多层感知机组成,因此整个系统可以采用反向传播算法训练。在训练或样本的生成过程中,不需要任何马尔可夫链或展开的近似推断网络。实验通过对生成样本的定性和定量评价来验证了框架的潜力。
引言
深度学习的主要目的是发现丰富的分层模型,这些模型在人工智能应用中能够表示各种数据的概率分布,例如:自然图像、语音的音频波形和自然语言语料库中的符号。迄今为止,深度学习中最引入注目的成功是辨别模型,通常是指那些将高维度、丰富的感官输入映射到类别标签的模型。这些惊人的成功主要是利用反向传播和丢失算法,使用具有良好梯度的分段线性单元。然而由于难以近似由最大似然估计和相关策略中出现的许多难以处理的概率计算以及难以在生成环境中利用分段线性单元的优势,深度生成模型的影响较小。因此,我们提出了一种新的生成模型估计过程来规避这些难题。
在提出的对抗网络框架中包含两种模型:生成模型 Generative model和判别模型Discriminative model。生成模型可以被认为类似于造假者,试图生产虚假货币并在没有检测的情况下使用它,而判别模型类似于警察,试图检测伪造货币。也就是说,判别模型通过学习来判断样本是符合生成分布还数据分布。在这个游戏中的竞争促使两个团队改进他们的方法,直到假货与真品无法区分。
该框架可以为各种模型和优化算法提供特定的训练算法。在本文中,我们探索了生成模型通过多层感知机传递随机噪声来产成样本以及判别模型也是由多层感知机构成的特殊情况。我们将这种特殊情况称为对抗性网络。在该情况下,我们可以仅使用方向传播和丢失算法以及使用前向传播的生成模型中的样本来训练两个模型。不需要近似推理或马尔可夫链。
相关工作
直到最近,大多数关于深度生成模型的工作都集中在提供概率分布函数的参数规范的模型上。这些模型可以通过最大化对数似然来训练。而如今最成功的模型要属深度玻尔兹曼机。这些模型通常具有难以处理的似然函数,因此需要对似然梯度进行多次近似。这些困难促使“生成机器”(模型)的发展,该模型未明确表示可能型,但能够从期望分布中生成样本。例如生成启发式网络能够通过精确的反向传播算法而不是采用玻尔兹曼机进行大量的近似操作。本工作通过消除生成随机网络中使用的马尔可夫链来扩展生成机器的概念。
我们的工作通过生成过程对以下公式进行反向求导:
在该工作之前,Kingma等人已经提出了更通用的随机反向传播规则,它允许通过有限方差的高斯分布反向传播,并反向传播到协方差参数和均值。这些反向传播规则可以学习生成器的条件方差(在本文将其视为超参)。Kingma采用启发式反向传播算法来训练变化的自动编码器(VAEs)。与生成对抗网络相似,VAE将可微分的生成网络与另外一个网络进行匹配。区别与生成对抗网络的是,VAE中的第二个网络是执行近似推断的识别模型。GAN需要通过可见单元进行区分,因此不能对离散数据进行建模,而VAE需要通过隐藏单元进行区分,因此不能具有离散的潜在变量。
以前的工作也采用了使用判别标准来训练生成模型的方法。这些标准在深度生成模型中很难处理。这些方法甚至难以近似深度模型,因为它们涉及概率比率,而概率比率不能使用降低概率的变分近似来近似。噪声对比估计Noise-contrastive estimation(NCE)通过学习权重来训练生成模型,使得模型能够区分固定的噪声分布中的数据。使用先前训练的模型作为噪声分布允许训练一系列质量不断提供的模型。这可以看作一种非正式的竞争机制,在思想上类似于对抗性网络游戏中使用的正式竞争。NCE的关键限制是其“辨别器”是由噪声分布的概率密度与模型分布的比率定义的,因此需要能够通过两种密度进行评估和反向传播。
还有一些工作采用了两个网络竞争的概念。例如可预测性最小化Predictablility minimization。可预测性最小化中,神经网络中的每个隐藏单元被训练为不同与第二个网络的输出,后者根据所有其他隐藏单元的值预测该隐藏单元的值。本工作从三个方面区别与可预测性最小化:1)在GAN中,网络之间的竞争是唯一的训练标准。可预测性最小化只是一个正则化项,它鼓励神经网络的隐藏单元在完成其他任务时在统计上独立,它不是主要的培训标准。2)竞争的性质不同。在可预测性最小化中,比较两个网络的输出,一个网络试图使输出相似,另一个网络试图使输出不同。有问题的输出是单个标量。在GAN中,一个网络生成一个丰富的高维向量,用作另一个网络的输入,并尝试选择另一个网络不知道如何处理的输入。3)学习过程的规范是不同的。可预测性最小化描述的是目标函数最小化优化问题,通过学习来逼近目标函数的最小值。GAN是基于极小极大游戏而不是优化问题,并有一个价值函数,一个代理寻求最大化而另一个寻求最小化。游戏终止于一个鞍点,该鞍点相对于一个玩家的策略是最小的,而对于另一个玩家的策略是最大的。
生成对抗网络有时与“对抗性例子”的相关概念混淆。对抗性示例是通过直接对分类网络的输入使用基于梯度的优化从而找到与数据类似但错误分类的示例。与目前的工作不同,因为对抗性示例不是训练生产模型的机制,相反,对抗性示例主要是一种分析工具用于以有趣的方式显示神经网络的行为,通常可靠地以高信度对两个图像进行不同分类,即使它们之间的差异对于人类观察者来说是不可察觉的。这种对抗性示例的存在明确表明,生成性对抗网络训练可能效率低下,因为它们表明现代判别性网络可以自信地识别一个类而不模仿该类的任何人类可感知的属性。
对抗网络
当模型为两个多层感知机时,对抗模型框架是最直接的应用。为了学习生成模型的在数据上的分布,我们首先定义一个输入噪声变量,然后使用,其中G是一个由带参数多层感知机表示的可微函数。我们另外定义了第二个多层感知机,它的输出为一个标量。表示数据来自于训练数据分布而不是生成的分布。我们训练D来最大化分配正确标签到训练样本和生成样本的概率。我们同时训练G来最小化。也就是说,D和G使用值函数进行双人极小极大游戏:
在下一节,我们将对对抗网络进行理论分析,本质上表明G和D拥有足够的能力使得训练策略可以使得生成数据分布能够近似样本数据分布。如图1给出了一个非正式但直观的解释。实际上,我们必须使用迭代的数值方法来实现游戏。不能在训练的内循环中完成D的优化,因为在有限的数据集中可能导致过拟合现象。相反,我们每经过K次迭代优化D后再执行一次G的优化。只要G变化足够慢,可以保证D保持在其最佳解附近。该过程如算法1所示。
实际上,等式1不能够提供足够的梯度供G学习。训练初期,当G的效果非常差时,D会以高置信度来拒绝生成样本,因为它们与训练数据明显不同,在这种情况下,会导致饱和。我们训练G最大化而不是训练G最小化。该目标函数能够使G和D最终达到稳定状态,并且在训练初期,提供了更强的梯度。
理论结果
当时,生成器G隐式地定义了概率分布作为获得的样本的分布。因此,在足够的空间和训练时间的提前下,我们希望算法1能够收敛到的理想的估计值。该部分的结果是在非参数设置中完成的,例如,我们通过研究概率密度函数空间中的收敛来表示具有无限容量的模型。
我们将在4.1节中说明这个极小极大化问题的全局最优解为。我们将在4.2节中展示使用算法1来优化等式1,从而获得期望的结果。
的全局最优
我们首先考虑对于任意生成器G,D的最优解。
命题1:固定G,最优的判别器D为:
证明:固定G,判别器D的训练标准为最大化质量:
对于任意,函数在区间的最大值为。无需在。
注意,判别器D的训练目标可以看作为条件概率的最大似然估计,当时,表明数据来自,或者当时,数据来自。等式1中极小极大化游戏现在可以重写为:
定理:当且仅当时,达到全局最小。此时,C(G)的值为。
证明:,(公式2)。再根据公式4可得,。为了证明当且仅当时能达到最优值,我们观察:
然后从减去上式,可得:
其中KL为Kullback-Leibler散度。我们在表达式中识别出了模型判别和数据生成过程之间的Jensen-Shannon散度:
当两个分布之间的Jensen-Shannon散度总是为非负,并且当他们相等时为0时,我们可以说明是的全局最小解,并且只存在唯一解。例如:生成模型能够完美地近似数据分布。
算法1的收敛性
命题2:如果G和D有足够的性能,对于算法1中的每一步,给定G时,判别器能够达到它的最优,并且通过更新来提高这个判别标准:
从而达到收敛到。
证明:考虑作为满足上述标准的函数。注意到为的凸函数。该凸函数上限的次导数包含函数在达到最大值的处的导数。换句话说,当以及为凸函数对于任意参数,那么如果。这等价于给定对应的G和最优的D,计算的梯度更新。如定理1所证明的,是关于的凸函数且有唯一的全局最优解,因此,当的更新足够小时,收敛到。
实际上,对抗网络通过函数表示分布的有限簇,并且我们优化而不是本身。使用一个多层感知机来定义G在参数空间引入了多个临界点。然而,尽管缺乏理论证明,但在实际中多层感知机的优良性能表明了这是一个合理的模型。