斯坦福大学李飞飞团队的新研究发表在Nature子刊:要实现可信的AI,数据设计、完善和评估是关键。尤为重要。在以前的AI开发流程中,数据集通常是固定的,开发工作集中在迭代模型架构或训练过程以提高基线性能。现在,数据迭代是重点,因此我们需要更系统的方法来评估、过滤、清洗和注释用于训练和测试AI模型的数据。近日,斯坦福大学计算机科学系的梁伟新、李飞飞等人在《自然-机器智能》联合发表了一篇题为《Advances,challengesandopportunitiesincreatingdatafortrustworthyAI》的文章。Thekeyfactorsandmethodsforensuringdataqualityarediscussedabove.论文地址:https://www.nature.com/articles/s42256-022-00516-1.epdf?sharing_token=VPzI-KWAm8tLG_BiXJnV9tRgN0jAjWel9jnR3ZoTv0MRS1pu9dXg73FQ0NTrwhu7Hi_VBEr6peszIAFc6XO1tdlvV1lLJQtOvUFnSXpvW6_nu0Knc_dRekx6lyZNc6PcM1nslocIcut_qNW9OUg1IsbCfuL058R4MsYFqyzlb2E%3DAI数据流程中的主要步骤包:数据设计(数据的采集和记录)、数据改进(数据筛选、清洗、标记、扩充)以及用于评估和监控AI模型的数据策略,每一项都会影响最终AI模型的可信度。图1:从数据设计到评估的以数据为中心的方法开发路线图。1.AI的数据设计一旦确定了AI应用程序,开发AI模型的第一步就是设计数据(即识别和记录数据源)。设计应该是一个迭代过程——实验数据用于开发初始AI模型,然后收集额外的数据来修补模型的局限性。设计的一个关键标准是确保数据适合任务并覆盖足够的范围以表示模型可能遇到的不同用户和场景。而目前用于开发AI的数据集通常覆盖范围有限或存在偏差。例如,在医疗AI中,用于开发算法的患者数据收集在地理上不成比例,这可能会限制AI模型对不同人群的适用性。增加数据覆盖面的一种方法是让更广泛的社区参与其创建。CommonVoice项目就是一个例子,它是目前最大的公共数据集,包含来自166,000多名参与者的76种语言的11,192小时语音转录。当难以获得代表性数据时,可以使用合成数据来填补覆盖空白。例如,真实面孔的收集通常涉及隐私问题和采样偏差,而深度生成模型创建的合成面孔现在已被用于缓解数据不平衡和偏差。在医疗保健领域,可以共享合成医疗记录以促进知识发现,而无需透露实际患者信息。在机器人技术中,现实世界的挑战是最终的试验台,高保真模拟环境可用于让代理在复杂和长期的任务中更快、更安全地学习。但是合成数据也存在一些问题。合成数据与真实数据之间始终存在差距,因此在将基于合成数据训练的AI模型迁移到现实世界时,往往会出现性能下降。如果模拟器在设计时没有考虑到少数群体,合成数据也会加剧数据差异,并且AI模型的性能高度依赖于其训练和评估数据的上下文,因此记录数据设计的上下文很重要在标准化和透明的报告中。研究人员现在已经创建了各种“数据营养标签”来捕获有关数据设计和注释过程的元数据。有用的元数据包括数据集中参与者的性别、性别、种族和地理位置的统计数据,这有助于确定是否有未被覆盖的代表性不足的子群体。数据来源也是一种元数据,用于跟踪数据的来源和时间以及生成数据的过程和方法。元数据可以保存在专门的数据设计文档中,这对于观察数据的生命周期和社会技术背景非常重要。文档可以上传到稳定且集中的数据存储库,例如Zenodo。2.完善数据:经过筛选、清洗、标注、增强初始数据集收集后,我们需要进一步完善数据,为人工智能的发展提供更有效的数据。这是AI以模型为中心的方法与以数据为中心的方法之间的关键区别,如图2a所示,以模型为中心的研究通常基于给定的数据,专注于改进模型架构或优化此数据。而以数据为中心的研究侧重于可扩展的方法,通过数据清洗、筛选、标记和增强等过程来系统地改进数据,并可以使用一站式模型开发平台。图2a:以模型为中心和以数据为中心的AI方法比较。MNIST、COCO和ImageNet是AI研究中常用的数据集。数据筛选如果数据集噪声很大,我们在训练前必须仔细筛选数据,这可以显着提高模型的可靠性和泛化性。图2a中的飞机图像是应该从鸟类数据集中删除的噪声数据点。在图2b中,由于训练数据存在偏差,在先前使用的大规模皮肤病学数据上训练的四个最先进的模型都表现不佳,尤其是在皮肤较深的图像上诊断不佳,而在训练有素的较低模型1中小而高质量的数据在深色和浅色肤色上相对更可靠。图2b:浅色皮肤和深色皮肤图像的皮肤病学诊断测试性能。图2c显示了ResNet、DenseNet和VGG这三种流行的图像分类深度学习架构在噪声图像数据集上训练时表现不佳。经过数据Shapley值过滤后,质量较差的数据被删除,在更干净的数据子集上训练的ResNet模型的性能明显更好。图2c:数据过滤前后不同模型的物体识别测试性能对比。括号中的数字表示过滤掉噪声数据后剩余的训练数据点数,结果聚合在五个随机种子上,阴影区域表示95%的置信区间。这就是数据评估的意义所在,旨在量化不同数据的重要性,并过滤掉可能因质量差或偏差而损害模型性能的数据。数据清洗在这篇论文中,作者介绍了两种数据评估方法来帮助清洗数据:一种方法是衡量在训练过程中去除不同数据时AI模型性能的变化,可以使用数据的Shapley值或影响的近似值,如下图3a所示。这种方法可以有效计算大型AI模型的评估。图3a:数据评估。数据的Shapley值衡量了在训练过程中去除特定点时,在数据的不同子集上训练的模型的性能变化(图中被叉掉的褪色星),从而量化每个数据点(五角星)符号)值。颜色表示类别标签。另一种方法是预测不确定性以检测质量较差的数据点。数据点的人工注释可能会系统地偏离AI模型预测,而自信的学习算法可以检测到这些偏差,超过3%的测试数据被发现在ImageNet等常见基准测试中被错误标记。过滤掉这些错误可以大大提高模型的性能。数据标签数据标签也是数据偏差的主要来源。尽管AI模型可以容忍一定程度的随机标签噪声,但有偏差的错误会产生有偏差的模型。目前主要靠人工标注,成本很高。例如,标注单个LIDAR扫描的成本可能超过30美元,因为它是3D数据,标注者需要绘制一个3D边界框,这比一般的标注任务要求更高。因此,笔者认为,需要对MTurk等众包平台的标注工具进行仔细标定,以提供一致的标注规则。在医疗保健环境中,还要考虑到注释者可能需要专业知识或可能拥有无法众包的敏感数据。降低注释成本的一种方法是数据编程。在数据编程中,AI开发者不再需要手动标注数据点,而是编写程序标注函数自动标注训练集。如图3b所示,在使用用户定义的标签函数为每个输入自动生成多个潜在噪声标签后,我们可以设计额外的算法来聚合多个标签特征以减少噪声。图3b:数据编程。另一种降低标记成本的“人在环路”方法是优先考虑最有价值的数据,以便我们可以通过主动学习进行标记。主动学习从最优实验设计中汲取灵感,其中算法从一组未标记的数据点中选择信息量最大的点,例如具有高信息增益或模型具有不确定性的点单击它,然后手动标记它。这种方法的好处是所需的数据量远小于标准监督学习所需的数据量。数据增强最后,数据增强是在现有数据仍然有限的情况下扩展数据集和提高模型可靠性的有效方法。计算机视觉数据可以通过图像旋转、翻转和其他数字转换得到增强,文本数据可以通过自动书写风格得到增强。最近还有Mixup,这是一种更复杂的增强技术,它通过插入成对的训练样本来创建新的训练数据,如图3c所示。除了人工数据增强,目前针对AI的自动化数据增强流程也是比较流行的方案。此外,当有未标记数据可用时,也可以通过使用初始模型进行预测(这些预测称为伪标签)来实现标签增强,然后在具有真实和高置信度的伪标签的组合数据上训练更大的模型。标签。模型。图3c:Mixup通过创建插入现有数据的合成数据来扩充数据集。蓝点代表训练集中的现有数据点,红点代表通过插值两个现有数据点创建的合成数据点。3.用于评估和监控人工智能模型的数据模型训练完成后,人工智能评估的目标是模型的通用性和可信度。为了实现这个目标,我们应该仔细设计评估数据以找到模型的真实世界设置,并且评估数据也需要与模型的训练数据有足够的差异。例如,在医学研究中,人工智能模型通常是根据少数医院的数据进行训练的。当在新医院部署此类模型时,由于数据收集和处理的差异,它们的准确性会降低。为了评估模型的泛化性,需要收集来自不同医院和不同数据处理管道的评估数据。在其他应用中,评估数据应该从不同的来源收集,最好由不同的标注者标记为训练数据。同时,高质量的人工标签仍然是最重要的评价。AI评估的一个重要作用是确定AI模型是否在没有很好地形成概念的训练数据中使用虚假关联作为“捷径”。例如,在医学成像中,数据的处理方式(例如裁剪或图像压缩)可能会为模型选择创建虚假相关(即捷径)。这些捷径可能表面上有用,但当模型部署在稍微不同的环境中时可能会发生灾难性的失败。系统数据消融是检查潜在模型“捷径”的好方法。在数据消融中,人工智能模型在虚假相关表面信号的消融输入上进行训练和测试。图4:数据消融作为使用数据消融来检测模型捷径的示例,一项关于常见自然语言推理数据集的研究发现,仅在文本输入的前半部分进行训练的AI模型在推断前半部分时表现更差文本和后半部分之间的逻辑关系实现了高精度,而人类能够推断出关于相同输入的随机猜测。这表明AI模型使用虚假相关作为完成这项任务的捷径。研究团队发现,AI模型会利用特定的语言现象,例如文本中的否定与标签高度相关。数据消融被广泛应用于各个领域。例如,在医学中,图像的生物学相关部分可以被屏蔽掉,以此作为评估AI是从虚假背景还是从图像质量假象中学习的一种方式。人工智能评估通常仅限于比较跨测试数据集的总体性能指标。但即使AI模型在聚合数据上运行良好,它仍然可以在特定数据子组上显示系统错误,而这些错误集群的特征可以让我们更好地理解模型的局限性。当元数据可用时,细粒度评估方法应尽可能按数据集中参与者的性别、性别、种族和地理位置对评估数据进行切片——例如,“亚洲老年男性”或“美洲原住民女性”——并量化模型在每个数据子组上的性能。多精度审计是一种自动搜索AI模型表现不佳的数据子组的算法。在这里,审计算法被训练使用元数据来预测和聚类原始模型中的错误,然后为AI模型做错了什么以及为什么做错等问题提供可解释的答案。当元数据不可用时,Domino等方法会自动识别评估模型容易出错的数据集群,并使用文本生成来创建对这些模型错误的自然语言解释。4.数据的未来大多数当前的人工智能研究项目只开发一次数据集,但现实世界中的人工智能用户往往需要不断更新数据集和模型。持续的数据开发将带来以下挑战:首先,数据和AI任务都可能随时间发生变化:例如,一种新的车型可能出现在路上(即域转移),或者AI开发人员可能想要识别一类新的对象(例如不同于普通公交车的校车类型),这会改变标签的分类。丢弃数百万小时的旧标签数据是一种浪费,因此更新势在必行。此外,应仔细设计培训和评估指标,以权衡新数据并为每个子任务使用适当的数据。其次,为了持续获取和使用数据,用户需要将大部分以数据为中心的人工智能流程自动化。这种自动化涉及使用一种算法来选择将哪些数据发送到标记器,以及如何使用它来重新训练模型,并且仅在过程中出现问题时(例如,当准确性指标下降时)才提醒模型开发人员。作为“MLOps(机器学习操作)”趋势的一部分,业内公司开始使用工具来自动化机器学习生命周期。
