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

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任务。其次,我们将从理论上分析它何时以及为什么会起作用。第三,我们将研究和设计更有效的数据增强方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值