资讯 人工智能学术
此为临时链接,仅用于文章预览,将在时失效

关于弱监督学习,这可能是目前最详尽的一篇科普文

作者:MrBear 编辑:幸丽娟
2019/05/04 22:58

雷锋网 AI 科技评论按:随着人工智能技术的研究迈过了初期的野蛮生长,走进深水区。如何充分利用人工标注信息、减小标注工作量、将人类经验与学习规则充分结合成为了急需解决的关键问题!本文结合斯坦福 AI 实验室在弱监督学习领域的研究进展、成果以及相关思考,就弱监督学习的理论方法、标注工具、研究进展三个方面展开讨论。

近年来,机器学习对现实世界的影响与日俱增。在很大程度上,这是由于各种各样的深度学习模型的出现,使得从业人员可以在不需要任何手动操作特征工程的情况下,就可以在对比基准数据集上获得目前最佳分数。现在我们可以使用像 TensorFlow 和 PyTorch 这样的各类开源机器学习框架,以及大量可用的最先进的模型,可以说,高质量的机器学习模型现在几乎成为了一种可商品化的资源。然而,这里还存在一个容易被忽视的问题:这些模型依赖于大量手动标注的训练数据。

然而在很多任务中,这些手动标记的训练集创建起来既昂贵又耗时 ,通常需要花费许多人数月或者数年的成本来进行数据的收集、清理和调试 —— 尤其是在需要领域专业知识的情况下。除此之外,任务经常会在现实世界中发生变化和演变。例如,数据标注指南、标注的粒度或下游的用例都经常会发生变化,需要重新进行标记(例如,不仅要将评论分类为正类或负类,还要引入一个中性类别)。可见,由于数据标注需要付出高昂代价,这种强监督信息是很难获得的。因此,研究者们面对急需解决的数据标注问题,整合了现有的主动学习、半监督学习等研究成果,提出了「弱监督学习」概念,旨在研究通过较弱的监督信号来构建预测模型。

弱监督学习理论

弱监督通常分为三种类型:不完全监督、不确切监督、不准确监督。

(1)不完全监督,指的是训练数据只有部分是带有标签的,同时大量数据是没有被标注过的。这是最常见的由于标注成本过高而导致无法获得完全的强监督信号的情况,例如,聘请领域专家直接给大量数据添加标签的成本就相当高。另外,在为医学影像研究构建大型数据集时,放射科医生可不会接受一点小恩小惠就愿意为你标记数据。而且根据笔者的经验,由于医生对于数据科学的了解往往不够深入,有许多数据的标注结果(例如为分割任务框定的病灶轮廓)是无法使用的,从而产生了很多实际上缺少有效标记的训练样本。该问题可以被形式化表达为:

在训练数据为 D = {(x_1, y_1), …, (x_l, y_l), x_{l+1}, …, x_m},其中 l 个数据有标签、u=m-l 个数据无标签的情况下,训练得到 f:x->y。

在诸多针对不完全监督环境开发的机器学习范式中,主动学习、半监督学习、迁移学习是三种最流行的学习范式。

关于弱监督学习,这可能是目前最详尽的一篇科普文

(2)不确切监督,即训练样本只有粗粒度的标签。例如,针对一幅图片,只拥有对整张图片的类别标注,而对于图片中的各个实体(instance)则没有标注的监督信息。例如:当我们对一张肺部 X 光图片进行分类时,我们只知道某张图片是肺炎患者的肺部图片,但是并不知道具体图片中哪个部位的响应说明了该图片的主人患有肺炎。该问题可以被形式化表示为:

学习任务为 f: X -> Y,其训练集为 D = {(X_1, y_1), …, (X_m, y_m)},其中 X_i = {x_{I, 1}, …, x_{I, m_i}}, X_i 属于X,X_i 称为一个包,样本 x_{i, j}属于X_i(j属于{1, …, m_i})。m_i 是 X_i 中的样本个数,y_i 属于 Y = {Y, N}。当存在 x_{i, p}是正样本时,X_i 就是一个正包,其中 p 是未知的且 p 属于 {1, …, m_i}。模型的目标就是预测未知包的标签。

多示例学习已经成功应用于多种任务,例如:图像分类、检索、注释,文本分类,垃圾邮件检测,医疗诊断,人脸、目标检测,目标类别发现,目标跟踪等。

(3)不准确监督,即给定的标签并不总是真值。出现这种情况的原因有很多,例如:标注人员自身水平有限、标注过程粗心、标注难度较大。在标签有噪声的条件下进行学习就是一个典型的不准确学习的情况。而最近非常流行的利用众包模式收集训练数据的方式也成为了不准确监督学习范式的一个重要的应用场所。


关于弱监督学习,这可能是目前最详尽的一篇科普文

图 1.三种弱监督学习的示意图[1].

弱监督学习工具:Snorkel

上面提到的学习范式让我们可以不用找领域专家合作者标注额外的训练标签。然而,对某些数据进行标记是不可避免的。如果我们要求数据标注者采用各种类型的更高级、或不那么精确的监督形式,以便能够更快、更简便地提供,对给数据标注工作带来什么影响?例如,放射科医生花一个下午的时间来标记一组启发式的规则或其他资源,如果处理得当,这些资源将能有效地替代数以千计的训练标签,这样的话又可以给数据标注工作带来怎样的作用 ?

将领域知识注入人工智能

从历史维度来看,试图对人工智能进行「编程」(即注入领域知识)并不是什么新鲜事——而本次要探讨的新问题是,AI 虽然在可解释性和可控性方面依旧还是一个「黑盒子」,然而在性能方面却从未像现在这样强大。

关于弱监督学习,这可能是目前最详尽的一篇科普文

20 世纪 70 年代和 80 年代,专家系统是人工智能领域的研究重点,它将来自领域专家手动建立的事实和规则的知识库结合起来,并使用推理引擎来应用它们。20 世纪 90 年代,机器学习作为将知识集成到人工智能系统的工具,开始蓬勃发展,有望能够实现从人工标注训练数据到机器以强大而灵活的方式自动标注训练数据。

经典的(非表示学习)机器学习方法通常有两个领域专家输入的端口。首先,这些模型的复杂度通常比现代模型要低得多,这意味着可以使用规模更小的手动标注数据。其次,这些模型依赖于手动设计的特征,它们为编码、修改和与模型的数据基本表示形式的交互提供了一种直接的方法。然而,通常来说,无论过去还是现在,特征工程都被认为是机器学习专家的任务,他们通常会在整个博士生涯中为特定的任务设计特征。

下面让我们来看看深度学习模型:由于它们具有跨多个领域和任务自动学习表示的强大能力,它们在很大程度上避免了特征工程的任务。然而,它们大部分都完全是个黑盒子,普通开发人员除了能对它们标注大量的训练集和调整网络架构外,几乎无法控制它们。在很大程度上,它们站在了脆弱但易于控制的旧专家系统规则的对立面——它们灵活但难以控制。

这使我们从一个稍微有些不同的角度重新回看最初的问题:我们如何才能利用我们的领域知识或面向细分任务的专业知识来对现代深度学习模型进行编程?有没有办法将基于规则的旧专家系统的直接性与当下这些机器学习方法的灵活性和强大功能结合起来?

使用代码进行监督:通过编程训练机器学习系统

Snorkel 是斯坦福 AI 实验室为支持和探索这种与机器学习模型进行的新型交互而构建的一个系统。在 Snorkel 中,他们不使用手动标注的训练数据,而是要求用户编写标注函数,即用于标注未标注数据子集的黑盒代码片段。

然后,研究人员可以使用一组这样的标注函数来为机器学习模型标注训练数据。由于标记函数只是任意的代码片段,所以它们可以对任意信号进行编码:模式、启发式、外部数据资源、来自众包人员的带噪声的标签、弱分类器等等。而且,他们还可以获得标注函数作为代码所特有的其他相关的好处,比如模块化、可重用性和可调试性。例如,如果建模目标发生了变化,他们可以调整标注函数来快速适应这种变化!

关于弱监督学习,这可能是目前最详尽的一篇科普文

 

当然,Snorkel 存在的一个问题是,标注函数会产生带噪声的输出,这些输出可能会重合并冲突,从而产生不太理想的训练标签。在 Snorkel 中,他们使用数据编程方法对这些标签进行去噪,该方法包括三个步骤:

这整个工作流程可以被视为提供了一个简单的、鲁棒的、与模型无关的方法对机器学习模型进行「编程」。

标注函数 

斯坦福 AI 实验室表示,从生物医学文献中提取出结构化的信息是最鼓舞他们的应用之一:从数百万篇科学论文的密集的非结构化文本中锁定大量有用的信息。他们希望使用机器学习技术来提取这些信息,从而使其生物医学合作者可以使用这些信息来诊断遗传病。

对于从科学文献中提取出某种「化学——疾病」关系的任务来说,他们可能还没有规模足够大的标注训练数据集来完成这项任务。然而,在生物医学领域,存在着丰富的知识本体、词典等资源,其中包括各种化学与疾病名称的知识本体、各种类型的已知化学——疾病关系的数据库等,研究人员可以利用这些资源来为他们的任务提供弱监督。此外,他们还可以与生物医学合作者一起提出一系列针对于特定任务的启发式、正则表达式模式、经验法则和负标签生成策略。

关于弱监督学习,这可能是目前最详尽的一篇科普文

将生成模型作为一种表达载体

在斯坦福 AI 实验室的方法中,他们认为标注函数隐式地描述了一个生成模型。快速回顾一下:给定数据点 x,想要预测的未知标签 y,他们在判别方法中直接对 P(y|x) 建模,在生成方法中则对 P(x,y) = P(x|y)P(y) 建模。在本例,他们对标注训练集的过程 P(L,y) 建模,其中 L 是由对象 x 的标注函数生成的标签,y 是相应的 (未知的) 真值标签。通过学习生成模型,并直接估计 P(L|y),他们本质上是在根据它们如何重合并冲突来学习标注函数的相对准确性 (要注意地是,本例中不需要知道 y!)

 

关于弱监督学习,这可能是目前最详尽的一篇科普文

他们使用这个估计出的生成模型,在标注函数上训练一个能够感知噪声的版本的最终判别模型。为了做到这一点,生成模型推断出训练数据的未知标签的概率,然后他们再最小化关于这些概率的判别模型的期望损失。

估计这些生成模型的参数可能非常困难,特别是当使用的标注函数之间存在统计依赖性时。在论文「Data Programming: Creating Large Training Sets, Quickly」(https://arxiv.org/abs/1605.07723)中,论文作者证明了在给定足够的标注函数的条件下,可以得到与监督方法相同的。同时,该论文还研究了如何在不使用标注数据的情况下学习标注函数之间的相关性,以及如何显著提高性能。

Snorkel 框架

关于弱监督学习,这可能是目前最详尽的一篇科普文 

在斯坦福 AI 实验室最近发表的关于 Snorkel 的论文 (https://arxiv.org/abs/1711.10160)中,他们发现在各种实际应用中,这种与现代机器学习模型交互的新方法非常有效!其中的一些亮点包括:

下一步:大规模多任务弱监督学习

斯坦福 AI 实验室正在进行各种努力,将 Snorkel 设计的弱监督交互模型扩展到其它的模态中,如格式丰富的数据和图像、使用自然语言的监督任务以及自动生成标注函数!

在技术方面,他们对扩展 Snorkel 的核心数据编程模型,使其更容易指定具有更高级别接口(如自然语言)的标注函数,以及结合其他类型的弱监督学习技术 (如数据增强)感兴趣。

随着多任务学习的场景越来越普遍,也引发了这些问题:当带噪声的、可能相关的标注源现在要标注多个相关任务时会怎么样(不准确监督)?能否通过对这些任务的监督进行联合建模来提升性能?在一个新的多任务感知版本的 Snorkel,即 Snorkel MeTaL 中解决了这些问题,哪个又能够支持为一个或多个相关任务提供带噪声标签的多任务弱监督源?

他们考虑的一个例子,是关于不同粒度的标签源的设置(不确切监督)。例如,假设他们打算训练一个细粒度的命名实体识别模型来标记特定类型的人和位置,同时已经拥有一些细粒度的带噪声的标签,例如标记「律师」与「医生」,或者是「银行」与「医院」;而有些是粗粒度的,例如标记「人」与「位置」。通过将这些源表示为标记不同的与层次相关的任务,他们可以联合建模它们的准确性,并重新加权和组合它们的多任务标签,从而创建数据更加干净、融合了各种智能的多任务训练数据,从而提高最终多任务学习模型的性能。

 

关于弱监督学习,这可能是目前最详尽的一篇科普文

斯坦福 AI 实验室表示,他们相信,为多任务学习构建数据管理系统最激动人心的方面将围绕着大规模多任务机制,在这种机制的作用下,数十到数百个弱监督(因此也高度动态)任务以复杂、多样的方式交互。

虽然迄今为止大多数多任务学习的工作大多都考虑到了处理由静态手动标注训练集定义的少数几项任务,但世界正在迅速发展成组织(无论是大公司、学术实验室还是在线社区)需要维护数以千计的弱监督、快速变化且相互依赖的建模任务的状态。此外,由于这些任务是弱监督的,开发人员可以在数小时或数天内(而不是数月或数年内)添加、删除或更改任务(即训练集),这可能需要重新训练整个模型。

在最近的一篇论文「The Role of Massively Multi-Task and Weak Supervision in Software 2.0」(http://cidrdb.org/cidr2019/papers/p58-ratner-cidr19.pdf)中,斯坦福 AI 实验室针对上述问题的一些初步想法进行了概述,设想了一个大规模的多任务的场景,其中多任务学习模型有效地被用作一个训练由不同开发人员弱标注的数据的中央存储库,然后组合在一个中央的「母」多任务模型中。无论确切的形式因素是什么,很明显,未来还会出现许多令人兴奋的多任务学习技术的进展——不仅是新的模型架构,也会涉及到与迁移学习方法、新的弱监督方法、新的软件开发和系统范式的统一。

多监督学习的最新进展

作为一种越来越受到关注的、实用意义很强的学习范式,研究者们近期在 CVPR、AAAI、ACL 等重要的人工智能领域的会议上发表了大量有关多监督学习的最新研究。例如:

结语

随着数据驱动的机器学习研究走进深水区,研究者们越来越关注对数据高效利用的研究。本文首先回顾了若监督学习的相关理论,从不完全监督、不确切监督、不准确监督三个方面回顾了目前弱监督学习领域的研究进展。更具体地,本文根据斯坦福大学提出的 Snorkel 框架,介绍了通过对机器学习系统进行编程引入领域专家知识的方法。最后,被本文回顾了弱监督学习领域的一些最新的研究进展。

文章参考:http://ai.stanford.edu/blog/weak-supervision/

其他参考文献:

[1]Zhou Z H . A brief introduction to weakly supervised learning[J]. National Science Review, 2018, v.5(01):48-57.

[2]Pan S J , Yang Q . A Survey on Transfer Learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10):1345-1359.      雷锋网雷锋网

长按图片保存图片,分享给好友或朋友圈

关于弱监督学习,这可能是目前最详尽的一篇科普文

扫码查看文章

正在生成分享图...

取消
相关文章