在生成对抗神经网络中训练判别模型

数据挖掘 无监督学习
2022-02-27 11:38:50

到目前为止,我在 DCGAN 中所知道的是,鉴别器是使用标记数据进行训练的(所以这可能发生在训练生成模型之前)。另外,我知道生成器和判别器之间存在竞争,所以也许培训是在线进行的。所以我在这里有一些担忧:

  1. 鉴别器应该有多少个输出(它是一个描述概率的输出,例如:P(x))?
  2. 在输入假数据和真实数据时,我们如何选择它的输出?
  3. 判别器是在与 DCGAN 一起使用之前训练的还是在线完成的(在原始论文:Generative Adversarial Nets https://arxiv.org/pdf/1406.2661.pdf中提到,整个网络是使用反向传播),因此我认为它是在线的?

任何帮助深表感谢!!

1个回答

在正常的 GAN 中,没有标签,训练是完全无监督的。

鉴别器的作用是将生成器生成的样本与从训练数据集中获取的样本区分开来。训练数据集只是一堆图像。判别器被训练为对生成器生成的数据(即假数据)输出 0,对真实数据输出 1(因此判别器只有一个输出)。这应该回答第 1 点和第 2 点。

判别器和生成器的训练在一个循环中交替进行:首先我们训练判别器,然后是生成器,然后再训练判别器,等等。每次训练判别器时,可以(并且很常见)训练几次判别器发电机。这应该回答第 3 点。

也可以使用标签,但不是按照您建议的方式。当使用标签时,我们有条件 GAN(https://arxiv.org/abs/1411.1784)。在这种情况下,标签作为输入提供给生成器和鉴别器。生成器必须生成与提供的标签相关联的数据。判别器必须根据标签区分假数据和真实数据。