数据增广真有那么神奇吗?
作者:皮皮雷 来源:投稿
编辑:学姐
论文题目
How Effective is Task-Agnostic Data Augmentation for Pretrained Transformers?
论文作者
S. Longpre, Y. Wang, and C. DuBois
论文发表于
2020 EMNLP findings

摘要
任务无关的数据增广(DA)在NLP中运用广泛,尤其是在数据稀少的情况下、或者在下游任务中接非预训练模型(如LSTM,CNN)效果显著。有时候,下游任务接预训练语言模型(如BERT)也会有所提升。
论文提出的问题是:
当DA运用在预训练语言模型上,到底有多少效果?
论文使用两种常规的数据增广方法:
Easy Data Augmentation (EDA) (Wei and Zou, 2019) 和回译(Sennrich et al., 2015),在6个数据集、5种分类任务(情感分类SST2,RT、主观性SUBJ、问题类型TREC、句子相似STS-B、推理MNLI)、3个预训练语言模型(BERT, XL-NET, and ROBERTA)上比较DA的效果。
结果发现,尽管前人实验证实DA方法在非预训练语言模型上效果显著,但是不适用于预训练语言模型,哪怕是在数据稀少的情况下。
结论
在用PLM做文本分类时,增广手段不能起到提升作用。推测是因为PLM在预训练过程中已经拥有较多的语言知识(无需再次增强)。

数据集
·情感分类 SST2, RT·主观性 SUBJ·问题分类 TREC·句子相似 STS-B·推理 MNLI
用于测试的数据: 在这些数据集的测试集中随机抽取1000条。
训练数据大小: N ∈ {500, 1000, 2000, 3000, Full},以模拟在数据稀疏情况下的表现
数据增广方法
1.Back Translation (回译) : 英语 → 德语
英语1句的德语翻译,再翻回6句不同的英语,取6句话中与原文编辑距离最长的。
目的:最大限度增加语言的丰富程度(linguistic variety)
2.Easy Data Augmentation (EDA) 包括同义词替换、随机交换词语顺序、随机插入和删除词语
变量:数据增广的总量,设置参数τ ∈ {0.5, 1, 1.5, 2}. N ×τ 是增广的数据量。
模型
研究者测试了3种预训练语言模型在数据增广下的表现。
BERT-BASE
XLNET-BASE
ROBERTA-BASE
实验
先调参:对于每一种数据增广策略(不增广、回译、EDA)分别调参,采用30次随机搜索方法调参,确保模型发挥较好的效果。


实验数据发现数据增广的方法收效甚微。研究者接下来讨论产生这种情况的原因。
讨论:为什么数据增广的策略没有效果?
现象1:数据增广对BERT的增益比另外两个模型大。而且BERT的预训练数据量相对了另外两个模型小。所以推测预训练过程达到了和数据增广相似的效果。
研究者建议:数据增广可以增加任务相关语料的语言学丰富度,尤其是当预训练不足够的时候。
现象2:RT情感分类数据集中,少见的、别出心裁的表达构成了很多难例(如“wishy-washy”),模型较难归纳出这些词所属的情感类别。在这些难例上,预训练模型做对了,而LSTM没做对。
这些结果表明数据增广和预训练都提高了模型处理复杂语言结构、歧义词和标签类别中未出现的词语的能力。
评价
在竞赛中,我们常常看到数据增广的方法能够提分,而且提分不少,因此数据增广被当做一个有口皆碑的刷分利器。而这篇Apple公司的论文正是关注数据增广在预训练模型上的表现,做了一系列的实验,结果却和我们以前的认知大相径庭。
这是为什么呢?在读的过程中我也意识到了一些问题。比如,分类效果没有提升,是因为总数据量的增加导致的?还是数据增广方法的应用导致的?如果把这个变量分离出来做比较,可能会更有说服力一些。
而且,在我们的经验中,数据增广方法在一些数据集上有神奇的效果、在另一些上没有,这也是符合“no free lunch”定律的:天下没有一种普适的模型和算法能一下找到所有问题的最优解。
不过这篇论文的优点在于提出的问题非常基础、有建设性。相信里面有更多的东西有待挖掘,比如,数据增广方法能够奏效的数据集,它们本身有什么特点?而数据增广收效甚微的数据集又有什么特点?这些都是这篇文章引出的问题和思考。
论文链接:
https://arxiv.org/abs/2010.01764
关注下方《学姐带你玩AI》🚀🚀🚀
回复“ACL”领取NLP顶会600多篇经典论文
码字不易,欢迎大家点赞评论收藏!
相关文章:
数据增广真有那么神奇吗?
作者:皮皮雷 来源:投稿 编辑:学姐 论文题目 How Effective is Task-Agnostic Data Augmentation for Pretrained Transformers? 论文作者 S. Longpre, Y. Wang, and C. DuBois 论文发表于 2020 EMNLP findings 摘要 任务无关的数据增广…...
常用基础硬件知识 - 判断MOS管导通
目录1. 概述2. 判断MOS管的导通1. 概述 本文主要记录下基础的硬件知识,方便自己查阅。 2. 判断MOS管的导通 在产品硬件设计中,有时需要程序控制一些电源使能。 1.原理图已经标出了G极(gate)—栅极、S极(source)—源极、D极(drain)—漏极。 如果没有标…...
2023金三银四,测试人还能找到好工作吗?
嫌看文章麻烦的朋友点这里:2023最新软件测试行业变革细谈之我们该如何应对? 按照往年的惯例,春节后复工的 3 月、4 月是人员跳槽最频繁的时候,俗称“金三银四”。然而,市场大环境的影响,很多行业感受到了一…...
c++构造函数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、构造函数1.构造函数的形式2.构造函数的调用时机3.委托构造函数4.复制构造函数二、析构函数本文仅为个人笔记 视频链接:https://www.bilibili.com/vid…...
redis 未授权访问漏洞
redis 未授权访问漏洞 目录 redis 未授权访问漏洞 漏洞描述 漏洞原因: 漏洞危害 漏洞复现: 漏洞复现 写webshell: 写计划任务:centos默认在/var/spool/cron 写ssh公钥实现ssh登录: 漏洞描述: Redis默认情况下…...
如何制作一个自定义的winpe?
winpe制作过程 获取相关资源 https://www.aliyundrive.com/s/MP58JbRsm76 文件存放位置 将压缩包存放在一个全英文目录下了,我这里选择了D:/winpe目录 解压文件 将三个压缩包进行解压到当前目录,如下图所示 创建一个mount目录,并在mount目录下分别创建boot和install目…...
QString转为2进制,8进制,10进制,16进制介绍
首先看段代码: bool ok false;QString ss "11";qDebug()<<"-----"<<ss.toInt(&ok,2)<<ss.toInt(&ok,10)<<ss.toInt(&ok,16)<<ss.toInt(&ok,8);结果: ----- 3 11 17 9 bool ok fal…...
2023-3-2-22:01随笔
好久没怎么更新技术分享博客了。去年从2022年1月3日到2023年1月份一直专注于ADAS的行车横向功能的研发与实车调试,2022年写了几篇项目经验的文章,像LQR算法(虽然和同事(志同道合,技术追求的民哥)写出的工程…...
学习红客技术必备,手把手教你成为“安防第一人”
互联网时代已悄悄来临,作为新时代的人们,我们日常生活、工作、学习方面都需要借助互联网来完成,这样,又产生一种新的问题,那就是网络安全的问题,有时我们拼命加班好不容易完成的东西,在一夜之间…...
Git系列:常见指令辨析
Git系列:常见指令辨析指令辨析工作区、暂存区、版本库傻傻分不清楚?主干和分支的关系是什么?git fetch/merge/pull辨析日志查看时,git log与git reflog的区别是?git diff和status的区别是?相关资料本文小结…...
并发编程实战-构建自定义的同步工具
文章目录1.状态依赖性的管理1.1 示例:将前提条件的失败传递给调用者1.2 示例:通过轮询与休眠来实现简单的阻塞1.3 条件队列2.使用条件队列2.1 条件谓词2.2 过早唤醒2.3 丢失的信号2.4 通知2.5 示例:阀门类2.6 子类的安全问题2.7 入口协议与出…...
HBase集群部署
目录 一、前期准备 二、HBase下载 1. 查看HBase与hadoop版本对应关系 2. hbase的下载 3. 将hbase的tar包上传到linux 下 二、安装hbase 1. 解压 2. HBase的文件配置 主机名hadoop版本HBase版本hadoop安装路径Hbase安装路径HadoopMaster3.3.02.4.3/home/hadoop/softwareh…...
网络传输:linux下的网络请求和下载(ping wget curl)、端口
一、下载和网络请求 1.ping命令 可以通过ping命令,检查指定的网络服务器是否可连通状态 语法:ping [-c num] ip或主机名 选项: -c 检查的次数,若不使用-c,将无限次数持续检查参数:ip或主机名,…...
阅读(1)-----六级
目录 1.单词不懂怎么办? 1.1构词法 1.2上下文 2.句子不通怎么办? 3.时间不够怎么办 ? 4.题型 4.1细节题 问文章的细节 4.2主旨题(文章主旨和段落主旨) 4.3语义题 4.4观点题 (一共三种,支持、反对和中立 &…...
【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)
导语 哈喽!北鼻们,晚上好。 夕阳🌇的第一缕阳光送给小可爱们~每天都要加油鸭! 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 彩票是一个恒古不…...
【python】控制台中文输出乱码解决方案
注:最后有面试挑战,看看自己掌握了吗 文章目录控制台原因解决方法方法一方法二方法三如果是os.system函数乱码控制台原因 一般的情况下,还是我们的源码文件的编码格式问题。我们一般是要把源码文件的编码格式改成utf-8就好了,但是…...
一名IC验证工程师的成长路径是怎么样的?来听听工程师的见解
IC验证这个岗位对于非科班的学生是比较友好的,因为验证需要具备的技能UVM,SV,C等,非科班和科班的差距不会拉开太大。因其岗位需求量巨大而格外受到了大家的青睐,甚至成为不少学生的转行首选。 验证对于IC的重要性 IC…...
java工具jconsole/jstat学习
参考视频【java】jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM_哔哩哔哩_bilibili 一、jps 我们再windows和linux都可以看到哪些java进程。 有小伙伴又会问了 这个类是java的 那其他的这么多进程18096 /8685 这些是啥啊 其实也是java进程,只不过是其他程…...
WSN_1 介绍;部分应用介绍
学习自书籍:Fundamentals of Wireless Sensor Networks. WSN 介绍 传感器 从基础角度说,传感器观测采集现实世界的一些数据。 另一个名称是 transducer 换能器,指传感器将一些形式的信号转换为其他形式的信号,如光敏传感器 光…...
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
