GANS:使用判别器进行预测

机器算法验证 机器学习 神经网络 深度学习 无监督学习 一类
2022-04-14 22:41:58

在过去的几年里,GANs 一直是一个热门话题,每年都有很多关于 GANs 的论文发表。但我总是看到要么显示生成器的结果(示例图片或生成器生成的任何其他内容),要么将特征嵌入用于其他目的。在某些情况下,首先使用无监督数据训练 GAN,然后使用监督数据训练鉴别器网络以预测输出。

我从未完全正确地看到的是使用鉴别器来预测给定的输出。假设我有一个数据集,其中的点(具有 N 个特征)只有真正的类标签,并且我对一类分类问题感兴趣。收集虚假类别标签的数据是不可行的。我有兴趣用我拥有的数据点(真实类)训练 GAN,生成器显然会生成随机样本等等。因此,在训练 GAN 之后,给定一个新点,我希望判别器预测该点是否属于真实类别。

  1. 这种方法有什么问题吗?
  2. 我找不到任何使用这种方法的像样的论文。如果有人知道任何此类论文,请在您的答案中提供。
  3. 随意解释您对这种方法的优缺点的看法。
1个回答

这种方法不起作用的原因是,在训练结束时,判别器收敛到真实数据和生成数据以相同概率分类时的状态,即判别器无法区分它们。考虑相反的情况:如果鉴别器仍然可以区分真实数据和生成数据,您可以简单地通过使用这些信息进行训练来继续改进生成器。

它在原始论文的图 1 中有很好的描述(Goodfellow 等人,2014:Generative Adversarial Nets):

在此处输入图像描述 图 1:生成对抗网络通过同时更新 判别分布(D,蓝色,虚线),以便从数据生成分布(黑色,虚线)中区分样本px从那些生成分布pg(G)(绿色,实线)。下面的水平线是从哪个域z被采样,在这种情况下是均匀的。上面的水平线是域的一部分x. 向上的箭头显示映射如何x=G(z)施加非均匀分布pg在转换后的样本上。G在高密度区域收缩,在低密度区域扩张pg. (a) 考虑一个接近收敛的对抗对:pg类似于pdataD是一个部分准确的分类器。(b) 在算法的内循环中D被训练来区分样本和数据,收敛到D(x)=pdata(x)pdata(x)+pg(x). (c) 更新后G, 梯度D已引导G(z)流向更有可能被归类为数据的区域。(d) 经过几个步骤的训练,如果GD有足够的能力,他们将达到两者都无法提高的地步,因为pg=pdata. 鉴别器无法区分这两种分布,即D(x)=12.