Generative Adversarial Nets 论文阅读报告

摘要

本文提出了一种通过对抗过程训练生成模型的框架。这一框架下,同时训练生成模型 G G G 和判别模型 D D D。生成模型 G G G 学习数据分布,判别模型 D D D 判别输入的数据来自训练用的数据集的概率 p p p(来自数据集的概率为 p p p,来自生成模型 G G G的概率为 ( 1 − p ) (1-p) (1p))。训练的目的是,对于 G G G 生成的数据,最大化 D D D 判别数据是否来自训练集的错误率,这意味生成模型输出的数据很好地拟合了数据集的分布。

G G G D D D都定义为多层感知机(MLP),因此用反向传递更新,所以这一框架不需要马尔可夫链或最大似然估计等概率计算方法。

1. 引入

深度学习目前获得的巨大成功主要与判别网络相关(如分类网络)。这些成果是基于判别网络具有很好的梯度特性,可以通过反向传播进行参数更新来从数据中学习信息。相对于此,运用生成模型,面临着需要估计难以处理的概率计算的问题,如利用最大似然估计等相关方法;生成模型同样难以利用分段线性单元在生成内容中的优点。因此,生成模型的现有影响力远远小于判别模型。

接下来我们通过一个比喻来认识对抗网络的框架。我们把生成网络比做印假钞的罪犯,苦心孤诣地印制难以分辨的假钞;判别网络则是警察,致力于辨认出假钞犯印制的钞票。双方随着对方的进步,提升自己制假/反造假的能力。

判别模型通过训练提升自己判决一个输入样本是生成模型的输出还是训练集中的真实样本的能力。对抗过程同时优化生成模型和判别模型,直到判别模型无法分辨生成模型的输出。

本工作中,输入生成模型(一个多层感知机)的是随机噪声,判别模型也同样是一个多层感知机。本工作中,训练只用到了反向传播和dropout算法;输出生成模型的一个样本数据,只进行一次前向传播。不需要其他的概率估计运算或马尔可夫链。

2. 文献综述

deep Boltzmann machines (DBMs) 及其变种,不具备良好的梯度特性,使得学习过程很困难。

Deep belief networks (DBNs) 是由一个无向层和多个有向层组合的混合模型,无向层和有向层的计算存在困难。

score matching 及 noise-contrastive estimation (NCE),其中一些模型甚至无法导出可解的非标准化的概率密度。另外,NCE 应用一个固定的噪声分布,因此即使学习到了正确的分布信息,学习过程也相当缓慢。

3. 对抗网络(Adversarial nets)

  • 生成模型 G G G

    生成模型是一个通过多层感知机实现的可导函数 G ( z , θ g ) G(z,\theta_g) G(z,θg)

    • z z z 是生成模型的输入,在本工作中使用随机噪声;

      θ g \theta_g θg 是多层感知机的参数

    • 在训练过程中,生成模型要优化的是对于数据集 x x x 的分布 p g p_g pg

  • 判别模型 D D D

    判别模型也定义为一个多层感知机 G ( x , θ d ) G(x,\theta_d) G(x,θd),输出一个数值,表示输入的 x x x 来自数据集,而不是 p g p_g pg 的概率。

  • 训练:

    • 判别模型 D D D 的训练目标是,对于真实数据集 x x x G G G 生成样本数据,都能更加准确地判断数据来源,即最大化 D D D 准确判断的概率。

    • D D D G G G 的训练是同时的,训练 G G G的目标是,让 D D D 更可能将 G G G 生成的数据错误地判断为 x x x中的真实数据,以达到“以假乱真”的目的。即判断为 G G G 生成的概率最小,如下式:

      log ⁡ ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1D(G(z)))

    • 概况来讲, D D D G G G 的关系是双人极大极小游戏,可以表示如下:

      min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min\limits_{G}\max\limits_{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)))] GminDmaxV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

      只要 G G G D D D 网络的拟合能力足够,这一优化准则可以从数据中恢复出生成用的数据分布。

  • 算法框架:
    在这里插入图片描述

    • 损失函数:

      • L θ d = − ( E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] ) L_{\theta_d}=-(\mathbb{E}_{x\thicksim p_{data}(x)}[\log D(x)]+\mathbb{E}_{z\thicksim p_{z}(z)}[\log(1-D(G(z)))]) Lθd=(Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))])
      • L θ g = E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] L_{\theta_g} = \mathbb{E}_{z\thicksim p_{z}(z)}[\log(1-D(G(z)))] Lθg=Ezpz(z)[log(1D(G(z)))]
    • k k k D D D 更新,更新一次 G G G

      D D D 更新过于频繁,容易导致过拟合。因此,轮流进行 k k k D D D更新和一次 G G G 更新。

4. 实验

4.1 实验数据

  • MNIST:手写数字数据集
  • Toronto Face Database(TFD):多伦多人脸数据库
  • CIFAR-10:图像分类数据集,60000张 32 ∗ 32 ∗ 3 32*32*3 32323 图像,对应10个类别

4.2 实验细节

  • 网络设置
    • G G G: 激活层用rectifier linear和sigmoid函数,噪声仅作为最底层的输入
    • S S S: 激活层用maxout函数,并引入dropout

4.3 实验结果

下图是训练后的生成网络产生的图像样本。

作者对于效果的评价是,我们并不做出断言——这些结果比已有方法的结果更好,但是这些效果是与当前较好的方法的效果相当的,并且我们强调对抗框架的潜力。

在这里插入图片描述

5. 优点和缺点

这一部分,作者给出了对于GAN的优点以及缺点的分析。

5.1 优点

从前文的分析,我们看到,GAN不需要马尔可夫链和训练过程中的交互。并且GAN可以用于更多的模型。这些可以归纳为GAN在计算性能上的优越性。除此之外,GAN的训练过程中,生成网络的参数不会直接根据真实数据集更新,而是经过判别网络进行参数更新。意味着输入数据的部分信息不会直接复制到生成网络中,这让GAN具备统计学上的优势。另外,输入GAN同样可以学习表示非常尖锐、退化的分布,这是马尔可夫链等方法不具备的。

5.2 缺点

GAN的缺点主要在于 p g x p_g{x} pgx 的形式不明确。这种不需要预先建模的方法,对于较大的图片(较多的像素),如果基于简单 GAN ,结果可能不可控。

另外训练过程中, G G G 要与 D D D 保持足够的同步,否则容易导致 D D D 过拟合。

6. 结论和展望

以下是作者对GAN的拓展工作的展望:

  • G G G D D D 的输入可以是条件生成模型 p ( x ∣ c ) p(x | c) p(xc)
  • 可以通过训练一个辅助模型来推理交互,以根据给定 x x x 预测 z z z 。这和wake-sleep算法训练出的推理网络类似,但是GAN具有优势——在生成模型训练完成后,这个辅助网络可以对固定的生成模型进行训练。
  • GAN可以拟合所有的条件概率 p ( x s ∣ x s ′ ) p(x_s|x_{s'}) p(xsxs),其中 s s s 条件模型集的关于 x x x 的一个子集,条件模型集中的各个模型通过共享参数的训练得到。本质上讲,我们可以用生成对抗网络对 deterministic MP-DBM 来进行随机性拓展。
  • 半监督学习:当打好标签的数据集数据样本有限时,判别网络的特征可以提高分类效果。
  • 效率改善:用更好的方法协调 G G G D D D ,或训练期间确定更好的分布来采样 z z z,能够大大加速训练过程。

参考资料

  1. 论文原文:Generative Adversarial Nets https://arxiv.org/pdf/1406.2661.pdf
  2. GAN:Generative Adversarial Nets论文阅读 https://www.jianshu.com/p/9d369b857178
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值