AI 基础

什么是少样本学习?

mm
将 Unite.AI 添加到您在 Google 上的首选来源

少样本学习研究模型如何仅凭少量标记示例就能适应新任务或新类别。在传统基准中,一个episode提供支持集——例如五个类别,每类一个或五个示例——并要求模型对未见的查询进行分类。

该术语也用于上下文学习,即在不更新参数的情况下,预训练语言模型在提示中接收少量示例。这些设置都追求少样本目标,但采用不同的适应机制,并需要不同的评估设计。

关键要点

  • N-way K-shot 表示 N 个类别,每个类别有 K 个标记的支持示例。
  • 度量学习方法将查询与支持示例的学习表示进行比较。
  • 元学习在众多任务上进行优化,使得新任务能够快速学习。
  • 少量示例会放大标签错误、泄漏、类别歧义和不确定性,因此基线和置信度报告尤为重要。
What is Few-Shot Learning? diagram showing support set, represent, adapt / compare, query, predict, evaluate
保留未见的类别或任务,使得 episode 测试适应能力而非记忆。

Episode、支持集与查询集

少样本 episode 将一个小的标记支持集与用于评估的查询集分离。在元训练期间,模型会看到大量此类 episode。严格的评估会保留整套类别、任务或领域,使得测试 episode 衡量的是适应能力而非记忆。

应在多个 episode 上报告准确率分布,而不是仅凭单一样本。与简单的最近邻和线性基线进行比较;如果复杂方法无法超越经过良好训练的表示加上基础分类器,则其复杂性难以得到合理说明。

度量学习与原型

匹配网络及其相关方法将支持和查询示例嵌入到一个空间,在该空间中相近的向量应共享同一标签。原型网络对每个类别的支持嵌入取平均,并依据查询与这些类别原型的距离进行分类。

这将少样本学习与表示质量联系起来。预训练的深度学习模型可能已经很好地组织了相关特征,而不匹配的表示会导致所有距离失真。

基于优化的元学习

模型无关元学习(MAML)寻找能够通过少量梯度步骤进行适应的参数。其他方法则学习优化器、初始化或参数更新规则。外层循环在多个任务上评估适应后性能。

元学习假设训练任务与目标任务之间共享有用的结构。当目标分布与训练分布差异显著时,快速适应可能失效。验证时应在样本数、类别、领域和任务难度上进行变化,而不是把单一基准视为通用。

迁移学习与数据层策略

迁移学习往往是最有力的实际起点: 冻结预训练的编码器,训练一个小的头部,然后在数据足够时进行选择性微调。数据增强可以引入不变性,但不切实际的合成示例可能放大偏差或产生捷径。

主动学习可以优先选择需要标记的示例,而半监督学习可以利用额外的未标记数据。这些是互补的策略,并非少样本学习的同义词。

少样本提示与众不同

Transformer能够从放置在上下文中的示例中推断模式。无需持久的参数更新。示例的顺序、措辞和标签平衡会显著影响输出,并且示例会占用大量上下文窗口。

使用具有代表性的评估集,对每个提示和示例进行版本管理,并测试零样本、少样本和微调的替代方案。极小的支持集不足以支撑对整体人群的强有力断言,尤其是针对稀有或安全关键的情况。

少样本学习范式与任务构建

少样本学习的目标是仅凭极少的标记示例完成任务。在基于度量的方法中,编码器将示例映射到一个空间,在该空间最近的原型或邻居代表类别。基于优化的元学习训练初始化或更新规则以实现快速适应。迁移学习在小规模目标集上微调预训练模型。上下文学习在提示中提供示例而不更新权重。这些机制各不相同,因而在声明时应说明参数是否改变、先前的训练情况以及示例的选择方式。

评估应根据声称的泛化能力,将训练和测试的类别、任务、主体或领域分离。一个 N-way K-shot episode 包含 N 个类别,每类 K 个支持示例,以及用于评分的查询示例。重复的 episode 可估计因支持选择带来的方差。对于提示,示例顺序、标签措辞、格式以及示例相似性都会显著影响结果。应使用相同的表示和数据预算,与零样本、最近邻、线性探测以及普通微调基线进行比较。

数据质量、不确定性与负迁移

在少量示例的情况下,标签错误或非典型案例的影响会被放大。需定义标注规则,检查每个支持项,并保留未知或弃权的结果。数据增强和合成示例仅在保持任务本质并加入真实变异时有帮助。预训练模型可能会携带来源域的捷径或偏差。应测试域外案例、稀有群体以及删除单个支持示例的敏感性。报告跨任务和随机种子的置信区间,而非单一有利的提示。

主动学习可以针对信息量大的案例请求标签,而半监督方法在额外假设下利用未标记数据。检索可以动态选择相关示例,但必须避免测试标签泄漏。适应过程可能快速过拟合,因此需要限制更新、使用正则化,并在独立示例上进行验证。对于高风险任务,少量标签很少能支撑自主决策;应让模型用于优先排序或辅助审查,直至获得足够的结果证据。

生产运营

对基础模型、嵌入或提示模板、示例、标签结构以及适应参数进行版本管理。要保护示例,因为提示或梯度可能泄露敏感记录。随着类别和语言的变化监控性能,并通过受管审查而非自动自标记来更新支持示例。少样本学习通过利用先前结构降低了标记目标的需求,但并未消除对代表性评估、细致任务定义、领域专长或在新任务超出先前范围时的安全回退的需求。

实战示例: 新产品的少样本分类

某客服团队需要为一个产品的每类问题仅提供五个审查过的示例作为路由标签。它比较预训练嵌入中的最近原型、线性头、参数高效微调以及上下文提示。产品系列、客户以及后续信息均未用于元训练和模型选择。通过重复抽取支持集来报告类别召回率、校准、方差以及对单个错误示例的敏感性。

低置信度和未支持的消息会转入通用客服,审阅者通过受管队列纠正标签。示例已去标识化、进行版本管理,且绝不从最终测试集抽取。监控会跟踪新词汇、类别比例、纠正情况以及分歧。当标签数量足够时,将少样本系统与普通监督训练进行比较。快速部署虽有价值,但若性能仍不稳定或新产品与既有任务族差异显著,则不应自动化。

实施证据与运营准备度

生产决策需要的不仅是一次成功演示。需明确预期用户、运行环境、输入输出、依赖关系、负责人以及每类关键失效的后果。在调优前建立可复现的基线和带版本的评估集。测试普通案例、边界条件、畸形或缺失输入、分布漂移、依赖故障、误用以及最可能被忽视的群体或环境。测量任务质量及其校准或不确定性、延迟、吞吐量、资源成本、可访问性、隐私和安全性。记录所有转换和阈值,以便独立审查员能够复现结果并区分证据与诱人的原型。

上线前,需明确发布、例外、变更、回滚和退役的授权人。采用分阶段发布,保留安全回退,并通过人为注入故障来验证监控。运营遥测应展示输入质量、输出行为、模型或规则版本、依赖健康状况、人为覆盖以及已确认的结果,同时避免收集不必要的敏感数据。设定告警阈值和响应负责人,随后在部署后审查真实世界的证据,而不是假设离线表现会持续。每当数据来源、用户、模型、供应商、政策、硬件或目标变化时都要重新评估。维护中的系统还需有文档化的恢复、事件学习、删除与保留流程,以及明确的停用或替换时机。

常见问题

一次性学习是否等同于少样本学习?

一次性学习是指每个类别或任务仅有一个标记的支持示例的特殊情形。零样本学习则不使用任何标记的目标示例。

少样本学习是否消除了对数据的需求?

不是。它将依赖转向预训练数据、相关任务、表示和假设。目标标签数量少,而整体学习历史通常很大。

主要参考文献

博客作者和程序员,专攻 Machine Learning 和 Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。