训练数据的重要性及应用 – 从原始数据到AI解决方案

释放双眼,带上耳机,听听看~!
本文详细探讨了训练数据的重要性,以及如何将原始数据转化为可用于机器学习和人工智能的解决方案。了解训练数据的概念、实践和意图,并探讨训练数据在不同用例和场景中的应用。

数据无处不在——视频、图像、文本、文件,以及地理空间、多维数据等等。然而,以其原始形式,这些数据对于监督式机器学习(ML)和人工智能(AI)而言几乎没有用处。我们如何利用这些数据?我们如何记录我们的智慧,以便通过ML和AI进行复制?答案在于训练数据的艺术——将原始数据变得有用的学科。

在本书中,您将学到:

  • 全新的训练数据(AI数据)概念
  • 日常实践中的训练数据
  • 如何提高训练数据效率
  • 如何使您的团队更加以AI/ML为中心
  • 现实世界的案例研究

在我们能够涵盖其中一些概念之前,我们首先必须了解这些基础知识,而这一章将对其进行详细阐述。

训练数据是关于将原始数据塑造、改革、成形和消化为新形式的过程:从原始数据中创造新的含义以解决问题。这些创造和破坏的行为处于专业知识、业务需求和技术要求的交汇点。这是一组跨越多个领域的多样化活动。

在这些活动的核心是注释。注释产生结构化数据,可以被机器学习模型消费。没有注释,原始数据被认为是非结构化的,通常价值较低,往往不能用于监督学习。这就是为什么现代机器学习用例,包括计算机视觉、自然语言处理和语音识别,都需要训练数据的原因。

为了在一个例子中巩固这个想法,让我们详细考虑一下注释。当我们注释数据时,我们捕捉人类知识。通常,这个过程看起来如下:呈现一段媒体,如图像、文本、视频、3D设计或音频,以及一组预定义的选项(标签)。人类审查媒体并确定最合适的答案,例如,声明图像的某个区域为“好”或“坏”。这个标签提供了应用机器学习概念所需的上下文(图1-1)。

训练数据的重要性及应用 - 从原始数据到AI解决方案

但我们是如何做到的?我们是如何达到这一点的,即以正确的媒体元素、具有正确预定义选项的方式,以正确的时间显示给正确的人?在实际发生注释或知识捕捉的瞬间之前和之后,有许多概念。总体上,所有这些概念构成了训练数据的艺术。

在这一章中,我们将介绍什么是训练数据,为什么它很重要,并深入探讨许多关键概念,这些概念将构成本书其余部分的基础。

训练数据意图

训练数据在不同的用例、问题和场景中具有不同的目的。让我们探讨一些最常见的问题,比如使用训练数据可以做什么?它主要关注什么?人们在使用训练数据时的目标是什么?

使用训练数据可以做什么?

训练数据是AI/ML系统的基础,是使这些系统正常运作的基础。通过训练数据,您可以构建和维护现代ML系统,例如创建下一代自动化、改进现有产品,甚至创造全新产品。

为了使其最有用,原始数据需要以一种对ML程序可消费的方式进行升级和结构化。通过训练数据,您正在创建和维护所需的新数据和结构,如注释和模式,以使原始数据有用。通过这个创造和维护的过程,您将拥有出色的训练数据,并走在通向一个出色整体解决方案的道路上。

在实践中,常见的用例主要围绕着一些关键需求:

  • 改进现有产品(例如,性能),即使ML目前并不是其中的一部分。
  • 生产新产品,包括以有限或“一次性”方式运行的系统。
  • 研究和开发。

训练数据贯穿于ML程序的所有部分:

  • 训练模型?需要训练数据。
  • 想要提高性能?需要更高质量、不同或更多量的训练数据。
  • 做出了预测?那就是刚刚生成的未来训练数据。

在运行ML程序之前,训练数据就会出现;它在运行期间以输出和结果的形式出现,甚至在分析和维护阶段也会出现。此外,训练数据的关注往往是长期的。例如,在启动模型并运行后,维护训练数据是维护模型的重要部分。而在研究环境中,单个训练数据集可能保持不变(例如ImageNet),在工业中,训练数据是非常动态的,经常发生变化。这种动态性使我们对训练数据有更深入的理解变得更加重要。

本书的主要关注点之一是新数据的创建和维护。在某一时刻,数据集是训练数据的复杂过程的输出。例如,训练/测试/验证分割是原始新集合的衍生物。而这个新颖的集合本身只是对更大的训练数据过程的一个快照,一个单一的视图。类似于程序员可能决定打印或记录一个变量,打印的变量只是输出;它并不能解释为获得所需值所需的复杂函数集。

注释,即人类直接注释样本的行为,是训练数据的“最高”部分。通过“最高”,我指的是人类注释在现有数据集(例如,来自BLOB存储、现有数据库、元数据、网站等)的基础上进行工作。人类注释也是对自动化概念(如预标注和其他生成新数据的过程,如预测和标签)的最终真相。这些“高级”人类工作、现有数据和机器工作的组合构成了本章后面更广泛的训练数据概念的核心。

训练数据最关注什么?

本书涵盖了各种人、组织和技术方面的问题。我们将在一切详细阐述这些概念之前,先思考一下训练数据关注的方面。

例如,模式是如何准确地代表与您的用例相关的注释及其含义的地图的?如何确保原始数据是以与问题相关的方式收集和使用的?人类验证、监控、控制和纠正是如何应用的?

在组织这一点上,您可以广泛地将训练数据的整体概念划分为以下主题:模式、原始数据、质量、集成和人类角色。接下来,我将深入研究每个主题。

模式

模式是通过标签、属性、空间表示和与外部数据的关系形成的。注释者在进行注释时使用模式。模式是您的AI的支柱,是训练数据的每个方面的核心。

从概念上讲,模式是人类输入与您用例的含义之间的映射。它定义了ML程序能够输出的内容。它是至关重要的链接,是将每个人的辛勤工作紧密联系在一起的纽带。因此,可以明显地说,它非常重要。

良好的模式对您的特定需求是有用和相关的。通常最好创建一个新的、定制的模式,然后针对您的特定情况进行迭代。通常可以借鉴领域特定的数据库,或者填写某些细节层次,但务必在新颖、新的模式的指导背景下进行。不要期望来自另一个背景的现有模式在没有进一步更新的情况下适用于ML程序。

那么,为什么按照您的特定需求设计它,而不是一些预定义的集合呢?

首先,模式既用于人类注释,也用于ML使用。现有的领域特定模式可能是为不同背景下的人类使用或经典的非ML上下文中的机器使用而设计的。这是一个那些东西似乎可能产生相似输出的情况,但实际上产生的结果却以完全不同的方式形成的例子。例如,两个不同的数学函数可能都输出相同的值,但在完全不同的逻辑下运行。模式的输出可能看起来相似,但这些差异对于使其对注释和ML使用友好非常重要。

其次,如果模式不有用,那么即使是出色的模型预测也是无用的。在设计模式方面的失败可能会导致整个系统的失败。这里的背景是,ML程序通常只能根据模式中包含的内容进行预测。很少有ML程序会产生比原始模式更好的相关结果。它也很少会预测与人或一组人查看相同原始数据时无法预测的事物。

常见的是看到有疑问价值的模式。因此,停下来思考“如果我们自动获取用此模式标记的数据,它对我们实际上是否有用?”和“人类在查看原始数据时是否可以合理地从模式中选择某些内容?”是非常值得的。

在接下来的几章中,我们将涵盖模式的技术方面,并在本书后面通过实际例子回到模式的关注点。

原始数据

原始数据是任何形式的二进制大对象(BLOB)数据或作为注释目的的预结构化数据的单个样本。示例包括视频、图像、文本、文件以及地理空间和多维数据。当我们将原始数据视为训练数据的一部分时,最重要的是确保原始数据是以与模式相关的方式收集和使用的。

为了说明原始数据与模式的相关性的概念,让我们考虑在收听无线电中的体育比赛、在电视上看比赛或亲自观看比赛之间的区别。无论媒体如何,这都是相同的事件,但在每种情境下,您都会获得非常不同量的数据。通过电视、收音机或亲自观看的原始数据收集的背景,框定了原始数据的潜力。因此,例如,如果您尝试自动确定球的持有权,视觉原始数据可能更适合而不是收音机原始数据。

与软件相比,我们人类擅长自动进行上下文相关的相关性和处理嘈杂的数据。我们做出许多假设,通常依赖于我们感官时刻不存在的数据源。在直接感知的视觉、听觉等之上理解上下文的能力使得很难记住软件在这方面的限制。

软件只能看到其编程的上下文,无论是通过数据还是代码行。这意味着原始数据的真正挑战是克服我们对上下文的人类假设,以使正确的数据可用。

那么,您如何做到这一点?其中一个比较成功的方法是从模式开始,然后将原始数据收集的想法映射到模式中。它可以被视为一个问题 -> 模式 -> 原始数据的问题链。模式的要求总是由问题或产品定义的。这样就可以始终轻松检查“给定模式和原始数据,人类是否能够做出合理的判断?”

围绕模式的思考也鼓励考虑新的数据收集方法,而不仅仅限于现有或最容易获取的数据收集方法。随着时间的推移,可以共同迭代模式和原始数据;这只是一个开始。将模式与产品相关联的另一种方式是将模式视为产品的代表。因此,使用“产品市场契合”的陈词滥调,这是“产品数据契合”。

为了将上述抽象概念具体化,我们将讨论工业中常见的一些问题。开发和生产过程中使用的数据之间的差异是错误最常见的来源之一。这是常见的,因为它在某种程度上是不可避免的。这就是为什么能够在迭代过程的早期获得一些“真实”数据至关重要的原因。您必须期望生产数据将是不同的,并将其作为整体数据收集策略的一部分进行规划。

数据程序只能看到原始数据和注释——只能看到它所给予的。如果人类注释者依赖于超出从样本中了解的范围的知识,那么数据程序可能就没有这种上下文,它将失败。我们必须记住,所有必要的上下文必须存在于程序的数据或代码行中。

总结一下:

  • 原始数据需要与模式相关。
  • 原始数据应尽可能与生产数据相似。
  • 原始数据应该在样本本身中具有所有所需的上下文。

注释

每个注释都是模式中指定的某个事物的单个示例。想象一下两个悬崖,中间是一片开阔的空间,左边代表模式,右边是一个单独的原始数据文件。如图1-2所示,注释是模式和原始数据之间的具体桥梁。

训练数据的重要性及应用 - 从原始数据到AI解决方案

虽然模式是“抽象的”,意味着它在多个注释之间被引用和重复使用,但每个注释都包含填写模式中问题答案的实际具体值。 在训练数据系统中,注释通常是最丰富的形式,因为每个文件通常有数十甚至数百个注释。注释也被称为“实例”,因为它是模式中某个事物的单个实例。

更具体地说,每个注释实例通常包含一个键,用于将其与模式中的标签或属性以及表示原始数据的文件或子文件关联起来。在实际操作中,每个文件通常包含一个实例列表。

质量

培训数据的质量自然存在于一个光谱中。在一个上下文中可接受的内容在另一个上下文中可能不可接受。 那么影响培训数据质量的最重要因素是什么呢?好吧,我们已经谈论过其中两个因素:模式和原始数据。例如: 糟糕的模式可能导致比糟糕的注释者更多的质量问题。 如果原始数据样本中的概念不清晰,那么对ML程序来说,它可能也不会清晰。 通常情况下,注释质量是下一个最重要的项目。注释质量很重要,但可能不是你期望的方式。具体而言,人们往往认为注释质量是“是否正确注释了?”但“正确”通常超出了范围。为了了解“正确”答案通常超出范围的原因,让我们想象一下我们正在注释交通灯,而你所看到的样本中的灯是灭的(例如,断电),而模式中的选项只有各种活跃的交通灯的变体。显然,要么模式需要更新以包括“灭掉”的交通灯,要么我们的生产系统将永远无法在交通灯可能发生断电的情境中使用。

进入一个稍难以控制的情况,考虑一下如果交通灯离得很远或者处于奇怪的角度,那也会限制工作者正确注释的能力。通常情况下,这些情况听起来应该很容易管理,但实际上往往不是。因此,总的来说,注释质量的实际问题往往回到模式和原始数据的问题。在工作过程中,注释者会提出与模式和数据相关的问题。高质量的注释与有效沟通这些问题同样重要,而不仅仅是专注于正确注释。

我不能再强调模式和原始数据需要大量的关注。然而,正确注释仍然很重要,其中一种方法是让多个人查看相同的样本。这通常是昂贵的,并且必须有人解释对同一样本的多种意见的含义,这进一步增加了成本。对于一个可在行业中使用的案例,其中模式具有合理的复杂度,对多个意见进行元分析是一个进一步的时间浪费。 想象一群人观看体育比赛的瞬间重播。试图对他们的意见进行统计抽样以获得“更正确”的“证明”。与此不同的是,我们有一个裁判,他个别审查情况并作出决定。裁判可能不是“正确”的,但无论好坏,社会规范是由裁判(或类似的过程)做出决定。 同样,通常会采用更经济有效的方法。对一定比例的数据进行随机抽样进行审查,注释者在工作过程中提出模式和原始数据的问题。稍后将更详细地讨论此审查循环和质量保证流程。

如果审查方法失败,看起来您仍然需要多人注释相同的数据以确保高质量,那么您可能拥有糟糕的产品数据匹配,并且需要更改模式或原始数据收集以修复它。 从模式、原始数据和注释中放大,质量的其他重要方面包括数据的维护和与ML程序的集成点。质量包括成本考虑、预期使用和预期故障率。 总结一下,质量首先主要由模式和原始数据形成,然后由注释者和相关流程形成,并由维护和集成补充。

集成

通常会将大量时间和精力集中在“训练模型”上。然而,因为训练模型是一个主要关注技术、数据科学的概念,它可能使我们低估了有效使用技术的其他重要方面。

关于训练数据的维护呢?关于ML程序输出有用的培训数据结果,如采样、发现错误、减轻工作负担等,与训练模型无关?关于模型或ML子程序的结果将用于的应用程序的集成?关于测试和监视数据集的技术?硬件?人类通知?技术如何打包到其他技术中? 训练模型只是其中一个组成部分。要成功构建一个ML程序,一个数据驱动的程序,我们需要考虑所有技术组件如何协同工作。为了快速上手,我们需要了解不断增长的培训数据生态系统。与数据科学的集成是多方面的,不仅仅是关于一些注释的最终“输出”。它涉及到持续的人类控制、维护、模式、验证、生命周期、安全性等。一批输出的注释就像单个SQL查询的结果一样,它只是对复杂数据库的单一、有限的视图。

与集成一起工作的一些关键方面: 只有培训数据能够被某物消耗时,它才是有用的,通常是在更大的程序中。 与数据科学的集成有许多接触点,并需要全局思考。 训练模型只是整体生态系统的一小部分。

人的角色

人通过控制培训数据来影响数据程序。这包括确定我们到目前为止讨论的方面,即模式、原始数据、质量以及与其他系统的集成。当人类查看每个单独的样本时,他们也参与注释本身。 这种控制在许多阶段和由许多人执行,从建立初始培训数据到对数据科学输出进行人工评估并验证数据科学结果。这个大量的人的参与与经典的ML非常不同。 我们有新的指标,比如接受了多少样本,每个任务花了多长时间,数据集的生命周期,原始数据的真实性,模式的分布等。这些方面可能与数据科学术语重叠,如类分布,但值得将其视为不同的概念。例如,模型指标是基于培训数据的真实性,因此如果数据错误,指标就是错误的。正如在“质量保证自动化”中讨论的,围绕注释者协议的指标可能会忽略有关模式和原始数据问题的更大问题。

人的监督远不止于定量指标。它涉及到定性的理解。人类观察、对模式、原始数据、单个样本等的理解非常重要。这种定性观点延伸到业务和用例概念中。此外,这些验证和控制很快从容易定义的状态扩展为更像是一种艺术形式、创造行为。更不用说围绕系统性能和输出可能产生的复杂政治和社会期望了。

使用培训数据的机会是创造的机会:以新颖的方式捕捉人类智慧和见解;以新的培训数据背景框架问题;创建新的模式,收集新的原始数据,并使用其他培训数据专有的方法。 这种创造,这种控制,都是新的。虽然我们已经为各种类型的人机交互建立了模式,但是对于人类-ML程序交互,对于人的监督、数据驱动的系统,人们可以直接纠正和编程数据的地方,要少得多。 例如,我们期望普通办公室工作人员知道如何使用文字处理,但我们不指望他们使用视频编辑工具。培训数据需要专业主题专家。因此,就像医生今天必须知道如何使用计算机一样,他们现在必须学会使用标准的注释模式。随着人控制的数据驱动程序的出现和变得更加普遍,这些交互将继续增加其重要性和变化。

训练数据机会

现在我们了解了许多基本原理,让我们来构建一些机会。如果您正在考虑将训练数据添加到您的ML/AI程序中,您可能想要提出一些问题:

  • 什么是最佳实践?
  • 我们是否以“正确”的方式进行?
  • 我的团队如何更有效地处理训练数据?
  • 训练数据中心项目能够解锁哪些商业机会?
  • 我是否可以将现有的工作流程,例如现有的质量保证流水线,转化为训练数据?如果我的所有训练数据都可以在一个地方,而不是从A到B到C来回移动数据,会怎样?我如何更熟练地使用训练数据工具?

总体而言,一个企业可以:

  • 通过推出新的AI/ML数据产品增加收入。
  • 通过改进现有产品的性能来保持现有收入,通过AI/ML数据实现。
  • 降低安全风险——减少来自AI/ML数据暴露和丢失的风险和成本。
  • 通过将员工工作向自动化食物链的更高级别移动来提高生产力。例如,通过不断学习数据,您可以创建自己的AI/ML数据引擎。 所有这些元素都可以引导组织发生变革,我将在接下来的内容中进行介绍。

商业变革

围绕训练数据的团队和公司心态非常重要。我将在第七章提供更多详细信息,但现在,以下是一些开始思考这个问题的重要方式:

  • 开始将公司中的所有现有例行工作视为创建训练数据的机会。
  • 意识到未在训练数据系统中捕获的工作是失去的。
  • 开始将注释纳入每个一线工人的日常工作。
  • 定义组织领导结构以更好地支持训练数据工作。
  • 在规模上管理您的训练数据过程。

对于单个数据科学家有效的方法可能与对团队有效的方法大不相同,而对于拥有多个团队的公司可能更不同。 为了完成所有这些,重要的是在您的团队和组织内实施强有力的训练数据实践。为此,您需要在公司内创建以训练数据为中心的思维方式。这可能会很复杂,可能需要时间,但这是值得投资的。

为此,将专业主题专家纳入到您的项目规划讨论中是很重要的。他们将带来宝贵的见解,可以节省您的团队下游的时间。使用工具来维护原始数据收集、进口和导出的抽象和集成也很重要。您将需要新的库来完成特定的训练数据任务,以便您可以构建在现有研究的基础上。具有适当的工具和系统将有助于您的团队以以数据为中心的思维方式执行。最后,请确保您和您的团队正在报告和描述训练数据。了解做了什么,为什么这样做,以及结果是什么,将有助于指导未来的项目。

现在这可能听起来有些令人望而生畏,所以让我们进一步分解。当您首次开始使用训练数据时,您将学习新的训练数据特定概念,这将导致思维的变化。例如,添加新的数据和注释将成为您例行工作流程的一部分。在设置初始数据集、模式和其他配置时,您将更加了解。这本书将帮助您熟悉新的工具、新的API、新的SDK等,使您能够将训练数据工具整合到您的工作流程中。

训练数据效率

在训练数据方面的效率是许多因素的函数。我们将在接下来的章节中更详细地探讨这一点,但现在请考虑以下问题:

  • 我们如何创建和维护更好的模式?
  • 我们如何更好地捕捉和维护原始数据?
  • 我们如何更高效地进行注释?
  • 我们如何减少相关样本计数,以便一开始就有更少的注释?
  • 我们如何使人们快速掌握新工具?
  • 我们如何使其与我们的应用程序配合?

集成点在哪里? 与大多数过程一样,有很多方面可以提高效率,这本书将向您展示健全的训练数据实践如何帮助您。

工具熟练度

新工具,如Diffgram、HumanSignal等,现在提供了许多方法来帮助实现您的训练数据目标。随着这些工具的复杂性增长,能够掌握它们变得更加重要。您可能已经通过阅读本书寻找全面的概述,或者是为了优化特定的痛点。第二章将讨论工具和权衡。

流程改进机会

考虑一下人们想要改进的一些常见领域,比如:

  • 注释质量差,成本太高,手动操作太多,容易出错
  • 重复工作
  • 主题专家劳动力成本过高
  • 太多例行或乏味的工作
  • 几乎不可能获得足够的原始数据
  • 原始数据量明显超过任何合理的手动查看能力

您可能想要进行更广泛的业务变革,学习新工具,或者优化特定的项目或流程。问题自然是,对您来说下一个最佳步骤是什么,为什么您应该采取它?为了帮助您回答这个问题,让我们现在谈谈为什么训练数据很重要。

为什么训练数据至关重要

在这一部分,我将介绍为什么训练数据对您的组织至关重要,以及为什么强大的训练数据实践是不可或缺的。这些是本书贯穿始终的中心主题,您将在未来看到它们再次出现。

首先,训练数据决定了您的人工智能程序、您的系统能够做什么。没有训练数据,就没有系统。有了训练数据,机会只受您的想象力的限制!在某种程度上。好吧,在实践中,仍然有预算、硬件等资源和团队专业知识的限制。但从理论上讲,您可以形成架构并记录原始数据的任何事物,系统都可以重复。从概念上讲,模型可以学到任何东西。换句话说,系统的智能和能力取决于模式的质量,以及您可以教给它的数据的数量和种类。在实践中,有效的训练数据在一切都相等的情况下(预算、资源等)为您提供了关键的优势。

其次,训练数据工作是上游的,位于数据科学工作之前。这意味着数据科学依赖于训练数据。训练数据中的错误会传播到数据科学中。或者用老生常谈的话来说——垃圾进,垃圾出。图1-3演示了实践中这种数据流是如何进行的。

训练数据的重要性及应用 - 从原始数据到AI解决方案

第三,训练数据的艺术代表了对如何构建人工智能系统的思考方式的转变。与过度关注改进数学算法不同,我们在与之并行的同时继续优化训练数据以更好地满足我们的需求。这是正在发生的人工智能变革的核心,也是现代自动化的核心。知识工作首次正在被自动化。

机器学习应用正变得日益普及

在2005年,一支大学团队使用基于训练数据的方法,设计了一辆名为Stanley的车辆,可以在一条长达175英里的戈壁滩赛道上实现自主驾驶,并赢得了国防高级研究计划局(DARPA)的大挑战。大约15年后的2020年10月,一家汽车公司在公开市场上发布了一项备受争议的全自动驾驶(FSD)技术,开启了一个新的消费者意识时代。在2021年,数据标注的问题开始在财报电话中被提及。换句话说,主流开始接触到训练数据。

这种商业化超越了人工智能研究结果的头条新闻。在过去的几年里,我们看到对技术的需求大幅增加。我们期望能够与软件交流并被理解,自动获得良好的建议和个性化的内容。大型科技公司、初创公司和企业纷纷求助于人工智能来应对这种用例组合的爆炸性增长。

人工智能的知识、工具和最佳实践迅速扩展。曾经是少数人的专属领域现在正在成为共识和预建立的API调用。我们正处于过渡阶段,从研发演示过渡到真实世界产业用例的早期阶段。

对自动化的期望正在被重新定义。对于新车购买者来说,定速巡航已经不再只是“保持恒定速度”,而是包括“保持车道、保持距离等”。这不是未来的考虑,而是当前消费者和业务的期望。这表明需要在公司内制定人工智能战略,具备机器学习和训练数据的能力。

成功人工智能的基石

机器学习是通过学习数据来实现的。在历史上,这意味着创建数据集,形式可以是日志,或类似的表格数据,比如“Anthony观看了一段视频”。

这些系统继续具有重要价值。然而,它们有一些局限。它们不能帮助我们做现代训练数据驱动的人工智能可以做的事情,比如构建理解CT扫描或其他医学图像的系统,理解足球战术,或者在未来驾驶一辆车。

这种新型人工智能的理念是人类明确地说,“这是一个球员传球的例子”,“这是一个肿瘤的样子”,或者“这个苹果的这一部分是腐烂的”。

这种表达形式类似于在教室里老师向学生解释概念的方式:通过文字和例子。教师帮助填补教科书之间的差距,学生随着时间逐渐建立了多维的理解。在训练数据中,注释者充当教师的角色,弥合了模式和原始数据之间的差距。

训练数据已经成为不可或缺的

正如前面提到的,现代人工智能/机器学习数据的用例正在从研发阶段转向实际应用领域。我们正处于该业务周期的起始阶段。当然,具体情况变化迅速。然而,围绕将日常工作视为标注、鼓励人们不断追求独特工作以及监督日益强大的机器学习程序的概念将会持续存在。

在研究方面,关于如何使用训练数据的算法和思想都在不断改进。例如,对于某些类型的模型来说,需要的数据量越来越少才能发挥有效作用的趋势。模型需要学习的样本越少,就越需要创造具有更广泛和深度的训练数据。而在另一方面,许多行业用例通常需要更多的数据来实现业务目标。在这个业务背景下,越来越多的人参与到训练数据中,进一步增加了对工具的压力。

换句话说,研究和行业的扩展方向随着时间的推移越来越强调训练数据的重要性。

训练数据控制机器学习程序

任何系统中的关键问题是控制。控制在哪里?在正常的计算机代码中,这是以循环、条件语句等形式编写的人类逻辑,这种逻辑定义了系统。

在经典的机器学习中,首先包括定义感兴趣的特征和数据集。然后,算法生成一个模型。尽管算法似乎处于控制地位,但真正的控制是通过选择特征和数据来实现的,这些特征和数据决定了算法的自由度。

在深度学习系统中,算法会自行选择特征。算法试图确定(学习)哪些特征与给定目标相关。而这个目标是由训练数据定义的。事实上,训练数据是对目标的主要定义。

其工作原理如下:算法的内部部分,称为损失函数,描述了算法如何学习实现这个目标的关键部分。算法使用损失函数来确定它距离训练数据中定义的目标有多近。

更具体地说,损失是我们在模型训练过程中希望最小化的错误。为了使损失函数具有人类意义,必须存在一些在损失函数相对于之外定义的目标(例如与损失函数相关的业务目标)的参考点。这个业务目标可能在一定程度上是通过训练数据定义的。

在某种程度上,这是一个“目标中的目标”;训练数据的目标是最好地与业务目标相关,而损失函数的目标是将模型与训练数据相关联。因此,简而言之,损失函数的目标是优化损失,但它只能通过具有一些先行参考点来实现,而这些参考点是由训练数据定义的,从而在概念上跳过损失函数的中间环节,训练数据是模型与人类定义的目标关系的“基本事实”。或者简单地说:人类目标定义了训练数据,然后定义了模型。

新型用户

在传统软件开发中,最终用户与工程师之间存在一定的依赖关系。最终用户无法真正说出程序是否“正确”,工程师也一样。

在原型构建之前,最终用户很难说出他们想要什么。因此,最终用户和工程师都依赖于对方。这被称为循环依赖。改善软件的能力来自两者之间的相互作用,能够共同迭代。

在训练数据中,当进行文字监督时,人类控制着系统的含义。数据科学家在工作中控制它,例如在选择抽象化(如标签模板)时。

例如,如果作为标注者,我将一个良性的肿瘤标记为癌症性质,实际上我会以有害的方式控制系统的输出。在这种情况下,值得理解的是几乎不可能通过验证来100%消除这种控制。工程无法控制数据系统,既因为数据量大,又因为缺乏主题专业知识。

过去曾有这样一个假设,即数据科学家知道什么是“正确”的。理论上,他们可以定义一些“正确”的例子,然后只要人类监督员通常遵循该指南,他们就知道什么是正确的。立即出现各种复杂性的例子:一个讲英语的数据科学家怎么知道法语翻译是否正确?数据科学家怎么知道医生对X光图像的医学意见是否正确?简而言之,他们不能。随着AI系统角色的增长,主题专业人士越来越需要以超越数据科学的方式对系统进行控制。

让我们考虑为什么这与传统的“垃圾进,垃圾出”概念不同。在传统程序中,工程师可以通过单元测试等手段保证代码是“正确”的。这并不意味着它提供了最终用户期望的输出,只是代码执行了工程师认为应该执行的操作。因此,从另一个角度来看,承诺是“黄金进,黄金出”,只要用户投入了黄金,他们就会得到黄金。

在训练数据的情境中编写AI单元测试是困难的。部分原因是由于数据科学可用的控制,如验证集,仍然基于由个体AI监管者执行的控制(执行标注)。

此外,AI监管者可能受到工程定义的抽象化的限制。然而,如果他们能够自行定义模式,那么他们将更深入地融入系统的结构中,从而进一步模糊了“内容”和“系统”之间的界线。

这与传统系统有着明显的不同。例如,在社交媒体平台上,您的内容可能是价值所在,但清楚的是什么是文字系统(您输入的框、您看到的结果等)和您发布的内容(文本、图片等)。

既然我们正在以形式和内容为基础来思考,那么控制是如何重新融入其中的呢?控制的例子包括:

  • 抽象化,如模式,定义了一级控制。
  • 注释,即直接查看样本,定义了另一级控制。
  • 虽然数据科学可能控制算法,但训练数据的控制通常以一种“监督”容量的形式存在,高于算法。

野生的训练数据

到目前为止,我们已经涵盖了许多概念和理论,但实际应用中的训练数据可能是一项复杂而具有挑战性的任务。

使训练数据变得困难的原因是什么?

数据标注的明显简单性掩盖了所涉及的广泛复杂性、新颖考虑因素、新概念和新形式的艺术。可能会出现这样的情况,似乎是一个人选择了合适的标签,数据经过了机器处理,然后,嘿,问题解决了,对吧?嗯,并非完全如此。以下是一些可能证明困难的常见元素。

  • 主题专家与技术人员的协作: 主题专家与技术人员之间以新方式协作,反之亦然。这些新的社交互动引入了新的“人际”挑战。专家拥有个人经验、信仰、固有偏见和先前经验。此外,来自多个领域的专家可能不得不比通常更密切地共同工作。用户正在使用具有少量关于标准设计的共同期望的新颖标注界面。

  • 其他挑战包括:

    • 问题本身可能难以表达,答案不明确或解决方案定义不清晰。
    • 即使知识在一个人的头脑中形成良好,而且人熟悉注释界面,准确输入这些知识可能仍然是繁琐和耗时的。
    • 数据标注工作通常涉及大量数据标记工作,需要管理多个数据集以及围绕新形式的数据存储、访问和查询的技术挑战。
    • 鉴于这是一个新的学科,缺乏组织经验和操作卓越,这些只能随着时间的推移而来。
  • 拥有强大经典ML文化的组织可能难以适应这个根本上不同但在操作上至关重要的领域。 这种盲点认为他们已经理解并实施了ML,而实际上它是一种完全不同的形式。

  • 由于这是一种新的艺术形式,一般的想法和概念并不为人所熟知。 对正确的训练数据工具的认识、访问或熟悉可能缺乏。

  • 模式可能很复杂,包含数千个元素,包括嵌套的条件结构。 媒体格式引入了一些挑战,如系列、关系和3D导航。

  • 大多数自动化工具引入了新的挑战和困难。

尽管这些挑战是多方面的且有时困难的,但我们将在本书中解决每一个问题,以提供一个您和您的组织可以实施以改善训练数据的路线图。

督导机器的艺术

到目前为止,我们已经涵盖了一些基础知识和围绕训练数据的一些挑战。现在,让我们将注意力从科学转向艺术。标注的明显简单性掩盖了所涉及的大量工作。注释对训练数据而言就像打字对写作而言一样。如果没有人类元素来引导动作并准确执行任务,仅仅在键盘上按键并不能提供价值。

训练数据是一个新的范式,涌现出越来越多的思维方式、理论、研究和标准。它涉及技术表示、人员决策、流程、工具、系统设计以及与其相关的各种新概念。

让训练数据变得如此特殊的一件事是,它捕捉了用户的知识、意图、思想和概念,而不指定他们“如何”达到这些目标。例如,如果我标注一个“鸟”,我并没有告诉计算机鸟是什么,鸟的历史等等,只是说这是一只鸟。这种传达高层次意图的理念与大多数古典编程观点有所不同。在本书中,我将不断回到将训练数据视为一种新形式的编码的这个理念。

数据科学中的新事物

虽然ML模型可能使用特定的训练数据集,但本书将揭示围绕训练数据的抽象概念的各种概念。更一般而言,训练数据不是数据科学。它们有不同的目标。训练数据生成结构化数据;数据科学消耗它。训练数据将现实世界中的人类知识映射到计算机中。数据科学将该数据映射回现实世界。它们是同一个硬币的两个不同方面。

类似于模型被应用程序消耗一样,训练数据必须被数据科学消耗才能发挥作用。事实上,它以这种方式使用不应减弱其差异。训练数据仍然需要将概念映射到数据科学可用的形式。重点是明确定义它们之间的抽象概念,而不是在术语上进行临时猜测。

似乎更合理地将训练数据视为由所有其他专业人士练习的一种艺术形式,这是各行各业的专业人士在练习中涉足的,而不是将数据科学视为所有事物的全面起点。鉴于有多少专业人士和非技术人员参与其中,这种相当荒谬的替代方案似乎似乎认为数据科学在所有领域中占据主导地位!对于许多其他人来说,训练数据是其自己的领域。

尽管称任何东西都是一个新的领域或艺术形式都是自作聪明的,但我在于我只是标记人们已经在做的事情。实际上,当我们将其视为自己的艺术形式并停止把它塞进其他现有的给定类别时,事情变得更加有道理。我在第7章中详细介绍了这一点。

由于以命名的形式是新的,因此语言和定义仍然是不确定的。以下术语都密切相关:

  • 训练数据
  • 数据标注
  • 人机监督
  • 注释
  • 数据程序

根据上下文,这些术语可以映射到各种定义:

  • 训练数据的整体艺术
  • 注释的行为,比如绘制几何图形和回答模式问题
  • 在机器学习系统中实现我们想要达到的理想状态
  • ML系统的控制,包括对现有系统的校正
  • 依赖于人为控制数据的系统

例如,我可以将注释称为训练数据整体概念的特定子组件。我还可以说“处理训练数据”,指的是进行注释的行为。作为一个新兴领域,人们可能会说数据标注,并且只是指注释的基本含义,而其他人则指的是训练数据整体概念。

简而言之,不值得过多纠结这些术语中的任何一个,通常需要上下文来理解其含义。

ML程序生态系统

训练数据与不断扩展的相邻程序和概念的生态系统互动。通常会将数据从训练数据程序发送到ML建模程序,或者在训练数据平台上安装一个ML程序。生产数据,例如预测,通常会发送到训练数据程序进行验证、审查和进一步的控制。这些各种程序之间的链接继续扩展。本书的后面将介绍一些有关摄取和流式传输数据的技术细节。

原始数据媒体类型

数据有许多媒体类型。常见的媒体类型包括图像、视频、文本、PDF/文档、HTML、音频、时间序列、3D/DICOM、地理空间、传感器融合和多模态。虽然在实践中通常最受支持的是流行的媒体类型,但理论上任何媒体类型都可以使用。注释的形式包括属性(详细选项)、几何、关系等。随着书中的进展,我们将详细介绍所有这些内容,但重要的是要注意,如果存在某种媒体类型,那么有人可能正在尝试从中提取数据。

以数据为中心的机器学习

主题专家和数据输入人员可能会每天每天花费四到八个小时处理训练数据任务,如注释。这是一项耗时的任务,可能会成为他们的主要工作。在某些情况下,整个团队的99%的时间都花在训练数据上,而只有1%的时间花在建模过程上,例如使用AutoML类型的解决方案或拥有大型SME团队。数据中心的AI意味着将训练数据视为其自己的重要事物,创造新的数据、新的模式、新的原始数据捕获技术和新的主题专家注释。这意味着在程序的核心部分以及将训练数据深度集成到程序的各个方面。以前是以移动为主,现在是以数据为先。

在数据中心的思维方式中,您可以:

  • 使用或添加数据收集点,例如新的传感器、新的相机、新的文档捕获方式等。
  • 以注释的形式添加新的人类知识,例如来自主题专家的新注释。

数据中心方法的基本原则是:

  • 大部分工作在训练数据和数据科学方面超出了我们的控制。
  • 与仅仅通过算法改进相比,训练数据和建模有更多的自由度。

将数据中心的AI这一理念与将训练数据的广度和深度视为其自己的艺术形式的理念结合起来,我开始看到广阔的机会领域。您将用训练数据构建什么呢?

失败

任何系统都有各种各样的错误,但通常仍然可以“正常”运行。数据程序也是如此。例如,某些类别的失败是可以预期的,而其他类别则不是。让我们深入了解一下。

当数据程序的相关假设集保持为真时,它们可以正常工作,例如关于模式和原始数据的假设。这些假设在创建时通常是最明显的,但可以作为数据维护周期的一部分进行更改或修改。

为了深入了解一个视觉示例,想象一个停车场检测系统。该系统可能具有不同的视图,如图1-4所示。如果我们基于俯视图(左侧)创建一个训练数据集,然后尝试使用车辆级视图(右侧),我们很可能会遇到“意外”类别的失败。

训练数据的重要性及应用 - 从原始数据到AI解决方案

为什么会发生失败?仅在俯视图图像上训练的机器学习系统(如左图所示)在图像来自前视图的环境中运行时会遇到困难,正如右图所示。换句话说,如果在训练期间从未看到过这样的图像,系统将无法理解前视图中的汽车和停车场的概念。

虽然这可能显而易见,但类似的问题导致了美国空军系统的实际故障,使他们误以为他们的系统比实际情况好得多。

我们如何防止这样的失败?嗯,对于这个特定的失败案例,这清楚地说明了训练系统所使用的数据与生产数据紧密匹配的重要性。那么对于书中没有明确列出的故障呢?

第一步是意识到训练数据的最佳实践。在早些时候,我谈到了与注释者和主题专家进行沟通的重要性。注释者需要能够标记问题,特别是关于模式和原始数据对齐的问题。注释者在超出指定指令和模式范围的问题上有独特的位置,例如当“常识”告诉他们有什么不对劲时。

管理员需要了解创建新颖、具有良好命名的模式的概念。原始数据应始终与模式相关,并且数据的维护是一个要求。

在开发过程中,通过围绕模式、期望的数据使用以及与注释者的讨论,可以发现失败模式。

发展历史也影响训练数据

当我们思考经典软件程序时,它们的历史发展使它们对某些操作状态产生了偏好。为智能手机设计的应用程序具有特定的背景,并且在某些方面可能比桌面应用程序更好或更差。电子表格应用程序可能更适合桌面使用;而一个资金发送系统则不允许随机编辑。一旦编写了这样的程序,要改变核心方面或“去偏”就变得困难。资金发送应用程序围绕着用户不能“撤销”交易的假设构建了许多前提。

给定模型发展的历史,无论是意外的还是有意为之的,也会影响训练数据。想象一下一个主要围绕影响马铃薯作物的疾病设计的农田检查应用程序。对一切都做出了假设,从原始数据格式(例如,媒体是在某些高度捕捉的)到疾病类型,再到样本量。它不太可能在其他类型的农作物上表现良好。最初的模式可能做出随时间变化而过时的假设。系统的历史将影响改变系统的能力。

什么是训练数据

训练数据不是一个机器学习算法。它与特定的机器学习方法无关。

相反,它定义了我们想要实现的目标。根本挑战在于有效地将期望的人类含义识别并映射到机器可读的形式。

训练数据的有效性主要取决于它与分配给它的人类定义的含义的关联程度以及它如何合理地代表真实模型的使用。实际上,关于训练数据的选择对有效训练模型的能力产生巨大影响。

生成式AI

生成型人工智能(GenAI)概念,例如生成型预训练变换器(GPTs)和大型语言模型(LLMs),在2023年初变得非常流行。在这里,我将简要介绍这些概念与训练数据的关系。

我们可以从无监督学习的概念开始。在GenAI的背景下,无监督学习的广义目标是在没有新定义的人工标签的情况下进行工作。然而,LLMs的“预训练”是基于人类源材料的。因此,您仍然需要数据,通常是人工生成的数据,以获得对人类有意义的东西。不同之处在于,在“预训练”生成型人工智能时,数据最初不需要标签来创建输出,因此GenAI常被亲切地称为无监督的“怪物”。如图1-5所示的这个“怪物”仍然需要通过人类监督来驯服。

训练数据的重要性及应用 - 从原始数据到AI解决方案

总体而言,这是GenAI与人类监督互动的主要方式:

  1. 人类对齐 人类监督对于构建和改进GenAI模型至关重要。
  2. 效率提升 GenAI模型可用于改善繁琐的监督任务(如图像分割)。
  3. 与监督人工智能协同工作 GenAI模型可用于解释、组合、与监督输出交互和使用。
  4. 对人工智能的普遍认识 人工智能每天都在主要新闻媒体和公司的财报电话中被提及。对人工智能的普遍兴奋情绪急剧增加。

下面将在下一个小节详细展开人类对齐的概念。

你还可以利用GenAI来帮助提高监督训练数据的效率。在当前GenAI系统中,对于通用对象分割、广泛接受的类别的通用分类等方面存在一些“低挂果实”是可能的(在一些条件下)。在第8章中,我在讨论自动化时更详细地介绍了这一点。

与监督人工智能协同工作大多超出了本书的范围,除了简要说明它们之间惊人的少量重叠。GenAI和监督系统都是重要的构建块。

GenAI的进展再次使人工智能成为头条新闻。因此,组织正在重新思考他们的人工智能目标,并将更多精力投入到人工智能倡议中,不仅仅是GenAI。要发布一个GenAI系统,需要人类对齐(换句话说,训练数据)。要发布完整的人工智能系统,通常需要GenAI + 监督人工智能。学习本书中有关处理训练数据的技能将有助于实现这两个目标。

人类对齐即是人类监督

在生成型人工智能的背景下,人类监督,本书的重点,通常被称为人类对齐。本书讨论的绝大多数概念也适用于人类对齐,只是有一些特定案例的修改。

目标不是让模型直接学习重复精确的表示,而是“引导”无监督结果。虽然关于哪种人类对齐“方向”方法最好存在激烈的辩论,但目前流行的人类对齐方法的具体例子包括:

  1. 直接监督,如问答对、排名输出(例如个人偏好,最好到最差)以及标记特定的迭代关注点,例如“不适合工作”。这种方法对GPT-4的声望至关重要。
  2. 间接监督,如最终用户的投票、提供自由形式的反馈等。通常,此输入必须经过某些额外的处理,然后呈现给模型。
  3. 定义一个“宪法”一样的指令集,为GenAI系统规定特定的人类监督(人类对齐)原则。
  4. 提示工程,意味着定义“类似代码”的提示,或用自然语言编码。
  5. 与其他系统集成以检查结果的有效性。

关于最佳方法或如何衡量结果,目前尚无共识。我想指出,许多这些方法都集中在文本、有限的多模态(但仍然是文本)输出和媒体生成方面。虽然这似乎很全面,但它只是人类将可重复的含义附加到任意现实概念的更一般概念的相对有限的部分。

除了缺乏共识外,这一领域还存在矛盾的研究。例如,两个普遍存在的观点是,有些人声称观察到新兴行为,而另一些人断言基准被精心挑选,并且这是一个虚假的结果(例如,测试集与训练数据混淆在一起)。虽然人类监督显然与此有关,但在GenAI案例中,确切的级别、程度和技术是一个悬而未决的问题。事实上,一些结果表明,小型的人类对齐模型可以与大型模型一样好,甚至更好地工作。

虽然你可能注意到术语上的一些差异,但本书中的许多原则同样适用于GenAI对齐和训练数据。具体而言,所有形式的直接监督都是训练数据监督。在结束GenAI主题之前,有一些需要注意的事项:我在本书中没有具体介绍提示工程或其他GenAI特定概念。然而,如果你打算构建一个GenAI系统,你仍然需要数据,而高质量的监督将在可预见的将来仍然是GenAI系统的关键部分。

总结

本章介绍了围绕机器学习的训练数据的高层次概念。让我们回顾一下为什么训练数据很重要:

  1. 消费者和企业对内置机器学习的期望日益增加,无论是对现有系统还是新系统,都增加了对训练数据的重要性。
  2. 它是开发和维护现代机器学习程序的基础。
  3. 训练数据是一门艺术和一种新的范式。它是围绕新型、数据驱动的程序的一系列思想,由人类控制。它与传统的机器学习不同,包括新的哲学、概念和实施。
  4. 它构成了新的人工智能/机器学习产品的基础,通过替代或通过人工智能/机器学习升级改进现有业务线的成本,同时为研发提供了丰富的土壤。
  5. 作为技术专业人士或领域专家,现在拥有这一技能集是很重要的。

训练数据的艺术与数据科学是不同的。它的重点是对系统的控制,目标是系统本身会学习。训练数据不是一个算法或一个单一的数据集。它是一种跨足专业角色的范式,从领域专家、数据科学家到工程师等。这是一种思考系统的方式,为新的用例和机会打开了大门。

在继续阅读之前,我鼓励你回顾一下本章的这些关键高层次概念:

  1. 关注的主要领域包括模式、原始数据、质量、集成和人类角色。
  2. 传统训练数据关注的是发现,而现代训练数据是一门创造性的艺术;是“复制”知识的手段。
  3. 深度学习算法根据训练数据生成模型。训练数据定义了目标,算法定义了如何朝着这个目标努力。
  4. 仅在“实验室”中验证的训练数据很可能在现场失败。通过主要使用现场数据作为起点、通过调整系统设计,并期望迅速更新模型,可以避免这种情况。
  5. 训练数据就像代码一样。

在下一章中,我们将介绍如何设置训练数据系统,并学习相关工具。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

3分钟快速部署个性化Gemini | Gemini Pro Chat 项目详细部署步骤

2023-12-26 11:13:00

AI教程

训练数据工具:启动、运行和优化

2023-12-26 11:19:00

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索