持续学习的评测要回答三件事: 用什么数据和什么时机评测, 从准确率矩阵算哪些指标, 结果对任务顺序有多敏感. 材料来自 GEM, A-GEM, RWalk, CLEAR, Bell & Lawrence (2022) 与 APD 等论文.
1. 评测协议
数据划分与评测频率. 每个任务有自己的训练集, 验证集和测试集. 学完第 个任务后, 在任务 到 的测试集上各评测一次, 得到准确率矩阵的第 行. 矩阵的对角线是每个任务刚学完时的水平, 下三角反映旧任务保持得怎样, 上三角反映尚未训练的任务从前面的学习中得到了多少. 尚未训练的任务 () 也要评测, 否则算不出前向迁移.
评测的频率有两种. 多数论文只在每个任务结束时评测, 得到 的矩阵. A-GEM (Chaudhry et al., 2019) 在每个 mini-batch 之后都评测全部任务, 记 为训练完任务 的第 个 mini-batch 后在任务 上的准确率. 任务结束时的矩阵是它的特例: , 是任务 的 batch 数. 细粒度的评测成本高, 但能看到任务内部的学习速度和遗忘发生的时刻.
超参数选择. 持续学习的超参数选择有一个特殊的约束: 部署时拿不到未来任务, 所以调参时也不能用. 用全部任务的验证集挑 , 学习率, 缓冲区采样比例, 等于假设事先知道整个任务序列, 结果会偏乐观. 已有的做法:
- 留出前几个任务. A-GEM 把 20 个任务的前 3 个用于交叉验证超参数, 指标只在其余 17 个任务上计算.
- 只用新任务数据. De Lange et al. (2022) 的两阶段框架: 先在新任务上单独微调, 用粗网格搜索学习率并记下新任务能达到的最好准确率 ; 再运行持续学习方法, 方法自身的超参数从最大值开始, 新任务准确率低于 超过阈值 就乘以衰减因子 后重来. 论文默认 , . 方法有多个超参数时, 先逐个衰减, 都达不到要求再一起衰减. 框架只用于与遗忘相关的超参数, 其余超参数取各方法推荐值. Masana et al. (2022) 的 Class-IL 实验沿用了这个框架, 阈值设为参考准确率的 80%, 每步把权衡系数减半.
- 不调. MAS 论文说明没有调 , 理由是假设拿不到旧任务数据.
- 独立验证集. DER 论文用训练集的 10% 做验证集网格搜索. 这一做法是否用到了未来任务, 取决于验证集是否覆盖全部任务, 复现时要确认.
De Lange 等的协议从接近冻结的强约束开始, 逐步放松, 直到新任务学到一个可接受的程度为止. 它模拟的是部署时的真实条件, 每一步只看得到当前任务, 代价是每个任务要多训练若干次. 无论哪种做法, 论文都应写明超参数如何选择, 用到了哪些任务的数据.
重复次数. 同一个方法在不同随机种子和不同任务顺序下的结果可能差别很大. 本库各篇引用的论文所用的重复次数:
| 论文 | 重复方式 |
|---|---|
| van de Ven & Tolias (2019) | 20 个随机种子 |
| DER (Buzzega et al., 2020) | 10 次运行 |
| PackNet (Mallya & Lazebnik, 2018) | 6 种任务顺序, 共 18 次运行 |
| HAT (Serra et al., 2018) | 10 次, 任务顺序随机 |
| iCaRL (Rebuffi et al., 2017) | 10 种类别顺序 |
| O-LoRA (Wang et al., 2023) | 3 种任务顺序, 各 3 次运行 |
| InfLoRA (Liang & Li, 2024) | 5 次运行 |
只报一个顺序一次运行的结果, 无法区分方法的差别和随机波动. 至少报告均值和标准差; 有条件时报告最差顺序的结果.
1.1. 统计比较
两个方法在同一组种子和顺序上运行时, 结果是成对的, 应当用配对检验比较, 而不是把两组均值和标准差放在一起目测. Bell & Lawrence (2022) 比较不同任务顺序时用的就是单侧配对 检验, 并对多重比较做了校正 (第 3.2 节). A-GEM 论文的图表给出了 5 次 (Permuted MNIST, Split CIFAR) 或 10 次 (Split CUB, Split AWA) 运行的置信区间.
一次比较多个方法, 或者在多个数据集上比较时, 显著性阈值要按比较次数校正. 否则比较的次数越多, 偶然出现「显著」差异的机会就越大. 差距小于标准差的结果, 应写成「两者相当」, 不写成某个方法更好.
从配置到结论的完整实验协议. 可复现实验从冻结比较单位开始. 模型结构, 初始化来源, tokenizer, 输入分辨率或最大序列长度, 优化器, 数据增强, 每阶段训练步数和可访问的数据必须相同. 方法专属超参数允许不同, 但搜索预算要相同: 例如每种方法都允许 20 组候选, 由最前面的 3 个任务选择一组, 后续任务不再改. 回放方法还要固定缓冲区的字节预算, 不能只固定样本数; 一张高分辨率图片与一段长文本占用的存储不同.
第二步在运行前生成任务顺序和随机种子清单. 设使用 个种子和 个任务顺序, 完整设计有 个配对单元. 每个单元中, 所有方法共享数据顺序, 初始化种子和 mini-batch 顺序. 这样方法 A 与方法 B 的差值主要来自方法本身, 而不是 A 恰好抽到容易顺序. 若算力只允许 5 次运行, 优先采用 5 个预先固定的「种子, 顺序」配对, 不要让每种方法各自随机抽取.
第三步在每个任务开始前, 训练过程中和结束后写入指标. 分类场景至少保存完整准确率矩阵 , 每个任务前 个 mini-batch 的 , 新旧类别分开的准确率, loss, 峰值显存与墙钟时间. 写 checkpoint 时同时保存优化器, 学习率调度器, 缓冲区内容和采样器状态; 只保存模型参数无法复现下一阶段. 任何 NaN, 数据耗尽或提前停止都作为运行结果记录, 不用新的种子静默替换.
第四步按预先写下的聚合规则计算. 对每个配对单元分别算 ACC, BWT, FWT, 和 , 再跨单元求均值, 标准差和置信区间. 不应先把 25 张准确率矩阵逐元素平均, 再只从平均矩阵算一次指标; 遗忘量含有 , 一般有
先平均会改变非线性指标. 正确次序是「每次运行先算指标, 再统计指标」. 方法间的配对检验放在统计指标之后, 并对预先声明的主要比较校正. 探索性比较可以另列, 不能和主要假设混在一起解释.
第五步发布足以复跑的数据. 除均值表外, 应给出每个种子, 每个顺序的原始指标, 任务顺序清单, 超参数候选与被选中的值, 失败运行及原因. 最小可复现单位是一条完整学习轨迹, 不是最终一行准确率. 只有轨迹保留下来, 才能重新计算另一种 BWT 定义, 检查中途峰值, 或发现某个方法只在特定顺序崩溃.
准确率矩阵上的指标. 平均准确率. Lopez-Paz & Ranzato (2017) 定义学完全部 个任务后的平均准确率:
A-GEM 用 表示学完前 个任务后的平均:
与式 (2) 相同. 画出 随 的变化, 可以看到平均准确率是在什么时候开始下降的. ACC 把学得好和保得住混在一起, 两个方法 ACC 相同, 遗忘和迁移的模式可能完全不同, 所以它总要配合后面的指标.
后向迁移.
BWT 比较每个旧任务在序列结束时与刚学完时的准确率. 负值表示遗忘, 正值表示后续任务提高了旧任务的表现. GEM 的约束只禁止旧任务损失上升, 允许它下降, GEM 论文 MNIST Rotations 上 1 个 epoch 时的 BWT 为 +0.05 (第 2.2 篇).
1.2. 前向迁移
是模型还没训练任务 时在它上面的准确率, 是基线. GEM 论文的 取随机初始化的模型在任务 上的准确率. FWT 衡量的是: 学过前面的任务之后, 还没见过任务 的模型比随机初始化好多少.
基线的选择直接改变数值. 另一种常见做法是用「单独在任务 上训练的模型」作基线, 比较的是学完任务 之后的准确率, 衡量的是另一件事 (之前的任务是否帮助了任务 的训练结果). 两种 FWT 不能互相比较.
同名指标在不同论文里还可能是另一种算法. CLEAR (Lin et al., 2021) 从同样的准确率矩阵 出发, 把 in-domain accuracy 定义为对角线的平均 (刚学完时在当前任务上的准确率), 把 backward transfer 定义为下三角元素的平均, forward transfer 定义为上三角元素的平均. 这里的 BWT 和 FWT 是准确率本身的平均, 不减去对角线或基线, 数值范围和含义都与式 (4)(5) 不同. 引用别人的 BWT 或 FWT 数字之前, 先查清它用的是哪个公式.
Class-IL 下, 模型在没训练过的类别上几乎只会输出已学类别, 接近零, 式 (5) 的 FWT 意义不大.
遗忘量. Chaudhry et al. (2018) 定义任务 在学完任务 后的遗忘为历史最好成绩与当前成绩之差:
平均遗忘为 . 准确率取值在 时, 落在 内: 负值表示当前准确率高于历史最好, 即出现了正向的后向迁移. A-GEM 沿用这个定义, 只是把 换成任务结束时的 .
式 (6) 与式 (4) 的区别在基准: 遗忘量取历史最高, BWT 取刚学完时. 如果某个旧任务在中途因为正向迁移涨过, 后来又跌了, 遗忘量会把涨的那部分也算作遗忘, BWT 不会. A-GEM 论文还指出, 遗忘量间接反映了模型学新任务的速度: 忘得多的模型可迁移的知识少, 新任务与早期任务越相关, 影响越明显.
顽固性.
是参照模型在任务 上的准确率, 参照模型在 上联合训练. 衡量持续学习的模型在刚学完任务 时, 比能看到全部数据的模型差多少. 正则化越强, 遗忘越小, 顽固性越大, 两者要一起报告. 参照模型的训练设置 (结构, 轮数, 数据增强) 要与持续学习的模型一致, 否则 混入了训练配方的差别.
学习曲线面积. A-GEM 定义平均 -shot 表现:
即每个任务在训练了 个 mini-batch 时自身的准确率, 对任务取平均. LCA 是 在 上的平均:
式 (9) 中的求和是对积分 的离散近似, 准确率在 内时 LCA 也落在 内. A-GEM 的实验取 , 即只看每个任务前 10 个 mini-batch, 记作 . 是任务开始前 (一个 batch 都没训练时) 的准确率, 所以 LCA 同时包含了前向迁移的信息: 起点越高, 曲线下面积越大. 取较小的值时, LCA 衡量的是模型在每个任务开头几个 batch 里学得多快. 单遍设定下每个样本只看一次, 学得快直接影响最终准确率.
2. 一个手算的例子
三个任务, 准确率 (%) 如下, 行是「学完第几个任务」, 列是「在哪个任务上评测」:
| 任务 1 | 任务 2 | 任务 3 | |
|---|---|---|---|
| 学完任务 1 | 90 | 50 | 40 |
| 学完任务 2 | 92 | 85 | 55 |
| 学完任务 3 | 75 | 60 | 88 |
设随机初始化的模型在三个任务上的准确率 为 48, 48, 50, 在三个任务并集上联合训练的参照模型在任务 3 上为 91.
- ACC .
- BWT .
- 遗忘量: , , .
- FWT .
- 顽固性: .
任务 1 在学完任务 2 时从 90 涨到 92. BWT 以 90 为基准, 任务 1 的贡献是 ; 遗忘量以 92 为基准, 贡献是 17. 两个指标对同一张表给出的「遗忘」差了 1 个百分点. 若换成学完任务 2 时任务 1 跌到 80, BWT 不变, 遗忘量变成 . 两者都使用终点一行, 基准取法不同, 中间变化只影响遗忘量.
再手算一次配对比较. 假设同样 5 个「种子, 顺序」单元上, 方法 A 相对方法 B 的 ACC 差值 (百分点) 为
差值均值是
样本方差的分母用 . 五个离均差为 , 平方和为 , 所以
配对 统计量是 , 自由度为 . 双侧 95% 置信区间使用 :
区间跨过零, 这 5 次运行不足以断言 A 更好. 这里的 个百分点是效应量的点估计, 不等于已确认的优势. 单侧检验只有在实验前就声明「A 是否优于 B」且反方向不算发现时才成立; 看到结果后把双侧改成单侧会放大假阳性. 若同时在 10 个数据集上各做一次检验, 最简单的 Bonferroni 校正把每次阈值从 改为 , 但更好的做法是预先指定一个主要指标和少量主要数据集.
这个手算依赖差值近似正态且配对单元相互独立. 只有 5 次运行时很难检验正态性; 若差值有明显离群或指标被上下界截断, 可以同时报告 Wilcoxon 符号秩检验或对配对单元做 bootstrap 置信区间. 检验方法不能弥补样本太少. 置信区间很宽时, 能得出的结论就是不确定, 不能把「未显著」改写成「两者等价」. 等价需要预先给出可接受差距 , 再做等价检验.
指标之间的分歧. 几个指标经常给出不同的排序. A-GEM 论文附录 Table 4 在 Permuted MNIST 和 Split CIFAR (各 20 个任务, 前 3 个用于调参, 单遍训练, 5 个种子) 上同时报告了三项指标:
| 方法 | P-MNIST (%) | P-MNIST | P-MNIST | Split CIFAR (%) | Split CIFAR | Split CIFAR |
|---|---|---|---|---|---|---|
| 直接微调 | 47.9 | 0.51 | 0.26 | 42.9 | 0.25 | 0.30 |
| EWC | 68.3 | 0.29 | 0.27 | 42.4 | 0.26 | 0.33 |
| MAS | 69.6 | 0.27 | 0.29 | 44.2 | 0.25 | 0.33 |
| RWalk | 85.7 | 0.08 | 0.31 | 40.9 | 0.29 | 0.32 |
| PNN | 93.5 | 0 | 0.19 | 59.2 | 0 | 0.21 |
| GEM | 89.5 | 0.06 | 0.23 | 61.2 | 0.06 | 0.36 |
| A-GEM | 89.1 | 0.06 | 0.29 | 62.3 | 0.07 | 0.35 |
| 多任务联合训练 | 95.3 | - | - | 68.3 | - | - |
PNN 在 Permuted MNIST 上平均准确率最高, 遗忘为零 (每个任务有独立的列, 旧参数冻结), LCA 却是全表最低: 每来一个任务都从一列新初始化的参数开始学, 前几个 batch 里学得最慢. GEM 和 A-GEM 的 和 几乎相同, 但在 Permuted MNIST 上 A-GEM 的 LCA 高出 0.06. 只报 看不出这些差别.
表中 SI 在 Permuted MNIST 上记为 : 用前 3 个任务交叉验证出的超参数在后续任务上训练失败. 这正是第 1.2 节协议的后果, 超参数不能看未来, 有的方法因此无法稳定训练. 用全部任务调参的论文不会暴露这类问题.
LCA 对模型结构也很敏感. 同一论文 Table 5 在 Split CUB 上比较标准模型和使用类别属性描述的联合嵌入模型, 直接微调的 从 0.29 升到 0.52, 从 54.3% 升到 67.1%. 论文的解释是任务描述让模型在新任务开始前就能利用属性信息, 新任务开头几个 batch 的表现因此提高.
流式评测与任务顺序. 先测后训与流式协议. 没有明确任务划分的数据流, 常用 prequential (先测后训) 评测: 每个新样本 (或新 batch) 到来时, 先用当前模型预测并记录是否正确, 再用它训练. 这样每个样本都是在模型没见过它的时候被评测的, 不需要单独的测试集. 它衡量的是整个过程中的在线准确率, 与第 1.1 篇在线学习的「累积损失」一致, 与「学完之后对旧分布的保持」是两个不同的量. 同时关心两者时, 要在流结束后再用各阶段的留出测试集评测一次.
有时间结构的数据可以把先测后训放大到时间段的粒度. Lin et al. (2021) 的 CLEAR 基准由 YFCC100M 中 2004 到 2014 年的图片构成, 按时间分成桶, 类别集合固定为 11 类 (Domain-IL 设定). 传统协议在每个桶内部划分同分布的训练集和测试集. CLEAR 提出流式协议: 用当前桶训练的模型在下一个桶上评测. 记 为学完第 个桶后的模型, 为第 个桶的数据, 准确率矩阵 是 在 上的准确率, next-domain accuracy 取对角线上方一格的平均:
部署时模型总是用现在的数据训练, 在未来的数据上使用, 流式协议对应的就是这种情况. 论文的初步结果表明, 同分布的训练/测试划分人为抬高了持续学习方法的表现. 流式协议还有一个实际好处: 今天的测试集明天就可以当训练集, 数据标注不浪费. 论文还指出第二个好处: 同分布协议要从每个时间段里划出一部分只做测试, 流式协议下每个时间段的全部标注数据既用于训练也用于测试 (先在上一个模型上测, 再加入训练), 因此训练出的模型泛化更好, 性能估计也更准确. 为与已有工作对齐, 论文在两种协议下都报告了完整结果.
流式协议与前面的先测后训是同一个思路在不同粒度上的应用: 先测后训以单个样本或 batch 为单位, CLEAR 以一个时间桶为单位. 两者都保证数据在被用来评测的那一刻还没有被模型训练过.
论文还发现, 在第一个桶的 70 万张无标签图片上做 MoCo V2 无监督预训练, 就能提高所有只用标注数据的持续学习方法; 在这些特征上只训练一个线性层, 就大幅超过了常见的持续学习方法. 这与第 1.1 篇 2.3 节的观察一致: 起点的表征质量决定了持续学习的难度.
流式…9196 tokens truncated…界样本包括学术讨论、新闻转述、合法防御和措辞相近的普通请求.
攻击成功率依赖攻击预算. 攻击者尝试一次、十次或一百次, 至少一次成功率不同; 自动改写器与人工红队的能力也不同. 协议固定每题尝试数、攻击模型版本和提示访问权限. 若防御模型能看…2 tokens truncated…tokens truncated…一道题、同模板新实例, 还是同领域正常知识.
可参数化生成的新实例适合污染审计. 数学题随机替换数值并用程序生成答案, 代码题生成隐藏测试, 事实题选取训练截止日后的事件. 模型若只会记答案, 在结构相同的新实例上会下降; 真正掌握规则应保持较高表现. 生成器本身要避免模式过窄, 否则模型可能学会生成模板.
成员推断或逐字复现可以提示记忆, 但低复现率不能证明未污染. 模型可能见过题目却没有逐字背诵, 仍因熟悉模板获益. 更可靠的报告将污染检查视为风险分层: 已确认重合、强疑似、弱疑似与未发现, 分层给出成绩. 若方法提升主要集中在强疑似层, 应降低对迁移能力的解释.
可证伪的验收协议. 把主张写成观测条件. 「减少遗忘」对应相同新任务学习水平下, BWT 更高或 forgetting 更低; 「提高可塑性」对应相同旧任务保持下, 新任务成绩更接近参照; 「顺序稳健」对应跨顺序方差、AOPD 或最差顺序改善; 「高效」对应某个明确资源约束下的性能前沿外移. 每条主张都要附带会使它失败的观测. 若新方法 forgetting 下降仅因对角线更低, 它没有通过减少遗忘的检验.
以回放方法为例, 机制主张是旧样本梯度帮助保护旧能力. 可设置同 token 的无关数据对照、打乱标签的旧数据对照和真实旧数据. 若三者效果相同, 收益更可能来自额外优化步或正则噪声; 只有真实旧数据显著更好, 才支持内容特异的回放机制. 再固定总 FLOPs, 排除多计算解释.
参数隔离方法声称避免干扰, 可在关闭路由信息、限制总参数和增加任务数三种条件下检验. 若只在任务编号已知且容量无限增长时保持旧任务, 结论应限定为有边界、可扩容场景. 正交梯度方法声称冲突降低, 则同时测梯度余弦、旧损失变化与行为遗忘; 几何指标改变但行为不变, 机制链尚未闭合.
5.1. 预先冻结的决策表
实验前建立决策表: 主指标及最小收益, 高风险指标的最大退化, 资源上限, 独立顺序与种子数, 失败运行处理, 多重比较范围. 候选满足全部硬门槛后, 再在性能前沿中选择. 边界结果通过增加独立运行或测试样本缩小区间, 不用改指标、删异常值或更换基线.
一个示例规则是: 新域宏平均提升至少 2 点且配对区间下界高于 0; 旧域最差任务下降不超过 2 点; 高危违规率单侧上界不超过既定阈值; 总训练 FLOPs 不超过基线 1.5 倍; 五种任务顺序中至少四种方向一致. 数值只是示例, 真正门槛由应用风险确定. 决策表的价值在于候选出现之前就固定交换条件.
当多个候选都过门槛, 不必再把所有指标压成总分. 可以保留 Pareto 前沿, 根据部署约束选择. 研究论文则报告整条前沿和超参对应关系, 让读者看到性能来自多大回放、多强正则或多少新增参数.
最小反例集. 每个方法都应面对一组针对其机制的反例. 正则化方法加入与旧任务强冲突的新任务, 检查稳定约束是否让新任务学不进; 回放方法让缓冲区与当前分布严重不平衡, 检查采样偏差; 动态架构在没有任务标签时测试路由; 提示或 adapter 方法升级底座后测试接口漂移. 反例集用于确定结论边界, 方法通过哪些压力条件与在哪些条件下失效同样值得记录.
通用反例还包括任务大小极不均衡、标签噪声只出现在某一阶段、同一概念跨阶段改标签、缓慢漂移没有边界、旧任务在后期重新出现. 方法若只在干净、等长、边界明确且任务不再回访的序列有效, 仍有研究价值, 但适用条件必须写入结论.
对大模型加入格式变化、别名改写、跨语言表达、长上下文与工具暂时失败. 新知识只在训练措辞下答对, 属于窄记忆; 改写后保持, 才有更强迁移证据. 安全能力在显式有害提示上保持, 却被长上下文或工具链绕过, 说明保留集覆盖不足.
从数据到结论的审计链. 原始数据清单记录来源、时间、许可、去重和切分哈希; 训练清单记录底座、代码、随机种子、顺序、预算与失败; 评测清单记录模型状态、评分器、解码、环境和逐样本结果; 聚合脚本从这些记录生成矩阵、指标和区间. 任意表格单元都能追到具体轨迹与样本, 才算形成审计链.
审计链还要保存「负结果」. 超参数组合失败、某个顺序发散、某项安全门槛未过, 都会改变我们对方法稳定性的判断. 只保存入选 checkpoint 会让后来的人误以为选择没有成本. 失败原因分为资源越界、数值错误、数据错误与有效但表现差, 其中只有确认的基础设施故障适合无条件重跑.
发布结论时把证据强度分层. 多个独立顺序与种子上稳定、密封测试通过、资源对齐且反例未推翻, 支持较强主张; 单一顺序或公开集上的探索结果只支持假设; 机制指标相关但缺少干预, 只能称为线索. 这种分层不会削弱结果, 它让下一轮实验知道应补哪块证据.
进一步的手算与诊断. LCA 怎样区分起点与学习速度. 设两个方法在新任务前十个 batch 的平均准确率序列分别为
若取 , 方法 A 的 LCA 为 , 方法 B 为 . A 的起点高、增长慢, B 的起点低、学习快. 只看 LCA 会说 A 更好, 只看第 5 个 batch 又会说 B 更好. 可以把 LCA 拆为零样本起点 与相对起点的学习面积
例中 , . A 的优势来自迁移后的高起点, B 的优势来自看到少量数据后的快速适应. 两项都重要, 但对应不同部署: 完全没有适应窗口时看 , 允许少量更新时看整条曲线. 若 batch size 不同, 横轴应换成已见样本或 token; 若每步计算不同, 再按累计 FLOPs 对齐.
学习曲线的采样点也影响面积. 一个方法在两个评测点之间先升后降, 线性插值看不到峰值; 高频评测又消耗大量算力, 还可能改变训练缓存与随机状态. 可以预先采用对数间隔, 在开头密集采样、后期稀疏采样, 用梯形积分处理不等间隔横轴. 所有方法共享采样位置, 原始点与积分规则一起发布.
5.2. 顺序枚举与抽样误差
个任务共有 种顺序. 五个任务有 120 种, 还可能完整枚举; 十个任务已有 3628800 种, 只能抽样. 简单随机抽顺序能估计平均表现, 但少量样本可能漏掉结构化的坏顺序. 可按任务相似度、时间方向或风险任务位置分层抽样, 每层再随机. 这种设计既覆盖典型顺序, 也主动寻找边界.
顺序比较要注意同一个任务在不同位置的暴露机会. 排在首位的任务会经历最多后续更新, 排在末位的任务几乎没有机会被遗忘. 任务 的终点表现可分解为任务身份、位置和前驱集合的影响. 一个简单描述统计是对每个任务按位置求均值, 画出从第一个到第 个位置的曲线. 若方法的旧任务保持很好只是因为难任务总被放在后面, 随机顺序会揭示这种混杂.
拉丁方或平衡设计能让每个任务在各位置出现次数接近, 也让任务对的前后关系较均衡. 它不覆盖所有高阶组合, 却比随手选三种顺序更可解释. 对真实时间序列不能重排时, 可另外构造若干反事实顺序作为机制实验, 主结果仍保留真实顺序. 反事实结果回答算法对课程的敏感性, 不替代部署轨迹.
OPD 使用极差, 顺序数越多越容易观察到更大极差. 两篇论文一个试三种顺序、一个试二十种, MOPD 不宜直接比较. 可同时报告顺序数、标准差、分位差与经 bootstrap 估计的最差分位数. 极差适合描述已测试集合, 若要预测未来坏顺序, 需要更多覆盖或对尾部分布建模.
指标的方向与归一化. 准确率、成功率越高越好, loss、延迟、违规率越低越好. 为统一画图, 可以给每项定义效用方向 , 相对基线变化为
正值统一表示改善. 这只是改变符号, 没有解决尺度. 准确率提升一点、延迟降低一毫秒与违规率下降万分之一仍不可相加. 若必须形成展示总分, 每项归一化范围、截断和权重都要预先给出, 原始量同时保留. 安全硬门槛不进入可补偿总分.
相对百分比在基线接近零时会爆炸. 违规率从万分之一降到零, 相对改善 100%, 但样本可能太少; 准确率从 1% 升到 2%, 相对翻倍而绝对仍低. 大多数能力指标优先报告百分点变化与区间, loss 可补充相对困惑度, 资源给绝对量与倍率. 表头明确「百分点」和「百分比」, 防止 0.02 被读成 0.02 个百分点.
不同任务的可达上限不同, 有时会用联合训练或单任务模型归一化. 设随机基线 、参照上限 , 归一化成绩为 . 当 接近 时分母很小, 噪声被放大; 当持续模型超过参照时数值大于一. 归一化适合辅助比较, 参照的原始成绩与分母必须给出.
因果归因的最小实验. 观察到新方法遗忘更低, 至少有四种解释: 它保护了旧表示, 新任务根本没学好, 使用了更多旧数据, 或总更新更小. 最小实验同时报告新任务即时成绩、参数位移、旧数据曝光与总计算. 再构造等新任务成绩对照, 通过调基线正则或训练步数让两者可塑性接近. 在这个条件下旧任务仍更好, 才更接近保护机制.
声称梯度冲突降低时, 在更新前测新旧梯度夹角, 实施投影或约束后测一步更新造成的旧损失变化, 整段训练结束再测行为遗忘. 四个环节形成「几何改变—局部损失—长期行为」链. 若夹角改善但旧损失仍升, 可能是曲率造成; 若局部保护但长期仍忘, 后续路径抵消了短期收益.
声称表征保持时, CKA、线性探针或激活距离只是中间证据. 表征可通过可逆旋转大幅改变而功能不变, 也可保持相似却在决策边界附近造成大量错误. 应使用固定行为集连接表征指标与最终性能, 并干预被认为关键的层. 冻结该层后遗忘消失但新任务也学不动, 说明它是冲突位置; 仅观察相关性无法得出这一结论.
声称回放样本选择更聪明时, 与随机选择比较要共享缓冲字节、回放次数和候选池访问. 某些选择器需要遍历全部历史数据或额外模型打分, 若这些成本未计入, 提升可能来自更多信息和计算. 加入随机选择、多次随机种子及等计算近似选择器, 才能判断复杂策略是否稳定超过简单基线.
一份完整的数值验收例. 设十任务实验比较候选 C 与基线 B, 预先选择五种平衡顺序、每种三个种子. 每条轨迹计算 ACC、BWT、平均 forgetting、最差任务下降和训练 FLOPs. 候选相对基线的配对 ACC 差为 1.8 点, 95% 区间 ; forgetting 降低 2.5 点, 区间 ; 最差任务却下降 4 点, 超过预设 2 点门槛. 即使前两项显著, 候选仍不通过. 平均收益依然存在, 决策规则同时拒绝用一个任务的严重退化交换总体提升.
继续定位最差任务, 发现它只在位于序列首位时下降. 增加该任务早期回放后, 最差下降缩到 1.2 点, ACC 提升变为 1.5 点, 训练 FLOPs 从 1.3 倍升到 1.45 倍, 仍在 1.5 倍上限内. 新配方重新在全部预定顺序运行, 不能只补测原来的坏顺序. 如果更新后的区间和门槛都通过, 才形成可接受候选.
大模型版本再加入生成与安全层. 密封知识集提升 2 点, 通用保留集区间下界高于 点, 高危违规率单侧上界低于门槛, 无害误拒不增加超过 0.5 点, 裁判换位一致率高于预设值, 解码 token 与延迟未越界. 任一硬约束失败就回到诊断, 不通过调整总分权重遮盖. 原始输出保留后, 还能用另一个裁判复核评分器偏差.
这份例子说明验收单位是一组联动证据: 平均能力、尾部任务、训练稳定性、资源、安全与评分可靠性. 每个量有明确基线、方向、区间和门槛. 新数据到来或评分器更新时, 沿同一协议重算, 才能判断变化来自模型还是测量系统.
验收还需要区分「统计通过」与「实现一致」. 假设训练日志显示五个顺序全部通过, 部署模型却在导出、量化或模块合并后改变了输出. 发布物必须作为新的模型状态重跑关键保留集, 不能拿训练 checkpoint 的成绩替代. 对生成模型固定一组金丝雀输入, 比较导出前后的 token 概率、工具参数与拒答决策; 小数值误差若落在决策边界附近, 也可能放大为不同文本. 部署评测使用真实推理栈, 包括 tokenizer、模板、量化、并行方式与路由配置.
数据更新也会让旧结论失效. 测试集修正错误标签、删除泄漏题或增加新语言后, 分数变化同时来自模型与量尺. 每个评测版本单独编号, 新旧模型都在新版本上重跑形成横向比较; 只把新模型的新评测分数与旧模型的旧分数相减没有意义. 若历史 checkpoint 无法再运行, 至少冻结一组桥接样本同时出现在两个版本, 估计量尺漂移, 并将结论标为近似.
长期项目会经历多轮候选选择, 每轮都在同一保留集上做通过或拒绝, 反馈本身会逐渐泄漏测试信息. 可以设置三级数据: 日常开发集允许频繁查询, 发布门槛集限制查询次数, 审计集仅在重要版本或外部复核时开启. 发布门槛集使用一段时间后轮换, 旧集转为开发用途. 数据轮换要维持难度与能力构成, 用锚点题和双模型回测校准版本差异.
当实际请求没有即时标签, 线上指标容易只覆盖点击、停留时长或用户重试等代理量. 这些量受界面、流量与用户选择影响, 不能直接当准确率. 可在随机审计样本上补人工或延迟真值, 用倾向权重修正只对部分请求标注造成的选择偏差. 高风险事件则保留全量人工复核通道. 离线矩阵提供可控比较, 线上审计提供分布真实性, 两者一致时部署结论才更稳.
评测资源本身也要预算. 每个阶段都跑完整大模型套件可能比训练还贵, 于是研究者倾向降低频率, 又看不到短暂遗忘. 可以用小型哨兵集高频监控, 在预定阶段用完整密封集确认. 哨兵集负责发现异常, 不承担最终排名; 完整集负责估计能力和区间, 不参与逐步调参. 若哨兵触发额外评测, 触发规则和额外查询次数进入日志, 避免只对看起来好的候选增加测量.
停止实验也需规则. 当候选明显越过安全或资源红线时可提前终止, 节省计算; 当中期结果看似领先时提前宣布胜利, 则会引入可选停止偏差. 序贯设计可以在预先规定的检查点使用校正边界, 或简单地固定运行数. 无论哪种选择, 失败与成功采用相同规则. 只有把停止、追加样本与重跑条件写在观察结果之前, 置信区间和通过率才保留原本含义.
跨实验比较时还要核对测量单位. 有的表用 小数, 有的用百分数; 有的 BWT 对 个旧任务平均, 有的对整个下三角平均; 有的 forgetting 保留负值, 有的将负值截为零. 即便列名相同, 数值也可能相差一个常数因子或表示另一种聚合. 复算前从定义、索引范围、基线和方向逐项对齐. 无法对齐的结果适合并列描述, 不进入同一排名.
对结论最有用的检查往往很朴素: 从论文表格任选一条轨迹, 手工算一次 ACC、BWT、forgetting 与区间, 再与脚本输出核对. 小型手算能发现索引错一位、把百分数当小数、遗漏首任务或将历史峰值写成对角线等错误. 自动化保证大量实验一致, 手算负责确认自动化实现的正是公式所说的量. 两者一致后, 扩展到完整数据才有可靠基础.
同样的核对还应覆盖空任务、单任务和全部任务成绩相等的退化情形. 单任务时 BWT 与 forgetting 没有定义, 脚本应返回缺失标记, 不能用零冒充; 全部元素相等时迁移量应为零, ACC 保留该常数. 这些边界用例很短, 却能提前暴露分母、索引范围和缺失值处理错误.
参考文献
- Lopez-Paz, D., & Ranzato, M. (2017). Gradient Episodic Memory for Continual Learning. NeurIPS 2017.
- Chaudhry, A., Dokania, P. K., Ajanthan, T., & Torr, P. H. S. (2018). Riemannian Walk for Incremental Learning: Understanding Forgetting and Intransigence. ECCV 2018.
- Chaudhry, A., Ranzato, M., Rohrbach, M., & Elhoseiny, M. (2019). Efficient Lifelong Learning with A-GEM. ICLR 2019.
- De Lange, M., et al. (2022). A continual learning survey: Defying forgetting in classification tasks. IEEE TPAMI.
- Lin, Z., Shi, J., Pathak, D., & Ramanan, D. (2021). The CLEAR Benchmark: Continual LEArning on Real-World Imagery. NeurIPS 2021 Datasets and Benchmarks.
- Bell, S. J., & Lawrence, N. D. (2022). The Effect of Task Ordering in Continual Learning. arXiv:2205.13323.
- Yoon, J., Kim, S., Yang, E., & Hwang, S. J. (2020). Scalable and Order-robust Continual Learning with Additive Parameter Decomposition. ICLR 2020.
- Masana, M., et al. (2022). Class-incremental learning: survey and performance evaluation on image classification. IEEE TPAMI.
- van de Ven, G. M., & Tolias, A. S. (2019). Three scenarios for continual learning. arXiv:1904.07734.
- Buzzega, P., Boschini, M., Porrello, A., Abati, D., & Calderara, S. (2020). Dark Experience for General Continual Learning: a Strong, Simple Baseline. NeurIPS 2020.
- Rebuffi, S.-A., Kolesnikov, A., Sperl, G., & Lampert, C. H. (2017). iCaRL: Incremental Classifier and Representation Learning. CVPR 2017.