我从一些来源听说生成对抗网络是无监督的机器学习,但我对此感到困惑。生成对抗网络难道不是有监督的吗?
1) 两类情况:真对假
的确,我们需要向判别器提供训练数据,这些数据必须是“真实”的数据,意味着我会用例如1来标记这些数据。尽管我们没有明确地标记数据,但通过在初始步骤中向判别器展示训练数据,并告诉判别器这些是真实的数据,我们实际上是在隐式地标记这些训练数据。反之亦然,生成器在初始步骤生成的噪声数据也被标记为非真实的。
2) 多类情况
但在多类情况下,情况变得更加奇怪。我们需要在训练数据中提供描述。明显的矛盾在于,我们为一个无监督的机器学习算法提供了响应。
回答:
GANs是使用监督损失作为训练一部分的无监督学习算法。这似乎是你感到困惑的地方。
当我们谈论有监督学习时,通常是在谈论学习预测与数据相关的标签。其目标是让模型能够泛化到新数据上。
在GAN的情况下,这些要素都不存在。数据没有标签,我们也不是在试图将任何类型的预测泛化到新数据上。GAN的目标是模拟数据的外观(即密度估计),并能够生成它所学到的新示例。
GAN通过设置一个有监督的学习问题来进行无监督学习,生成看起来是假的/随机的数据,并试图确定一个样本是生成的假数据还是真实数据。这是有一个监督的成分,没错。但这并不是GAN的目标,而且标签是微不足道的。
使用监督成分来执行无监督任务的想法并不新鲜。随机森林长期以来一直这样做,用于异常检测(同样是在随机数据与真实数据上训练),而用于异常检测的一类SVM在技术上是以有监督的方式训练的,原始数据被视为真实类,而空间原点上的一个点(即零向量)被视为异常类。