前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GAN、DCGAN、WGAN、SRGAN 演变与改进

GAN、DCGAN、WGAN、SRGAN 演变与改进

作者头像
数据派THU
发布2022-05-25 12:11:01
5600
发布2022-05-25 12:11:01
举报
文章被收录于专栏:数据派THU
代码语言:javascript
复制
来源:信息网络工程研究中心本文共1000字,建议阅读5分钟本文带你了解GAN、DCGAN、WGAN、SRGAN。

GAN

生成网络接收一个随机噪声,生成逼真图像;

判别网络接收一个图像,生成该图像是真实的概率(0~1);

GAN网络中存在两个不同的网络,训练方式采用的是对抗训练方式,其中G的梯度更新信息来自于判别器D,而不是来自数据样本。

GAN不适合处理离散形式的数据,比如文本。

使用JS散度作为距离公式

DCGAN

DCGAN(deep convolutional generative adversarial networks)采用深度卷积的生成对抗网络。

改进 1.取消Pooling层,改用加入stride的卷积代替。同时用卷积替代了全连接层。 2. 在D和G网络中均加入BN层。 3. G网络使用ReLU作为激活函数,最后一层使用tanh。 4. D网络中使用LeakyReLU作为激活函数 5. 使用adam优化器训练

WGAN

WGAN使用了新的距离定义 Wasserstein Distance(推土机距离),在理论上给出了GAN训练不稳定的原因,即交叉熵(JS散度)不适合衡量具有不相交部分的分布之间的距离,转而使用wassertein距离去衡量生成数据分布和真实数据分布之间的距离,理论上解决了训练不稳定的问题。

Wasserstein距离又叫Earth Mover's Distance(EMD,推土机距离),参考: 几个常用的计算两个概率分布之间距离的方法以及python实现

WGAN的提升

1. 解决了GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度; 2. 几乎解决了mode collapse(模式崩溃)问题,保证生成样本的多样性; 3. 提供了具有意义的价值函数,可以分别判断判别器和生成器是否已经收敛。(原始GAN中如果D的效果不好,我们不知道是G生成的好,还是D判别的不好)

WGAN的改进

1. 去掉最后一层的sigmoid 2. 生成器和判别器的loss不取log 3. 限制更新后的权重的绝对值到一定范围内 4. 使用RMSprop或SGD优化,不建议使用基于动量或Adam的优化算法

SRGAN

SRGAN损失函数

生成器损失函数分为 内容loss 和 对抗网络 loss;

内容损失又包括 像素空间的最小均方差和VGG特征的欧式距离。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GAN
  • DCGAN
  • WGAN
  • SRGAN
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档