Few-Shot and Zero-Shot Learning — 少样本学习与零样本学习

From Systems analysis wiki
Jump to navigation Jump to search

少样本学习 (Few-shot Learning, FSL)零样本学习 (Zero-shot Learning, ZSL) 是机器学习的两种范式,旨在解决标注数据不足的问题。它们使模型能够基于非常有限的信息进行学习和泛化,这对于在无法或不宜收集大规模数据集的真实场景中应用人工智能至关重要。

数据稀缺的普遍问题

现代深度学习模型展现出令人瞩目的成果,但其效果通常直接依赖于海量的标注数据。收集和标注这些数据的过程成本高昂、耗时费力,并且常常不可行。这个问题被称为“数据饥饿”,在以下领域尤为突出:

  • 罕见疾病的诊断。
  • 专业化的工业生产。
  • 机器人技术及与新物体的交互。
  • 对不断涌现的新产品或主题进行分类。

FSL 和 ZSL 提供了一种解决方案,将重点从“大数据”转向“智能数据”,专注于知识的高效迁移和泛化。

Few-shot Learning - 少样本学习

少样本学习 (Few-shot Learning, FSL) 是一种范式,在该范式中,模型学习基于极少数(通常为1到5个)被称为支持集 (support set) 的标注样本来识别新类别。

关键思想

FSL 的核心思想不仅仅是学习特定类别的特征,而是学习学习的过程 (learning to learn)。模型必须能够利用最少的样本快速适应新的、前所未见的任务。这通过利用预先获得的知识和适应策略来实现。

FSL 的主要方法

  • 元学习(“学会学习”): 这是 FSL 中的主导范式。模型在大量不同任务上进行训练,以学会如何高效地适应新任务。
    • 基于度量的方法: 模型(如孪生网络或原型网络)学习构建一个嵌入空间,其中向量之间的距离反映语义上的相似度。新样本的分类是通过将其嵌入与支持集中的嵌入进行比较来完成的。
    • 基于优化的方法: 模型(如 MAML)学习找到一种参数初始化方式,使其能够通过几次梯度下降步骤快速为新任务进行微调。
  • 上下文学习 (In-Context Learning): 随着大型语言模型 (LLM) 的出现,一种流行的方法是将支持集中的样本直接在提示 (prompt) 中提供给模型。模型在推理时执行“隐式元学习”,无需更新权重即可适应任务。

FSL 的扩展方法

  • 单样本学习 (One-shot Learning): 这是 FSL 的一个特例,其中每个类别的样本数量为一个(在“N-way K-shot”表示法中 K=1)。经典架构包括匹配网络 (Matching Networks) 和孪生网络 (Siamese Networks)。
  • 生成方法与数据增强: FSL 积极利用生成模型(GAN、VAE、扩散模型)来合成额外的数据样本。这使得可以人为地扩展支持集,并提高分类质量,特别是对于罕见或不寻常的类别。
  • 直推式 FSL (Transductive FSL): 与标准的(归纳式)方法不同,该方法中模型在适应时不仅考虑带标签的支持集,还考虑所有未标记的测试样本(查询)。这有助于捕捉查询中的数据结构,例如通过标签传播 (label propagation) 等技术,并提高分类的鲁棒性。

Zero-shot Learning - 零样本学习

零样本学习 (Zero-shot Learning, ZSL) 是一种范式,在该范式中,模型能够识别在训练阶段从未见过任何样本的类别。

关键思想

这是通过使用描述已见和未见类别的辅助语义信息来实现的。模型学习从输入特征空间(例如,图像)到通用语义空间的映射。

语义信息机制

  • 语义属性: 类别由一组人类定义的属性来描述(例如,对于“斑马”类别:[有条纹,有蹄,是哺乳动物])。
  • 词嵌入 (Word Embeddings): 借助预训练的语言模型(如 Word2Vec、BERT),将类别名称或其文本描述转换为嵌入 (embedding)。
  • LLM 中的提示 (Prompting in LLM): 随着像CLIP这样的多模态模型的出现,ZSL 可以通过比较图像嵌入与类别文本描述的嵌入(例如,“一张狗的照片”、“一张猫的照片”)来执行。

ZSL 的类型:传统、广义、归纳式和直推式

  • 传统 ZSL: 在测试阶段,模型只需对来自未见类别的样本进行分类。
  • 广义 ZSL (Generalized ZSL, GZSL): 一个更现实、更复杂的场景,模型需要对来自已见和未见类别的样本进行分类。这要求模型不仅能识别新事物,还要能将其与已知事物区分开,同时克服对已见类别的偏见。
  • 归纳式 ZSL: 标准设定,模型仅在已见类别的数据和语义描述上进行训练,不接触任何关于未见类别的信息。
  • 直推式 ZSL: 一种更高级的方案,模型在训练期间可以利用来自未见类别的未标记样本。这有助于预先调整语义空间,并提高最终的性能。

ZSL 中的生成方法

  • 生成未见类别的特征: 为了解决 GZSL 中的偏见问题,生成模型(VAE、GAN)被广泛应用。它们不是合成图像本身,而是基于未见类别的语义描述来合成其特征向量(嵌入)。这有助于平衡用于训练最终分类器的数据集。

对比分析与协同作用

有限数据学习范式对比
方面 少样本学习 (FSL) 零样本学习 (ZSL)
核心思想 学习如何基于少量样本快速适应新类别。 学习如何基于语义描述识别新类别。
对新任务/类别的数据要求 每个新类别需要少量(1-5个)带标签的样本。 无需带标签的样本;需要语义描述。
知识迁移 学习程序性知识(“如何适应”)或一个好的特征空间。 学习语义关系和属性,通过一个共享的语义空间进行知识迁移。
典型用例 快速原型设计、个性化、罕见物体识别、机器人技术。 发现新物种、对新兴主题进行分类、处理全新类型的产品。

关键细微之处与现代趋势

  • Zero-shot Learning 与 Zero-shot Prompting 之间的区别: 区分这两个概念非常重要。ZSL 是一种机器学习的架构范式,需要专门的模型和语义信息。Zero-shot Prompting 是一种提示工程的应用技术,其中大型语言模型(如 GPT-4)在提示中没有示例的情况下解决任务,完全依赖其内部知识。
  • 大规模预训练的作用: FSL 和 ZSL 近期的成功在很大程度上归功于强大的基础模型(BERT, CLIP, GPT-4)。它们在海量数据上的预训练创建了一个通用且富含语义的嵌入前端,为在数据稀缺条件下的快速适应和语义推理提供了出色的基础。

FSL 和 ZSL 代表了数据使用效率谱上的不同点,并常常结合使用。例如,ZSL 可用于初始化表示,当新类别的首批样本出现时,再通过 FSL 对其进行微调。

主要研究机构与参与者

FSL 和 ZSL 领域的研究在学术界和工业实验室都得到了积极开展。

  • 大学: 斯坦福大学、北京大学、新加坡国立大学。
  • 工业实验室: Google AI、Meta AI、OpenAI。

随着强大的基础模型的出现,研究重点已从开发专用的 FSL/ZSL 架构转向如何有效适配这些模型的方法。

参考文献

  • Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
  • Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
  • Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
  • Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
  • Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
  • Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
  • Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
  • Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
  • Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
  • Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
  • Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
  • Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.

参见

  • 大型语言模型