本文主要是介绍GAN笔记_李弘毅教程(二)Conditional Generation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- Text-to-Image
- 算法
- Image-to-image
- Video
Text-to-Image
用传统监督方法,火车有侧面图片也有正面图片,而训练的结果往往是产生多张火车图片(有正面、侧面)的平均,所以生成图片会比较模糊:
火车图片和Z共同输入至G中,生成一个图像 x = G ( c , z ) x = G(c,z) x=G(c,z);
让D能判断出真实图片为1,生成图片为0;
然后G能输出偏真实的图片;
但完全忽略了输入的条件:
如果是conditional Generation,那么D也应该同时判断 1)x是不是真实的;2)c和x是否匹配。
同时满足,输出才为1:
算法
图中最后一行的“-”“改成“+”
在CGAN中的Discriminator,有两种方法,大部分论文用的是上半部分的方法。
但下半部分的方法也很有道理,先把x输入NN中看是否真实,输出一个数值;然后同时输出的x和c输入NN,看是否匹配,也输出一个数值。把两个必须满足的条件分开了。
这是学生的一些作业:
比较出名的例子:Stack GAN(先产生比较小的图,在产生比较大的图)
Image-to-image
src=“https://img-blog.csdnimg.cn/20181101092219962.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMyNTEyMTIz,size_16,color_FFFFFF,t_70” width=“60%” alt=""/>
传统监督方法,结果会比较模糊。
用GAN就清晰很多(是否能匹配),但可能会产生奇怪的东西,所以也会增加一个条件:看生成的和原来的是否相差很多。
当图片很大的时候,可能整个模型会坏掉,所以每次让D只检查图片中的小块,小块的区域可以调参数大小,这就是Patch GAN。
Video
同样这也可以应用在声音上,用传统方法去噪,可能还有一些模糊:
用GAN,会更加清晰:
应用在视频上:让G看一段视频,让G生成接下来的事情
以下是产生小精灵游戏画面的结果(动图):
这篇关于GAN笔记_李弘毅教程(二)Conditional Generation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!