前言
本文的全部内容均参考自 Generative Adverserial Nets 这篇文章,可以在下面的链接中提取。
链接:https://pan.baidu.com/s/1ihBw3ukCGCz_QVBxfkgxPw
提取码:1234
本文内容仅用于参考和记录!
GAN 简介
GAN 的全称是 Generative Adverserial Nets,意为 生成对抗网络。在 GAN 中,存在着两个网络模型,一个是生成网络模型,记为 G G G;另一个是辨别网络模型,记为 D D D。其中,模型 G G G 的任务是生成一些数据样本,并让生成器无法辨别,而模型 D D D 的任务是尽量准确的区分真正的数据样本和 G G G 生成的数据样本。
GAN 的应用由很多,比如一个名叫“这个人不存在的网站”(https://thispersondoesnotexist.com/),就是用到了 GAN 来产生的人脸图片。
对抗网络
GAN 中由两个网络模型,分别是生成器
G
G
G 和辨别器
D
D
D,GAN 的价值函数是:
这里目标是最小化生成器
G
G
G 和最大化辨别器
D
D
D.
GAN 的理解可以使用下面的图示。
真正的数据是 x,服从高斯分布;z 是一个随机噪音,符合均匀分布。在图片 (a)中,将数据 z 映射到 x 时候,产生的数据(也就是
G
(
z
)
G(z)
G(z))服从绿色实线的分布。此时辨别在靠右位置认为是虚假数据,靠左边的位置认为是真实数据;在图片(b)中,生成器会将生成的数据的均值向左移动,这样辨别器在辨别的时候就会更加容易犯错(这也是生成器的目的)。最终,生成器会产生一个和真实数据分布非常相似的分布,而这时辨别器再也无法分辨真实数据和生成数据,这个时候,就达到了均衡,可以认为 GAN 就收敛了。
GAN 的算法如下所示。
理论证明
理论主要介绍了 GAN 是由一个全局最优解的,以及 GAN 的算法是可以找到这个最优解的。这里原文介绍非常详细,可以直接参考原文来理解。
结语
GAN 是一个目前非常火热的神经网络,希望可以实现一两个基于 GAN 的 demo!