核心要点

  • 灾难性遗忘:模型按顺序学习新任务时,参数被新数据覆盖,导致旧任务性能急剧下降

  • 根因是新旧任务共享同一组参数且无旧数据约束,梯度更新方向偏向新任务

  • 正则类缓解:EWC 等对旧任务重要参数施加约束,限制其偏移

  • 数据类(回放/Replay)与参数隔离类(适配器、LoRA、冻结部分层)也是常用方案

标准回答

现象与成因

神经网络在序列化地学习任务 A 再学任务 B 时,往往会大幅遗忘 A,称为灾难性遗忘。根本原因是新旧任务共用同一参数空间,训练 B 时只看到 B 的数据,梯度把参数推向只对 B 有利的区域,覆盖了承载 A 知识的权重。

三类缓解思路

  • 正则约束(EWC、SI 等):估计各参数对旧任务的重要性,对重要参数的改动施加惩罚,使其尽量不偏移;
  • 数据回放(Replay/Rehearsal):保留或生成旧任务样本,与新任务数据混合训练,让旧知识持续被复习;
  • 参数隔离:为新任务分配独立参数,如插入 Adapter、用 LoRA 旁路、冻结主干只训部分模块,从结构上避免覆盖旧权重。

LLM 场景

大模型微调同样会遗忘预训练通用能力,故业界常用 LoRA/Adapter 等参数高效微调,并在 SFT 数据中混入通用语料以保留泛化能力。

常见误区

⚠️ 常见踩坑

把灾难性遗忘等同于普通过拟合——它特指顺序学习中对旧任务的遗忘;误以为简单降低学习率就能根治,实际仍需正则、回放或参数隔离等机制。

追问

追问 1EWC 的核心思想是什么?

EWC(Elastic Weight Consolidation)用 Fisher 信息矩阵估计每个参数对旧任务的重要性,在学习新任务时给损失加一个二次惩罚项,重要参数偏离旧值越多惩罚越大,从而像「弹性约束」一样保住旧任务的关键权重。

追问 2为什么 LoRA 微调不易遗忘预训练能力?

LoRA 冻结原始预训练权重,只在旁路训练低秩增量矩阵,主干参数几乎不变。因此预训练习得的通用知识被很好保留,新任务能力以小幅增量叠加,遗忘风险远低于全参数微调。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。