小样本学习(Few-Shot Learning)是机器学习领域中的一个重要研究方向,它关注于如何让模型在只有少量样本的情况下进行有效的学习。这种学习方式对于现实世界中数据稀缺的问题尤其重要,也指出了小样本学习的关键挑战:如何在有限的数据上训练出能够泛化到新任务的模型。元学习(Meta-Learning),又称为“学会学习”,是小样本学习领域的一个重要分支。其目标是设计出能够快速适应新任务的算法。这种算法通常通过在一系列相关任务上进行训练,学习到一种通用的策略或模型参数的更新规则,从而在面对新任务时能够更快地进行学习。

图 1 小样本学习和元学习的关系

在元学习框架下的原型(prototype)可以被用作快速适应新任务的关键。prototype通过在不同任务上训练实现对支持集(support set)中的新样本进行特征学习,提炼新样本信息,在不干扰既有检测模型参数的情况下以诸如挂件的形式植入检测框架中,有效避免了原模型的退化和重头训练的资源损耗,实现对新旧样本的高准确度检测.本文对有关元学习领域内的prototype进行了一定的整理。

目录

1.prototype的优势

2.prototype的计算

3.prototype的应用


1.prototype的优势

在元学习框架下,prototype(原型)的概念扮演着至关重要的角色,特别是在快速适应新任务的能力上。原型的学习和应用不仅提升了模型的泛化能力,还极大地增强了其对新情况的适应性。以下列举部分prototype在元学习中应用的优势:

快速适应性: 原型作为元学习中的关键组件,使得模型能够迅速适应新任务。通过在多样的任务上进行训练,模型学习到了一种泛化的特征表示,这种表示能够捕捉到不同任务间的共有模式和结构。当面对新任务时,模型可以利用这些共有特征快速调整,而无需从头开始学习。

特征提炼: 在支持集上训练得到的原型,是对类别中所有样本特征的精炼和概括。这种提炼过程使得原型能够捕捉到类别的核心特征,从而在新样本出现时,模型能够准确地识别和分类,即使这些样本在训练时未曾见过。

模型参数的保护: 通过将原型作为挂件形式植入检测框架,我们可以在不干扰既有检测模型参数的情况下,增强模型对新样本的检测能力。这种方法避免了对原始模型进行大规模的改动,从而保护了模型在旧任务上已经取得的性能。

避免模型退化: 在传统学习中,当模型面对新的数据分布时,可能会出现性能退化的问题(如微调导致的模型退化)。而通过原型的引入,模型可以在保持对旧样本的高准确度的同时,提高对新样本的检测准确度,有效避免了模型退化。

资源节约: 原型的引入减少了对完整重头训练的需求。在现实世界的应用中,获取大量标注数据并进行全量训练往往是昂贵且耗时的。通过原型,我们可以在较小的数据集上进行快速学习,从而节约了大量的计算资源和时间成本。

泛化与特化平衡: 元学习框架下的原型训练,实现了在泛化与特化之间的平衡。模型不仅能够泛化到新任务,还能够针对特定任务进行特化学习,这种灵活性使得模型在多种不同的应用场景下都能表现出色。

增量学习与持续进化: 原型的更新和优化可以是一个持续的过程,随着新任务的不断出现,模型可以通过增量学习的方式不断进化。这种持续的学习和适应,保证了模型能够跟上快速变化的环境和需求。

多任务学习与知识迁移: 在元学习中,原型的学习和应用还涉及到多任务学习和知识迁移的概念。模型通过在多个任务上学习到的原型,能够实现知识从一个任务到另一个任务的迁移,这种迁移能力极大地提升了模型的实用性和灵活性。

通过上述阐述,我们可以看到原型在元学习框架下的应用具有多方面的优势,它们不仅提高了模型的适应性和灵活性,还有助于实现资源的有效利用和模型性能的持续提升。

2.prototype的计算

较为经典的一种prototype形式是作为标注物体对应类别的代表,通过提炼标注物体的特征,利用全连接层进行编码,得到该物体对应类别的表示,辅助查询集的目标检测。如下为文献[1]中prototype的计算公式,其中P^{_{}}c为类别c的prototype,r_{c}^{i}指所有标注物体中属于类别c的第i个区域特征。

P^{_{}}c = \frac{1}{N}\sum_{i}^{N_c{}}r_{c}^{i}   (1)

文献[2]也提出了提取支持集各类别的特征并进行类别编码,将其与查询集特征进行融合以得到特定类别的特征表示。文献[3]则根据支持集的信息提炼重加权向量,对查询集的元特征进行调整,虽然没有直接引用prototype这一概念,文献中的重加权向量却也同样完成了对新样本的学习,且在不干扰原模型的情况下植入检测框架的任务,这里也判断为一种prototype的形式。

表 1 prototypes的计算与应用方式

3.prototype的应用

从prototype的应用上看,传统方法如原型网络(Prototype Network)[4]通常通过计算某一查询点到所有类别prototype的距离,并使用softmax函数生成类别分布来进行目标分类。其中的prototype是通过计算该类别所有样本的均值来得到的。该方法虽然简洁,却在准确率上有较差的表现,通过计算查询集与prototype的逐元素/逐通道点积得到相似度信息逐渐成为新的研究热点。文献[]便利用prototype成功获取特定类别的特征图,将特征图用于调整检测过程的注意力分配,进一步促进与prototype对应类别的检测。文献[5]将ViT特征投影到用作网络输入的子空间中,以提高投影特征对基类的过拟合的鲁棒性。

图 2 传统方法计算查询点与各prototype的距离(图左)和最新流行的通过prototype调整查询集特征图权重分布(图右)

参考文献

[1]Yan X, Chen Z, Xu A, et al. Meta r-cnn: Towards general solver for instance-level low-shot learning[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 9577-9586.

[2]Zhang G, Luo Z, Cui K, et al. Meta-detr: Few-shot object detection via unified image-level meta-learning[J]. arXiv preprint arXiv:2103.11731, 2021, 2(6): 2.

[3]Kang B, Liu Z, Wang X, et al. Few-shot object detection via feature reweighting[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2019: 8420-8429.

[4]Jake Snell, Kevin Swersky, and Richard Zemel. Prototypical networks for few-shot learning. In Advances in Neural Information Processing Systems, pages 4077–4087, 2017. 1, 2

[5]Zhang X, Wang Y, Boularias A. Detect every thing with few examples[J]. arXiv preprint arXiv:2309.12969, 2023.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐