Catastrophic Forgetting (災難性遺忘)
Catastrophic Forgetting(災難性遺忘)是指模型在學習新任務或新資料後,
先前學到的知識明顯退化甚至被覆蓋的現象。
此現象在 continual learning、lifelong learning、sequential fine-tuning 特別常見。
一句話版本
Catastrophic Forgetting 是模型在學新東西時,把原本會的舊能力系統性忘掉。
直覺示例(Task A -> Task B)
假設模型先學任務 A,再學任務 B:
- 學完 A:A 表現很好
- 再訓練 B:B 變好
- 但 A 的準確率大幅下降
這就是 catastrophic forgetting。
為什麼會發生
神經網路參數通常是共享的。
當新資料持續更新權重時,原本支撐舊任務的表示可能被改寫。
常見原因:
- 分布轉移:新舊資料分布不同
- 序列式訓練:只看新資料,缺少舊資料回顧
- 參數共享:同一組權重承載多任務知識
- 容量有限:模型無法穩定保存所有任務表示
典型情境
1) Continual Learning
模型依序學 Task A -> Task B -> Task C,
新任務進來後,舊任務表現持續下降。
2) Fine-Tuning (微調) LLM / Encoder
模型原本具備通用能力,若對特定資料過度 fine-tune,可能出現:
- 通用能力下降
- domain 外表現變差
- 原有格式與知識穩定性降低
3) 多階段訓練
例如 general pretraining -> domain adaptation -> instruction tuning。
若後段訓練過強,前段能力可能被沖淡。
和一般「忘記」的差異
這不是一般小幅效能波動,而是:
- 下降幅度明顯
- 常發生於學新任務之後
- 舊知識被新知識系統性干擾
因此稱為 catastrophic。
常見解法
1) Replay / Rehearsal
訓練新任務時混入舊任務樣本:
- 直覺且通常有效
- 代價是需保存舊資料(或摘要)
2) Regularization-based Methods
限制重要參數不要被大幅修改。
常見代表:
- EWC(Elastic Weight Consolidation)
- SI(Synaptic Intelligence)
核心想法:
對舊任務重要的權重,在更新時施加更大懲罰。
3) Parameter Isolation
為不同任務配置不同參數子空間,例如:
- LoRA
- Adapter
- task-specific head
- progressive network
優點:降低互相覆蓋。
缺點:模型可能逐步膨脹。
4) Distillation
使用舊模型作為 teacher,要求新模型保留舊輸出分布。
5) External Memory / Retrieval
不把所有新知識硬寫進參數,而是交給外部系統:
- 外部記憶體
- 向量資料庫
- RAG, Retrieval-Augmented Generation / retrieval system
這也是降低 forgetting 的常見工程路線。
Continual Learning 方法對照表
| 方法 | 核心想法 | 優點 | 限制 | 適用情境 |
|---|---|---|---|---|
| Replay / Rehearsal | 新任務訓練時混入舊樣本 | 通常有效、實作直觀 | 需要保存舊資料或摘要 | 任務序列穩定、可保存歷史資料 |
| EWC | 對重要參數加更新懲罰 | 能保護舊任務關鍵權重 | 重要度估計成本、超參敏感 | 任務數中等、需保守更新 |
| SI | 累積參數重要度後施加約束 | 不依賴完整二階資訊 | 仍需權重重要度估計 | 持續任務流訓練 |
| LoRA / Adapter | 把更新限制在輕量模組 | 降低覆寫主幹參數風險 | 仍可能有能力偏移 | LLM 快速增量微調 |
| RAG / External Retrieval | 知識外置,不強依賴參數內化 | 對原模型能力干擾較小 | 依賴檢索品質與資料治理 | 頻繁知識更新、追求穩定保留舊能力 |
在 LLM / RAG 脈絡下的取捨
純 Fine-tune
把新知識直接寫進模型參數,可能造成:
- 舊知識退化
- 通用能力下降
- 格式與風格偏移
RAG 路線
把新知識放在外部檢索系統,模型本體少改或不改。
此做法通常較不易觸發 catastrophic forgetting,
因為知識主要由外部文件承載,而非直接覆寫模型參數。
常見策略:
- 需要穩定保留原能力 -> 優先 RAG
- 需要模型內化新行為或格式 -> 優先 fine-tuning
- 兩者混合 -> 實務上最常見