当前位置: 首页 > > 天 方 夜 “谈” 第35期 | 生成对抗网络

天 方 夜 “谈” 第35期 | 生成对抗网络

发表于:2020-03-12 17:37 作者: 方滨兴班 阅读数(7554人)


论文:Generative Adversarial Nets

作者:Ian J. Goodfellow, Jean Pouget-Abadie  , Mehdi Mirza, Bing Xu, David Warde-Farley,Sherjil Ozair , Aaron Courville, Yoshua Bengio

会议:Neural Information Processing Systems

年份:2014


1  介绍

通过对抗过程,本文提出了一个估计生成模型的新的框架,在新的框架中,同时训练两个模型:捕获数据分布的生成模型 G,和估计样本来自训练数据而不是生成器 G 的概率的判别模型 D。G 的训练过程是使 D 犯错误的概率最大化。这个框架相当于双人最小最大值博弈。在任意函数 G 和 D 的空间中,存在唯一解,其中,G 恢复训练数据分布,D 处处都是 1/2。在 G 和 D 由多层感知机定义的情况下,整体系统可以用反向传播训练。在训练或者生成模型期间,不需要任何的马尔科夫链或者展开近似推理网络。实验通过对生成样本的定性和定量评估来展示框架的潜力。

深度学习的任务是发现丰富的层次模型,表达在人工智能领域中各种数据的概率分布,比如自然图像、语音的音频波形和自然语言语料库的符号。到目前为止,深度学习最成功的应用场景之一就是判别模型。通常他们将高维丰富的感知机输入映射到类标签上。这些成功主要基于反向传播和丢弃算法实现的,特别是具有良好梯度的分段线性单元。由于极大似然估计和相关策略中出现了难以解决的概率计算的困难,以及很难利用在生成上下文中使用分段线性单元获得的好处,这些原因导致了深度生成模型的影响力很小。所以,本篇论文提出了一个新的生成估计模型,分步处理这些困难。

提到的对抗式网络框架中,生成模型对应着一个对手:学习判别样本是来自模型分布还是数据分布的判别模型。生成模型可以被认为是一个造假团队,他们试图制造假币而且在不被发现的情况下使用它,而判别模型被看作是警察,试图检测假币。博弈中的两个竞争者改进他们的方法直到真假难辨。

这个框架针对各类模型和优化算法可以提供特定的训练算法。本篇论文探讨了将生成模型通过随机噪声传输到多层感知机生成样本的特例,同时判别模型也是由多层感知机实现的。这个特例在本文中称之为对抗网络。在这个例子中,本文使用非常成熟的反向传播和丢弃算法训练两个模型,生成模型训练样本是仅使用前向传播算法,不需要用到马尔科夫链和近似推理。

2  相关工作

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

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

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

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

3  对抗网络

当模型是多层感知机时,对抗建模框架能被最直接应用。为了在数据 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)进行以下双人最小最大值博弈:

图片.png

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

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

图片.png

图 1:生成对抗网络通过同时更新判别分布D(蓝色,虚线)进行训练,以便区分来自数据生成分布(黑色,虚线)P(x) 的样本与生成分布Pg(G) 的样本 (绿色,实线)。下面的水平线是从中采样 z 的域,在这种情况下是均匀的。上面的水平线是 x 域的一部分。向上箭头表示映射 x = G(z)如何在变换样本上施加非均匀分布P(g)。G 在高密度区域收缩,在低密度区域扩展。(a)考虑靠近收敛的对抗对:类似于 ,D 是部分精确的分类器。(b)在算法的内环中,训练 D 以区分样本和数据,收敛到 D*(x)=

图片.png

(c)在更新 G 之后,D 的梯度引导 G(z)流向更可能被分类为数据的区域。(d)经过几个步骤的训练后,如果 G 和 D有足够的容量,它们将达到两个都无法改善的点,因为 Pg=Pdata 。鉴别器不能区分两个分布,即D(x)=0.5。

4  理论结果

生成器 G 隐含地将概率分布 Pg定义为当 Z~Pz时获得的样本 G(z)的分布。因此,如果给定足够的容量和训练时间,我们希望Algorithm1大概率收敛到 Pdata。该部分的结果是在非参数设置中完成的,例如, 通过研究概率密度函数空间中的收敛来表示具有无限容量的模型。

图片.png

5  实验

本文训练了对抗网络的一系列数据集,包括 MNIST,多伦多人脸数据库(TFD)和CIFAR-10。生成网络使用线性激活和 S 形激活的混合激活层,而判别网络使用 Maxout激活。随机丢弃算法(Dropout)用于训练判别网络。虽然理论框架允许在生成器的中间层使用压差和其他噪声,但本文使用噪声作为生成网络最底层的输入。

本文通过将高斯 Parzen 窗口拟合到用 G 生成的样本并在该分布下报告对数似然来估计测试集数据在Pg 下的概率,参数σ。

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

图片.png

通过验证集上的交叉验证获得高斯算子。该程序在 Breuleux 等人的研究中引入并用于各种生成模型,其确切的可能性是不易处理的。结果报告在表 1 中。这种估计概率的方法具有稍高的方差,并且在高维空间中表现不佳,但它是本文作者们所知的最佳方法。可以采样但不能估计概率的生成模型的进步直接激发了对如何评估此类模型的进一步研究。

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

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

图片.png

图片.png

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

图片.png

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

6  优缺点

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

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

7  总结

本文已经展示了对抗模型框架的可行性,表明这些研究方向是有用的。该框架允许许多直接的扩展:

  1. 条件生成模型 P(x|c)可以通过将 c 作为 G 和 D 的输入来获得 。

  2. 给定 x,可以通过训练一个辅助的网络来学习近似推理,达到预测 z 的目的。这和 wake-sleep 算法训练出的推理网络类似,但是它具有一个优势,就是在生成器训练完成后,这个推理网络可以针对固定的生成器进行训练。

  3. 可以通过训练共享参数的条件模型族来近似地对所有条件概率 图片.png进行建模,其中 S是 x 下标的子集。本质上,可以使用对抗网络来实现确定性 MP-DBM的随机扩展。

  4. 半监督学习:当有限的标签数据可用时,来自鉴别器或推理网络的特征可以改善分类器的性能。

关于 天 方 夜 “谈”

天方夜谈原意讲不切实际的东西,而这里想要 “脚踏实地”真正弄懂并感受一篇文章的思想。

方班人有自己的浪漫,

我们探讨知识,谈论理想,

采摘科研的繁星,

脚下是星辰大海。

天:代表我们的理想犹如天空般浩荡

方:代表方班

夜:代表代码人的冷静与静谧

谈:代表方班愿与您,就领域内的经典思想和前沿成果“秉烛夜谈”