GANs基础调研报告
来源:互联网 发布:国信金太阳软件手机版 编辑:程序博客网 时间:2024/06/06 10:43
目录
GAN
DCGAN
WassersteinGAN
Conditional GAN
1.1 GAN的原理
核心是:x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。D(x)表示D网络判断真实图片是否真实的概率,D(G(z))是D网络判断G生成的图片的是否真实的概率。
方法是构建两个网络,一个G生成网络,一个D区分网络。训练,G网络loss log(1-D(G(z))),D网络loss -(log(D(x))+log(1-D(G(z)))。数据输入,G网络输入noise。D输入混合G输出数据及样本数据。G网络训练,D(G(z))趋近于1,G loss最小。D网络训练 2分类,分清真实数据和生成数据,真实数据D输出趋近1,生成数据输出D(G(z))趋近0。
1.2 GAN的好处和缺点
1、Gans是一个Implict的建立学习密度函数过程,减少了人为的建模。
2、GAN的生成过程不需要繁琐的采样序列,可以直接进行新样本的采样和推断,提高了新样本的生成效率。
1、容易只找到局部最优点,非全局最优点。
2、判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑,所以,根本无法收敛很难稳定训练。
(实质上是1、等价优化的距离衡量(KL散度、JS散度)不合理,2、生成器随机初始化后的生成分布很难与真实分布有不可忽略的重叠。)
2.1 DCGAN的原理
DCGAN,使用卷积神经网络,实现有效训练,拓展维度。去掉G网络D网络的pooling layer。在G网络D网络中使用Batch Normalization。去掉全连接隐藏层。G网络最后一层用Tanh,其它层用RELU。D网络每层用LeakyRELU。
Z是噪声,也就是G的输入,可以是高斯噪声,一般为均匀噪声;
经过G之后生成 fake image ——G(z),然后将G(z)和X作为D的输入,最后的D的输出表示该数据为real的可能性,该值范围0-1。
2.2 DCGAN的好处和缺点
将卷积网络引入到生成式模型当中来无无督督的训练,利用卷积网络强大的特征提取能力来提高生成网络的学习效果。
同样大小的数据集的分类任务情况下,比监督训练的模型较大,如果较大的话,会出现,生成图片的不稳定。主要体现就是生成的图片,在开始的时候又趋于变优的过程,最后却变得越来越模糊。
3.1 WassersteinGAN的原理
判别器最后一层去掉sigmoid
生成器和判别器的loss不取log
每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行
对于损失函数,由原来的部分+梯度惩罚,现在不需要weight clipping以及基于动量的优化算法都可以使用了,他们在这里就用了Adam。同时可以拿掉Batch Normalization。
3.2 WassersteinGAN的好处和缺点
判别器训练到接近最优,不必担心梯度消失的问题。
用Wasserstein距离代替JS散度,同时完成了稳定训练和进程指标的问题。Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。
改变生成器两次迭代之间,判别器的迭代次数,这两种常见的变动都会使得Wasserstein距离的拟合误差就与上次不一样,拟合误差比较大。
如果WGAN和原始GAN都使用多层全连接网络(MLP),不用CNN,WGAN质量会变差些,但是原始GAN不仅质量变得更差,而且还出现了collapse mode,即多样性不足。在所有WGAN的实验中未观察到collapse mode,论文作者也只说应该是解决了。
4.1 Conditional GAN的原理
主要思想是通过label值来引导生成模型的输出,比如我们给label=0,那对于mnist,也同样输出表示0的图片。
我们的G的输入不再是具有一定维度的Noisy —— z,而是z 和y1。对于D的话,输入也不再是real image——x,而是 x和y2。 其中y=y1=y2,表示,是同样的标签,也意味这通过label——y将z和x联系起来,y起到连接或者区分的作用。
那对抗的目标函数为:
4.2 Conditional GAN的好处和缺点
GAN无监督变有监督,输入分类,输出图像。
CGAN尝试在生成器G和判别器端加入额外的条件信息(additional information)来指导GAN两个模型的训练,从而确定合适的label。
参考文献(论文地址):
https://arxiv.org/pdf/1701.07875.pdf (WGAN)
https://arxiv.org/pdf/1406.2661.pdf (GAN)
https://arxiv.org/pdf/1703.10717.pdf(BEGAN)
https://arxiv.org/pdf/1411.1784.pdf(CGAN)
https://arxiv.org/pdf/1605.05396.pdf(image)
等
- GANs基础调研报告
- PhoneGap架构基础及工作原理调研报告
- PhoneGap架构基础及工作原理调研报告
- Nutch使用调研报告
- 如何写调研报告
- 软件培训调研报告
- 调研报告的格式
- 软件培训调研报告
- 软件培训调研报告
- 软件培训调研报告
- 软件培训调研报告
- 机器翻译市场需求调研报告
- Nutch调研报告(1)
- Nutch调研报告(2)
- 即时通讯调研报告
- 网络爬虫调研报告
- 网络爬虫调研报告
- 网络爬虫调研报告
- android 动画实现中遇到的问题及源码
- KBase数据库,出现“没有导入任何对象,该对象可能已经存在”。
- Gym 100273L Language Recognition(Trie+Hash)
- js学习笔记1
- Objective-C中编程小技巧
- GANs基础调研报告
- dubbo+zipkin的服务跟踪
- Socket通信介绍
- 随机色产生的宏
- Flex 学习之路之二 Flex 与Java的交互
- ios-自定义转场动画基础
- leetcode 1. Two Sum
- tomcat + jenkins +windows
- 06.类的加载器二(创建自己的类加载器)