如何理解生成对抗网络的判别分布?

机器算法验证 机器学习 神经网络 生成模型
2022-03-16 01:21:20

所以我目前正在研究生成对抗网络,我现在读了几次 Goodfellow 的论文Generative Adversarial Nets和该领域的其他一些论文(DCGAN、CycleGAN、pix2pix 和其他一些)。

但我一直在努力解决本文中的图 1,不知何故它似乎不适合我的脑海!

在此处输入图像描述

这是我目前的理解:

  • 绿线是我们试图匹配的分布。
  • 黑线是训练图像的当前分布

但我真的不明白蓝线!为什么在(a)中是窦状的,为什么在(d)中是直线?

1个回答

如果可以的话,让我试着把事情弄清楚一点。首先,GAN 不是专门用来生成图像的,而是用来生成各种数据的。实际上,您从中获得图形的第一篇论文并不是指图像。

在图中,您给出了 3 条曲线:

  • 这些是您的训练样本如果将这些点连接起来,您可以形成一条线(即使在图中看不到,我也将其称为黑线)。这是数据生成分布,它是您的数据采样的理论分布。xpx
  • 绿线这是您的生成器已学习的分布在训练判别器时,您需要真假样本。真实的是黑点,而假的是从绿色分布中采样的。pg
  • 线这是鉴别器的输出,即图像被分类为真假的概率。

黑色的水平线也显示了我们可以绘制样本的范围,而黑色的水平线显示了与潜在变量相同的东西。绘制时,这些将遵循它们各自的分布(黑线和绿线)。 xxzz

现在来看每个数字告诉我们的内容:

  • 第一个图(a)显示了分布在训练之前的样子。生成器不产生真实的样本(即绿线离黑线很远),判别器不知道如何正确判别(即蓝线波动很大)。

  • 第二个图(b)已经学会区分两种类型的样本(即真假)的点。蓝线现在类似于 sigmoid。这是必要的,以便可以对其样本的公平性有准确的反馈。DG

  • 第三个图(c)开始学习如何生成真实样本的时候。请注意绿线现在如何更接近黑线。尽管也很好(蓝线与两个分布之间距离的一半对齐),但现在它的工作要困难得多。GD

  • 第四个图(d)是训练结束时。现在可以生成完全真实的样本(即绿线和黑线是一个)。因为这个不能再区分了,所以它随机预测图像是真的还是假的(即处处)GDP(D)=1/2