Generative Adversarial Nets

摘要

我们提出一种新的框架通过对抗过程来估计生成模型,该框架由两部分模型组成:生成模型G用来捕获真实数据分布;判别模型D用来判别输入样本的真实性,一般采用概率表示。G的训练过程是最大化D犯错误的概率。该框架相当于一个极小极大化双人博弈游戏。在任意函数G和D空间,存在唯一的解使得G能够学习到训练数据的分布,且D无法区分输入数据的真伪(即D的输出概率永远为0.5)。G和D都是由多层感知机组成,因此整个系统可以采用反向传播算法训练。在训练或样本的生成过程中,不需要任何马尔可夫链或展开的近似推断网络。实验通过对生成样本的定性和定量评价来验证了框架的潜力。

引言

深度学习的主要目的是发现丰富的分层模型,这些模型在人工智能应用中能够表示各种数据的概率分布,例如:自然图像、语音的音频波形和自然语言语料库中的符号。迄今为止,深度学习中最引入注目的成功是辨别模型,通常是指那些将高维度、丰富的感官输入映射到类别标签的模型。这些惊人的成功主要是利用反向传播和丢失算法,使用具有良好梯度的分段线性单元。然而由于难以近似由最大似然估计和相关策略中出现的许多难以处理的概率计算以及难以在生成环境中利用分段线性单元的优势,深度生成模型的影响较小。因此,我们提出了一种新的生成模型估计过程来规避这些难题。

在提出的对抗网络框架中包含两种模型:生成模型 Generative model和判别模型Discriminative model。生成模型可以被认为类似于造假者,试图生产虚假货币并在没有检测的情况下使用它,而判别模型类似于警察,试图检测伪造货币。也就是说,判别模型通过学习来判断样本是符合生成分布还数据分布。在这个游戏中的竞争促使两个团队改进他们的方法,直到假货与真品无法区分。

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

相关工作

直到最近,大多数关于深度生成模型的工作都集中在提供概率分布函数的参数规范的模型上。这些模型可以通过最大化对数似然来训练。而如今最成功的模型要属深度玻尔兹曼机。这些模型通常具有难以处理的似然函数,因此需要对似然梯度进行多次近似。这些困难促使“生成机器”(模型)的发展,该模型未明确表示可能型,但能够从期望分布中生成样本。例如生成启发式网络能够通过精确的反向传播算法而不是采用玻尔兹曼机进行大量的近似操作。本工作通过消除生成随机网络中使用的马尔可夫链来扩展生成机器的概念。

我们的工作通过生成过程对以下公式进行反向求导:

\lim_{\sigma\to0} \nabla_x \mathbb{E}_{\epsilon \thicksim \mathcal{N}(0,\sigma^2\mathbf{I})}f(x+\epsilon)=\nabla_xf(x)

在该工作之前,Kingma等人已经提出了更通用的随机反向传播规则,它允许通过有限方差的高斯分布反向传播,并反向传播到协方差参数和均值。这些反向传播规则可以学习生成器的条件方差(在本文将其视为超参)。Kingma采用启发式反向传播算法来训练变化的自动编码器(VAEs)。与生成对抗网络相似,VAE将可微分的生成网络与另外一个网络进行匹配。区别与生成对抗网络的是,VAE中的第二个网络是执行近似推断的识别模型。GAN需要通过可见单元进行区分,因此不能对离散数据进行建模,而VAE需要通过隐藏单元进行区分,因此不能具有离散的潜在变量。

以前的工作也采用了使用判别标准来训练生成模型的方法。这些标准在深度生成模型中很难处理。这些方法甚至难以近似深度模型,因为它们涉及概率比率,而概率比率不能使用降低概率的变分近似来近似。噪声对比估计Noise-contrastive estimation(NCE)通过学习权重来训练生成模型,使得模型能够区分固定的噪声分布中的数据。使用先前训练的模型作为噪声分布允许训练一系列质量不断提供的模型。这可以看作一种非正式的竞争机制,在思想上类似于对抗性网络游戏中使用的正式竞争。NCE的关键限制是其“辨别器”是由噪声分布的概率密度与模型分布的比率定义的,因此需要能够通过两种密度进行评估和反向传播。

还有一些工作采用了两个网络竞争的概念。例如可预测性最小化Predictablility minimization。可预测性最小化中,神经网络中的每个隐藏单元被训练为不同与第二个网络的输出,后者根据所有其他隐藏单元的值预测该隐藏单元的值。本工作从三个方面区别与可预测性最小化:1)在GAN中,网络之间的竞争是唯一的训练标准。可预测性最小化只是一个正则化项,它鼓励神经网络的隐藏单元在完成其他任务时在统计上独立,它不是主要的培训标准。2)竞争的性质不同。在可预测性最小化中,比较两个网络的输出,一个网络试图使输出相似,另一个网络试图使输出不同。有问题的输出是单个标量。在GAN中,一个网络生成一个丰富的高维向量,用作另一个网络的输入,并尝试选择另一个网络不知道如何处理的输入。3)学习过程的规范是不同的。可预测性最小化描述的是目标函数最小化优化问题,通过学习来逼近目标函数的最小值。GAN是基于极小极大游戏而不是优化问题,并有一个价值函数,一个代理寻求最大化而另一个寻求最小化。游戏终止于一个鞍点,该鞍点相对于一个玩家的策略是最小的,而对于另一个玩家的策略是最大的。

生成对抗网络有时与“对抗性例子”的相关概念混淆。对抗性示例是通过直接对分类网络的输入使用基于梯度的优化从而找到与数据类似但错误分类的示例。与目前的工作不同,因为对抗性示例不是训练生产模型的机制,相反,对抗性示例主要是一种分析工具用于以有趣的方式显示神经网络的行为,通常可靠地以高信度对两个图像进行不同分类,即使它们之间的差异对于人类观察者来说是不可察觉的。这种对抗性示例的存在明确表明,生成性对抗网络训练可能效率低下,因为它们表明现代判别性网络可以自信地识别一个类而不模仿该类的任何人类可感知的属性。

对抗网络


当模型为两个多层感知机时,对抗模型框架是最直接的应用。为了学习生成模型的在数据x上的分布p_g,我们首先定义一个输入噪声变量p_z (z),然后使用G(z;\theta_g),其中G是一个由带参数\theta_g多层感知机表示的可微函数。我们另外定义了第二个多层感知机D(x;\theta_d),它的输出为一个标量。D(x)表示数据x来自于训练数据分布而不是生成的分布p_g。我们训练D来最大化分配正确标签到训练样本和生成样本的概率。我们同时训练G来最小化log(1-D(G(z)))。也就是说,D和G使用值函数V(G,D)进行双人极小极大游戏:

\min_G \max_D V(D,G)=\mathbb{E}_{x\thicksim p_{data}(x)}[log D(x)]+\mathbb{E}_{z\thicksim p_z(z)}[log (1-D(G(z)))]

在下一节,我们将对对抗网络进行理论分析,本质上表明G和D拥有足够的能力使得训练策略可以使得生成数据分布能够近似样本数据分布。如图1给出了一个非正式但直观的解释。实际上,我们必须使用迭代的数值方法来实现游戏。不能在训练的内循环中完成D的优化,因为在有限的数据集中可能导致过拟合现象。相反,我们每经过K次迭代优化D后再执行一次G的优化。只要G变化足够慢,可以保证D保持在其最佳解附近。该过程如算法1所示。

实际上,等式1不能够提供足够的梯度供G学习。训练初期,当G的效果非常差时,D会以高置信度来拒绝生成样本,因为它们与训练数据明显不同,在这种情况下,会导致log (1-D(G(z)))饱和。我们训练G最大化log D(G(z))而不是训练G最小化log (1-D(G(z)))。该目标函数能够使G和D最终达到稳定状态,并且在训练初期,提供了更强的梯度。

理论结果

z\thicksim p_z时,生成器G隐式地定义了概率分布p_g作为G(z)获得的样本的分布。因此,在足够的空间和训练时间的提前下,我们希望算法1能够收敛到p_{data}的理想的估计值。该部分的结果是在非参数设置中完成的,例如,我们通过研究概率密度函数空间中的收敛来表示具有无限容量的模型。

我们将在4.1节中说明这个极小极大化问题的全局最优解为p_g=p_{data}。我们将在4.2节中展示使用算法1来优化等式1,从而获得期望的结果。

p_g=p_{data}的全局最优

我们首先考虑对于任意生成器G,D的最优解。

命题1:固定G,最优的判别器D为:

D_G^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}

证明:固定G,判别器D的训练标准为最大化质量V(G,D):

对于任意(a,b)\in\mathbb{R}^2\backslash \{0,0\},函数y\to a log(y)+b log(1-y)[0,1]区间的最大值为\frac{a}{a+b}。无需在Supp(p_{data})\cup Supp(p_g)

注意,判别器D的训练目标可以看作为条件概率P(Y=y|x)的最大似然估计,当y=1时,表明数据x来自p_{data},或者当y=0时,数据x来自p_g。等式1中极小极大化游戏现在可以重写为:

定理:当且仅当p_g=p_{data}时,C(G)达到全局最小。此时,C(G)的值为-log4

证明:p_g=p_{data}D_G^*(x)=\frac{1}{2}(公式2)。再根据公式4可得,C(G)=log\frac{1}{2}+log\frac{1}{2}=-log 4。为了证明当且仅当p_g=p_{data}C(G)能达到最优值,我们观察:

然后从C(G)=V(D^*_G,G)减去上式,可得:

其中KL为Kullback-Leibler散度。我们在表达式中识别出了模型判别和数据生成过程之间的Jensen-Shannon散度:

当两个分布之间的Jensen-Shannon散度总是为非负,并且当他们相等时为0时,我们可以说明C^*=-log(4)C(G)的全局最小解,并且只存在唯一解p_d = p_{data}。例如:生成模型能够完美地近似数据分布。

算法1的收敛性

命题2:如果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 \mathcal{A}}f_\alpha (x)以及f_\alpha (x)为凸函数对于任意参数\alpha,那么\partial f_\beta(x)\in \partial f如果\beta =arg~ sup_{\alpha \in \mathcal{A}}f_\alpha (x)。这等价于给定对应的G和最优的D,计算p_g的梯度更新。如定理1所证明的,sup_DU(p_g,D)是关于p_g的凸函数且有唯一的全局最优解,因此,当p_g的更新足够小时,p_g收敛到p_x

实际上,对抗网络通过函数G(z;\theta_g)表示p_g分布的有限簇,并且我们优化\theta_g而不是p_g本身。使用一个多层感知机来定义G在参数空间引入了多个临界点。然而,尽管缺乏理论证明,但在实际中多层感知机的优良性能表明了这是一个合理的模型。

文献:https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
代码借鉴:GitHub - goodfeli/adversarial: Code and hyperparameters for the paper "Generative Adversarial Networks"

大佬的PPT:http://ice.dlut.edu.cn/valse2018/ppt/Generative_Adversarial_Nets_JSFeng.pdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容