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

Data Drift

数据漂移是指生产环境中的输入数据偏离训练数据分布,导致准确率下降。介绍漂移类型、统计检验和重新训练。

数据漂移是指已部署模型接收的输入数据统计分布相对于训练数据发生变化。模型假设生产环境输入与其训练数据来自相同分布;一旦这一假设不再成立,准确率就可能下降,且没有任何错误消息,模型代码或权重也可能完全没有变化。视觉系统中的常见原因包括更换摄像头或镜头、光照和季节变化、摄像头角度移动、新产品包装,以及上游流程变化(例如采用不同的图像压缩设置)。检测并应对漂移是模型监控和机器学习运维 (MLOps)的核心任务。

分布偏移的类型#

分类器会对给定输入的标签概率进行建模;偏移可能出现在输入、标签或两者之间的关系中:

  • 协变量偏移:输入分布发生变化,但任意给定输入的正确标签保持不变。一个使用白天图像训练的检测器开始接收黄昏时段的录像,就会遇到协变量偏移,因为汽车依然是汽车。狭义上的数据漂移指的就是这种情况。
  • 标签偏移:也称先验概率偏移,指类别频率发生变化。如果生产线的缺陷率从 1% 上升到 5%,检测器报警中真实缺陷所占比例也会随之上升,因此其精确率会发生变化,即使模型本身和每种缺陷的外观都没有改变。
  • 概念漂移:输入与标签之间的关系发生变化,因此相同输入现在应对应不同标签。欺诈者会不断调整策略,导致欺诈模式发生变化;质量标准收紧后,过去合格的零件也会变成不合格品。

漂移可能是突发的,例如更换摄像头;也可能是渐进的,例如镜头逐渐积灰;还可能是周期性的,例如树叶和积雪随季节变化。

检测数据漂移#

漂移检测会将参考样本(通常是训练数据或验证数据)与近期生产数据窗口进行比较。没有标签时,团队会检验这两个输入分布是否存在差异:连续特征使用双样本柯尔莫哥洛夫-斯米尔诺夫(KS)检验,类别特征使用卡方检验,或者使用信用评分中常见的总体稳定性指数(PSI)。原始像素的维度太高维,无法直接比较,因此图像监测会检查亮度和锐度等汇总统计量,或预训练网络的嵌入;一项关于分布偏移检测方法的研究发现,对预训练分类器的表征进行双样本检验效果最佳。模型自身的输出是另一项信号:预测类别频率、每张图像的边界框数量或置信度分数的变化,往往会在准确率得到测量之前就显现。

import numpy as np
from scipy.stats import ks_2samp

rng = np.random.default_rng(0)

# Mean brightness (0-255) of 500 training images and two batches of 200 production images
reference = rng.normal(130, 25, 500)
same_light = rng.normal(130, 25, 200)
dusk = rng.normal(110, 25, 200)

# Two-sample Kolmogorov-Smirnov test: a small p-value means the distributions differ
for name, batch in (("same light", same_light), ("dusk", dusk)):
    result = ks_2samp(reference, batch)
    drifted = result.pvalue < 0.01
    print(f"{name}: KS statistic {result.statistic:.3f}, p-value {result.pvalue:.2g}, drift {drifted}")

从训练分布中抽取的批次,其 KS 统计量为 0.046,p 值为 0.91;平均亮度下降 20 个等级的批次,其 KS 统计量为 0.346,p 值为 1.1e-15,因此会触发告警。KS 统计量是两个累积分布之间的最大差距;样本量非常大时,即使无害的偏移也会得到极小的 p 值,因此漂移告警通常直接基于 KS 统计量设置,因为它衡量的是偏移幅度,而不只是 p 值。

应对漂移#

只有新鲜标签才能表明检测到的偏移是否降低了准确率。标准应对方法是抽取近期生产数据样本,为其添加标签,并测量其平均精度均值 (mAP)或其他任务指标;如果性能下降,就使用新数据和原始数据的混合数据重新训练或微调,并保留旧样本,以避免灾难性遗忘。亮度、模糊和颜色变化等数据增强可以让模型适应可预期的变化;无监督域自适应则利用无标签目标数据使模型适应新领域。在 Ultralytics Platform 中,专用端点的监控选项卡会绘制其处理图像的平均预测置信度随时间变化的曲线,以及类别计数、框的尺寸和位置;近期样例可以保存到数据集中,以供审核和重新训练。

  • 模型漂移:模型性能随时间下降,这是数据漂移和概念漂移造成的影响。也称为模型衰退。
  • 训练-服务偏差:由两个流程中的处理方式不同造成的训练数据与生产数据之间的不匹配,例如采用不同的缩放方法。这种偏差从部署第一天起就存在,而不是随着时间推移逐渐形成。
  • 异常检测:标记偏离常态的单个输入,例如一帧损坏的视频。漂移检测则比较整个分布,并标记一周内图像都均匀变暗的情况。
  • 分布外 (OOD) 检测:对每个输入进行评分,判断它与训练数据有多不同,通常是为了让模型在该输入上弃权或转交人工处理。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

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

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