1 概念
小样本学习(few-shot learning,FSL)旨在从有限的标记实例(通常只有几个)中学习,并对新的、未见过的实例进行识别。
相比于传统的深度学习和机器学习方法,小样本学习能够更好地模拟人类的学习方式,因为人类在学习新事物时通常只需要很少的示例即可,即从人工智能到人类智能转变。
首先,在FSL设置中,通常有三组数据集,包括支持集S、查询集Q和辅助集A。S中的实例类别已知,Q中实例类别未知但一定属于S,S和A的实例类别一定不相交,即S中的类别一定不会出现在A中。
FSL任务通常被设定为 N-way K-shot 的形式,其中N是类别的数量,K是每个类别中标记的样本数量,表示支持集 S 有N个类,每个类有K个标记样本。N通常设为5,K通常设为1或5。用符号表示:
- 辅助集(或基类集) A = { X i , y i } i = 1 M {A}=\left\{X_{i}, y_{i}\right\}_{i=1}^{M} A={ Xi,yi}i=1M ,其中图像 X i ∈ R H × W × 3 X_{i} \in \mathbb{R}^{H \times W \times 3} Xi∈RH×W×3 , one-hot 标签向量 y i ∈ Y = { 0 , 1 } C b a s e y_i ∈ Y = \left\{0, 1\right\}^{C_{base}} yi∈Y={ 0,1}Cbase
- 支持集 S = { S 1 , ⋅ ⋅ ⋅ , S N } = { X i , y i } i = 1 N K S = \left\{S_1, · · · , S_N\right\} = \left\{X_i , y_i\right\} ^{NK}_ {i=1} S={ S1,⋅⋅⋅,SN}={ Xi,yi}i=1NK , 其中 S N = { X i , y N } i = 1 K S_N = \left\{X_i , y_N\right\}^ K_{ i=1} SN={ Xi,yN}i=1K 包含 K 幅图像并且是 S 中的第 N 类。
- 查询集 Q = { Q i , y i } i = 1 N M Q = \left\{Qi , yi\right\} ^{NM}_ {i=1} Q={ Qi,yi}i=1NM,其中M通常设为15。
每个类别中如此少的标记样本几乎不可能训练出有效的分类模型,因此,FSL 的一个解决方案就是如何使用 A 来促进对目标任务(即 S 和 Q)的学习。好处是 A 通常比 S 拥有更多的类和每个类的样本,而挑战是 A 与 S 有一个不相交的标签空间,甚至可能与 S 有很大的域偏差。
通常FSL将 数据集D 分为 D t r a i n 、 D v a l 和 D t e s t D_{train}、D_{val}和D_{test} D

小样本学习(FSL)旨在从少量标记实例中学习,并应用到新任务。它通常涉及支持集、查询集和辅助集,以及N-wayK-shot任务设置。FSL方法包括基于non-episodic(预训练和微调)、优化(元学习)和度量(比较查询图像与支持集的相似性)的方法。元学习和度量学习方法分别通过双循环优化和单次前馈来适应新任务。
最低0.47元/天 解锁文章
1万+





