持续学习(Continual Learning / LoRA Subtraction)

持续学习 最后更新:2026-07-13

定义 / 核心思想

持续学习(Continual Learning)研究模型在任务序列依次到达(而不是一次性拿到全部数据做多任务学习)的情况下,如何在学新任务的同时不忘掉旧任务的能力——这种遗忘现象叫灾难性遗忘(Catastrophic Forgetting)

Exemplar-Free 持续学习是其中更严格的一种设定:训练新任务时不允许保存旧任务的任何样本(出于存储/隐私限制),只能通过参数层面的约束来保护旧知识。

关键方法

  • 基于正则化(如 EWC,Elastic Weight Consolidation):估计每个参数对旧任务的重要程度(如 Fisher 信息),学新任务时对重要参数的变化加惩罚项。
  • 基于回放(Experience Replay):保留一小部分旧任务样本(或生成的伪样本),训练新任务时混入旧样本一起训练——Exemplar-Free 场景下不能用这类方法。
  • 基于参数隔离:给每个任务分配独立或部分独立的参数模块(如 LoRA、Adapter),新任务只更新自己的模块,物理上避免互相覆盖。

LoRA Subtraction(我复现的方法,CVPR 2025)

在基于 LoRA 的持续学习里,即使每个任务有独立的 LoRA 模块,特征空间仍然会漂移:新任务的 LoRA 更新会改变共享 backbone 输出的特征分布,导致旧任务的分类头/特征匹配在新的特征空间里失效——这不是参数被覆盖,而是“地基“变了。

LoRA Subtraction for Drift-Resistant Space in Exemplar-Free Continual Learning 的核心思路:从新任务的 LoRA 更新方向中,减去它与旧任务特征子空间重叠的分量,构造一个“漂移抵抗子空间(drift-resistant space)“——让新任务的学习尽量不去扰动旧任务已经依赖的特征方向,从而在不存储任何旧样本的前提下缓解特征空间漂移带来的遗忘。

常见理解误区

  • 持续学习不是简单的“多任务学习(Multi-task Learning)“:多任务学习可以同时拿到所有任务的数据一起训练;持续学习任务是顺序到达的,训练当前任务时通常拿不到未来任务、也不一定能存旧任务的数据。
  • 灾难性遗忘的来源不只是“参数被覆盖“这一种机制——LoRA Subtraction 这类工作提醒我们,共享表示(特征空间)的漂移同样会导致旧任务失效,即使旧任务自己的参数模块完全没变。

我在项目中的应用

机器学习导论课程的产出项目:在 LibContinual 框架下独立复现了 LoRA Subtraction 论文,实现了其核心算法,解决了基于 LoRA 的无样本持续学习中的特征空间漂移与由此引发的旧任务灾难性遗忘问题。把一篇论文的方法迁移到另一个框架下复现,对两者的熟悉程度都要求较高。

参考资料

  • “LoRA Subtraction for Drift-Resistant Space in Exemplar-Free Continual Learning” (CVPR 2025)
  • Kirkpatrick et al., “Overcoming Catastrophic Forgetting in Neural Networks” (EWC)
0%