理解GAN的数学公式

参考GANs系列:GAN生成式对抗网络原理以及数学表达式解剖_码农男孩的博客-CSDN博客_生成式对抗网络的原理

 1.原理

  GAN的基本原理很简单,其由两个网络组成,一个是生成网络G(Generator) ,另外一个是判别网络D(Discriminator)。它们的功能分别是:

  生成网络G:负责生成图片,它接收一个随机的噪声 z,通过该噪声生成图片,将生成的图片记为 G(z)。

  判别网络D:负责判别一张图片是真实的图片还是由G生成的假的图片。其输入是一张图片 x,输出是0、1值,0代表图片是由G生成的,1代表是真实图片。

        在训练过程中,生成网路G的目标是尽量生成真实的图片去欺骗判别网络D。而判别网络D的目标就是尽量把G生成的图片和真实的图片区分开来。这样G和D就构成了一个动态的博弈过程。这是GAN的基本思想。

2.数学公式

1)首先看加号前面的一项 

      E代表的是熵(Entropy),X~Pdata(x)代表是x来自于Pdata【真实数据分布】,D(x):鉴别器。所以第一项想要表示的意思就是来自实际分布的数据通过鉴别器的熵。因为数据是来自真实的数据,所以鉴别器肯定想将其最大化为1。

      它的含义就是:鉴别器鉴别出真实数据的概率。我们的优化目标是希望这个概率越大越好。也就是说,对于服从Pdata分布的图片x,鉴别器应该给出预测结构D(X)=1。

2)继续看第二部分

      它的含义就是:来自随机输入的数据通过生成器的熵。生成器生成一个假样本,通过鉴别器识别真假。因为是生成的假样本,鉴别器肯定想把假的都识别出来,所以鉴别器尝试将其最大化为0.

3)最后一部分,它表达了GAN名字中的对抗。 

      从优化目标来看,对于生成器G而言,希望鉴别器鉴别生成器的生成数据为真,即:D(G(Z))=1,即希望 越小越好。

    【比如你是生成器,鉴别器代表老师。你想请假不上课,肯定要编一个理由骗过老师,从你的角度而言,理由编的让老师越信服越好。】

      对于鉴别器D而言,如果其输入的是生成的数据 D(G(Z)),鉴别器的目标是最小化D(G(Z)),希望它被判定为0,也就是希望  越大越好。

   【你要请假不上课,从老师角度而言肯定要尽可能地识别你的假谎言】

    这样看来,生成器和鉴别器的优化目标是相反的,体现在公式中就是

你可能感兴趣的:(机器学习,生成对抗网络,人工智能,深度学习)