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

Data-Centric AI

以数据为中心的 AI 通过系统性地修正训练数据中的标签、覆盖范围和质量来改进模型,同时保持模型架构不变。

以数据为中心的 AI,是通过系统地改进数据来提升 AI 系统的实践,改进内容包括标签一致性、对真实条件的覆盖、类别平衡和数据清洁度,同时基本保持模型和训练代码不变。Andrew Ng 于 2021 年推广了这一术语,并指出卷积神经网络和 Transformer 等架构已经足够成熟,大多数应用从改进数据中获得的收益,比从改进模型中获得的收益更多。与之相反,以模型为中心的 AI 会固定基准数据集,不断迭代架构、损失函数和超参数调优,大多数学术排行榜都采用这种方式。

Ng 最著名的例子来自钢板检测:一个缺陷检测器的准确率停滞在 76.2%,以模型为中心的改进毫无效果,而修正不一致的标签后,准确率升至 93.1%。同年晚些时候,DeepLearning.AI 和 Landing AI 举办了以数据为中心的 AI 竞赛,固定模型,只允许参赛者改进一个带噪声的手写罗马数字图像分类数据集,该数据集最多包含 10,000 张图像。

核心实践#

  • 一致的数据标注:标注人员遵循针对模糊情况制定的书面规则,例如边界框是否应包含汽车的后视镜,或如何标注被遮挡一半的人物。如果两位标注人员对这些情况的处理方式不同,就会产生模型无法克服的标签噪声。
  • 发现标签错误:模型与现有标签不一致的地方,可能存在错误。Northcutt、Athalye 和 Mueller 在 2021 年的一项研究中发现,在 10 个常用数据集中,测试样例的标签错误平均至少占 3.3%;在 ImageNet 验证集中,这一比例至少为 6%。
  • 有针对性地收集数据和使用合成数据:按类别、场景、光照或物体尺寸进行误差分析,可以找出模型的失败之处;专门针对这些数据切片补充样本,比随机添加样本更有帮助。
  • 数据清洗:删除损坏的文件、无关图像和重复图像,尤其是同时出现在训练集和测试集中的近似重复图像。
  • 数据增强:扩大模型所见的光照、尺度和视角范围,而无需采集新图像。

不同数据集划分中出现重复项会造成数据泄漏,从而抬高测试得分;类别不平衡则可能让模型取得较高的准确率,却漏掉关键的稀有类别,例如缺陷零件数量很少的制造缺陷检测。在医学图像分析中,数据集规模小且专家标注成本高,因此一致且经过审核的标签比数据量更重要。

以数据为中心的循环#

以数据为中心的团队会固定模型,使用混淆矩阵等工具研究模型错误,并据此调整数据。首次微调与迭代循环课程便会将 YOLO26 模型表现最差的类别转化为下一项数据集改进工作:

此示例会污染 scikit-learn 手写数字数据集中 20% 的标签,标记折外预测与标签不一致的样本,并在排除这些样本后重新训练同一个模型:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_predict, train_test_split

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# Replace 20% of the training labels with random digits to mimic annotation errors
rng = np.random.default_rng(0)
noisy = y_train.copy()
flip = rng.random(len(noisy)) < 0.2
noisy[flip] = rng.integers(0, 10, flip.sum())
wrong = noisy != y_train  # some random digits match the true label

# The model stays fixed; only the training data changes
model = LogisticRegression(max_iter=5000)
print(f"noisy labels: {model.fit(X_train, noisy).score(X_test, y_test):.1%} test accuracy")

# Flag examples whose out-of-fold prediction disagrees with their label, then drop them
keep = cross_val_predict(model, X_train, noisy, cv=5) == noisy
print(f"flagged {(~keep).sum()} examples, {(~keep & wrong).sum()} of {wrong.sum()} wrong labels")
print(f"cleaned labels: {model.fit(X_train[keep], noisy[keep]).score(X_test, y_test):.1%} test accuracy")

模型没有变化,测试准确率便从 87.0% 提升到 94.1%。筛选器标记了 354 个样本:213 个错误标签中有 211 个被标出,此外还有 143 个正确但不寻常的样本,因此清理后的数据集在几乎清除所有错误的同时,也丢失了一些有效样本。

要比较数据变更,必须确切知道每个模型使用了哪些数据进行训练。Ultralytics Platform 会保存不可变的数据集版本:云端训练中的“保存数据集版本”选项会将每个模型关联到其训练所用的快照;“比较版本”会列出两个快照之间发生变化的图像、标注和类别;数据集的“模型”选项卡则会在每个模型旁列出其数据集版本以及 mAP50-95 等关键指标。

  • 主动学习:决定接下来应该标注哪些未标注样本,通常优先选择模型最没把握的样本。这是以数据为中心的 AI 中的一种技术。
  • 数据飞轮:已部署模型的输入和错误转化为新训练数据的生产循环,因此每次发布都会重复以数据为中心的工作。
  • 机器学习运维(MLOps):对模型进行版本管理、训练、部署和监控的工程实践,使数据变更可复现、可比较。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

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