【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?

 

Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?

https://arxiv.org/abs/2003.11539(CVPR2020)

https://github.com/WangYueFt/rfs/(code)

 

keywords:  FSL、Embedding Model、Knowledge Distillation、Meta-learning、Self-distillation

Problem & Motivation

FSL是元学习重要的benchmark之一,针对FSL的任务,大多数是设计一个元学习算法,尝试从少数样本中获得样本的元知识,从而将元知识泛化应用到新的任务中。但是在这一篇文章中,作者发现一个性能好的embedding model要比复杂的元学习算法更加高效。所以文章从如何获得较优性能的Embedding Model角度出发,一方面通过优化embedding model的训练过程,另一方面引入知识蒸馏(Knowledge distillation)思想,通过多次迭代进一步优化Embedding Model的特征提取能力。文章在现有主流FSL的数据集中,均取得SOTA的效果。

Method

首先,在训练阶段,将meta-training set整合成一个单一的数据集,训练一个CNN模型作为representation,得到一个普通的分类器。接着将这个预训练好的网络除去最后一层,作为特征提取器。在meta-testing阶段,针对提取的特征,为每一个task各拟合一个线性分类器。进一步,作者将自蒸馏(Self-distillation)对已训练好的Embedding Model进行优化。

 

1.Problem formulation

      base learner的数学模型:

 

其中A代表base learner,\phi 代表embedding model最优时的参数,R是正则项。在训练base learner时,embedding model是固定不变的。

        embedding model的数学模型:

 

embedding model的训练思路则是,最小化base learner在测试时的平均误差。

模型的评估则是由测试集中的平均精准度衡量:

 

2.Learning embedding model through classification

文章所提出的改进方法:

首先,将所有的meta-training set融合成一个新的数据集。并用这一整个数据集去训练embedding model。其中L ce 用的是交叉熵损失函数。

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第1张图片

训练embedding model的过程,将每个task的traininig部分的数据整合成一个大的数据集来训练embedding model。训练好后,将固定不变。

接着为每个task,训练一个base learner。这个base learner θ 是由一组权重和偏置组成。在测试阶段,embedding model并不进行fine-turn,而是保持不变。

base learner的训练过程:

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第2张图片

在test的阶段,先用support set样本得到的特征拟合一个线性分类器,接着再query set测试用这个线性分类器。不同task对应不同的分类器,所以这个分类器是每次都得重新初始化,但是,此时的embedding Model则保持不变,即不会随着不同的task来fine-turn。

3. Sequential self-distillation

在训练得到一个embedding model后,作者进一步对model  \phi 进行自蒸馏,生成新embedding model \phi ^' , 再用于后续的base learner的拟合,发现效果得到了较大提高。\phi ^'定义为:

其中\alpha +\beta =1。自蒸馏的迭代过程为:

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第3张图片

Experiment:

在miniImageNet,tieredImageNet,CIFAR-FS,FC100数据集上取得了SOTA的性能。此外针对自蒸馏策略的,作者也做出了性能评估。

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第4张图片

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第5张图片

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第6张图片

进一步还测试了模型在自监督学习上的性能。表明模型在自监督学习上的潜力。

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第7张图片

此外针对自蒸馏策略的,作者也做出了性能评估。

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第8张图片

还进一步探讨了自蒸馏迭代的次数和不同类型的base learner对模型的影响。结果发现逻辑回归函数比最邻近算法性能更好。

【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?_第9张图片

Thoughts

这篇文章进一步的重新思考了小样本分类的问题本质,提出了训练一个性能好的embedding model起到非常关键的作用。所以将每个task中原本的train数据部分整合成一个大的数据集,再用这个新的数据集去训练Embedding Model,使得这个Embedding Modell具有一般分类任务的特征提取性能。接着利用提取的特征为每个task拟合不同的线性分类器。和fine-turn方法不同的,文章并没有利用新的样本重新调整Embedding Model的参数,而是让其保持不变,而是针对各任务的不同对象,拟合不同的线性分类器。所以如何提取出样本中广泛的、基础的,并能拟合更具代表性的特征,是小样本学习的关键。也就是如图人类在面对没有见过的物体时,会利用已有的知识来描绘这个物体,所以只需少量的样本,人类就能很快能区分这个物体。因此相比其他元学习的算法,这篇文章用更大的数据训练Embedding Model,得到的特征更具代表性。

进一步,根据知识蒸馏思想,作者也提出了对Embedding Model进行自蒸馏迭代,使得Embedding Model学到的特征更加的凝练。实验结果也证明加入自蒸馏后模型性能有了较大的提升。

你可能感兴趣的:(【论文笔记】Rethinking Few-Shot Image Classification: A Good Embedding Is All You Need?)