当前位置: 首页 > news >正文

训练数据有缺陷?TrustAI来帮你!

2022年5月,百度正式发布了首个集可信分析和增强于一体的可信AI工具集-TrustAI。近日TrustAI迎来重大更新。本次升级针对NLP领域数据标注的常见问题,如训练数据中存在脏数据阻碍模型效果提升数据标注成本太高但又不清楚该标注什么数据数据分布有偏导致模型鲁棒性差等,TrustAI发布了多项功能帮助NLP开发者解决训练数据缺陷问题,用最小的标注成本获得最大幅度的效果提升。

  • 想了解更多TrustAI的信息,请点击:

链接:https://github.com/PaddlePaddle/TrustAI

下面将介绍TrustAI如何解决3类数据缺陷问题:

**问题一: 训练数据存在脏数据

  • 措施:自动识别脏数据,降低人力检查成本

训练数据标注质量对模型效果有较大影响,往往会成为模型效果提升的瓶颈。但当标注数据规模较大时,数据检查就成为一个难题。

TrustAI提供了脏数据(即标注质量差的数据)自动识别功能,帮助降低人工检查数据的成本。如图一所示,在两个公开数据集上,TrustAI自动识别的脏数据比例远高于随机选择策略。

图片

图一 不同策略识别出的脏数据比例

进一步通过对10%的脏数据进行人工修正后,在相似度计算任务的原始测试数据和鲁棒性测试数据上,模型效果可以分别提高2.13%和4.01%,如表一所示。

图片

表一 修正脏数据后的实验结果

**问题二:训练数据覆盖不足

  • 措施:标注尽量少的数据,提升模型效果

训练数据覆盖不足会导致模型在对应的测试数据上表现不好。数据扩充是提升模型效果直接的方法,然而数据标注是一个费时费力的工作,如何标注更少的数据带来更大的效果提升是大多数NLP开发者面临的难题。

TrustAI可识别因训练数据覆盖不足而导致的预测效果差的测试样本(这些样本构成的集合称为目标集),并能帮助开发者从未标注数据中选择有效数据进行标注,提高训练数据对目标集的覆盖度,进而提升模型效果。如表二所示,当增加20%的训练数据时,TrustAI选择的数据可显著提升模型效果,在目标集上效果提升了14.41%,而随机选择的数据仅能带来0.01%的提升。

图片

表二 有效增强训练数据的实验结果

****问题三训练数据分布偏置

  • 措施:缓解数据偏置对模型训练的影响,提升模型鲁棒性

研究表明,神经网络模型会利用数据集中的偏置作为预测的捷径,如在情感分析任务中,遇到否定词模型会倾向预测为“负向”情感。这种偏置会导致模型没有真正理解语言,导致模型的鲁棒性降低。

TrustAI提供了数据权重修正和数据分布修正两种优化策略,在不需要人工介入的条件下,缓解训练数据偏置对模型训练的影响,提升模型的语义理解能力,进而提升模型的鲁棒性。如表三所示,在相似度计算任务的鲁棒性测试集上,数据权重修正策略可带来准确率0.94%的提升。在表四中,数据分布修正策略在情感分析任务的鲁棒性数据集上,可使模型准确率提升1.41%。

图片

表三 数据权重修正的实验结果

图片

表四 数据分布修正的实验结果

以上是本次TrustAI开源的功能介绍,欢迎大家前往TrustAI主页进行体验和使用。关于TrustAI的更多介绍参见:

关于TrustAI工具集推荐阅读

百度重磅发布业界首个集可信分析和增强于一体的可信AI工具集-TrustAI

TrustAI支持pip一键安装,欢迎大家了解更多技术详情和使用方法,并贡献你的Star和Fork!

  • TrustAI项目链接:https://github.com/PaddlePaddle/TrustAI

目前,飞桨自然语言处理开发库PaddleNLP已将TrustAI解决训练数据缺陷的能力接入到文本分类系统方案中。PaddleNLP已开源文本分类系统,覆盖多分类、多标签、层次分类三大高频场景,结合TrustAI可信增强能力和数据增强API,提供有效训练数据选择、脏数据清洗、数据增强多种数据优化方案,高效地、低成本地解决文本分类任务中数据标注常见痛点问题,欢迎大家使用!

  • 项目直达:

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/text_classification

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

相关文章:

  • WebSocket的使用,前后端发送消息的例子
  • MDM属性跳转功能说明
  • java计算机毕业设计物流信息管理系统录像演示源码+系统+数据库+lw文档+mybatis+运行部署
  • 没有基础能否学Java
  • 【CSS】笔记3-三大样式
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • redis 为什么这么快,你真的知道吗?
  • 【湖仓一体化】存OR算之争?SPL 我都要
  • 学习偏态分布的相关知识和原理的4篇论文推荐
  • 【 java 面向对象】包装类的使用
  • 【Leetcode刷题】搜索插入位置
  • 面向对象编程的Python实例教程-区间的插入
  • 计算机组成原理百道必考大总结(上)
  • W10安装Cuda和cuDNN环境
  • 手写一个泛型双向链表
  • Angular Elements 及其运作原理
  • Apache Pulsar 2.1 重磅发布
  • css属性的继承、初识值、计算值、当前值、应用值
  • js
  • python3 使用 asyncio 代替线程
  • quasar-framework cnodejs社区
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 将回调地狱按在地上摩擦的Promise
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 全栈开发——Linux
  • 网页视频流m3u8/ts视频下载
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • NLPIR智能语义技术让大数据挖掘更简单
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • $$$$GB2312-80区位编码表$$$$
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (floyd+补集) poj 3275
  • (办公)springboot配置aop处理请求.
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (过滤器)Filter和(监听器)listener
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (状压dp)uva 10817 Headmaster's Headache
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Remoting学习笔记(三)信道
  • .NET Standard 的管理策略
  • .net 发送邮件
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .net访问oracle数据库性能问题
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .net和php怎么连接,php和apache之间如何连接
  • .Net接口调试与案例