技术深度解析
continual-learning-baselines仓库并非简单的算法集合——它是一套精心设计的基准评测系统。其核心是Avalanche框架,该框架为持续学习实验提供了模块化流水线。Avalanche处理数据集流式加载(任务增量、类别增量、领域增量场景)、模型管理、指标记录和检查点保存。基准仓库通过将每个算法实现为独立插件来扩展Avalanche,这些插件只需更改一行配置即可互换。
架构概览:
- 数据流: 每个基准(如Split MNIST)被转换为经验序列。Avalanche的`ExponentialLR`或`MultiTask`场景定义了任务的到达方式。仓库使用`Naive`(微调)作为下界基线,`Joint`(一次性训练所有数据)作为上界。
- 模型封装: 使用标准多头或单头分类器。对于EWC,模型通过`RegularizationPlugin`封装,该插件在每个任务后计算Fisher信息。对于基于记忆的方法如GEM,`MemoryPlugin`存储过去样本的子集。
- 评估: 指标包括平均准确率、遗忘度(先前任务准确率下降幅度)以及前向/后向迁移。仓库通过Avalanche的`MetricTracker`记录这些指标。
算法实现细节:
- EWC(弹性权重巩固): 对先前任务重要的权重在损失函数中添加二次惩罚项。仓库使用对角近似计算Fisher信息矩阵。关键参数是`ewc_lambda`,控制正则化强度,典型值范围从0.1到1000,取决于具体任务。
- SI(突触智能): 与EWC类似,但使用训练过程中的在线重要性估计,而非事后Fisher计算。这使得计算效率更高,但稳定性稍差。
- GEM(梯度情景记忆): 存储少量情景记忆(例如每个任务200个样本)。训练时,它通过投影梯度避免增加任何先前任务的损失。仓库使用二次规划求解器(CVXPY)进行投影步骤,对于大容量记忆可能较慢。
- AGEM(平均梯度情景记忆): 一种更快的近似方法,将梯度投影到从记忆中随机抽取的单个约束上,将二次求解简化为点积。权衡:准确率略低,但速度大幅提升。
- iCaRL(增量分类器与表示学习): 结合知识蒸馏(LwF风格)与最近类均值分类器和样本选择。仓库实现了用于记忆更新的herding选择。iCaRL在任务边界未知的类别增量学习中表现尤为出色。
- LwF(无遗忘学习): 对新任务数据使用先前模型输出的蒸馏损失。无需记忆。仓库实现了温度缩放的softmax用于蒸馏。
- GDumb(贪婪愚蠢): 一个出奇简单的基线:存储平衡的记忆缓冲区,并在每一步仅从该缓冲区从头训练。尽管简单,它在某些基准上往往优于更复杂的方法。
基准性能表现:
下表展示了仓库自身评估脚本在Split MNIST(5个任务,每个任务2个类别)上的平均准确率。结果基于5次运行的平均值及标准差。
| 算法 | 平均准确率 (%) | 遗忘度 (%) | 记忆大小 | 训练时间 (秒) |
|---|---|---|---|---|
| Naive(微调) | 19.2 ± 1.5 | 80.8 | 0 | 45 |
| EWC (λ=100) | 87.3 ± 2.1 | 12.7 | 0 | 62 |
| SI (c=0.1) | 88.1 ± 1.8 | 11.9 | 0 | 58 |
| GEM (mem=200/任务) | 91.5 ± 1.2 | 8.5 | 1000 | 210 |
| AGEM (mem=200/任务) | 88.9 ± 1.6 | 11.1 | 1000 | 95 |
| iCaRL (mem=200/任务) | 92.3 ± 1.0 | 7.7 | 1000 | 180 |
| LwF (T=2) | 85.6 ± 2.3 | 14.4 | 0 | 50 |
| GDumb (mem=1000) | 90.1 ± 1.4 | 9.9 | 1000 | 120 |
| Joint(上界) | 97.8 ± 0.5 | — | 全部数据 | 300 |
数据洞察: 基于记忆的方法(GEM、iCaRL、GDumb)在Split MNIST上始终优于仅使用正则化的方法(EWC、SI),但代价是需要存储历史数据。iCaRL在准确率-遗忘度权衡上表现最佳。然而,在更复杂的数据集(如CIFAR-100)上,差距会缩小,正则化方法往往表现挣扎。
当前实现的局限性:
- 缺乏Transformer支持: 所有模型均为简单CNN(例如两个卷积层+MLP)。现代持续学习研究越来越多地使用基于提示的Vision Transformer(ViT)方法(如L2P、DualPrompt)。该仓库尚未包含这些。
- 固定任务边界: 基准假设清晰的任务边界。现实场景往往涉及模糊边界或渐进式漂移。
- 记忆扩展性: 情景记忆限制在几百个样本以内。对于