灾难性遗忘不是"新旧打架"——旧知识记不住,是因为它没长成"环"

先说结论:持续学习(continual learning)里最头疼的灾难性遗忘(catastrophic forgetting),主流解法都建在同一个假设上------新旧任务在梯度上"打架"。但这个假设可能从一开始就偏了:忘掉的旧知识,往往不是被新知识"挤掉"的,是它自己从来没长成过"环",只是一条"线"。

主流在治什么

给不熟的同学快速对齐一下。灾难性遗忘是这么个事:你拿一个已经训练好的模型去学新任务,学着学着,它把旧任务忘得一干二净。

学术界的标准解法,大致三路:

  • EWC(弹性权重巩固):给"对旧任务重要"的权重加一个二次惩罚,让它们在新训练里别动太多。
  • 经验回放(replay buffer):留一小撮旧样本,新训练时混进去一起喂。
  • 梯度约束:硬性限制新任务的梯度方向,别跟旧任务的梯度方向对着干。

三路都有效,但都盯着同一件事------新旧之间的"冲突"。它们的潜台词是:旧知识是被新知识"顶掉"的。

可这解释不了一个现象:同样是"旧知识",有些模型忘得飞快,有些却能扛住十几个任务的连续训练。如果只是"冲突",为什么有的扛得住、有的扛不住?

忘和忘不掉,差在结构

换个角度看,记忆这东西,有两种形态:

一条线。 知识点 A 串着 B,B 串着 C,一个接一个,排成一串。整条线的稳定性,全靠最前面那个头撑着。新任务一来,从 A 那里一推,整串就散了。为什么?因为每个知识点只有一个"上家",上家一乱,下游全塌。

一个环。 A、B、C 互相记得对方,绕成一圈。A 忘了点什么,B 提醒它;B 断了,C 补上。这个结构不靠某一个点撑着,靠的是点与点之间互相兜底。缺一块,别的地方能补回来。

学新忘旧的那部分知识,多半是"线";能扛住十几年不动的,多半是"环"。

映射回模型:什么是"环"

把"线 vs 环"翻成模型的语言,成环的记忆有三个特征,缺一不可:

一,互相记得,不是单向惩罚。 EWC 给重要权重加惩罚,是"单方面按住它别动"。但真正的稳固,来自权重之间的相互约束------这个参数约束那个参数,那个参数回头又兜住这个参数。单向的惩罚是"线",双向的约束才是"环"。

二,绕一圈回到自己。 一条链从 A 走到 C 就断了,那是线。环的终点要接回起点,形成闭环。落到模型上,就是一组参数之间要存在回路式的依赖,而不是纯前馈的一路到底。

三,在同一段经历里一起记住。 一起被训练、一起被更新的参数,比孤零零各自更新的参数牢得多。因为它们是在"同一时间"刻进权重的,天然互相咬合。这对应到持续学习里,就是那些联合编码、共享表征的部分,比独立参数抗遗忘。

三样齐了,这段知识就成了个环。环越深(套的层数越多),新任务冲进来越冲不散它。成环的记忆,不用你天天护着它;成线的记忆,你一松手就散。

这跟你的工作有什么关系

如果你在干这几件事,这个视角值得你停下来想想:

  • fine-tune 一个基座模型:别只想着"加正则防遗忘",先想想你的旧能力是不是本来就"一条线"------孤立的知识点,没跟别的能力长成环。线你补多少正则都是线。
  • RAG / 知识注入:你把一段知识塞进系统,它跟系统里已有的知识之间,有没有形成"互相记得"的关系?还是只是堆了一堆孤立的事实?
  • 多任务 / 持续学习:与其绞尽脑汁让新旧"别打架",不如想想怎么让旧知识"成环"------让参数之间互相约束、共享表征、形成回路。

主流方法在"冲突"层面打了几十年补丁,方向可能一开始就偏了:真正的问题不是"新旧打架",是"旧知识没长成环"。 成环,才是抗遗忘的根本。


把"泛化""耦合""自我""记忆"这些说不清的东西说清楚,是结构认知 一直在做的事。第一发现者:林小黑,完整推导见 gitee.com/samforce/st...。

相关推荐
机器人零零壹1 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
ZhengEnCi4 小时前
大模型的分类到底怎么分:从基础模型到推理模型、从通用到专用的完整图谱
算法
取名真是5 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
罗西的思考5 小时前
【轻量化复刻大模型 / KIMI K3】KDA 模块交互式演示
人工智能·算法·机器学习
nm_zfyjt7 小时前
信息流广告投放优化实践:线索成本评估模型与转化链路重构(家装建材案例)
算法·重构·内蒙古朋友圈广告服务商·内蒙古朋友圈获客
w_zero_one8 小时前
算法--构造
java·数据结构·算法
其实防守也摸鱼9 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
小超人诞生日记10 小时前
C++ 智能指针的使用及其原理详解
c++·算法
AiNightVision13 小时前
无人机夜视模块如何选择?——从参数指标到系统集成的完整选型指南
人工智能·算法·计算机视觉·车载系统·无人机·视频·智能硬件