【GAN的魔法】生成对抗网络技术进展及论文笔记2

本文深入探讨了生成对抗网络(GAN)的两个重要变种:条件生成对抗网络(CGAN)和拉普拉斯金字塔生成对抗网络(LAPGAN)。CGAN通过加入条件变量实现对图像属性的控制,如年龄和微笑,从而能生成具有特定属性的人脸。LAPGAN则采用拉普拉斯金字塔结构,逐步生成高清晰度图像,解决传统GAN稳定性问题。通过分层生成和残差学习,LAPGAN在图像重建方面展现出优秀性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分在这里:【GAN的魔法】生成对抗网络技术进展及论文笔记1

#3. CGAN的应用

CGAN,即Conditional GAN,是加了条件项的GAN。之前说到GAN不稳定,那么一个想法就是给GAN加一些束缚是不是可以让它变得稳定些。
那么它的目标函数和GAN稍稍有点不一样,在生成模型D和判别模型G的建模过程中加入条件变量y,这里的y可以是类别啊,或者是一些属性等等:
这里写图片描述

比如文献2这篇文章就以人脸的属性作为条件变量去训练GAN,最后它把属性给可视化了:
这里写图片描述
第一行是GAN生成的人脸,第二行是以age作为条件变量,加偏移让他变得更老,第三行是以smile作为条件变量,偏移让人脸笑起来。(并不是所有属性都可以明显地表现在生成的人脸中,作者在文章中用了36种属性,只有以上2种有明显的变化。)

是不是觉得很惊艳?CGAN竟然能创造自己的人脸,并且让它有表情,有年龄变化。那是怎么做到的呢?包括两个部分——GAN生成人脸,Conditional控制人脸属性的变化。
首先GAN生成人脸的训练过程大概是这样的:

  1. G刚开始的时候是一个特别傻的生成器,它输出一些随机噪声来尝试着骗D
  2. D很快就学到了G的随机噪声和真正人脸之间的区别。但是D需要训练足够长的时间才能建立一个基本的区别法则——例如基于肤色的区分
  3. G发现了它的失败,开始生成带有肤色的图片来欺骗D
  4. D又不断地发现新的人脸结构,比如鼻子啊眼睛等,并用它们来区别真实的人脸和G的假人脸
  5. G又跟随D的脚步,学习去画这些带有人脸结构的图片来欺骗D

以此循环,D学习新的可区分的特征,G又尝试着复制这些特征。如下图就是一个不断学习的过程,可以看出生成模型从啥也没有的噪声开始,在不断地学习人脸的关键特征。
这里写图片描述

网络如下所示,在没有条件变量时,生成器的输入只有z,加入条件变量以后其实和z的输入方法是一样的,两个输入并联起来了,只不过y是已知的东西,如类别、属性之类的,而z是需要学习用来生成样本的一个随机噪声分布。
这里写图片描述

CGAN用于人脸生成的效果如下所示,同一行表示CGAN在同一属性加扰动后的结果,可以看出同一行的人脸还是相似的,不过有轻微的变化,就是因为人脸属性发生了改变。(最右一张图片是用于训练的数据库中和生成的图片最接近的一张图,说明整个网络确实是在生成人脸,而不是简单地把训练数据记忆下来)
这里写图片描述


本节参考文献:
【1】《Conditional Generative Adversarial Nets》
【2】《Conditional generative adversarial nets for convolutional face generation》

#4. LAPGAN的应用
LAPGAN是Facebook的一个工作,它则是从另一种思路改进GAN的不稳定。想法就是不要让 GAN一次完成全部任务,而是一次生成一部分,分多次生成一张完整的图片,这样不就比较容易学习了吗。
LAPGAN引入了拉普拉斯金字塔,这个东西是指同一幅图像在不同分辨率下的一系列过滤图片,例如下图中的 I ~ 0 \widetilde{I}_0 I 0, I ~ 1 \widetilde{I}_1 I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值