克服神经网络中的灾难性遗忘——EWC论文阅读笔记

对应论文:papers/Overcoming_catastrophic_forgetting_in_neural_networks_翻译.md
原文:Kirkpatrick et al., PNAS 2017(arXiv:1612.00796v2),DeepMind & Imperial College London
阅读时间:2026-08-13


一、论文摘要

1. 问题

人工神经网络按顺序学习多个任务时会发生灾难性遗忘(catastrophic forgetting):学习新任务 B 会覆写对旧任务 A 至关重要的权重,导致旧能力突然丢失。这是实现持续学习(continual learning)与通用人工智能的关键障碍。已有的”情景记忆回放”方案(system-level consolidation)需要存储与任务数量成正比的数据,不可扩展。

2. 核心方法:弹性权重巩固(EWC, Elastic Weight Consolidation)

受神经生物学中突触巩固机制启发(学习新技能时被增强的树突棘在后续学习中保持稳定、可塑性降低),EWC 的核心思想是:

  • 选择性降低可塑性:学习新任务时,对旧任务重要的权重施加二次惩罚,将其”弹性锚定”在旧值附近,重要性越大、弹簧越硬。
  • 重要性度量 = Fisher 信息矩阵对角线:从贝叶斯视角看,学习新任务时旧任务的信息全部浓缩在参数后验分布中;用拉普拉斯近似将该后验近似为高斯分布,均值取旧任务最优解 θ*,精度取 Fisher 信息矩阵对角线。Fisher 矩阵有三大优点:等价于损失的二阶导数、仅需一阶导数即可计算、保证半正定。
  • 损失函数:L(θ) = L_B(θ) + Σ_i (λ/2) F_i (θ_i − θ*_A,i)²
  • 多任务合并:多个二次惩罚之和仍是二次惩罚,因此多个旧任务的约束可合并为单个惩罚,存储开销不随任务数增长。

3. 关键洞察

  • 过参数化红利:网络过参数化意味着任务 B 的解很可能存在于任务 A 解的邻域内,”约束在旧解附近”不妨碍学好新任务。
  • 与 L2 正则的本质区别:L2 对所有权重一视同仁,保护旧任务就牺牲了学习能力;EWC 按重要性差异化保护,兼顾稳定与可塑性(stability-plasticity trade-off)。
  • 表示共享与容量分配自适应:任务相似时 Fisher 重叠大(共享表示),任务差异大时网络自动为不同任务分配不同权重子集。

4. 实验

  • 置换 MNIST(监督学习):EWC 可顺序学习大量任务,错误率仅缓慢增长;dropout+SGD 无法扩展到两个任务以上。
  • Atari 2600(强化学习,DQN)
    • 单一固定容量网络顺序学习 10 个游戏,无需任务标签。
    • 双时间尺度记忆:短期靠经验回放缓冲区(每个任务独立 buffer),长期靠 EWC 巩固。
    • 任务识别模块:将任务情境建模为 HMM 隐变量,用 Forget-Me-Not 风格的非参数贝叶斯生成模型自动推断当前任务、检测新任务;效果仅略逊于直接给定真实标签。
    • 任务特定偏置与增益:每层保留少量任务专属参数,主权重跨任务共享。
  • Fisher 对角线的重要性估计经扰动实验验证有效;但对零空间的估计过于自信(低估参数不确定性),是当前方法的主要局限。

二、问题分析:仅用”记忆系统”(记录思考与执行轨迹)提升 Agent 能力,EWC 有何可借鉴之处?

前提约束:不动模型权重,只靠外部记忆(轨迹记录、检索、回放)来让 Agent 越用越强。EWC 作用在权重上,不能直接照搬,但其架构级思想几乎条条可映射到记忆系统设计:

1. 重要性加权的记忆巩固 ← Fisher 信息矩阵

EWC 不是平均保护所有权重,而是用 Fisher 信息给每个参数算”对旧任务有多重要”,重要的锁死、不重要的放行。
借鉴:不要平等对待所有轨迹。给每条记忆/经验打一个”重要性分数”(如对后续任务成功的因果贡献、被检索命中的频率、决策分叉点上的关键性)。巩固(consolidation)时优先固化高分记忆;清理/压缩记忆时优先淘汰低分记忆。这就是记忆系统里的”Fisher 分数”。

2. 弹性锚定,而非冻结 ← 二次惩罚 vs L2

EWC 的教训是:对所有旧知识一视同仁地强保护(L2)会让系统丧失学习新事物的能力。
借鉴:核心经验(如反复验证有效的操作范式、用户的硬性偏好)应以”弹性”方式锚定——检索时作为强先验注入上下文,但允许新证据以与”重要性”成反比的速率修正它。避免两个极端:完全不可变的记忆(学不到新东西)和完全可覆写的记忆(灾难性遗忘的复刻版,新轨迹冲刷掉旧经验)。

3. 多任务惩罚合并 ← 二次惩罚之和仍是二次惩罚

EWC 把多个旧任务的约束合并成一份,存储不随任务数线性增长——这正是它优于”情景记忆全量回放”的地方。
借鉴:轨迹记忆不能无限堆积。需要定期把多条同类轨迹蒸馏/合并为一条巩固记忆(如把 50 次”处理某类报错”的轨迹蒸馏成一份排错手册),保留”均值”(核心做法)和”方差”(适用边界/不确定性),而不是原样保留全部原始轨迹。这直接对应 EWC 里高斯后验的均值+精度。

4. 双时间尺度记忆 ← 经验回放 + EWC

论文的 Atari 智能体本身就是个记忆系统范本:短期是每个任务独立的经验回放缓冲区,长期是 EWC 巩固的权重。
借鉴:Agent 记忆应分两层——

  • 短期/情景层:最近的原始思考与执行轨迹,供即时检索和 in-context 学习;
  • 长期/巩固层:从情景层周期性蒸馏出的稳定知识(技能、偏好、教训),写入慢、修改更难。
    巩固过程就是从短期层到长期层的”突触巩固”。

5. 任务上下文自动推断 ← HMM + Forget-Me-Not 任务识别

论文不给智能体任务标签,而是用生成模型从观测中推断”现在处于哪个任务”,并自动发现新任务。
借鉴:轨迹记忆要按”任务/情境”组织而非按时间平铺。写入时自动为轨迹打上情境标签(在做什么类型的任务);执行时先推断当前情境,再检索同情境的巩固记忆。否则记忆越多,检索噪声越大,反而干扰当前任务——这就是记忆版的”灾难性干扰”。

6. 少量任务专属参数 ← 任务特定偏置与增益

网络主体共享,但每层留少量任务专属偏置/增益,成本极低却显著帮助多任务共存。
借鉴:共享的通用记忆之上,允许保留轻量的”任务/项目专属记忆覆盖层”(如某个项目的特殊约定),主记忆不动,专属层随任务切换启用。

7. 记录不确定性 ← 论文自陈的最大局限

EWC 的失败模式是”对不重要参数的估计过于自信”。
借鉴:巩固记忆必须附带置信度/不确定性元数据。一条被高度确信但其实片面的”经验”,比没有这条经验更危险——它会以高优先级被检索并误导决策。记忆系统应支持”我不确定这条经验是否适用”的表达,并在新证据出现时下调置信度。

一句话总结

EWC 给记忆系统 Agent 的核心启示是:记忆的价值不在于”记住一切”(全量回放不可扩展),而在于”按重要性差异化地巩固”——用重要性分数决定什么该固化、什么该淘汰,用合并蒸馏控制记忆体积,用双时间尺度分离原始轨迹与稳定知识,用情境推断保证检索到的是”对的经验”,并始终为巩固的知识标注不确定性。


三、局限与备注

  • EWC 本身的已知局限:对角 Fisher 近似低估参数不确定性;Atari 上仍不及每个游戏单独训练的 DQN;λ 需按任务调参。