论文地址:https://arxiv.org/pdf/2003.11539.pdfhttps://arxiv.org/pdf/2003.11539.pdf
代码地址:
http://github.com/WangYueFt/rfs/http://github.com/WangYueFt/rfs/
Abstract
近年来元学习研究的重点是快速适应有限数据和低计算成本的测试时间任务的学习算法。小样本学习作为元学习的标准之一被广泛应用。在这项工作中,我们展示了一个简单的基线:在元训练集上学习一个有监督或自我监督的表示,然后在这个表示之上训练一个线性分类器,比最先进的小样本学习方法表现得更好。通过使用自蒸馏可以获得额外的提升。这表明,使用一个良好的学习嵌入模型可以比复杂的元学习算法更有效。我们相信,我们的发现激发了对小样本图像分类基准和元学习算法相关角色的重新思考。
Contributions
- 这是一个非常简单的基线,可以实现最先进的学习。这一基线表明,许多最近的元学习算法并不比简单地通过代理任务学习良好的表示要好,例如,图像分类。
- 在简单的基线基础上,我们使用自我蒸馏进一步提高性能。
- 在广泛使用的基准上,我们的组合方法比以前的先进技术平均提高了3%。在新的基准MetaDataset[54]上,我们的方法比以前的最佳结果平均高出7%以上。
- 除了有监督的训练之外,我们还展示了使用最先进的自我监督方法学习的表示能达到与完全监督方法相似的性能。因此,我们可以简单地通过学习良好的自我监督嵌入来“学会学习”。
Method
1、问题定义
2、通过分类学习嵌入模型
元训练的目标是学习可转移的嵌入模型𝑓𝜙,该模型可泛化到任何新任务。我们没有设计新的元学习算法来学习嵌入模型,而是对分类任务进行预训练的模型可以为下游基础学习器生成强大的嵌入。为此,我们将元训练集中的任务合并为一个任务,由下式给出:
𝐿𝑐𝑒 表示预测和真实标签之间的交叉熵损失,过程如图一所示:
如图 2 所示,对于从元测试分布中采样的任务(),我们在 𝐷𝑗𝑡𝑟𝑎𝑖𝑛 上训练一个基础学习器。基础学习器被实例化为多元逻辑回归。它的参数θ = {W , b} 包括一个权重项 W 和一个偏置项 b,由下式给出:
在我们的方法中,元训练和元测试之间的关键区别在于,由φ参数化的嵌入模型从元训练转移到元测试,并且在对从元测试集采样的任务进行评估时保持不变。基础学习器为每个任务重新初始化,并在元测试任务的 Dtrain 上进行训练。我们的方法与 [44, 34] 中使用的方法的预训练阶段相同。与其他方法 [9, 39] 不同,我们不会在元测试阶段微调嵌入模型 fφ。
3、顺序自蒸馏
知识蒸馏是一种将嵌入模型集合中的知识转移到单个模型,或从较大的教师模型转移到较小的学生模型的方法。我们没有直接使用嵌入模型进行元测试,而是将嵌入模型中的知识提取到具有相同架构的新模型中,在相同的合并元训练集上进行训练。
对由φ'参数化的新嵌入模型进行训练,以最小化预测和真实标签之间的交叉熵损失以及预测和由 fφ 预测的软目标之间的散度 (KL) 的加权和:
我们利用 Born-again策略顺序应用 KD 来生成多代,如图 3 所示。在每一步中,第 k 代的嵌入模型都使用从 k-1嵌入模型转移的知识进行训练。
假设我们重复操作 K 次,我们使用 𝜑𝐾 作为嵌入模型来提取特征进行元测试。
实验