CN111581988A - 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 - Google Patents
一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 Download PDFInfo
- Publication number
- CN111581988A CN111581988A CN202010386920.7A CN202010386920A CN111581988A CN 111581988 A CN111581988 A CN 111581988A CN 202010386920 A CN202010386920 A CN 202010386920A CN 111581988 A CN111581988 A CN 111581988A
- Authority
- CN
- China
- Prior art keywords
- training
- source sentence
- module
- model
- sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统,属于非自回归机器翻译领域。本发明中,首先建立基于Transformer的机器翻译模型,将所述Transformer模型解码器中的多头自注意力机制替换为causal‑k自注意力机制,获得TCL‑NAT模型,然后通过调整causal‑k自注意力机制中的参数k,将训练过程依次划分为AT训练阶段(k=1),SAT训练阶段(1<k<N)和NAT训练阶段(k=N),并在SAT训练阶段引入任务窗口的概念,在同一阶段同时训练多个并行度不同的任务,从而使模型能够平稳地从一个训练阶段过渡到另一个训练阶段,有效提高了非自回归机器翻译模型的准确率。
Description
技术领域
本发明涉及非自回归机器翻译领域,尤其涉及一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统。
背景技术
近年来,神经机器翻译(NMT)快速发展。通常,NMT采取编码器-解码器框架,目前解码器生成目标语句的主流方法为自回归方法,自回归方法的特点是当前单词的生成依赖于于之前单词的预测结果和来自编码器的源上下文。虽然采用自回归方式的NMT的精确性达到了人类的水平,但由于自回归方式必须逐词翻译,即在推理过程中,后面的单词一定要等前面所有单词都推理出来才能进行推理,在句子较长时,这种方法也伴随有较高的推理延迟。因此,非自回归翻译(NAT)提出了并行生成目标单词的方法,可以大大加快推理过程。
对于非自回归方法,每个单词的预测不再参照于前面的单词,因此NAT的准确性低于自回归翻译(AT),采用传统的NAT训练方法较难训练,且最终得到的NAT模型翻译准确率较低。目前已有研究表明,并行度较小的任务(即并行生成单词数量较少的任务)训练得到的模型准确性较高。因此,如果可以将模型从AT转移到NAT,就可以有效提高NAT模型的准确性。
由于AT和NAT是两个相差甚远的任务,因此在AT训练后直接转移到NAT训练是不可行的,需要探究一种将模型训练从AT平稳转移到NAT的训练方法,提升最终的模型准确性。
发明内容
为了解决现有的非自回归机器翻译模型准确率较低的问题,本发明从模型的训练方法着手,提出了一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统,本发明采用任务层面的课程式学习方法,将模型从AT逐步转移到NAT。
课程式学习指模仿人类从易到难的学习过程,将训练实例按照从简单到困难的顺序提供给模型,本发明采用的任务层面的课程式学习指的是将翻译任务从较容易的训练任务(AT),转移到中间任务,即半自回归翻译(SAT),再转移到较困难的训练任务(NAT)。
为了实现上述目的,本发明采用如下技术方案:
一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法,所述方法包括:
步骤1:建立机器翻译模型,包括编码器和解码器,所述的编码器采用Transformer模型中的编码器,所述的解码器通过将Transformer模型中的解码器中多头自注意力机制替换为causal-k自注意力机制得到,所述的causal-k自注意力机制通过参数k来调整每次迭代并行产生的单词数量;
步骤2:获取源语句训练集,所述的源语句训练集标注有参考翻译结果语句;
步骤3:将训练过程预先划分为三个阶段:当k=1时,为AT训练阶段;当1<k<N 时,为SAT训练阶段,N用于表示源语句的参考翻译结果语句的长度;当k=N时,为 NAT训练阶段;并设定每一个训练阶段停止训练的条件;
步骤4:设计pacing函数,使得k=f(i)∈{2,4,8,16},其中f(i)表示pacing函数,i表示SAT训练阶段的第i次迭代;
步骤5:依次将causal-k自注意力机制中的参数k设置为k=1、k=f(i)、k=N,采用步骤2中的源语句训练集对步骤1建立的机器翻译模型分别进行AT训练阶段、 SAT训练阶段和NAT训练阶段的训练,最终得到训练好的非自回归机器翻译模型。
本发明的另一目的是提供一种用于实现上述基于任务层面课程式学习的非自回归机器翻译模型的训练方法的训练系统,包括:
机器翻译模块:配置有基于Transformer的机器翻译模型,包括编码器和解码器,所述的编码器与Transformer中的编码器相同,所述的解码器是将Transformer解码器中的多头自注意力机制替换为causal-k自注意力机制;所述的编码器包括一个输入端口和一个输出端口,所述的解码器包括第一输入端口、第二输入端口和输出端口,编码器的输出端口与解码器中的第一输入端口相连;
存储模块:用于存储源语句训练集和pacing函数f(i)∈{2,4,8,16},所述的源语句训练集标注有参考翻译结果;
第一训练模块:用于在AT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第二训练模块:用于在SAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第三训练模块:用于在NAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
参数更新子模块:在每一个训练阶段完成一次迭代训练后,自动获取解码器输出端口的样本翻译结果及源语句的参考翻译结果,对编码器和解码器的参数进行更新;
输出模块:配置有启动端口,当输出模块的启动端口接收到启动信号时,即时读取机器翻译模块中的编码器和解码器的模型参数,生成模型文件并输出。
本发明具备的有益效果:
1)对于现有的训练NAT模型方法得到的模型准确性较低,且不容易训练的问题,本发明提出了一种任务层面课程学习方法,将自回归翻译AT模型首先转换为半自回归翻译SAT模型,再转换为非自回归翻译NAT模型。
具体的,本发明将传统的Transformer模型解码器中的多头自注意力机制替换为causal-k自注意力机制,通过参数k来调整每次迭代并行产生的单词数量,随着k的增加,模型对于目标单词的依赖性降低,k=1时,解码器将成为自回归解码器,当k足够大时,解码器将成为非自回归解码器。
2)由于并行度较小(即并行产生单词数量较少)的训练任务训练得到的模型准确度较高,容易训练,因此本发明设计了一种pacing函数用于调整causal-k自注意力机制中的参数k,公式为:
其中,i表示SAT训练阶段的迭代次数,fexp(i)表示pacing函数,SSAT表示SAT训练阶段的预设迭代次数,表示向下取整。通过pacing函数能够实现将SAT训练阶段再次划分为多个并行度不同的子阶段,随迭代次数增加,并行度根据pacing函数逐渐提高,具体的,k∈{2,4,8,16};并根据SAT训练阶段相应的迭代次数对应的k值,将 (x1,y1,…,yN-1)作为解码器的输入,假设解码器输出为(y1′,…,yN′),则(y1′,…,yk′)根据编码器输出和(x1,…,xk)预测得到,(yk+1′,…,y2k′)根据编码器输出和(y1,…,yk)预测得到,以此类推,得到源语句(x1,…,xM)的样本翻译结果(y1′,…,yN′),具有实现平稳过渡的效果。
3)为了使得模型能够更加平稳地从一个训练阶段过渡到另一个训练阶段,本发明引入了任务窗口w的概念,用于表示在SAT训练阶段的每次迭代训练中同时训练的任务数量;当w≥2时,每个阶段同时训练 共w个任务,实现了在同一阶段同时训练多个并行度不同的任务的目的,有效提高了模型的准确度。
4)通过本发明的训练方法获得的非自回归机器翻译模型与现有的模型相比,本发明在训练阶段没有引入任何辅助损失函数,训练方法更加简洁,准确度也得到了提升,与现有模型ENAT相比,本发明只将源语句作为解码器输入,而不会在推理阶段增加额外的工作量,推理效率大大提升,具有更好的加速效果。
附图说明
图1是本发明在Transformer基础上采用任务层面课程式学习方法训练NAT所用的模型(TCL-NAT)示意图。
具体实施方式
下面结合附图对本发明进行进一步的解释说明。
如图1所示,本发明在Transformer模型的基础上,将所述Transformer模型解码器中的多头自注意力机制替换为causal-k自注意力机制,能够并行生成k个连续的单词,且后面k个单词的预测依赖于前面k个单词的预测结果,实现了TCL-NAT模型,此处所述的TCL-NAT模型即本发明在Transformer基础上采用任务层面课程式学习方法训练NAT所用的模型,整体TCL-NAT结构如图1所示(此图中k=2),图1左半部分为编码器,与标准Transformer模型的结构相同,图1右半部分将传统的Transformer 模型解码器中的多头自注意力机制替换为causal-k自注意力机制,所述的causal-k自注意力机制通过参数k来调整每次迭代并行产生的单词数量。
在解码器开始时,将编码器输出和源语句中前k个单词(x1,…,xk)作为解码器输入,并行预测后面k个单词(y1′,…,yk′),之后使用(y1′,…,yk′)预测(yk+1′,…,y2k′),以此类推。因此,解码器输入可以表示为编码器输出和(x1,…,xk,y1′,…,yN-k′)。如图1 右半部分所示。为了加速模型训练,在实际训练中,本发明采用teacher forcing方法,使用参考翻译结果中的单词(y1,…,yN)代替编码器的预测结果作为编码器输入,即设解码器输出为(y1′,…,yk′,…,y2k′,…,yN′),则(y1′,…,yk′)根据编码器输出和(x1,…,xk)预测得到,(yk+1′,…,y2k′)根据编码器输出和(y1,…,yk)预测得到,以此类推。因此,在本发明中,解码器的输入为编码器输出和(x1,…,xk,y1,…,yN-k)。
随着k的增加,模型对于目标单词的依赖性降低,k=1时,解码器将成为自回归解码器,当k足够大时,解码器将成为非自回归解码器,通过将k设置为N使得解码器在NAT模式下运行,即从初始AT模型(k=1)开始,经过SAT训练(1<k<N),最终平稳过渡到NAT模型(k=N)。因此,通过调整k值,将训练分为三个阶段: AT训练阶段、SAT训练阶段和NAT训练阶段。三个训练阶段共享一个训练集,所述训练集中的源语句标注有参考翻译结果。
在本发明的一个具体实施中,对AT训练阶段的训练过程进行了介绍。
首先设定k=1,即在一次训练中只生成一个单词。
AT训练阶段训练一个样本的过程为:
从源语句训练集中获取一个源语句(x1,…,xM),源语句的参考翻译结果为(y1,…,yN),其中xi表示源语句中的第i个单词,M表示源语句中单词的数量,yi表示源语句标注的参考翻译结果中第i个单词,N表示参考翻译结果语句的长度;将源语句 (x1,…,xM)作为编码器的输入,将编码器输出和(x1,y1,…,yN-1)作为解码器的输入,得到源语句(x1,…,xM)的样本翻译结果;
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成AT训练阶段的单次迭代训练;重复所述AT训练阶段的单次迭代训练过程,直至得到训练好的AT模型作为初始模型。
在本发明的一个具体实施中,对SAT训练阶段的训练过程进行了介绍。
所述的SAT训练阶段需要调整causal-k自注意力机制中的参数k,使得一次训练可以并行k个单词。
在SAT训练过程中,对于第i次迭代,定义k=f(i)∈{2,4,8,16},其中f(i)即为pacing函数,之所以SAT中k最大取16,是因为目标句子最大长度不超过32。本发明提出了三种不同的pacing函数(线性,对数和指数)进行从AT到NAT的平稳转换,其公式如表1所示:
表1 Pacing函数及其定义
(SSAT表示SAT中总迭代次数,使用经验值模拟真实训练情况)
三种函数均可实现k按照2,4,8,16的顺序逐渐增加,按照k值不同将SAT训练阶段分为四个不同的子阶段。三种函数的不同之处在于每个子阶段的迭代次数不同,即线性pacing函数使每个阶段迭代次数相同,对数pacing函数使k值较大的任务迭代次数更多,指数pacing函数使k值较小的任务迭代次数更多,不同的pacing函数反映了不同的课程学习策略,在后续实施例中给出了w在不同取值时的实施效果。
SAT训练阶段训练一个样本的过程为:
首先源语句训练集中获取一个源语句(x1,…,xM),源语句的参考翻译结果为(y1,…,yN);在SAT训练阶段的第i次迭代时,计算k=f(i),将源语句(x1,…,xM)作为编码器的输入,将编码器输出和(x1,…,xk,y1,…,yN-k)作为解码器的输入;设解码器输出为(y1′,…,yk′,…,y2k′,…,yN′),则(y1′,…,yk′)根据编码器输出和(x1,…,xk)预测得到,(yk+1′,…,y2k′)根据编码器输出和(y1,…,yk)预测得到,以此类推,得到源语句 (x1,…,xM)的样本翻译结果(y1′,…,yN′);
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成SAT 训练阶段的第i次迭代训练;重复SAT训练阶段的单次迭代过程,直至i=SSAT。
在本发明的一个具体实施中,对NAT训练阶段的训练过程进行了介绍。
首先设定k=N,即在一次训练中生成N个单词。
NAT训练阶段训练一个样本的过程为:
首先从源语句训练集中获取一个源语句(x1,…,xM);将所述的源语句(x1,…,xM)作为编码器的输入,将编码器输出和源语句(x1,…,xM)作为解码器的输入,得到源语句(x1,…,xM)的样本翻译结果;
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成NAT 训练阶段的单次迭代训练;重复所述NAT训练阶段的单次迭代训练过程,直至得到训练好的NAT模型作为最终的非自回归机器翻译模型。
上述实施例中都提及了参数k的设置,其中k是causal-k自注意力机制中的一个可调节参数,用于在每次迭代任务中并行预测k个单词,在传统的Transformer基础上进行如下修改:
1)修改单词级别的链式法则为组级别的链式法则,具体计算过程为:
其中,y1…yN表示参考翻译结果中的单词序列,y1′…yN′表示模型预测翻译结果的单词序列,将上述两种单词序列分组得到Gi,Gi′;x表示源语句;表示向下取整; p(y1′…yN′|x)表示在输入源语句x的前提下模型翻译得到的单词序列y1′…yN′是准确的翻译结果的概率;p(|Gt′|G1…Gt-1,x)表示在源语句为x,且前t-1个组的参考翻译结果为G1…Gt-1的前提下,模型翻译得到的第t组为Gt′是正确结果的概率;
2)采取远距离预测,对于翻译结果中的任意一个单词yt′(t>k),其预测结果依赖于yt-k的预测结果;
3)修改传统Transformer中的多头注意力机制中的mask,修改公式如下所示:
尽管三个不同的训练阶段包含的任务相似,但相邻两个阶段的任务仍有不同,为了减少这种不同,本发明提出了任务窗口机制。定义任务窗口w,表示在在SAT训练阶段的每次迭代训练中同时训练的任务数量。在未加入任务窗口概念前,认为每个阶段完成一个任务,即w=1。当w=2时,在第一阶段同时进行k值为1、2的两个任务,在第二阶段同时进行k值为2、4的两个任务,以此类推,最后一个阶段同时进行k值为16、N的两个任务。即:
因此,当w>1时,在两个不同的训练阶段中会有任务重叠,相比于w=1可以实现更加平稳的任务切换。在后续实施例中给出了w在不同取值时的实施效果。
在本发明的另一个具体实施中,提供了一种基于任务层面课程式学习的非自回归机器翻译模型的训练系统。包括:
机器翻译模块:配置有基于Transformer的机器翻译模型,包括编码器和解码器,所述的编码器与Transformer中的编码器相同,所述的解码器是将Transformer解码器中的多头自注意力机制替换为causal-k自注意力机制;所述的编码器包括一个输入端口和一个输出端口,所述的解码器包括第一输入端口、第二输入端口和输出端口,编码器的输出端口与解码器中的第一输入端口相连;
存储模块:用于存储源语句训练集和pacing函数f(i)∈{2,4,8,16},所述的源语句训练集标注有参考翻译结果;
第一训练模块:用于在AT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第二训练模块:用于在SAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第三训练模块:用于在NAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
参数更新子模块:在每一个训练阶段完成一次迭代训练后,自动获取解码器输出端口的样本翻译结果及源语句的参考翻译结果,对编码器和解码器的参数进行更新;
输出模块:配置有启动端口,当输出模块的启动端口接收到启动信号时,即时读取机器翻译模块中的编码器和解码器的模型参数,生成模型文件并输出。
其中,第一训练模块包括:
第一输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口;
第二输入子模块:自动获取存储模块中的源语句和参考翻译结果,将源语句中的第1个单词以及参考翻译结果中的前N-1个单词传输至解码器的第二输入端口;
第一判断子模块:用于在AT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第一输入子模块和第二输入子模块,并发送第二训练模块的启动信号。
其中,第二训练模块包括:
计算子模块:读取存储模块中的pacing函数f(i)∈{2,4,8,16},根据即将执行的迭代次数i,计算k=f(i)∈{2,4,8,16};
第三输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口;
第四输入子模块:自动获取存储模块中的源语句和参考翻译结果,将源语句中的前k个单词以及参考翻译结果中的前N-k个单词传输至解码器的第二输入端口;
第二判断子模块:用于在SAT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第三输入子模块和第四输入子模块,并发送第三训练模块的启动信号。
其中,所述的第三训练模块包括:
第五输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口和解码器的第二输入端口;
第三判断子模块:用于在NAT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第五输入子模块,并发送输出模块的启动信号。
实施例
本实施采用四个标准翻译数据集:IWSLT14德语-英语(De-En)数据集,IWSLT16 英语-德语(En-De)数据集和WMT14英语-德语(En-De)数据集。本实施将WMT14 英语-德语数据集反转,获得第四个数据集,WMT14德语-英语(De-En)数据集。其中,IWSLT14德语-英语(De-En)数据集,IWSLT16英语-德语(En-De)数据集来自文献M.Cettolo,C.Girardi,andM.Federico.2012.WIT3:Web Inventory of Transcribed and Translated Talks.InProc.of EAMT,pp.261-268,Trento,Italy;WMT14英语-德语 (En-De)数据集来自ACL第九届统计机器翻译研讨会 (https://www.statmt.org/wmt14/translation-task.html)
其中,IWSLT14数据集中用于训练、开发、测试的双语句子对数量分别为153k, 7k,7k。IWSLT16用于训练、开发、测试的双语句子对数量分别为195k,1k,1k。 WMT14中训练集的句子对数量为4.5M,其中,newtest2014和newtest2013作为测试集和验证集。本实施使用字节对编码(BPE)将单词拆分为子字,并将IWSLT14, IWSLT16,WMT14的单词表大小设置为10k,10k,32k。这些数据集中的源语言和目标语言共享单词表。
本实施例采用基于标准Transformer的NAT模型的基本配置,对于WMT14数据集,超参数设置为(dmodel=dhidden=512,nlayer=6,nhead=8),对于IWSLT14, IWSLT16数据集,超参数设置为(dmodel=dhidden=256,nlayer=6,nhead=4)。
在训练过程中,本实施采用Kim和Rush等人提出的序列层面的知识提炼方法(Yoon Kim and Alexander M.Rush.Sequence-level knowledge distillation.InEMNLP, pages 1317–1327,2016),即除了从训练集中学习之外,在序列层面上,让较小的学生网络通过从较大的教师网络中学习以获得更好的性能。本实施例采用此方法,通过构建一个确定性更高,更少噪音的训练集,降低训练难度,提高准确性,具体为:首先训练一个与TCL-NAT模型架构相同的AT教师模型。具体训练方式与TCL-NAT在 AT阶段的训练方式相同。之后,将本实施例的训练集中的源语句输入训练好的教师模型,然后将教师模型生成的每个源句子对应的翻译结果作为新的真值,与源语句一起构建一个新的训练集,后续训练中,本实施例将采用此训练集将TCL-NAT模型从AT 模型逐步训练为NAT模型。
本实施比较了基于不同的pacing函数(如表1所示)获得模型的准确性。评估结果表2所示。从表中可以看出,指数函数训练的模型得到的BLEU分数略胜于其他函数,准确性较高,对数函数BLEU分数最低,表现最差。而由于指数函数使k值较小的任务迭代次数更多,对数函数使k值较大的任务迭代次数更多,可得结论,对较容易的任务迭代次数更多可以使NAT模型训练得到更好的BLEU分数。因此,将指数 pacing函数作为优选的实施方式。
表2在IWSLT14 De-En测试集上基于四种pacing函数的模型得到的BLEU分数
Pacing Functions | Linear | Logarithmic | Exponential |
TCL-NAT | 27.89 | 27.76 | 27.96 |
TCL-NAT(NPD 9) | 31.51 | 31.45 | 31.71 |
在于其他模型进行比较时,本实施采用指数pacing函数,并根据模型在验证集的表现,将IWSLT(IWSLT14,IWSLT16)和WMT数据集对应的任务窗口分别设置为 2、3,按照Transformer中的优化器设置和学习率调度,使用Adam训练所有模型。
在训练过程中,对于WMT数据集,本实施使用4NVIDIA Tesla P100 GPUs训练。对于IWSLT数据集,本实施使用2NVIDIA 2080Ti GPUs。在表3中列出了不同数据集在不同训练阶段的迭代次数。
表3 TCL-NAT模型中,不同数据集下每个阶段的迭代次数
本实施例采用了Gu等人(Jiatao Gu,James Bradbury,Caiming Xiong,VictorO.K.Li, and Richard Socher.Non-autoregressive neural machine translation.InICLR)噪声并行解码的通用方法(NPD),此方法可以并行生成多个解码候选对象,并使用AT教师模型重新评分,选出最佳翻译结果。考虑到目标语句和源语句的长度可能会存在差异。本实施通过预测不同的目标长度N∈[M-B,M+B],生成2B+1个翻译候选结果,其中M表示源句子的长度,B表示候选翻译结果与源语句句子长度(即单词数量)差异最大值。例如,当B=1时,将会得到长度为M–1,M,M+1的候选结果。将并行生成x个候选结果的方法称为NPDx。本实施例在后续测试中采用了NPD9,没有NPD (即没有并行生成,只有一个候选者),NPD10进行测试。
本实施采用标记化的区分大小写的BLEU评估方法(Kishore Papineni,SalimRoukos,Todd Ward,and Wei-Jing Zhu.Bleu:a method for au-tomatic evaluation ofmachine translation.In ACL,pages 311–318,2002),执行multi-bleu.pl脚本文件(https://github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl)进行评估。在WMT14 En-De数据集上,推理和评估是使用1Nvidia P100 GPU进行的。
本实施将TCL-NAT与六个现有的非自回归模型训练方法比较,对比模型分别为:
(1)NAT-FT模型(Jiatao Gu,James Bradbury,Caiming Xiong,Victor O.K.Li,and Richard Socher.Non-autoregressive neural machine translation.In ICLR.);
(2)NAT-IR模型(Jason Lee,Elman Mansimov,and KyunghyunCho.Deterministic non-autoregressive neural sequence modeling by iterativerefinement.In EMNLP,pages 1173–1182);
(3)ENAT模型(Junliang Guo,Xu Tan,Di He,Tao Qin,Linli Xu,and Tie-YanLiu. Non-autoregressive neural machine translation with enhanced decoderinput.In AAAI, volume 33,pages 3723–3730);
(4)NAT-Reg模型(Yiren Wang,Fei Tian,Di He,Tao Qin,ChengXiang Zhai,andTie-Yan Liu.Non-autoregressive machine translation with auxiliaryregularization.In AAAI);
(5)FlowSeq模型(Xuezhe Ma,Chunting Zhou,Xian Li,Graham Neubig,andEduard Hovy.Flowseq:Non-autoregressive conditional sequence generation withgenerative flow. In EMNLP-IJCNLP,pages 4273–4283);
(6)FCL-NAT模型(Junliang Guo,Xu Tan,Linli Xu,Tao Qin,Enhong Chen,andTie-Yan Liu.Fine-tuning by curriculum learning for non-autoregressive neuralmachine translation.arXiv preprint arXiv:1911.08717)。
对于NAT-FT,记录了没有NPD,以及NPD10的最优结果。对于NAT-IR,记录了当refinement步数为10的最优结果。对于ENAT,NAT-Reg,FCL-NAT,记录了 NPD9或没有NPD时的最优结果。对于FlowSeq,记录了没有NPD时的最优结果。
表4本发明提出的采用TCL-NAT训练NAT的方法与其他方法在四个数据集中的BLEU分数
(NPD9表示具有9个候选者的噪声并行解码)
表4列出了本发明与其他方法在四个数据集上的BLEU分数比较结果,可以看到:
1、在准确性方面,TCL-NAT在不同数据集上的BLEU分数均显著高于NAT-Reg 和ENAT。在实现方面,与NAT-Reg相比,本发明在训练阶段没有引入任何辅助损失函数,因而本发明的训练方法更加简洁。与ENAT相比,本发明只将源语句作为解码器输入,而不会在推理阶段增加额外的工作量。
2、与FlowSeq相比,本发明(无NPD)在大多数数据集上获得了更好的分数,并具有更好的加速效果(speedup)。
3、本发明优于FCL-NAT,证明了本发明提出的任务级别的课程学习方法的有效性。在推理效率方面,本发明实现了16.0倍的加速效果(NPD9),与FCL-NAT(NPD9) 相当。
进一步的,本实施例中将直接转换(Direct transfer,简称DT)作为另一个方法于本发明作比较。在直接转换中,忽略掉SAT阶段,使用与TCL-NAT相同的步骤以非自回归方式训练模型,以实现与本发明提出的TCL-NAT的公平比较。本实施例在 IWSLT14 De-En测试集中测试了DT模型,获得了27.00的BLEU分数,本发明获得了28.16分。因此相比于DT模型,本发明提出的TCL-NAT在翻译准确性上获得了更大提升,这也证明了通过课程学习方法进行任务之间逐步转移的重要性。
最后,本实施比较了不同任务窗口对模型准确性的影响。比较结果如表5所示。可以看出,用w=2训练的模型在IWSLT14 De-En任务中获得了最佳分数,略胜于用 w=1训练的模型。可得结论,任务窗口可以减少相邻阶段之间的差距,帮助模型训练。因此,可以将w=2作为优选的实施方式。
表2在IWSLT14 De-En测试集上基于不同任务窗口的模型得到的BLEU分数
Task Window | w=1 | w=2 | w=3 | w=4 |
TCL-NAT | 27.89 | 28.16 | 28.00 | 27.96 |
TCL-NAT(NPD 9) | 31.51 | 31.79 | 31.44 | 31.40 |
以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (10)
1.一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法,其特征在于,所述方法包括:
步骤1:建立机器翻译模型,包括编码器和解码器,所述的编码器采用Transformer模型中的编码器,所述的解码器通过将Transformer模型中的解码器中多头自注意力机制替换为causal-k自注意力机制得到,所述的causal-k自注意力机制通过参数k来调整每次迭代并行产生的单词数量;
步骤2:获取源语句训练集,所述的源语句训练集标注有参考翻译结果语句;
步骤3:将训练过程预先划分为三个阶段:当k=1时,为AT训练阶段;当1<k<N时,为SAT训练阶段,N用于表示源语句中参考翻译结果语句的长度;当k=N时,为NAT训练阶段;并设定每一个训练阶段停止训练的条件;
步骤4:设计pacing函数,使得k=f(i)∈{2,4,8,16},其中f(i)表示pacing函数,i表示SAT训练阶段的第i次迭代;
步骤5:依次将causal-k自注意力机制中的参数k设置为k=1、k=f(i)、k=N,采用步骤2中的源语句训练集对步骤1建立的机器翻译模型分别进行AT训练阶段、SAT训练阶段和NAT训练阶段的训练,最终得到训练好的非自回归机器翻译模型。
2.根据权利要求1所述的基于任务层面课程式学习的非自回归机器翻译模型的训练方法,其特征在于,步骤5采用步骤2中的源语句训练集对步骤1建立的机器翻译模型分别进行AT训练阶段、SAT训练阶段和NAT训练阶段的训练,具体为:
步骤5.1:设定k=1,进入AT训练阶段,所述的AT训练阶段训练一个样本的过程为:
从源语句训练集中获取一个源语句(x1,…,xM),源语句的参考翻译结果语句为(y1,…,yN),其中xi表示源语句中的第i个单词,M表示源语句中单词的数量,yi表示源语句标注的参考翻译结果语句中第i个单词,N表示参考翻译结果语句的长度;将源语句(x1,…,xM)作为编码器的输入,将编码器输出和(x1,y1,…,yN-1)作为解码器的输入,得到源语句(x1,…,xM)的样本翻译结果;
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成AT训练阶段的单次迭代训练;重复所述AT训练阶段的单次迭代训练过程,直至得到训练好的AT模型作为初始模型;
步骤5.2:进入SAT训练阶段,首先设计pacing函数用于调整causal-k自注意力机制中的参数k,公式为:
SAT训练阶段训练一个样本的过程为:
从源语句训练集中获取一个源语句(x1,…,xM),源语句的参考翻译结果语句为(y1,…,yN),其中xi表示源语句中的第i个单词,M表示源语句中单词的数量,yi表示源语句标注的参考翻译结果语句中第i个单词,N表示参考翻译结果语句的长度;在SAT训练阶段的第i次迭代时,计算k=fexp(i),将源语句(x1,…,xM)作为编码器的输入,将编码器输出和(x1,…,xk,y1,…,yN-k)作为解码器的输入,得到源语句(x1,…,xM)的样本翻译结果;
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成SAT训练阶段的第i次迭代训练;重复SAT训练阶段的单次迭代过程,直至i=SSAT;
步骤5.3:设定k=N,进入NAT训练阶段,所述的NAT训练阶段训练一个样本的过程为:
从源语句训练集中获取一个源语句(x1,…,xM),其中xi表示源语句中的第i个单词,M表示源语句中单词的数量;将所述的源语句(x1,…,xM)作为编码器的输入,将编码器输出和源语句(x1,…,xM)作为解码器的输入,得到源语句(x1,…,xM)的样本翻译结果;
每次完成一个训练batch后,根据参考翻译结果对模型参数进行调整,完成NAT训练阶段的单次迭代训练;重复所述NAT训练阶段的单次迭代训练过程,直至得到训练好的NAT模型作为最终的非自回归机器翻译模型。
4.根据权利要求3所述的一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法,其特征在于,所述的w=2。
5.根据权利要求1所述的一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法,其特征在于,所述的causal-k自注意力机制用于在每次迭代任务中并行预测k个单词,在传统的Transformer基础上进行如下修改:
1)修改单词级别的链式法则为组级别的链式法则,具体计算过程为:
其中,y1…yN表示参考翻译结果中的单词序列,y1′…yN′表示模型预测翻译结果的单词序列,将上述两种单词序列分组得到Gi,Gi′;x表示源语句;表示向下取整;p(y1′…yN′|x)表示在输入源语句x的前提下模型翻译得到的单词序列y1′…yN′是准确的翻译结果的概率;p(|Gt′|G1…Gt-1,x)表示在源语句为x,且前t-1个组的参考翻译结果为G1…Gt-1的前提下,模型翻译得到的第t组为Gt′是正确结果的概率;
2)采取远距离预测,对于翻译结果中的任意一个单词yt′(t>k),其预测结果依赖于yt-k的预测结果;
3)修改传统Transformer中的多头注意力机制中的mask,修改公式如下所示:
6.根据权利要求1所述的一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法,其特征在于,所述的SAT训练阶段的预设迭代次数SSAT=0.24M-0.48M,其中M表示1,000,000。
7.一种基于权利要求1所述非自回归机器翻译模型的训练方法的训练系统,其特征在于,包括;
机器翻译模块:配置有基于Transformer的机器翻译模型,包括编码器和解码器,所述的编码器与Transformer中的编码器相同,所述的解码器是将Transformer解码器中的多头自注意力机制替换为causal-k自注意力机制;所述的编码器包括一个输入端口和一个输出端口,所述的解码器包括第一输入端口、第二输入端口和输出端口,编码器的输出端口与解码器中的第一输入端口相连;
存储模块:用于存储源语句训练集和pacing函数f(i)∈{2,4,8,16},所述的源语句训练集标注有参考翻译结果;
第一训练模块:用于在AT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第二训练模块:用于在SAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
第三训练模块:用于在NAT训练阶段,对机器翻译模块中的编码器和解码器进行训练;
参数更新子模块:在每一个训练阶段完成一次迭代训练后,自动获取解码器输出端口的样本翻译结果及源语句的参考翻译结果语句,对编码器和解码器的参数进行更新;
输出模块:配置有启动端口,当输出模块的启动端口接收到启动信号时,即时读取机器翻译模块中的编码器和解码器的模型参数,生成模型文件并输出。
8.根据权利要求7所述的训练系统,其特征在于,所述的第一训练模块包括:
第一输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口;
第二输入子模块:自动获取存储模块中的源语句和参考翻译结果语句,将源语句中的第1个单词以及参考翻译结果语句中的前N-1个单词传输至解码器的第二输入端口;
第一判断子模块:用于在AT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第一输入子模块和第二输入子模块,并发送第二训练模块的启动信号。
9.根据权利要求7所述的训练系统,其特征在于,所述的第二训练模块包括:
计算子模块:读取存储模块中的pacing函数f(i)∈{2,4,8,16},根据即将执行的迭代次数i,计算k=f(i)∈{2,4,8,16};
第三输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口;
第四输入子模块:自动获取存储模块中的源语句和参考翻译结果语句,将源语句中的前k个单词以及参考翻译结果语句中的前N-k个单词传输至解码器的第二输入端口;
第二判断子模块:用于在SAT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第三输入子模块和第四输入子模块,并发送第三训练模块的启动信号。
10.根据权利要求7所述的训练系统,其特征在于,所述的第三训练模块包括:
第五输入子模块:自动获取存储模块中的源语句,将源语句传输至机器翻译模块中编码器的输入端口和解码器的第二输入端口;
第三判断子模块:用于在NAT训练阶段的每一次迭代训练后,判断是否满足预设的停止训练条件,若满足,则关闭第五输入子模块,并发送输出模块的启动信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386920.7A CN111581988B (zh) | 2020-05-09 | 2020-05-09 | 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386920.7A CN111581988B (zh) | 2020-05-09 | 2020-05-09 | 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581988A true CN111581988A (zh) | 2020-08-25 |
CN111581988B CN111581988B (zh) | 2022-04-29 |
Family
ID=72123531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010386920.7A Active CN111581988B (zh) | 2020-05-09 | 2020-05-09 | 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581988B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084796A (zh) * | 2020-09-15 | 2020-12-15 | 南京文图景信息科技有限公司 | 一种基于Transformer深度学习模型的多语种地名词根汉译方法 |
CN113095092A (zh) * | 2021-04-19 | 2021-07-09 | 南京大学 | 通过建模协同关系提高非自回归神经机器翻译质量的方法 |
CN114065784A (zh) * | 2021-11-16 | 2022-02-18 | 北京百度网讯科技有限公司 | 训练方法、译文方法、装置、电子设备以及存储介质 |
WO2022134021A1 (en) * | 2020-12-25 | 2022-06-30 | Microsoft Technology Licensing, Llc. | Generation of data models for predicting data |
US11741318B2 (en) | 2021-03-25 | 2023-08-29 | Nec Corporation | Open information extraction from low resource languages |
CN113095092B (zh) * | 2021-04-19 | 2024-05-31 | 南京大学 | 通过建模协同关系提高非自回归神经机器翻译质量的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286632A1 (en) * | 2014-04-03 | 2015-10-08 | Xerox Corporation | Predicting the quality of automatic translation of an entire document |
US20190130273A1 (en) * | 2017-10-27 | 2019-05-02 | Salesforce.Com, Inc. | Sequence-to-sequence prediction using a neural network model |
CN109933808A (zh) * | 2019-01-31 | 2019-06-25 | 沈阳雅译网络技术有限公司 | 一种基于动态配置解码的神经机器翻译方法 |
CN110059323A (zh) * | 2019-04-22 | 2019-07-26 | 苏州大学 | 基于自注意力机制的多领域神经机器翻译方法 |
CN110674646A (zh) * | 2019-09-06 | 2020-01-10 | 内蒙古工业大学 | 一种基于字节对编码技术的蒙汉机器翻译系统 |
US20200019610A1 (en) * | 2018-07-10 | 2020-01-16 | Tata Consultancy Services Limited | Method and system for resolving abstract anaphora using hierarchically-stacked recurrent neural network (rnn) |
US20200034436A1 (en) * | 2018-07-26 | 2020-01-30 | Google Llc | Machine translation using neural network models |
CN110765791A (zh) * | 2019-11-01 | 2020-02-07 | 清华大学 | 机器翻译自动后编辑方法及装置 |
CN110852116A (zh) * | 2019-11-07 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 非自回归神经机器翻译方法、装置、计算机设备和介质 |
-
2020
- 2020-05-09 CN CN202010386920.7A patent/CN111581988B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286632A1 (en) * | 2014-04-03 | 2015-10-08 | Xerox Corporation | Predicting the quality of automatic translation of an entire document |
US20190130273A1 (en) * | 2017-10-27 | 2019-05-02 | Salesforce.Com, Inc. | Sequence-to-sequence prediction using a neural network model |
US20200019610A1 (en) * | 2018-07-10 | 2020-01-16 | Tata Consultancy Services Limited | Method and system for resolving abstract anaphora using hierarchically-stacked recurrent neural network (rnn) |
US20200034436A1 (en) * | 2018-07-26 | 2020-01-30 | Google Llc | Machine translation using neural network models |
CN109933808A (zh) * | 2019-01-31 | 2019-06-25 | 沈阳雅译网络技术有限公司 | 一种基于动态配置解码的神经机器翻译方法 |
CN110059323A (zh) * | 2019-04-22 | 2019-07-26 | 苏州大学 | 基于自注意力机制的多领域神经机器翻译方法 |
CN110674646A (zh) * | 2019-09-06 | 2020-01-10 | 内蒙古工业大学 | 一种基于字节对编码技术的蒙汉机器翻译系统 |
CN110765791A (zh) * | 2019-11-01 | 2020-02-07 | 清华大学 | 机器翻译自动后编辑方法及装置 |
CN110852116A (zh) * | 2019-11-07 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 非自回归神经机器翻译方法、装置、计算机设备和介质 |
Non-Patent Citations (5)
Title |
---|
CHUNTING ZHOU等: "Understanding Knowledge Distillation in Non-autoregressive Machine Translation", 《HTTPS://ARXIV.ORG/ABS/1911.02727》 * |
JUNLIANG GUO等: "Fine-Tuning by Curriculum Learning for Non-Autoregressive Neural Machine Translation", 《HTTP://ARXIV.ORG/ABS/1911.08717》 * |
YI REN等: "A Study of Non-autoregressive Model for Sequence Generation", 《HTTPS://ARXIV.ORG/ABS/2004.10454》 * |
张志锐: "面向神经机器翻译的数据增强方法及应用", 《中国博士学位论文全文数据库 (信息科技辑)》 * |
高芬等: "基于Transformer的蒙汉神经机器翻译研究", 《计算机应用与软件》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084796A (zh) * | 2020-09-15 | 2020-12-15 | 南京文图景信息科技有限公司 | 一种基于Transformer深度学习模型的多语种地名词根汉译方法 |
CN112084796B (zh) * | 2020-09-15 | 2021-04-09 | 南京文图景信息科技有限公司 | 一种基于Transformer深度学习模型的多语种地名词根汉译方法 |
WO2022134021A1 (en) * | 2020-12-25 | 2022-06-30 | Microsoft Technology Licensing, Llc. | Generation of data models for predicting data |
US11741318B2 (en) | 2021-03-25 | 2023-08-29 | Nec Corporation | Open information extraction from low resource languages |
CN113095092A (zh) * | 2021-04-19 | 2021-07-09 | 南京大学 | 通过建模协同关系提高非自回归神经机器翻译质量的方法 |
CN113095092B (zh) * | 2021-04-19 | 2024-05-31 | 南京大学 | 通过建模协同关系提高非自回归神经机器翻译质量的方法 |
CN114065784A (zh) * | 2021-11-16 | 2022-02-18 | 北京百度网讯科技有限公司 | 训练方法、译文方法、装置、电子设备以及存储介质 |
CN114065784B (zh) * | 2021-11-16 | 2023-03-10 | 北京百度网讯科技有限公司 | 训练方法、译文方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111581988B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581988B (zh) | 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 | |
Gu et al. | Non-autoregressive neural machine translation | |
CN108804611B (zh) | 一种基于自我评论序列学习的对话回复生成方法及系统 | |
US11604956B2 (en) | Sequence-to-sequence prediction using a neural network model | |
US11081105B2 (en) | Model learning device, method and recording medium for learning neural network model | |
CN110110337B (zh) | 翻译模型训练方法、介质、装置和计算设备 | |
CN112685597B (zh) | 一种基于擦除机制的弱监督视频片段检索方法和系统 | |
Yuan et al. | Seqdiffuseq: Text diffusion with encoder-decoder transformers | |
Zhang et al. | Bidirectional generative adversarial networks for neural machine translation | |
Liu et al. | Task-level curriculum learning for non-autoregressive neural machine translation | |
CN110245359B (zh) | 使用自回归机器学习模型进行并行解码 | |
CN110457718B (zh) | 一种文本生成方法、装置、计算机设备及存储介质 | |
Kent et al. | Performance of three slim variants of the long short-term memory (LSTM) layer | |
Chen et al. | Delving deeper into the decoder for video captioning | |
Caucheteux et al. | Long-range and hierarchical language predictions in brains and algorithms | |
Song et al. | switch-GLAT: Multilingual parallel machine translation via code-switch decoder | |
Broughton et al. | Improving end-to-end neural diarization using conversational summary representations | |
CN116992892A (zh) | 基于数据增强和多任务训练改善ape模型的方法、系统及可读存储介质 | |
McCarthy et al. | Improved variational neural machine translation by promoting mutual information | |
CN115329781A (zh) | 基于后编辑译文的多任务机器翻译质量估计方法和系统 | |
JP2023075883A (ja) | 音声認識装置およびプログラム | |
Sheng et al. | Weakly supervised coarse-to-fine learning for human action segmentation in HCI videos | |
CN115422329A (zh) | 一种基于知识驱动的多路筛选融合对话生成方法 | |
CN116324807A (zh) | 神经架构和硬件加速器搜索 | |
Tian et al. | Few-shot learning for joint model in underwater acoustic target recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |