将人工智能开发与传统软件开发进行对比是有帮助的。在传统软件中,您编写的代码是确定性的(即,每次您使用相同的输入运行它时,您将收到相同的输出)。但在人工智能的发展中,最重要的不是代码,而是数据。具体来说,就是数据的标注。
高质量、准确标记的数据对于构建高性能模型至关重要。但质量差的数据并不总是显而易见的。为了说明这一点,让我们从定义什么是训练数据开始。每个数据单元包含一个文件(图像、文本、音频片段或视频)、文件属性(分配给文件并赋予其意义的标签)和标签属性(包括标记时间、标记对象以及在什么条件下标记)。
例如,假设我们建立一个使用LIDAR数据的模型。LIDAR通过发送脉冲来捕获它与目标物体之间的距离,如汽车或行人。在使用LIDAR时,注释器的示例任务可能是在汽车周围绘制三维边界盒或长方体。此模型的培训数据可能会包含一个具有代码的JSON文件,指定:长方体,其高度和深度,以及其中包含的内容(在这种情况下是汽车)。在此注释过程中,有许多机会介绍错误。认识到潜在的错误将有助于您创建一个更完整的代表数据集。
三种常见的数据错误
以下训练数据中的错误是Appen在注释过程中最常见的三个错误。
1.标记错误
标记错误是开发高质量培训数据中最常见的问题之一。有几种类型的标记错误可能发生。例如,想象一下,您可以使用任务提供数据注释器:在图像中的奶牛周围绘制边界框。预期的输出是每台牛周围的紧密边界盒。以下是此任务可能发生的错误类型:
失踪的标签:注释器没有在其中一头奶牛周围放置一个边界框。
不正确的配合:每头牛的围箱不够紧,留下了不必要的缝隙。
误解的指令:注释器在图像中的所有奶牛周围放置一个边界框,而不是为每头奶牛设置一个边界框。
处理阻塞:注释器围绕部分隐藏的牛的预期大小围绕着一条边界盒,而不是仅围绕牛的可见部分。
这些类型的错误可能发生在许多类型的项目中。为注释器提供清晰的说明以避免这些场景是至关重要的。
2.不平衡的训练数据
你需要仔细考虑训练数据的组成。不平衡的数据集会导致模型性能的偏差。以下情况会导致数据不平衡:
类不平衡:当您没有一组具有代表性的数据时,就会发生这种情况。如果您正在训练您的模型来识别奶牛,但您只有阳光充足、绿色牧场上的奶牛的图像数据,那么您的模型在这些条件下识别奶牛的表现将很好,而在其他条件下则不太好。
数据近因:所有模型都会随着时间的推移而退化,因为真实世界的环境会不断发展。现实生活中一个完美的例子就是冠状病毒。如果你在2019年搜索“corona”,你可能会看到科罗纳啤酒排在最前面。然而,到2021年,研究结果将充斥着有关冠状病毒的文章。当这样的更改发生时,需要定期更新模型上的新数据。
3.标签过程中的偏见
当我们谈论培训数据时,偏见经常被提升。如果您使用非常友好的注释器组,则可以在标签过程中引入偏差,而且还要在您的数据需要特定的知识或上下文以进行准确标记时。例如,假设您希望注释仪识别图像中的早餐食品。在您的数据集中包含的是世界各地的流行菜肴:来自英国的黑色布丁,哈格尔斯拉格(吐司洒在烤面包),来自澳大利亚的Vegemite。如果您要求美国注册人要标记此数据,他们可能会努力识别这些菜肴,并且当然是他们是否是早餐食物,肯定会误解判决。结果将是一个数据集,它偏向于美国心态。理想情况下,您可以从世界各地的注释器确保您捕获每个文化菜肴的准确信息。
避免错误
作为一名人工智能从业者,如何避免这些常见错误?在数据标签过程中实施质量检查,以确保在错误影响模型之前就能发现错误。您可以选择利用人工智能来双重检查注释器的判断(一种称为智能标签),然后提交。并且始终有一个人在回路中监控模型的性能,以防任何偏差。减少偏见是最重要的:除了招募不同的注释者(拥有数据所需的领域知识),还有以下几点几种其他方式消除你的数据偏差。