一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种运用辅助记忆的多样性机器翻译方法

2022-05-06 08:19:14 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,涉及机器翻译技术,特别涉及一种运用辅助记忆的多样性机器翻译方法。


背景技术:

2.背景技术涉及三大块:神经机器翻译,多样性束搜索,评价指标。
3.1)神经机器翻译(neural machine translation)
4.神经机器翻译指利用神经网络来实现的端到端机器翻译系统。神经机器翻译系统主要涉及两大基本技术:transformer编码器-解码器框架和attention机制。
5.transformer编码器-解码器框架如图2所示,是一种基于attention机制设计的模型,适合处理文本这样的序列数据。transformer由多个transformer块堆叠组成。每个块之中包含一个多头attention模块和一个全连接层,它们之间使用残差方式连接。
6.一个transformer块中的多头attention模块基于传统attention机制。attention机制作用于序列数据,输入是n个向量组成的矩阵x=[x1x2…
xn]。在attention机制中,它们也被称为value变量。除了value变量,attention机制的输入还有一系列key变量组成的矩阵k=[k1k2…kn
]和一个query变量q(在多次计算时可以是一系列query变量)。这两者中,key变量与输入变量一一对应,往往是value变量的函数;而query变量则是本次attention计算参照的对象,在self-attention情景下query变量也可以是value变量的函数。
[0007]
attention机制计算时,使用一个评分函数s参照q为每一个xi计算权重αi,符合式子
[0008]
αi=softmax(s(ki,q))
ꢀꢀꢀ
(5)
[0009]
其中,ki是第i个key变量,则attention机制的输出是
[0010][0011]
一种常见的评分函数是点积函数
[0012][0013]
attention机制的计算结果是query变量的函数,不同的query将从序列中“查询”出不同的结果。这是因为评分函数会对比query变量与key变量,从而为每个value变量计算分数,而这个分数会影响到每个value变量在结果中的比重。如果query是一系列变量,输出的一系列变量也可以组成一个输出矩阵。
[0014]
多头attention模块与传统attention机制的区别在于它是多头的。在每一个多头attention模块中有h个并行的attention头(head),每个头的计算方式相同,仅参数不同。每个头headi的计算结果是
[0015][0016]
其中,分别是q、k、v的权重矩阵。多头attention的输出结果multi-head(q,k,v)是各个头拼接后的线性变换,其中headh表示各个attention头,wo是最终的权重矩阵
[0017]
multi-head(q,k,v)=concat(head1,

,headh)woꢀꢀꢀꢀꢀ
(9)
[0018]
之后的全连接层中会对输入做两次线性变换,即
[0019]
out
ff
=tanh(w2tanh(w1in
ff
))
ꢀꢀꢀ
(10)
[0020]
其中,w1和w2是各个线性层的权重,in
ff
是全连接层的输入向量,out
ff
是全连接层输出向量。每一个线性层使用tanh激活函数。
[0021]
在transformer编码器中,每一层transformer块中多头attention的三个输入都是上一层的输出。这种三个输入来源于同一个变量的设计叫做self-attention,是transformer中的关键设计。transformer块中的连接都是残差连接。以全连接层为例,它的输入并不仅仅是前一层的输出,而是前一层的输出加上前一层的输入并规范化的结果。即
[0022]
in
ff
=norm(out
mh
in
mh
)
ꢀꢀꢀꢀ
(11)
[0023]
其中,全连接层的输入in
ff
是自注意力层的输出,out
mh
是多头注意力的输出,in
mh
是多头注意力的输出。
[0024]
类似地,全连接层的输出也有这样的残差连接,即某一个块的输出是
[0025]
out
block
=norm(out
ff
in
ff
)
ꢀꢀꢀꢀ
(12)
[0026]
其中,out
block
是一个编码器模块的输出,out
ff
是全连接层的输出,in
ff
是全连接层的输入。
[0027]
在transformer解码器中,除了多头attention模块和全连接层,还有基于多头attention模块的编码attention模块,它位于多头attention模块和全连接层之间。它将编码器的输出作为多头attention模块的query变量,而key变量和value变量依然来源于上一层模块。也就是说编码attention模块的计算符合
[0028]
encoder-attention(enc,value)=multi-head(enc,value,value)
ꢀꢀꢀꢀ
(13)
[0029]
此外,为了防止teacherforcing方法下transformer解码器中的attention模块提前读取到将来的输入,attention模块中加入屏蔽机制,保证被屏蔽的位置不会参与attention评分。这种屏蔽机制也可能被用于其它attention模块中。
[0030]
transformer领域常常运用到预训练的模型。transformer的预训练技术大幅减少了基于transformer的系统的训练时间,加速了高性能模型的推广。以bert为代表一系列预训练模型往往在大规模语料上训练模型完成某个特定的预训练目标,使得模型可以在下游任务中仅需要一些微调即可达到良好的性能。另外,该框架可以结合外部语料,具有良好的可扩展性,且灵活性很强,可以应用到图像标注、语音识别等任务中。
[0031]
2)多样性束搜索(diverse beam search)
[0032]
束搜索(beam search)是一种启发式图搜索算法,通常用在搜索的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。这样减少了空间消耗,并提高了时间效率,但缺点就是有可能存在潜在的最佳方案被丢弃,因此束搜索是不完全的,一般用于解空间较大
的系统中。
[0033]
多样性束搜索是在典型束搜索的基础上将所有的束进行分组,各组的束依次进行搜索,同组内的束如同典型束搜索每次选取概率最大的token,而每组束在进行束搜索前,解码阶段得到的token概率需要减去由之前组的束计算得到的惩罚项,惩罚项可看作对字典中所有token的一个计数器,统计当前时间步,由之前的束选择的token的数量,以此避免在同一时间步内,不同组的束会选取同样的token。由于解码得到的token的概率通常属于(0,1),惩罚项在实际设置时会通过惩罚超参数λ∈[0,1)来控制多样性惩罚的程度。在进行束搜索之前,首先选取束的个数b和分组g,每组包括g=b/g束,具体实验时一般尽量保证g能整除b,即保证每组的束数量相同且不重合。
[0034]
在第一个时间步内,重置多样性惩罚项,即将每个token的计数设为0,根据transformer解码器得到所有token的选取概率,将其复制成b束,并分成g组。
[0035]
首先对第一组的g束进行典型束搜索,选取概率最大的g个token,得到第一组的g个候选token,据此更新多样性惩罚项,即将对应token数量加一。对第二组g束,在选取概率最大的g个token之前,需要将token概率减去多样性惩罚项中统计对应token数量的λ倍,λ∈[0,1)控制多样性惩罚的程度。汇总g组所有b束的token,作为当前时间步的搜索结果输入到transformer解码器进行下一时间步的预测。
[0036]
在之后的时间步,由于上一时间步已经向transformer解码器输入b束对应的中间变量和搜索结果,因此不再需要像第一个时间步复制束搜索结果,直接进行多样性束搜索直到所有束遇到终止符《eos》或者达到预设的最大时间步。
[0037]
3)评价指标(evaluation metrics)
[0038]
假设{r1,

,rm}是源句子x的m个参考翻译,{y1,

,yk}是k个翻译结果。
[0039]
让bleu{([r1,

,rn],h)}
x∈data
表示所有对的语料库级别的bleu,其中h是一个翻译结果,[r1,

,rn]是它的参考翻译列表。让[n]表示{1,

,n}的集合,[y-i
]表示[y1,

,y
i-1
,y
i 1
,

,ym]。
[0040]
对于翻译准确性计算,
[0041]
使用m

1个参考翻译来计算系统的bleu。例如,平均bleu{([r-m
],yk)}
x∈data,k∈[k]
,其中m∈[m]。这衡量了翻译结果集的整体质量。如果该指标得分较低,则意味着某些生成的翻译质量较差。
[0042]
对于翻译多样性计算,
[0043]
使用pairwise-bleu来衡量翻译的多样性。pairwise-bleu用于计算所有翻译结果之间的相似性。为了衡量翻译结果之间的相似性,将它们相互比较并计算bleu{([yj],yk)}
x∈data,j∈[k],k∈[k],j≠k
。翻译结果集越多样化,pairwise-bleu越低。


技术实现要素:

[0044]
本发明的目的是提供一种运用辅助信息的多样性机器翻译方法,该方法提出了一种新的与辅助信息相结合的多样性机器翻译模型,并提出新的全局多样性搜索机制,并将该机制应用到多样性机器翻译中和给出了学习算法。
[0045]
实现本发明目的的具体技术方案是:
[0046]
一种运用辅助记忆的多样性机器翻译方法,该方法包括如下步骤:
[0047]
步骤一:建立目标语言上的单语料库和源语言与目标语言对应的双语料库;
[0048]
步骤二:构建和预训练双编码器检索模型;将所有源语言与目标语言分别转换成对应的词嵌入表示后,分别输入检索模型的两个attention编码器提取特征和编码,将源语言与目标语言的语义编码进行内积运算,然后通过最大内积搜索(maximum inner product search)快速搜索得到m个最接近源语言语义编码的目标语言语义编码,根据源语言和目标语言是否是对应句对构建损失函数来预训练检索模型,防止检索模型冷启动;
[0049]
步骤三:构建多样化机器翻译模型,在典型transformer机器翻译模型的基础上,并在解码阶段通过cross-attention融合检索模型获得的辅助记忆,根据辅助记忆指导生成多个多样性目标文本;对于每个源语言文本,通过检索模型检索出单语料库中m个最接近的目标文本编码,以此在transformer模型解码阶段通过cross-attention融合,即将典型机器翻译模型transformer编码源语言和目标语言得到的语义信息作为query,检索出的目标文本编码作为key和value;cross-attention分数α的具体计算如下
[0050][0051]
其中e∈[1,m],i,j∈[1,le];h
t
表示在翻译过程中第t个时间步时,transformer模型提取的源文本与目标文本的潜变量表示,ze表示第e个检索的与源文本最相似的目标文本编码,包括le个token,f(x,ze)表示输入的源文本x与ze的相似度,β作为超参控制检索模型对翻译模型的影响大小,wm是模型的权重;每个检索出的目标语言语义编码ze分别指导典型机器翻译生成不同的翻译文本,以提高机器翻译的多样性和准确性;
[0052]
步骤四:确定多样性机器翻译模型的优化目标,训练运用辅助记忆的多样性机器翻译模型;不同于典型机器翻译模型,运用辅助记忆的多样性机器翻译模型的优化目标需要融合和同时训练检索模型,整体目标是同时提高检索模型和翻译模型的性能,其优化目标的公式描述为
[0053][0054]
其中,y
*
是模型生成的翻译,x是输入句子,ze表示第e个检索的与源文本最相似的目标文本编码,f(x,ze)表示输入的源文本x与ze的相似度;将单语料库检索到的文本的相似度融入优化目标,采用adam算法优化,使检索模型参与反向梯度计算来更新参数;
[0055]
步骤五:训练完毕后,进行多样性翻译模型推理,即生成多个不同的翻译文本;transformer解码器通过检索的文本,源文本和之前预测的目标文本的所有token,预测下一个token的概率分布;以最大似然为准则求最优句子序列,采用改进的多样性束搜索算法得出最优的机器翻译输出。
[0056]
所述的多样性机器翻译模型,具有如下结构:在检索模块中,源文本x和所有单语料库文本分别经过两个transformer的编码器得到其对应的特征编码矩阵e
src
(x)和e
tgt
(ze),将特征编码矩阵进行内积计算得到相似度,
[0057][0058]
通过最大内积搜索(maximum inner product search)快速搜索得到m个最接近源语言语义编码的目标语言语义编码{z1,z2,

,zm}以及对应的相似度{f(x,z1),f(x,z2),

,
f(x,zm)};
[0059]
翻译模块沿用典型transformer模型,由编码器—解码器框架构成;源文本x经过编码器提取特征表示,编码器由六层组合网络串联构成,每层依次包括multi-head attention层和全连接层;源文本经过编码后在解码器中,作为k和v与之前时间步预测得到的目标文本{y1,y2,

,y
t-1
}的编码作为q进行cross-attention计算得到此时间步t的中间状态表示h
t

[0060][0061]
其中,表示缩放因子,防止计算过程数据溢出;在transformer解码时得到源文本与目标文本的中间状态表示h
t
后,以此作为q再与检索模块得到的特征编码ze进行cross-attention计算,融合单语料库信息,最终预测得到当前时间步的概率。
[0062]
所述改进的多样性束搜索算法,包括如下步骤:
[0063]
步骤3.1:选取束的总数量b和分组数量g,保证b能整除g,使得每组保持同样数量的搜索束且不重叠,则每组中包括g=b/g个束,设置多样性惩罚项来统计之前时间步所有选取的各个token的数量;
[0064]
步骤3.2:根据transformer解码器得到的当前时间步,词汇表中所有token的选择概率,将其复制成b束,并分成g组;
[0065]
步骤3.3:对于每组的g束,首先对第一组的g束进行典型束搜索,选取概率最大的g个token,得到第一组的g个候选token,据此更新多样性惩罚项,即将对应token数量加一;对第二组束,在选取概率最大的g个token之前,需要将token概率减去多样性惩罚项中统计对应token数量的λ倍,λ∈[0,1)控制多样性惩罚的程度;
[0066]
步骤3.4:汇总g组所有b束的token,作为当前时间步的搜索结果输入到transformer解码器进行下一时间步的预测,再根据步骤3.3进行多样性束搜索直到所有束遇到终止符《eos》或者达到预设的最大时间步。需要注意的是,在所有时间步,累计多样性惩罚项,而不是在每个时间步重置。
[0067]
本发明提出了使用辅助记忆的多样性机器翻译的方法,该方法提出了一种新的与辅助信息相结合的多样性机器翻译模型,并提出新的全局多样性搜索机制。该方法在jrc-acquis数据集、wmt16英德数据集和wmt14英法数据集上进行了大量的实验,实验结果表明,本发明所提出的方法在不损害翻译质量的前提下,显著提高了翻译的多样性。所提出的多样性机器翻译模型不仅可以生成多个多样的翻译结果,同时能保障翻译结果的质量。
附图说明
[0068]
图1为本发明的流程图;
[0069]
图2为背景技术的transformer编码器-解码器模型图;
[0070]
图3为本发明辅助记忆的多样性机器翻译模型图。
具体实施方式
[0071]
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、
条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0072]
本发明所涉及的模型包括两大模块:检索模块和翻译模块。在检索模块,首先使用源文本和目标文本一一对应的双语料库预训练检索模块,然后将目标语言上的单语料库所有文本输入检索模块得到其特征编码,最后将待翻译的源文本的特征表示和单语料库的特征表示进行内积计算,得到源文本与单语料库所有文本的相似度,以此检索得到最相似的m个特征表示。在翻译模块,将待翻译的源文本输入transformer的编码器得到其特征表示。当翻译模块根据典型的机器翻译模型,在每个时间步完成编码和解码任务之后,得到的中间状态表示ht,将其与检索得到的特征表示进行cross-attention计算得到最终预测结果。通过计算损失函数并通过adam算法反向传播梯度,更新模型参数来训练整个模型,包括检索模块和翻译模块。
[0073]
参阅图1,本发明包括如下步骤:
[0074]
1、建立目标语言上的单语料库和源语言与目标语言的双语料库。
[0075]
采用workshop on machine translation(wmt)2016年公开数据集,选取语言对en-de作为双语料库,也可选取其他的双语数据集训练模型。对于单语料库,可以直接选择双语数据集的目标端语料,或者目标端其他语料库,如un parallel corpus。
[0076]
2、构建和预训练双编码器检索模型。
[0077]
将所有源语言与目标语言分别转换成相应的词嵌入表示后,分别输入检索模型的两个attention编码器提取特征和编码,将源语言与目标语言的语义编码进行内积运算,然后通过最大内积搜索(maximum inner product search)快速搜索得到m个最接近源语言语义编码的目标语言语义编码,根据源语言和目标语言是否是对应句对构建损失函数来预训练检索模型,防止检索模型冷启动问题。
[0078]
3、构建典型transformer机器翻译模型,并在解码阶段通过cross-attention融合检索模型获得的辅助记忆,根据辅助记忆指导生成多个多样性目标文本,参阅图3。对于每个源语言文本,通过检索模型检索出单语语料库中m个最接近的目标文本编码,以此在transformer模型解码阶段通过cross-attention融合,即将典型机器翻译模型transformer编码源语言和目标语言得到的语义信息作为query,检索出的目标文本编码作为key和value。cross-attention分数α的具体计算如下
[0079][0080]
其中e∈[1,m],i,j∈[1,le]。h
t
表示在翻译过程中第t个时间步时,transformer模型提取的源文本与目标文本的潜变量表示,ze表示第e个检索的与源文本最相似的目标文本编码,包括le个token,f(x,ze)表示输入的源文本x与ze的相似度,β作为超参控制检索模型对翻译模型的影响大小。每个检索出的目标语言语义编码ze分别指导典型机器翻译生成不同的翻译文本,以提高机器翻译的多样性和准确性。
[0081]
4、确定多样性机器翻译模型的优化目标,训练运用辅助记忆的多样性机器翻译模型。不同于典型机器翻译模型,运用辅助记忆的多样性机器翻译模型的优化目标需要融合和同时训练检索模型,整体目标是同时提高检索模型和翻译模型的性能,其优化目标的公
式描述为
[0082][0083]
将单语料库检索到的文本的相似度融入优化目标,采用adam算法优化,使检索模型参与反向梯度计算来更新参数。
[0084]
5、训练完毕后,进行多样性翻译模型推理,即生成多个不同的翻译文本。transformer解码器通过检索的文本,源文本和之前预测的目标文本的所有token,预测下一个token的概率分布;以最大似然为准则求最优句子序列,采用改进的多样性束搜索算法得出最优的机器翻译输出。模型推理的步骤如下,
[0085]
步骤5.1:选取束的总数量b和分组数量g,保证b能整除g,使得每组保持同样数量的搜索束且不重叠,则每组中包括g=b/g个束,设置多样性惩罚项来统计之前时间步所有选取的各个token的数量。
[0086]
步骤5.2:根据transformer解码器得到的当前时间步,词汇表中所有token的选择概率,将其复制成b束,并分成g组。
[0087]
步骤5.3:对于每组的g束,首先对第一组的g束进行典型束搜索,选取概率最大的g个token,得到第一组的g个候选token,据此更新多样性惩罚项,即将对应token数量加一。对第二组束,在选取概率最大的g个token之前,需要将token概率减去多样性惩罚项中统计对应token数量的λ倍,λ∈[0,1)控制多样性惩罚的程度。
[0088]
步骤5.4:汇总g组所有b束的token,作为当前时间步的搜索结果输入到transformer解码器进行下一时间步的预测,再根据步骤5.3进行多样性束搜索直到所有束遇到终止符《eos》或者达到预设的最大时间步。
[0089]
实施例
[0090]
在多个数据集上进行了实验,以评估所提出的辅助记忆的多样性机器翻译方法和全局多样性搜索机制的效果。首先,在jrc-acquis数据集上来评估辅助记忆的多样性机器翻译模型的性能,其次使用wmt16英德数据集和wmt14英法数据集来评估全局多样性搜索机制的有效性和普遍适用性。使用pwb和rfb两个指标对模型性能进行评价。
[0091]
先将辅助记忆的多样性机器翻译模型和全局多样性搜索机制结合起来,在jrc-acquis数据集上进行实验,选择四个翻译方向,英语翻译成西班牙语和西班牙语翻译成英语,以及英语翻译成德语和德语翻译成英语。辅助记忆的多样性机器翻译模型包含两个模块,检索模型和翻译模型。为了防止检索模型冷启动,先对检索模型进行交叉对齐预训练,之后再对整个模型进行训练。
[0092]
在数据集的训练和测试后,得到了四个翻译方向上的翻译性能和多样性分数,展示在表1中。实验结果显示,辅助记忆的多样性机器翻译模型在不损害翻译质量的情况下,提高了翻译结果的多样性。
[0093]
表1在jrc-acquis数据集四个翻译方向上的翻译质量和多样性分数
[0094][0095]
其次验证全局多样性搜索机制在大部分神经机器翻译模型中的适应性和有效性。在wmt16英语-德语数据集和wmt14英语-法语数据集上进行实验。对于wmt16英-德数据集
上,使用字节对编码(bpe)来学习大小为32k的联合词典。在newstest2013上进行验证,并在newstest2014的500个句子子集上进行测试,其中每个句子包括10个参考翻译。对于wmt14英-法数据集,过滤掉句子长度超出1-250范围德句子,从而从wmt14中获得4000万个句子对,并学习40k个联合bpe词汇。在newstest2013上验证并在newstest2014的500个子集上进行测试,其中每个句子包含10个参考翻译。
[0096]
使用hmlp设置复现了混合模型,该模型具有三个混合组件(专家),完全遵循hmlp的配置参数。在此基础上与使用普通束搜索(bs)和多样性束搜索(dbs)的模型比较了翻译性能。在表2展示了模型在wmt16英语-德语和wmt14英语-法语数据集上的性能。实验结果表明,本发明所提出的方法在翻译多样性方面要优于bs和dbs。
[0097]
表2gdbs在wmt16英-德数据集和wmt14英-法数据集上的性能
[0098][0099]
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献