了解持续学习如何使人工智能在不遗忘旧技能的前提下习得新技能。探索关键策略,并为边缘人工智能更新Ultralytics 模型。
持续学习(CL),常被称为终身学习,指人工智能模型在随时间推移逐步学习新任务或获取新知识时,能够避免遗忘先前所学信息的能力。与传统机器学习管道(模型仅在静态数据集上训练一次后便部署)不同,持续学习模拟了人类适应新环境并从新经验中持续学习的能力。 该领域的主要挑战在于克服灾难性遗忘现象——当神经网络接受新数据训练时,其针对旧任务优化的权重会被覆盖,导致在旧任务上的性能急剧下降。
在动态的真实世界环境中,数据分布极少保持静态。例如,自动驾驶车辆的视觉感知系统必须适应季节更替、新交通法规或城市布局变化,同时不能丧失对初始训练中学习的基本道路标志的识别能力。传统上基于累积数据集从头开始的重新训练,往往因存储限制或隐私问题而计算成本高昂且难以实施。 持续学习通过允许模型增量更新来解决这些问题,使其在资源受限的边缘AI应用中更具效率和可扩展性。
为缓解灾难性遗忘问题,研究人员采用了多种策略。 正则化方法通过在损失函数中添加约束条件, 防止先前任务中识别出的重要权重发生显著变化。 回放方法则存储少量历史数据子集 (或利用生成式AI生成合成样本), 并在训练过程中将其与新数据混合处理。 最后,参数隔离技术将模型参数划分为不同子集分配给各任务,确保新任务的更新不会干扰先前任务优化的参数。2024至2025年的最新进展聚焦于运用视觉语言模型,以更精准区分通用特征与任务特异性特征。
区分持续学习与迁移学习至关重要。在迁移学习中,预训练模型作为解决新特定任务的起点,其在原始任务上的表现通常无关紧要。 其目标在于最大化目标领域的表现。相较之下,持续学习旨在同时在新任务及所有历史任务中保持优异表现。同样地,主动学习侧重于筛选最具信息价值的数据点进行标注训练,而持续学习则聚焦于模型随时间推移的自我更新过程。
虽然真正的持续学习需要专门的架构调整,但用户可通过在混合了缓冲区旧数据的新数据上微调模型来模拟此工作流。Ultralytics 简化了这些数据集的管理和模型版本控制。以下是使用Python 更新模型的示例方法:
from ultralytics import YOLO
# Load a model previously trained on 'dataset_v1.yaml'
model = YOLO("yolo26n-v1.pt")
# Train the model on a new dataset containing new and old samples
# This helps mitigate catastrophic forgetting by "replaying" old data
results = model.train(
data="dataset_v2_combined.yaml",
epochs=50,
imgsz=640,
lr0=0.001, # Lower learning rate for fine-tuning
)
尽管取得进展,持续学习仍是活跃的研究领域。确定最佳的可塑性与稳定性平衡点——即在学习新事物(可塑性)与保留旧知识(稳定性)之间取得平衡——仍具挑战性。 此外,评估这些系统需要兼顾前向迁移(新任务学习速度)与后向迁移(对旧任务的影响)的稳健性能指标。随着基础模型规模不断扩大,低秩适应(LoRA)等高效持续适应方法正成为定制大规模系统而不需完全重新训练的关键手段。