引言: 无标签数据的困境

在机器学习领域,数据为王——但并非所有数据都生而平等。大多数先进模型依赖海量且精心标注的数据集,而收集这些数据集需要耗费巨大的时间和资源。不幸的是,现实世界中的大部分数据并非整齐划一;它们是杂乱的、未标注的且数量庞大。人工智能的需求与现实世界提供的数据之间的这种不匹配,是机器学习系统在日常应用中部署的一大瓶颈。

如果一个模型能够学会如何学习——仅凭少量样本就能适应新任务,而无需告诉它这些样本是什么,会怎样?这就是元学习 (meta-learning) , 或称学会学习 (learning to learn)。其核心思想是在许多小任务上训练一个模型,使其能够用极少的有标签样本来解决新的、未见过的任务。

然而,大多数元学习方法严重依赖有标签数据来生成这些训练任务。在那些标注十分困难的领域——例如医学影像、野生动物监测或卫星图像分析——即使是创建这些元学习数据集也变得不可能。

于是, 无监督元学习 (Unsupervised Meta-Learning, UML) 应运而生,它旨在直接从无标签数据中学习可迁移的表征。但这引入了一个新的挑战: 在没有标签的情况下,模型如何创建能模拟真实学习场景的有意义训练任务?

在一项开创性研究中,研究人员提出了 CAMeLU——上下文感知的无监督元学习 (Context-Aware Meta-Learning in Unsupervised Scenarios)——一种教 Transformer 从无标签数据中学习的新方法。受到大语言模型 (LLM) 的上下文学习 (in-context learning) 能力启发,CAMeLU 将视觉元学习重新定义为一个序列建模 (sequence modeling) 问题。通过将图像分类任务像文本提示一样处理,它让 Transformer 能够直接从上下文中推断任务结构。

CAMeLU 的核心是一种巧妙的任务创建机制,可从无标签图像生成多样且具挑战性的分类问题。这一机制使模型获得了最先进的性能,超越所有现有的 UML 方法,甚至与一些有监督方法相媲美——而这一切都是在训练期间未见任何标签的情况下实现的。


背景: 奠定基础

要理解 CAMeLU 如何实现这一点,我们需要掌握三个关键概念: 元学习无监督任务创建以及上下文学习——Transformer 的秘密武器。

元学习简介

元学习比传统机器学习高一个层次: 它不是学习如何分类具体对象,而是学习分类的策略。标准设置采用 N-way K-shot 任务 , 要求模型用每类的 K 个样本识别 N 个类别。

  • 支持集 (Support Set): 每个类别的一小部分有标签样本——“学习材料”。
  • 查询集 (Query Set): 来自相同类别的新样本——“测试题”。

训练包括数千个此类小任务,使模型能够提取通用原则以便快速适应。到元测试阶段,当给定新任务的少量样本时,经过元学习的模型几乎能立即完成分类。

无监督的转变

传统元学习假设能够获得标签,但在无监督环境中,标签并不存在。UML 必须自行从无标签图像中创建伪任务

早期的方法尝试过以下策略:

  • 聚类 (Clustering): 使用无监督嵌入将视觉上相似的图像分组,并将聚类 ID 作为伪标签。
  • 数据增强 (Data Augmentation): 将同一图像的增强变体 (如旋转、裁剪、模糊) 视为同一伪类别。

这些策略在一定程度上有效,但往往产生过于简单或彼此高度相似的任务,无法反映现实问题的多样性。因此,模型容易过拟合且泛化性差,尤其是在跨域 (cross-domain) 场景中——即测试数据集与训练集差异较大时。

上下文学习: Transformer 的超能力

Transformer 的最新研究揭示了一种令人惊叹的能力: 上下文学习 (in-context learning) 。 像 GPT-3 这样的大语言模型可以从文本提示中推断出新任务——无需权重更新,无需重新训练,仅凭上下文进行推理。

例如,你可以给模型几个翻译示例:

1
2
3
4
Translate English to French:
sea otter => loutre de mer
peppermint => menthe poivrée
cheese => ?

模型会正确输出 fromage——不是因为它被微调为法语翻译器,而是因为它从示例模式中推断出了翻译任务。

这篇论文受到该思想启发: 一个 Transformer 能否像 LLM 处理文本一样,仅通过少量视觉样本就推断出分类规则


核心方法: 深入了解 CAMeLU

CAMeLU 由两个紧密结合的组件组成:

  1. 一个任务创建机制 , 可从无标签数据中合成各种不同的少样本学习任务。
  2. 一个基于 Transformer 的上下文学习器 , 将每个任务视为序列,通过推理上下文进行分类。

图 1 展示了 CAMeLU 的完整流程。左侧说明了从无标签数据集中创建任务的过程,包括增强和对查询集使用 mixup 策略。右侧展示了创建的任务如何作为序列输入 Transformer 编码器,该编码器利用支持集作为上下文预测查询图像的标签。

图 1: CAMeLU 流程概览。每张无标签图像生成增强的支持样本和基于 mixup 的查询样本。这些表征被编码成序列输入 Transformer,Transformer 从任务上下文中学习以分类查询图像。


第一部分: 从零构建任务

UML 的关键是无需标签便能生成有意义的任务。CAMeLU 的方法确保每个构建的任务都能模拟真实的少样本学习问题结构。

创建支持集

  1. 从无标签训练数据集中随机采样 N 张图像
  2. 假设类别互不相同。 在如 ImageNet 这样的大型数据集中,两张随机样本属于同一类别的概率可忽略不计 (≈1% 对于 5-way 任务) 。
  3. 对每张图像执行 K 次增强 , 例如随机裁剪、旋转、颜色抖动等。
  4. 分配伪标签 1…N。 同一张图像的所有增强版本共享相同伪标签。

这样为每个任务生成了一个无标签但语义丰富的支持集。

创建查询集: 受 Mixup 启发的策略

一种简单方式是增强相同的支持图像生成查询样本。然而,这无法模拟真实测试场景——测试时的查询样本是同类的不同实例

CAMeLU 引入了一个受 Mixup 启发的方法,使任务更符合现实:

  1. 选择一个支持样本图像 \(x_n\)。
  2. 应用新的增强得到 \(\tilde{x}_{n,j}\)。
  3. 从数据集中随机采样另一张图像 \(z_j\)。
  4. 将它们组合: \[ x_j^{(qr)} = \lambda z_j + (1 - \lambda)\tilde{x}_{n,j} \] 其中 \(\lambda \in (0, 0.5]\) 确保查询样本主要反映 \(x_n\) 的类别特征。

混合后的查询图像 \(x_j^{(qr)}\) 继承其源支持样本的伪标签,鼓励模型关注稳健、可泛化的特征,而非表面细节。这一步是缩小训练与测试条件差距的关键。


第二部分: 上下文学习引擎

构建好这些伪任务后,CAMeLU 将其转换为适合 Transformer 编码器的序列形式。

从任务到序列

每个任务由支持集和一个查询图像组成:

\[ S_{i,j} = \left( (x_1^{(sp)}, y_1^{(sp)}), \dots, (x_{NK}^{(sp)}, y_{NK}^{(sp)}), x_j^{(qr)} \right) \]

Transformer 接收此序列,将支持样本 (及其标签) 作为上下文,并预测最后一个查询项的标签。

模型架构

CAMeLU 的架构包括:

  1. 固定特征提取器 (\(f_\psi\)) — 一个预训练的 ResNet-50 将图像转换为特征嵌入,该提取器在训练过程中保持冻结。
  2. 可学习类别编码器 (\(g_\phi\)) — 将伪标签转换为稠密的嵌入。对查询图像,用一个特殊的可学习“未知”标记替代缺失的标签。
  3. Transformer 编码器 (\(M_\theta\)) — 将图像和标签嵌入组成序列,通过自注意力推断支持与查询间的关系。

Transformer 在查询位置的输出经线性分类头预测标签。训练目标是最小化查询预测的交叉熵损失:

\[ \min_{\theta,\phi} \mathbb{E}_{S_i} \left[\frac{1}{Q} \sum_{j=1}^{Q} \ell(M_{\theta}(S_{i,j}), y_j^{(qr)}) \right] \]

推理时无须微调。模型在一次前向传播中利用支持集上下文完成预测——是真正的视觉上下文学习。

上下文学习的可视化

图 2 展示了一个 5-way, 5-shot 任务的两个 t-SNE 图。左图来自特征提取器,显示类别簇分散且重叠;右图来自 Transformer 编码器的输出,显示紧凑且分离良好的簇,查询样本正确靠近其真实类别。

图 2: Transformer 基于任务上下文学习到更紧凑、分离良好的簇,将模糊的嵌入转化为清晰的类别边界。

对比十分明显: 预训练特征提取器生成的类别簇分离度较弱,而 Transformer 经上下文推理后簇变得紧凑且清晰。查询图像移动到正确类别质心附近,体现出上下文推理的判别能力提升。


实验与结果: 检验 CAMeLU

研究人员在五个基准数据集——miniImageNet、CIFAR-fs、CUB、Aircraft、Meta-iNat——上进行了广泛实验,对比 CAMeLU、主流 UML 基线、有监督版本 (CAML)、以及最先进的自监督方法。

超越无监督基线

表 1 显示了在五个数据集上的 5-way 1-shot 和 5-way 5-shot 任务性能比较。CAMeLU 在所有任务中均优于其他无监督元学习 (UML) 方法,创下新的 SOTA。

图 3: 跨数据集性能比较。CAMeLU 在 1-shot 和 5-shot 任务中均保持领先。

主要结论:

  • 新的 SOTA: CAMeLU 在所有数据集上超越以往 UML 模型 (CACTUs、UMTRA、Meta-GMVAE、PsCo) 。
  • 跨域鲁棒性: 先前模型仅在训练和测试域相同时表现良好,而 CAMeLU 即使面对差异较大的测试集也能稳定表现。
  • 无需微调: PsCo 需要额外适应步骤;CAMeLU 可即时预测——非常适用于实时场景。
  • 媲美有监督方法: 令人惊讶的是,CAMeLU 的性能与其有监督对应模型 CAML 相当,甚至在如 CUB、Meta-iNat 这类跨域数据集上表现更优。

从记忆到泛化: “顿悟 (Grokking)”式转变

在训练过程中,CAMeLU 展现出一种类似“顿悟”的现象——从记忆到泛化的突然转变。

图 3 绘制了 CAMeLU 在 100 个训练周期内的验证准确率。曲线呈现三个阶段: 初始“记忆”阶段表现疲软,随后快速“学习”阶段,上升到最终“泛化”阶段并保持高水平。

图 4: CAMeLU 的训练曲线清晰展示了记忆、学习和泛化三个阶段。

学习轨迹包括三个阶段:

  1. 记忆阶段 (0–20 epochs): 模型记忆训练任务,跨域表现较弱。
  2. 学习阶段 (20–80 epochs): 模型开始通过类比进行推理——“学会学习”。
  3. 泛化阶段 (80–100 epochs): 模型趋于稳定,展现强大的任务无关适应能力。

这种转变与大型语言模型中的学习动态相似,为视觉任务中上下文学习的出现提供了有力证据。


在小规模数据集上的泛化能力

训练数据少时,CAMeLU 仍表现出色。

表 2 展示了 CAMeLU 与其他方法在较小的 miniImageNet 上的表现。CAMeLU 展现了强大的域内与跨域泛化能力,远超竞争者。

图 5: 即使在小数据集上训练,CAMeLU 仍保持优异泛化能力。

在仅基于较小 miniImageNet 的训练中,CAMeLU 仍然超越其他 UML 方法——无论域内还是跨新数据集——显示出出色的可扩展性。即使样本较少,它依旧展现与大规模训练相同的学习阶段。

图 4 比较了 CAMeLU 与其有监督版本 CAML 在 miniImageNet 上的学习曲线。CAMeLU 曲线明显跃升至高泛化状态,而 CAML 曲线平坦,凸显任务创建机制的作用。

图 6: CAMeLU (橙色) 展现出从学习到泛化的明显跃升;CAML (蓝色) 曲线平缓,体现 CAMeLU 任务创建的功效。


与自监督学习 (SSL) 方法的比较

与强大的 SSL 模型 SimCLR 和 SwAV 相比,CAMeLU 表现如何?

表 3 对比了 CAMeLU 与 SSL 方法 SimCLR 和 SwAV。SSL 模型在与预训练域相似的数据集上表现良好,但 CAMeLU 在更具挑战性的细粒度跨域数据集上展现更高的性能与鲁棒性。

图 7: 与 SSL 方法的比较。CAMeLU 在跨域任务中表现出更强鲁棒性。

SSL 方法在同域数据上表现出色,但在遇到新域或细粒度类别时常常失效,且需要额外的精调。相比之下,CAMeLU 可直接学习到跨域泛化能力——无需微调即可超越 SSL 模型。


结论与启示

CAMeLU 标志着无监督元学习的重大进步。通过结合上下文学习与受 Mixup 启发的任务创建机制,它为直接从无标签数据中学习开辟了新方向。

核心要点

  • 新范式: 将元学习重新框定为序列建模,利用 Transformer 的上下文学习能力处理视觉任务。
  • 最先进性能: 在无监督学习领域实现领先表现——甚至可与有监督和自监督方法媲美。
  • 真正泛化: 独特的任务生成机制促使模型学习稳健、可迁移的表征。
  • 高效性: CAMeLU 仅需一次前向传播即可推理,可在消费级 GPU 上轻松训练,使其易于普及。

CAMeLU 为 AI 在真实环境中自适应学习打开了新可能——以极少的人类监督应对未见任务与领域。未来工作可探索结合自监督特征提取或优化任务生成策略,迈向完全无监督的学习生态。

机器学习模型或许很快将不再依赖有标签的数据集——它们会像人类一样,简单地从上下文中学习