动手学深度学习之生成对抗网络

生成对抗网络(Generative Adversarial Networks,GANs)是一种把博弈理论结合神经网络用于生成新事物的模型。目前最常用于图像生成。

直观感受原理

GAN的原理是如下图所示:
假设有两个网络,G(Generator)和D(Discriminator)
·G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。
·D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”。
在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。
动手学深度学习之生成对抗网络

损失函数

可阅读这篇文章生成对抗网络损失函数的理解