2023-01-31 13:20 浏览量:559
“人工智能始于‘好’数据”这一说法已经得到了数据科学家、分析师和企业家的广泛认同。我们为预测、分类和各种分析任务,构建复杂人工智能模型的能力在显著提高,而且有大量相当容易使用的工具可以让数据科学家和分析师在几天内构建复杂模型。随着模型构建变得更加容易,高质量数据的问题变得比以往任何时候都更加明显。O’Reilly最近的一项调查发现,那些在AI实践方面的资深用户认为“缺乏数据或数据质量问题”是阻碍人工智能技术进一步应用的主要瓶颈(通过模型投入生产的时间来衡量)。
即使在构建稳健模型方面取得了进展,但现实是,嘈杂和不完整的数据仍然是有效的端到端解决方案的最大障碍。在结构化企业数据的情况下,这个问题更加严重。这些数据集通常是孤立的、不完整的,而且极其缺乏联系。此外,领域知识通常没有编码在数据中(也没有完全记录),成为这些数据的一个组成部分。如果您还对数据的关联性和领域知识有需求,那么将面临大量数据质量问题。
在这篇文章中,我们将介绍为机器学习(ML)模型生成数据的各种努力。总的来说,实现这一目标有两条主线:(1)清理现有数据,(2)生成更多数据以帮助训练所需的模型。基于学术界的多项新成果,ML模型的有效使用在这两个方面都取得了新进展。
处理数据质量的最大陷阱之一是对所有数据问题一视同仁。学术研究在描述不同类型的数据质量问题时更加谨慎。我们看到主要有两类问题,它们具有不同程度的复杂性,通常需要不同的方法和工具来解决它们。由于它们在大多数数据科学项目上消耗了大量时间,因此我们在本篇文章中着重强调这两类主要的数据质量问题:
数据统一和集成
即使伴随着大量数据接收、消息传递、排队和流处理的开源工具兴起,孤立的数据和数据集仍被困在各个业务部门的围墙之中,这是任何大型企业的常态。数据统一或集成是指将这些数据合并到一个统一的数据上下文中的一组活动。模式匹配和映射、记录链接和重复数据消除以及各种控制活动是数据集成解决方案中常见的任务类型。ML的进步提供了一种可扩展和高效的方式,来替代那些传统的自上而下、基于规则的系统,这些传统的方式通常会导致在当今的大数据环境中的成本巨大,而且成功率还不高。自底向上的解决方案与人工指导的ML管道展示了如何利用可用的规则和人工专业知识来训练可扩展的集成模型,这些模型可用于数千个数据源以及大量数据。我们在前面的文章中讨论了使用ML解决这类问题的一些挑战和促成因素。
这类数据统一问题在解决复杂度方面有其自身的特点:(1)问题通常是输入大小的二次方(因为我们需要将所有内容与其他内容进行比较),以及(2)主要的ML任务得到了充分理解,主要是确定两个“东西”是否相同。这些特性对解决方案的设计有相当大的影响。例如,如果我们甚至不能列举所有可能正确的检查点,那么我们最不担心的就是找到重复或匹配模式的复杂模型。数据统一问题的有效解决方案往往是一项严肃的工程:(1)删减可能的候选空间;(2)与专家有效互动,提供培训数据并验证机器决策;以及(3)保持丰富的血统和起源,以跟踪决策,以便审计、修改或重用未来用例。由于ML任务的性质(这里主要是布尔分类)和结构的丰富性,大多数成功的模型往往是旧的“浅层”模型,如随机森林,并借助简单的语言模型(帮助处理字符串数据)。有关详细信息,请参阅本文中的数据集成状态。
孤立的或集成的数据常常是嘈杂的、缺失的,有时甚至存在矛盾。数据清理是一项重要的数据质量工作,重点是发现并(希望)修复此类错误。与数据集成一样,数据清理工作通常采用密集的人工工作或基于规则的解决方案。
然而,此类问题具有不同的复杂性和特性,这些特性会影响解决方案的设计:核心ML任务通常比匹配任务复杂得多,并且需要构建能够理解“数据是如何生成的”和“错误是如何引入的”的模型,以便能够反转该过程以发现和修复错误。
虽然数据清理长期以来一直是学术界的一个研究课题,但它通常被视为一个理论逻辑问题。这可能解释了为什么很多解决方案都没有在实际中被采用。好消息是,学术界的研究人员最近成功地开展了大量的工作,并将其与可扩展的统计推断功能相结合,用于数据清理。
开源HoloClean概率清理框架是目前最先进的基于ML的自动错误检测和修复系统。HoloClean采用众所周知的“噪声信道”模型来解释数据是如何生成的以及数据是如何被“污染”的。然后,它利用所有已知的领域知识(如可用规则)、数据中的统计信息以及可用的可信来源来构建复杂的数据生成和错误模型。最后,模型被用来发现错误数据,并建议“最可能”的值来替换这些数据。
关注规模是清理和集成的一个共同要求:构建这样的复杂模型需要通过一系列操作来“特征化”整个数据集,例如,计算违反规则的情况、计算并发事件或构建语言模型。因此,ML清洁解决方案需要在如何避免这些操作的复杂性方面具有创新性。例如,HoloClean使用一些方法来修复数据库单元的域值,并对底层模型应用合理的参数调节,以实现所需的可伸缩性。
较旧的研究工具难以处理各种类型的错误,以及如何组合异构质量输入(例如,业务和质量规则、政策、数据中的统计信号等)。HoloClean框架以两种基本方式推进了最新技术:(1)将数据的逻辑规则和统计分布组合成一个连贯的概率模型;以及(2)通过一系列系统和模型优化来扩展学习和推理过程,从而使其能够部署在人口普查组织和大型商业企业中。
通过统一或清理,或两者兼而有之,提高可用数据的质量,无疑是利用企业数据资产的一个重要而有前途的方法。然而,对更多数据的追求还没有结束,主要原因有两个:
解决这两个问题的一个重要范例是数据编程的概念。简而言之,数据编程技术提供了“制造”数据的方法,我们可以将这些数据提供给各种学习和预测任务(即使是ML数据质量解决方案)。
实际上,“数据编程”是一类通过编程创建训练数据集技术的统称。在这类工具中,Snorkel等框架展示了如何让开发人员和数据科学家专注于编写标记函数,以编程方式标记数据,然后对标签中的噪声进行建模,以有效地训练高质量模型。
虽然使用数据编程来训练高质量的分析模型可能很清楚,但我们发现在ML模型内部如何使用它来实现我们在本文前面提到的数据统一和清理非常有趣。例如,像Tamr这样的工具利用客户编写的遗留规则来生成大量(以编程方式)标记的数据,以支持其匹配的ML管道。在最近的一篇论文中,HoloClean项目展示了如何使用“数据增强”来生成许多可能错误的例子,以支持其自动错误检测模型。
我们在这里提出的寻求高质量数据的解决方案已经在今天的市场上得到了很好的验证。用于数据统一的ML解决方案(如Tamr和Informatica)已经在大量Fortune-1000企业中部署。HoloClean等自动数据清理解决方案已经被多家金融服务机构和各国人口普查局部署。越来越多的Snorkel用户表明,数据编程解决方案开始改变数据科学家提供ML模型的方式。随着我们在理解集成、清理和自动数据生成的各种问题之间的差异方面越来越成熟,我们将看到在处理企业中有价值的数据资产方面的真正改进。
机器学习应用程序依赖于三个主要组件:模型、数据和计算。许多文章都是关于新的突破性模型的,其中许多是由研究人员创建的,他们不仅发表了论文,还同时发表了利用流行开源库中编写的代码。此外,自动化机器学习的最新进展已经产生了许多可以(部分)自动化模型选择和超参数调整的工具。因此,数据科学家现在可以使用许多尖端模型。同样,云平台使开发人员更容易访问计算和硬件。
模型越来越成为商品。正如我们在上面的调查结果中所指出的,现实是缺乏高质量的训练数据仍然是大多数机器学习项目的主要瓶颈。我们相信,机器学习工程师和数据科学家将继续将大部分时间用于创建和完善训练数据。幸运的是,转机正在来临:正如在这篇文章中所描述的那样,我们终于开始看到此类技术正是基于满足高质量训练数据的需求。
来源:DAMA数据管理
作者:伊哈布·伊利亚斯和本·洛丽塔
译者:马欢