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

Online Learning

在线学习会随着数据流入,逐个样本或小批次地更新模型,因此模型能够持续学习并跟上概念漂移,而无需重新训练。

在线学习是一种机器学习模式,模型会从依次到达的数据中学习,并在每个样本或小批次后更新,而不是只在固定数据集上训练一次。每一步中,模型都会先进行预测、接收真实结果、计算损失,并在下一个样本到达前调整参数。这种方法适合处理连续到达的数据(例如点击、交易或传感器读数)、无法全部存储的大规模数据,以及随时间变化的关系。与之相反,批量学习或离线学习会一次性使用全部训练数据进行训练,并保持模型不变,直到再次训练。

在线学习的工作原理#

Frank Rosenblatt 于 1958 年提出的感知机就是一种在线学习器,它会在每个分类错误的样本后微调权重;随机梯度下降 (SGD)则将相同的逐样本或逐批次更新方式应用于几乎所有可微分模型。其他算法专为数据流设计:Pedro Domingos 和 Geoff Hulten 于 2000 年提出的 Hoeffding 树会在仅查看每个样本一次的情况下,从数据流中逐步构建决策树;而 River 等库则实现了常见模型的流式版本。在 scikit-learn 中,具有 partial_fit 方法的估算器可以增量学习。

在线学习器通常采用序贯预测方式进行评估;这个术语由统计学家 Philip Dawid 提出:每个新样本先用于测试模型,再用于训练模型,因此累计得分是根据模型尚未见过的数据计算的。理论上,在线学习器的评价指标是遗憾值,即其累计损失与事后选出的最佳固定模型的累计损失之间的差距。Martin Zinkevich 于 2003 年证明,在线梯度下降的遗憾值仅随步数的平方根增长,因此每步的平均差距会逐渐趋近于零。

以下示例将 400 个小批次流式输入使用 SGD 训练的逻辑回归模型。进行到一半时,标签分配规则发生变化;此时冻结的一份模型副本代表停止学习的模型:

import copy

import numpy as np
from sklearn.linear_model import SGDClassifier

rng = np.random.default_rng(0)
online = SGDClassifier(loss="log_loss", random_state=0)
scores = {"frozen": [], "online": []}

for step in range(400):  # 400 mini-batches of 20 examples arrive one at a time
    X = rng.normal(size=(20, 2))
    w = [1.0, 1.0] if step < 200 else [1.0, -1.0]  # the labeling rule changes at step 200
    y = (X @ np.array(w) > 0).astype(int)
    if step == 200:
        frozen = copy.deepcopy(online)  # a copy that stops learning when the rule changes
    if step >= 200:  # test on each new batch before learning from it
        scores["frozen"].append(frozen.score(X, y))
        scores["online"].append(online.score(X, y))
    online.partial_fit(X, y, classes=[0, 1])

for name, acc in scores.items():
    print(f"{name}: {np.mean(acc):.2f} accuracy after the change")

规则变化后,冻结模型的得分为 0.47,与随机猜测相比没有优势;在线模型的平均得分则为 0.98。在线模型在新规则下的第一个批次得分为 0.35,第二个批次为 0.80,再经过几个批次后便恢复了性能。

概念漂移与遗忘#

在线学习的主要动机是概念漂移,即输入与标签之间的关系发生变化,这往往伴随着输入本身出现数据漂移。漂移可能像示例中那样突然发生,也可能逐渐累积,或随季节和一天中的时段反复出现。Albert Bifet 和 Ricard Gavaldà 提出的 ADWIN 等检测器会监测误差流,并在其平均值发生变化时发出信号,从而触发更快的更新或重置。

快速适应需要付出代价。较高的学习率能快速跟上漂移,但也会跟随噪声;而只看到近期数据的网络会覆盖先前学到的内容,这种问题称为灾难性遗忘。将较早的样本存入回放缓冲区,并在每次更新时混入这些样本,是一种常见的解决方法。

在线学习的实际应用#

在标签能于几秒内到达的场景中,在线学习十分常见。广告点击预测是典型案例:Google 于 2013 年介绍了其点击率模型如何使用 FTRL-Proximal 算法,基于流式数据持续训练;推荐系统和欺诈评分也常采用相同方式更新。已部署的视觉模型通常改用批量更新,因为标签到达较晚,而且一次被污染的更新可能降低此后所有预测的质量。因此,团队会结合模型监控,定期使用近期数据和回放数据进行微调,正如模型维护工作流中所示。

视觉系统中也会运行规模较小的在线更新。在 Ultralytics YOLO26 的跟踪模式中,启用 with_reid: True 进行重识别后,默认的 TrackTrack 跟踪器会为每条轨迹保留外观嵌入,并在每次检测匹配后以移动平均方式更新;新嵌入的权重为检测置信度的 5%。这样,每条轨迹的外观表示就能适应姿态和光照的渐变,而 ReID 网络保持不变。

持续学习与在线学习有重叠,但它关注的是新任务到来时如何保留先前任务的知识;在线学习描述的则是更新发生的频率。主动学习会选择哪些样本需要标注,而强化学习也会从交互流中学习,但它依赖的是自身行为带来的奖励,而不是带标签的样本。

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 的未来!

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