持续学习(Continual Learning)
AI TERM术语词条Continual Learning
术语释义
研究让模型在接连到来的新数据上不断学习、同时不遗忘旧知识的方法,核心是缓解新任务训练导致的灾难性遗忘。
持续学习(Continual Learning)研究的是让模型在依次到来的新数据上不断学习,同时尽量不丢失已经掌握的能力。常规做法是在新数据上继续更新参数,但参数一旦被新任务改写,旧任务的表现往往明显下滑,这种现象被称为灾难性遗忘。持续学习正是为缓解这一矛盾而发展出的一类方法。
主要技术路线
- 正则约束:对旧任务重要的参数加大更新惩罚,让新学习尽量绕开关键权重
- 回放重演:保存或生成少量旧样本,与新数据混合训练以维持旧能力
- 参数隔离:为不同任务分配不同的参数子集或模块,减少相互干扰
- 动态扩展:随任务增加新容量,把新知识放进新增部分而不覆盖原有部分
- 提示与适配器:冻结主干网络,只训练轻量附加模块,用极小的改动承载新任务
落地难点
困难主要来自两方面:一是真实场景中旧数据往往无法长期保留,回放类方法受到限制;二是新旧能力常常存在此消彼长,压住遗忘就可能牺牲新任务的适应速度。加上任务边界未必清晰、分布还会缓慢漂移,实际系统通常需要结合监控与定期全量重训作为兜底。此外,遗忘未必全是坏事:已经过时的信息长期占据参数,同样会干扰当前任务的表现。
与相邻概念的区别
- 与微调:微调只关心新任务表现,持续学习额外约束旧能力不发生明显退化
- 与多任务学习:多任务学习同时看到全部数据,持续学习的数据是按顺序分批到达的
- 与检索增强:把新知识放进外部索引可以绕开改参数,但要额外解决检索质量与时效
- 与在线学习:在线学习强调实时适应,持续学习更关注长期容量与遗忘之间的平衡
什么时候真的需要它
并非所有模型更新都要动用持续学习。判断的标准可以看三条:新数据是否持续、小批量地到来,而不是偶尔一次大规模补充;旧能力是否仍有业务价值,不能被新版本直接取代;以及是否有条件做完整重训。若新数据只是零星出现,或旧能力已经过期,直接重训或替换模型更简单可靠。持续学习真正发挥作用的场合,通常是更新频繁、数据不能集中留存、且回退成本很高的在线系统。
实践要点
- 建立回归集:为每个已上线任务保留评测样本,更新后逐项对比,及早发现退化
- 保留少量旧数据:即便不能长期存档,也要争取保留有代表性的子集用于混合训练
- 控制更新幅度:用较小学习率与适配模块承载新知识,比整体重训更可控
- 版本可回滚:更新流程要能快速切回上一版本,避免一次退化直接影响线上
常见误区
- 以为遗忘只在极端场景出现:只要参数被更新,旧能力的轻微退化几乎必然发生
- 把回放当万能解:旧数据不可得时回放无从谈起,需要提前设计替代方案
- 忽略数据顺序:训练样本的先后顺序会显著影响结果,顺序本身也是要管理的变量
- 只盯模型指标:上游数据质量与标注口径的变化,常被误判成模型遗忘