大家好,我是蜂口的龙鹏,在“陌陌”公司担任深度学习算法工程师,曾任职于360AI研究院,长期从事于图像算法处理和深度学习相关的工作。
撰写本手册,主要和大家来探讨GANs这样一种最具前景的无监督学习方法。 虽然生成对抗网络GANs(Generative adversarial networks)已经被提出来好几年了,但我依然对它非常怀疑。尽管生成对抗网络已经在 64x64 分辨率的图像上取得了巨大的进步,却依然无法打消我的疑虑,于是,我开始阅读了相关的数学书籍,我更加怀疑生成对抗网络事实上并没有学习到数据分布。但是这一点在今年有所改观,首先是新颖有趣的架构(如 CycleGAN)的提出和理论性的提升(Wasserstein GAN)促使我在实践中尝试了生成对抗网络,然后它们的效果还算可以,另外在两次应用过生成对抗网络之后,我开始被它深深折服,并且开始坚信我们必须使用生成对抗网络进行对象生成。
GANs的设计思想其实很简单,它就是用两个模型,一个生成模型,一个判别模型。判别模型用于判断一个给定的图片是不是真实的图片(判断该图片是从数据集里获取的真实图片还是生成器生成的图片),生成模型的任务是去创造一个看起来像真的图片一样的图片。而在开始的时候这两个模型都是没有经过训练的,这两个模型一起对抗训练,生成模型产生一张图片去欺骗判别模型,然后判别模型去判断这张图片是真是假,最终在这两个模型训练的过程中,两个模型的能力越来越强,最终达到稳定状态。GANs还可以学习模拟各种数据的分布,例如文本、语音和图像,因此在生成测试数据集时,它是非常有价值的。
如何构建GANs的生成与判别式模型?它的重要原理又是怎样的