论文解读:《数据增强:通过强化学习引导的条件生成进行文本数据扩充》

news2024/11/23 15:50:06

Title:<Data Boost: Text Data Augmentation Through Reinforcement Learning Guided Conditional Generation>

期刊:EMNLP (顶级国际会议

作者 Ruibo Liu; Guangxuan Xu; Chenyan Jia; Weicheng Ma; Lili Wang; et al

出版日期 2020-11-01

网址 https://doi.org/10.18653/v1/2020.emnlp-main.726

摘要

数据扩充在许多NLU任务中被证明是有效的,特别是对于那些遭受数据稀缺的任务。在本文中,我们提出了一个强大且易于部署的文本增强框架Data Boost,它通过强化学习指导的条件生成来增强数据。我们在五种不同的分类器架构下,在三种不同的文本分类任务上评估数据提升。结果表明,数据增强可以提高分类器的性能,尤其是在低资源数据的情况下。例如,当只给定全部数据的10%用于训练时,数据增强将三个任务的F1平均提高了8.7%。我们还比较了数据增强与六种现有的文本增强方法。通过人工评估(N=178),我们确认数据增强增强在可读性和类一致性方面具有与原始数据相当的质量。

1.介绍

数据扩充是分类任务中广泛使用的技术。在计算机视觉(CV)领域,通过翻转、裁剪、倾斜和改变原始图像的RGB通道来扩充数据(Krizhevsky等人,2012;Chatfield等人,2014年;Szegedy等人,2015);然而,类似的直观和简单的策略在NLP任务中并没有获得同样的成功。现有方法倾向于产生可读性低或语义一致性不令人满意的增强(Yang et al,2020)。

表1给出了一些流行的文本增强方法的输出样本。朴素方法模仿CV中的像素操作,通过添加拼写错误( Xie et al . , 2017)或随机删除和交换令牌( Wei和Zou , 2019)来扩充句子。由于语序被打乱(例如, "宝宝很好! "),这类增强方法的输出结果往往难以辨认;更糟糕的是,关键特征词(例如,可爱这个词,它是情感检测的信号携带词)可能会通过随机删除的方式被误删。

一种更高级的方法是同义词插入或替换(张杰等, 2015 ;王永进、杨志刚, 2015),它使用Word2Vec (米科洛夫等, 2013)将单词替换为其同义词。这种方法尊重原文的句子结构,但没有考虑语境。它有时用同义词来代替在句子的整个语境中显得笨拙的词。例如,用寓言代替可爱,得到"宝贝是寓言! "这句话。最近的工作倾向于基于翻译的( Fadaee et al , 2017 ;西尔弗贝里et al , 2017)增强方法。

特别地,Yu等人( 2018 )提出了一种先将文本翻译成法语再翻译成英语的回译方法,使用带噪声的输出作为增强数据。虽然回译具有直观性和有效性,但其生成偏向于高频词( e.g . , cute , lovely都回译为可爱),不仅会造成重复,而且会导致增广数据的词汇收缩。总之,现有的技术还很不完善,部分原因是文本数据中的句法和语义特征具有很强的相互依赖关系。

增强样本应该表现出目标类的特征。现成的LM(langue model)不能直接用于数据增强;由于它们不是针对特定的语境进行训练的,因此它们的生成是无向的和随机的。条件LM可以根据一定的条件(例如,目标类)生成文本,但它需要从头开始训练一个LM,并且数据覆盖所有的条件。例如,Keskar等人( 2019 )训练了一个16亿参数的LM,该LM条件为各种控制代码。培训成本较高;然而,收集足够的数据用于训练也是繁琐的,尤其是在低资源任务( Waseem , 2016)中。

优点

Data Boost的优势有三点:第一,Data Boost功能强大。与6个相关工作相比,我们在5个不同分类器的3个任务上取得了显著的进步。第二,Data Boost生成句子级增强。与先前的方法进行单词级别或短语级别的替换(小林, 2018 ; Wei and Zou , 2019)不同,我们的增强数据在词汇和句子结构方面具有更多的多样性。人的评价也验证了我们的增强具有较高的可读性和标签一致性。第三,Data Boost易于部署。它不需要外部数据集,也不需要单独训练系统(像机器翻译模型中的回译方法)。取而代之的是现成的GPT2语言模型,在不改变其架构的前提下,对其解码阶段进行修改.

2.数据增强

2.1条件生成器

给定符号x<_{t} = { x_{0},x_{1},...,x_{t-1}}和在时间步长t之前的累积隐状态h^{\Theta }^{}< t^{1},训练一个普通的自回归语言模型( LM )来最大化下一步符号( xt )的概率.通常情况下,模型会选择具有最高概率x_{t}的符号作为t步解码的输出:

2.2强化学习优化

Reward

PPO (近端政策优化)

Salience Score:

其中| x∈c |是指类标号为c的样本中词x的个数,| V |是总词汇量,GM是这两个词的几何平均。这两个分数都试图保证一个词被标记为显著的概率P ( c | x )和P ( x | c )都很高。我们计算每个单词的显著性得分,并选择前N个最高的单词2作为类别标签c (记为wc)的显著性词典。与其他方法如训练鉴别器(达特赫里等, 2020)或导出控制代码( Keskar et al , 2019)相比,我们发现基于频率的方法相对简单但有效,特别是在数据饥饿的情况下,由于训练数据很少,鉴别器的性能可能受到限制。

Salience Gain:

对于以目标类c为条件的第t步令牌xtc,我们将显著性增益计算为与显著词库wc中每个词的余弦相似度的对数求和:

优化:策略梯度进行优化

式中:η为学习率,θ c为条件隐状态的参数。总的来说,我们遵循经典的SGD更新规则,但做了两个主要的改变:( 1 )在令牌解码( Keskar et al , 2019)的过程中,我们使用温度参数T来控制随机采样。T→0近似一种贪婪解码策略,放大了vocab分布中的峰值,而T→∞使得分布更加均匀。( 2 )我们对k步奖励的归一化梯度进行求和。k可以作为条件生成的控制强度。结合以上所有定义,在算法1中总结了Data Boost的策略梯度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1261060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用STM32和蓝牙模块构建智能物联网设备的开发指南

智能物联网设备在现代生活中扮演着重要的角色&#xff0c;而STM32微控制器和蓝牙模块则为实现智能物联网设备提供了基础支持。本文将介绍如何使用STM32微控制器和蓝牙模块构建智能物联网设备的开发指南&#xff0c;包括硬件设计、蓝牙模块配置、传感器数据采集和云平台连接等关…

最新版小权云黑系统 骗子添加查询源码

小权云黑系统添加骗子&#xff0c;查询骗子&#xff0c;可添加团队后台方便审核用&#xff0c;在线反馈留言系统&#xff0c;前台提交骗子&#xff0c;后台需要审核才能过&#xff0c;后台使用光年UI界面&#xff0c;新增导航列表&#xff0c;可给网站添加导航友链&#xff0c;…

使用opencv将8位图像raw数据转成bmp文件的方法

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 这里说的图像raw数据是只包含图像数据的缓存。主要使用了cv::imencode接口将 cv::Mat转化为图像缓存。 #include <opencv2/opencv.hpp>/* 生成一幅…

excel对号怎么打

对号无论是老师批改作业&#xff0c;还是在标注某些数据的时候都会用到&#xff0c;但这个符号在键盘上是没有的&#xff0c;那么excel对号怎么打出来呢&#xff0c;其实只要使用插入符号功能就可以了。 excel对号怎么打&#xff1a; 第一步&#xff0c;选中想要打出对号的单…

基于51单片机的超声波测距系统【程序+proteus仿真+参考论文+原理图+PCB等16个文件夹资料】

一、项目功能简介 整个设计系统由STC89C52单片机LCD1602显示模块声光报警模块存储模块超声波模块按键模块组成。 具体功能&#xff1a; 1、超声波测量距离&#xff0c;显示在LCD1602。 2、存储模块可以存储超声波报警值。 3、通过按键可设置报警值大小。 4、超声波报警距…

金蝶云星空表单插件传递参数到服务插件

文章目录 金蝶云星空表单插件传递参数到服务插件业务需求开发实现传递参数接收参数 金蝶云星空表单插件传递参数到服务插件 业务需求 操作售后单行反关闭时将当前选中行的序号传递到服务端&#xff0c;然后在服务端接收序列号&#xff0c;根据序列号处理相关逻辑。 开发实现…

obsidian官网下载太慢

obsidian真的很强大&#xff0c;速度快&#xff0c;丝滑&#xff0c;但是官网很慢 上百度网盘链接&#xff01; 链接&#xff1a;https://pan.baidu.com/s/1CWoNRuyhtezLTTJOfRf9Jg?pwdxopt 提取码&#xff1a;xopt

在OpenCV中基于深度学习的边缘检测

引言 如何在OpenCV中使用基于深度学习的边缘检测&#xff0c;它比目前流行的canny边缘检测器更精确。边缘检测在许多用例中是有用的&#xff0c;如视觉显著性检测&#xff0c;目标检测&#xff0c;跟踪和运动分析&#xff0c;结构从运动&#xff0c;3D重建&#xff0c;自动驾驶…

如何在Ubuntu系统上安装Redis

Redis的下载 Redis安装包分为windows版和Linux版当前示例中介绍的是Linux版本Linux的下载地址&#xff1a;Index of /releases/ (redis.io)本次下载的压缩包为&#xff1a;redis-6.2.14.tar.gzRedis的安装 将压缩包通过ssh远程工具上传到Linux服务器中解压压缩包 tar -zxvf red…

基于可微分渲染器的相机位置优化【PyTorch3D】

在这个教程中&#xff0c;我们将使用可微渲染学习给定参考图像的相机的 [x, y, z] 位置。 我们将首先使用相机的起始位置初始化渲染器。 然后&#xff0c;我们将使用它来生成图像&#xff0c;使用参考图像计算损失&#xff0c;最后通过整个管道进行反向传播以更新相机的位置。…

Web3.0时代:区块链DAPP将如何颠覆传统模式

小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 随着…

6.Spring源码解析-loadBeanDefinitions(String location)

这里resourceLoader其实就是ClassPathXmlApplicationContext 1.ClassPathXmlApplicationContext 在上文中图例就能看出来 获取资源组可能存在多个bean.xml 循环单独加载资源组 创建一个编码资源并解析 获取当前正在加载的资源发现是空 创建了一个字节输入流&#xff0c…

竞赛选题 题目:基于大数据的用户画像分析系统 数据分析 开题

文章目录 1 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…

cpu飙高问题,案例分析(二)——批处理数据过大引起的应用服务CPU飙高

上接cpu飙高问题&#xff0c;案例分析&#xff08;一&#xff09; 一、批处理数据过大引起的应用服务CPU飙高 1.1 问题场景 某定时任务job 收到cpu连续&#xff08;配置的时间是180s&#xff09;使用超过90%的报警; 1.2 问题定位 观察报警中的jvm监控&#xff0c;发现周期…

LeetCode(33)最小覆盖子串【滑动窗口】【困难】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 76. 最小覆盖子串 1.题目 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 "" 。 注意&#xff1a; 对于 t 中重复字…

python爬虫实习找工作练习测试(以下内容仅供参考学习)

要求&#xff1a;获取下图指定网站的指定数据 空气质量状况报告-中国环境监测总站 输入&#xff1a;用户输入下载时间范围&#xff0c;格式为2022-10 输出&#xff1a;将更新时间在2022年10月1日到31日之间的文件下载到本地目录&#xff08;可配置&#xff09;&#xff0c;并…

在Rust中编写自动化测试

1.摘要 Rust中的测试函数是用来验证非测试代码是否是按照期望的方式运行的, 测试函数体通常需要执行三种操作:1.设置任何所需的数据或状态;2.运行需要测试的代码;3.断言其结果是我们所期望的。本篇文章主要探讨了Rust自动化测试的几种常见场景。 2.测试函数详解 在Rust项目工…

图像去噪——k-Sigma变换,模拟增益,噪声方差

目录 一、k-Sigma变化k-Sigma变换定义式定义式参数解析 二、模拟增益三、噪声方差 一、k-Sigma变化 k-Sigma变换是一种用于图像去噪的方法&#xff0c;它的主要思想是通过一个特定的线性转换&#xff0c;将训练数据从ISO-dependent的域名转换到ISO-independent的域上。这个转换…

QtCreator创建的文件复制到VS下报错

报错1&#xff1a; 错误 C2447 “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 myselectpoint.cpp) DataTypeLib e:\qtnewproject\linuxversion\videointerpretationanddataprocesssystem_vs\jwycfsoftware\datatypelib\allstructdefine.h 117 解…

快速开发出一个公司网站

问题描述&#xff1a;参加一个创业活动&#xff0c;小组要求做一个公司网站&#xff0c;简单介绍一下自己公司的业务。需要快速完成。 问题解决&#xff1a;从网上找一个网站模板&#xff0c;类似于做PPT&#xff0c;搭建一个网站即可。 这里推荐的是京美建站、wordpress、he…