生成对抗性网络是否需要类标签?

时间:2017-07-05 07:13:31

标签: machine-learning neural-network classification multiclass-classification

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

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

2 个答案:

答案 0 :(得分:1)

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

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

希望这可以解决问题!

答案 1 :(得分:0)

  

GAN在训练过程中会使用班级标签吗?

作者怀疑GAN不需要标签。这是对的。鉴别器受过训练,可以对真实和伪造图像进行分类。由于我们知道哪些图像是真实的,哪些图像是由生成器生成的,因此我们不需要标签来训练鉴别器。生成器经过训练可以欺骗鉴别器,该鉴别器也不需要标签。

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

  

如果是这样,那么研究人员如何建议使用区分器网络进行分类任务?

这里似乎存在误解。区分器的目的不是充当真实数据的分类器。鉴别器的目的是“告诉发电机如何改进其假货”。这是通过使用鉴别器作为损失函数来完成的,如果它是神经网络,我们可以反向传播梯度。训练后,我们通常会丢弃鉴别器。

  

生成器网络也将难以使用,因为我们不知道输入矢量'Z'的哪种设置会产生所需的生成图像。

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

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

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

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