数据标注:对抗数据漂移的无名英雄
作者:Sundeep Teki博士。
数据漂移是生产机器学习系统中常见的问题。当训练(源)数据和测试(目标)数据的统计特征开始出现显著差异时,就会发生这种情况。如下图所示,描述原始数据分布的橙色曲线偏移到紫色曲线,这表示均值、方差等统计属性发生了变化。
因此,一个在原始数据上表现良好的机器学习模型(橙色曲线)现在无法在新数据分布(紫色曲线)上匹配其先前的预测准确性。
数据漂移是由数据分布变化引起的。图表基于Evidently AI博客文章《为什么你应该关注数据和概念漂移》中的图片。
理解数据漂移对于保持生产环境机器学习系统的预测能力至关重要。例如,一个数据科学团队可能在2019年开始研究一个机器学习用例,使用的是2018年的训练数据,但当模型准备投入生产时,时间已经到了2020年。2018年的源数据与2020年的实时数据之间可能存在巨大的分布变化。
每当机器学习模型准备发布时,都需要在实时数据上进行严格测试。在将模型部署到生产环境之前检测数据漂移至关重要。
在本文中,我将通过多个示例说明不同类型的数据漂移及其对模型性能的影响。同时我也会探讨数据标注这一应对数据漂移的常用方法,以及如何高效执行数据标注工作。
数据漂移发生的原因
在现实场景中,数据漂移可能由多种原因引起:
- 季节性趋势
- 新功能或产品的发布导致用于训练机器学习模型的数据或特征发生变化
- 罕见的黑天鹅事件,如COVID-19疫情,扰乱了食品、旅游和酒店等特定领域的正常客户行为
继续以COVID-19为例,一个在2020年1月至2月全球封锁开始前训练的数据模型,对2020年3月和4月封锁开始后的数据预测效果会很差。因此,原先训练好的模型不再适用或实用,需要重新训练。
即使源数据的结构或格式发生微小变化,也可能对机器学习模型产生重大影响。例如,数据字段格式的变更(如IP地址、主机名或ID),若缺乏有效的根因分析,往往会在很长时间内难以被发现。
下图展示了数据漂移是如何发生的。蓝点代表在特定时间点收集的源数据或训练数据样本。
原始机器学习模型学习到的函数(绿线)捕捉了训练数据(蓝点)的分布。然而,在测试时,数据分布发生了变化,如测试数据(黑色十字)所示。因此,原始学习到的函数表现将不如真实函数(红色曲线)。该图像参考了格拉纳达大学的一项研究。
在这种情况下,我们可以假设一个回归用例,其目标是预测一个连续目标变量的值。绿线代表基于训练样本训练的回归模型的最佳拟合线。然而,由于数据漂移,黑色的测试样本不再遵循与原始训练数据相同的分布。因此,先前训练的机器学习模型在预测这些测试样本时表现不佳,这些样本不再靠近绿色回归线。
数据分布已从线性转变为非线性,直线作为预测器效果不佳。对新数据分布的最佳拟合遵循图中红色所示的非线性曲线。
检测数据漂移可能具有挑战性,但机器学习团队必须优先解决并识别数据漂移的来源,并予以纠正。
数据漂移的类型
数据漂移有多种类型,但最主要的两种是:
- 协变量漂移
- 概念漂移
协变量漂移指的是与自变量变化相关的数据漂移现象。当某些特征发生变化但仍保持特征与目标变量之间原有关系时,就会发生这种情况。
协变量漂移主要是由于样本选择偏差引起的,这是一种训练数据选择中的系统性偏差,导致训练数据集不均匀且缺乏代表性。非平稳环境,即训练环境与测试环境不同,也会导致协变量漂移。
另一方面,概念漂移指的是自变量与目标变量之间的关系发生变化的情况。
考虑一个电子商务场景下的产品推荐机器学习模型,原始模型基于美国用户的活跃度和交易数据进行训练。现在假设该电商公司计划在拥有相同产品目录的新地区或市场推出服务。当应用于在线购物行为、金融素养或电商网络接入情况存在显著差异的新市场用户时,原始推荐模型将表现不佳。
在这个示例中,用户的在线购物行为存在显著差异。即使使用相同的特征来训练机器学习模型,其表现也可能大幅下降。这种情况下,概念漂移是数据漂移的根本原因,个性化模型需要重新设计并纳入能更好捕捉新用户行为的新特征。
通过数据标注克服数据漂移
为了克服数据漂移问题,您需要使用所有可用数据(包括漂移发生前后的数据)重新训练模型。在将新数据纳入新训练数据集之前,需要对其进行准确标注。
数据标注是指在监督式机器学习中为目标变量提供有意义标签的过程,这些目标变量可以是图像、文本或音频片段。
在数据漂移的背景下,数据标注对于应对数据漂移至关重要,从而直接影响生产环境中机器学习模型的性能。
数据标注是监督式机器学习不可或缺的一部分,模型会根据具体应用场景接收带有相关标签的输入数据。例如,对于学习检测视频中产品植入的模型,系统会向其输入带有产品高亮标记的视频。
通常,数据标注是一项既昂贵又耗时的手动工作。它经常外包给劳动力成本较低的发展中国家的供应商。标注人员需要接受培训以使用标注软件,理解机器学习用例和标注框架,并以高速度和高吞吐量提供高度准确的标签。
在这种情况下,可能会出现标注错误,如果来自新测试或目标分布的数据未被准确标注,会加剧数据漂移问题。实践中已发生多起引发公司声誉损害的争议性标注错误案例,例如当Google Photos将两名黑人标注为"大猩猩"时。
谷歌和Facebook等大型科技公司正在其自动化数据标注算法中努力解决这些问题。标注错误可能由人工标注员造成,也可能由机器学习模型产生。机器学习模型经过训练后,对新数据做出的预测经常被重复利用来增强原始训练数据,从而进一步改进模型。在这种情况下,数据标注错误可能会叠加,导致模型不完善,经常产生如此怪异且有争议的结果。
数据标注通过将来自变化分布的数据整合到原始训练数据集中,有助于缓解数据漂移问题。
回顾之前的图像,这意味着所有测试样本(黑色十字)都需要被标注,并与蓝色点一起包含在扩展的训练数据集中,以帮助减少训练数据集和测试数据集在统计特性上的差异。如果标注了足够多的新数据,那么通过简单地丢弃旧数据并仅使用新标注的数据,就有可能显著减少数据漂移。
因此,根据机器学习应用的性质,正确高效的数据标注是一项具有重大商业影响的关键实践。例如,在欺诈检测用例中,错误的数据标签每次都会导致欺诈检测机器学习模型做出错误预测,从而造成经济损失。不准确的数据标签不仅会影响机器学习模型的性能,还会间接导致数据漂移。任何系统性的数据标注错误都可能加剧问题,因为模型对新数据的预测通常被用来扩充训练数据集。
通过使用直观的软件,数据标注可以即兴发挥并高效执行,使人工标注员能够以高速度和低认知负荷标注数据。为了进一步提升数据标注质量,您可以实施标注者间一致性;特定训练样本会被赋予大多数标注者选择的标签。例如,如果七位标注者中有四位将"Label1"分配给特定数据样本,而其他三位标注者分配"Label2",则该数据样本将被标记为"Label1"。
包括对随机选取的标签进行准确性审核在内的严格操作规范,可以优化流程并提供关于系统性标注错误的反馈。
您还可以利用机器学习辅助数据标注,通过基于人工标注样本训练出的模型对新数据或未标注数据生成预测。这些带噪声的标签可被有效利用:通过整合高置信度的数据样本来构建更优的机器学习模型,同时将低置信度样本返回给人工标注员以获取更精确的标签。通过这种迭代流程,能以最少的人工标注工作量持续提升模型的整体性能。
结论
数据漂移会随着数据分布的变化对机器学习模型的性能产生负面影响。如果不采取有效措施应对,可能导致机器学习模型的预测准确性随时间下降。
数据标注是一种通过为模型预测不佳的新分布或变化分布的数据添加标签来减少数据漂移的技术。这有助于机器学习模型在训练过程中吸收这些新知识,从而提升其性能。
目前有多种工具可帮助标注人员高效完成数据标注工作。例如,Label Studio 是一款开源数据标注工具,为图像、文本、音频以及多领域数据提供标注平台。该工具已被Facebook、NVIDIA、Intel等领先科技公司采用,如果您正在寻找一个强大的开源解决方案来减少数据漂移,不妨试试它。
Label Studio 图像分类数据标注示例的截图。