深度学习训练营-基于DCGAN的图像生成实战-Task1-GAN理论-20240506

本文介绍了生成对抗网络(GAN)的基础概念,包括判别式模型和生成式模型的区别,GAN的基本原理,优化目标,以及GAN在数据生成、风格迁移和超分辨率重建等领域的应用。着重探讨了GAN训练中的挑战和主要问题。
摘要由CSDN通过智能技术生成

生成对抗网络(GANs)是当今计算机科学领域最有趣的想法之一。两个模型通过对抗过程同时训练。一个生成器(“艺术家”)学习创造看起来真实的图像,而判别器(“艺术评论家”)学习区分真假图像。

训练过程中,生成器在生成逼真图像方面逐渐变强,而判别器在辨别这些图像的能力上逐渐变强。当判别器不再能够区分真实图片和伪造图片时,训练过程达到平衡。

生成式模型与判别式模型

正式说 GAN 之前我们先说一下判别式模型和生成式模型。

1. 判别式模型

判别式模型,即 Discriminative Model,又被称为条件概率模型,它估计的是条件概率分布(conditional distribution), p(class|context) 。

举个例子,我们给定(x,y)对,4个样本。(1,0), (1,0), (2,0), (2, 1),p(y|x)是事件x发生时y的条件概率,它的计算如下:

判别式模型.

2. 生成式模型

即 Generative Model ,生成式模型 ,它估计的是联合概率分布(joint probability distribution),p(class,context)=p(class|context)*p(context) 。p(x,y),即事件x与事件y同时发生的概率。同样以上面的样本为例,它的计算如下:

生成式模型

3. 常见模型

常见的判别式模型有 Logistic Regression,Linear Regression,SVM,Traditional Neural Networks Nearest Neighbor,CRF 等。

常见的生成式模型有 Naive Bayes,Mixtures of Gaussians, HMMs,Markov Random Fields 等。

得分点:(CV 面试中会出现)

4. 判别式模型与生成式模型比较

判别式模型 ,优点是分类边界灵活 ,学习简单,性能较好 ;缺点是不能得到概率分布 。

生成式模型 ,优点是收敛速度快,可学习分布,可应对隐变量 ;缺点是学习复杂 ,分类性能较差。

判别式模型与生成式模型比较

上面是一个分类例子,可知判别式模型,有清晰的分界面,而生成式模型,有清晰的概率密度分布。生成式模型,可以转换为判别式模型,反之则不能。

GAN的基本原理

GAN,即Generative adversarial net,它同时包含判别式模型和生成式模型,一个经典的网络结构如下:

GAN原理-1

1. 基本原理

GAN原理-2

GAN的原理很简单,它包括两个网络,一个生成网络,不断生成数据分布。一个判别网络,判断生成的数据是否为真实数据。上图是原理展示,黑色虚线是真实分布,绿色实线是生成模型的学习过程,蓝色虚线是判别模型的学习过程,两者相互对抗,共同学习到最优状态。

2. 优化目标与求解

下面是它的优化目标。

优化目标与求解-1

D是判别器,它的学习目标,是最大化上面的式子,而G是生成器,它的学习目标,是最小化上面的式子。上面问题的求解,通过迭代求解D和G来完成。

要求解上面的式子,等价于求解下面的式子。

优化目标与求解-2

其中D(x)属于(0,1),上式是alog(y) + blog(1−y)的形式,取得最大值的条件是D(x)=a/(a+b),此时等价于下面式子。

优化目标与求解-3

如果用KL散度来描述,上面的式子等于下面的式子。 优化目标与求解-4

当且仅当pdata(x)=pg(x)时,取得极小值-log4,此时d=0.5,无法分辨真实样本和假样本。

GAN从理论上,被证实存在全局最优解。

3. 如何训练

如何训练

直接从原始论文中截取伪代码了,可见,就是采用判别式模型和生成式模型分别循环依次迭代的方法,与CNN一样,使用梯度下降来优化。

4. GAN的主要问题

GAN从本质上来说,有与CNN不同的特点,因为GAN的训练是依次迭代D和G,如果判别器D学的不好,生成器G得不到正确反馈,就无法稳定学习。如果判别器D学的太好,整个loss迅速下降,G就无法继续学习。

GAN的优化需要生成器和判别器达到纳什均衡,但是因为判别器D和生成器G是分别训练的,纳什平衡并不一定能达到,这是早期GAN难以训练的主要原因。另外,最初的损失函数也不是最优的,这些就留待我们的下篇再细讲吧,下面欣赏一下GAN的一些精彩的应用。

GAN的应用

1. 数据生成

  • 从GAN到Conditional GAN

GAN的生成式模型可以拟合真实分布,所以它可以用于伪造数据。DCGAN【3】是第一个用全卷积网络做数据生成的,下面是它的基本结构和生成的数据。

从GAN到Conditional_GAN-1

从GAN到Conditional_GAN-2

输入100维的噪声,输出64×64的图像,从mnist的训练结果来看,还不错。

但是它的问题是不能控制生成的数字是1还是9,所以后来有了CGAN【4】,即条件GAN,网络结构如下。

从GAN到Conditional_GAN-3

它将标签信息encode为一个向量,串接到了D和G的输入进行训练,优化目标发生了改变。

从GAN到Conditional_GAN-4

与cgan类似,infogan【5】将噪声z进行了拆解,一是不可压缩的噪声z,二是可解释的隐变量c,可以认为infogan就是无监督的cgan,这样能够约束c与生成数据之间的关系,控制一些属性,比如旋转等。

从GAN到Conditional_GAN-5

条件GAN的出现,使得控制GAN的输出有了可能,出现了例如文本生成图像【6】的应用。

从GAN到Conditional_GAN-6

  • 金字塔GAN

原始的GAN生成图的分辨率太小,无法实用,借鉴经典图像中的金字塔算法,LAPGAN【7】/StackedGAN8【8】各自提出类似的想法,下面是LAPGAN的结构。

金字塔GAN-1

金字塔GAN-2

它有以下特点。

(1) 使用残差逼近,学习相对容易。

(2) 逐级独立训练提高了网络简单记忆输入样本的难度,减少了每一次 GAN 需要学习的内容,也就从而增大了 GAN 的学习能力和泛化能力。

在这个基础上,nvidia-gan【9】生成了1024分辨率的图片,它的网络结构和生成结果如下。

金字塔GAN-3

金字塔GAN-4

  • cross domain学习

cross domain的学习,提供了更丰富的数据生成应用。

在传统的domain adaption中,我们需要学习或者训练一个domain adaptor,而这个domain adaptor需要用source domain和对应的target domain的训练图片来训练。coGAN【10】/align gan【11】可以在两个domain不存在对应样本的情况下学出一个联合分布,方法是每一个domain使用一个GAN,并且将高层的语义信息进行强制权值共享。

cross_domain学习-1

cross_domain学习-2

在这样的基础上,有一些很有意义的应用。比如苹果simGAN【12】用于优化仿真数据的方案,此时生成器G的输入是合成图像,而不是随机向量,它完美学习到了人工合成图片(synthetic images)数据分布到真实图片(real images)数据分布的映射。

cross_domain学习-3

下面是生成的结果,很有工程意义。

cross_domain学习-4

  • 一些很酷的应用

下面再说一些很酷的应用,细节不再详述。

creative-gan【13】,用于生成艺术风格的图片。

一些很酷的应用-1

一些很酷的应用-2

DesignGan【14】,用于设计T恤。

一些很酷的应用-3

一些很酷的应用-4

TP-GAN【15】,用于人脸正脸化。

一些很酷的应用-5

一些很酷的应用-6

还有更多关于视频,音频的生成【16-19】

2. 风格迁移

文【20】实现了像素级别的风格转换,它的关键是提供了两个域中有相同数据的成对训练样本,本质上,是一个CGAN。

风格迁移-1

cycle-gan【21】/dual-gan【22】则更胜一筹,不需要配对的数据集,可以实现源域和目标域的相互转换。

风格迁移-2

pairedcycle【23】,将源域和目标域的相互转换用到化妆和去妆,很有趣的应用。

风格迁移-3

文【24】学习了一个数据集到另一个数据集的迁移,可以用于迁移学习,如实现漫画风格。

风格迁移-4

风格迁移-5

文【25】实现了动作的迁移。

风格迁移-6

文【26】实现了年龄的仿真。

风格迁移-7

文【27】提出了一种去雨的算法,很有实际意义。

风格迁移-8

文【28】实现了卡通风格的转换。

风格迁移-9

文【29】实现了字体风格的迁移。

风格迁移-10

文【30】实现了去模糊。

风格迁移-11

3. 超分辨重建

srgan【31】是最早使用GAN做超分辨重建的应用,它将输入从随机噪声改为低分辨率的图片,使用了残差结构和perception loss,有很大的应用价值。

超分辨重建-1

超分辨重建-2

超分辨重建可用于小脸的检测【32】,是个值得关注的方向。

超分辨重建-3

参考文献

【1】Xue J H, Titterington D M. Comment on “On Discriminative vs. Generative Classifiers: A Comparison of Logistic Regression and Naive Bayes”[J]. Neural Processing Letters, 2008, 28(3):169.

【2】Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.

【3】Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.

【4】Mirza M, Osindero S. Conditional generative adversarial nets[J]. arXiv preprint arXiv:1411.1784, 2014.

【5】Chen X, Duan Y, Houthooft R, et al. Infogan: Interpretable representation learning by information maximizing generative adversarial nets[C]//Advances in neural information processing systems. 2016: 2172-2180.

【6】Reed S, Akata Z, Yan X, et al. Generative adversarial text to image synthesis[J]. arXiv preprint arXiv:1605.05396, 2016.

【7】Denton E L, Chintala S, Fergus R. Deep generative image models using a laplacian pyramid of adversarial networks[C]//Advances in neural information processing systems. 2015: 1486-1494.

【8】Huang X, Li Y, Poursaeed O, et al. Stacked generative adversarial networks[C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017, 2(4).

【9】Karras T, Aila T, Laine S, et al. Progressive growing of gans for improved quality, stability, and variation[J]. arXiv preprint arXiv:1710.10196, 2017.

【10】Mao X, Li Q, Xie H. AlignGAN: Learning to align cross-domain images with conditional generative adversarial networks[J]. arXiv preprint arXiv:1707.01400, 2017.

【11】Liu M Y, Tuzel O. Coupled generative adversarial networks[C]//Advances in neural information processing systems. 2016: 469-477.

【12】Shrivastava A, Pfister T, Tuzel O, et al. Learning from simulated and unsupervised images through adversarial training[C]//The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017, 3(4): 6.

【13】Elgammal A, Liu B, Elhoseiny M, et al. CAN: Creative adversarial networks, generating" art" by learning about styles and deviating from style norms[J]. arXiv preprint arXiv:1706.07068, 2017.

【14】Sbai O, Elhoseiny M, Bordes A, et al. DeSIGN: Design Inspiration from Generative Networks[J]. arXiv preprint arXiv:1804.00921, 2018.

【15】Huang R, Zhang S, Li T, et al. Beyond face rotation: Global and local perception gan for photorealistic and identity preserving frontal view synthesis[J]. arXiv preprint arXiv:1704.04086, 2017.

【16】Creswell A, Bharath A A. Adversarial training for sketch retrieval[C]//European Conference on Computer Vision. Springer, Cham, 2016: 798-809.

【17】Tulyakov S, Liu M Y, Yang X, et al. Mocogan: Decomposing motion and content for video generation[J]. arXiv preprint arXiv:1707.04993, 2017.

【18】Juvela L, Bollepalli B, Wang X, et al. Speech waveform synthesis from MFCC sequences with generative adversarial networks[J]. arXiv preprint arXiv:1804.00920, 2018.

【19】Yu L, Zhang W, Wang J, et al. SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient[C]//AAAI. 2017: 2852-2858.

【20】Isola P, Zhu J Y, Zhou T, et al. Image-to-Image Translation with Conditional Adversarial Networks[J]. 2016:5967-5976.

【21】Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[J]. arXiv preprint, 2017.

【22】Yi Z, Zhang H, Tan P, et al. Dualgan: Unsupervised dual learning for image-to-image translation[J]. arXiv preprint, 2017.

【23】Chang H, Lu J, Yu F, et al. Pairedcyclegan: Asymmetric style transfer for applying and removing makeup[C]//2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.

【24】Wei L, Zhang S, Gao W, et al. Person Transfer GAN to Bridge Domain Gap for Person Re-Identification[J]. arXiv preprint arXiv:1711.08565, 2017.

【25】Joo D, Kim D, Kim J. Generating a Fusion Image: One’s Identity and Another’s Shape[J]. arXiv preprint arXiv:1804.07455, 2018.

【26】Yang H, Huang D, Wang Y, et al. Learning face age progression: A pyramid architecture of gans[J]. arXiv preprint arXiv:1711.10352, 2017.

【27】Qian R, Tan R T, Yang W, et al. Attentive Generative Adversarial Network for Raindrop Removal from A Single Image[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 2482-2491.

【28】Chen Y, Lai Y K, Liu Y J. CartoonGAN: Generative Adversarial Networks for Photo Cartoonization[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 9465-9474.

【29】Azadi S, Fisher M, Kim V, et al. Multi-content gan for few-shot font style transfer[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018, 11: 13.

【30】Kupyn O, Budzan V, Mykhailych M, et al. DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks[J]. arXiv preprint arXiv:1711.07064, 2017.

【31】Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network[J]. arXiv preprint, 2017.

【32】Bai Y, Zhang Y, Ding M, et al. Finding tiny faces in the wild with generative adversarial network[J]. CVPR. IEEE, 2018.

参考来源

  1. GAN_理论部分_V1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值