
摘要
现实世界包含数量极为庞大的物体类别,一次性学习所有类别在实际中是不可行的。少样本学习(few-shot learning)作为一种有前景的学习范式,因其仅需少量样本即可快速适应新类别分布的能力而备受关注。近期研究[7, 41]表明,仅通过学习一个高质量的特征嵌入(feature embedding),其性能即可超越更为复杂的元学习(meta-learning)与度量学习(metric learning)算法。本文提出一种简洁有效的方法,用于提升深度神经网络在少样本学习任务中的表征能力。我们采用两阶段学习策略:第一阶段,通过引入自监督辅助损失,训练神经网络以最大化特征嵌入的熵,从而构建出最优的输出流形;第二阶段,通过将自监督孪生网络(self-supervised twins)拉近,最小化特征嵌入的熵,同时利用学生-教师知识蒸馏(student-teacher distillation)对流形结构进行约束。实验结果表明,即使在第一阶段,自监督机制已能超越当前最先进的方法,而第二阶段的知识蒸馏过程进一步带来了显著性能提升。相关代码已开源,地址为:https://github.com/brjathu/SKD。
代码仓库
yiren-jian/embedding-learning-fsl
pytorch
GitHub 中提及
brjathu/SKD
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| few-shot-image-classification-on-cifar-fs-5 | SKD | Accuracy: 76.9 |
| few-shot-image-classification-on-cifar-fs-5-1 | SKD | Accuracy: 88.9 |
| few-shot-image-classification-on-fc100-5-way | SKD | Accuracy: 46.5 |
| few-shot-image-classification-on-fc100-5-way-1 | SKD | Accuracy: 63.1 |
| few-shot-image-classification-on-mini-2 | SKD | Accuracy: 67.04 |
| few-shot-image-classification-on-mini-3 | SKD | Accuracy: 83.54 |
| few-shot-image-classification-on-tiered | SKD | Accuracy: 72.03 |
| few-shot-image-classification-on-tiered-1 | SKD | Accuracy: 86.66 |