snorkel 快速培训数据创建与弱监督

 

标记培训数据越来越成为部署机器学习系统的最大瓶颈。我们展示了Snorkel,这是首个同类系统,使用户无需手工标记任何培训数据即可培训最先进的模型。相反,用户编写表示任意启发式的标签函数,其可能具有未知的准确性和相关性。通过整合我们最近提出的最新机器学习范例 – 数据编程的第一个端到端实现,浮潜可以减少他们的输出而无需访问基本事实。我们根据过去一年与公司,机构和研究实验室合作的经验,提出了一个灵活的界面层来撰写标签功能。在用户研究中,主题专家建立的模型速度提高2.8倍,平均预测性能提高45倍。5%与7个小时的手工标签。我们在这个新设置中研究了建模折衷方案,并提出了一个优化器,用于实现折衷决策的自动化,从而可以实现每管线执行速度高达1.8倍的加速。在与美国退伍军人事务部和美国食品和药物管理局的两项合作中,以及代表其他部署的四个开源文本和图像数据集合,Snorkel提供的平均预测性能比先前的启发式方法提高了132%在大型手工培训集的预测性能平均3.60%之内。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 我们在这个新环境中研究建模折衷方案,并提出一个优化器来实现折衷决策的自动化,每个管道执行速度最高可达1.8倍。在与美国退伍军人事务部和美国食品和药物管理局的两项合作中,以及代表其他部署的四个开源文本和图像数据集合,Snorkel提供的平均预测性能比先前的启发式方法提高了132%在大型手工培训集的预测性能平均3.60%之内。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 我们在这个新环境中研究建模折衷方案,并提出一个优化器来实现折衷决策的自动化,每个管道执行速度最高可达1.8倍。在与美国退伍军人事务部和美国食品和药物管理局的两项合作中,以及代表其他部署的四个开源文本和图像数据集合,Snorkel提供的平均预测性能比先前的启发式方法提高了132%在大型手工培训集的预测性能平均3.60%之内。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 退伍军人事务部和美国食品和药物管理局,以及代表其他部署的四个开源文本和图像数据集,Snorkel提供的平均预测性能比先前的启发式方法提高了132%,平均降低了3.60%大型手工培训集的预测性能。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 退伍军人事务部和美国食品和药物管理局,以及代表其他部署的四个开源文本和图像数据集,Snorkel提供的平均预测性能比先前的启发式方法提高了132%,平均降低了3.60%大型手工培训集的预测性能。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 大型手工培训集预测性能的60%。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797 大型手工培训集预测性能的60%。PVLDB参考格式:A. Ratner,SH Bach,H. Ehrenberg,J. Fries,S. Wu,C. R’e。浮潜:快速培训数据创建与弱监督。PVLDB,11(3):xxxx-yyyy,2017. DOI:10.14778 / 3157794.3157797

 

1.引言

在过去的几年中,业界,政府和学术界对基于机器学习的系统的兴趣激增,估计今年花费了125亿美元[1]。一个中央驱动程序是允许为个人或课堂使用的全部或部分工作的数字或硬拷贝的授权而不收费,前提是复制品不是为了利润或商业利益而制作或分发的,并且复制品包含本通知和在第一页上完整引用。要复制,重新发布,发布到服务器或重新发布到列表,需要事先的特定许可和/或费用。本卷的文章被邀请在巴西里约热内卢举行的第44届超大型数据库国际会议上展示他们的成果。VLDB捐赠的诉讼,卷。11,不。3版权所有2017 VLDB捐赠2150-8097 / 17/11 … $ 10.00。DOI:10.14778 / 3157794.3157797

图1:在例1.1中,训练数据标有不同准确度和覆盖率的来源。在有效利用这种弱监督方面出现了两个关键挑战。首先,我们需要一种方法来估计未知的来源精度以解决分歧。其次,我们需要将这些关键的血统信息传递给正在接受培训的最终模型。

 

深入学习技术的出现,可以学习输入数据的任务特定表示,从而避免过去最耗时的开发任务:特征工程。这些学习表示对于像自然语言处理和图像分析这样的任务特别有效,这些任务具有高维度,高方差输入,不可能通过简单的规则或汉城设计功能完全捕捉[14,17]。然而,深度学习有一个重大的前期成本:这些方法需要大量的标记示例的训练集来学习 – 通常需要数万到数百万次才能达到峰值预测性能[47]。这样的培训集非常昂贵,尤其是在需要专业领域的情况下。例如,阅读科学论文,分析情报数据,和解释医学图像都需要经过培训的主题专家(SME)的标签。此外,我们从与研究实验室和主要技术公司等合作者的合作中观察到,随着项目的进展,建模目标(例如类定义或粒度)发生变化,因此需要重新标注。一些大公司能够吸收这种成本,聘请大型团队来标注培训数据[12,16,31]。然而,大多数从业者越来越倾向于弱化监管:更廉价的标签来源更加噪音或启发式。最受欢迎的形式是远程监督,其中外部知识库的记录与数据点进行启发式对齐以产生噪音标签[4,7,32]。其他形式包括众包标签[37,50],标签数据的规则和启发式[39,52]等[29,30,30,46,51]。虽然这些来源便宜,但它们的准确性和覆盖面往往有限。

 

理想情况下,我们将结合来自许多薄弱监督来源的标签来提高我们培训集的准确性和覆盖范围。然而,这样做有效地产生了两个关键挑战。首先,消息来源会重叠和冲突,为了解决他们的冲突,我们需要估计他们的准确性和相关性结构,而无需获得事实真相。其次,我们需要将关于标签质量的关键谱系信息传递给正在接受培训的最终模型。

 

关于标签质量的问题与正在接受培训的最终型号相关 例1.1。在图1中,我们从高精度,低覆盖率源1和低精度,高覆盖率源2获得标签,其重叠和不同意(分色点)。如果我们采取不加权的多数表决来解决冲突,我们最终会得到空的(领带投票)标签。如果我们能够正确估计源的精确度,我们就可以在Source的方向上解决冲突

1.我们仍然需要将这些信息传递给正在接受培训的最终模型。假设我们从Source 1获取标签,并从Source获取标签

然后,预期的训练集精度将为60.3% – 只比边际较弱的源略好。相反,我们应该在最终模型训练中代表训练标签谱系,更多地为高精度源生成的标签加权。在最近的工作中,我们将数据编程作为一种范例,通过对多个标签源进行建模而无需访问地面实况,并生成表示各个标签谱系的概率培训标签,从而解决了这两个挑战。我们令人惊讶地证明,我们可以在没有手标记的训练数据的情况下恢复源精度和相关结构[5,38]。但是,实现和应用这种抽象的许多实践方面都没有被考虑过。我们提供浮潜,这是第一个将弱监管渠道与快速创建培训数据相结合的端到端系统。我们将Snorkel作为原型来研究人们如何使用数据编程,这是一种全新的构建机器学习应用程序的新方法。通过在过去一年在斯坦福大学举办的每周黑客马拉松和办公时间,我们与Snorkel的开源实现周围的用户社区进行了互动.1我们观察到中小企业在工业,科学和政府部署Snorkel用于知识库构建,图像分析,生物信息学,欺诈检测等等。从这些经验中,我们已经提炼出三种塑造浮潜设计的原则:一种全新的构建机器学习应用程序的方法。通过在过去一年在斯坦福大学举办的每周黑客马拉松和办公时间,我们与Snorkel的开源实现周围的用户社区进行了互动.1我们观察到中小企业在工业,科学和政府部署Snorkel用于知识库构建,图像分析,生物信息学,欺诈检测等等。从这些经验中,我们已经提炼出三种塑造浮潜设计的原则:一种全新的构建机器学习应用程序的方法。通过在过去一年在斯坦福大学举办的每周黑客马拉松和办公时间,我们与Snorkel的开源实现周围的用户社区进行了互动.1我们观察到中小企业在工业,科学和政府部署Snorkel用于知识库构建,图像分析,生物信息学,欺诈检测等等。从这个经验中,我们已经提炼出了塑造浮潜设计的三个原则:欺诈检测等等。从这些经验中,我们已经提炼出三种塑造浮潜设计的原则:欺诈检测等等。从这个经验中,我们已经提炼出了塑造浮潜设计的三个原则:

1.把所有的资源都包含在内:系统应该使用户能够机会地使用来自所有可用弱监督源的标签。

2.培训数据作为ML的接口:系统应该对标签源进行建模,为每个数据点生成一个单一的概率标签,并对广泛范围的任何分类器进行训练,以推广到这些源之外。

3.作为交互式编程的监督:系统应根据用户的监督提供快速结果。我们将弱监督看作是类似REPL的机器学习界面。

我们的工作做出以下技术贡献:

灵活的资源接口:我们观察到弱监管策略的异质性对开发商来说是一个绊脚石。不同类型的弱监督对输入数据的不同范围进行操作。例如,远程监督必须以编程方式映射到特定的文本范围。人群工作者和弱分类器通常在整个文档或图像上运行。启发式规则是开放式的; 他们可以同时利用来自多个上下文的信息,例如合并来自文档标题的信息,文本中的命名实体以及知识库。这种异构性非常麻烦,完全阻止了早期版本的Snorkel用户

为了应对这一挑战,我们围绕标签功能(LF)的抽象概念构建了一个界面层。我们开发了一种灵活的语言来表达弱监督策略和支持数据结构。我们通过这些工具观察到用户生产力的提高,我们在用户研究中验证了这一点,中小型企业建模速度提高2.8倍,预测性能平均提高45.5%,而手工标记时间为7小时。

 

来源建模中的权衡:浮潜学习使用生成模型无法获得基本事实的监管来源薄弱的准确性[38]。此外,它还学习源之间的相关性和其他统计依赖关系,纠正标记函数中的依赖关系,使估计的精度偏离[5]。这种范例引发了预测性能和速度之间未曾探索过的折衷空间。自然的第一个问题是:什么时候对源的准确性进行建模可以提高预测性能?此外,有多少依赖关系(如相关性)值得建模?

 

我们研究弱监督生成模型中预测性能和训练时间之间的权衡。虽然对来源的准确性和相关性进行建模不会损害预测性能,但我们还是会对简单多数投票何时也能起作用进行理论分析。根据我们的结论,我们介绍了一个优化器,用于决定何时对标记函数的精度进行建模,以及何时可以跳过学习而支持简单多数投票。此外,我们的优化器会自动决定要在标注函数中建模哪些相关性。这个优化器正确地预测了生成建模在多数投票中的优势,在我们的评估任务中平均在2.16个准确度点内,并将流水线执行速度提高1.8倍。

 

数据编程的第一个端到端系统:Snorkel是第一个实现我们最近的数据编程工作的系统[5,38]。我们和其他人开发的先前的ML系统[52]需要大量的特征工程和模型规范,导致关于在何处注入相关领域知识的混淆。虽然编程薄弱的监督似乎表面上类似于特征工程,但我们观察到用户对这两个过程的看法截然不同。我们的愿景 – 弱监督作为机器学习的唯一互动端口 – 意味着截然不同的工作流程,需要概念证明。

 

浮潜表明,这种模式使用户能够为各种任务开发高质量的模型。我们报告了Snorkel的两个部署,与美国退伍军人事务部和斯坦福医院和诊所以及美国食品和药物管理局合作,Snorkel平均提高了超过启发式基线的110%。我们还报告了其他Snorkel部署的四个开源数据集的结果,其中包括生物信息学,医学图像分析和众包; Snorkel平均以153%的速度击败了启发式游戏,平均预测性能达到平均3.60%的大型手工训练集。

图2:浮潜系统概述 (1)中小企业用户编写标签功能(LF),表达弱监督来源,如远程监督,模式和启发式。(2)浮潜将LF应用于未标记的数据,并学习生成模型以将LF的输出组合成概率标签。(3)浮潜使用这些标签来训练辨别分类模型,例如深度神经网络。

 

2. SNORKEL体系结构Snorkel的工作流程是围绕数据编程设计的[5,38],这是一种使用弱监督对机器学习模型进行训练的全新范例,并在三个主要阶段(图2)进行:

1.书写标签功能:Snorkel的用户不是手工标注培训数据,而是编写标签功能,这些功能允许他们表达各种薄弱的监管来源,如模式,启发式,外部知识库等等。这是最早由用户在过去一年部署过程中发生的早期交互(和错误)告知的组件,我们提供了一个灵活的界面和支持数据模型。

2.建模准确性和相关性:接下来,浮潜会自动学习标注函数的生成模型,从而可以估计它们的准确性和相关性。这一步不使用地面实况数据,而是从标签功能的协议和分歧中学习。我们观察到,采用未加权标签组合可提高结束预测性能的5.81%,并通过提供有关标签功能质量的可操作反馈简化了用户开发体验。

3.训练判别模型:Snorkel的输出是一组概率标签,可用于训练各种最先进的机器学习模型,如流行的深度学习模型。虽然生成模型本质上是用户提供的标记函数的重新加权组合,它往往是精确的,但是低覆盖率的现代判别模型可以保留这个精度,同时学习将其推广到标记函数以外,从而增加覆盖率和稳健性看不见的数据。

 

接下来,我们设置Snorkel地址并描述其主要组件和设计决策。

设置:我们的目标是学习一个参数化分类模型hθ,给定一个数据点x∈X,预测它的标签y∈Y,其中可能的标签Y的集合是离散的。为简单起见,我们专注于二进制设置Y = {-1,1},尽管我们在实验中包含了多类应用程序。例如,x可能是一张医学图像,并且ya标签指示正常与异常。在我们看到的关系抽取示例中,我们经常将x作为候选。在传统的监督学习设置中,我们将通过将它拟合到标记数据点的训练集来学习hθ。但是,在我们的设置中,我们假设我们只能访问未标记的培训数据。我们确实假设可以访问开发过程中使用的一小组标记数据,称为开发集,以及一个用于评估的盲注标签测试集。

Snorkel的用户旨在通过提供一组标记函数来生成训练标签,这些函数是黑箱函数λ:X→Y∪{∅},它们接收数据点并输出标签,我们用∅表示标签标签功能放弃了。给定m个未标记数据点和n个标记函数,Snorkel将标记函数应用于未标记数据上以生成标记函数输出矩阵Λ∈(Y∪{∅})m×n。剩下的Snorkel流水线的目标是将这个标签矩阵Λ(它可能包含每个数据点的重叠和冲突标签)合成到概率训练标签的单个向量Y〜=(〜y1,…,y〜m)中,其中~yi∈[0,1]。然后可以使用这些训练标签来训练辨别模型。下一个,

例2.1。考虑从生物医学文献中提取不良化学 – 疾病关系的任务(参见CDR任务,第4.1节)。鉴于提及化学物质和疾病标记的文件,我们将每个共同发生(化学,疾病)提及对作为候选提取物,我们将其视为数据点,将其归类为真或假。例如,在图2中,我们将有两个具有真正标签的候选y1 = True和y2 = False:

图3:标签函数将候选对象作为输入,表示要分类的数据点。每个候选者都是Context对象的元组,它是表示候选者本地上下文的层次结构的一部分。

 

数据模型:设计挑战在于管理复杂的非结构化数据,使中小企业能够在其上编写标签功能。在呼吸管中,输入数据存储在上下文分层结构中。它由通过父/子关系连接的上下文类型组成,这些关系存储在关系数据库中,并通过使用SQLAlchemy.2构建的对象关系映射(ORM)层提供。每个上下文类型表示要数据的概念组件由系统处理或在写标签功能时使用; 例如文档,图像,段落,句子或嵌入式表格。候选者 – 即数据点x – 然后被定义为上下文的元组(图3)。

例2.2。在我们正在运行的CDR示例中,输入文档可以用Snorkel表示为由文档组成的层次结构,每个文档包含一个或多个句子,每个句子包含一个或多个文本范围。这些跨度也可以用元数据标记,例如将它们标识为化学或疾病提及的实体标记(图3)。然后候选人是两个Spans的元组。

2.1弱势监督的语言

浮潜使用标签功能的核心抽象,允许用户指定各种弱监督来源,如模式,启发式,外部知识库,众包标签等。这个更高层次,不太精确的输入可以更有效地提供(参见第4.2节),并且可以自动去噪和合成,如后面章节所述。

在本节中,我们将描述我们的设计选择,为构建标记函数创建接口,我们将其视为弱监督的统一编程语言。这些选择在很大程度上得到了我们的互动 – 主要通过每周的办公时间 – 在过去的一年中与浮潜用户进行生物信息学,国防,工业和其他领域的交流.3例如,虽然我们最初打算有一个更复杂的结构对于标记函数,使用手动指定的类型和相关结构,我们很快发现这方面的简单性对于可用性至关重要(并且不是凭经验对我们对输出建模的能力的不利影响)。我们还很快发现,与我们的第一个函数模板库相比,用户想要更多的表现力或者更少。

手工标记函数:在最通用的形式中,标记函数只是一个任意的代码片段,通常用Python编写,它接受一个候选对象作为输入并输出一个标签或放弃。通常这些功能与提取 – 转换 – 加载脚本类似,表示基本模式或启发式,但可能使用支持代码或资源并且任意复杂。ORM层支持手动书写标记功能,ORM层将上下文层次结构和关联的元数据映射为面向对象的语法,使用户可以轻松遍历输入数据的结构。

例2.3。在我们的运行示例中,我们可以编写一个标签函数,检查化学和疾病提及之间是否出现“起因”一词。如果确实如此,则如果首先提及化学物质,则它输出True,如果首先提到疾病,则输出False。如果没有出现“原因”,则输出无,表示弃权:

 

  1. def L F 导致x
  2. cs,ce = x。化学品。getwordrange
  3. ds,de = x。疾病 。getwordrange
  4. 如果ce <ds 并且“导致” x中。父母。单词[ ce + 1 :ds ]
  5. 返回True
  6. 如果x中de <cs “cause” 父母。单词[ de + 1 :cs ]
  7. 返回False
  8. 返回

我们也可以使用Snorkel的声明式接口来编写它:

  1. L F cause = lfsearch “{{1}}。* \ Wcauses \ W。* {{2}}”
  2. reverseargs = False

声明性标签功能:Snorkel包含一个声明性运算符库,根据我们过去一年的用户体验,对最常见的弱监督函数类型进行编码。这些功能捕捉了一系列弱监督的常见形式,例如:

•基于模式:基于模式的启发式体现了向中小企业征求更高信息密度输入的动机。例如,基于模式的启发式方法包括特征注释[51]和模式自引导方法[18,20](例子2.3)。

•远程监督:远程监督通过启发性地将数据点与外部知识库对齐来生成培训标签,并且是最受欢迎的弱监督形式之一[4,22,32]。

•弱分类器:对于我们的任务而言不足的分类器(例如,有限的覆盖范围,噪声,偏差和/或在不同数据集上训练)可用作标记功能。•标签函数生成器:我们可以在Snorkel的标签函数之上构建的一个高级抽象是标签函数生成器,它可以从单个资源生成多个标签函数,例如众包标签和来自结构化知识库的远程监督(例2.4 )。

例2.4。在传统的远程监督中,一个挑战是知识库的不同子集具有不同的准确性和覆盖水平。在我们的运行示例中,我们可以使用比较毒理基因组数据库(CTD)4作为远程监督,使用单独的标记功能分别对其不同子集进行建模。例如,如果它出现在“原因”子集中,我们可以编写一个标记函数来标记候选项True,如果它出现在“Treats”子集中,则另一个标记为False。我们可以使用标签函数生成器来编写它,

 

  1. L F s C T D = 本体ctd,
  2. { “原因” “严歌苓” }

它创建了两个标签功能。通过这种方式,发电机可以连接到大型资源,并通过一行代码创建数百个标签功能。

 

2.2生成模型Snorkel的核心操作是建模和集成由一组标记函数提供的噪声信号。使用最近提出的数据编程方法[5,38],我们将数据点的真实类标签建模为概率模型中的潜在变量。在最简单的情况下,我们将每个标记函数建模为一个独立的嘈杂的“选举人” – 即,产生与其他标记函数不相关的错误。这将标签函数投票的生成模型定义为关于真实标签的嘈杂信号。我们还可以对标记函数之间的统计依赖性建模,以提高预测性能。例如,如果两个标签函数表示相似的启发式,我们可以在模型中包含这种依赖关系,并避免“重复计数”问题。我们观察到这种成对关联是最常见的,所以我们在本文中重点关注它们(尽管处理更高阶的依赖关系很简单)。我们使用我们的生成模型的结构学习方法[5]来选择标记函数对(j,k)的一组C作为相关模型(参见第3.2节)。现在我们可以构建完整的生成模型作为因子图。我们首先将所有标记函数应用于未标记的数据点,得到标签矩阵Λ,其中Λi,j =λj(xi)。然后,我们使用三种因子类型对生成模型pw(Λ,Y)进行编码,表示标记函数的标记倾向性,准确性和成对相关性:我们使用我们的生成模型的结构学习方法[5]来选择标记函数对(j,k)的一组C作为相关模型(参见第3.2节)。现在我们可以构建完整的生成模型作为因子图。我们首先将所有标记函数应用于未标记的数据点,得到标签矩阵Λ,其中Λi,j =λj(xi)。然后,我们使用三种因子类型对生成模型pw(Λ,Y)进行编码,表示标记函数的标记倾向性,准确性和成对相关性:我们使用我们的生成模型的结构学习方法[5]来选择标记函数对(j,k)的一组C作为相关模型(参见第3.2节)。现在我们可以构建完整的生成模型作为因子图。我们首先将所有标记函数应用于未标记的数据点,得到标签矩阵Λ,其中Λi,j =λj(xi)。然后,我们使用三种因子类型对生成模型pw(Λ,Y)进行编码,表示标记函数的标记倾向性,准确性和成对相关性:

 

对于一个给定的数据点xi,我们定义这些因子对所有标记函数j = 1,…,n和潜在相关性C的连接向量,以及相应的参数向量。这定义了我们的模型:

其中Zw是标准化常数。为了学习这个模型而不需要真正的标签Y,我们在观察到的标签矩阵Λ的情况下使负对数边缘似然最小化:

我们通过交织随机梯度下降步骤和吉布斯采样步骤来优化这个目标,类似于对比发散[21]; 有关更多详细信息,请参阅[5,38]。我们使用Numbskull库,一个基于Python NUMBA的Gibbs采样器。然后,我们使用预测Y〜= pw(Y |Λ)

2.3判别模型

Snorkel的最终目标是培训一种超越标签功能中所表达信息的模式。我们通过最小化损失l(hθ(xi),y)的噪声感知变体,即关于Y〜的预期损失,在我们的概率标签Y〜上训练一个判别模型hθ:

正式分析表明,随着我们增加未标记数据的数量,用Snorkel训练的判别模型的泛化误差将会像传统的监督学习模型用额外的手标记数据那样以相同的渐近速率降低[38],从而允许我们增加通过添加更多未标记的数据来预测性能。直观地说,这个属性是成立的,因为随着提供更多的数据,歧视性模型会看到更多的特征,这些特征与标签函数中编码的启发式共存。

例2.5。CDR数据包含句子“镁给药后呈现为无力的重症肌无力”。我们开发的33种标记功能中没有一种针对相应原因(镁,重症肌无力)候选者投票,即它们都弃权。然而,Snorkel的概率训练标签训练的深度神经网络正确地将其识别为一个真实的提及。

Snorkel为流行的机器学习库(如TensorFlow [2])提供连接器,允许用户利用深度神经网络等商品模型,这些模型不需要手动设计特征,并且在广泛的任务中具有强大的预测性能。

3.弱监督贸易我们研究什么时候以及在多大程度上的复杂性这个基本问题 – 我们应该期望Snorkel的生成模型能够产生最大的预测绩效收益。了解这些性能体系可以帮助指导用户,并在预测性能和速度之间引入权衡空间。我们将这个空间分为两部分:首先,通过分析什么时候生成模型可以通过未加权的多数票进行近似;其次,通过自动选择模型的相关结构的复杂性。然后,我们引入两阶段,基于规则的优化器来支持快速开发周期。

 

3.1建模准确性研究弱监督系统时自然的第一个问题是“何时对源的准确性进行建模提高端到端预测性能?”我们在本小节中研究该问题并提出一种启发式方法来确定这种情况建模步骤是最有利的。

3.1.1权衡空间我们首先考虑标签矩阵Λ的标签密度Λ,定义为每个数据点的非弃权标签的平均数。在低密度环境下,标签的稀疏性意味着即使是标签功能的最佳加权也存在有限的空间,与大多数投票不同。相反,随着标签密度的增加,已知的理论证实大多数投票最终将是最优的[27]。这是中密度体制,我们期望从应用生成模型中受益最大。我们首先定义衡量标签函数加权标准函数的真实准确度的一个度量标准 – 换句话说,一个完美估计的生成模型的预测 – 与未加权的多数投票相比:

图4:作为合成数据集上标记函数数量(等价地,标记密度)的建模优点的图,即来自生成模型的标记精确度的改进图7我们绘制了由一个学习的生成模型(GM),Aw; 通过最优模型A *; 在我们的优化器中使用的上限A〜*; 和低密度界限(命题1)。

定义1(建模优势)假设数据点xi上n个标记函数的加权多数投票表示为,未加权多数投票(MV)表示为,其中我们考虑二元分类设置并表示弃权投票为0。将建模优势定义为数据集fw对f1的准确度提高:

换句话说,Aw是fw正确地与标签上的f1不一致的次数,减去错误地不同意的次数。让最优优势A * = Aw *是使用最优权重w *(WMV *)的优势。为了建立直觉,我们首先分析了三种标签密度机制的最佳优势(见图6):

低标签密度:在这个稀疏设置中,很少数据点有多个非弃权标签; 只有少数人有多个相冲突的标签。例如,我们观察到这种情况发生在应用程序开发的早期阶段。

我们看到,在非对抗性标记函数(w *> 0)下,即使是最佳生成模型(WMV *)也只能在不同意标签时才会与MV不同意,这种情况很少发生。我们看到了

表1:建模优势Aw使用Snorkel中几个应用程序的生成模型(第4.1节)获得,优化程序使用的上限A〜*,优化程序选择的建模策略 – 多数投票(MV)或生成模型GM)和经验标签密度d ^。

预期的最优优势将具有
与标签密度成二次方下降的上限:

高标签密度:在此设置中,大部分数据点都有大量标签。例如,我们可能正在进行大批量的众包设计工作,或者将许多高覆盖率知识库作为远程监督的应用程序。在适度的假设下,即平均标记函数精度α*大于50%,已知大多数投票由于平均标签密度d增加而以指数方式收敛于最优解,其作为预期的最佳优势也是如此

证明:这是根据恒定概率抽样下对称Dawid-Skene模型[27]的结果得出的。

中等标签密度:在这个中间体系中,我们预计对标签函数的精度进行建模将在预测性能方面带来最大的收益,因为我们将有许多数据点和少量不同的标签函数。对于这样的点,估计的标签函数精度会严重影响预测的标签。我们确实在使用独立的生成模型的实证结果中看到了收益,该模型只包含准确性因子φAcc i,j(表1)。此外,[38]中的保证证明我们可以学习最优权重,从而接近最优优势。

3.1.2自动选择建模策略前一小节中的界限意味着存在一些设置,我们应该能够安全地跳过建模标注函数的精确度,只需要取而代之的是非加权多数票。然而,实际上,给定用户时间 – 成本折衷优选(由算法1中的优势公差参数γ表征),整体标签密度d A不足以精确确定感兴趣的转换点。我们使用4.1节中的应用数据集在表1中显示。例如,我们看到Chem和EHR标签矩阵具有相同的标签密度; 然而,建模标记函数的精确度对EHR的影响要大于Chem。不是简单地考虑平均标签密度dΛ,我们改为开发一种基于查看每个数据点的正负标签比率的最佳案例启发式。这种启发式作为真正预期优势的上限,因此我们可以使用它来确定何时可以安全地跳过对生成模型的训练(请参阅算法1)。让作为xi的类别y的标签的计数,并假设真正的标签函数权重落在一个固定的范围内,wj∈[wmin,wmax]并且具有平均值w。8然后,定义:

其中σ(·)是sigmoid函数,fw¯是所有权重设置为平均值w的多数投票,而A~ *(Λ)是我们优化器使用的预测建模优势。从本质上讲,我们正在采用预期的计数方式,在这种情况下,加权多数投票可能会在最佳情况下反转未加权多数投票的不正确预测,这是预期优势的上限:命题2.(优化上限)假设标记函数具有准确性参数(loglog权重)wj∈[wmin,wmax],并且具有E [w] = w。然后:

证明示意图:我们将建模优势上限为WMV *正确且MV不正确的实例的预期数量。然后我们通过使用加权多数表决正确给定的最佳情况概率(w min,w max)来上限。

我们将A〜*应用于合成数据集并绘制在图6中。接下来,我们计算4.1节中标记矩阵的A〜*,并与经过训练的生成模型的经验优势进行比较(表1)。我们看到,在所有情况下,我们的近似数量A〜*都可以用作确定选择哪种建模策略的正确指导,对于报告的成熟应用程序而言,确实是最常见的生成模型。然而,我们看到虽然EHR和Chem具有相同的标签密度,但我们的优化程序正确预测Chem可以用多数投票建模,加快每次管道执行1.8倍。我们在我们的应用程序中发现,优化器可以节省执行时间,特别是在迭代开发的初始阶段(见完整版)。

3.2建模结构

在本小节中,我们考虑建模超出独立模型的附加统计结构。我们研究预测性能和计算成本之间的权衡,并描述如何在这个权衡空间中自动选择一个好点。

结构学习。我们观察到许多Snorkel用户正在写统计上依赖的标签功能。我们观察到的例子包括:

•彼此不同的函数,例如检查与类似的正则表达式匹配的函数。

•对相关输入进行操作的函数,如文本的原始令牌及其推理。

•使用相关知识源的功能,例如来自重叠知识库的远程监督。

建模这样的依赖关系很重要,因为它们会影响我们对真实标签的估计。考虑不考虑依赖关系是灾难性的极端情况:

例子3.1。考虑一组10个标记函数,其中5个完全相关,即它们在每个数据点上以相同的方式投票,并且5个条件独立于给定的真实标签。如果相关标号函数的准确度为α= 50%,不相关的标准函数的准确度为β= 99%,那么根据独立模型对其精度的最大似然估计为α= 100%,β= 50%。

由于三个原因,指定生成模型来手工解释这种依赖性是不切实际的。首先,非专家用户很难指定这些依赖关系。其次,随着用户迭代他们的标签功能,他们的依赖结构可以迅速改变,就像用户放松标签功能来标记更多的候选人一样。第三,依赖性结构可以是数据集特定的,使得不可能指定先验,例如当语料库包含许多与不同标记函数中使用的多个正则表达式匹配的字符串时。我们观察到Snorkel早期版本的用户正在为这些原因而努力,以构建具有依赖关系的准确高效的生成模型。

天真地说,我们可以在生成模型中包含所有的相关性,如所有的成对相关性,并执行参数估计。但是,这种方法是不切实际的。对于100个标记功能和10,000个数据点,使用所有可能的相关性估计参数大约需要45分钟。当通过重复运行的超参数搜索和开发周期倍增时,该成本极大地抑制了标签功能的发展。因此,我们转向我们的方法来自动选择哪些依赖关系进行建模,而无需访问地面实况[5]。它使用伪似然估计器,它不需要任何采样或其他近似来准确计算目标梯度。它比最大似然估计快得多,花费15秒钟来选择在具有10,000个数据点的100个标记函数中建模的成对相关性。但是,这种方法依赖于选择阈值超参数?这导致预测性能和计算成本之间的权衡空间。

图5:生成模型的预测性能和学习相关的数量与相关阈值的关系?选定的弯头点在预测性能和计算成本之间取得了很好的折衷(相关数量呈线性关系)。左图:修正生成模型的结构学习模拟。中:CDR任务。右键:所有用户学习标签功能的配偶任务。

3.2.1权衡空间这种结构学习方法,无论是伪似然还是基于似然性,都极其依赖于选择门槛?用于决定添加到生成模型的哪些依赖关系。从根本上说,选择?决定了生成模型的复杂性.9我们研究了这种诱导的预测性能与计算成本之间的折衷。我们发现通常存在一个“肘点”,超过这个点就会选择相关的数量,从而计算成本也会爆炸,这一点是预测性能和计算时间之间的安全折衷点。

预测性能:在一个极端,一个非常大的价值?将不包括生成模型中的任何相关性,使其与独立模型相同。作为?减少,相关性将被添加。起初,什么时候?仍然很高,只包括最强的相关性。随着这些相关性的增加,我们观察到生成模型的预测性能趋于改善。图5左边显示了变化的结果。在一个模拟中,超过一半的标记函数是相关的。在添加了几个关键依赖关系之后,生成模型解决了标记函数之间的差异。图5中间显示了变化的影响。为CDR任务。预测性能提高为?直到模型过度适应。最后,我们考虑可能相关的大量标记函数。在我们的用户研究中(见4.2节),参与者为配偶任务写了标签功能。我们结合了他们所有的125个功能,并研究了变化的影响。在这里,我们预计会有很多相关性,因为用户可能会编写冗余功能。我们在图5中看到,正确的是,结构学习超过了表现最好的个体的生成模型(50.0 F1)。

计算成本:计算成本与模型复杂性相关。由于Snorkel的学习是通过Gibbs采样器完成的,因此建模附加关联的开销在关联数量上是线性的。图5中的虚线显示了每个模型中包含的相关数目与?相关。例如,在配偶任务中,将生成模型的参数拟合为?= 0.5需要4分钟,并将其参数与?= 0.02需要57分钟。此外,参数估计通常在开发过程中反复运行,原因有两个:(i)使用开发集合拟合生成模型超参数需要重复运行;(ii)当用户迭代他们的标记函数时,他们必须重新估计生成模型为评估他们。

3.2.2自动选择模型根据我们的观察,我们试图自动选择一个值?使用单独的标签函数的输出Λ在预测性能和计算成本之间进行折衷。包含 ?作为一个开发集网格搜索的超参数通常是不可行的,因为它对运行时间的影响很大。我们因此想要选择?在其他超参数之前,不执行任何参数估计。我们建议使用每个值选择的相关数目?作为一个便宜的指标。图5中的虚线表明,减少,所选相关的数量遵循一种模式。一般来说,相关数量起初增长缓慢,然后达到数字爆发的“肘点” 这符合关联结构稀疏的假设。在所有三种情况下,设置?到这个肘点是预测性能和计算成本之间的安全权衡。在性能持续增长的情况下(左侧和右侧),肘点可以以计算成本的一小部分实现大部分预测性能增益。例如,在配偶(右)上,选择?= 0.08得分为56.6 F1-在最佳得分的一个点内 – 但仅需8分钟进行参数估计。在预测性能最终降低的情况下(中等),肘点也选择相对较少的相关性,给出0.7F1点改善并避免过度拟合。设置 ?到这个肘点是预测性能和计算成本之间的安全权衡。在性能持续增长的情况下(左侧和右侧),肘点可以以计算成本的一小部分实现大部分预测性能增益。例如,在配偶(右)上,选择?= 0.08得分为56.6 F1-在最佳得分的一个点内 – 但仅需8分钟进行参数估计。在预测性能最终降低的情况下(中等),肘点也选择相对较少的相关性,给出0.7F1点改善并避免过度拟合。设置 ?到这个肘点是预测性能和计算成本之间的安全权衡。在性能持续增长(左侧和右侧)的情况下,肘点可以以计算成本的一小部分实现大部分预测性能增益。例如,在配偶(右)上,选择?= 0.08得分为56.6 F1-在最佳得分的一个点内 – 但仅需8分钟进行参数估计。在预测性能最终降低的情况下(中等),肘点也选择相对较少的相关性,给出0.7F1点改善并避免过度拟合。在配偶(右),选择?= 0.08得分为56.6 F1-在最佳得分的一个点内 – 但仅需8分钟进行参数估计。在预测性能最终降低的情况下(中等),肘点也选择相对较少的相关性,给出0.7F1点改善并避免过度拟合。在配偶(右),选择?= 0.08得分为56.6 F1-在最佳得分的一个点内 – 但仅需8分钟进行参数估计。在预测性能最终降低的情况下(中等),肘点也选择相对较少的相关性,给出0.7F1点改善并避免过度拟合。

执行许多设置的结构学习?价格便宜,特别是因为在调整其他超参数之前只需执行一次搜索。关于配偶任务中的大量标签功能,结构学习的25个值是?需要14分钟。在CDR上,标签功能数量较少,需要30秒。此外,如果搜索以低的值开始?并且增加时,通常可以在选定相关的数量达到较低值时提前终止。选择弯头点本身很简单。我们使用与邻居绝对差异最大的点,但也可以应用更复杂的方案[43]。在算法1中显示了用于选择建模策略和(如有必要)相关性的完整优化算法。

4.评估我们通过利用与用户协作开发的部署来评估Snorkel。我们在代表其他部署的开放源码数据集上报告两个真实世界部署和四项任务。我们的评估旨在支持以下三个主要索赔:

•浮潜胜过遥远的监督基线。在远程监督[32]中,实践中最常用的弱监督形式之一是,外部知识库与输入数据进行启发式对齐,以作为嘈杂的训练标签。通过允许用户轻松纳入更广泛,更多异构的弱监管来源,Snorkel超过通过远程监督培训的模型平均达到132%。

•呼吸管接近手部监督。我们看到,通过编写数十个标注函数,我们能够使用手工标记的训练数据来处理或匹配结果,这些数据需要几周或几个月的时间进行组装,在关系抽取任务的手部监督F1得分的2.11%准确性或AUC对跨模式任务的准确率为5.08%,所有任务的平均准确率为3.60%。

•浮潜启用新的交互范例。我们通过报告来自美国各地的生物医学研究人员的用户研究来衡量Snorkel的效率和易用性。这些参与者学习编写标签功能以从新闻文章中提取关系,作为两天学习使用Snorkel的研讨会的一部分,并且匹配或者超越手动标记的训练数据训练的模型,即使是初次使用者,也可以显示Snorkel流程的效率。

我们现在详细描述我们的结果。首先,我们描述验证我们索赔的六个申请。然后,我们展示Snorkel的生成建模阶段有助于提高判别模型的预测性能,证明当使用Snorkel的概率标签进行训练时,其与标记函数的未加权平均值所产生的标签相比精度要高5.81%。我们还验证了通过消融研究逐步纳入许多不同类型弱监管的能力。最后,我们描述我们用户研究的协议和结果。4.1应用为了评估Snorkel的有效性,我们考虑了几个关于开源数据集的真实部署和任务

 

表2:标签功能的数量,正面标签的比例(针对二元分类任务),培训文档数量以及每个任务的培训候选人数量。

它们是信息提取,医学图像分类和众包情感分析中其他部署的代表。表2中提供了任务汇总统计。

判别模型:Snorkel设计中的一个关键赌注是越来越强大的开源机器学习工具(例如,模型,预先训练的词嵌入和初始层,自动调谐器等)的趋势将只会继续加速。为了充分利用这一点,Snorkel为具有标准损失函数的任何区分模型创建了概率训练标签。

在下面的实验中,我们通过使用目前流行的标准选择来控制所有设置的最终模型选择。对于文本形式,我们选择一个双向长时间短记忆(LSTM)序列模型[17],对于医学图像分类任务,我们使用在ImageNet对象分类数据集[14]上预先训练的50层ResNet [19] 。两种模型均在Tensorflow [2]中实现,并使用Adam优化器[24]进行训练,超参数通过随机网格搜索使用小型标记开发集进行选择。最后的分数报告在一个没有标记的测试集上。详情请参阅完整版。

关于以下结果的一个关键问题是,区分模型在标记函数中编码的启发式之外进行推广(如例2.5)。在第4.1.1节中,我们看到关于关系提取应用程序,区分性模型提高了生成模型的性能,主要是通过平均增加43.15%的回忆率。在第4.1.2节中,区分模型将标签功能无法应用的全部数据模式分类。

4.1.1从文本中提取关系我们首先关注文本数据中的四个关系提取任务,因为它是一个具有挑战性和常见的问题类型,经过深入研究并且经常考虑远程监督。表3总结了预测性能。我们简要描述每个任务。科学论文(Chem):通过现代科学文献的在线知识库,例如生物医学文章PubMed10,研究结果比以往更容易获取。然而,实际上以结构化的格式提取细粒度的信息并使用这些数据来回答大规模的特定问题仍然是研究人员面临的重大公开挑战。为了在药物安全研究的背景下解决这个挑战,斯坦福大学和美国 美国食品药品管理局(FDA)的合作者使用Snorkel开发了一种从PubMed摘要中提取化学试剂和反应产物关系的系统。目标是建立FDA的研究人员可用于预测未知药物相互作用的化学反应数据库。我们使用Metacyc数据库[8]中描述的化学反应来进行远程监督。

 

表3:从文本评估关于浮点关系提取任务。以F1,精确度(P)和召回率(R)的调和平均值来衡量,浮潜的生成和判别模型持续改善远距离监督。我们将比较手动标记的数据(可用时间),平均达到1个F1点。

电子健康记录(EHR):随着病人的临床记录越来越多地被数字化,研究人员希望通过回顾性分析大型病人队列来告知临床决策制定,而不是进行昂贵的随机对照研究。然而,电子健康记录(EHR)中的许多有价值的信息 – 例如细粒度的临床细节,从业者笔记等 – 并未包含在标准化医疗编码系统中,因此被锁定在非结构化文本注释部分。我们与美国退伍军人事务部,斯坦福医院和诊所(SHC)以及斯坦福生物医学信息学研究中心的研究人员和临床医生合作,使用Snorkel开发了一个系统,从非结构化EHR笔记中提取结构化数据。特别,该系统的任务是从临床医生笔记中提取精确解剖位置的疼痛水平提示,目标是利用这些功能自动评估患者的幸福感,并在医疗干预如手术后检测并发症。为此,我们的合作者创建了来自SHC EHR数据的5800名患者队列,访问日期为1995年至2015年,产生了50万份非结构化临床文件。由于对知识库的远程监督不适用,我们将之前为此任务开发的基于正则表达式的标签进行了比较。我们的合作者创建了来自SHC EHR数据的5800名患者队列,访问日期为1995年至2015年,产生了500,000份非结构化临床文件。由于对知识库的远程监督不适用,我们将之前为此任务开发的基于正则表达式的标签进行了比较。我们的合作者创建了来自SHC EHR数据的5800名患者队列,访问日期为1995年至2015年,产生了500,000份非结构化临床文件。由于对知识库的远程监督不适用,我们将之前为此任务开发的基于正则表达式的标签进行了比较。

化学 – 疾病关系(CDR):我们使用了2015年BioCreative化学 – 疾病关系数据集[49],其任务是确定提及PubMed摘要中化学物质与疾病之间的因果联系。我们用一个句子中的所有对化学和疾病提及作为候选集合。我们使用比较毒理基因组数据库(CTD)[33]进行远程监督,并且编写了从上下文层次结构捕获语言模式和信息的标注功能。为了评估Snorkel发现以前未知信息的能力,我们随机删除了CTD中的一半关系,并对未包含在剩余部分中的候选人进行评估。

配偶:我们的第四项任务是在Signal Media数据集的一组新闻文章中确定提到配偶关系[10]。我们使用与候选集合相同的句子与人类提到的所有对(用SpaCy的NER模块11标记)共同出现。为了获得用于评估的手动标记数据,我们通过亚马逊Mechanical Turk为候选人推出了众多标签,为每个示例征集三名工作人员的标签并分配大多数投票。然后,我们编写了标记函数,编码DBpedia [26]的语言模式和远程监督。

表4:跨模态实验的评估。对一种模式(文本,众包工作者)进行操作或代表一种模式的贴标签功能为以另一种模式(图像,文本)操作的模型生成培训标签,并且处理大型手标记培训数据集的预测性能。

4.1.2跨模态:图像和众包在跨模态设置中,我们在一个数据模式(例如,文本报告或众包工作者的投票)上编写标签函数,并使用结果标签来训练定义在第二,完全独立的形式(例如,图片或推文的文字)。这证明了Snorkel的灵活性,因为标签函数(以及扩展,生成模型)不需要在与正在训练的区分模型相同的领域进行操作。表中总结了预测性能

4.肺部X线片(Rad)中的异常检测:在许多现实世界的放射学设置中,存在大量的具有相应的叙述性文本报告的图像数据库,但是可用于训练图像分类模型的标签是有限的或没有标签。在这个应用程序中,我们与放射科医师合作,在文本放射学报告上写了标记功能,并使用结果标记来训练图像分类器,以检测肺X光图像中的异常情况。我们使用了OpenI生物医学图像库12中公开可用的数据集,其中包含3,851个不同的放射学报告 – 由非结构化文本和医学主题标题(MeSH)13代码组成 – 以及伴随的X射线图像。

 

表5:训练由生成模型估计的标签上的判别模型与LF输出的未加权平均值的训练之间的比较。预测的性能增益表明,建模低频噪声有帮助。

众包(人群):我们训练了一个模型,使用来自Crowdflower的天气情绪任务的众包注释来执行情感分析.14在这项任务中,要求贡献者对与天气有关的通常不明确的推文的情绪进行评分,从五种情感。20个贡献者对每条推文进行了评分,但由于该任务的困难和缺少群众过滤,工人标签中出现了许多冲突。我们将每个众包员都表示为标签功能 – 显示Snorkel能够包含现有的众包建模方法 – 然后使用结果标签在推文上训练文本模型,以便独立于群众工作人员进行预测。

4.1.3生成建模的影响一个重要的问题是建模标记函数的精确度和相关性对判别模型的最终预测性能的重要性(与第3节中的对比,其中我们只考虑了对生成的准确性的影响模型)。我们将Snorkel与一个更简单的流水线进行了比较,该流水线跳过了生成建模阶段,并在标记函数输出的未加权平均值上训练了判别模型。表5显示,在Snorkel的概率标签上训练的判别模型可以更好地预测,平均提高5.81%。这些结果表明,区分模型可以通过简单的建模策略,从Snorkel的概率训练标签中包含的附加信号中有效地学习。

4.1.4标记功能类型消融我们还研究了不同类型的标记功能对最终预测性能的影响,使用CDR应用程序作为三种常见类别标记功能的代表性示例:

•文本模式:基本单词,短语和正则表达式标记功能。

•远程监督:外部知识库直接映射到候选人,或通过启发式过滤。

•基于结构:标记函数表示启发式的上下文层次结构,例如推理文档中的位置或相对于其他候选者。我们在表6中显示消融,按独立评分进行排序。

正如我们所预料的那样,我们看到远程监督会增加召回的代价,但最终将F1分数提高2分; 并且基于结构的标记功能(由Snorkel的上下文层次数据表示启用)可以添加额外的F1点。

4.2用户研究

我们对Snorkel进行了一项正式研究,以(i)评估中小企业用户如何快速学会编写标签功能,以及(ii)凭经验验证写作标签功能比手写标签数据更具时间效率的核心假设。向用户提供Snorkel的指导,然后要求为前一小节中描述的配偶任务编写标签功能。

参与者:与美国国立卫生研究院资助的大数据识别(BD2K)中心Mobilize Center [25]合作,我们发布了一份全国性的呼吁申请,参加为期两天的使用Snorkel进行生物医学知识库建设的研讨会。选择标准包括一个强大的生物医学项目提案,以及使用Snorkel的经验不多。总共有15位研究人员15被邀请参加了33个团队申请,他们在美国各地的大学,公司和组织的生物信息学,临床信息学和数据挖掘方面拥有不同背景。教育人口包括6名学士,4名硕士和5名博士。度。所有参与者都可以用Python进行编程,80%的人将他们的技能评为中级或更高; 40%的参与者几乎没有接触过机器学习; 而53-60%没有先前的文本挖掘或信息提取应用经验。详情请参阅完整版。

协议:第一天完全专注于标签功能,从理论动机到Snorkel API的细节。在7个小时的过程中,参与者被指导在课堂环境中如何使用和评估使用Snorkel开发的模型。为用户提供了4本教程Jupyter笔记本,其中提供了用于评估标签功能的框架代码,以及一个小型标签开发候选集,并且给予了2.5小时的专用开发时间来编写其标签功能。所有研讨会资料均可在线获取

基线:为了将我们的用户的表现与在手动标记的数据上训练的模型进行比较,我们通过Amazon Mechanical Turk(与前一小节中使用的相同集合)收集了一个大型的手写标记数据集。然后,我们将这个数据分成15个数据集,每个数据集代表7小时的手动标记时间 – 基于每个标签10秒钟的人群平均值 – 模拟用户跳过指令和标签功能开发会话的替代方案,而是花费满日手标记数据。

结果:我们的主要发现是,使用Snorkel编写的标签功能,即使是SME用户,也可以匹配或超过传统的手写标签方法。大多数(8)受试者匹配或胜过这些手动标记的数据模型。平均浮潜用户评分为30.4 F1,平均手部监督评分为20.9 F1。表现最佳的用户模型得分为48.7 F1,比使用手动标记数据的最佳监督模型高19.2分。最差的参赛者得分12.0 F1,比最低手标的模型高0.3分。完整版本提供参与者分数的全面分布,以及参与者背景的分数,与手动标记数据训练的基线模型进行比较。

5.相关工作

本部分概述了管理薄弱监管的技巧,其中许多都纳入了Snorkel。我们还将其与相关的监督形式进行了对比。

组合弱监督来源:弱监督的主要挑战是如何组合多种来源。例如,如果用户为远程监督提供了两个知识库,那么应该如何标记仅匹配一个知识库的数据点?一些研究人员利用多实例学习来减少弱监督源中的噪声[22,41],本质上将不同的弱监督源建模为真实标签上的软约束,但是这种方法是有限的,因为它需要使用特定的最终模型支持多实例学习。

因此,研究人员已经考虑过如何估算标签源的准确性,而没有用于比较的标准源 – 一个经典问题[13] – 并将这些估算结合到可用于训练任意最终模型的标签中。这些工作大部分集中在众包,其中工人的准确度未知[11,23,53]。这种方法使用生成概率模型来估计潜在变量 – 基于噪声观测的真实类别标签。其他方法使用手动指定依赖性结构的生成模型来标记特定模态的数据,例如文本的主题模型[4]或对远程监督来源进行去噪[42,48]。其他用于估计潜在类别标签的技术包括频谱方法[35]。

其他形式的监督:关于半监督学习的研究考虑了一些标记数据和更多的未标记数据的设置,然后利用关于平滑度,低维结构或距离度量的各种域和任务不可知的假设来启发式地标记未标记的数据[ 9]。主动学习的目的是自动估算哪些数据点对于标签是最优的,从而希望减少需要手动注释的示例总数[45]。转移学习考虑了在不同数据集上训练模型的策略或者标记训练数据更丰富的任务[34]。另一种类型的监督是自我训练[3,44]和共同训练[6],它涉及训练一个模型或一对他们标记自己的数据模型。监管薄弱是明显的,因为目标是直接向中小企业招揽投入,然而在更高层次的抽象和/或内在噪音较大的情况下。浮潜专注于管理薄弱的监督来源,但将其方法与其他类型的监督结合起来很直接。

相关数据管理问题:研究人员已经考虑了数据管理中的相关问题,如数据融合[15,40]和真相发现[28]。在这些环境中,任务是估计提供事实断言并确定哪些事实可能是真实的数据源的可靠性。许多解决这些问题的方法使用了与Snorkel的生成模型相关的概率图模型,因为它们将不可观察的真实表示为潜在变量,例如潜在真值模型[54]。我们的设置不同之处在于标签功能将标签分配给用户提供的数据,并且它们可以提供我们必须建模的任何标签或弃权。数据融合方面的工作也探索了如何建模数据源间用户指定的相关性[36]。呼吸管自动识别标记功能之间的哪些相关性以进行建模。

六,结论

浮潜提供了一个新的范例,用于征求和管理弱监督以创建培训数据集。在Snorkel中,用户可以以捕捉领域知识和资源的标签功能的形式提供更高级别的监督,而无需仔细管理组合弱监督源所固有的噪音和冲突。我们的评估表明,Snorkel显着降低了培训功能强大的机器学习模型的成本和难度,同时超越了先前较弱的监督方法并接近大型手工标记培训集的质量。Snorkel在行业,研究实验室和政府机构的部署表明它具有实际影响,为开发人员提供了一种改进的构建模型的方法。

致谢

斯坦福大学的Alison Callahan和Nigam Shah以及美国退伍军人事务部的Nicholas Giori开发了电子健康记录应用程序。美国食品和药物管理局的Emily Mallory,Ambika Acharya和Russ Altman以及Roselie Bright和Elaine Johanson开发了科学论文应用程序。Mobilize Center的Joy Ku组织了用户研究。Nishith Khandwala开发了X光照片应用程序。我们感谢Snorkel的贡献者,包括Bryan He,Theodoros Rekatsinas和Braden Hancock。我们非常感谢DARPA根据N66001-15-C-4043(SIMPLEX),FA8750-17-2-0095(D3M),FA8750-12-2-0335和FA8750-13的支持-2-0039,DOE 108845,NIH U54EB020405,ONR,编号N000141210041和编号N000141310129,Moore Foundation,Okawa Research Grant,美国家庭保险,埃森哲,东芝,斯坦福跨学科毕业生和Bio-X奖学金以及斯坦福大学DAWN项目的成员:英特尔,微软,Teradata和VMware。美国政府有权为政府目的复制和分发重印,尽管有版权标记。本资料中所表达的任何观点,结论和结论或建议均为作者的观点,结论或建议,并不一定反映DARPA,DOE,NIH,ONR或美国政府的观点,政策或认可,无论是明示的还是暗示的。尽管有任何版权标记,政府有权为政府目的复制和分发重印。本资料中所表达的任何观点,结论和结论或建议均为作者的观点,结论或建议,并不一定反映DARPA,DOE,NIH,ONR或美国政府的观点,政策或认可,无论是明示的还是暗示的。尽管有任何版权标记,政府有权为政府目的复制和分发重印。本资料中所表达的任何观点,结论和结论或建议均为作者的观点,结论或建议,并不一定反映DARPA,DOE,NIH,ONR或美国政府的观点,政策或认可,无论是明示的还是暗示的。

 

Leave a Reply

Your email address will not be published. Required fields are marked *