N3xtchen 的数字花园

Search

Search IconIcon to open search

Few-shot Learning(小样本学习)

上次更新于 Apr 10, 2023 编辑源文件

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

Few-shot Learning(小样本学习) 是指在非常有限的样本数据情况下,通过学习发现不同类别之间的共性和差异,从而在新的类别上表现良好的机器学习任务。在这种任务中,模型需要从仅有的几个样本中学习到一个有意义的分类器,以便能够对新样本进行准确的分类。与传统的机器学习任务相比,Few-shot Learning 具有更强的泛化能力和更高的适应性,因为它能够处理许多新的、从未见过的情况。

# 基础概念

# Meta Learning

Meta Learning,又称为 learning to learn,在 meta training 阶段将数据集分解为不同的 meta task,去学习类别变化的情况下模型的泛化能力,在 meta testing 阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。

Few-shot LearningMeta Learning 在监督学习领域的应用。

# N-way K-shot(N类K样本)

Few-shot Learning 中,通常使用 N-way K-shot 来描述一个分类任务,其中 N 和 K 分别代表每个类别的样本数量和用于训练的样本数量,样本的数量是 C*K 个样本。

K=1 的时候,就是我们所说的 One-shot Learning

# support set(支持集)

support set 是指在模型训练阶段用来支持模型训练的数据集,它通常包含少量的样本,用于训练模型在输入一个新的类别时如何进行分类。

例如,在 5-way 1-shot 分类任务中,support set 中包含 5 个类别的每个类别中仅包含一个样本。这些样本用于训练模型,在输入一个新的类别时,模型可以利用支持集中的信息来进行分类。

# query set(测试集)

query set 是指在模型测试阶段用来测试模型性能的数据集,它通常包含一组待分类的样本。在 5-way 1-shot 分类任务中,query set 包含多个样本,每个样本需要被分类到 5 个可能的类别中的一个。模型根据 support set 中的信息对 query set 中的样本进行分类,并计算分类的准确率