持续学习没有一个脱离协议的统一难度. 同样把 CIFAR-100 分成若干阶段, 推理时给出任务 ID 与不给任务 ID, 已经是两个性质不同的问题;允许保存全部历史样本与只留几百个样本, 算法获得的信息也完全不同. 所以进入任何方法之前, 先把数据怎样到达、模型看见什么、允许保存什么说清楚. 问题设定不是实验附录里的配置, 它决定一个方法究竟解决了遗忘、任务识别还是资源分配.
记第 个阶段的数据分布为 , 数据集为 . 模型完成阶段 后得到参数 和辅助状态 . 更新可以写成
其中 汇总样本存储、参数增长、计算量和数据遍历次数等预算. 这个写法故意把模型参数和辅助状态分开: replay buffer、Fisher 对角、旧教师、adapter 库和路由原型都在携带历史信息, 不能只统计可训练参数便宣称方法「不使用记忆」.
1. 三种增量场景差在推理信息
Task-IL 假设推理时知道任务 ID. 模型可以选择对应输出头、adapter 或掩码, 类别只在当前任务内部竞争. 这种协议适合任务边界真实存在且调用者能给出标识的系统, 也适合研究参数共享带来的干扰;它没有测试输入属于哪个任务这一难题.
Domain-IL 中标签语义保持不变, 输入分布随阶段改变. 手写数字的书写风格、摄像头、天气或语言领域可以变化, 推理时通常不提供域标识. 方法需要学到跨域稳定的决策, 但输出空间没有扩张. 如果域变化只影响表面统计, 归一化与表征适配可能奏效;若 也改变, 它已接近概念漂移, 仅对齐边缘分布会失败.
Class-IL 每个阶段引入新类别, 推理时在所有已见类别中统一选择. 这里同时存在表征保持与分类校准: 旧特征尚可分离, 新类别 logits 的整体偏置仍可能把旧样本吸走. 多头模型在 Task-IL 上的高分不能直接说明它解决了 Class-IL. 读结果表时应确认输出头、任务标识以及测试类别集合, 这些条件比方法名称更早决定数字含义.
2. 数据访问决定 baseline
离线联合训练可以反复访问全部 , 它无法直接部署, 但能提供同一模型容量下的参考上界. 顺序微调只用当前 , 给出没有保护时的遗忘基线. 若算法保留 个历史样本, 对照也应包含相同 和相同训练步数的朴素 experience replay. 复杂方法需要超过的关键参照是这条简单且强的回放基线.
在线协议还要说明每个样本可以看几次. 单遍数据流里, 学习率、组批和样本顺序直接影响结果;多 epoch 设置允许方法在每阶段接近收敛, 也放大了新任务对旧参数的覆盖. 把多遍训练的方法和单遍基线放在一起比较, 得到的差异混合了算法与额外优化预算.
历史数据「不可访问」也有多个强度. 原样样本被禁止, 是否允许保存特征、logits、梯度统计或生成模型? 隐私约束下, 这些派生状态也可能泄漏训练数据. 每一种允许状态都为未来更新提供信息. 公平比较应按字节、精度和生成成本统计, 不能把一个旧模型称作零记忆, 同时只向 replay 方法收取样本预算.
3. 边界、顺序和初始化改变问题
任务边界已知时, 算法可以在边界处估计 Fisher、冻结模块、重分记忆或扩展结构. 连续流没有明确边界, 同样动作需要变化检测器触发. 检测延迟会让两段分布混入同一个统计量, 误报则造成频繁固化与容量浪费. 因此「无任务边界」不只是少一个标签, 它增加了一个需要联合评测的推断问题.
任务顺序也不是无关的随机种子. 相似任务相邻时会产生正迁移, 冲突任务连续出现时遗忘更强;课程顺序还可能改变模型最终所在的损失盆地. 至少使用多种顺序并报告分布, 才能区分方法收益与某次排列. 面向真实时间流时, 顺序本身就是研究对象, 不能打乱后再声称覆盖部署条件.
预训练初始化改变了经典设定. 随机初始化的小模型主要担心旧任务被新任务覆盖;大模型已经包含广泛能力, 持续预训练可能同时获得新领域知识、改变语言建模分布并损伤通用能力. 此时保持集不仅是早期阶段的数据, 还包括预训练形成的通用、推理、指令遵循和安全能力. LoRA 等 PEFT 限制可更新子空间, 能降低干扰, 却不能保证共享表征或最终合并后的行为不变.
4. 从准确率矩阵读出发生了什么
记 为学完阶段 后在任务 上的表现. ACC 只看矩阵末行, 容易把新任务学不会和旧任务忘掉混在一起. 对角线 描述每个任务刚学完时的水平, 后续列变化描述保持, 上三角还能观察前向迁移. 完整矩阵让「稳定」和「可塑」分别可见.
阶段末矩阵仍会漏掉训练过程中的 stability gap. 模型可能在新阶段前几步突然丢失旧能力, 随后被 replay 拉回;在线服务已经经历了这段退化. 因而需要同时画阶段内曲线. 对生成模型, 单一准确率又不够, 还要按能力集报告困惑度、知识、指令遵循、推理与安全行为, 并固定解码预算.
场景与术语 会进一步推导准确率矩阵、梯度冲突和资源口径. 读完后应能把一项持续学习实验完整写成协议: 推理可见信息、标签空间、任务边界、数据遍历、历史状态、容量增长、初始化、任务顺序和评测时点. 这些字段对齐之后, 方法之间的差别才有解释空间.
5. 先写清楚什么算一次学习
持续学习论文还会在「阶段」这个单位上产生歧义. 一个阶段可能是一批静态数据, 一段自然时间窗口, 一次用户反馈, 也可能只是优化器的一步. 任务数相同而每阶段数据量相差百倍, 模型经历的覆盖压力完全不同. 因此阶段编号之外还要报告累计样本、累计 token、更新步数和墙钟时间. 对流式系统, 标签在样本到达多久以后可用也很关键: 延迟标签意味着当前决策只能靠无监督信号, 之后才能用监督纠错.
「学会」也不能只由训练 loss 定义. 新知识可能在直接提示下可用, 换一种表达就无法调用;新技能可能只在见过的模板上成立. 评测应把记忆、迁移和组合分开, 并保留训练前基线. 预训练模型已经会的一部分内容不能再次计作持续学习增益, 训练污染也可能让所谓前向迁移失去含义.
开放世界还要求允许系统拒绝更新. 当前输入与已有任务差异很大, 可能是真正新分布, 也可能是异常或攻击. 任何自动写入策略都隐含一个接纳判据. 报告接纳率、错误写入和漏掉的有效样本, 才能评估它怎样在稳定与可塑之间作选择. 这组定义会贯穿方法与评测两章: 算法改变更新规则, 协议决定什么信息可被规则使用.
参考文献
- van de Ven, G. M., & Tolias, A. S. (2019). Three scenarios for continual learning.
- De Lange, M. et al. (2022). A Continual Learning Survey.
- Buzzega, P. et al. (2020). Dark Experience for General Continual Learning.
- De Lange, M. et al. (2023). Continual evaluation for lifelong learning: Identifying the stability gap.