Generative Adversarial Nets(生成式对抗网络)

Abstract(摘要)

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

1.Introduction(介绍)

深度学习的前景是发现丰富的层次模型,它们表示人工智能应用中遇到的各种数据的概率分布,例如自然图像,包括语音的音频波形和自然语言语料库中的符号。到目前为止,深度学习中最成功的模型是判别模型,通常是将那些高维度、丰富的感官输入映射到分类标签的模型。这些惊人的成功主要基于反向传播和dropout算法,使用具有良好梯度的分段线性单元。深度生成模型的影响较小,因为难以近似在最大似然估计和相关策略中出现的许多难以处理的概率计算,并且由于难以在生成环境中利用分段线性单元的好处。我们提出了一种新的生成模型评估过程,可以避免这些困难。

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

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

2. Related work(相关工作)

具有潜在变量的定向图形模型的替代方案是具有潜在变量的无向图形模型,例如受限玻尔兹曼机(RBM),深玻尔兹曼机(DBM)及其众多变体。这些模型中的相互作用表示为非标准化势函数的乘积,通过对随机变量的所有状态的全局求和/积分进行归一化。尽管可以通过马尔科夫链蒙特卡洛(MCMC)方法估计,但是这个数量(分区函数)及其梯度对于除了最普通的实例之外的所有实例都是难以处理的。混合对于依赖MCMC的学习算法提出了一个重要问题。

深度信念网络(DBN)是包含无向层和多个定向层的混合模型。虽然存在快速近似分层训练标准,但DBN会引起与无向和定向模型相关的计算困难。

还提出了不接近或约束对数似然的替代标准,例如得分匹配和噪声对比估计(NCE)。这两者都需要将学习的概率密度指定为归一化常数。请注意,在许多具有多层潜在变量(例如DBN和DBM)的有趣生成模型中,甚至不可能得到易处理的非标准化概率密度。一些模型,如去噪自动编码器和压缩自动编码器,其学习规则与应用于RBM的分数匹配非常相似。在NCE中,与本研究一样,采用判别训练标准来拟合生成模型。然而,生成模型本身不是用于拟合单独的判别模型,而是用于将生成的数据与样本区分为固定的噪声分布。因为NCE使用固定的噪声分布,所以在模型甚至在一小部分观察变量上学习了大致正确的分布后,学习速率显著减慢。

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

3. Adversarial nets(对抗网络)

当模型是多层感知器时,对抗模型框架是最直接的应用。为了学习在数据x上的生成器的分布p_{g},我们在输入噪声变量p_{g}(z)上定义先验概率,然后将数据空间的映射表示为G(z;\theta _{g}),其中G是由具有参数\theta _{g}的多层感知器表示的可微函数。我们还定义了第二个多层感知器D(x,\theta _{d}),它输出单个标量。D(x)代表样本x来自真实数据而不是生成数据p_{g}的概率。我们训练D以最大化训练样本和来自G的样本分配正确标签的概率。我们同时训练G以最小化log(1-D(G(z))):

换句话说,D和G使用值函数V(G,D)进行极大极小化的双人游戏:

\underset{G}{min}\underset{D}{max}V(D,G)=E_{x\sim p_{data}(x)}\left [ logD(x) \right ]+E_{x\sim p_{z}(z)}\left [ log(1-D(G(z))) \right ]                          (1)

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

在实践中,等式1可能无法为G学习提供足够的梯度。在学习初期,当G很差时,D可以高度自信地拒绝样本,因为它们与训练数据明显不同。在这种情况下,log(1-D(G(z)))饱和。我们可以训练G以最大化logD(G(z)),而不是训练G最小化log(1-D(G(z)))。该目标函数产生G和D动力学的相同固定点,但在学习早期提供更强的梯度。

图1:生成式对抗网络通过同时更新判别分布(D,蓝色,虚线)进行训练,以便区分来自数据生成分布(黑色,虚线)的样本p_{x}与生成分布p_{g}(G)。下面的水平线是噪声z采样的值分布域。在这种情况下是均匀的。上面的水平线是x值域的一部分。向上箭头表示映射x=G(z)如何在变换样本上施加非均匀分布p_{g}。G在高密度区域收缩,在p_{g}低密度区域扩展。(a)考虑收敛附近的对抗对:p_{g}类似于p_{data},D是部分精确分类器。(b)在算法D的内循环中,训练D来区分样本和数据,收敛到D^{*}(x)=\tfrac{p_{data}(x)}{p_{data}(x)+p_{g}(x)}。(c)在更新G之后,D的梯度引导G(z)流向更可能被分类为数据的区域。(d)进过几个步骤的训练后,如果G和D有足够的能力。他们将达到两个都无法改善的点,因为p_{g}=p_{data}.判别器无法区分两个分部,即D(x)=1/2.

4. Theoretical Results(理论结果)

生成器G隐含地将概率分布p_{g}定义为z\sim p_{z}时获得的样本G(z)的分布。因此,如果给定足够的容量和训练时间,我们希望算法1收敛到p_{data}的良好估计。该部分的结果在非参数设置中完成。例如,我们通过研究概率密度函数空间中的收敛来表示具有无限容量的模型。

我们将在4.1节中说明这个minimax游戏对于p_{g}=p_{data}具有全局最优。然后将在4.2节中展示算法1优化等式1,从而获得所需的结果。

4.1 Global Optimality of p_{g}=p_{data}(p_{g}=p_{data}的全局最优化)

我们首先考虑任何给定生成器G的最优判别器D。

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

证明:对于任何生成器G,判别器D的训练标准是最大化V(G,D)。

对于任何(a,b)\in R^{2}\setminus \left \{ 0,0 \right \},函数y\rightarrow alog(y)+blog(1-y)在[0,1]的\tfrac{a}{a+b}处达到其最大值。判别器不需要在Supp(p_{data})\cup Supp(p_{g})之外定义,结束证明。

注意,D的训练目标可以解释为最大化用于估计条件概率P(Y=y|x)的对数似然,一种Y表示x来自p_{data}(y=1)还是p_{g}(y=0)。方程式中的minimax游戏可以重新表述为:

定理1:当且仅当p_{g}=p_{data}时,实现虚拟训练标准C(G)的全局最小值。此时C(G)的值为-log(4)。

证明:对于p_{g}=p_{data}D^{*}_{G}(x)=\tfrac{1}{2}(考虑等式2)。因此,通过检查等式4在D^{*}_{G}(x)=\tfrac{1}{2},我们发现C(G)=log\tfrac{1}{2}+log\tfrac{1}{2}=-log4。可以看到这是C(G)的最佳可能值,达到了p_{g}=p_{data}。观察到:

并且从C(G)=V(D^{*}_{G},G)中减去这个表达式,我们可以获得:

其中KL是Kullback-Leibler散度。我们在前面的表达式中认识到模型分布和数据生成过程之间的JenSen-Shannon差异。

由于两个分布之间的Jensen-Shannon散度总是非负的,只有当它们相等时才为零,我们已经证明C^{*}=-log(4)是C(G)的全局最小值。唯一的解是p_{g}=p_{data},即完全复制数据生成过程的生成模型。

4.2 Convergence of Algorithm 1(算法1的收敛)

命题1:如果G和D具有足够的能力,并且在算法1的每个步骤中,允许判别器达到其最佳给定G,并且更新P_{g}以便改进标准。

然后,p_{g}收敛到p_{data}.

证明:考虑V(G,D)=U(p_{g},D)作为p_{g}的函数,如在上述标准中所作的那样。注意,U(p_{g},D)p_{g}中是凸的。凸函数的上界的偏导数包括在达到最大值的点处函数的导数。换句话说,如果f(x)=sup_{\alpha \in A}f_{\alpha (x)}并且对于每个\alphaf_{\alpha }(x)在x中是凸的,那么如果\beta =argsup_{\alpha \in A}f_{\alpha }(x),则\partial f_{\beta }(x)\in \partial f。这相当于在给定相应G的情况下,在最佳D处计算p_{g}的梯度下降更新。sup_{D}U(p_{g},D)p_{g}中是凸的,具有在thm1中证明的唯一全局最优,因此在p_{g}足够小的情况下,p_{g}收敛到p_{x}.从而得到证明。

在实践中,对抗网络通过函数G(z;\theta _{g})表示有限的p_{g}分布。并且我们优化\theta _{g}而不是优化p_{g}本身。使用多层感知器定义G在参数空间中引入了多个关键点。然而,多层感知器在实践中的优异性能表明它们是一种合理的模型,尽管它们缺乏理论上的保证。

五 实验

我们训练了对抗网络的一系列数据集,包括MNIST [23],多伦多人脸数据库(TFD)[28]和CIFAR-10 [21]。生成器网使用整流器线性激活[19,9]和sigmoid激活的混合,而判别器网使用maxout [10]激活。Dropout[17]用于训练判别网络。虽然我们的理论框架允许在生成器的中间层使用压差和其他噪声,但我们使用噪声作为生成器网络最底层的输入。

我们通过将高斯Parzen窗口拟合到用G生成的样本并在该分布下报告对数似然来估计测试集数据在pg下的概率。通过验证集上的交叉验证获得高斯的σ参数。该程序在Breuleux等人的文章中介绍。 [8]并用于各种生成模型,其确切的可能性是不易处理的[25,3,5]。结果报告在表1中。这种估计似然性的方法具有稍高的方差,并且在高维空间中表现不佳,但它是我们所知的最佳方法。可以采样但不能估计可能性的生成模型的进步直接激发了对如何评估此类模型的进一步研究。

 

表1:Parzen基于窗口的对数似然估计。在MNIST上报告的数字是测试集上样本的平均对数似然,并且在示例中计算的平均值的标准误差。在TFD上,我们计算了数据集折叠的标准误差,使用每个折叠的验证集选择不同的σ。在TFD上,σ在每个折叠上交叉验证,并计算每个折叠的平均对数似然。对于MNIST,我们将与其他数据集的实值(而不是二进制)版本进行比较。

在图2和图3中,我们显示了训练后从生成器网中抽取的样本。虽然我们没有声称这些样本比现有方法生成的样本更好,但我们认为这些样本至少与文献中更好的生成模型竞争,并突出了对抗框架的潜力。

 

图2:来自模型的样本的可视化。最右边的列显示最近的相邻样本的训练示例,以证明模型没有记住训练集。样品是公平的随机抽取,而不是挑选。与深度生成模型的大多数其他可视化不同,这些图像显示来自模型分布的实际样本,而不是给定隐藏单元样本的条件均值。而且,这些样品是不相关的,因为取样过程不依赖于马尔可夫链混合。 a)MNIST b)TFD c)CIFAR-10(完全连接模型)d)CIFAR-10(卷积鉴别器和“反卷积”发生器)

 

图3:通过在完整模型的z空间中的坐标之间线性插值获得的数字。

 

表2:生成建模中的挑战:对涉及模型的每个主要操作的深度生成建模的不同方法遇到的困难的总结。

六 优点和缺点

与以前的建模框架相比,这个新框架具有优缺点。缺点主要在于没有pg(x)的明确表示,并且D在训练期间必须与G很好地同步(特别是,在不更新D的情况下,G不得过多训练,以避免“Helvetica场景” “其中G将太多的z值折叠到x的相同值以具有足够的多样性来模拟pdata”,就像Boltzmann机器的负链必须在学习步骤之间保持最新一样。优点是永远不需要马尔可夫链,只有backprop用于获得渐变,学习期间不需要推理,并且可以将多种功能合并到模型中。表2总结了生成性对抗网与其他生成建模方法的比较。

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

7 结论和未来的工作

该框架承认了许多简单的扩展:

  1. 条件生成模型p(x | c)可以通过将c作为输入添加到G和D来获得。
  2. 可以通过训练辅助网络来预测给定x的z来进行学习的近似推断。这类似于由唤醒 - 睡眠算法[15]训练的推理网,但具有以下优点:在生成器网完成训练之后,可以针对固定的生成器网训练推理网。
  3. 可以通过训练共享参数的条件模型族来近似地模拟所有条件p(xS | x6S),其中S是x的索引的子集。从本质上讲,人们可以使用对抗网来实现确定性MP-DBM的随机扩展[11]。
  4. 半监督学习:当有限的标记数据可用时,来自判别器或推理网的特征可以提高分类器的性能。
  5. 提高效率:通过划分更好的协调G和D的方法或确定在培训期间更好地分配样本z,可以大大加快培训。

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

猜你喜欢

转载自blog.csdn.net/gyt15663668337/article/details/89501300