想象一下教一个幼儿认识动物。你从“狗”和“猫”开始。几周后,你带他去动物园,向他介绍“狮子”和“老虎”。这个孩子并不会突然忘记狗是什么——他只是把新动物加入自己不断增长的心智目录中。这种在不覆盖旧概念的前提下持续学习新概念的能力,是人类智能的显著特征。
然而,对于大多数深度学习系统来说,这种终身学习能力却是一个主要障碍。假如你用一个最先进的图像分类器训练它识别“狗”,然后再用它训练识别“猫”,你会发现它竟然完全忘记了关于狗的知识。这种现象称为灾难性遗忘 , 是构建真正智能且可适应的 AI 系统的一大难题——这种系统应该能在整个生命周期中不断学习。
这正是 Sylvestre-Alvise Rebuffi 及其同事在研究论文 《iCaRL: 增量分类器与表示学习》 中所要解决的挑战。他们提出的方法使神经网络能够像人类一样逐步学习新类别,而无需重新访问所有旧数据。iCaRL 巧妙地结合了三种关键思想——范例存储、知识蒸馏以及基于记忆感知的分类规则——从而防止遗忘并实现持续学习。
本文将解析 iCaRL 的核心思想,展示它的工作机制,并探讨这项研究对 AI 终身学习的未来意义。
类增量学习的挑战
在讨论 iCaRL 的解决方案之前,让我们先定义问题。要称为一个类增量学习算法,必须满足以下三个条件:
- 能够从一个数据流中学习,其中新类别的样本会随时间逐步出现。
- 在任何时刻,它都能正确分类迄今为止已学习的所有类别。
- 其内存和计算需求保持有界——不能随着新类别的增加而无限膨胀。

图 1: 类增量学习器会随着时间接收新类别,并且在学习新类别的同时必须能够正确分类所有已学类别。
第三个条件尤为关键。一个简单但不切实际的方法是保存所有数据,并在每次出现新类别时重新训练模型。这虽然能避免遗忘,但计算成本过高。我们需要一种既高效又有选择性的算法——既能保留关键信息,又能学习新类别。
现代深度学习模型的难点在于,它们同时学习一个分类器和一个特征表示 。 当特征表示在训练新数据时发生变化时,旧类别的分类器权重可能失效,进而导致灾难性遗忘。
iCaRL 的设计直接针对这一问题,结合了范例存储、基于原型的分类策略和重演-蒸馏训练方案。
核心方法: iCaRL 如何实现终身学习
iCaRL 的持续学习基于三种机制:
- 通过范例均值最近邻进行分类
- 使用 herding 策略管理范例
- 结合蒸馏与重演的表示学习
下面我们逐一分析这些组件。
1. 分类: 范例均值最近邻法
大多数分类器在网络末端使用 softmax 层。每个类别对应一个权重向量,模型预测激活值最高的类别。但当特征提取器发生变化时,这些权重易漂移,从而导致旧类别分类失误。
iCaRL 用一个更稳健的范例均值最近邻分类规则替代了这类易受影响的方式。
它不存储旧的权重,而是为每个类别保存少量范例图像 , 并将该类别的原型计算为这些范例特征向量的平均值。
- 存储范例: 为每个已学习类别维护一组固定数量的代表样本。
- 计算类别原型: 将所有范例输入特征提取器 \( \varphi \),得到特征向量,并计算其均值 \( \mu_y \)。
- 分类新输入: 对于新图像 \( x \),计算其特征向量 \( \varphi(x) \),并分配给与其欧几里得距离最近的原型所属的类别:

图 2: iCaRL 通过比较输入图像的特征向量与各类别范例的平均特征向量 (原型) 进行分类。
这种分类规则的优势在于其自适应能力。当特征表示随着增量训练变化时,范例也会相应变化,从而保持原型与表示的一致性。
2. 范例管理: 使用 Herding 策略选择代表性样本
下一个问题是如何选择要存储的样本。
在固定的内存预算 \( K \) 下,iCaRL 将其平均分配给所有已学习类别,为每个类别存储 \( m = K/t \) 个范例。当新类别加入时,它既要为新类别建立范例集,又要压缩旧类别的范例集以维持整体预算。
构建范例: iCaRL 在构建新类别的范例集时使用 herding 策略——一种迭代式选择过程,用来挑选最具代表性的样本。它从该类别的所有训练图像开始,逐一选择范例,使得选出样本的特征均值尽可能逼近该类的真实均值。

图 3: Herding 策略通过迭代选取范例,使其平均特征尽可能接近整体类别均值。
缩减范例: 当新类别到来时,算法通过截断列表来压缩旧类别的范例集: 保留前 \( m \) 个范例,这些样本是按代表性重要性排序的。

图 4: 范例具备优先级,当需降低内存使用时,排名较低的范例将被删除。
这种方法既高效又稳定,即便内存缩减,剩余样本仍能很好地代表该类数据。这是一种与数据无关的修剪机制,具有坚实的理论依据。
3. 表示学习: 蒸馏与重演
最后,iCaRL 如何在新数据到来时更新网络参数而不遗忘旧知识?
答案是重演-蒸馏训练法。
当新类别 \( s, \dots, t \) 出现时,iCaRL 构建一个训练集,包含:
- 新类别图像
- 所有旧类别的范例图像
然后使用包含两个部分的混合损失进行训练:
- 分类损失: 促进对新类别的正确识别。
- 蒸馏损失: 促使网络保持对旧类别的预测稳定。
在训练开始前,iCaRL 用旧网络记录旧类别的输出概率 (sigmoid 激活值) 。在训练过程中,新网络若在这些旧类别上的输出偏离原值,会受到惩罚。这有效防止了网络覆盖旧的决策边界。

图 5: 该损失结合了新类别的分类项与旧类别的蒸馏项,以保持预测的稳定性。
训练过程是增量进行的,采用标准的反向传播技术。通过这个重演-蒸馏联合训练过程,iCaRL 能够平稳扩展知识而不遗忘已有的内容。

图 6: iCaRL 的增量训练循环包括更新表示、修剪旧范例和选取新范例。
实验: 检验终身学习能力
作者在两个主要基准上对 iCaRL 进行了评估:
- iCIFAR-100: CIFAR 的 100 类子集,以批次方式逐步学习新类别。
- iILSVRC (ImageNet): 在 100 或 1000 类规模上的大规模实验。
他们将 iCaRL 与三种对比方法进行了比较:
- 微调 (Finetuning): 标准做法,易发生灾难性遗忘。
- 固定表示 (Fixed Representation): 在首次训练后冻结特征。
- LwF.MC (Learning without Forgetting for Multi-Class): 采用蒸馏但无范例存储。

图 7a: iCIFAR-100 多类别准确率曲线显示 iCaRL 表现最优。

图 7b: ImageNet 上的 Top-5 准确率验证了 iCaRL 的可扩展性与鲁棒性。
在所有测试中,iCaRL 的准确率保持能力远超其他方法。微调法准确率几乎跌至零;LwF.MC 表现尚可,表明蒸馏有帮助,但只有范例存储才能真正防止灾难性遗忘。
深入分析: 混淆矩阵
混淆矩阵揭示了不同方法在类别预测上的分布情况。理想情况下,正确预测应形成清晰的对角线,而灾难性遗忘会破坏这种模式。

图 8: iCaRL 的预测分布均衡,而其他方法则显示严重偏差。
这些模式体现出明显差异:
- iCaRL: 预测平衡,对早期和晚期类别都无偏向。
- LwF.MC: 偏向最近学习的类别。
- 固定表示: 偏向于最早学习的类别 (因为特征在早期被冻结) 。
- 微调: 出现严重遗忘,只预测最后见到的类别。
评估各组成模块
作者进一步进行了消融实验,以验证 iCaRL 各组件的重要性。

图 9a: 消融实验结果表明,分类规则、重演与蒸馏三者均对性能有显著贡献。
移除任一组件都会导致准确率显著下降。
此外,作者将 iCaRL 与 最近类别均值 (NCM) 分类器进行了比较,后者能使用所有训练数据——在增量设置中是不现实的。

图 9b: iCaRL 的性能几乎与拥有全部数据的 NCM 分类器持平,证明其范例选择策略极为高效。
最后,作者研究了内存大小对准确率的影响。

图 10: 增加存储范例数量能提高准确率,但 iCaRL 的分类器在所有内存预算下都表现最佳。
结论: 无遗忘的学习
iCaRL 通过三种思想的协同作用优雅地解决了灾难性遗忘问题:
- 范例均值最近邻分类: 抵御特征漂移的预测规则。
- 基于 Herding 的范例选择: 高效识别小而代表性强的数据子集。
- 蒸馏与重演学习: 在整合新类别的同时保留旧知识。
这些机制共同实现了真正的类增量学习——在固定的内存与计算资源内,持续学习新类别的同时保留旧知识。
iCaRL 的关键洞见是: 仅依赖权重的纯参数化模型无法实现终身学习。引入一种非参数化记忆——哪怕只是少量范例存储——都能显著提升网络的稳定性与适应性。
虽然 iCaRL 的性能尚不及同时使用全部数据训练的模型,但它已显著缩小差距。它为打造永不遗忘、能够终身学习的 AI 系统奠定了坚实基础——更接近人类的学习方式。
](https://deep-paper.org/en/paper/1611.07725/images/cover.png)