如何使用GAN从图像中进行无监督特征提取?


10

我了解GAN在两个网络(生成性和区分性)相互竞争时如何工作。我建立了一个DCGAN(带有卷积鉴别器和反卷积生成器的GAN),现在可以成功生成类似于MNIST数据集中的手写数字。

我已经阅读了很多有关GAN从图像中提取特征的应用程序。如何使用训练有素的GAN模型(在MNIST数据集上)从MNIST手写的挖掘者图像中提取特征?


对于特征提取,我得到的特征尺寸为128 * 120(即64 + 32 + 16 + 8)= 15360。我确定我缺少什么。关于选择特征向量,我还有另一个问题。我应该在特征提取期间考虑(conv2d + batchnorm +激活)权重还是仅考虑conv2d权重?
坦莫伊水坝

Answers:


4

通常,要提取要素,可以在输出之前使用网络的顶层。直觉是这些特征是线性可分离的,因为顶层只是逻辑回归。

对于GAN,您可以使用鉴别器中的功能。如果输入来自训练数据集“真实图像”,则这些功能应该具有一定的可能性。在Radford的DCGAN 论文中,他们使用了鉴别器的所有卷积层,并为CIFAR-10运行了最大池化层提取功能。

为了评估DCGAN在监督任务中学习到的表示的质量,我们在Imagenet-1k上进行训练,然后使用鉴别器的所有层的卷积特征,最大程度地将每一层的表示集中化,以生成4×4空间网格。然后将这些特征展平并连接以形成28672维向量,并在它们之上训练规则化的线性L2-SVM分类器。


1

肯尼的答案是正确的-如果您使用卷积D,则密集之前的图层输出可以用作特征。我的直觉是,它对于AC-GAN(或类似体系结构,除了确定输入是假的还是真实的,还可以使D分类输入)更有效。

有一种称为BiGAN的方法,它添加了一个编码器组件,该组件能够将生成的样本和训练样本映射到用于“初始化”生成器的潜在分布z。作者表明,它可以有效地用作转移学习和其他任务的功能集。


0

由于GAN由生成器和鉴别器两部分组成,因此有两种方法可以将GAN用作特征提取器:

  1. 由Mikhail Yurasov提出的基于生成器的方式。
  2. 肯尼(Kenny)提出的基于鉴别器的方式。

第二种方法更具争议性。一些研究[1]认为,从直观上讲,由于鉴别器的目标是将生成的样本与真实样本区分开,因此仅关注这两种样本之间的差异。但是有意义的是实际样本之间的差异,实际样本是下游任务使用的样本。

我试图对此进行研究,发现提取的特征可以分解为两个正交子空间。第一个空间有助于执行区分任务,而第二个空间则不受限制。在大多数情况下,用于将实际样本与生成的样本区分开的特征是噪声,第二特征空间将是无噪声的。从这个角度来看,尽管鉴别器的任务不会集中在实际样本之间的差异上,这对下游任务很有用,但第二个子空间中包含的无噪声功能将起作用。

[1] Jost Tobias Springenberg。使用分类生成对抗网络的无监督和半监督学习。arXiv:1511.06390 [cs,stat],2016年4月。arXiv预印本。arXiv:1511.06390 [stat.ML]。纽约州伊萨卡市:康奈尔大学图书馆。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.