Generative Adversarial Nets

Ian J. Goodfellow, Jean Pouget-Abadie∗
, Mehdi Mirza, Bing Xu, David Warde-Farley,
Sherjil Ozairy
, Aaron Courville, Yoshua Bengioz
Departement d’informatique et de recherche op ´ erationnelle ´
Universite de Montr ´ eal ´
Montreal, QC H3C 3J7 

摘要

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

1引言

        深度学习的前景在于发现丰富的分层模型[2],这些模型可以表示人工智能应用中遇到的各类数据的概率分布,如自然图像、包含语音的音频波形和自然语言语料库中的符号。迄今为止,深度学习领域最引人注目的成功涉及判别模型,通常是那些将高维、丰富的感官输入映射到类标签的模型[14, 22]。这些引人注目的成功主要基于反向传播和剔除算法,使用的是梯度特别良好的片断线性单元 [19, 9, 10]。由于难以近似最大似然估计和相关策略中出现的许多难以处理的概率计算,也由于难以在生成环境中利用片断线性单元的优势,深度生成模型的影响较小。我们提出了一种新的生成模型估计程序,可以避免这些困难。

        在所提出的对抗性网络框架中,生成模型的对手是一个判别模型,它学会判断样本是来自模型分布还是数据分布。生成模型可以被看作是一个造假团队,试图制造假币并在不被发现的情况下使用,而判别模型则类似于警察,试图发现假币。在这场游戏中,竞争促使双方不断改进自己的方法,直到假币与真币难以分辨。

      这一框架可以为多种模型和优化算法提供特定的训练算法。在本文中,我们将探讨生成模型通过多层感知器传递随机噪声生成样本,而判别模型也是多层感知器的特殊情况。我们将这种特殊情况称为对抗网。在这种情况下,我们只需使用非常成功的反向传播和丢弃算法[17]就能训练这两个模型,并且只需使用前向传播就能从生成模型中采样。无需近似推理或马尔可夫链。

2、相关工作

       有向潜变量图形模型的另一种选择是无向潜变量图形模型,如受限玻尔兹曼机(RBM)[27, 16]、深度玻尔兹曼机(DBM)[26]及其众多变体。这类模型中的相互作用表现为非归一化势函数的乘积,通过对随机变量的所有状态进行全局求和/积分来归一化。虽然可以用马尔可夫链蒙特卡罗(MCMC)方法估算,但除了最琐碎的情况外,这个量(分区函数)及其梯度都是难以处理的。对于依赖 MCMC 的学习算法来说,混合是一个重大问题[3

        深度信念网络(DBN)[16]是包含单个无向层和多个有向层的混合模型。虽然存在快速近似的逐层训练标准,但DBN会产生与无向和有向模型相关的计算困难。

       也有人提出了不近似或限制对数似然的替代标准,例如得分匹配[18]和噪声对比估计(NCE)[13]。这两种方法都需要将学习的概率密度解析指定为归一化常数。请注意,在许多有趣的具有多层潜变量的生成模型中,(如DBN和DBM),甚至不可能导出易于处理的未归一化概率密度。一些模型,如去噪自动编码器[30]和收缩自动编码器,具有与应用于RBM的分数匹配非常相似的学习规则。在NCE中,与本工作一样,然而,生成模型本身不是用于拟合单独的判别模型,而是用于从具有固定噪声分布的样本中判别生成的数据。由于NCE使用固定的噪声分布,因此即使模型在观察变量的一小部分上学习到近似正确的分布,学习也会显著减慢。

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

3对抗网络

        当模型都是多层感知器时,对抗建模框架的应用最为直接。为了学习生成器在数据 x 上的分布 pg,我们定义了输入噪声变量 pz(z)的先验值,然后用 G(z;θg)表示数据空间的映射,其中 G 是参数为 θg 的多层感知器表示的可微分函数。我们还定义了第二个多层感知器 D(x;θd),它输出一个标量。D(x) 表示 x 来自数据而非 pg 的概率。我们训练 D 的目的是最大化将正确标签分配给训练实例和 G 样本的概率:

换句话说,D 和 G 玩的是以下价值函数为 V(G;D)的双人最小博弈:

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

        在实践中,等式 1 可能无法为 G 提供足够的梯度,使其学习效果良好。在学习初期,当 G 较差时,D 会以很高的置信度拒绝样本,因为它们与训练数据明显不同。在这种情况下,log(1 - D(G(z)))会达到饱和。与其训练 G 使 log(1 - D(G(z)) 最小化,不如训练 G 使 log D(G(z) 最大化。) 这一目标函数会导致 G 和 D 的动态变化出现相同的固定点,但会在学习初期提供更强的梯度。

      

        图一:生成对抗网通过同时更新判别分布来训练(D,蓝色,虚线),以便从数据生成分布中区分样本(黑色,虚线)px从生成分布pg(G)(绿色,实线)。下面的水平线是对z进行采样的域,向上的箭头表示映射x = G(z)如何在变换后的样本上施加非均匀分布pg。G在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。

   4理论结果

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

        我们将在第 4.1 节中证明,这个最小博弈在 pg = pdata 时有一个全局最优。然后,我们将在第 4.2 节中证明算法 1 优化了公式 1,从而得到所需的结果

        

     4.1 pg = pdata的全局最优性

        我们首先考虑对于任何给定的生成元G的最佳鉴别器D。

        命题1.对于G固定,最优的CNOD是

证明。给定任何生成器G,训练标准为最大化数量V(G; D)

        对于任意 (a; b) 2 R 2 n f0; 0g,函数 y ! a log(y) + b log(1 - y) 在 a a+b 处达到其在 [0; 1] 中的最大值。鉴别器不需要在 Supp(pdata) [ Supp(pg) 之外定义,证明结束。

        注意,D的训练目标可以被解释为最大化用于估计条件概率P(Y = yjx)的对数似然,其中Y指示x是来自pdata(y = 1)还是来自pg(y = 0)。

      

        定理1.当且仅当pg = pdata时,达到虚拟训练准则C(G)的全局最小值。此时,C(G)达到值− log 4。

证明。对于pg = pdata,D <$G(x)= 1 2,(考虑等式2)。因此,通过检查等式4,在D <$G(x)= 1 2,我们发现C(G)= log 1 2 + log 1 2 = − log 4。要看到这是C(G)的最佳可能值,仅在pg = pdata时达到,请观察:

并且通过从C(G)= V(D <$G; G)中减去该表达式,我们得到:

其中KL是Kullback-Leibler散度。我们在前面的表达式中认识到模型分布和数据生成过程之间的詹森-香农散度:

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

4.2算法1的收敛性

        命题2.如果G和D具有足够的容量,并且在算法1的每一步中,在给定G的情况下,允许Pg达到其最优,并且更新Pg以改进准则

则PG收敛到PDATA。

        证明.考虑V(G; D)= U(pg; D)作为pg的函数,如上述准则中所做的。注意U(pg; D)在pg中是凸的。凸函数的上确界的次导数包括函数在达到最大值的点处的导数。换句话说,如果f(x)= supα2A fα(x)并且fα(x)对每个α在x中是凸的,则@fβ(x)2@f if β = arg supα2A fα(x)。这相当于在最优D处计算pg的梯度下降更新,给定对应的G. supD U(pg; D)在pg中是凸的,具有唯一的全局最优值,如Thm 1中所证明的,因此,在pg的足够小的更新的情况下,pg收敛到px,从而结束证明。

        在实践中,对抗网络通过函数G(z; θg)表示一个有限的pg分布族,我们优化θg而不是pg本身。使用多层感知器来定义G在参数空间中引入了多个临界点。然而,多层感知器在实践中的出色性能表明,尽管缺乏理论保证,但它们是一个合理的模型。

5 实验

        我们在一系列数据集上训练对抗网络,包括MNIST[23],多伦多人脸数据库(TFD)[28]和CIFAR-10 [21]。生成器网络使用整流器线性激活[19,9]和sigmoid激活的混合,[10]第一个例子是一个函数的定义。[17]虽然我们的理论框架允许在生成器的中间层使用dropout和其他噪声,但我们只使用噪声作为生成器网络最底层的输入。

        我们通过将高斯Parzen窗口拟合到G生成的样本并报告此分布下的对数似然来估计pg下测试集数据的概率。该过程在Breuleux等人[8]中引入,并用于精确似然不容易处理的各种生成模型[25,3,五、结果如表1所示。这种估计似然性的方法具有较高的方差,在高维空间中表现不佳,但它是可用的最佳方法生成模型的进步可以采样但不能估计可能性,这直接推动了对如何评估此类模型的进一步研究。

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

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

        

        

        图 2:模型样本的可视化。最右边一列显示了邻近样本的最近训练样本,以证明模型没有记住训练集。样本是公平的随机抽取,而不是偷梁换柱。与其他大多数深度生成模型的可视化不同,这些图像显示的是模型分布的实际样本,而不是给定隐藏单元样本的条件平均值。a) MNIST b) TFD c) CIFAR-10(全连接模型) d) CIFAR-10(卷积判别器和 “去卷积 ”生成器)

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

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

6优点和缺点

               这个新框架相对于以前的建模框架有优点也有缺点,缺点主要是没有明确的pg(x)表示,而且在训练过程中D必须与G很好地同步(特别地,在不更新D的情况下,G不能被训练太多,为了避免“Helvetica场景”(其中G将太多的z值折叠为相同的x值以具有足够的多样性来对pdata进行建模),就像玻尔兹曼机的负链必须在学习步骤之间保持最新一样。优点是永远不需要马尔可夫链,只使用反向传播来获得梯度,在学习期间不需要推理,并且可以将各种函数纳入模型中。表2总结了生成式对抗网络与其他生成式建模方法的比较。

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

       7结论和今后的工作

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

        1.条件生成模型p(x j c)可以通过将c作为输入添加到G和D两者来获得。
        2.学习的近似推理可以通过训练辅助网络来预测给定x的z来执行。这类似于由唤醒-睡眠算法训练的推理网络[15],但其优点是推理网络可以在生成器网络完成训练之后针对固定的生成器网络进行训练。

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

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

        5.提高效率:通过划分用于协调G和D的更好的方法或确定在训练期间从其采样z的更好的分布,可以大大加速训练。

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

(文章没看懂,哎)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值