博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据重生:让神经机器翻译中的不活跃样本“复活”
阅读量:2241 次
发布时间:2019-05-09

本文共 5054 字,大约阅读时间需要 16 分钟。

⬆⬆⬆              点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

近几年,神经机器翻译(Neural Machine Translation, NMT)技术取得了令人瞩目的突破。其中,大规模训练数据集是神经机器翻译模型最近取得成功的核心。然而,随着数据规模的增大,数据中的复杂模式和潜在噪声,使得训练NMT变得越发困难。为了解决这个问题,研究人员提出了充分利用训练数据这一想法。在此想法的基础之上,数据去噪、课程学习和数据多样化等数据操控方法相继被提出。

数据重生作为一种新的替代的方案,也是在此背景下提出的。相比其他数据操控方法,数据重生关注于识别和激活数据集中的不活跃样本,从而帮助模型更好的学习数据。数据重生本身能够实现数据多样化和数据去噪的部分功能,但是作者在实验中发现,将数据重生与其他数据操控方法相结合时,能够帮助模型进一步提高翻译性能,说明了数据重生与其他方法有一定的互补性。

 

在AI Time PhD EMNLP2020专场四直播间中,我们有幸邀请到了提出数据重生的第一作者,香港中文大学博士生焦文祥,为大家分享这项研究工作!

焦文祥:香港中文大学计算机科学与工程系博士生,导师为金国庆教授与吕荣聪教授。主要研究方向为基于对话的情绪识别和神经机器翻译。

一、 机器翻译系统

1.  什么是机器翻译?

机器翻译是不需要人力参与,由计算机将输入语言翻译成目标语言的过程。现如今,随着机器翻译的蓬勃发展加上互联网的普及,各大互联网公司都推出了机器翻译服务,例如Google Translate、Bing Translator、DeepL、Tencent TransSmart、 Baidu翻译等等。

2.  机器翻译系统的组成模块

为了构建一个性能良好的机器翻译系统,首先需要构建一个模型;其次,需要有足量的双语平行数据作为输入来训练模型;最后,需要有基于数据来优化模型的算法。

图1:机器翻译系统

3.  目前面临的问题及已有的解决方案

在以上三个模块中,数据被视为机器翻译成功的基础,尤其对于如今的神经机器翻译(NMT)系统而言。Koehn等人在2017年的一项工作中就展示了,NMT需要大量的数据才可以训练一个性能良好的系统。但是随着数据规模的增大,数据中的复杂模式和潜在噪声,使得训练NMT变得越发具有挑战性。

图2:大数据面临的挑战

面对这个问题,充分利用训练数据作为一个可行的想法被提出,随之而来的是数据去噪、课程学习和数据多样化等数据操控方法的提出。其中,数据去噪的核心思想认为训练数据中存在一定的噪声数据,需要将噪声数据从训练数据中移除,让模型在比较干净的数据上进行训练;课程学习的出发点是认为模型学习数据的过程可以模拟人类学习的过程,即让模型按照由易到难的顺序依次学习数据;数据多样化则是增加同一语义下的源端和目标端句子形式来提高数据的多样性,即使用训练好的模型翻译双语数据的一端,以此得到合成数据,再将合成数据与原始数据结合起来一起训练模型。

图3:相关的数据操控手段

二、数据重生:“复活”不活跃样本

1.  基本框架

与其他数据操控手段不同,数据重生着眼于不活跃样本。所谓不活跃样本是指对NMT模型性能的贡献很小或者起反作用的样本。数据重生的基本框架包含识别模型、重生模型以及最终的翻译模型。

图4:基本框架图

首先,通过识别模型将样本中的不活跃样本筛选出来,以此获得活跃样本与不活跃样本。之后,使用重生模型来激活不活跃样本,而重生模型则是通过已经被筛选出的活跃样本训练出来的。最终,将激活的样本与原本的活跃样本合并,用来训练最终的翻译模型。

2.  不活跃样本的识别

什么样的样本才对模型的贡献小?从直觉上说,在一个模型做预测时,如果一个样本的句子级别概率很低,即样本被输出的概率很低,那相当于模型没能把这样的样本学习好。那么,这种样本就不大可能给模型的性能提升带来有用信息,因此可以将其看做是一个不活跃样本。所以不活跃样本的识别可以以模型的输出概率为指标,将概率低的样本当作不活跃样本。

图5:WMT14(a)英-德和(b)英-法数据集上的概率分布

从上图的概率分布可以看出,最不活跃的样本大概在10%左右。

图6:将最不活跃的样本移除后,NMT模型的翻译效果变化

上图展示了移除不活跃样本、活跃样本、随机采样样本时,模型性能的变化。可以看出:随着移除的数据量的增大,模型性能的衰减程度越来越显著。在移除相同数据量的情况下移除不活跃样本对模型性能下降的影响程度最小。这表明了识别的不活跃样本的合理性。

 

但识别不活跃样本时是采用一个训练好的NMT模型作为识别模型,那么不活跃样本有没有可能是因为模型的特点而被识别成不活跃样本?为了弄清楚这个问题,需要从几个能够显著影响模型性能的因素着手,包括随机种子、模型大小和模型框架。通过改变上述三个因素,对比不同设置下的模型识别出的不活跃样本是否是大部分重合的,从而判断不活跃样本是否依赖模型。

图7:不同模型变体在对应数据间隔中共享的数据比例,分别在不同:(a)随机种子,(b)模型大小,(c)模型框架(英-德)和(d)模型框架(英-法)。

从上图可以看出:改变随机种子、模型大小和模型框架之后,不同模型变体识别出来的不活跃样本之间有很大的重叠,数据共享率超过80%。说明了识别模型得到的不活跃样本不依赖于模型,而是主要依赖于数据本身的分布。

3.  不活跃样本的重生

在识别出不活跃样本后,需要通过重生模型将不活跃样本激活。所谓激活就是简化不活跃样本的目标端句子。所以先在活跃样本上训练好的NMT模型,并利用这个模型对不活跃样本进行正向翻译。

图8:将不同比例训练数据当做不活跃样本进行数据重生后的翻译效果

从上图可以看出:将不活跃样本激活后模型的性能一致地高于不激活的模型,验证了数据重生的必要性。从整体来看重生模型,随着不活跃样本的比例增大,数据重生后的效果逐渐下降。这是由于将能提供给NMT提供有用信息的样本被当作不活跃样本强行激活,反而损害了翻译的性能。

表1:比较对不活跃样本和随机样本进行数据重生后的翻译性能差异

由前文可知当激活比例为10%时,数据重生对NMT性能提升的效果最好。那么是随便对10%的样本进行重生就能提升性能吗?上表展示了对随机的10%的样本进行重生时,数据重生并不能提升NMT的性能。这说明并不是正向翻译任意样本就可以提升翻译性能,需要在不活跃样本上进行这样的操作,才可以得到显著提升。

4.  实验结果

表2:不同模型框架和语言对上测试的效果

通过和基线模型相比较,可以得出结论:数据重生在不同框架和语言对上都能够显著地提升翻译性能,这证明了该方法的有效性和通用性。更重要的是,数据重生方法不需要修改模型和训练策略,就能取得很显著的效果。所以,数据重生能比较鲁棒地应用到大多数现有NMT框架上。

表3:WMT14英-德数据上,数据重生方法与其他数据操控方法的比较

作为一个数据操控方法,数据重生同其他数据操控方法相比,数据重生本身实现的数据多样化和数据去噪就能提升性能。同时数据重生也可以与其他方法相结合,使得性能得到进一步的提升。这说明了数据重生方法可以和这些数据操控方法互补。

三、讨论与分析:数据重生前后

1.  不活跃样本的转变

经过数据重生后,不活跃样本被激活。那么重生前后不活跃样本的区别在哪里呢?从语言学特性的角度,可以发现重生后的不活跃样本在词频排序、对齐程度和不确定性上相比重生之前的难度都有下降。

图9:不同类型训练样本的语言学特性,包括:词频排序(↑ 更难),对齐程度(↓ 更难)和不确定性(↑ 更难)

通过观察不活跃样本,也可以发现激活后的不活跃样本的目标端句子一般不是源端句子的直译语句,而且在表达方式上有明显不一致。在下图第一个示例中,从源端句子到目标端句子需要一点推理。在下图第二个示例中,源端句子采用的被动语态,但是目标端句子用的是主动语态。这表明了,源端句子和目标端句子在表达形式上的不一致,会导致其成为不活跃样本,使得模型无法很好的学习它们。

图10:不活跃样本示例

2.  模型训练过程的变化

图11:WMT14英德数据上的学习曲线,包括训练损失函数和开发集上的翻译效果

从训练损失和验证集BLEU值可以看出,数据重生后模型的训练更加稳定,并且收敛更快。另外,作者采用了Margin和GSNR这两个指标对最终模型的泛化能力进行量化。这两个指标都是数值越大,表示模型的泛化能力越强。从下表中可以看到数据重生确实能够使得最终模型的泛化能力更强。

表4:WMT14英-德在数据重生前后,NMT模型的泛化能力比较

3.  时间复杂度和加速

在4块英伟达V100 GPU上,对Transformer-Big和DynamicConv模型进行大batch训练,获得了以下表中数据:

表5:在WMT14英-德数据集上测试的时间复杂度,及加速方式

可以看到,数据重生需要的总训练时间,是单个模型(32小时附近)的3倍左右。那么是否可以将整个流程的时间进行压缩呢?经过实验发现,对于这样的大模型,可以让识别模型同时作为重生模型,这样就把训练时间缩短三分之一。

4.  重生模型的选择

重生模型目的是简化不活跃样本,作者在文章主要采用正向翻译(forward-translation, FT),修改了目标端句子。那么,如果采用反向翻译(back-translation, BT)修改源端句子是否也有效呢?经过实验,作者发现反向翻译效果没有正向翻译有效或者说基本没有效果。

表6:不同数据重生方法的影响

那么是不是因为反向翻译的方式不能够将不活跃样本简化呢?那么进一步说,具有反向翻译形式的数据是否对应了不活跃样本。反向翻译形式的数据是指从目标端自然语句通过人工翻译得到源端句子的样本,又称source-translated,与之相反的则称为source-natural。WMT14测试集中包含样本是否是source-translated的信息,于是作者利用识别模型将测试集样本进行排序和分组,并统计每个分组内的source-translated的样本比例。

图12:WMT14英-德和英-法测试集样本,在识别模型排序后,各个分组中目标端到源端的人工翻译比例

如上图所示,在第一组和第二组,即最不活跃的分组里,source-translated样本的比例高达60%-70%,显著高于其在整个测试集的比例。这说明了,这种source-translated的样本确实更可能是不活跃样本,同时也解释了为何反向翻译不能帮助简化不活跃样本。

相关文献及链接:

Data Rejuvenation: Exploiting Inactive Training Examples forNeural Machine Translation

https://www.aminer.cn/pub/5f7d934191e011346ad27e11?conf=emnlp2020

 

Q&A环节

如何确定样本是否为不活跃样本,这块没听懂?

在这个工作里,我们定义“不活跃样本”为训练数据中对于NMT模型性能贡献很小、或者起反作用的样本。但是为了将样本分组,我们采用NMT模型对每个样本的输出概率。这里认为概率最低的那部分数据,对于NMT性能贡献最小,所以被我们看做是“不活跃样本”。我们从性能上,也进行了验证,说明了采用NMT的输出概率具有一定合理性。

我可以将“每个样本输出概率小”理解成“翻译效果差”吗?

可以这么看。但是因为是训练数据,所以我们更愿意看成是“模型没能把这样的样本学习好”。

整理:蒋予捷

排版:岳白雪

审稿:焦文祥

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(直播回放:https://b23.tv/6pZSIj)

(点击“阅读原文”下载本次报告ppt)

转载地址:http://brgbb.baihongyu.com/

你可能感兴趣的文章
剑指offer 23.从上往下打印二叉树
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>