以前,数据标注者总是被称为“最后一批被AI取代的人”。开发机器学习应用程序的最大瓶颈之一是对用于训练现代机器学习模型的大型标记数据集的大量需求。即使是领先的AI初创公司,最关键的部分仍然是从数据标签开始。目前,人工标注的训练集既昂贵又费时,数据组装、清洗和调试是机器学习模型能否成功构建的源泉。Stanford和Brown最近合作开展了“SnorkelDrybell:在工业规模部署弱监管的案例研究”,探讨了组织中的现有知识如何用于嘈杂、更高级别的监管——弱监督以快速标记大型训练数据集。在这项研究中,采用了一个实验性的内部系统SnorkelDrybell,使用开源的Snorkel框架,利用各种组织知识资源,如内部模型、本体、遗留规则、知识图谱等,生成网络-广泛的机器学习模型。训练数据。这种方法与手动标记数千个数据点相当,并揭示了如何在实践中为现代机器学习模型创建训练数据集的核心课程。SnorkelDryBell不手动标注训练数据,而是通过编程方式编写标注函数来标注训练数据。在此过程中,我们探索这些标签特征如何获取工程师的知识,将现有资源用作弱监督的启发式方法。例如,假设我们的目标是识别与名人相关的内容。通过将不包含名人的内容标记为不相关,可以利用现有的命名实体识别(NER)模型来完成此任务。这说明了如何将现有知识资源与简单的编程逻辑结合起来,为新模型标记训练数据。更重要的是,这个标记函数在许多情况下返回None-即弃权,因此只标记了一小部分数据。我们的总体目标是使用这些标签来训练可以推广到新数据的现代机器学习模型。标签功能示例利用现有知识资源(在本例中为NER模型(2)),而不是手动标记数据点(1),以及代码(3)中表达的一些简单逻辑来启发式地标记数据。这种用于标记训练数据的编程接口比手动标记单个数据点更快、更灵活,但生成的标签质量明显低于手动指定的标签。这些标记函数生成的标签通常重叠且不一致,因为标记函数不仅可能具有未知的准确性,而且还可能以任意方式相关(例如,共享公共数据源或启发式)。为了解决嘈杂和相关标签的问题,SnorkelDryBell使用生成建模技术来自动估计标签函数的准确性和相关性(不使用任何地面实况训练标签),然后使用它重新加权并将输出组合到每个in数据点的单一概率标签。在高层次上,我们依赖于观察到的标记函数(协方差矩阵)之间的一致性和不一致性,并使用一种新颖的矩阵完成式方法来学习标记函数的准确性和相关参数**来解释这个观察到的输出.生成的标签可用于训练任意模型(例如在TensorFlow中)。1.利用多样化的知识资源作为弱监督为了研究SnorkelDrybell的有效性,我们使用三个生产任务和相应的数据集,目的是对网络内容中的主题进行分类,识别特定产品和检测特定直播事件。使用SnorkelDryBell,可以利用各种现有的或快速指定的信息源,例如:启发式和规则:例如关于目标域中现有的人工编写的规则。主题模型、标签和分类器:例如目标域或相关域上的机器学习模型。聚合数据:例如目标域的跟踪指标。知识或实体图:例如目标领域的事实数据库。在SnorkelDryBell中,目标是训练机器学习模型(C),例如对Web数据上的内容或事件进行分类。在SnorkelDryBell中,用户不是手动标记训练数据,而是编写代表各种组织知识资源的标记函数(A),然后自动重新加权和组合(B)。我们使用这些组织知识资源以基于MapReduce模板的方法编写标记函数。每个标记函数获取一个数据点,将其删除或输出。结果是大量程序生成的训练标签。然而,这些标签中有许多是嘈杂的,彼此冲突(例如启发式),或者对于我们的任务来说过于粗粒度(例如主题模型),导致需要SnorkelDryBell自动清理标签并将它们集成到最终的训练集。2.合并和重新利用现有资源以进行精确建模为了处理这些嘈杂的标签,下一阶段SnorkelDryBell将标签函数的输出组合到每个数据点的单个置信度加权训练标签中。技术挑战在于,这必须在没有任何基本事实标签的情况下完成。我们使用生成建模技术仅使用未标记数据来学习每个标记函数的准确性。该技术通过观察标记函数输出之间的一致性和差异矩阵来学习,给定它们之间的已知(或统计估计)相关结构。在SnorkelDryBell中,为了处理网络规模的数据,我们还使用了这种建模方法的更快、无样本版本,在TensorFlow中实现。通过在SnorkelDryBell中对程序的标记特征输出进行组合建模,可以生成高质量的训练标签。事实上,在两个可用于比较手动标记训练数据的应用程序中,我们使用SnorkelDryBell的标签实现了预测精度训练,与12,000和80,000个手动标记训练数据点的预测精度一致。3.将不可服务的知识转化为可服务的模型在许多情况下,生产就绪的可提供和不可服务功能之间也存在重要区别。这些无法交付的特性可能有非常丰富的信号,但普遍的问题是如何使用它们来训练或帮助可交付的模型部署到生产环境中。在许多设置中,用户编写的标签功能利用了组织中在生产中不可用的知识资源(a)——例如聚合统计数据、内部模型或知识图在生产中太有用太慢或太昂贵而无法训练仅在可生产服务特征(b)之上定义的模型,例如廉价的实时网站信号。在SnorkelDryBell中,我们发现用户可以编写标签函数,即表达他们的组织知识,使用SnorkelDryBell输出的训练标签在另一个不可用的特征集上训练定义的模型。在创建的基准数据集上,这种交叉特征转换将性能平均提高了52%。更广泛地说,它代表了一种简单而强大的方法,可以使用速度太慢(例如昂贵的模型或聚合统计数据)、私有(例如实体或知识图)或不适合部署的资源来使用廉价的真实模型来训练可服务的模型。时间特征。这种方法可以看作是一种新型的迁移学习,它不是在不同数据集之间迁移模型,而是在不同特征集之间迁移领域知识——这种方法不仅在工业领域用例中具有潜力,而且还有潜在的用例在医疗领域及其他领域。
