生成对抗网络GAN:原理与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.1 GAN概述

我们先从博弈论的角度来通俗描述GAN的基本原理。生成器的功能是随机产生一些样本,而判别器的功能是判断给定的输入样本的真伪,即断定判别器的输入样本是否来源于训练数据集。例如,有一个关于苹果图像的训练数据集,假设此时生成器生成了一张香蕉的图像,但香蕉图像不太可能来源于苹果数据集,故训练成功的判别器应当判定出香蕉图像是伪造的。在训练过程中,生成器和判别器进行博弈,其中生成器不断提高生成能力,使其产生的样本越来越“像”训练数据集中的样本,从而可以“骗过”判别器;而判别器不断提高鉴定能力,尽可能区分出输入样本是否来源于训练数据集。

比如,生成器开始生成的是香蕉的图像,因为香蕉和苹果的形状有很大差异,判别器学习到形状差异信息后,便可判定香蕉图像是生成器伪造的,而不是来源于训练数据集;接下来生成器根据判别器的反馈信息来自我改进,生成器必须生成与苹果形状一样的图像,例如改进后的生成器生成的是橘子的图像,这时的判别器仅仅根据形状特征无法分辨橘子和苹果;判别器开始自我改进,从训练数据集的苹果图像和生成器生成的橘子图像中寻找新的分类特征,它可能会选择将颜色添加为新的特征作为分类依据,此时判别器又可以将橘子和苹果鉴定出来了,生成器继续改进。此过程交替进行,直到生成器可以生成与训练数据集一样的苹果的图像。

生成器和判别器的能力在初始时均比较弱,但随着不断地自我学习和博弈,最终进入一个纳什均衡状态,即生成器产生的样本与训练数据集中的样本完全一样;判别器的鉴定能力也达到最佳,只要输入的样本与训练数据集中的样本有任何不同,都可以被检测出来。

在纳什均衡状态,两者已无法做出任何提升,生成器的任何改变都预示着生成能力的下降,判别器的任何改变都预示着判别能力的下降,而且无论生成器(判别器)如何改变,判别器(生成器)也不会做出任何调整,此时博弈训练过程完成。显然,由于生成器生成的样本与训练数据集中的样本完全一样,判别器将无法判定生成器产生的样本的真伪,此时便得到了一个完美生成器。