我们在培训数据中看到的错误类型:如何识别和避免常见的数据错误

啁啾
推特
LinkedIn
分享
脸谱网
fb共享图标

将人工智能开发与传统软件开发进行对比是很有帮助的。在传统软件中,您编写的代码是确定性的(即,每次使用相同的输入运行代码时,您都会收到相同的输出)。但是随着人工智能的发展,最重要的不是代码,而是数据。具体来说,就是数据的标签。

高质量、准确标记的数据对于构建高性能模型至关重要。但低质量的数据并不总是显而易见的。为了说明这一点,让我们从定义什么是训练数据开始。每个数据单元都包含一个文件(图像、文本、音频片段或视频)、文件属性(分配给文件的赋予其意义的标签)和标签属性(包括标签的时间、标签的作者和条件)。

例如,假设我们正在构建一个使用激光雷达数据的模型。激光雷达的工作原理是发送脉冲来捕捉它与目标物体(如汽车或行人)之间的距离。在使用LiDAR时,注释器的一个示例任务可能是围绕一辆汽车绘制一个三维边界框或长方体。该模型的训练数据可能具有一个JSON文件,其中的代码指定:长方体在哪里、它的高度和深度,以及长方体中包含什么(在本例中是一辆汽车)。在这个注释过程中,有许多可能会引入错误。认识到潜在的错误将帮助您创建更完整、更有代表性的数据集。

我们在培训数据中看到的错误类型

三种常见的数据错误

培训数据中的以下错误是注释过程中最常见的三种错误。

1.标签错误

标签错误是开发高质量训练数据时最常见的问题之一。有几种类型的标签错误可能会发生。例如,假设您为数据注释器提供了一个任务:在图像中的奶牛周围绘制边界框。预期的输出是在每头奶牛周围有一个紧密的边界框。以下是在这个任务中可能发生的错误类型:

缺少标签:注释器未在其中一头奶牛周围放置边界框。

不正确的配合:围绕每头奶牛的边界框不够紧,在它们周围留下了不必要的间隙。

对指示的误解:注释器在图像中的所有奶牛周围放置一个边界框,而不是每个奶牛放置一个边界框。

处理遮挡:注释器在部分隐藏的牛的预期大小周围放置一个边界框,而不是仅仅围绕牛的可见部分。

这些类型的错误可能发生在许多类型的项目中。为注释者提供清晰的说明以避免这些场景是非常重要的。

2.不平衡训练数据

你的训练数据的组成是你要仔细考虑的。不平衡的数据集会导致模型性能的偏差。数据不平衡发生在以下情况:

阶级失衡:当您没有代表性的数据集时,就会发生这种情况。如果您正在训练您的模型来识别奶牛,但您只有阳光充足、绿意盎然的牧场上奶牛的图像数据,那么您的模型在这些条件下能够很好地识别奶牛,但在任何其他条件下都不能识别奶牛。

数据更新:所有模型都会随着时间的推移而退化,因为真实世界的环境会发生变化。一个完美的现实例子是冠状病毒。如果您在2019年搜索“corona”,您可能会看到顶部列出的corona啤酒的结果。然而,到2021年,研究结果将充斥着有关冠状病毒的文章。当发生这样的变化时,模型需要定期更新新数据。

3.标签过程中的偏差

当我们谈到训练数据时,常常会提到偏见。如果您使用的是一组非常同质的注释器,那么在标签过程中可能会引入偏差,但当您的数据需要特定的知识或上下文来进行准确的标签时也是如此。例如,假设您想要一个注释器来识别图像中的早餐食物。你的数据集里有世界各地流行菜肴的图片:英国的黑布丁、荷兰的哈格尔渣(撒在吐司上的碎屑)和澳大利亚的vegemite。如果你让美国的注释者对这些数据进行标注,他们很可能很难识别这些菜,而且肯定会对它们是否是早餐食品做出错误的判断。结果将是一个偏向美国思维模式的数据集。理想情况下,您应该拥有来自世界各地的注释者,以确保捕获每种文化菜肴的准确信息。

避免错误

作为一名人工智能实践者,您能做些什么来避免这些常见错误?在数据标记过程中实施质量检查,以确保在错误影响模型之前及时发现错误。您可以选择利用AI来双重检查注释者的判断(一种称为智能标签)在他们提交之前。并且始终有一个人在回路中监控模型性能是否存在任何偏差。减少偏见是至关重要的:除了招募一组不同的注释者(具备数据所需的领域知识),以下是其他几个方面取消对数据的偏见。

网站部署人工智能与世界级的训练数据
语言