生活资讯
弱监督 、弱监督语义分割坐不下去了
2023-04-11 01:28  浏览:64

放弃手工标记数据,斯坦福大学开发弱监督编程范式Snorkel

手工标记大量数据始终是开发机器学习的一大瓶颈。斯坦福AI Lab的研究人员探讨了一种通过编程方式生成训练数据的“弱监督”范式,并介绍了他们的开源Snorkel框架。

近年来,机器学习 (ML) 对现实世界的影响越来越大。这在很大程度上是由于深度学习模型的出现,使得从业者可以在基准数据集上获得 state-of-the-art 的分数,而无需任何手工特征设计。考虑到诸如 TensorFlow 和 PyTorch 等多种开源 ML 框架的可用性,以及大量可用的***进的模型,可以说,高质量的 ML 模型现在几乎成为一种商品化资源了。然而,有一个隐藏的问题:这些模型依赖于大量手工标记的训练数据。

这些手工标记的训练集创建起来既昂贵又耗时 —— 通常需要几个月甚至几年的时间、花费大量人力来收集、清理和调试 —— 尤其是在需要领域专业知识的情况下。除此之外,任务经常会在现实世界中发生变化和演变。例如,标记指南、粒度或下游用例都经常发生变化,需要重新标记 (例如,不要只将评论分类为正面或负面,还要引入一个中性类别)。

由于这些原因,从业者越来越多地转向一种较弱的监管形式,例如利用外部知识库、模式 / 规则或其他分类器启发式地生成训练数据。从本质上来讲,这些都是以编程方式生成训练数据的方法,或者更简洁地说,编程训练数据 (programming training data)。

在本文中,我们首先回顾了 ML 中由标记训练数据驱动的一些领域,然后描述了我们对建模和整合各种监督源的研究。我们还讨论了为大规模多任务机制构建数据管理系统的设想,这种系统使用数十或数百个弱监督的动态任务,以复杂、多样的方式交互。

回顾:如何获得更多有标签的训练数据?

ML 中的许多传统研究方法也同样受到对标记训练数据的需求的推动。我们首先将这些方法与弱监督方法 (weak supervision) 区分开来:弱监督是利用来自主题领域专家(subject matter experts,简称 SME) 的更高级别和 / 或更嘈杂的输入。

目前主流方法的一个关键问题是,由领域专家直接给大量数据加标签是很昂贵的:例如,为医学成像研究构建大型数据集更加困难,因为跟研究生不同,放射科医生可不会接受一点小恩小惠就愿意为你标记数据。因此,在 ML 中,许多经过深入研究的工作线都是由于获取标记训练数据的瓶颈所致:

在主动学习 (active learning) 中,目标是让领域专家为估计对模型最有价值的数据点贴标签,从而更有效地利用领域专家。在标准的监督学习设置中,这意味着选择要标记的新数据点。例如,我们可以选择靠近当前模型决策边界的*** X 线照片,并要求放射科医生仅给这些照片进行标记。但是,我们也可以只要求对这些数据点进行较弱的监督,在这种情况下,主动学习与弱监督是完美互补的;这方面的例子可以参考 (Druck, settle, and McCallum 2009)。

在半监督学习 (semi-supervised learning ) 设置中,我们的目标是用一个小的标记训练集和一个更大的未标记数据集。然后使用关于平滑度、低维结构或距离度量的假设来利用未标记数据 (作为生成模型的一部分,或作为一个判别模型的正则项,或学习一个紧凑的数据表示);参考阅读见 (Chapelle, Scholkopf, and Zien 2009)。从广义上讲,半监督学习的理念不是从 SME 那里寻求更多输入,而是利用领域和任务不可知的假设来利用未经标记的数据,而这些数据通常可以以低成本大量获得。最近的方法使用生成对抗网络 (Salimans et al. 2016)、启发式转换模型 (Laine and Aila 2016) 和其他生成方法来有效地帮助规范化决策边界。

在典型的迁移学习 (transfer learning )设置 中,目标是将一个或多个已经在不同数据集上训练过的模型应用于我们的数据集和任务;相关的综述见 (Pan 和 Yang 2010)。例如,我们可能已经有身体其他部位肿瘤的大型训练集,并在此基础上训练了分类器,然后希望将其应用到我们的*** X 光检查任务中。在当今的深度学习社区中,一种常见的迁移学习方法是在一个大数据集上对模型进行 “预训练”,然后在感兴趣的任务上对其进行 “微调”。另一个相关的领域是多任务学习 (multi-task learning),其中几个任务是共同学习的 (Caruna 1993; Augenstein, Vlachos, and M***nard 2015)。

上述范例可能让我们得以不用向领域专家合作者寻求额外的训练标签。然而,对某些数据进行标记是不可避免的。如果我们要求他们提供各种类型的更高级、或不那么精确的监督形式,这些形式可以更快、更简便地获取,会怎么样呢?例如,如果我们的放射科医生可以花一个下午的时间来标记一组启发式的资源或其他资源,如果处理得当,这些资源可以有效地替代成千上万的训练标签,那会怎么样呢 ?

将领域知识注入 AI

从 历史 的角度来看,试图 “编程” 人工智能 (即注入领域知识) 并不是什么新鲜想法,但现在提出这个问题的主要新颖之处在于,AI 从未像现在这样强大,同时在可解释性和可控制性方面,它还是一个 “黑盒”。

在 20 世纪 70 年代和 80 年代,AI 的重点是专家系统,它将来自领域专家的手工策划的事实和规则的知识库结合起来,并使用推理引擎来应用它们。20 世纪 90 年代,ML 开始作为将知识集成到 AI 系统的工具获得成功,并承诺以强大而灵活的方式从标记的训练数据自动实现这一点。

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

进入深度学习模型:由于它们具有跨许多领域和任务自动学习表示的强大能力,它们在很大程度上避免了特性工程的任务。然而,它们大部分是完整的黑盒子,除了标记大量的训练集和调整网络架构外,普通开发人员对它们几乎没有控制权。在许多意义上,它们代表了旧的专家系统脆弱但易于控制的规则的对立面 —— 它们灵活但难以控制。

这使我们从一个略微不同的角度回到了最初的问题:我们如何利用我们的领域知识或任务专业知识来编写现代深度学习模型?有没有办法将旧的基于规则的专家系统的直接性与这些现代 ML 方法的灵活性和强大功能结合起来?

代码作为监督:通过编程训练 ML

Snorkel 是我们为支持和 探索 这种与 ML 的新型交互而构建的一个系统。在 Snorkel中,我们不使用手工标记的训练数据,而是要求用户编写标记函数 (labeling functions, LF),即用于标记未标记数据子集的黑盒代码片段。

然后,我们可以使用一组这样的 LF 来为 ML 模型标记训练数据。因为标记函数只是任意的代码片段,所以它们可以对任意信号进行编码:模式、启发式、外部数据资源、来自群众工作者的嘈杂标签、弱分类器等等。而且,作为代码,我们可以获得所有其他相关的好处,比如模块化、可重用性和可调试性。例如,如果我们的建模目标发生了变化,我们可以调整标记函数来快速适应!

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

1. 我们将标记函数应用于未标记的数据。

2. 我们使用一个生成模型来在没有任何标记数据的条件下学习标记函数的准确性,并相应地对它们的输出进行加权。我们甚至可以自动学习它们的关联结构。

3. 生成模型输出一组概率训练标签,我们可以使用这些标签来训练一个强大、灵活的判别模型 (如深度神经网络),它将泛化到标记函数表示的信号之外。

可以认为,这整个 pipeline 为 “编程”ML 模型提供了一种简单、稳健且与模型无关的方法!

标记函数 (Labeling Functions)

从生物医学文献中提取结构化信息是最能激励我们的应用之一:大量有用的信息被有效地锁在数百万篇科学论文的密集非结构化文本中。我们希望用机器学习来提取这些信息,进而使用这些信息来诊断遗传性疾病。

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

作为一种表示载体的生成模型

在我们的方法中,我们认为标记函数隐含地描述了一个生成模型。让我们来快速复习一下:给定数据点 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() 这篇论文中,我们证明了给定足够的标记函数的条件下,可以得到与监督方法相同的 asymptotic scaling。我们还研究了如何在不使用标记数据的情况下学习标记函数之间的相关性,以及如何显著提高性能。

Snorkel:一个开源的框架

在我们最近发表的关于 Snorkel 的论文 () 中,我们发现在各种实际应用中,这种与现代 ML 模型交互的新方法非常有效!包括:

1. 在一个关于 Snorkel 的研讨会上,我们进行了一项用户研究,比较了教 SMEs 使用Snorkel 的效率,以及花同样的时间进行纯手工标记数据的效率。我们发现,使用Snorkel 构建模型不仅快了 2.8 倍,而且平均预测性能也提高了 45.5%。

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

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

下一步:大规模多任务弱监管

我们实验室正在进行各种努力,将 Snorkel 设想的弱监督交互模型扩展到其他模式,如格式丰富的数据和图像、使用自然语言的监督任务和自动生成标签函数!

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

多任务学习 (MTL) 场景的普及也引发了这样一个问题:当嘈杂的、可能相关的标签源现在要标记多个相关任务时会发生什么?我们是否可以通过对这些任务进行联合建模来获益?我们在一个新的多任务感知版本的 Snorkel,即 Snorkel metaL 中解决了这些问题,它可以支持多任务弱监管源,为一个或多个相关任务提供噪声标签。

我们考虑的一个例子是设置具有不同粒度的标签源。例如,假设我们打算训练一个细粒度的命名实体识别 (NER) 模型来标记特定类型的人和位置,并且我们有一些细粒度的嘈杂标签,例如标记 “律师” 与 “医生”,或 “银行” 与 “医院”;以及有些是粗粒度的,例如标记 “人” 与 “地点”。通过将这些资源表示为标记不同层次相关的任务,我们可以联合建模它们的准确性,并重新加权和组合它们的多任务标签,从而创建更清晰、智能聚合的多任务训练数据,从而提高最终 MTL 模型的性能。

我们相信,为 MTL 构建数据管理系统最激动人心的方面将围绕大规模多任务机制(massively multi-task regime),在这种机制中,数十到数百个弱监督 (因而高度动态)的任务以复杂、多样的方式交互。

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

在最近的一篇论文 The Role of Massively Multi-Task and Weak Supervision in Software 2.0 () 中,我们概述了针对上述问题的一些初步想法,设想了一个大规模的多任务设置,其中 MTL 模型有效地用作一个训练由不同开发人员弱标记的数据的中央存储库,然后组合在一个中央“mother” 多任务模型中。

不管确切的形式因素是什么,很明显,MTL 技术在未来有许多令人兴奋的进展 —— 不仅是新的模型架构,而且还与迁移学习方法、新的弱监督方法、新的软件开发和系统范例日益统一。

原文:

Snorkel:

欢迎同时关注微信公众号: IT 科技 森

每天分享IT小技巧、 科技 数码新闻!

如何解决派驻纪检组弱监督轻执纪不问责零办案的问题

 (一)发挥内部作用

1、把监督执纪问责工作,贯穿在权力行使的各个环节

(1)不断加强教育。以纪委监察局为主其他乡镇主管部门和其他相关部门为辅,经常性地组织村干部和村民监督委员会人员进行党性教育、理想信念教育、廉洁自律教育;组织学习先进先辈事迹、反腐倡廉警示教育读本;组织观看警示教育影片。让他们自身树立起廉洁自律意识,明白每个人行使权力的来源和拥有权力的目的,时时刻刻紧绷一根弦,正确行使人民赋予的权力,一旦权力逃离了笼子的束缚就会身陷囹圄、就会被问责,严重的还将会受到法律的制裁。

(2)实行民主公开。确保村干部在作出村务重大事项和决定时,经过民主协商,集体讨论,而不是由村里的主要领导一人说了算、一人拍板定事。对将作出决定事项是关乎民众切身利益的,事先应向全体村民公布,让民主有知情权和参与权和建议权。确保权力行使的各个环节在阳光下运行。

(3)确保监督有力。发挥村民监督委员会的监督职能,加强对村集体资金、资产、资源等"三资"管理使用和村工程建设项目招投标等重大活动进行监管;对财务账目、财务收支凭证、土地发包方案、承包合同和其他集体经济合同,以及村务公开和相关经济活动进行检查审核。

(4)做好宣传工作。首先,为推动村民监督委员会工作深入开展,要加大对村民监督委员会工作的宣传力度,着力提升村民监督委员会的社会影响力。其次,由纪委监察局和乡镇纪委一同联合司法局普法办,开展送法进农村活动,大力向村民宣传《中华人民共和国村民村民委员会组织法》,让群众明白该法的内容和人民享有的各项监督权利。让村干部的权力即在村民监督委会的监督下运行又让其在群众法眼中运行。

2、建立奖励保障机制,推动监督执纪问责工作健康发展。

(1)注意发现、培育和宣传。对懂政策、顾大局的村干部和敢监督、会监督的村民监督委员会人员,在社会上培育先进典型,表彰先进典型,树立正确的舆论导向。

(2)提高监督人员经费和待遇。从实际出发,按照责、权、利相统一的原则,逐步提高村民监督委员的工作经费及工资待遇,并适当解决村民监督委员会成员的报酬问题,确保村民监督委员会能正常开展工作和打消监督委会成员自身欲要腐败的苗头。

(二)发挥外部作用

1、加强组织协调,推进体制创新

(1)明确工作责任,对村民监督委员会进行有效监管。形成三级监管的合力。农村党组织由村民监督委员会直接进行内部监督。由各相关部门对村民监督委员会进行外部监督各镇党委、政府要把村民监督委员会工作作为推进基层民主政治建设的重要内容,加强组织领导,强化工作措施,抓好工作落实。组织部门要把村民监督委员会纳入基层组织建设范畴,进行统一管理。民政部门要把村民监督委员会工作与村级换届、村务公开、民主管理、"难点村"治理等工作同部署、同检查、同落实。农经管理部门要发挥对村级财务监督管理的职能作用,支持村民监督委员会对村级财务进行监督。对反映村干部的违纪违规问题,纪检监察机关要及时调查处理。

(2)建立完善监委会管理考核机制。纪检监察部门和乡镇党委、政府主管部门提前摸清和掌握村民监督委会的工作职责、流程、范围和权限。把村民监督委员会工作纳入基层党风廉政建设责任制,进行检查考核,严格规范管理,与村"两委会"组织及其成员共同享受教育培养、考核管理等待遇,为推动农村改革、促进农村发展增添新的动力。

2、加强配合,严肃查办违纪违法案件

近年来,由于新农村的建设发展,农村的经济也迅速崛起,尤其是地处城乡结合的农村,面临征地、拆迁。农村往往获得大量的征地补偿资金和集体资产补偿资金。因此,腐败领域也由原来的党政机关逐步向农村倾斜。

(1)重视查办违纪案件。纪检监察部门要做到有案必查、有贪必肃、有腐必惩,始终保持高压态势,对发现农村干部侵害群众利益违法违纪的案件,坚决查处,绝不姑息。

(2)强化分类指导。农村党组织的主管部门为乡镇党委。目前,按照体制设置,乡镇党委几乎都成立了纪委。纪检监察部门要帮助乡镇纪委制定主要职责和案件查办工作制度。对查案薄弱的,着重指导如何排查案件线索、如何进行案件查办,帮助其总结经验,提高办案质量。

(3)强化案源挖掘。重视群众的举报,注重矛盾纠纷的排查,对发现苗头性的问题及时进行处理。纪检监察干部要经常深入农村,深入群众中,倾听民意诉求,从中探寻有价值的案源。

3、要创新和完善监督执纪问责制度,确保履行主体责任

(1)健全党风廉政建设责任制。由纪委监察局牵头开展农村廉政风险防控工作和农村"三资"监管工作。按照制订的工作方案,建立健全农村领导体制和工作机制,及时研究解决工作中的重要问题,推动廉政风险防控、"三资"监管和规范权力运行工作深入开展。在实践中注意结合业务特点,围绕农村"两委"组织决策、执行、监督,规范权力行使的各个环节,实现廉政风险和"三资"监管同步防范。

(2)健全行政问责长效机制。首先,加大监督力度,在充分发挥纪检、组织、人大等职能部门作用的同时,加强群众、社会及媒体的舆论监督,用公众是否满意来判断农村党员领导干部是否应被问责、如何问责、问什么样的责。

其次,制定和完善行政问责制度,切实做到问责有章可循。完善各项配套措施和实施细则,确保问责制度有效落实。特别是针对目前行政问责实践中存在的注重事后问责、忽视过程监督的状况,应强化事前和事中问责,让责任管理贯穿于行政全过程。

Distant supervision是什么意思

远监督。弱监督也称为远监督,数据集的标签是不可靠的(这里的不可靠可以是标记不正确,多种标记,标记不充分,局部标记等),针对监督信息不完整或不明确对象的学习问题统称为弱监督学习。

我知道有监督学习,半监督学习,那么什么是弱监督学习?

半监督应该是弱监督的一种吧。在少量标注样本的条件下进行学习。

目标检测之域适应策略和弱监督伪标签策略

出自《Cross-Domain Weakly-Supervised Object Detection through Progressive Domain Adaptation》

       文章提出怎样在无标签的数据集中(卡通图像数据集)进行目标检测。

       文章提出了一种利用已知标签数据集(如VOC)去迁移到训练无标签数据集(例如卡通数据集)的目标检测方法。

策略1: 作者将真实图像转化为卡通图像风格的图像,并保留图像中语义结构信息。采用的方法是Cycle-GAN。文章试验证明了 Cycle-GAN在真实图像与卡通图像之间的转换非常成功。然后就有了instant-level的标签,并用于训练检测器。即将真实图像转化为目标域的风格来训练检测器。

策略2: 将策略1中训练好的检测器给真实图像打上伪标签,进一步以真实卡通图像去微调网络,最终得到一个在卡通图像上表现优异的检测器。

1. GAN很好很强大,其中Cycle-GAN能很好的将两个风格的图像进行迁移,从而有效的帮助目标检测在两种图像中的迁移。

2.目标检测的性能还是对数据集很依赖。数据集多,质量好,并且有标注。好,直接训练就完了。

“弱监督”下的神经排序模型是怎么回事?

近年来,无监督的深度神经网络在计算机视觉技术、自然语言处理和语音识别任务上都已经取得了很大的进步,而在信息检索的排序上却仍在原地踏步,没有太大的改进。其中的原因可能在于排序问题本身的复杂性,因为在没有监督信号的情况下,神经网络很难从查询内容和文档中获取信息。因此,我们在这篇文章中提出了使用“弱监督”来训练神经排序模型。也就是说,所有训练所需的标签都是机器自己获取的,不存在任何人工输入的标签。

为此,我们把一个“无监督”排序模型的输出结果,比如BM25,当做一个“弱监督”模型的信号来使用。接下来,我们会进一步基于“前馈神经网络”对一系列简单却十分高效的排序模型进行训练。我们还会考察它们在不同的训练场景下的效果,例如:使用不同的输入表征(密集/稀疏表征向量,或者是“嵌入”文字表征),分别训练“逐点模型”和“成对模型”。我们能够从无监督IR模型中轻易地获得“弱标记数据”,实验的结果反映,提前对大量的“弱标记数据”进行训练,对有监督的神经排序模型非常有益。

我们调查的三个主要问题:

问题一:单凭来自无监督IR模型的标签作为弱监督训练数据,比如BM25,有可能完成一个神经排序模型的训练吗?

问题二:在这样的情况下,什么样的输入表征和学习目标是最适合模型训练的?

问题三:弱监督的操作过程,尤其是在标记数据有限的情况下,能否优化有监督的学习模型?

排序的体系结构

我们对三种神经排序模型进行了尝试:

1、分数模型

这种架构实际上是一个预测“查询文档”组合的检索分数的逐点排序模型。专业地来说,这种架构的目标就是掌握一个“分数功能”,这一功能能够决定一个“查询文档”的检索分数。我们可以用线性回归图来大致地表示这个问题:

2、排序模型

与***种“分数模型”相同的是,“排序模型”的目标也是掌握“分数功能”。但不同的是,“排序模型”并不是为了使分数搜索功能标准化。因此我们在“排序模型”的训练中使用了“双情境”。具体来说就是我们在训练中使用了两个参数相同的逐点模型。为了***程度地降低损耗,我们更新了其中的参数:

在推导过程中,由于两个模型是完全一样的,我们只取了其中一个作为最终的分数功能模型,并且把经过训练的模型以逐点的方式使用。

3、试验排序模型

第三种排序架构的基础是一个包括训练和推导的“双情境”。这种模型是为了学习包含一个查询内容和两个文档(d1和d2)的“排序功能”而设计的。根据查询内容,模型会预测d1文档排名高于d2文档的可能性。这个问题可以用回归图大致表达:

关于弱监督和弱监督语义分割坐不下去了的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发表评论
0评