论文:CROSS-DOMAIN FEW-SHOT CLASSIFICATION
VIA LEARNED FEATURE-WISE TRANSFORMATION
地址:https://arxiv.org/abs/2001.08735
代码:https://github.com/hytseng0509/CrossDomainFewShot
来源:ICLR2020
摘要
由于不同领域的数据特征分布具有差异性,因此少样本分类算法对于之前为见过的领域数据效果不好。次论文主要解决的是基于度量的方法在领域迁移(domain shift)问题下的少样本分类任务。核心思想是提出了一个feature-wise transformation layer ,在训练阶段通过仿射变换增强图像特征来模拟不同领域中的特征分布。为了捕获不同领域中的特征分布,又使用了learning-to-learn的方法来搜索fearure-wise transofrmation layer中的超参数。实验数据集:mini-ImageNet,CUB, Cars, Places, and Plantae.
问题
domain shift
基于度量的方法通常包含两个部分:特征编码器和度量函数。通常的方法对于训练集和测试集都是在同意领域的数据,比如都是miniImageNet中的数据,因此他们的数据分布都差不多。但是我们如果想测试其他领域的数据,比如CUB数据,因为数据分布差距较大,因此效果也较差。
如上图所示,寻来拿阶段用的是miniImageNet中的一部分,在miniImageNet中另一部分测试时,因为他们的数据分布差不多,每类之间的差距都较大,所以效果可以,但是在CUB和Cars测试,他们都是鸟类或这汽车的数据,因此数据分布接近,这时之前训练的度量函数效果就不好了。
解决domain shift的主要方法:1)无监督的领域自适应(unsupervised domain adaptation),这种放方法在训练阶段会使用目标域中的无标签数据。 2)领域泛化(domain generalization),学习一个分类器,使他在目标域中有足够好的泛化性,但是这种方法目的是识别与训练阶段相同类型的数据。
方法
基于度量的方法
基于度量的方法通常包含两个部分:特征编码器 E E E和度量函数 M M M。
E E E为特征编码器,本别对support set X s \mathcal{X_s} Xs和query set X q \mathcal{X_q} Xq进行编码,然后通过度量函数 M M M实现分类。
最后根据loss反向传播计算参数。
问题设置
一个领域包含多个任务 T = { T 1 , T 2 , … , T n } \mathcal{T} = \{T_1,T_2,\dots,T_n\} T={ T1,T2,…,Tn},我们假设在训练阶段可以看到N个领域 { T 1 s e e n , T 2 s e e n , … , T N s e e n } \{\mathcal{T}_1^{seen},\mathcal{T}_2^{seen},\dots,\mathcal{T}_N^{seen}\} { T1seen,T2seen,…,TNseen}。目标是使我们的模型在目标域