什么是GAN

GAN是一种深度神经网络架构,由一个生成网络和一个判别网络组成。生成网络产生“假"数据,并试图欺骗判别网络;判别网络对生成数据进行真伪鉴别,试图正确识别所有“假”数据。在训练迭代的过程中,两个网络持续地进化和对抗,直到达到平衡状态(参考纳什均衡),判别网络无法再识别“假"数据,训练结束。

GAN主要包括生成模型(Generative Model)和判别模型(Discriminative Model),也常叫做生成器与判别器。

(1)生成器:主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。

(2)判别器:需要对接收的图片进行真假判别

在训练过程中,生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗。

最终两个网络达到了一个动态均衡:生成器生成的图像接近于真实图像分布,而判别器识别不出真假图像,对于给定图像的预测为真的概率基本接近0.5(相当于随机猜测类别)。

GAN模型结构

Untitled

GAN原理

GAN设计的关键在于损失函数的处理。

对于判别模型,损失函数是容易定义的,判别器主要用来判断一张图片是真实的还是生成的,显然这是一个二分类问题(True or false)。

对于生成模型,损失函数的定义就不是那么容易 。

我们希望生成器可以生成接近真实的图片,对于生成的图片是否像真实的,我们人类肉眼容易判断,但具体到代码中,往往是一个抽象的,难以数学公理化定 义的范式。

针对这个问题,我们不妨把生成模型的输出,交给判别模型处理,让判别器来判断这是一个真实的图像还是假的图像,因为深度学习模型很适合做图片的分类。这样就将生成对抗网络中的两大类模型生成器generator与判别器discriminator紧密地联合在了一起。、