想象一下,你训练了一个尖端的 AI 模型来识别不同种类的鸟。它成了一名专家,能够以完美的准确率区分麻雀和雀鸟。现在,你决定教它识别鱼的种类。你给它看了成千上万张三文鱼、金枪鱼和小丑鱼的图片。在这次新训练之后,你再次用鸟类图片对它进行测试。令你惊讶的是,它竟然完全忘记了麻雀长什么样。就好像它关于鸟类的知识被完全抹去,以便为鱼类的知识腾出空间。
这个令人沮丧的现象被称为 灾难性遗忘 , 它是构建真正智能、适应性强的 AI 系统的最大障碍之一。标准的机器学习模型采用一种名为 经验风险最小化 (ERM) 的原则进行训练,它们假设数据是随机打乱并从一个固定分布中抽取的。这些模型通常需要对训练集进行多次遍历才能有效学习。这与人类的学习方式大相径庭。我们以连续的信息流来体验世界,顺序地获取新技能,同时保留旧技能。
那么,我们如何构建像人类一样能够持续学习的模型呢?这就是 持续学习 (或终身学习) 的核心问题。在 Facebook AI Research 的一篇里程碑式论文中,David Lopez-Paz 和 Marc’Aurelio Ranzato 介绍了一种名为 梯度情节记忆 (GEM) 的新方法。GEM 直面灾难性遗忘问题,使模型能够在学习新任务的同时,保留甚至提升从先前任务中获得的知识。
在这篇文章中,我们将深入探讨 GEM 这篇论文。我们将研究:
- 用于评估持续学习模型的正式框架
- GEM 背后的机制及其对情节记忆的应用
- 让 GEM 计算高效的优化技巧
- 展示 GEM 有效性的实验结果
顺序学习的问题
在经典的监督学习中,我们假设数据集是 独立同分布 (iid) 的。我们收集样本,将它们打乱,然后训练模型多个周期 (epoch) ,以最小化所有样本的平均损失。
持续学习打破了这一假设。数据以 有序的任务序列 形式呈现,模型可能会在看到“任务 B”的样本前,先看到“任务 A”的全部样本。 这种顺序的、非独立同分布的数据流带来了三个基本挑战:
- 灾难性遗忘 – 在新任务上训练可能会覆盖对先前任务至关重要的参数,从而导致显著的 负向后向迁移 (性能下降) 。
- 知识迁移 – 理想情况下,得益于已有知识,学习新的相关任务应该更容易 (正向前向迁移) 。有时,学习后续任务甚至能提升旧任务性能 (正向后向迁移) 。
- 效率 – 模型应能在现实约束下,通过单次数据遍历并使用有限的内存完成学习。
为了衡量模型应对这些挑战的能力,GEM 引入了一个新的评估框架。
评估持续学习的框架
早期的持续学习方法主要报告所有任务在训练结束时的整体准确率——这是一个汇总指标,会掩盖学习过程中发生的遗忘与迁移情况。GEM 的作者们提出了一种更具理论性的替代方案。
在完成每个任务 \(t_i\) 的训练后,模型会在 所有任务 (包括过去和当前) 上进行测试。由此构建出一个矩阵 \(R \in \mathbb{R}^{T \times T}\),其中 \(R_{i,j}\) 表示模型在完成任务 \(i\) 的训练后,在任务 \(j\) 上的准确率。
基于此矩阵,他们定义了三个关键指标:

图: 用于评估持续学习性能的指标。
- 平均准确率 (ACC) – 所有任务最终的平均测试准确率。
- 后向迁移 (BWT) – 学习新任务对先前任务的影响。
- 负 BWT: 遗忘旧知识。
- 正 BWT: 学习新任务可以改善旧任务。
- 前向迁移 (FWT) – 先前经验对新任务的帮助,通过比较新任务早期准确率与随机基线来衡量。
这些指标不仅揭示了模型学到了什么,还展示了它如何在学习与保持之间实现平衡。建立了这个强有力的评估体系后,我们接下来看看 GEM 的核心思想。
核心思想: 梯度情节记忆 (GEM)
GEM 的创新之处在于它如何通过 约束梯度更新 来防止遗忘。其思想是: 在学习新任务时,参数更新不应使模型在旧任务上的性能变差。
为此,GEM 为每个任务 \(t\) 维护一个小型的 情节记忆 \( \mathcal{M}_t \),用于存储过去训练中的代表性样本。在学习当前任务时,它同时利用当前数据批和这些记忆样本,确保学习的稳定性。
一个朴素的做法是重放记忆样本,但这容易导致过拟合,且并不能正式防止遗忘。GEM 则将记忆保持表述为关于损失的 不等式约束 :

公式: 在任务 \(t\) 期间,先前任务记忆的损失不应增加。
形式上,对参数 \( \theta \) 的更新必须在最小化当前任务损失 \( \ell(f_\theta(x, t), y) \) 的 同时保持或降低 旧任务的损失。
此约束确保学习新知识可以带来积极影响 (正向后向迁移) ,但绝不会损害旧任务性能。
从损失约束到梯度约束
直接检查损失的变化计算量极大。对于较小的优化步幅,梯度的方向即可反映相同信息。如果当前梯度 \(g\) 与旧任务的梯度 \(g_k\) 夹角超过 \(90^\circ\),沿 \(g\) 方向的更新会导致旧任务损失上升。
因此,GEM 将约束重新表述为关于 梯度 的条件:

图: GEM 通过要求与所有先前任务的梯度相关性非负,来防止遗忘。
对于每个过去任务 \(k < t\),GEM 要求 \( \langle g, g_k \rangle \ge 0 \)。 这个简单的几何约束确保了更新方向不会导致遗忘。
处理约束违规
如果任何约束被违反 (即某个 \( \langle g, g_k \rangle < 0 \)) ,GEM 会调整原始梯度。它将 \(g\) 投影到满足所有约束的最近可行点 \( \tilde{g} \) 上——这需要求解一个小型 二次规划 (QP) 问题:

公式: GEM 在保留旧知识的同时,找到离原始更新方向最近的修正梯度。
乍看之下,这个二次规划会非常庞大——每个网络参数对应一个变量——但 GEM 利用 对偶性 将其转化为一个更小、更高效的问题。

公式: GEM 的对偶形式将优化简化为仅依赖任务数量的微小二次规划问题。
该对偶形式仅依赖于已有任务的数量 \(t-1\),而非数百万个参数。实际中,对于 20 个任务,这意味着每步只需求解一个包含 19 个变量的 QP 问题——这让 GEM 的计算非常高效。
求解后,得到的修正梯度 \( \tilde{g} \) 被用于更新模型参数。
GEM 算法总结

算法: GEM 在顺序训练的同时,维持一个情节记忆保证稳定性。
每个训练步骤包括:
- 计算当前任务数据的梯度 \(g\)。
- 在每个先前任务的情节记忆上计算梯度 \(g_k\)。
- 检查点积约束 \( \langle g, g_k \rangle \ge 0 \)。
- 若违反约束,则通过小型对偶 QP 将 \(g\) 投影到可行区域。
- 用修正后的梯度 \( \tilde{g} \) 更新模型参数。
这一过程使 GEM 能在高效学习新任务的同时,稳健地保持旧任务性能——在稳定与可塑性间取得优雅平衡。
实验: GEM 是否有效?
作者在三个基准上验证了 GEM 的性能:
- MNIST 排列: 每个任务随机打乱像素位置——任务间完全无关联。
- MNIST 旋转: 数字以不同角度旋转——任务间存在关联。
- 增量 CIFAR-100: 每个新任务引入 5 个新的类别——任务输入类似但输出不同。
与 GEM 对比的基线包括:
- single: 一个模型顺序学习所有任务。
- independent: 每个任务一个单独模型 (无迁移) 。
- multimodal: 多头网络,含任务特定输入模块。
- EWC: 弹性权重巩固 (权重正则化) 。
- iCARL: 基于记忆的知识蒸馏方法。

图 1: GEM 在各数据集上实现了最高准确率和最少遗忘。
GEM (紫色) 始终获得最佳的 平均准确率 (ACC) , 以及接近零的 后向迁移 (BWT)——说明它有效防止了灾难性遗忘。右图中,GEM 即使在学习所有后续任务后,第一个任务的准确率仍保持稳定。在 CIFAR-100 上,它甚至展现出正向后向迁移,随时间提升旧任务的性能。
效率与内存

表 1: 训练时间对比——得益于紧凑的对偶优化,GEM 比 EWC 更快。
GEM 在更低计算成本下取得了与 EWC 相当甚至更好的性能。其效率来源于在任务数量 (约 20) 上求解对偶二次规划,而非在数百万参数上。
研究团队还分析了情节记忆大小对准确率的影响:

表 2: GEM 在所有记忆容量下都优于 iCARL,并随着存储样本增多表现平稳扩展。
两种方法的性能都随记忆增大而提升,但 GEM 在各规模下始终保持更强的性能曲线和稳定性。
多轮训练的风险
对每个任务进行多轮 (epoch) 训练会加深对当前数据的依赖,从而加剧灾难性遗忘。即便如此,GEM 仍表现稳健:

表 3: GEM 抗拒性能下降,几乎与理想的多任务学习模型持平。
如表 3 所示,没有记忆的模型 (如 single 或 multimodal) 在增加训练轮数后性能迅速下滑,出现强烈负 BWT。而 GEM 保持强劲——即使每任务训练五轮,其性能也接近使用打乱 iid 数据训练的“理想”多任务模型。
核心要点
梯度情节记忆为灾难性遗忘提供了一种有原则且高效的解决方案:
- 稳健评估: ACC、BWT 和 FWT 捕捉了迁移与遗忘的细微动态。
- 基于约束的学习: GEM 使用硬性几何约束而非软性正则项,直接保留先前任务性能。
- 对偶优化效率: 对偶 QP 形式使 GEM 计算可行,其复杂度与任务数相关而非参数数。
- 正向后向迁移: GEM 不止能记住,还能改进,让新学习促进旧技能提升。
展望未来
尽管 GEM 是重大突破,但未来仍有优化空间:
- 结构化任务描述符: 借助语言或富含上下文的描述符可实现 零样本 学习与正向前向迁移。
- 先进记忆策略: 智能核心集 (coreset) 或蓄水池采样 (reservoir sampling) 可让情节记忆更具代表性。
- 可扩展性: 若减少每任务附加梯度计算,将进一步提升运行效率。
持续学习是 AI 最接近人类的挑战之一: 能够无缝适应新体验而不丢失过去。GEM 让我们更接近这个愿景——打造一个能不断学习、持续进化、永不忘记麻雀模样的智能系统。
](https://deep-paper.org/en/paper/1706.08840/images/cover.png)