下一代数据标注工具Snorkel:基于弱监督的自动化标注

简介: 我知道你已经用上了最先进的深度学习模型,不过,还在人工标注数据吗?这有点过时了!快来了解下Snorkel —— 最新的基于弱监督学习的大规模训练数据标注神器!要快速掌握机器学习应用的开发,推荐汇智网的机器学习系列教程。

我知道你已经用上了最先进的深度学习模型,不过,还在人工标注数据吗?这有点过时了!快来了解下Snorkel —— 最新的基于弱监督学习的大规模训练数据标注神器!

在这里插入图片描述

要快速掌握机器学习应用的开发,推荐汇智网的机器学习系列教程。

现在的机器学习尤其是深度学习模型很强大,但是训练这些模型需要大量的标注数据集!传统的人工标注方式成本非常高,而且很耗时间,在有些情况下根本就是不现实的,例如可能涉及到隐私的问题。当需要领域专家才能够进行数据的标注时,这一问题变得更加糟糕 。而且,随着时间的推移,标注任务有可能也会变化,而这些手工标注的训练数据都是静态的,可能无法应用于变化的任务,造成既往投入的浪费。

斯坦福大学的snorkel系统,就是为了解决数据标注这一机器学习的瓶颈问题而开发的解决方案,它的基本思想就是通过编程来标注海量的数据点。

我们可以使用多种方法来编写标注数据的程序,例如使用假设、类比、规则、知识库等等。这样得到的训练数据集被称为弱监督(Weak Supervision):标注并不精确,并且可能存在多个彼此冲突或重叠的标注信号。

可以视为弱监督源的示例包括:

  • 领域启发式搜索,例如:常见模式、经验法则等
  • 已有的正确标注的数据,虽然不完全适用于当前的任务,但有一定的作用。这在
    传统上被称为远程监督。
  • 不可靠的非专家标注人,例如:众包标注

Snorkel是一个围绕数据编程范式(Data Programming paradigm)而构建的系统,用于快速创建、建模并管理用于机器学习的训练数据集。

数据编程范式是一个简单但强大的方法,我们请领域专家给出各种各样的监督信号作为标注函数,可以使用标准的像Python这样的脚本函数来编写这些标注函数。标准函数中编码了领域相关的推理规则,可以使用入正则表达式、经验规则等常见的模式进行标注。这样生成的标注是包含噪声的,并且可能彼此冲突。

在Snorkel中,这些标注推断被成为标注函数(Labeling Function),下面是一些常见类型的标注函数:

  • 硬编码的推导:通常使用正则表达式
  • 语义结构:例如,使用spacy得到的依存关系结构
  • 远程监督:例如使用外部的知识库
  • 有噪声人工标注:例如众包标注
  • 外部模型:其他可以给出有用标注信号的模型

在这里插入图片描述

当编写好标注函数后,Snorkel将利用这些不同的标注函数之间的冲突训练一个标注模型(Label Model)来估算不同标注函数的标注准确度。通过观察标注函数之间的彼此一致性,标注模型能够学习到每个监督源的准确度。

例如,如果一个标注函数的标注结果总是得到其他标注函数的认可,那么这个标注函数将有一个高准确率,而如果一个标注函数总是与其他标注函数的结果不一致,那么这个标注函数将得到一个较低的准确率。通过整合所有的标注函数的投票结果(以其估算准确度作为权重),我们就可以为每个数据样本分配一个包含噪声的标注(0~1之间),而不是一个硬标注(要么0,要么1)。

接下来,当标注一个新的数据点时,每一个标注函数都会对分类进行投票:正、负或弃权。基于这些投票以及标注函数的估算精度,标注模型能够程序化到为上百万的数据点给出概率性标注。最终的目标是训练出一个可以超越标注函数的泛化能力的分类器。

在这里插入图片描述

这一方法的三大优点是:

  1. 可以大规模标注,每个标注函数都可以用于成百上千个数据样本的标注。
  2. 可以利用海量的未标注数据,来构建大量虽然不完美但是足够好的大型训练数据集
  3. 这些标注可以用于训练一个具有大特征集的强大的判别分类器。即使我们只使用
    100个标注函数,每个数据样本依然可以有上千个特征。

因此,通过这种方法得到海量的低质量监督,然后使用统计技术处理有噪标注,我们可以训练出高质量的模型。


原文链接:Snorkel 可编程的数据标注神器 — 汇智网

目录
相关文章
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
475 0
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
980 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
人工智能 自然语言处理 监控
110_微调数据集标注:众包与自动化
在大语言模型(LLM)的微调过程中,高质量的标注数据是模型性能提升的关键因素。随着模型规模的不断扩大和应用场景的日益多样化,如何高效、准确地创建大规模标注数据集成为了研究者和工程师面临的重要挑战。众包与自动化标注技术的结合,为解决这一挑战提供了可行的方案。
1401 2
|
人工智能 数据可视化 数据挖掘
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
本文深入分析了传统手动日报在数据孤岛、格式混乱和时效性差三大痛点,并探讨了自动化日报带来的效率提升、决策优化等四大核心价值。通过对板栗看板、SmartBrief、n8n 等六款主流工具的功能、适用场景及实战效果进行测评,为企业提供科学的选型建议与实施路径。
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
920 6
|
人工智能 供应链 数据可视化
工作流梳理工具实战教程:手把手教你绘制第一张自动化流程图
本文剖析了团队因流程混乱导致重复劳动和效率低下的问题,提出通过工作流梳理提升协作效率的解决方案。总结了流程梳理的六大核心需求,并深度测评了6款主流工具,国内有板栗看板那,国外有kiss flow结合团队规模与需求提供选型建议,助力企业高效落地流程优化。
|
人工智能 缓存 自然语言处理
86_自动化提示:AutoPrompt工具
在当今人工智能领域,提示工程(Prompt Engineering)已成为释放大语言模型(LLM)潜能的关键技术。随着LLM规模和能力的不断增长,如何设计高效、精确的提示词成为研究和应用的焦点。然而,传统的手工提示工程面临着巨大挑战
766 0
|
安全 搜索推荐 机器人
风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具
机器人流程自动化(RPA)是一种通过软件“机器人”自动执行重复性任务的技术,能大幅提升工作效率。它适用于财务、电商等领域的标准化流程,如账单处理和退货管理。然而,RPA在复杂决策场景中存在局限,需结合决策模型(DMN)和业务规则管理系统(BRMS)实现流程与决策的协同自动化,从而增强灵活性与业务价值。

热门文章

最新文章