引言: 从少量样本中学习的挑战
现代机器学习模型——尤其是在计算机视觉领域——能够以惊人的准确度识别物体、人脸和场景。然而,它们极度依赖数据。训练一个最先进的图像分类器通常需要数百万个带标签的样本。相比之下,人类仅凭一两个例子就能学会: 一个孩子只要见过一次斑马,就能毫不费力地再次认出它。
人类这种仅从少数几个例子中进行泛化的能力,启发了小样本学习 (few-shot learning) ——这是机器学习的一个分支,专注于教会模型在数据极少的情况下快速学习新概念。传统的深度网络在这种场景下往往会过拟合,无法实现有效的泛化。
2017年,Jake Snell、Kevin Swersky 和 Richard Zemel 在他们的论文《Prototypical Networks for Few-shot Learning》中提出了一项突破性的想法。不同于依赖复杂的记忆架构或精巧的元学习控制器,他们的方法异常简单: 在一个学习到的特征空间中,用一个单一的原型 (prototype) 代表每个类别,并通过找到与新输入最近的原型来进行分类。
本文将深入解析这一思想——从原型背后的直觉到奠定其影响力的实验结果。我们将探讨简洁性如何成为小样本和零样本学习领域成功的蓝图。
背景: 为小样本学习搭建舞台
小样本学习任务通常用 N-way K-shot 分类来描述:
- N-way : 任务中涉及的类别数量。
- K-shot : 每个类别提供的带标签样本数量。
例如,一个 5-way 1-shot 任务意味着我们有五个类别,每个类别各有一个带标签样本,我们必须将新的、未见过的样本归类到这五个类别中的一个。
这一小部分带标签样本——总计 \(N \times K\) 个——构成了支持集 (support set) 。 待分类的无标签新样本则构成查询集 (query set) 。

图 1: 原型网络的核心概念。在小样本学习场景 (左) 中,每个类别的原型是其支持集样本在学习到的特征空间中的均值。在零样本学习中,原型则来源于元数据。
为了在这些约束下有效训练,原型网络采用了情景式训练 (episodic training) 。 模型不是从单个样本学习,而是在“情景 (episodes) ”中训练——每个情景都是一个人工构建的小样本任务。在每个情景中,模型会看到一个小的支持集,并必须为查询集预测标签。这样的情景式结构教会网络学习如何学习,优化的目标不是特定样本上的准确率,而是跨任务的适应能力。
核心方法: 原型网络的工作原理
原型网络建立在一个直觉之上: 在合适的特征空间中,同一类别的样本会自然聚集在一个中心点——即原型周围。算法遵循三个简单步骤。
步骤 1: 嵌入输入
像图像这样的原始输入必须首先映射到一个紧凑且有意义的空间中。这通过一个嵌入函数 (embedding function) \(f_{\phi}\) 实现,它是一个由参数 \(\phi\) 控制的神经网络。针对图像任务,通常使用卷积神经网络 (CNN) 。
该网络不是直接预测类别,而是学习在嵌入空间中将相似的样本放得更近。经过大量情景训练后,\(f_{\phi}\) 能学习到不同类别簇既紧凑又分离的表示。
步骤 2: 计算类别原型
一旦支持集被嵌入,每个类别的原型就是其嵌入样本的均值:

公式 1: 类别 \(k\) 的原型 \(\mathbf{c}_k\) 是其在嵌入空间中支持集样本的均值。
这个原型充当该类别的“质心”——一个总结其样本的单一点。这一步求均值虽然直观,但非常有力,因为在合适的嵌入空间中,同类样本确实会形成紧凑的簇。
步骤 3: 分类查询点
分类过程同样简单:
- 将查询样本 \(\mathbf{x}\) 通过同一个嵌入网络,得到 \(f_{\phi}(\mathbf{x})\)。
- 计算该查询嵌入与所有原型之间的距离 (常用平方欧氏距离) 。
- 对负距离应用 softmax,从而为距离更近的原型分配更高概率。

公式 2: 查询点 \(\mathbf{x}\) 属于类别 \(k\) 的概率由对所有原型距离的 softmax 函数给出。
从嵌入到 softmax 的完整流程通过情景式损失最小化进行端到端训练。每个情景都教会网络生成嵌入,使“类别均值”成为最佳判别依据。
深入探讨: 为何这个简单的想法如此有效
尽管原型网络的结构非常简洁,但它建立在坚实的理论基础之上,其强大程度远超表面。
与聚类理论的联系
该模型与混合密度估计 (mixture density estimation) 和聚类理论 (clustering theory) 密切相关。当所选的距离函数是*布雷格曼散度 (Bregman divergence) * (例如平方欧氏距离) 时,簇的最佳代表点恰好是其均值。因此,将原型计算为类别均值并非经验性做法,而是有统计依据的。
这一洞见具有实际意义: 采用平方欧氏距离的原型网络表现优于使用余弦距离的版本。虽然余弦相似度衡量角度差异,但它不是布雷格曼散度,因而与混合模型隐含的几何结构不符。欧氏距离则符合球形高斯簇假设——这与小样本学习的目标非常契合。
等价于线性模型
有趣的是,使用平方欧氏距离时,分类器可简化为嵌入空间中的一个线性模型。展开 softmax 的指数可以发现,分类可写为线性投影 \(\mathbf{w}_k^\top f_{\phi}(\mathbf{x}) + b_k\),其中 \(\mathbf{w}_k\) 和 \(b_k\) 均从原型导出。
这意味着神经网络通过嵌入承担所有非线性部件,而分类保持线性——这是现代表示学习方法的典型特征,如深度特征提取器后接简单的线性分类头。
实验与结果
作者在多个基准数据集上验证了原型网络的有效性。
Omniglot: 小样本学习的“MNIST”
Omniglot 是一个手写字符数据集,包含来自 50 多种字母表的 1623 个类别,每个类别有 20 张由不同人绘制的图像。其多样性使它成为小样本学习的理想测试平台。

表 1: 在 Omniglot 上的小样本分类准确率。原型网络在 5-way 5-shot 任务上达到了 99.7%,超越了之前的方法。
无论是否微调,原型网络都优于早期方法,如匹配网络 (Matching Networks) 。通过 t-SNE 可视化嵌入,可以看到不同字符围绕各自原型形成整齐分离的簇。

图 2: 在 Omniglot 上学习到的嵌入的 t-SNE 可视化。每个簇对应一个字符类别,并以其原型 (黑色) 为中心。错误分类的样本表现为邻近但分离的簇。
miniImageNet: 扩展至真实世界图像
miniImageNet 数据集的引入使小样本学习更具挑战性。它包含丰富的彩色图像,涵盖各种物体和动物,分为100个类别。

表 2: 在 miniImageNet 上的小样本准确率。原型网络达到了 49.4% (1-shot) 和 68.2% (5-shot) ,超越了 Meta-Learner LSTM 和 Matching Networks。
性能提升非常显著: 使用欧氏距离时,原型网络在 5-shot 任务中取得接近 70% 的准确率,远超复杂的元学习架构。
关键设计选择
两项简单的设计选择被证明至关重要:
- 距离度量: 欧氏距离始终优于余弦相似度,如下图所示。
- 情景构成: 训练时采用比评估更高的 way (每个情景包含更多类别) 可显著提升泛化能力。更具挑战的训练任务迫使嵌入更具判别性。

图 3: 欧氏距离带来显著性能提升,同时在训练时使用更多类别 (例如 20-way) 可增强模型在 5-way 测试任务上的泛化能力。
进一步分析显示,增加训练情景中的类别数量可以提高 1-shot 准确率,而 5-shot 性能则在 20 个类别左右达到峰值。

图 4: 训练“way”对 miniImageNet 的影响。增加情景中的类别数量能增强 1-shot 泛化能力,而 5-shot 准确率在约 20-way 训练时达到峰值。
扩展至零样本学习
该框架可自然扩展至零样本学习 (zero-shot learning, ZSL) , 即新类别没有任何训练样本。在此情况下,原型不是从图像样本计算,而是由类别元数据——描述类别的属性向量 (如“有黄色的喙”、“体型小”) ——生成。
对于零样本原型网络,类别原型通过将这些元数据向量嵌入到与图像相同的空间生成。然后查询图像的嵌入与这些由元数据导出的原型进行比较。

表 3: 在 CUB-200 鸟类数据集上的零样本结果。原型网络达到了 54.6% 的准确率,超越了其他基于属性的方法。
这种改进在 CUB-200 鸟类数据集上取得了最先进的结果,证明了原型机制的应用不仅限于小样本学习——甚至跨越了图像与属性等不同模态。
结论与要点
原型网络是小样本学习研究的一个重要里程碑。它们展示了简洁性与强归纳偏置能够胜过复杂架构。假设每个类别在学习空间中围绕一个均值聚类,既实用又强大。
核心启示:
- 简洁致胜: 基于学习嵌入与类别均值的模型可超越复杂元学习器。
- 表示至关重要: 嵌入网络提供必要的表达能力;原型步骤体现优雅的简洁性。
- 设计细节决定成败: 使用欧氏距离并以高 way 情景进行训练显著提升泛化能力。
凭借直观、高效且强有力的实验成果,原型网络已成为小样本与零样本学习的基石方法。它们持久的影响力揭示了机器学习中的一个核心真理: 正确的表示能让最简单的模型也具备非凡的效能。
](https://deep-paper.org/en/paper/1703.05175/images/cover.png)