GANs学习(GAN、wGAN)
来源:互联网 发布:为什么安装不了软件 编辑:程序博客网 时间:2024/06/07 05:31
GANs学习(GAN、wGAN)
原始GAN
GANs (Generative Adversarial Networks) [1]是2014年 Goodfellow 提出的,一种zero-sum博弈过程:生成器[generator] 和判别器[discriminator]之间的此消彼长
D和G play a two-player minimax game:
上式可以看出,判别器尽可能将来自真实数据的样本判别为1,将来自生成器的样本判别为0,即:尽可能的从生成数据中区分出真实的数据;生成器,最小化
训练时,交替更新Discriminator 和 Generator。论文中的伪代码:
生成器函数采用最小化
Global Optimality pdata=pg
- G fixed, optimal discriminator D :
V(G,D)=∫xpdata(x)log(D(x))dx+∫zpz(z)log(1−D(G(z)))dz=∫xpdata(x)log(D(x))+pg(x)log(1−D(x))dx
两边求导,可得最优的Discriminator D is:D∗G(x)=pdata(x)pdata(x)+pg(x)
ThusC(G)=Ex∼pdata(x)log(pdata(x)pdata(x)+pg(x))+Ex∼pg(x)log(pg(x)pdata(x)+pg(x)) D fixed, optimal generator G:
Theorem 1. The global minimum of the virtual training criterion C(G) is achieved if and only ifpg=pdata . At that point, C(G) achieves the value −log 4。
证明:
已知pg=pdata , 那么D∗G=12 。 C(G) =log12+log12=−log4 。C(G)=V(D∗G ,D)减去它得到:C(G)=−log(4)+KL(pdata||pdata+pg2)+KL(pg||pdata+pg2)=−log(4)+2×JSD(pdata||pg)
两个分布之间的Jensen–Shannon 距离总是非负的,且当pdata=pg 时JSD为0。因而C(G)的全局最小值为C∗=−log(4) 。wGAN
原始GAN存在着训练困难、生成样本缺乏多样性、生成器和判别器loss函数无法指示训练过程等问题,Wasserstein GAN通过简单的改变,实现了巨大的突破。主要改变有以下几点:
1. 判别器最后一层去掉sigmoid(这是由Wasserstein 距离决定的);
2. 生成器和判别器的loss不取log
3. 每次更新判别器的参数之后,把他们的绝对值限制到不超过一个常数c
4. 不要用基于动量的优化算法(Adam etc.),推荐RMSProp, 简单的SGD也可以
论文中的伪代码:
Wasserstein距离又叫 Earth-Mover(EM)距离,“推土机”距离。
直观上可以理解为:在
Wasserstein距离相比KL散度、JS散度的优势在于,即使两个分布没有重叠,Wasserstein距离任然能够反应他们的远近。
[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
[2]Arjovsky M, Chintala S, Bottou L. Wasserstein generative adversarial networks[C]//International Conference on Machine Learning. 2017: 214-223.
- GANs学习(GAN、wGAN)
- GAN学习笔记:WGAN
- GAN——WGAN
- 不要怂,就是GAN (生成式对抗网络) (六):Wasserstein GAN(WGAN) TensorFlow 代码
- Wasserstein GAN (WGAN)两篇论文的中文详细介绍
- GAN的统一架构与WGAN
- 从传统GAN到improved WGAN
- GAN学习笔记(1):GAN综述
- 通俗|令人拍案叫绝的Wasserstein GAN 及代码(WGAN两篇论文的中文详细介绍)
- GAN 学习 (1)
- GAN 学习 (二)
- 深度学习(五十四)图片翻译WGAN实验测试
- 收敛速度更快更稳定的Wasserstein GAN(WGAN)
- WGAN
- GANs学习系列(1):GANs最新进展一
- GANs学习系列(2):GANs最新进展二
- 最小二乘GAN:比常规GAN更稳定,比WGAN收敛更迅速
- GAN学习笔记(一)——初探GAN
- Linux与JVM的内存关系分析
- DOM事件流
- C语言 内存操作函数
- 手机端弹出提示框,最好用的移动端提示框SweetAlert 插件
- Turtle库
- GANs学习(GAN、wGAN)
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
- 学习笔记-Apache POI各jar包的介绍
- SVM参数详解
- oracle not available
- python 爬虫 网络小说下载(静态网站)
- DFS序详解 Codeforces Round #442 E
- asp.net自定义错误页面
- QPainter 中的setWindow与setViewPort