生成对抗网络需要类别标签吗?

Posted

技术标签:

【中文标题】生成对抗网络需要类别标签吗?【英文标题】:Do generative adversarial networks require class labels? 【发布时间】:2017-12-08 17:10:32 【问题描述】:

我试图了解如何训练 GAN。我相信了解对抗性训练过程。我似乎找不到相关信息:GAN 在训练过程中使用类标签吗?我目前的理解说不 - 因为鉴别器只是试图区分真实或假图像,而生成器试图创建真实图像(但不是任何特定类别的图像。)

如果是这样,那么研究人员如何建议将鉴别器网络用于分类任务?该网络只能在真实或虚假图像之间执行两种分类。生成器网络也很难使用,因为我们不知道输入向量“Z”的什么设置会产生所需的生成图像。

【问题讨论】:

【参考方案1】:

GAN 在训练过程中是否使用类标签?

作者怀疑 GAN 不需要标签。这是对的。鉴别器经过训练以对真实图像和虚假图像进行分类。因为我们知道哪些图像是真实的,哪些是由生成器生成的,所以我们不需要标签来训练判别器。生成器被训练来欺骗鉴别器,鉴别器也不需要标签。

这是 GAN [1] 最吸引人的优势之一。通常,我们将不需要标签的方法称为无监督学习。也就是说,如果我们有标签,也许我们可以训练一个使用标签来提高性能的 GAN。这个想法是引入 conditional GAN 的 [2] 后续工作的基础。

如果是这样,那么研究人员如何建议将鉴别器网络用于分类任务?

这里好像有误会。鉴别器的目的不是充当真实数据的分类器。鉴别器的目的是“告诉生成器如何改进它的假货”。这是通过使用鉴别器作为损失函数来完成的,如果它是一个神经网络,我们可以通过它反向传播梯度。训练后,我们通常会丢弃判别器。

生成器网络也很难使用,因为我们不知道输入向量“Z”的什么设置会产生所需的生成图像。

似乎发布问题的根本原因就在这里。选择输入向量“Z”,使其遵循某种分布,通常是正态分布。但是,如果我们采用具有正态分布条目的随机向量“Z”并计算“G(Z)”会发生什么?我们得到一个新向量,它遵循一个非常复杂的分布,该分布依赖于 G。GAN 的整个想法是改变 G,使这个新的复杂分布接近我们数据的分布。这个想法在 [3] 中用 f-Divergences 形式化。

[1]https://arxiv.org/abs/1406.2661

[2]https://arxiv.org/abs/1411.1784

[3]https://arxiv.org/abs/1606.00709

【讨论】:

【参考方案2】:

这完全取决于您要构建的网络。如果您专门谈论基本的 GAN,那么您是正确的。不需要类别标签,因为鉴别器网络仅对真/假图像进行分类。 GAN (cGAN) 有一个条件变体,您可以在其中使用生成器和判别器中的类标签。这允许您使用生成器为特定类生成示例,并使用鉴别器对它们进行分类(以及真/假分类)

从我所做的阅读来看,判别器网络只是作为训练生成器的工具,而生成器是主要关注的网络。当您可以只使用 ResNet 或 VGG 网络进行分类任务时,为什么还要使用用于训练 GAN 进行分类的鉴别器。无论如何,这些网络会更好地工作。您是对的,但是使用原始 GAN 可能会因为模式崩溃并不断产生相同的图像而导致困难。这就是引入条件变体的原因。

希望这能解决问题!

【讨论】:

以上是关于生成对抗网络需要类别标签吗?的主要内容,如果未能解决你的问题,请参考以下文章

什么是生成对抗网络?

生成式对抗网络GAN(一)

简述一下生成对抗网络GAN(Generative adversarial nets)模型?

人工智能--生成对抗网络

人工智能--条件生成对抗网络

生成对抗网络