GAN基本介绍
1.1 概念
生成对抗网络(GAN):是一种生成假样本的生成模型。包括两个部分,生成器G和判定器D,生成器D从隐变量z产生假样本,判定器判定输入的样本是真样本还是假样本。生成器与判定器相互对抗,生成器生成与真实样本相近的假样本达到欺骗判定器的目的,判定器最大可能判定样本的真假性,从而提高生成器生成样本的质量。判定器输出的是一个数值(应该可以理解为打分),表示其对输入样本为真样本打分。这一对抗学习过程可以用公式一描述。
其中Pdata(x)是真实数据在数据空间X的概率分布,Pz(z)是数据在隐空间的概率分布。V(G,D)是二分类问题中常见的交叉熵损失。G(z)中的z属于隐空间Z,而Z是从X中产生,关于隐空间Z会在后面介绍。
对于目标函数的理解。从判别器D的视角看。如果一个样本来自真实数据,D会最大化它的输出值,而如果一个数据来自生成器G,D将最小化输出,也就是最大化log(1-D(G(z)))。因此对于目标函数的理解可以是最小化判定器最大判定正确的可能性。
GAN模型的示意图如下:
1.2 目标函数的最优解
理论上,生成器和判别器都被很好的训练的话,则会出现Pdata(x)=Pg(x),其中Pg(x)是生成数据分布。也就是说,判别器最好的情况是将真实数据判定为真的概率为1/2。样本是真是假的可能性刚好是一半一半。此时目标函数的最优解为: