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