用很少的样本进行分类或者是回归
support set:小的数据集(无法训练出深度神经网络)
few short learning的目标是让机器自己学会学习。
few shot learning是一种meta learning(learn to learn)
举个例子:
当一个小朋友第一次去动物园时,他可能只能识别一些常见的动物,比如猫、狗、鸟等。这相当于在机器学习中的零样本学习,小朋友可以看作是具有元学习(meta-learning)能力的模型。而当小朋友看到一个不认识的动物(如水獭)时,他可以根据一张动物卡片来学到这个动物是水獭,这就叫做one shot learning。
Supervised learning vs Few-Shot learning
在监督学习中,模型通过大量的标记数据进行训练,每个样本都有相应的标签。在测试阶段,模型需要对其未见过的样本进行分类或回归。这些测试样本的类别通常在训练集中已经出现过,因此模型在训练过程中可以学习到不同类别之间的关系,以便在测试时进行泛化。
如这张哈士奇的图片不在训练集的图片中,但是训练集包含哈士奇这个类。
而在Few-shot learning中,模型只能从少量的训练样本中学习。在测试阶段,模型需要对未见过的类别进行分类或回归。这些测试样本不仅在训练集中未出现过,而且模型也没有直接训练过与这些类别相关的特征。因此,Few-shot learning更具挑战性,需要模型具有更强的泛化能力,以便从少量样本中学到普遍的特征。
如这张兔子的图片不在训练集的图片中,且训练集不包含兔子这个类。
因此模型无法直接根据兔子图片识别出兔子这个类别。所以需要额外添加一个support set:其中包含了少量的训练样本,用于帮助模型在测试时进行分类或回归。这些支持集的样本通常来自于少量的类别,每个类别可能只有一个或很少的样本。
模型可以通过判别query set和support set之间的差异来分辨属于哪一个类。
basic idea
Few-shot learning的一种基本思想是"学习相似性函数",即让模型学习一个能够衡量输入之间相似程度的函数。这个函数可以用来衡量两个样本之间的相似性,从而在测试时将新样本映射到训练样本的类别上。
比如以下例子:
具体来说,学习相似性函数的步骤可能如下:
- 给定一个训练集,其中包含少量的训练样本和相应的标签。
- 使用这些训练集样本来训练模型,目标是学习一个能够将输入样本映射到相似性空间的函数。
- 在测试时,将query样本与支持集中的样本进行比较,并利用学习到的相似性函数来确定其类别或回归值。