Skip to content

Meta Learning

Meta Learning(元学习)也称为"学会学习"(Learning to Learn),其目标是让模型能够从少量样本中快速学习新任务。传统深度学习需要大量数据来训练一个特定任务的模型,而 Meta Learning 旨在学习一种跨任务的学习能力。


核心思想

Meta Learning 的核心区别在于它在任务级别上进行学习,而非在样本级别上学习:

  • 传统学习:给定一个任务(如猫狗分类),从大量样本中学习
  • 元学习:给定一系列任务,学习"如何快速学习新任务"的能力

Few-shot Learning 设定

Few-shot Learning 是 Meta Learning 最常见的应用场景。标准设定为 N-way K-shot

  • N-way:每个任务包含 N 个类别
  • K-shot:每个类别只有 K 个标注样本(Support Set)
  • Query Set:用于评估模型在该任务上的表现

例如,5-way 1-shot 表示:给模型 5 个类别各 1 张图片,然后让它对新图片进行 5 分类。

训练范式:Episode Training

Meta Learning 的训练采用"情节式训练"(Episodic Training):

  1. 从训练集中随机采样 N 个类别
  2. 从每个类别中采样 K 个样本构成 Support Set
  3. 再从每个类别中采样若干样本构成 Query Set
  4. 模型利用 Support Set 来预测 Query Set
  5. 计算损失并更新模型参数

每个这样的采样称为一个 episode(情节/任务),模型通过大量 episode 训练来学习跨任务的学习能力。


主要方法

基于度量的方法 (Metric-based)

核心思想:学习一个好的嵌入空间,使得同类样本距离近、不同类样本距离远。

Siamese Networks(孪生网络):

两个共享权重的网络分别处理两个输入,通过比较它们的嵌入来判断是否属于同一类别。

Prototypical Networks:

对每个类别的 Support Set 样本取嵌入均值作为该类的"原型"(prototype),新样本根据与各类原型的距离进行分类:

\[ c_k = \frac{1}{|S_k|}\sum_{(x,y) \in S_k} f_\phi(x) \]
\[ P(y = k | x) = \frac{\exp(-d(f_\phi(x), c_k))}{\sum_{k'}\exp(-d(f_\phi(x), c_{k'}))} \]

其中 \(f_\phi\) 是特征提取器,\(d\) 是距离函数(通常使用欧氏距离)。

Matching Networks:

使用注意力机制来加权 Support Set 中的样本,预测 Query 样本的类别。

基于优化的方法 (Optimization-based)

核心思想:学习一个好的初始化参数,使得模型只需少量梯度步就能适应新任务。

MAML (Model-Agnostic Meta-Learning):

MAML 是最经典的元学习算法。其核心思想是找到一组模型参数 \(\theta\),使得在任何新任务上只需几步梯度下降就能达到好的性能。

算法流程:

  1. 从任务分布中采样一批任务 \(\{\mathcal{T}_i\}\)
  2. 对每个任务 \(\mathcal{T}_i\)
    • 用 Support Set 做 K 步梯度下降得到任务特定参数:\(\theta_i' = \theta - \alpha \nabla_\theta \mathcal{L}_{\mathcal{T}_i}(\theta)\)
  3. 用 Query Set 上的损失更新元参数:\(\theta \leftarrow \theta - \beta \nabla_\theta \sum_i \mathcal{L}_{\mathcal{T}_i}(\theta_i')\)

关键:外层优化的梯度需要"穿过"内层的梯度步(二阶导数),这使得 MAML 计算开销较大。

MAML 的直觉理解: MAML 不是找"在所有任务上都表现好"的参数(那是多任务学习),而是找"离所有任务的最优解都近"的参数——即一个好的出发点。

基于记忆的方法 (Memory-based)

核心思想:使用外部记忆模块来存储和检索经验。

Memory-Augmented Neural Networks (MANN): 结合 NTM(Neural Turing Machine)等外部记忆机制,将新任务的样本快速写入记忆,在预测时从记忆中检索相关信息。


Meta Learning 与迁移学习的区别

维度 Meta Learning 迁移学习
目标 学习"如何学习" 将已有知识迁移到新任务
训练方式 Episode-based(任务级别) 标准训练 + 微调
新任务适应 设计时就考虑快速适应 需要一定量的微调数据
典型方法 MAML、Prototypical Networks 预训练 + Fine-tuning

附: 相关项目

Few-shot Image Classification via Meta-Learning

该项目主要内容是关注MAML (Model-Agnostic Meta-Learning) 算法在少样本图像分类 (Few-shot Image Classification) 任务中的应用。

详细项目内容请访问:https://github.com/jeffliulab/few-shot-image-classification


参考

  • Finn et al., "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks", ICML 2017
  • Snell et al., "Prototypical Networks for Few-shot Learning", NeurIPS 2017
  • Vinyals et al., "Matching Networks for One Shot Learning", NeurIPS 2016

评论 #