概述
灾难性遗忘是一种常见的失败,学习新任务会降低早期的表现。
深入探讨
EWC 使用基于 Fisher 信息的正则化器来阻止对先前任务重要的参数进行更改。 GEM 使用情景示例来约束梯度更新;它的保证涉及先前任务损失的局部线性近似,因此实际的有限更新仍然可以改变性能。 iCaRL 存储样本,通过聚集程序选择代表,并使用每类平均特征进行分类。重放方法重新审视保留的示例;这些方法具有不同的内存、隐私和计算权衡。稳定性与可塑性的权衡描述了保持记忆与学习新任务之间的平衡。
现实世界的实施
每次更新后评估新旧任务。
在数据政策允许的情况下使用重播示例。
将 EWC 等正则化方法与微调进行比较。
记录任务顺序和内存预算。
持续学习和灾难性遗忘的未来
持续学习的结果取决于任务序列、模型、数据访问和评估协议。报告新任务学习和旧任务保留。
付诸实践
为什么这很重要
- 更清晰的判决. 它可以帮助您将清晰的技术声明与营销语言分开。
- 成本与预算. 在花费金钱或时间之前,您可以提出更好的实施问题。
- 团队与工作流程. 具有共同理解的团队可以做出更好的产品、政策和学习决策。
留意
- 不同的团队可能会以不同的方式使用同一术语,因此请尽早定义范围。
- 基准测试可能看起来很强大,但实际性能却参差不齐。
- 忽视数据质量和评估计划通常会产生脆弱的结果。
后续步骤
- 从您需要的结果的简单语言定义开始。
- 在测试之前选择一种成功指标和一种失败条件。
- 使用代表性数据运行小型试点,而不是完善的演示集。
- 记录持续学习和灾难性遗忘在哪些方面有帮助,以及哪些更简单的方法更好。
不断探索
常见问题
什么是持续学习和灾难性遗忘?
持续学习通过一系列任务或数据流更新模型,同时尝试保留有用的先前功能。灾难性遗忘是一种常见的失败,学习新任务会降低早期的表现。
什么是“灾难性遗忘”?
灾难性遗忘是指当网络的共享权重在学习新东西时被覆盖时,旧任务性能的急剧下降。
弹性权重合并 (EWC) 有什么作用?
EWC 添加了惩罚(使用 Fisher 信息),锚定对旧任务重要的权重,从而减少遗忘。
基于重放的方法如何对抗遗忘?
重播将过去的示例混合到新的批次中,因此梯度反映了新旧任务,近似原始联合数据。
梯度情景记忆(GEM)如何在学习新任务时限制梯度更新?
GEM 项目使用情景记忆损失进行更新,因此局部一阶近似不会增加先前任务示例的损失。该约束基于局部线性化,并不能保证在每个有限步骤之后实际损失永远不会增加。
为什么对新任务进行天真的微调会导致遗忘?
无约束的梯度更新将共享权重重写为新的最优值,放弃了对先前任务有利的区域。