我了解GAN在两个网络(生成性和区分性)相互竞争时如何工作。我建立了一个DCGAN(带有卷积鉴别器和反卷积生成器的GAN),现在可以成功生成类似于MNIST数据集中的手写数字。
我已经阅读了很多有关GAN从图像中提取特征的应用程序。如何使用训练有素的GAN模型(在MNIST数据集上)从MNIST手写的挖掘者图像中提取特征?
我了解GAN在两个网络(生成性和区分性)相互竞争时如何工作。我建立了一个DCGAN(带有卷积鉴别器和反卷积生成器的GAN),现在可以成功生成类似于MNIST数据集中的手写数字。
我已经阅读了很多有关GAN从图像中提取特征的应用程序。如何使用训练有素的GAN模型(在MNIST数据集上)从MNIST手写的挖掘者图像中提取特征?
Answers:
通常,要提取要素,可以在输出之前使用网络的顶层。直觉是这些特征是线性可分离的,因为顶层只是逻辑回归。
对于GAN,您可以使用鉴别器中的功能。如果输入来自训练数据集“真实图像”,则这些功能应该具有一定的可能性。在Radford的DCGAN 论文中,他们使用了鉴别器的所有卷积层,并为CIFAR-10运行了最大池化层提取功能。
为了评估DCGAN在监督任务中学习到的表示的质量,我们在Imagenet-1k上进行训练,然后使用鉴别器的所有层的卷积特征,最大程度地将每一层的表示集中化,以生成4×4空间网格。然后将这些特征展平并连接以形成28672维向量,并在它们之上训练规则化的线性L2-SVM分类器。
肯尼的答案是正确的-如果您使用卷积D,则密集之前的图层输出可以用作特征。我的直觉是,它对于AC-GAN(或类似体系结构,除了确定输入是假的还是真实的,还可以使D分类输入)更有效。
有一种称为BiGAN的方法,它添加了一个编码器组件,该组件能够将生成的样本和训练样本映射到用于“初始化”生成器的潜在分布z。作者表明,它可以有效地用作转移学习和其他任务的功能集。
由于GAN由生成器和鉴别器两部分组成,因此有两种方法可以将GAN用作特征提取器:
第二种方法更具争议性。一些研究[1]认为,从直观上讲,由于鉴别器的目标是将生成的样本与真实样本区分开,因此仅关注这两种样本之间的差异。但是有意义的是实际样本之间的差异,实际样本是下游任务使用的样本。
我试图对此进行研究,发现提取的特征可以分解为两个正交子空间。第一个空间有助于执行区分任务,而第二个空间则不受限制。在大多数情况下,用于将实际样本与生成的样本区分开的特征是噪声,第二特征空间将是无噪声的。从这个角度来看,尽管鉴别器的任务不会集中在实际样本之间的差异上,这对下游任务很有用,但第二个子空间中包含的无噪声功能将起作用。
[1] Jost Tobias Springenberg。使用分类生成对抗网络的无监督和半监督学习。arXiv:1511.06390 [cs,stat],2016年4月。arXiv预印本。arXiv:1511.06390 [stat.ML]。纽约州伊萨卡市:康奈尔大学图书馆。