学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

https://www.cnblogs.com/frombeijingwithlove/


一 Gan是随机数据用全连接对抗生成新数据2015
二 DCGan是随机数据用卷积网络生成新数据2016
三 CGan条件gan用给定的语义z +条件y向量(假设语义信息是‘1’)用卷积网络生成新数据condition
四 Wasserstein GAN (WGAN)针对gan分析解决训练和崩溃问题(可以是fn或cnn)
五 Super-ResolutionGan超分辨率图像
六 CycleGan 输入图像无需配对
七 pix2pix Gan 输入图像最好配对(图像增强,去马赛克)

意义:造出新的类似但不是原样本的数据(风格变换、白天变黑夜)

关键点:分类能力提高,生成能力提高,博弈,直到纳什均衡

1 G1不变训练D1):

第一代v1-G随机生成高斯噪声的图像,训练第一代v1-D 直到识别出真假(二分类器交叉熵,训练loss逼近标签真值01或10)

2 D1不变训练G2):

训练v2-G生成器训练使生成的更接近真的,从而使v1-D无法分别(即无法输出接近01真假标签,而是0.5左右无法判断的标签)

- (G2不变训练D2):训练D2分类G2,直到识别G2,提高分类能力

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
价值函数合并:交替固定(先固定G提升D)
训练G的时候关注后者损失,训练D的时候两者都要看
先提升D能力,maxD优化梯度上升优化D,后提升G,minG梯度下降优化G
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
损失函数分开分析:设伪造的是0,后者是提升G欺骗D的损失,minG梯度下降
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

1 训练图示过程(黑:真分布样本始终不变)

  • 1、如a图,先训练D能分别真假(黑绿),使D从a变到b,提高了分类能力
  • 2、如c图,生成器绿色提高创作能力接近黑色,蓝色分别器判断误差较大(无法正确判断)
  • 3、直到均衡,G相真的,D分别不出真假
    学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

难点:练不出均衡,直接练出原型

  • 训练困难:收敛问题,很难达到纳什均衡点
  • 模型崩溃:G造出了和真实样本一摸一样,失去了创造能力

一、GAN模型:全连接网络

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

二、DCGAN(2016年DeepConv卷积网路)

为gan训练提供了一个适合的网络结构;表明生成的特征具有向量的计算特性

unsurpervised represententation learning with Deep Convolutional Generative anversarial Networks Alec Radford
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

数据集LSUN,仅支持低分辨率图片,无法捕捉物体结构特性

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
白噪声z向量 可加减计算,z是VAE编码解码中间提取的语义向量(RME区别于受限玻尔兹曼机,一开始是hinton为了预训练卷积神经网络的)
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

三、CGAN(条件Gan)

一开始Gan都是随机数据
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

四、Wasserstein GAN (WGAN)针对gan分析过一篇论文,然后提出Wgan(可以是fn或cnn)

1 特点

  • 1 判别器最后一层去掉sigmoid
  • 2、loss中去掉llog
  • 3、每次更新判别器的参数之后,把他们的绝对值截断到不超过一个固定常数C
  • 4、不要基于动量的优化算法(momentum、Adam),推荐使用RMSProp,SGD

2 解决的问题:无法平衡,逼死生成器拿真实样本冒充

  • 1、彻底解决了训练不稳定,不需要再小心平衡GD的训练程度
  • 2、基本解决了collapse崩溃问题,使之干脆直接输出真实样本的问题
  • 3、判别标准推土机距离:训练过程中终于有了一个像交叉熵、准确率这样的数值来指示训练的进程,这个数值越小代表GAN训练的越好。代表生成器产生的质量越高(以前看不到平衡过程)
  • 4、以上好处–》导致不需要精心设计网络架构,最简单的多层全连接网络就可以做到

标准 js 散度 kl散度对称性不好,式2解决逼死G问题

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
推土机距离:Earth-Mover====》 wasserstein距离
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

结论,无崩溃

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

五、Super-Resolution GAN(G(低分辨率)–>生成高分辨率图片)Lsr损失函数

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

生成网络结构

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

判别网络的结构

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

3 损失函数

学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络
学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络