Paper Reading: f-VAEGAN-D2: A Feature Generating Framework for Any-Shot Learning
Paper Reading Note
TL;DR
本文是CVPR2019的一篇文章,构建了一种VAE+GAN的生成模型,用于对小样本学习任务中zero-shot/low-shot样本在特征空间上的生成。本文不仅使得这种生成模型达到SOTA的效果,还让最后在特征空间生成的样本在raw pixel space和自然语言上变得可视化:
Motivation
今年在小样本学习任务上用GAN作语义空间的特征增强成为了一个新的发展方向,可参考:
- Low-shot Learning via Covariance-Preserving Adversarial Augmentation Networks
- Low-shot Visual Recognition by Shrinking and Hallucinating Features
而作者的瞄准点在于:
- 这些单纯的GAN用于训练小样本很容易就崩了(因为真实样本太少),而使用VAE本质上是在原始数据encoder+高斯噪声,不具有GAN生成多样性的特点。另外VAE采用的是粗暴的重构损失,参考GAN与VAE。
- 大部分在特征空间的生成模型不具备可解释性,这也是这一方向发展出来的原因。因为在小样本学习中直接生成样本效果很糟糕。而本文在加入了对生成特征的翻译模块,使其变成了可解释的。
Model
本文模型如下所示:
在GAN和VAE部分都用了conditional的模型,即把特征的属性加到图片的latent distribution中。在拼接部分似乎并没有详细说怎么拼接两个部分的特征,只是说明了损失函数用简单的方式相加得到:
WGAN损失:
VAE损失:
加权相加:
对于模型名字中D2的定义是模型使用了一个non-conditional的判别器D_2,用来学习稀有模型的特征分布:
其中x是稀有样本的特征,而x波浪是生成器生成的特征。这里的x帽帽选用的是二者连线的中间点,α在这里取的是服从0到1均匀分布上的任意值。
Results
在半监督学习的inductive和transductive任务中模型均达到了SOTA的效果:
在对生成样本属性特征空间的解释上也加上了自然语言,有点酷:
Thoughts
这篇文章提出的VAE+GAN模型可以说是综合了二者之间的优势,但是本文没有细谈为何二者这么简单的结合就能把之前各自的缺点都抹去。另一个亮点就在于做了一个对特征空间生成的小样本转义的模型,可以说是证明了自己实验的合理性。