弱监督学习综述(Weak Supervision 2019)

弱监督学习综述(Weak Supervision 2019)

近年来,机器学习(ML)的现实影响已经突飞猛进。在很大程度上,这是由于深度学习模型的出现,这使得从业者可以在benchmark集上获得优异的分数,而无需任何手工设计的特征( hand-engineered features)。鉴于TensorFlow和PyTorch等多种开源ML框架的可用性,以及大量可用的最先进模型,可以说高质量的ML模型现在几乎是商品化的资源。然而,有一个隐藏的问题:这些模型依赖于大量手工标记的训练数据(the reliance of these models on massive sets of hand-labeled training data.)。

这些手工标记的培训集创建起来既昂贵又耗时——通常需要数月或数年才能收集、清理和调试——尤其是在需要领域专业知识的情况下。除此之外,任务通常会在现实世界中发生变化和演变。例如,打标签的规则(指南),标注的粒度或下游的用例经常发生变化,需要重新标记(例如,不仅要将评论分类为正类或负类,还要引入一个中性类别)。由于所有这些原因,从业者越来越多地转向较弱的监督形式,例如启发式地利用外部知识库,模式/规则或其他分类器生成训练数据。从本质上讲,这些都是以编程方式生成培训数据的所有方式 ——或者更简洁地说,是编程培训数据。

如何获得标记好的训练数据?

ML中的许多传统研究方法同样受到标记训练数据的深度学习模型的无法满足的兴趣的推动。 我们首先将这些其他方法与弱监督之间的核心区别从高层次中划分出来:弱监督是指利用主题专家(SME)的更高层次和/或更嘈杂的投入(weak supervision is about leveraging higher-level and/or noisier input from subject matter experts (SMEs).)。目前仅有中小企业直接标记大量数据的主流方法的关键问题是它很昂贵:例如,为医学成像研究获取大型数据集要困难得多——与廉价劳动力研究生不同,放射科医生(专家)不会因为一点小惠小利就答应帮你标记数据集。因此,ML中许多经过充分研究的工作线是由于获得标记的训练数据的瓶颈所致。

 

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

(1)不完全监督

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

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

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

主动学习(active learning):它假设未标注数据的真值标签可以向人类专家查询,让专家为估计模型最有价值的数据点打上标签。在主动学习中,目标是通过标记数据点来更有效地利用SMEs,这些数据点被估计为对模型最有价值(参见(Settles 2012))。 在标准监督学习设置中,这意味着选择要标记的新数据点。而在衡量查询样本的价值时,有两个被最广泛使用的标准:信息量和代表性。信息量衡量的是一个未标注数据能够在多大程度上降低统计模型的不确定性,而代表性则衡量一个样本在多大程度上能代表模型的输入分布。这两种方法都有其明显的缺点。基于信息量的衡量方法包括不确定性抽样和投票查询,其主要的缺点是在建立选择查询样本所需的初始模型时,严重依赖于对数据的标注,而当表述样本量较小时,学习性能通常不稳定。给予代表性的方法,主要缺点在于其性能严重依赖于未标注数据控制的聚类结果。例如,我们可能选择接近当前模型决策边界的乳房X线照片,并要求放射科医师仅标记这些。 但是,我们也可以要求对这些数据点进行较为严格的监督,在这种情况下,主动学习与弱监督完全互补; 作为这方面的一个例子,见 (Druck, Settles, and McCallum 2009).  

半监督学习(semi-supervised learning):与主动学习不同,半监督学习是一种在没有人类专家参与的情况下对未标注数据加以分析、利用的学习范式。通常,尽管未标注的样本没有明确的标签信息,但是其数据的分布特征与已标注样本的分布往往是相关的,这样的统计特性对于预测模型是十分有用的。

一个好的survey见 (Chapelle, Scholkopf, and Zien 2009)。 从广义上讲,半监督学习的想法是利用领域和任务不可知的假设来利用通常可以大量廉价获得的未标记数据。 最近的方法使用生成对抗网络 (Salimans et al. 2016),启发式转换模型 (Laine and Aila 2016)以及其他生成方法来有效地帮助规范决策边界。

实际上,半监督学习对于数据的分布有两种假设:聚类假设和流形假设。

前者假设数据具有内在的聚类结构,因此,落入同一个聚类的样本类别相同。后者假设数据分布在一个流形上,在流形上相近的样本具有相似的预测结果。可见,两个假设的本质都是相似的数据输入应该有相似的输出。因此,如何更好地衡量样本点之间的相似性,如何利用这种相似性帮助模型进行预测,是半监督学习的关键。半监督学习的方法主要包括:生成式方法、基于图的方法、低密度分割法、基于分歧的方法。详情可参阅周志华老师的综述文章《A brief introduction to weakly supervised learning》。

迁移学习(transfer learning):迁移学习是近年来被广泛研究,风头正劲的学习范式,感觉已经成为一个独立的研究领域。其内在思想是借鉴人类「举一反三」的能力,提高对数据的利用率。通俗地讲,迁移学习的目标是将已经在不同数据集上训练过的一个或多个模型应用到我们的数据集和任务中。参考综述: (Pan and Yang 2010)。具体而言,迁移学习的定义为:有源域 Ds和任务 Ts;目标域 Dt 和任务 Tt,迁移学习的目标是利用源域中的知识解决目标域中的预测函数 f,条件是源域和目标域不相同或者源域中的任务和目标域中的任务不相同。

例如,我们可能在身体的另一部分有一个大型肿瘤训练集,并且在这组训练的分类器,并希望将这些应用于我们的乳房摄影任务。 当今深度学习社区中的常见转移学习方法是在一个大型数据集上“预训练”模型,然后在感兴趣的任务上“微调”它。 另一个相关的工作是多任务学习,其中共同学习了几项任务 (Caruna 1993Augenstein, Vlachos, and Maynard 2015)。

在迁移学习研究的早期,迁移学习被分类为「直推式迁移学习」、「归纳迁移学习」和「无监督迁移学习」。

(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)不准确监督

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

延伸阅读

弱监督学习工具:Snorkel

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

  • 1. 在 Mobilize Center 主办的一场为期两天的关于 Snorkel 的工作坊的用户调研中,他们比较了教领域专家们使用 Snorkel 的效率,以及花同样的时间仅仅对数据进行手动标注的效率。同时,他们还发现,使用 Snorkel 构建模型在速度不仅快了 2.8 倍,而且平均的预测性能也提高了 45.5%。

  • 2. 在与斯坦福大学、美国退伍军人事务部和美国食品和药物管理局的研究人员合作的两个实际的文本关系提取任务,以及其他四个对比基准文本和图像任务中,他们发现,与作为对比基准的技术相比,Snorkel 的性能平均得到了 132% 的提升。

  • 3. 他们探索了如何对用户提供的标记函数建模的新的权衡空间,从而得到了一个能够加速迭代开发周期的基于规则的优化器。

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

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

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

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

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

多监督学习的最新进展

  • Rabinovich 等人(https://arxiv.org/pdf/1809.01285.pdf)设计了一种弱监督方法,用于在完全没有标记数据的情况下,推断词语的抽象性。他们只利用最少的语言线索和文本数据中显示的概念的上下文用法,训练足够强大的分类器,获得与人类标签的高度相关性。

  • Wu 等人(https://arxiv.org/abs/1805.02333)在 ACL 2018 上针对开放环境下的人机对话任务开发了一种利用未标注数据学习选择基于检索的聊天机器人的响应的匹配模型的方法。该方法采用序列-均衡结构(Seq2Seq)模型作为弱标注器来判断未标注对的匹配程度,然后对弱信号和未标注数据进行学习。

  • Arachie 等人(https://arxiv.org/abs/1805.08877)在 AAAI 2019 上针对无标签分类器的训练任务提出了一种弱监督的方法——对抗性标签学习,该方法利用投影的「primal-dual」梯度下降法最小化分类器错误率的上限。最小化这个界限可以防止在弱监督方法中出现偏差和依赖。

  • Vardazaryan 等人(https://arxiv.org/pdf/1806.05573.pdf)针对手术工具定位任务,提出了图像级别的标注任务的训练模式,可以用于在没有显式空间标注的情况下,检测出视频中存在的手术工具病在视频中定位。

  • 在 CVPR 2019 上,Zeng 等人(https://arxiv.org/pdf/1904.00566.pdf)针对像素级图像标注问题,提出了一种多源弱监督视觉显著性检测模型,他们设计了一个分类网络(CNet)和一个标题生成网络(PNet),分别学习预测对象以及生成图像标题。同时,他们还设计了一种能够在网络之间传播监督信号的注意力迁移损失,从而使通过一个监督源训练的网络能够帮助训练使用另一个监督源训练的网络。

  • Mithun  等人(https://arxiv.org/pdf/1904.03282.pdf)针对通过文本查询实现的视频瞬间检索问题,设计了一种基于文本引导的注意力机制(TGA)的弱监督学习框架,解决了对于每段文本描述相应的视频时间边界进行标注的开销过高的问题。

posted @ 2019-06-17 15:08  yumoye  阅读(3446)  评论(0编辑  收藏  举报