引言: 人工智能的“遗忘症”问题

人类是天生的终身学习者。从幼年起,我们不断获取新技能和知识——学会说话并不会让我们忘记如何爬行,掌握驾驶也不会抹去我们骑自行车的能力。我们的大脑能够整合新信息,同时保留旧知识,这是心理学家所称的流体智力 (fluid intelligence) 的标志——即在不丢失已获知识的情况下,推理和适应新问题的能力。

人工神经网络 (ANNs) 虽然受到人脑的启发,却缺乏这种能力。一旦在一个任务上训练完成,学习第二个任务往往会抹去第一个任务的知识——这种现象被称为灾难性遗忘 (catastrophic forgetting) 。这是创建真正自适应人工智能系统的核心障碍。想象一下,一辆自动驾驶汽车在学会识别行人后,忘记了如何识别停车标志。

为了解决这一问题, 持续学习 (Continual Learning, CL) 领域旨在构建能够从数据流中学习而不覆盖旧知识的模型。其中最具挑战性的设置之一是类增量持续学习 (Class-Incremental Continual Learning, CiCL) , 即模型随时间学习新的对象类别,并且必须能够识别所有先前遇到的类别。

几年前,一种名为暗经验回放 (Dark Experience Replay, DER) 的简单但强大的方法被提出。DER 使用一种回放策略,不仅存储旧数据,还存储模型的原始输出分数——即所谓的“暗知识”。尽管 DER 取得了成功,但也存在一些明显的不足。

在最新的论文 《Class-Incremental Continual Learning into the eXtended DER-verse》 中,DER 的原作者重新审视了他们的方法。他们从人类记忆如何重写过去和预测未来中获得启发,提出了扩展 DER (eXtended-DER, X-DER) ——一个具备两种类人特征的模型:

  1. 重写过去: 以新的见解更新旧记忆。
  2. 预备未来: 使用当前的理解为未见任务做好准备。

本文将剖析这些创新,解释 X-DER 如何将记忆从静态档案转变为随经验演化的动态过程,从而重新定义持续学习。


背景: 序列学习的挑战

类增量学习的背景

在传统机器学习中,模型一次性使用所有可用数据进行训练,并以随机顺序看到所有类别的样本。而在类增量持续学习 (CiCL) 中,训练则是顺序进行的:

\[ \mathcal{T}_0, \mathcal{T}_1, \dots, \mathcal{T}_{T-1} \]

每个任务引入新的、不相交的类别。完成所有任务后,模型必须能够对所有见过的类别进行分类——即使在训练过程中从未同时见过它们。

理想情况下,模型应最小化联合所有任务的风险,在学习新类别的同时保持对旧类别的性能。

在 CiCL 中最小化所有任务的风险。 模型必须在学习新类别的同时保持对已学类别的准确识别。

然而,由于模型仅能看到当前任务 \( \mathcal{T}_c \) 的数据,我们通常通过一个近似目标来实现这一理想: 最小化当前数据的损失,加上一个正则化项 \( \mathcal{L}_R \) 来缓解遗忘。

CiCL 中的实际学习目标。 优化过程结合了当前任务的损失与一个用于保持旧知识的正则化项。

排练与知识蒸馏: 记忆保留的关键机制

制定 \( \mathcal{L}_R \) 的两种常见策略是:

  • 基于排练 (Rehearsal-based) 的方法使用一个记忆缓冲区来存储以前任务的样本。在训练时,旧样本与新数据一起回放,以提醒模型此前学习的内容。
  • 知识蒸馏 (Knowledge Distillation, KD) 将知识从一个“教师” (模型的早期版本) 传递给一个“学生” (当前模型) 。学生不仅学习标签,还学习教师的软预测,从而保留类别之间的细微联系。

暗经验回放 (DER) : 通过记忆实现知识蒸馏

DER 结合了排练与知识蒸馏。它不仅存储图像和标签,还保存模型首次看到这些图像时的logits (未缩放的输出分数) 。 当前模型则通过均方误差损失来匹配这些存储的 logits,损失由权重 \( \alpha \) 控制。

暗经验回放 (DER) 的损失函数。 DER 通过对齐当前输出 logits 与存储的 logits 来保留已学响应。

改进版本 DER++ 在回放样本上增加了一个标准交叉熵损失 (使用其真实标签) 和权重项 \( \beta \)。

暗经验回放++ (DER++) 的损失函数,增加了对回放样本的分类损失。 DER++ 结合了 logit 回放与标签分类,以更稳健地保留知识。

通过回放模型自身的旧输出,DER 捕获了比标签更丰富的信息——包括类别间的不确定性与相似性。


DER 的不足之处

尽管 DER 成绩斐然,但其缺陷促成了 X-DER 的诞生。理解这些限制需要先了解模型输出的组织方式。

在任何任务 \( c \) 中,网络的 logits 可划分如下:

  • 过去 (\( \ell_{\mathrm{pa}[c]} \)) — 当前任务之前学习的类别。
  • 现在 (\( \ell_{\mathrm{pr}[c]} \)) — 当前任务教授的类别。
  • 未来 (\( \ell_{\mathrm{fu}[c]} \)) — 尚未接触的类别。
  • 未来过去 (\( \ell_{\mathrm{fp}[c;\tilde{c}]} \)) — 对于来自过去任务 \( \tilde{c} < c \) 的存储样本,这是在样本存储后、当前任务前学习的类别对应的 logits。

类增量持续学习中不同 logit 分区的时间线图示。Tc 是当前任务,而 Tč 表示样本保存时的任务。 输出头分为过去、现在与未来类别,而“未来过去”则连接旧样本与新学类别。

局限 1: 忽视“未来过去”信息

当 DER 在任务 \( \tilde{c} \) 期间存储样本时,其 logits 只反映当时的知识。随着模型学习新类别,这些 logits 被冻结,不再更新。 因此,DER 无法为旧记忆加入它们与新类别之间的关系,即“未来过去”信息。 这就像试图从 2010 年的照片中分析与 2015 年发明的技术之间的联系——这些信息根本不存在。

局限 2: 对当前任务的偏向

DER 在学习新任务时,往往过于关注当前任务,牺牲旧任务的表现。新样本的梯度幅度显著大于回放样本,导致优化过程不平衡。

新数据 (蓝) 梯度范数显著高于回放数据 (红) ,显示优化失衡。 当前任务的强梯度更新掩盖了回放样本的影响。

此外,交叉熵损失强迫网络将“未来”类别的概率设为零,使其 logits 趋于极负值。结果,未来类别输出头进入“休眠”状态,减慢后续学习。

在 DER++ (左) 中,未来 logits (红) 被压得极低。X-DER (右) 通过未来预备机制使未来 logits (绿) 保持中性。 X-DER 通过预激活未来输出头来对抗负向偏差。


X-DER: 重写过去与预见未来

为克服上述问题,作者提出了扩展 DER (X-DER) ——DER 的升级版,引入动态记忆更新与未来表示的主动学习。

X-DER 架构概览。它针对过去、现在与未来类别设定不同目标,并包含记忆更新机制。 X-DER 为输出空间的不同部分设定差异化目标: 保持、预备与校正。

1. 动态记忆: 更新“未来过去”

在 X-DER 中,记忆条目不再固定不变。当缓存样本 \((x, y, \ell^{\mathcal{M}})\) 被回放时,它会经当前模型生成新版 logits \( \ell \),其中包含自上次存储以来新学习类别的次级信息。

X-DER 将这些新知识植入样本的存储 logits 中,使旧记忆包含新关系。 为避免新信息掩盖旧知识,未来过去的 logits 会缩放,使其最大值略低于真实标签的 logit。

记忆更新规则: 针对未来过去类别的 logits 经缩放后注入存储的 logits 中。 更新过程丰富存储的 logits,同时保持稳定。

这使记忆缓冲区成为一个“活档案”——不断随经验被改进。

2. 未来预备: 为未见类别提前“热身”

为抵消未来输出头的负偏差,X-DER 在代理任务上训练它们,使其在正式任务开始前学习有用的表征。

与标准 CL (中) 只关注已见类别不同,X-DER (右) 增加代理任务来训练未来输出头,更接近理想的联合训练 (左) 。 通过为未来任务做准备,X-DER 更接近联合训练的理想均衡。

作者引入了监督对比学习 (Supervised Contrastive Learning, SCL) , 它将同类样本的表示拉近,不同类样本的表示拉远。 结合强数据增强,每个输入样本生成多个变体。未来输出头通过监督对比损失 \( \mathcal{L}_{\mathrm{SC}} \) 进行训练:

监督对比损失促使未来输出头为同类样本生成相似输出。 对比目标增强了同类样本在不同增强视图下的一致性。

将该损失在所有未来输出头上取平均,得到总的未来预备损失 \( \mathcal{L}_{\mathrm{FP}} \):

完整的未来预备目标函数,对所有未来输出头取平均。 该损失促进尚未训练的输出头之间的一致性。

这种“预热”帮助未来神经元尽早学习有意义的模式,使任务间过渡更平滑。

3. 偏差缓解: 平衡过去、现在与未来

为进一步抑制偏差,X-DER 运用了两种互补策略:

  • 分离交叉熵 (Separated Cross-Entropy, S-CE) : 仅在当前任务类别的 logits 上计算交叉熵损失。过去和未来类别被排除,防止梯度冲突。

分离交叉熵损失函数,仅在当前任务类别上计算 softmax。 限定 softmax 范围可防止当前任务梯度削弱旧知识。

  • 过去/未来约束 (Past/Future Constraint, PFC) : 该辅助项限制过去和未来 logits 的过度增长。一旦某个非任务 logit 超过真实标签 logit 一个微小边界 \( m \),就施加惩罚。

过去/未来约束损失函数,用于控制非任务类别的 logits。 约束保持非任务 logits 在合理范围内,防止错误分类。

这些机制共同维护输出空间的整体平衡,既保持旧任务知识,又为未来任务提供良好初始化。


完整的 X-DER 目标函数

上述创新最终结合为统一损失:

\[ \mathcal{L}_{X\text{-DER}} = \mathcal{L}_{\text{DER}} + \mathcal{L}_{\text{S-CE}} + \mathcal{L}_{F} \]

其中 \( \mathcal{L}_{F} \) 包含未来预备和约束项,并由超参数 \( \lambda \)、\( \eta \) 加权。

X-DER 的总体损失函数。 X-DER 同时优化过去知识保留、当前任务学习与未来准备。

分离交叉熵同时应用于数据流和缓冲区样本,权重为 \( \beta \):

应用于数据流与缓冲区数据的完整分离交叉熵目标。 数据流与缓冲区样本共同参与损失计算。

面向未来的 \( \mathcal{L}_{F} \) 将未来预备与约束目标合并:

面向未来的损失项,结合了未来预备与过去/未来约束。 优化未来输出头并约束 logits,确保稳定、前瞻的学习。

X-DER 各损失分量在当前任务样本与记忆样本上的 logit 分区应用示意。 各分量针对特定类别区间,形成平衡梯度流。


实验验证: X-DER 的性能表现

X-DER 在标准持续学习基准上进行了测试,包括 Split CIFAR-100Split miniImageNetSplit NTU-60 , 其中 NTU-60 是基于 3D 骨架数据的新动作识别序列。

结果: 树立新的最先进标准

主要评估指标为:

  • 最终平均准确率 (Final Average Accuracy, FAA) — 所有任务完成后的准确率。
  • 最终遗忘率 (Final Forgetting, FF) — 旧任务上的平均性能下降。

结果表: 展示 X-DER 与其他方法的最终平均准确率 (FAA) 与最终遗忘率 (FF)。 X-DER 在所有基准上都实现了更高准确率和更低遗忘率。

在所有数据集上, X-DER 的表现均超过其前辈 (DER、DER++) 及主流基线 (ER、iCaRL、LUCIR 等) 。即使记忆缓冲区较小,它仍保持强劲性能。

模型顺序学习过程中在所有已见任务上的平均准确率。X-DER (绿色) 始终保持更高准确率。 X-DER 的准确率曲线最为平稳,显示出卓越的记忆保持能力。

消融实验验证其各模块的重要性: 移除记忆更新或未来预备机制将显著降低性能。


X-DER 表现卓越的原因

更丰富的教学信号提升知识迁移

知识蒸馏在教师输出接近真实贝叶斯类概率时效果最佳——反映类别间细微联系。 X-DER 的动态记忆更新使这些联系保持最新,保留了细粒度次级信息。

次级信息保留度度量。X-DER 误差率最低,保留更丰富的类别相似性信息。 X-DER 提供更优质的次级信息,促进更强泛化。

将仅基于记忆缓冲区训练的新模型进行测试进一步验证了 X-DER 的优势: 其缓冲区产生更高准确率的模型,说明其存储的知识更丰富。

仅在最终缓冲区训练的模型准确率。X-DER (绿色) 缓冲区包含更多有用信息。 X-DER 的缓冲区带来更高独立准确率,表明其存储的 logits 更具深度。

为未来任务提前铺路

通过预训练未来输出头,X-DER 提高了前向迁移 (forward transfer) 能力——即快速学习新类别的能力。 少样本实验显示,从 X-DER 未来输出头提取的特征在极少数据下也能获得更高准确率。

对未见类别的前向迁移分析。X-DER (绿色) 在少样本学习任务中表现更好 (a),且优势随任务增多而增强 (b)。 未来预备提高了少样本学习与前向迁移能力。

发现稳定、平坦的极小值

平坦极小值更具鲁棒性——这正是持续学习所追求的。 分析显示,X-DER 的解可容忍更大权重扰动,并在损失景观上具有更低曲率,依据费舍尔信息矩阵 (Fisher Information Matrix) 测量。

学习到的解的几何分析。X-DER 对权重扰动更稳定 (a),且找到曲率更低的解 (b)。 更平坦的极小值带来更稳健的长期性能与更优泛化。


结论: 从记忆保持到前瞻性学习

扩展 DER 新纪元将“重放知识”这一开创性概念转化为一个动态、面向未来的系统。

通过不断重写旧记忆并提前训练未来神经元, X-DER 不仅抗遗忘,更具预见力。 这标志着持续学习从简单的“记忆保留”走向主动的知识进化。

最终结果是一个不仅能“记忆”,还会“学习如何更好记忆”的模型,在多个数据集上树立新的标杆,丰富了我们对人工系统如何像人类一样优雅学习的理解。