mixSeq: A Simple Data Augmentation Method for Neural Machine Translation阅读笔记

2023-11-09

Abstract

数据增强是指通过操纵输入(如添加随机噪声、屏蔽特定部分)来扩大数据集。大多数数据增强技术都是在单一的输入上操作的,这限制了训练语料库的多样性。在本文中,我们提出了一种简单而有效的神经机器翻译数据增强技术,mixSeq,它操作于多个输入及其对应的目标。具体来说,我们随机选择两个输入序列,将它们连接在一起作为一个较长的输入,将它们对应的目标序列作为一个放大的目标,并在增强数据集上训练模型。在9个机器翻译任务上进行的实验表明,这种简单的方法提高了基线的显著性。我们的方法可以进一步与基于单输入的数据增强方法相结合,以获得进一步的改进。

1 Introduction

对于图像分类,有剪裁、翻转、旋转等,对于NLP有随机交换单词、删除单词和屏蔽特定单词。数据增强不影响输入的主要内容,但引入了噪声,以增加训练集的多样性。

现有的数据增强方法大多从训练集中选取一个样本作为输入,这可能会限制训练语料库的范围和多样性。Mixup (Zhang et al., 2018)是最近提出的一种数据增强方法,其中使用来自训练语料库的两个样本来构建合成样本。

具体来说,设 x 1 x_1 x1, x 2 x_2 x2表示训练集中的两幅图像, y 1 y_1 y1, y 2 y_2 y2表示它们对应的标签。将合成数据 ( λ x 1 + ( 1 − λ ) x 2 , λ y 1 + ( 1 − λ ) y 2 ) (\lambda x_1+(1-\lambda)x_2, \lambda y_1+(1-\lambda)y_2 ) (λx1+(1λ)x2,λy1+(1λ)y2)引入扩充数据集。 λ \lambda λ是随机生成的。成对抽样是另一种数据增强方法,合成后的样本为 ( 0.5 x 1 + 0.5 x 2 , y 1 ) (0.5x_1+0.5x_2, y_1) (0.5x1+0.5x2,y1)。这些方法在NLP的机器翻译任务中没有发挥作用,本研究沿着这个方向探索。

在序列学习中,两个输入 x 1 x_1 x1 x 2 x_2 x2可能包含的单词单元不同。另外对于序列生成任务,对应的 y 1 y_1 y1 y 2 y_2 y2的长度可能不同。所以直接总结一起它们是不实际的。相反,选择连接两个输入和两个标签来获得合成数据。我们发现,在合成数据中使用特殊标记来分隔这两个句子是很重要的。我们将我们提出的方法命名为mixSeq。

mixSeq在9个机器翻译任务上都有效,其还可以与其他数据增强方法进一步结合,进一步提高性能。

通常,mixSeq随机对两个连接的序列进行采样。但是,如果这两个连接的序列是上下文相关的,我们可以将我们的mixSeq增强为上下文感知版本:ctxMixSeq,这将导致更好的性能。

2 Our Method

符号:$\mathcal{X} 和 和 \mathcal{Y} $ 代表两个语言空间,是对应语言的句子集合。NMT的目标是学习 X \mathcal{X} X Y \mathcal{Y} Y的映射。设 D = { ( x i , y i ) } i = 1 N \mathcal{D}=\{(x_i,y_i)\}^N_{i=1} D={(xi,yi)}i=1N 为表示NMT双语训练语料库。其中 x i ∈ X , y i ∈ Y x_i\in \mathcal{X}, y_i\in \mathcal{Y} xiX,yiY N N N表示训练样本的个数。设 c o n c a t ( . . . ) concat(...) concat(...)表示连接操作,将输入序列合并成一个较长的序列,每个输入用一个空格分割。

训练算法:

在这里插入图片描述

在mixSeq中,重要的步骤是构建一个扩充的数据集 D ^ \hat {\mathcal{D}} D^ ,首先对两个对齐的序列对 ( x i , y i ) (x_i, y_i) (xi,yi) ( x j , y j ) (x_j,y_j) (xj,yj)进行按规则抽样。然后用一个特殊的标签将两个样本的源句和目标句分别连接起来,得到两个样本的长序列表示, x ~ k \widetilde {x}_k x k y ~ k \widetilde y_k y k。最终获得 N ^ \hat N N^大小的扩充数据集 D ^ \hat {\mathcal{D}} D^。之后,我们将 D \mathcal D D上采样或者下采样到 N ^ 相 同 的 大 小 , 记 为 \hat{\mathcal{N}}相同的大小,记为 N^ D ~ \widetilde {\mathcal{D}} D 。最后,我们在 D ^ ∪ D ~ \hat{\mathcal{D}} \cup \widetilde{D} D^D 上训练翻译模型。

S a m p l i n g F u n c SamplingFunc SamplingFunc设计:两种形式对应算法的两种变体。

  • 一般情况,从 { 1 , 2 , . . . , N } \{1, 2, ... , N\} {1,2,...,N}中随机抽取 i , j i, j i,j。使用mixSeq表示这种变体。
  • 当上下文信息可用时,即双语数据从一对对齐的文档中提取,SamplingFunc只对给定文档中的连续序列进行采样。假设 x i / y i x_i/y_i xi/yi表示文档中的第 i i i个句子,那么SamplingFunc只采样 ( i , i + 1 ) (i,i+1) (i,i+1)索引对。我们使用ctxMixSeq来表示这个变体。

Discussions: mixSeq对两个序列进行操作,而以前的数据增强方法,如随机删除、交换或屏蔽单词,通常对单个序列进行操作。这些方法可以与mixSeq结合使用,从而带来进一步的改进(参见表3)。

3 Experiments

在多种翻译任务上进行实验。

3.1 Setup
Datasets:
Models and Training Strategy:

对于mixSeq,我们将 N ^ \hat N N^设为 5 N 5N 5N;对于ctxMixSeq,我们将 N ^ \hat N N^设为 N N N 。对于IWSLT任务,Transformer模型 的embedding维数为256、前馈网络为1024、层数为6。dropout rate 为0.3。batch size为6000 tokens。训练模型200k个steps。对于WMT任务,Transformer模型的嵌入维数为1024,前馈网络为4096,层数为6。批量大小为4096个令牌。所有模型的学习率为 5 × 1 0 − 4 5\times 10^{-4} 5×104

Evaluation:

我们使用波束宽度为5的波束搜索,长度惩罚值为1.0来生成序列。通过BLEU评分对生成质量进行评价。

3.2 Results

NMT任务中采用新的baseline,pair sampling。效果明显。

3.3 Analysis

消融实验

Ablation Study of the Usage of < s e p > <sep> <sep>

去掉之后变差。

Concatenating More Sequences

有改进但需要进一步研究。

4 Related Work

现有的NMT数据扩充方法都是单输入操作。

与我们类似的并行工作是(Kondo等人,2021),其中 < s e p > <sep> <sep>没有发挥作用。在其他领域,已经提出了多样本数据增强方法。Mixup通过平均两个输入和两个标签生成一个合成样本。它被进一步应用于半监督学习以扩大数据集(Berthelot et al., 2019)。Pair sampling(Inoue, 2018)只平均了两个输入,而不是标签。

5 Conclusion and Future Work

在本研究中,我们提出了一种简单而有效的NMT数据扩充方法,即随机连接两个训练样本来扩充数据集。在9个机器翻译任务上的实验证明了该方法的有效性。对于未来的工作,有几个方向需要探索。首先,我们将把我们的方法应用于更多的NLP任务。其次,我们将从理论上分析它何时以及为什么会起作用。第三,我们将研究和设计更有效的数据增强方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mixSeq: A Simple Data Augmentation Method for Neural Machine Translation阅读笔记 的相关文章

  • 云计算通俗解释,什么叫云计算

    计算已经越来越为大众所熟知 那么云计算到底是什么呢 有没有云计算通俗解释呢 云计算是由分布式计算 并行处理 网格计算发展来的 是一种新兴的商业计算模型 目前 对于云计算的认识在不断的发展变化 云计算仍没有普遍一致的定义 云计算 Cloud
  • 【Java】HashMap原理-JDK1.7与JDK1.8的区别

    一 HashMap 扩容 JDK1 7 和JDK1 8 扩容原理相同 HashMap初始化大小为16 负载因子为0 75 每次当容量大于16 0 75 时 进行扩容 扩容为原来的两倍 也可以通过构造方法修改 但HashMap会自动将给定初始
  • 小鹅通面试回顾

    如果大家也在找面试笔试题目内容 可以看我的总结文章 正在更新之中 有没涉及到的内容 欢迎大家指出 附链接 数据库 C C HTML OS 计网面试准备 更新中 一面内容 最开始时讲述一下自己学校时曾做过的一些项目内容 之后我自己介绍时说对于
  • qt 登陆界面账号和密码的验证

    这几天一直研究怎么让界面账号和密码验证的问题 特别想用数据库 一直有QSQLlitdatabase cant find 的问题 找了很多方法没成功 要交课设 所以放弃用其他方法 用文件存吧 比较省事 但是有个更简单的办法 哈哈 先看 转到槽
  • 云象区块链解读区块链如何赋能贸易金融

    陀螺公开课 是定位于区块链行业的线上精品教育课程 以视频的形式传递行业思考 内容板块包括技术前沿 产业案例 领袖视野 学术思想 名人演讲等 通过邀请行业领域专家线上讲课 及开放高质量视频投稿 为用户提供优质的区块链学习内容 陀螺公开课第三期

随机推荐

  • nrm 安装后报错 --- 亲测有效

    发现问题 执行指令 npm i g nrm 安装后 nrm V 报错 报错内容如下 import process from node process SyntaxError Cannot use import statement outsi
  • 自学Unity游戏开发日记

    Unity游戏开发的启蒙老师是麦扣老师 在bilibili 讲的非常的棒 后悔没有早点发现麦扣老师 第一个案例游戏 Sunny Land 印象最深的问题 在按下空格进行跳跃时 跳不起来 或者说偶尔能跳起来 这是因为GetButtonDown
  • 虚拟机安装windows11

    前言 在日常工作中有的时候需要在虚拟环境里使用windows系统 因为在虚拟环境里不存在病毒传播或者搞坏C盘后数据丢失情况 所以在虚拟机里安装windows 是一个必备技能 根据生活 乱编的 下载 windows11地址 首先安装一个迅雷
  • 如何使用计算机做海报,用word做的海报步骤_word怎么设计海报

    5 用word做招聘海报 首先先打开wps软件或者是新建一个word文档 如果你想打印一张出租 出售之类的广告的话最好是打印横版的 因为这类的广告文字比较少 横向排版有帮于把文字的大小放到最大 点击页面布局 选择其中的纸张方向 在弹出的纸张
  • 数据库表结构设计方法

    author skate time 2011 02 12 数据库表结构设计方法 当我们设计一个数据库存储模式时 要仔细分析数据模式 不要一股脑的把所有的数据都放在一起 那样的话对系统的可用性 高效能 扩展性都会有严重的影响 当然你设计的系统
  • Python 深度学习实战:75个有关神经网络建模、强化学习与迁移学习的解决方案

    深度学习正在为广泛的行业带来革命性的变化 对于许多应用来说 深度学习通过做出更快和更准确的预测 证明其已经超越人类的预测 本书提供了自上而下和自下而上的方法来展示深度学习对不同领域现实问题的解决方案 这些应用程序包括计算机视觉 自然语言处理
  • 中医蜂疗新起点,新思路,新未来

    2021年10月22日 24日由世界中医药学会联合会蜂疗专业委员会 中国民族医药学会主办的蜂界年度盛会 第三届世界蜂疗大会暨世界中联蜂疗专业委员会换届大会暨第四届学术年会 中国民族医药学会蜂疗分会换届会议暨2021年学术年会在庄严的首都北京
  • Golang交叉编译中的那些坑

    最近两个月 一直在搞项目的国产化移植 把golang开发好的程序 运行在国产化平台上 操作系统基本都是基于Linux 但是CPU架构除了x86 还有ARM和MIPS 我们平时的Golang都是运行于x86 x64 架构的CPU上 因此移植过
  • android 自定义滑动按钮控件

    在很多时候我们看到在iphone手机应用中都有滑动开启和关闭这个功能 在android40以下的版本中且没有这个功能 但是android手机在使用的多是4 0以下的系统 所以为了满足需求 我们自己设计自定的滑动开启和关闭按钮 第一步 创建一
  • JS正则表达式用星号*替换字符串开头或结尾几个字符

    let str 1234567890 console log 原字符串 str console log 替换前3位 str replace 3 console log 替换后4位 str replace 4 console log 替换前3
  • 【EMC基础篇①】噪声是什么?EMC是什么?噪声损害是电子社会的现代病

    EMC基础篇 噪声是什么 EMC是什么 噪声损害是电子社会的现代病 电脑的通信错误 手机通话突然断开 您有过类似的经验吗 我们周围充斥着噪声 它们会通过各种线路侵入电子设备 引发故障 那么 这些看不见的噪声的真身是什么 本周为您带来3篇关于
  • js设计模式基础篇(四)之高阶函数

    高阶函数 高阶函数是指至少满足下列条件之一的函数 函数可以作为参数被传递 函数可以作为返回值输出 函数作为参数传递 把函数当作参数传递 这代表我们可以抽离出一部分容易变化的业务逻辑 把这部分业务逻辑放在函数参数中 这样一来可以分离业务代码中
  • 俞敏洪:如果创业者缺乏这8种能力,失败可能性很大

    俞敏洪是一个高明的创业家 他很早就知道 做什么生意都需要用 信仰 做前提来说服目标用户和客户 在他的 愿你的青春不负梦想 中 俞敏洪记录了很多创业的感悟 以下内容是俞敏洪结合自己的创业实践 总结了一个创业者要成功 应该具备哪八种能力 1 目
  • Unity基础

    Unity3D 游戏开发 第一章 基础知识 Unity是一个用于创建游戏和三维互动内容的开发工具 是一个专业游戏引擎 2D游戏 视角锁定 二维坐标 3D游戏 任意视角 三维坐标 虚拟现实 VR 三维空间虚拟世界 通过虚拟设备与虚拟环境事物进
  • adfs服务器获取信息失败,授权给adfs读取ad 在ad服务器上运行

    Because the application pool identity for the AD FS 2 0 AppPool is running as a domain user service account you must con
  • 华为ensp静态路由配置,ssh远程登录配置

    通ping与ssh 实验准备 建立拓扑图 三台路由器 两台pc 配置pc1与pc2 对pc1进行网络配置 设置ip为192 168 226 100 网关为192 168 226 1 ipconfig命令查看pc1配置信息 确认配置成功 配置
  • 刷脸支付带来支付链条变化和交易场景改变

    没赶上POS代理 没赶上扫码支付代理 这些推广人员每年被动收入上百万 现在刷脸支付的风口已来 你是把握还是错过 此外 技术科技进步 带来的支付链条的变化以及交易场景的改变 从而引发第三方支付革命 谁落后谁就会被淘汰 一些新概念有助于刺激消费
  • GNU风格 汇编语法总结

    汇编源程序一般用于系统最基本的初始化 初始化堆栈指针 设置页表 操作 ARM的协处理器等 这些初始化工作完成后就可以跳转到C代码main函数中执行 1 GNU汇编语言语句格式 任何Linux汇编行都是如下结构
  • Datax-web操作指南

    Datax web操作指南 1 登录datax可视化管理系统datax web 网址 http ip 9527 index html dashboard 用户名密码 admin 1 2 使用操作 同步数据的主要操作步骤创建项目 配置数据源
  • mixSeq: A Simple Data Augmentation Method for Neural Machine Translation阅读笔记

    Abstract 数据增强是指通过操纵输入 如添加随机噪声 屏蔽特定部分 来扩大数据集 大多数数据增强技术都是在单一的输入上操作的 这限制了训练语料库的多样性 在本文中 我们提出了一种简单而有效的神经机器翻译数据增强技术 mixSeq 它操