数据编程:快速创建大型训练集
机器学习
2018-12-10 v3 人工智能
机器学习
摘要
大型标注训练集是监督学习方法的关键构建模块,也是深度学习技术的关键使能因素。对于某些应用而言,创建标注训练集是应用机器学习中最耗时且昂贵的部分。因此,我们提出了一种称为数据编程的范式,用于以编程方式创建训练集。在该范式中,用户将弱监督策略或领域启发式规则表达为标注函数,这些函数是标注数据子集的程序,但具有噪声且可能相互冲突。我们证明,通过将该训练集标注过程显式地表示为一个生成模型,我们可以对生成的训练集进行“去噪”,并从理论上证明我们能够在少数设定下恢复这些生成模型的参数。随后,我们展示了如何修改判别损失函数使其具备噪声感知能力,并在包括逻辑回归和 LSTM 在内的一系列判别模型上演示了我们的方法。在实验方面,在 2014 年 TAC-KBP 槽填充挑战赛中,我们展示了数据编程本可带来新的获胜分数,并且还展示了将数据编程应用于 LSTM 模型可使 TAC-KBP 分数比最先进的 LSTM 基线高出近 6 个 F1 点(并在竞赛中位居第二)。此外,在初步的用户研究中,我们观察到当训练数据有限或不可用时,数据编程可能是非专家创建机器学习模型的一种更简便的方式。
引用
@article{arxiv.1605.07723,
title = {Data Programming: Creating Large Training Sets, Quickly},
author = {Alexander Ratner and Christopher De Sa and Sen Wu and Daniel Selsam and Christopher Ré},
journal= {arXiv preprint arXiv:1605.07723},
year = {2018}
}