持续学习 可视化实验室

用交互式 SVG 呈现灾难性遗忘、EWC、经验回放、知识蒸馏、突触巩固等持续学习核心技术。八个模块,纯原生实现。

zero-deps HTML / CSS / JS + SVG requestAnimationFrame prefers-reduced-motion
MODULE 01

灾难性遗忘 Catastrophic Forgetting

顺序学习多个任务时,新任务的梯度会覆盖旧知识,导致旧任务精度骤降。播放动画观察多任务遗忘曲线,切换“无保护 / 有保护”对比遗忘程度。

forgetting-curves.svg

多任务遗忘曲线

点击“播放”顺序训练 4 个任务。无保护时旧任务精度随新任务训练迅速崩塌至随机水平;开启保护(如回放)后衰减显著放缓。

任务 T1 终态
—
任务 T2 终态
—
任务 T3 终态
—
平均遗忘
—
MODULE 02

EWC 弹性权重巩固

Elastic Weight Consolidation 用 Fisher 信息矩阵估计各参数对旧任务的重要性,对重要参数施加二次惩罚,使新任务解靠近旧任务最优。拖动 λ 观察参数轨迹。

ewc-loss-landscape.svg
旧任务损失盆地 新任务损失盆地 参数轨迹 Fisher 约束

损失函数

EWC 在新任务损失上叠加旧任务的二次正则:L = L_new(θ) + (λ/2) Σ Fᵢ (θᵢ − θ*ᵢ)²其中 Fᵢ 是 Fisher 对角元,θ* 为旧任务最优参数。λ 越大,参数越被“锁”在旧最优附近。

EWC λ
0.0
终点旧任务损失
—
终点新任务损失
—
权衡
—
MODULE 03

经验回放 Experience Replay

Replay Buffer 保存旧任务样本,训练时与新批次混合。ER 随机采样、MER 选最大干扰样本、A-GEM 将梯度投影到不增加旧任务损失的方向。切换策略观察梯度约束差异。

replay-buffer.svg
任务 T1 任务 T2 任务 T3 任务 T4 回放采样

策略说明

ER:从缓冲区均匀采样旧样本混入当前批次。MER:选择会使旧任务损失上升最多的样本优先回放。A-GEM:估计旧任务梯度参考方向,将当前梯度投影到不与其成钝角的半空间。

缓冲区容量
24
已存样本
0
当前任务
T1
策略
ER
MODULE 04

渐进神经网络 Progressive Net

每来一个新任务就添加一列新网络,并通过侧枝连接复用旧列已学特征,旧列参数完全冻结从而零遗忘。点击“添加任务”观察列与侧枝的增长。

progressive-net.svg
前馈连接(可训练) 侧枝连接(可训练) 冻结列

结构

第 k 列的隐藏层通过侧枝接收前面所有列对应隐藏层的输出:h⁽ᵏ⁾ = φ(W⁽ᵏ⁾x + Σ_{j<k} U^{(j→k)} h⁽ʲ⁾)。旧列权重冻结,知识被横向迁移且不会遗忘。

列数
1
可训练参数
—
侧枝连接
0
遗忘
0
MODULE 05

知识蒸馏 Knowledge Distillation

用旧任务教师模型的软目标(soft targets)指导新任务学生模型,迁移暗知识。温度 T 越高,分布越平滑,非正确类的相对信息越显著。拖动温度滑块观察。

distillation-softmax.svg
硬目标 (T=1) 软目标 (高温) 教师 logits

蒸馏损失

L = α · CE(y, s) + (1−α) · T² · KL(softmax(z_t/T) ‖ softmax(z_s/T))高温放大概率分布的尾部,使学生学习到类间相似度等“暗知识”,T² 系数保证梯度量级与温度无关。

温度 T
4
熵 (bits)
—
最大类概率
—
暗知识
—
MODULE 06

突触巩固 Synaptic Consolidation

生物突触巩固的算法化:估计每个参数的重要性,重要参数学习率被压低。散点显示参数重要性 vs 学习新任务后的权重改变量,切换“巩固开关”对比。

synaptic-consolidation.svg
参数点 重要参数(被保护) 趋势曲线

重要性引导的学习率

对参数 i 维护重要性 Ωᵢ(累积权值改变量或 Fisher 近似),更新时 θᵢ ← θᵢ − η · gradᵢ / (1 + Ωᵢ)。Ωᵢ 越大,有效步长越小,重要参数被“巩固”。

巩固强度
1.0
被保护参数
—
平均 |Δw|
—
遗忘量
—
MODULE 07

任务边界检测 Boundary Detection

无监督地检测数据分布偏移:用新颖性信号(特征变化率)发现任务切换点。播放数据流,调整阈值,观察检测器在分布跳变处触发边界标记。

boundary-detection.svg
特征 f₁ 特征 f₂ 新颖性信号 检测到的边界

检测原理

滑动窗口计算特征分布的距离(如 KL 或均值漂移),得到新颖性信号 s(t)。当 s(t) 超过阈值且距上次边界大于最小间隔时,判定为新任务起始。阈值过高漏检,过低误报。

真实边界
3
检测边界
0
漏检
—
误报
—
MODULE 08

评估指标 BWT / FWT / ACC

用准确率矩阵 R[i,j](学完任务 i 后在任务 j 上的精度)评估持续学习。ACC 为末行均值,BWT 度量后向迁移(遗忘),FWT 度量前向迁移。悬停单元格查看数值。

accuracy-matrix.svg

指标定义

ACC = (1/T) Σⱼ R[T,j] BWT = (1/(T−1)) Σ_{j<T} (R[T,j] − R[j,j]) FWT = (1/(T−1)) Σ_{j>1} (R[j−1,j] − R̃ⱼ)BWT<0 表示遗忘,FWT>0 表示前向迁移。

ACC
—
BWT
—
FWT
—
当前方法
—