"Generative Adversarial Nets" Notes
- Ian J.Goodfellow
中文翻译:https://blog.csdn.net/wspba/article/details/54577236
代码实现:https://github.com/devnag/pytorch-generative-adversarial-networks/blob/master/gan_pytorch.py
Abstract
G:恢复训练样本的分布
D:在任何分布下产生错误的概率都是1/2
1. Introduction
深度学习的目标是用丰富的层次模型(rich, hierarchical models),表达人工智能领域任意种类数据的分布(distribution)。
当前深度学习领域最为成功的,是判别模型(discriminative models),主要成功基于反向传播(backpropagation)和丢弃(dropout)算法。
生成模型(generative models)的成就较少,原因在于计算极大似然估计(maximum likelihood estimation)和相关策略的概率计算困难,以及在生成的上下文中(generative context)很难使用分段线性单元的好处。本文提出了一个新的生成模型来解决这些问题。
这篇文章的生成模型(Generator)和判别模型(Discriminator)都是用多层感知机(multiplayer perceptron, 即全连接层)实现的,用简单有效的反向传播算法和dropout算法就可以训练。不需要近似推理和马尔可夫链。
2. Related work
数学基础不够,看不懂。
3. Adversarial nets
G(z; θg):多层感知机,可微函数,输入噪音,通过多层感知机参数θg生成。
D(x; θd):多层感知机,输出一个单独的标量。
训练D:最大化分配正确标签的概率(输入是真实图像和生成图像, training examples and samples from G)。
训练G:最小化 log(1 - D(G(z)))

上述方程无法为G提供足够的梯度来学习,训练初期,G生成的图像很差,D会以高置信度来拒绝生成的样本,因为他们和训练数据明显不同。这个时候,log(1 - D(G(z))) 就会饱和。
因此在训练G的时候,我们选择最大化 log(D(G(z))) 而不是最小化 log(1 - D(G(z))) 。
这样就能在训练初期为G提供较大的梯度。
这里可能不是说的很清楚,原文:This objective function results in the same fixed point of the dynamics of G and D but provides much stronger gradients early in learning.

4. Theoretical Results
5. Experiments
6. Advantages and disadvantages
7. Conclusions and future work
"Generative Adversarial Nets" Notes的更多相关文章
- 论文笔记之:Conditional Generative Adversarial Nets
Conditional Generative Adversarial Nets arXiv 2014 本文是 GANs 的拓展,在产生 和 判别时,考虑到额外的条件 y,以进行更加"激烈 ...
- (转)Deep Learning Research Review Week 1: Generative Adversarial Nets
Adit Deshpande CS Undergrad at UCLA ('19) Blog About Resume Deep Learning Research Review Week 1: Ge ...
- 论文笔记之:Generative Adversarial Nets
Generative Adversarial Nets NIPS 2014 摘要:本文通过对抗过程,提出了一种新的框架来预测产生式模型,我们同时训练两个模型:一个产生式模型 G,该模型可以抓住数据分 ...
- Generative Adversarial Nets[BEGAN]
本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...
- Generative Adversarial Nets[content]
0. Introduction 基于纳什平衡,零和游戏,最大最小策略等角度来作为GAN的引言 1. GAN GAN开山之作 图1.1 GAN的判别器和生成器的结构图及loss 2. Condition ...
- Generative Adversarial Nets[CycleGAN]
本文来自<Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks>,时间线为2017 ...
- Generative Adversarial Nets[CAAE]
本文来自<Age Progression/Regression by Conditional Adversarial Autoencoder>,时间线为2017年2月. 该文很有意思,是如 ...
- Generative Adversarial Nets[Wasserstein GAN]
本文来自<Wasserstein GAN>,时间线为2017年1月,本文可以算得上是GAN发展的一个里程碑文献了,其解决了以往GAN训练困难,结果不稳定等问题. 1 引言 本文主要思考的是 ...
- Generative Adversarial Nets[Pre-WGAN]
本文来自<towards principled methods for training generative adversarial networks>,时间线为2017年1月,第一作者 ...
随机推荐
- mui的openWindowWithTitle()参数及说明
mui.openWindowWithTitle({ url: 'xxx.html', //String类型,要打开的界面的地址 id: 'id', //String类型,要打开的界面的id style ...
- linux下pip错误 ImportError: No module named 'pip_internal'
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate sudo python get-pip.py
- IoC和AOP扩展
一.构造注入 二.使用p命名空间注入属性值 三.注入不同数据类型 <?xml version="1.0" encoding="UTF-8"?> &l ...
- vuejs 预渲染插件 prerender-spa-plugin 生成多页面 -- SEO
前端vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种: 1.SSR服务器渲染 了解服务器渲染请进,这里不做记录. 2.预渲染模式 这比服务端渲染要简单很多 ...
- 记一次PHP实现接收邮件信息(我这里测试的腾讯企业邮件)
PHP实现接收邮件信息(我这里测试的腾讯企业邮件) , 其他的类型的没有测,应该只要更换pop3地址 端口号就可以. 代码如下(代码参考网络分享): <?php //此处查看链接状态 heade ...
- delphi 2010以上 安装 第三方控件
delphi-“can't be installed because it is not a design time package. 一定要先装 dcl*.dpk ----------------- ...
- scala 获取当前时间的两种方式
在编写程序时,有时需要获取当前时间,这在记录异常信息.获取程序运行耗时很有用处 方式一: val time1=System.currentTimeMillis() 这种方式获取的是程序运行到此的毫秒数 ...
- docker swarm的应用----docker集群的构建
一.docker安装 这里我们安装docker-ce 的18.03版本 yum -y remove docker 删除原有版本 #安装依赖包 [root@Docker ~]# yum -y i ...
- linux线程篇 (一) 线程的基本概念
--进程 一个正在执行的程序,资源分配的最小单位 进程中的事情需要按照一定顺序区执行的,但是如何在一个进程中让一些事情同时发生呢?子进程存在缺陷 --引进多线程 --线程:有时又称轻量级进程,程序执行 ...
- C语言实验报告(四)完全数
完全数,又称完美数或者完备数.是一些特殊的自然数.它所有的真因子的和,恰好等于它本身.编程找出1000以内的所有完全数,并输出该数成为完全数的因子. (例如6=1+2+3.按照6,its factor ...