Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Catastrophic Forgetting

灾难性遗忘是指神经网络在新数据上训练时,突然丧失先前学会的技能。介绍其发生原因、示例和缓解方法。

灾难性遗忘(也称为灾难性干扰)是指神经网络在训练新数据时不再包含旧任务样本,导致先前学会的技能突然丧失。训练会更新存储旧知识的共享模型权重,而新的损失中没有任何项会奖励模型保留旧知识,因此模型在原任务上的准确率可能在几百次更新内骤降。McCloskey 和 Cohen 于 1989 年在依次学习算术事实的网络中描述了这一现象;时至今日,它仍是持续学习的核心障碍,也是微调中常见的风险。

灾难性遗忘为何发生#

神经网络中的知识是分布式的:每个权重都会影响多个输出,而每个输出也依赖多个权重。针对新任务训练时,权重会朝着损失下降最快的方向移动,而没有任何项衡量旧任务的表现,因此模型会逐渐偏离原任务有效的区域。分类会让输出层的这一现象更加明显。如果训练数据中只出现新类别,每一步都会压低缺失类别的分数,直到模型完全不再预测这些类别。先用手写数字 0–4、再用数字 5–9 训练一个小型网络,可以展示这一现象,也能说明重放少量旧数据如何减轻遗忘:

import torch
from sklearn.datasets import load_digits

torch.manual_seed(0)
X, y = load_digits(return_X_y=True)
X, y = torch.tensor(X / 16, dtype=torch.float32), torch.tensor(y)
train = torch.arange(len(y)) < 1400  # hold out the last 397 images for testing
task_a, task_b, test_a = train & (y < 5), train & (y >= 5), ~train & (y < 5)
replay = task_a & (torch.rand(len(y)) < 0.1)  # keep 10% of task A for replay

for name, second_task in [("task B only", task_b), ("task B + 10% replay", task_b | replay)]:
    model = torch.nn.Sequential(torch.nn.Linear(64, 64), torch.nn.ReLU(), torch.nn.Linear(64, 10))
    optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
    # Train on digits 0-4 (task A), then on digits 5-9 (task B)
    for mask in (task_a, second_task):
        for _ in range(200):
            loss = torch.nn.functional.cross_entropy(model(X[mask]), y[mask])
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()
        accuracy = (model(X[test_a]).argmax(1) == y[test_a]).float().mean()
        print(f"{name}: held-out digits 0-4 accuracy {accuracy:.1%}")

完成任务 A 后,网络能正确分类留出的 198 个数字 0–4 中的 92.4%。仅用数字 5–9 训练后,这一比例降至 0.0%,因为模型现在只预测新类别。第二阶段混入 66 张重放的任务 A 图像后,准确率保持在 74.7%。

实践中的灾难性遗忘#

  • 持续学习:研究如何在学习一系列任务时不遗忘先前任务的研究领域。灾难性遗忘正是它要解决的问题。
  • 模型崩溃:模型使用早期模型生成的数据进行训练时,质量和多样性逐渐下降,即使任务相同也会如此。
  • 过拟合:过度拟合当前训练数据中的噪声,导致模型在同一任务的新数据上表现下降。遗忘则是丧失先前任务的能力。
  • 机器遗忘:有意从训练好的模型中移除特定数据或知识,是遗忘的主动对应形式。
  • 稳定性—可塑性困境:保持旧知识稳定与保留足够可塑性以学习新任务之间的权衡,每种缓解方法对此都有不同的取舍。

如何减少灾难性遗忘#

缓解方法分为三类:重放、正则化和参数隔离;项目的具体限制通常决定适用哪一种:

  • 重放:将先前任务的存储样本混入新一轮训练,是最可靠的解决方法,数字示例也说明了这一点。对于 YOLO26检测器,Ultralytics 数据 YAML 文件支持列出多个训练图像文件夹,因此重放就是在同一个合并类别列表下,把一部分原始图像目录和新图像目录一起列出。
  • 正则化:弹性权重巩固(EWC)根据每个权重对先前任务的重要性来惩罚权重变化,该重要性通过 Fisher 信息估计。Learning without Forgetting则采用知识蒸馏,训练模型在新数据上继续匹配其旧输出。
  • 参数隔离:冻结共享层、添加任务专属的头部,或训练 LoRA等适配器,都能让原始权重保持不变。在编程和数学任务中,LoRA 的学习效果不如完整微调,但遗忘也更少;而完整微调学到的权重变化,其秩比典型 LoRA 配置高出 10 到 100 倍。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来