【GAN的魔法】生成对抗网络技术进展及论文笔记2
2017-03-05 20:36
756 查看
第一部分在这里:【GAN的魔法】生成对抗网络技术进展及论文笔记1
那么它的目标函数和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》
LAPGAN引入了拉普拉斯金字塔,这个东西是指同一幅图像在不同分辨率下的一系列过滤图片,例如下图中的I˜0,I˜1,I˜2,I˜3。LAPGAN与此前 GAN 架构的区别是:传统的 GAN只有一个生成器,负责生成整幅图像;而在拉普拉斯金字塔的结构中,金字塔的每一层(某特定分辨率),都有一个关联的生成器。这些生成器是用来生成残差的,也就是下图的这些h˜,残差的作用是模糊的图像+残差=更清晰的图像。这样连续对图片进行上采样,每一步图像的清晰度都有提升。
那么既然生成器是用来生成残差的,判别器自然就是用来判别残差是否为真实的残差的。真实的残差和生成的残差可以分别如下公式表示:
Ik表示的是第k层下采样后的图像,例如Ik+1就是Ik 图像的下采样,u(Ik+1) 中的u表示上采样,因此真实的残差就是Ik 图像-Ik 图像的下采样的上采样。
那么生成模型生成的残差则是u(Ik+1) 从输入噪声向量zk 中生成的,如下式所示,注意到此处的生成模型是conditional的,它将图像的上采样u(Ik+1)作为条件变量,将噪声向量zk作为原始输入,所以严格来说LAPGAN应该是LAP-CGAN。
整个LAPGAN的结构如下图所示,生成模型的目标是从模糊的图片中生成残差,判别模型的作用则是判别残差到底是真实的hk还是生成的h˜k。
LAPGAN的一个用途就是重建高清图像,从模糊的图像中生成更加清晰的图像。
本节参考文献:《Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks》
下一部分在这里:【GAN的魔法】生成对抗网络技术进展及论文笔记3
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,I˜1,I˜2,I˜3。LAPGAN与此前 GAN 架构的区别是:传统的 GAN只有一个生成器,负责生成整幅图像;而在拉普拉斯金字塔的结构中,金字塔的每一层(某特定分辨率),都有一个关联的生成器。这些生成器是用来生成残差的,也就是下图的这些h˜,残差的作用是模糊的图像+残差=更清晰的图像。这样连续对图片进行上采样,每一步图像的清晰度都有提升。
那么既然生成器是用来生成残差的,判别器自然就是用来判别残差是否为真实的残差的。真实的残差和生成的残差可以分别如下公式表示:
Ik表示的是第k层下采样后的图像,例如Ik+1就是Ik 图像的下采样,u(Ik+1) 中的u表示上采样,因此真实的残差就是Ik 图像-Ik 图像的下采样的上采样。
那么生成模型生成的残差则是u(Ik+1) 从输入噪声向量zk 中生成的,如下式所示,注意到此处的生成模型是conditional的,它将图像的上采样u(Ik+1)作为条件变量,将噪声向量zk作为原始输入,所以严格来说LAPGAN应该是LAP-CGAN。
整个LAPGAN的结构如下图所示,生成模型的目标是从模糊的图片中生成残差,判别模型的作用则是判别残差到底是真实的hk还是生成的h˜k。
LAPGAN的一个用途就是重建高清图像,从模糊的图像中生成更加清晰的图像。
本节参考文献:《Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks》
下一部分在这里:【GAN的魔法】生成对抗网络技术进展及论文笔记3
相关文章推荐
- 【GAN的魔法】生成对抗网络技术进展及论文笔记1
- 【GAN的魔法】生成对抗网络技术进展及论文笔记3
- GAN|生成对抗网络的前沿进展(论文、框架&资源)全面总结
- 论文阅读,GAN 生成对抗网络 2014 Goodfellow原文阅读笔记
- 论文阅读,GAN 生成对抗网络 2014 Goodfellow原文阅读笔记
- 生成对抗网络(GAN)的前沿进展(论文、报告、框架和Github资源)汇总
- 生成对抗网络学习笔记1----论文Generative Adversarial Nets
- [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
- 生成对抗网络学习笔记3----论文unsupervised representation learning with deep convolutional generative adversarial
- Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
- 生成对抗网络(GAN,Generative Adversarial Networks) 学习笔记
- 深度学习笔记九:生成对抗网络GAN(基本理论)
- 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
- GAN学习笔记:生成对抗网络
- 七月算法深度学习 第三期 学习笔记-第五节 生成对抗网络GAN
- 生成对抗网络学习笔记1----论文Generative Adversarial Nets
- 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
- 生成式对抗网络GAN研究进展(三)——条件GAN
- 生成对抗网络(GAN)的一些知识整理(课件)
- <视频教程-2>生成对抗网络GAN视频教程part6-完整版