Finding Task-Relevant Features for Few-Shot Learning by Category Traversal
动机
当前的few-shot learning在学习过程中,并没有关注support set中类与类之间的关系。作者认为在一个support set中,如果能横穿整个support set观察所有特征,这对于最后结果的调整是很有帮助的,两个例子:
- (a)表示的是一个1-shot 的情景。对于color和shape两种特征来说,我们认为color更加具有代表性,因为纵观整个support set,所有的训练集颜色都是不一样的,但是shape是有相似的。换句话说,color比shape更具有区分度,所以我们倾向于把这个query分为第三类。
- (b)表示的是一个k-shot的情景,每个类别有k个训练数据,我们纵观整个support set可以发现,每一行的颜色都是一样的,所以颜色可以作为一个非常有辨识度的特征。
由上面两个例子可以看出,纵观整个support set是非常有必要的。
模型组成
Concentrator: Intra-class Commonality
用于观察类内的特征,作用在support set上,如下图所示:
- 这是一个N个类别,每个类别具有K个样本的support set,首先对每个数据提取特征,对应得到N×K个小方块
- 然后,对属于同一类的小方块,进行取平均操作,来拟合类内信息
Projector: Inter-class Uniqueness
用于提取类间的特征,如下图所示:
- 首先,对Concentrator模块提取到的feature进行拼接
- 然后在拼接后的向量上使用卷积层进行卷积,来拟合不同类别的信息
- 最后在所得到的feature map的last-channel上进行sofemax操作得到最终的向量
为了是使用这一模块得到的向量,需要将support set和query set得到的向量进行conv-reshape操作。
最后将所得到mask加入到原始的任务中,所以整体流程图如下所示: