P>M>F:基于预训练-元训练-微调流程的小样本学习方法

原文:Hu S X, Li D, Stühmer J, et al. Pushing the Limits of Simple Pipelines for Few-Shot Learning: External Data and Fine-Tuning Make a Difference[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 9068-9077.

源码:https://github.com/hushell/pmf_cvpr22

小样本学习(FSL)是计算机视觉中一个重要且热门的问题,它激发了从复杂的元学习方法到简单的迁移学习方法的大量研究。为了获得更加现实可用的小样本图像分类方法,我们试图突破简单但有效的流程的极限。为此,我们从神经网络架构的角度探究了小样本学习,以及不同数据供给下的三阶段网络更新流程,其中,无监督的外部数据用于预训练,基础类别数据用于模拟小样本任务的元训练,几乎没有标记的数据用于微调。我们研究了以下问题:1.基于外部数据的预训练对FSL有何益处?2.如何利用最先进的Transformer架构?3.微调如何缓解跨域迁移?我们提出了一个简单的基于Transformer的流程,在Mini-ImageNet、CIFAR-FS、CDFSL和Meta-Dataset等基准上产生了令人惊讶的良好性能。

图1. 预训练方法和骨干网络架构是如何影响小样本学习的?

如图1所示,小样本学习可以通过元学习和迁移学习(基于大规模外部数据预训练的自监督模型)来实现。虽然大多数FSL研究人员关注的是前者,但我们表明后者可能更有效,因为它可以使用更强大的骨干网络架构(如Vision Transformer),并且可以与简单的元学习器(如ProtoNet)相结合。图1展示了过去5年的数十项FSL研究结果,黄色星号表示ProtoNet+ViT+CLIP的结果。为了强调预训练的重要性,这里还给出了ProtoNet+随机初始化ViT的结果(蓝色方块)。

图2. 预训练→元训练→微调(P>M>F)流程图。该流程首先将预训练骨干网络(class-agnostic)转换为元训练骨干网络(generic),然后再转换为特定于任务的微调骨干网络(task-specific)。

如图2所示,为了实现高性能的小样本学习,我们使用单个特征提取骨干网络,在一个简单的顺序流程中将预训练和元学习结合在一起。我们的流程包括三个阶段:1.使用自监督损失在未标记的外部数据上预训练特征提取骨干网络。2.使用ProtoNet损失在有标记的模拟小样本任务上对特征提取骨干网络进行元训练。3.在新的小样本任务上部署特征提取骨干网络,并基于每个任务的增强支持集进行微调。我们称之为P>M>F(预训练→元训练→微调)。

算法1:用于微调的PyTorch伪代码。

表1. 骨干网络架构和预训练方法(及数据集)对小样本学习性能的影响。

表2:骨干网络架构和预训练方法对小样本学习器(MetaQDA、MetaOptNet)性能的影响。

表3. 在Meta-Dataset数据集的元测试期间进行微调的结果。

图3:在Meta-Dataset数据集上,元测试期间微调的影响。

表4. 在miniImageNet和CIFAR-FS数据集上,P>M>F与SOTA FSL算法的比较。

表5. 在Meta-Dataset数据集上,P>M>F与SOTA FSL算法的比较。

表6. 跨域小样本学习的广泛研究,P>M>F与SOTA FSL算法的比较。

附表1. 在Meta-Dataset数据集上的预训练结果,不同预训练方法和骨干网络架构的比较。

附表2. 在Meta-Dataset(仅ImageNet)数据集上的元训练结果,不同预训练方法和骨干网络架构的比较。

附表3. 在Meta-Dataset数据集上的元训练结果,不同预训练方法和骨干网络架构的比较。

附表4. 在miniImageNet和CIFAR-FS数据集上,不同预训练方法和骨干网络架构的比较。

附图1. 微调超参数的消融研究。

附图2. 元训练前后,Aircraft domain的T-SNE可视化结果。

附图3. 元训练前后,CUB domain的T-SNE可视化结果。

附图4. 元训练前后,Omniglot domain的T-SNE可视化结果。

我们通过突破预训练+ProtoNet流程的限制,推进了小样本学习的发展。我们发现,源数据集和神经网络架构是FSL性能的主导因素。当训练和测试之间存在跨域迁移时,我们发现使用数据增强对特征提取骨干网络进行微调也很重要。我们的简单流程在四个FSL基准上实现了非常有竞争力的性能。

欢迎关注“多模态人工智能”公众号^_^↑

为人类文明进步而努力奋斗^_^↑

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有以下几种算法可以使用小样本微调预训练模型: 1. 迁移学习(Transfer Learning):将已经在大规模数据上预训练好的模型迁移到任务数据上,并在较少的数据上进行微调,以适应新的任务数据。例如,可以使用BERT等预训练模型在大规模文本数据上进行预训练,然后将其微调到某个特定的文本分类任务上。 2. 学习(Meta-Learning):学习是一种可以快速学习新任务的机器学习方法。它允许模型在较少的样本上学习如何快速适应新的任务,从而能够更好地应对小样本学习的问题。例如,可以使用MAML算法在少量样本上微调预训练模型,以适应新的任务数据。 3. 知识蒸馏(Knowledge Distillation):知识蒸馏是一种可以将大模型的知识传递到小模型的方法。它可以利用已训练好的大型模型的知识,通过一些方法将其压缩成较小的模型,并在小样本上进行微调。例如,可以使用DistilBERT等已经压缩过的预训练模型在小样本上进行微调。 4. 数据增强(Data Augmentation):数据增强是一种可以通过对已有数据进行一些变换来生成更多数据的方法。它可以在小样本上增加数据量,从而可以提高模型的泛化能力。例如,在图像分类任务中,可以通过旋转、缩放、平移等方式对图像进行增强,在文本分类任务中,可以通过随机替换、删除、插入等方式对文本进行增强。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值