Prototypical Networks for Few-shot Learning
这篇论文《Prototypical Networks for Few-shot Learning》(Snell 等,2017)提出了原型网络,这是一种简洁而高效的小样本分类方法。以下是对论文的详细解读:
一、研究背景与动机
1. 小样本学习的问题
- 目标:模型必须从极少量样本中学习对新类进行分类。
- 挑战:直接在新类上微调会导致严重过拟合。
- 人类擅长小样本学习,而机器模型在此方面仍有差距。
2. 已有方法
- Matching Networks:使用注意力机制对支持集嵌入进行加权,实现最近邻分类。
- Meta-Learning LSTM:训练LSTM来生成分类器更新策略。
- 问题:这些方法结构复杂,且未充分利用简单的归纳偏置。
3. 本文核心思想
- 提出原型网络:假设每个类在嵌入空间中聚集在一个原型周围。
- 原型 = 该类支持样本在嵌入空间中的均值。
- 查询样本通过最近原型进行分类。
二、方法:原型网络
1. 基本结构
- 支持集 ( S = {(_i, y_i)} ),其中 ( S_k ) 是类 ( k ) 的样本集合。
- 嵌入函数 ( f_: ^D ^M ),将输入映射到 ( M ) 维空间。
- 类 ( k ) 的原型: [ k = {(i, y_i) S_k} f(_i) ]
- 查询点 ( ) 的类别分布: [ p_(y=k|) = ]
- 损失函数:负对数似然 ( J() = -p_(y=k|) )
2. 理论分析:与混合密度估计的关系
- 当距离函数为 Bregman 散度(如欧氏距离)时,原型网络等价于使用指数族分布进行混合密度估计。
- 类原型 ( _k ) 是最优聚类中心。
3. 与匹配网络的比较
- One-shot 情况:两者等价。
- Multi-shot 情况:
- 匹配网络:加权最近邻。
- 原型网络:线性分类器(当使用欧氏距离时)。
三、关键设计选择
1. 距离度量
- 欧氏距离 vs 余弦距离:
- 欧氏距离是 Bregman 散度,更符合原型计算的理论基础。
- 实验表明,欧氏距离显著优于余弦距离。
2. 训练情节构造
- Way(类别数):训练时使用比测试时更多的类别(如 30-way)能提升性能。
- Shot(每类样本数):训练与测试时保持一致效果最佳。
四、扩展:零样本学习
- 每个类不再有支持样本,而是有一个元数据向量 ( _k )(如属性、文本描述)。
- 类原型定义为:( k = g(_k) ),即对元数据进行嵌入。
- 查询样本通过最近原型分类,方式与小样本情况一致。
五、实验结果
1. Omniglot(小样本分类)
- 使用 4 层卷积网络作为嵌入函数。
- 在 1-shot 和 5-shot 任务上均达到 SOTA。
Model | 1-shot Acc. | 5-shot Acc. |
---|---|---|
Matching Nets | 93.8% | 98.5% |
Prototypical Nets | 96.0% | 98.9% |
2. miniImageNet(小样本分类)
- 使用相同 4 层卷积结构。
- 在 1-shot 和 5-shot 任务上显著优于之前方法。
Model | 1-shot Acc. | 5-shot Acc. |
---|---|---|
Matching Nets FCE | 43.56% | 55.31% |
Meta-Learner LSTM | 43.44% | 60.60% |
Prototypical Nets | 49.42% | 68.20% |
3. CUB-200(零样本分类)
- 使用 GoogLeNet 提取图像特征,属性向量作为元数据。
- 达到 SOTA 准确率:54.6%。
六、贡献总结
- 提出原型网络:简洁、高效的小样本分类方法,基于“每个类一个原型”的归纳偏置。
- 理论分析:揭示了原型网络与混合密度估计的等价性(使用 Bregman 散度)。
- 系统实验:在多个数据集上验证了其有效性,并分析了距离度量与训练策略的影响。
- 扩展至零样本学习:统一了小样本与零样本学习框架。
七、未来方向
- 探索更多 Bregman 散度(如马氏距离)。
- 学习每个类的方差参数(初步实验未显示提升)。
- 将方法扩展至其他任务(如检测、分割)。
如果需要我对比这几篇论文的异同,或提取一个统一的框架,我可以继续为你整理。