返回 Ultralytics 术语表
Catastrophic Forgetting
了解如何防止神经网络发生灾难性遗忘。探索训练 Ultralytics YOLO 模型时经过验证的缓解策略。
灾难性遗忘通常也称为灾难性干扰,是机器学习领域广泛研究的一种现象,指人工神经网络在学习新任务时突然丢失之前学到的信息。当模型接受顺序训练以适应新数据集时,使用反向传播的优化算法会更新模型权重。这一过程往往会无意中覆盖早期任务所需的数学表示。因此,如果一个针对原始用途高度优化的 AI 系统只使用新数据进行训练而没有采取专门的缓解措施,它在最初任务上的性能可能会严重下降。
灾难性遗忘为何发生#
在深度学习中,模型的知识分散存储在相互连接的神经元网络中。在微调期间,随机梯度下降等优化函数会调整这些连接,以最小化新数据上的误差。如果新的训练数据集不包含原始类别的示例,优化过程就会将权重向新的数据分布偏移,从而有效抹去旧分布的“记忆”。近期关于结构偏移的研究表明,这种内部崩溃从根本上限制了现代神经网络开箱即用地实现类似人类的终身学习的能力。
区分相关概念#
将灾难性遗忘与其他 AI 概念进行对比至关重要:
- **灾难性遗忘与模型坍塌:**遗忘是由于逐步学习新任务而发生的,而模型坍塌则是模型反复使用其他 AI 模型生成的合成数据进行训练时,在同一任务上的性能逐渐下降。
- **灾难性遗忘与持续学习:**持续学习是一种旨在解决灾难性遗忘的总体研究方法。持续学习算法试图让模型按顺序获取新知识,同时避免遗忘。
现实世界中的示例#
灾难性遗忘给运行于各种动态现实环境中的 AI 领域带来了重大挑战:
- **自主系统:**在自动驾驶车辆的感知流程中,一个最初经过训练、用于识别行人和标准交通标志的计算机视觉系统,可能会经过微调以识别新的区域特定施工标志。如果没有防护措施,该系统可能会突然难以可靠地检测行人,从而造成严重的安全风险。
- **语言与认知 AI:**在针对特定领域的任务(例如医学诊断)定制大型语言模型时,模型可能会遗忘其对话对齐能力或通用推理技能。近期一项关于 LLM 的比较分析显示,在高度专业化的文本上进行标准微调,往往会削弱原有的安全对齐,导致模型失去其主要的指令遵循能力。
克服灾难性遗忘#
AI 工程师采用多种策略来缓解这一问题,并维持最佳的可塑性-稳定性困境平衡:
- **数据集回放与合并:**最可靠的方法是将一部分原始训练数据与新数据混合。Ultralytics 平台等工具可简化组合数据集的管理和版本控制,确保训练期间能够有效回放原始类别。
- **弹性权重固化(EWC):**这种正则化技术会限制对旧任务至关重要的参数的更新。通过识别并保留这些关键权重,模型可以减少遗忘,正如近期关于克服网络遗忘的实验所强调的那样。
- 参数高效微调(PEFT):低秩适配(LoRA)等方法会冻结核心预训练权重,并将小型可训练矩阵注入网络,从而防止基础知识被覆盖。
- **冻结层:**在较短的训练过程中,冻结骨干网络和颈部层可以确保核心特征提取器保持完整。
- **无梯度优化:**近期出现的新型框架表明,在梯度更新受到限制的环境中,基于前向传播的方法也能高效缓解遗忘。
视觉 AI 中的实现示例#
在为新的目标检测任务调整Ultralytics YOLO时,冻结层是一种有效且易于使用的方法。下面的示例演示了如何在新数据集上训练Ultralytics YOLO26模型,同时冻结最初的 10 层,以防止灾难性遗忘。
from ultralytics import YOLO
# Load a pretrained Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a combined dataset while freezing core backbone layers
# The 'freeze=10' argument prevents catastrophic forgetting of foundational visual features
results = model.train(data="combined_dataset.yaml", epochs=20, freeze=10, lr0=0.001)
# Evaluate the model to ensure it retains performance on old and new tasks
metrics = model.val()





