从setting上来看,根据模型训练阶段是否可以获取到target数据,我们基本可以将方法分为:1)只有source data用于训练;以Feature-wise Transformation (FWT)为代表
2)source data + 大量unlabeled target data;工作Self-training for Few-shot Transfer Across Extreme Task Differences中提出; 这里的第一种setting自然是最接近真实场景但同样也对算法最具挑战的任务,在这样1)可用样本少;2)存在domain gap的情况下,我们认为没有任何来自target的信息,仅仅通过源域数据来提升模型的生成泛化能力确实能带给模型的性能提升是非常有限的。 这里的第二种setting但某些现实情况下是比较合理的,例如从miniImageNet迁移到医疗图像,这种情况下无标注target数据是比较容易获取的。但是当我们的target数据是fine-grained鸟类或者植物,这个setting就不那么容易实现。
1.3 setting motivation
相比之前的两种setting,我们提出了一种更加现实可操作的场景:不管target data是鸟类,植物,还是医疗,获取极少数量的属于target domain标注数据其实并不是一件难事(现有benchamark本身有可以使用的这部分数据,即使没有,人工标注产生极少一部分这样的标注数据代价也不高)。 因此,我们首先提出learning CD-FSL with extremely few labeled target data。为了便于区分,我们将这部分数据成为auxiliary data。
02
learn CD-FSL with extremely few labeled target data
接下来我们介绍我们具体的setting,以及具体如何获取到这部分auxiliary data。
setting 在FWT提出的benchmark中,我们从source datatset迁移知识到target dataset中,而每个dataset都被分成类别不相交的base/eval/novel(具体的原因是因为例如这里的source是mini-Imagenet,mini-Imagenet本身作为FSL的数据集,自然需要disjoint的base/eval以及novel sets,而正如上文所述,现实中我们可以自行进行划分,或者手工标注来实现这样的setting),标准的CD-FSL就是将source base 用于模型训练, source eval 用于模型验证,最终在target novel 上进行模型测试,当然还可以测试模型在source eval 上的性能。 在我们的setting下,我们将未曾被利用起来的target base 做为来自target domain的额外数据,来引导模型的学习。具体而言,对于每个中的类别,我们随机采样个样本 (最终方法中,),这些样本共同构成我们的auxiliary data 。 这里要强调的一点是:由于我们获取的本身与测试集的类别之间就是不存在任何交集的,因此我们并没有破坏基本的CD-FSL setting。 那在我们的定义下,问题变成了:如何利用好以及这两部分数据,使得模型在以及上达到一个不错的效果。
03
方法介绍 Meta-FDMixup
3.1 method motivation
我们刚刚在介绍setting的时候已经把问题提炼出来了,更加直观的解释可以看下图:
这里主要存在的两个难点问题是:
原本的source training data 和新引入进行的auxilary data 之间是unbalanced并且disjoint的。unbalanced指的是前者每个类别的样本量充足,而后者每个类别的样本量很少;disjoint的意思是这两个数据的类别集合交集为空。