[CVPR 2018 论文笔记] Feature Generating Networks for Zero-Shot Learning

文章目录

  • 1 简介
  • 2 模型
  • 3 实验
  • 4 总结
  • 5 有意思的地方

零样本问题可以看作是数据缺失问题。由于目标域数据不可见,导致模型训练时的数据不均衡。一个直观的想法就是生成目标域的数据。生成图像是最简单的想法,但是本文提出直接生成目标域的特征,而不是图像。我认为,这样做确实能够提高精度,因为最后做分类都是在特征上做的,直接生成特征,能够缓解生成图像质量不好的问题。


1 简介

介绍一篇CVPR 2018的文章:Feature Generating Networks for Zero-Shot Learning。作者使用GAN在特征空间生成数据的思想来解决zero-shot learning的问题。相比GAN生成图像,该方法能取得更好的结果。

为什么生成特征比生成图像好?

  1. 生成的特征的数量是没有限制的
  2. 特征生成网络FGN的输入是提取的高质量特征,使得FGN可以比较简单,计算高效
  3. 生成的特征判别性很强
  4. 同样判别性的要求下,生成特征的维度要远远低于生成图像。

问题:

  1. 图像生成对数量的限制数量是什么原因?
  2. 为什么生成图像的判别性弱?作者说生成的图像缺少必须的判别性的细节。应该是图像生成质量不够好,缺失了一些信息。

2 模型

[CVPR 2018 论文笔记] Feature Generating Networks for Zero-Shot Learning_第1张图片

图1 f-CLSWGAN模型

f-CLSWGAN模型相对比较简单,训练如图1所示。

  • 第一行是真实图像的特征提取过程。首先,用CNN网络提取特征 x x x;然后,将特征 x x x 与其对应的属性描述 c ( y ) c(y) c(y) 拼接后输入判别器,并判别为真。

  • 第二行是生成特征的分支,随机生成一个变量,与属性描述拼接后输入生成器,生成特征 x ^ \hat{x} x^,再次将 x ^ \hat{x} x^ 与属性描述 c ( y ) c(y) c(y) 拼接后输入判别器并判别为假。

  • 为提高生成质量,加一个auxiliary classifier,对生成的数据进行分类,类别为 y y y

CNN网络:可以是GoogleNe,ResNet,ImageNet上预训练的模型,特定任务微调过的模型,本文采用的是预训练模型。


3 实验

[CVPR 2018 论文笔记] Feature Generating Networks for Zero-Shot Learning_第2张图片

观察GZSL的实验结果,没有生成数据的时候,所有模型的可见类精度明显高于未见类精度,说明许多样本被错分类为已见类。令人惊奇的是,只使用简单的softmax分类器就能得到SOTA的结果。这表明生成的特征潜力和泛化能力。


4 总结

f-CLSWGAN有两个创新点:

  • 一是在特征空间生成数据,而不是直接生成图像;
  • 二是添加了auxiliary classifier,提高了生成器的性能。

5 有意思的地方

  • 关于为什么进行ZSL?
    论文说深度学习需要大量数据。但是你不能标注所有的类别。
  • 关于生成图像判别性不足?
    4.4 中: 基于观察,许多生成图像有正确视觉外观,比如鸟和花,但是他们缺少必须的判别性信息来进行正确的分类,而且生成图像的类别不一致。判别性不足也和类别的力度有关系,细粒度应该更难生成判别性的图像或者特征。
  • 关于细粒度ZSL?
    实验中CUB和Flowers数据集是细粒度图像数据集。生成方法在细粒度ZSL中可能会有发展。
  • 关于分类器提高生成质量在ZSL中的表现?
    论文没有对比使用和不使用auxiliary classifier的性能对比。
  • 关于方法没有使用Batch Normalization?
    作者没有采用BN,他们的经验评估表明使用BN后精度会有很大的降低。

你可能感兴趣的:(paper)