目录

(一)预备知识

(二)总体介绍

(三)相关工作

(四)Adversarial nets && Theoretical Results

(五)实验结果

(六)新框架的优缺点分析:

(七)总结及展望


(一)预备知识

  • 1. 知识点(资料来源于维基百科)

马尔可夫链(Markov chain):又称离散时间马尔可夫链(discrete-time Markov chain,DTMC),为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。马尔科夫链作为实际过程的统计模型具有许多应用。

马尔可夫链蒙特卡洛(Markov chain Monte Carlo,MCMC)方法(含随机游走蒙特卡洛方法)是一组用马氏链从随机分布取样的算法,之前步骤的作为底本。步数越多,结果越好。 创建一个具有期望属性的马氏链并非难事,难的是如何决定通过多少步可以达到在许可误差内的稳定分布。一个好的马氏链具有快速混合——从开始阶段迅速获得的一个稳定状态——请参考马氏链最大时间。 因于初始样本,最常见的MCMC取样只能近似得到分布。复杂的MCMC改进算法如过往耦合,但是会消耗更多的计算资源和时间。

  • 2. 背景知识

到目前为止(2014年),深度学习中最引人注目的成功涉及判别模型,通常是那些将高维、丰富的​​感官输入映射到类标签的模型。这些惊人的成功主要基于反向传播和丢失算法,使用具有特别良好梯度的分段线性单元。深度生成模型的影响较小,这是由于难以估计在最大似然估计和相关策略中出现的许多棘手的概率计算,并且由于难以在生成上下文中利用分段线性单位的优势。本文提出一个新的框架,去绕过这些问题。

(二)总体介绍

本文提出新框架:通过对抗过程估计生成模型。

该框架可以为多种模型和优化算法生成特定的训练算法。

我们同时训练两个模型:

  • 生成模型 G:捕获数据分布
  • 判别模型 D:估计样本来自训练数据而不是G的概率。

G 的训练过程是最大化 D 犯错的概率。在 G 和 D 由多层感知器定义的情况下,整个系统可以通过反向传播进行训练。在训练或生成样本期间不需要任何马尔可夫链或展开的近似推理网络。

在GAN的网络框架中,生成模型与判别模型对抗,判别模型学习确定样本是来自模型分布还是数据分布。生成模型与判别模型的竞争促使双方改进他们的方法,直到最后生成的结果与原始数据无法被区分。

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

(三)相关工作

1. 具有潜在变量的有向图模型的替代方法是具有潜在变量的无向图模型。

此类模型中的相互作用表示为非标准化潜在函数的乘积,通过对随机变量的所有状态进行全局求和/积分来标准化。这个量(配分函数)及其梯度对于除了最微不足道的实例之外的所有实例都是难以处理的,尽管它们可以通过马尔可夫链蒙特卡罗 (MCMC) 方法进行估计。

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

3. 提出了不近似或限制对数似然的替代标准,例如分数匹配和噪声对比估计 (NCE)。NCE 使用固定的噪声分布,所以在模型学习了一小部分观察变量的近似正确分布后,学习速度会急剧下降。

4. 一些技术不涉及明确定义概率分布,而是训练生成机器从所需分布中抽取样本。
这种方法的优点是可以将此类机器设计为通过反向传播进行训练。

(四)Adversarial nets && Theoretical Results

关于对抗网络的原理,在李宏毅老师关于GAN相关的课程中有很详细的讲解,参见下面两个笔记中的Theory behind GAN部分。

https://blog.csdn.net/zzz_qing/article/details/130256056?spm=1001.2014.3001.5501

https://blog.csdn.net/zzz_qing/article/details/130256197?spm=1001.2014.3001.5501

这里再补充点论文里的小细节(老师上课也有提到过,不过在上面笔记没有详细纪录):

1. 实际训练中,在训练的内部循环中优化 D 以完成在计算上是禁止的,并且在有限数据集上会导致过度拟合。我们需要在优化 D 的 k 个步骤和优化 G 的一个步骤之间交替。这导致 D 保持在其最优解附近,只要 G 变化足够慢。

训练过程如下:

2. 在学习早期,当 G 较差时,D 可以拒绝具有高置信度的样本,因为它们明显不同于训练数据。在这种情况下,log(1 − D(G(z))) 饱和。我们可以训练 G 来最大化 log D(G(z)),而不是训练 G 来最小化 log(1 − D(G(z)))。这个目标函数导致 G 和 D 的动力学有相同的不动点,但在学习的早期提供了更强的梯度。

3. 关于图D,实际上D训练到最后不会出现这种equal to 1/2 everywhere的情况。比如很多时候Discriminator训练到后面,还是可以用来做classification。

(五)实验结果

实验数据集:MNIST, TFD, CIFAR-10

激活函数:

  • generator: rectifier linear activations & sigmoid activations
  • discriminator: maxout activations

训练:

  • generator: 仅使用噪声作为生成器网络最底层的输入(理论框架允许在生成器的中间层使用 dropout 和其他噪声)
  • discriminator: Dropout

模型评估:通过将高斯 Parzen 窗口拟合到使用 G 生成的样本并报告该分布下的对数似然来估计 pg 下测试集数据的概率。σ 参数的高斯分布是通过对验证集的交叉验证获得的。结果报告如下表:

这种估计可能性的方法具有较高的方差,并且在高维空间中表现不佳(不过这在当时算是最佳方法)。

下面两张图展示了训练后从生成器网络中抽取的样本:

文中还给出了对涉及模型的每个主要操作的深度生成建模的不同方法所遇到的困难的总结,如下表:

(六)新框架的优缺点分析:

缺点:训练时D必须和G同步变好,需要在优化 D 的 k 个步骤和优化 G 的一个步骤之间交替。

优点:

  • ① 不需要马尔可夫链,只使用反向传播来获得梯度,学习过程中不需要推理,并且可以将多种功能纳入模型。对抗模型可能从生成器网络中获得一些统计优势,生成器网络不是直接使用数据示例更新,而是仅使用流经鉴别器的梯度进行更新。这意味着输入的组件不会直接复制到生成器的参数中。
  • ② 对抗网络的另一个优点是它们可以表示非常尖锐甚至退化的分布,而基于马尔可夫链的方法要求分布有些模糊,以便链能够在模式之间混合。

(七)总结及展望

该框架允许许多直接的扩展:

  • 可以通过将 c 作为输入添加到 G 和 D 来获得条件生成模型 p(x | c)。
  • 学习的近似推理可以通过训练辅助网络来预测给定的 z 来执行X。
  • 通过训练一组共享参数的条件模型,可以对所有条件 p(xS | xS/) 进行近似建模,其中 S 是 x 的索引的子集。
  • 半监督学习:当标记数据有限时,鉴别器或推理网络的特征可以提高分类器的性能。
  • 效率提高:通过划分更好的协调 G 和 D 的方法或确定更好的分布以在训练期间从中采样 z,可以大大加快训练。

The first GAN——Generative Adversarial Nets相关推荐

  1. 简述一下生成对抗网络GAN(Generative adversarial nets)模型?

    简述一下生成对抗网络GAN(Generative adversarial nets)模型? 生成对抗网络GAN是由蒙特利尔大学Ian Goodfellow在2014年提出的机器学习架构. 要全面理解生 ...

  2. GAN(Generative Adversarial Nets)研究进展

    想与大家分享的是图像生成中一些工作. 这些工作都基于一大类模型,Generative Adversarial Networks(GAN).从模型名称上甚至都可以看出一些发展轨迹:GAN->CGA ...

  3. GAN —— 《Generative Adversarial Nets》

    <Generative Adversarial Nets> 生成式对抗网络: 作者:lan Goodfellow: 单位:加拿大蒙特利尔大学: 发表会议及时间:NeurlPS(NIPS) ...

  4. 生成式对抗网络GAN(Generative Adversarial Nets)论文笔记

    1.介绍 本文基本从2014年<Generative Adversarial Nets>翻译总结的. GAN(Generative Adversarial Nets),生成式对抗网络.包含 ...

  5. Generative Adversarial Nets(GAN)

    一:概述 下图是Generative Adversarial Nets这篇文章的摘要部分,对GAN进行一个整体介绍:GAN包括两个模型,捕获数据分布的生成模型G,以及一个判别模型D.这个框架对应于一个 ...

  6. Generative Adversarial Nets[BEGAN]

    本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...

  7. PaperNotes(5)-Conditional Generative Adversarial Nets

    Conditional GAN 论文阅读笔记 Abstract 1 Introduction 2 Related Work 3 Conditional Adversarial Nets 3.1 Gen ...

  8. 【GANs】Generative Adversarial Nets

    [GANs]Generative Adversarial Nets 1 GAN 1.1 GANs的简介 1.2 思想与目标函数 1.3 GAN代码 1.4 全局最优推导 1.5 GANs方向展望 1 ...

  9. AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets

    文章目录 概 主要内容 符号说明 Original Generator Transfer the Generator Wang X., He K., Guo C., Weinberger K., Ho ...

最新文章

  1. Android 高清加载巨图方案 拒绝压缩图片
  2. Leetcode 62. Unique Paths
  3. 【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
  4. 快的打车联合创始人兼技术副总裁闻诚:CTO要有“334”能力
  5. mysql分页limit运算,MySQL的limit分页查询及性能问题
  6. oppoa9处理器怎么样_oppoA9究竟怎么样?看看与三星A60元气版的对比吧
  7. python json解析 超过对象_json序列化数据超出最大值(maxJsonLength)
  8. php什么是变量6,PHP变量是什么
  9. springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
  10. Django 前后端数据传输、ajax、分页器
  11. JQ实现列表增删以及上下移动
  12. linux 脚本map,shell中map的用法
  13. 双目测距(一)--图像获取与单目标定
  14. jieba 结巴分词详解
  15. 【资料合集】阿里巴巴开源技术汇总——内含115个软件与100+技术文档、PDF下载
  16. [Java] POJ 2387 最短路问题
  17. 【细小碎的oi小知识点总结贴】不定时更新(显然也没人看qwq)
  18. 【教学类-06-01】测20以内加减法的最大数量(优化版 20220122 VS python 20以内加减法)
  19. 我写的Javascript贪食蛇v1
  20. VUE纯前端导出excel表格功能《转载》

热门文章

  1. ios可视化编程 UI高级 UI_13
  2. JavaScript事件驱动模型
  3. iOS Bilibili/ijkplayer 集成与使用
  4. java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  5. 信通院 移动安全蓝皮书 数据安全管理案例 学习笔记
  6. MySql 表空间查询
  7. 精选汇总 | 开心一刻
  8. python打开文件切片_收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)...
  9. 2022年节约用水倡议书
  10. 猿创征文|【国产数据库实战】一文学会应用SqlSugar访问及操作人大金仓数据库