基于对称型注意力的机器翻译方法

文档序号:32392299发布日期:2022-11-30 08:47阅读:34来源:国知局
基于对称型注意力的机器翻译方法

1.本发明属于电学技术领域,更进一步涉及计算机辅助设计技术领域中的一种基于对称型注意力的机器翻译方法。本发明可用于将待翻译的英文语句经过编码器提取文本特征信息,再解码生成对应的中文翻译语句。


背景技术:

2.随着计算机计算能力的提高以及大数据的应用,深度学习取得进一步应用。基于深度学习的机器翻译技术越来越多的应用于不同领域。机器翻译技术可以帮助人们完成源语言到目标语言的翻译工作,从而逐渐代替人类完成复杂且费时费力的翻译工作。目前,在机器翻译领域中,代表最先进水平的transformer模型是一个完全基于注意力机制的机器翻译模型。其主要思想是,首先将输入向量进行线性变换,得到查询矩阵query(q)、键值矩阵key(k)和实值矩阵value(v)三个矩阵,利用三个矩阵进行注意力计算得到注意力值,作为元素之间关联程度的体现。在机器翻译工作中,解码器通过注意力值获取数据点之间的相关性信息,作为翻译预测的依据。因此,尽可能最大程度增强数据点之间的全局相关性信息的表达能力,有助于提高机器翻译的准确度。
3.四川大学在其拥有的专利技术“一种基于transformer模型的机器翻译模型优化方法”(专利申请号:202110361317.8,授权公告号:cn 113051938 b)中提出了一种基于transformer模型的机器翻译模型优化方法。该方法具体实现方法为:步骤一,初始化具有多个不同结构和参数的transformer模型的种群作为父代模型种群;步骤二,利用bleu算法计算所述父代模型种群中的每个transformer模型词向量学习能力评估指标;步骤三,根据步骤二的词向量学习能力评估指标大小从父代模型种群中选择父代个体,并使用交叉变异算子生成子代个体种群,同时利用bleu算法计算子代个体种群中每个模型的词向量学习能力评估指标;步骤四,对所述父代个体和子代个体进行环境选择生成新的模型种群,并根据所述步骤二和步骤三进行多轮迭代进化,直至满足迭代终止条件;步骤五,选择最后一代中的最优个体进行机器翻译任务。该方法虽然可通过预先设定阈值限定演化次数,实现节约资源的目的,但是,该方法仍然存在的不足之处是,由于解码器的交叉注意力层采用了与该模块其他层相同的乘性计算方案,其输出仅体现了单一维度下数据点间相关性结果,使得编码器生成预测词典时丢失源语言对应的目标语言选项,影响解码器根据源语言输出预测概率时的准确性。
4.苏州大学在其申请的专利文献“基于自注意力机制的多领域神经机器翻译方法”(专利申请号:201910344013.3,申请公布号:cn 110059323 a)中提出了一种基于自注意力机制的多领域神经机器翻译方法。该方法对transformer进行了两项重要的改变:其一,基于领域感知的自注意力机制,其中在多领域表示时,被添加到原始的自注意力机制的键和值向量中。注意力机制的权重是查询和领域感知的键的相关程度,基于领域感知的自注意力机制可以用在编码器、解码器或同时用在编码端和解码端的自注意力层。其二,添加一个领域表示学习模块来学习领域向量。该方法虽然可以在模型缺乏灵活性的情况下,建立多
个特定领域的系统架构,每个系统都在给定领域经过微调来最优化性能。但是,该方法仍然存在的不足之处是,在解码器的交叉注意力层只使用了输入向量的部分相关性信息,而映射至其他子空间的相关性信息未被全面利用,使解码计算中依据的参考信息缺失,致使翻译结果未能涵盖全部情景。


技术实现要素:

5.本发明的目的是针对上述现有技术的不足,提出了一种基于对称型注意力的机器翻译方法,对不同子空间中体现数据间全局相关性信息的对称型注意力进行充分利用,用于解决现有技术中对数据点间相关性的表达能力不充分、未被全面利用,解码计算中的翻译结果准确度不高的问题。
6.实现本发明目的的思路是:本发明方法构建的模型采用编码器-解码器结构。其中编码器包括多头自注意力层和前向反馈层:多头自注意力层首先进行注意力计算,获取输入向量内各元素间的相关性信息,作为建立翻译预测所使用词典的依据;前向反馈层对计算得到的注意力进行全连接计算,对整个序列里的信息进行汇总,使得序列中含有全局相关性信息。解码器包括多头自注意力层、对称型注意力层和前向反馈层,其中多头自注意力层和前向反馈层实现的功能与编码器相同。对称型注意力层使用两支对称型注意力实现编码器与解码器的信息交互,解决了未能使用输入向量其他子空间的相关性信息导致的解码过程中参考依据缺失的问题。本发明所使用的三个矩阵:查询矩阵query(q)、键值矩阵key(k)和实值矩阵value(v)在物理含义上是相等的,均在不同维度上体现了矩阵中对应元素之间的相关性,这种相关性是解码器进行翻译预测时的重要依据。考虑到该特点,在解码器的对称型注意力层使用上述三个矩阵分别计算两支对称型注意力,挖掘不同子空间的相关性信息,解决了元素间相关性信息提取受限,导致编码器生成预测词典时丢失源语言对应的目标语言选项的问题。本发明在解码器对称型注意力层进行计算前,首先加入全连接层进行线性变换,由每个元素的局部相关性组合成全局相关性,进而在计算预测值时可考虑到所有相关的选项,解决了翻译结果未能涵盖全部情景的问题。依据编码器生成的词典,解码器计算当前处理数据与预测候选项之间的相关性,选取相关性最大的候选项作为该处理数据最终的预测结果。
7.实现本发明的具体步骤如下:
8.步骤1,生成训练集:
9.步骤1.1,选取至少27万条英文语句和其对应的中文翻译语句构成样本集;
10.步骤1.2,去掉样本集中重复的英文语句及其对应的中文翻译语句,剔除长度相对于所有英文语句平均长度过短或过长的英文语句及其对应的中文翻译语句后得到训练集;
11.步骤2,构建基于对称型注意力的机器翻译模型:
12.步骤2.1,构建一个由多头自注意力层、残差层、前向反馈层串联组成的编码器:
13.所述多头自注意力层含有至少8个子空间,每个子空间通过点积乘法计算当前预测单词与其所属语句中所有单词的自注意力;
14.所述残差层由层归一化函数实现;
15.所述前向反馈层的结构依次为:输入层、全连接层、输出层,将输入层、输出层的维度均设置为512,全连接层由最大值函数实现,其维度设置为2048;
16.步骤2.2,构建一个由多头自注意力层、第一残差层、对称型注意力层、第二残差层、前向反馈层、第三残差层串联组成的解码器:
17.所述解码器中多头自注意力层、前向反馈层的结构和参数均与步骤2.1中编码器的多头自注意力层和前向反馈层相同;
18.所述解码器中第一残差层、第二残差层、第三残差层均由层归一化函数实现;
19.所述对称型注意力层由两个平行的对称子空间组成,采用对称型注意力算法计算两支对称型注意力并进行融合,实现该层与编码器输出的注意力矩阵之间的信息交互;
20.所述对称型注意力算法指的是,分别提取两个平行的对称子空间中的相关性信息,对两个相关性信息分别进行线性变换得到两个特征矩阵;使用点积乘法计算每个特征矩阵的对称型注意力;通过求和函数,融合两个对称型注意力,将两支对称型注意力的和进行层归一化操作,输出对称型注意力矩阵;
21.步骤2.3,将输入层、第一嵌入式表达层、第一编码器、第二编码器、第三编码器、第四编码器、第五编码器、第六编码器依次串联组成编码器组;
22.所述第一嵌入式表达层由嵌入算法实现;
23.所述第一至第六编码器的结构和参数均相同;
24.步骤2.4,构建一个解码器组,其中,第二嵌入式表达层、第一解码器、第二解码器、第三解码器、第四解码器、第五解码器、第六解码器、激活层依次串联,激活层还与第二嵌入式表达层相连,第一至第六解码器还分别与编码器组中的第六编码器相连;
25.所述第二嵌入式表达层的结构和参数均与第一嵌入式表达层相同;
26.所述第一至第六解码器的结构和参数均相同;
27.所述激活层由softmax激活函数实现其功能;
28.步骤2.5,将编码器组与解码器组串连构成基于对称型注意力的机器翻译模型;
29.步骤3,训练机器翻译模型:
30.将训练集分批次依次输入到机器翻译模型中,利用损失函数计算翻译文本与对应的中文文本的损失值,使用梯度下降算法迭代更新机器翻译模型中的可学习参数,使用adam优化器优化训练过程,直至机器翻译模型的损失值收敛为止,得到训练好的基于对称型注意力的机器翻译模型;
31.步骤4,使用训练好的机器翻译模型进行翻译:
32.步骤4.1,去除待翻译英文语句中重复的英文语句,剔除待翻译英文语句中长度相对于所有待翻译英文语句平均长度过短或过长的英文语句;
33.步骤4.2,将处理后的待翻译语句输入到训练好的基于对称型注意力的机器翻译模型,输出对应的翻译文本。
34.本发明与现有技术相比,具有如下优点:
35.第一,本发明构建的解码器中的对称型注意力层通过计算两支对称型注意力并进行融合,对现有transformer模型进行优化,克服了现有技术中仅体现了单一维度下数据点间相关性,导致编码器生成预测词典时丢失源语言对应的目标语言选项的缺陷,使得本发明的解码器更加全面地利用了编码器获取到的注意力信息,在翻译计算时可参考更加准确的注意力信息,有利于提高解码器输出预测概率的准确性。
36.第二,本发明使用查询矩阵query(q)、键值矩阵key(k)和实值矩阵value(v)的不
同排列顺序进行了对称型注意力的计算,充分利用了三个矩阵在物理含义上对等的特点,使在不同对称子空间上体现元素间相关性信息的矩阵均参与对称型注意力计算,解决了现有技术中在计算交叉注意力时未能使用输入向量的全部相关性信息,导致解码计算中参考信息缺失的问题。使得本发明进一步加强了解码器提取到的全局相关性信息的表达能力,根据全局相关性建立了输入向量中所有元素间的连接,使本发明构建的基于对称型注意力的机器翻译模型的翻译结果涵盖更全面的情景,有利于提高该机器翻译模型在不同语义情景下进行翻译任务时的准确性。
附图说明
37.图1是实现本发明的流程图;
38.图2是本发明构建的基于对称型注意力的机器翻译模型的结构示意图;
39.图3是本发明构建的机器翻译模型中解码器的结构示意图;
40.图4是本发明中仿真实验的评价指标bleu变化对比图。
具体实施方式
41.下面结合附图和实施例,对本发明做进一步详细描述。
42.参照图1和实施例,对本发明的实现步骤做进一步详细描述。
43.步骤1,生成训练集和测试集。
44.步骤1.1,本发明的实施例从机器翻译公开数据集wmt2018 news中选取27万条英文语句和其对应的中文翻译语句构成样本集。
45.步骤1.2,将所有英文语句和对应的中文翻译语句按照9:1的比例分成训练集和测试集:训练集包括25万条英文语句及对应的中文翻译语句,测试集包括2万条英文语句和对应的中文翻译语句。
46.步骤2,构建基于对称型注意力的机器翻译模型。
47.参考图2,对构建的基于对称型注意力的机器翻译模型结构做进一步的描述。
48.步骤2.1,构建一个由多头自注意力层、残差层、前向反馈层串联组成的编码器。
49.所述多头自注意力层含有8个子空间,每个子空间对应一个自注意力机制。
50.所述残差层由层归一化函数实现。
51.所述前向反馈层的结构依次为:输入层、全连接层、输出层;将输入层、输出层的维度均设置为512;全连接层由最大值函数实现,其维度设置为2048。
52.本发明实施例在多头自注意力层中的每个子空间,计算当前处理英文语句特征矩阵的隐藏表示的自注意力,每个子空间得到一个自注意力结果,再按照公式multihead(q,k,v)=concat(head1,

,headh)wo,分别对8个自注意力结果拼接,其中,multihead(
·
)为多头自注意力,q、k、v为当前处理英文语句特征矩阵的隐藏表示,concat(
·
)为拼接函数,wo为可学习参数,下角标h为预设的多头自注意力头数8,headi由以下公式得到:
[0053][0054]
其中,headi为第i个子空间中的自注意力,i=1,

,8,为自注意力,其中,上角标
·
t
表示转置操作,dk表示词嵌入向量的维度,为第i
个子空间中自注意力对应的可学习参数。
[0055]
所述残差层由公式r(x1)=layernorm(add(x1,sublayer(x1)))实现,其中,x1为多头自注意层的输入,r(
·
)为残差层的输出,layernorm(
·
)为层归一化函数,add(
·
)为求和函数,sublayer(x)为多头自注意层的输出。
[0056]
所述前向反馈层中全连接层由公式ffn(x2)=max(0,x2w1+b1)w2+b2表示,其中,x2为该前向反馈层的输入,ffn(
·
)为该前向反馈层的输出,max(
·
)为取最大值操作,w1、w2、b1、b2为利用梯度下降算法进行迭代更新的可学习参数,其中,w1和b1的初始值设置为大小512
×
2048的零矩阵,w2和b2的初始值设置为大小2048
×
512的零矩阵。
[0057]
步骤2.2,构建一个由多头自注意力层、第一残差层、对称型注意力层、第二残差层、前向反馈层、第三残差层串联组成的解码器。
[0058]
参考图3,对构建的解码器的结构做进一步的描述。
[0059]
所述解码器中多头自注意力层、前向反馈层的结构和参数均与步骤2.1中编码器的多头自注意力层和前向反馈层相同。
[0060]
所述解码器中第一残差层、第二残差层、第三残差层均由通式ri(xi)=layernorm(add(xi,sublayer(xi)))实现,其中ri(xi)为第i残差层的输出,i=1,2,3,layernorm(
·
)为层归一化函数,add(
·
)为求和函数,xi为与第i残差层串联的前一层的输入,sublayer(xi)为与第i残差层串联的前一层的输出。
[0061]
所述对称型注意力层由两个平行的对称子空间组成,采用对称型注意力算法计算两支对称型注意力并进行融合,实现该层与编码器输出的注意力矩阵之间的信息交互,其中,对称型注意力算法的原理为:由于编码器主要负责提取语句中的注意力信息,而解码器是机器翻译模型完成翻译任务的重要部件,为了更好地完成翻译任务,解码器中的对称型注意力层要与编码器输出的注意力矩阵进行深层次的信息交互。为了从编码器获得更加丰富的注意力信息,更大程度地实现解码器中对称型注意力层和编码器输出的注意力矩阵之间的信息交互,解码器在其对称型注意力层使用对称型注意力算法实现上述目的。所述对称型注意力算法在对称型注意力层的两个对称子空间中提取注意力信息,使用查询矩阵query(q)、键值矩阵key(k)和实值矩阵value(v)的两种不同的排列顺序进行了对称型注意力的计算,充分利用了三个矩阵在物理含义上对等的特点,使在不同对称子空间上体现元素间相关性信息的矩阵均参与对称型注意力计算。该算法首先通过公式q

=wq′h′
和v

=wv′h′
对该层输入的h’进行线性变换,得到矩阵q’和矩阵v’,其中,h’为当前处理单词与其所属语句中前序单词之间的相关性信息,wq′
和wv′
为利用梯度下降算法进行迭代更新的可学习参数,其初始矩阵均设置为大小512
×
512的零矩阵,矩阵q’为当前处理单词与其所属语句中其他单词之间的相关性在第一对称子空间上的投影,矩阵v’为当前处理单词与其所属语句中其他单词之间的相关性在第二对称子空间上的投影。
[0062]
在矩阵q’所属的第一对称子空间中,通过公式计算对称型注意力层输出的第一支对称型注意力结果,其中,attention1为对称型注意力层输出的第一支对称型注意力结果,softmax(
·
)为激活函数,q1为矩阵q’在第一对称子空间内对应的全局向量,k1、v1均为当前迭代更新网络参数时处理英文语句的注意力在第一对称子空间中的投影矩阵,上角标
·
t为转置操作,dk为当前迭代更新网络参数时处理英文语句
中每个单词的词嵌入向量维度;在矩阵v’所属的第二对称子空间中,通过公式所属的第二对称子空间中,通过公式计算对称型注意力层输出的第二支对称型注意力结果,其中,attention2为对称型注意力层输出的第二支对称型注意力结果,q2为矩阵q2在第二对称子空间对应的全局向量,q2、k2均为当前迭代更新网络参数时处理英文语句的注意力在第二对称子空间中的投影矩阵,v’为当前迭代更新网络参数时处理单词与其所属语句中其他单词之间的相关性在第二对称子空间上的投影矩阵;通过公式attention=layernorm(attention1+attention2)融合两支对称型注意力,其中,attention为对称型注意力矩阵,矩阵大小为p
×
p,其中,p为当前迭代更新网络参数时处理英文语句的长度,矩阵中第i行第j列的元素a
ij
表示当前迭代更新网络参数时处理英文语句中的第i个单词与第j个单词之间的对称型注意力,layernorm(
·
)为层归一化操作,attention1和attention2为上述两支对称型注意力。
[0063]
步骤2.3,将输入层、第一嵌入式表达层、第一编码器、第二编码器、第三编码器、第四编码器、第五编码器、第六编码器依次串联组成编码器组。
[0064]
所述第一嵌入式表达层由嵌入算法实现,该算法用于生成维度为(h,p,d)的英文语句特征矩阵,其中,h为英文语句的数量;p为所选英文语句中长度最大的英文语句的长度;d为词嵌入向量的维度,该词嵌入向量根据bpe算法生成词汇表,再通过词嵌入操作得到词嵌入向量,词嵌入向量的维度为512。
[0065]
所述第一至第六编码器的结构和参数均相同。
[0066]
步骤2.4,构建一个解码器组,其中,第二嵌入式表达层、第一解码器、第二解码器、第三解码器、第四解码器、第五解码器、第六解码器、激活层依次串联,激活层还与第二嵌入式表达层相连,第一至第六解码器还分别与编码器组中的第六编码器相连。
[0067]
所述第二嵌入式表达层的结构和参数均与第一嵌入式表达层相同。
[0068]
所述第一至第六解码器的结构和参数均相同。
[0069]
所述激活层由softmax激活函数实现其功能。
[0070]
步骤2.5,将编码器组与解码器组串连构成基于对称型注意力的机器翻译模型。
[0071]
步骤3,训练机器翻译模型。
[0072]
将训练集分批次依次输入到机器翻译模型中,利用损失函数计算该翻译文本与对应的中文文本的损失值,使用梯度下降算法迭代更新机器翻译模型中的可学习参数,使用adam优化器优化训练过程,直至机器翻译模型的损失值收敛为止,得到训练好的基于对称型注意力的机器翻译模型。
[0073]
所述损失函数设置为交叉熵损失函数,通过公式实现,其中,l为依据中文词表生成的翻译文本特征矩阵与依据中文词表生成的中文文本特征矩阵之间的损失值,为依据中文词表生成的翻译文本特征矩阵,y为依据中文词表生成的中文文本特征矩阵,log为以10为底的对数操作。
[0074]
所述翻译文本由下述过程生成:将训练集分批次依次输入到机器翻译模型中,经编码器组的第一嵌入式表达层输出英文语句特征矩阵a;该英文语句特征矩阵a依次经过六个编码器进行编码,由第六编码器输出注意力矩阵m;该注意力矩阵m经解码器组中的第一至第六解码器依次进行解码,第六解码器输出相关性矩阵;该相关性矩阵经激活层输出当前英文单词与中文词表中所有候选中文词语之间的相关性概率,从中选取相关性概率最大
值作为该英文单词对应的中文翻译词语。由于同一条语句中相邻的两个词语在语义上存在很高的相似性,该相似性可作为解码器进行解码的重要依据,因此,将该英文单词对应的中文翻译词语输入到第二嵌入式表达层中,启动英文语句特征矩阵a中相邻的下一个英文单词的翻译,其翻译过程与上述过程相同,得到该英文单词对应的中文翻译词语;循环执行上述翻译过程,直至所选英文语句的最后一个单词翻译完成,得到所选英文语句中所有英文单词对应的中文翻译词语,由该所有英文单词对应的中文翻译词语按序构成翻译文本。
[0075]
所述adam优化器是由公式lrate=d-0.5
·
min(step-0.5
,step
·
warm_steps-0.5
)生成的。该adam优化器主要用于在训练机器翻译模型中对学习率进行动态调整。其中,lrate为梯度下降算法中的学习率参数,d为词嵌入向量的维度,min(
·
)为取最小值函数,step为当前迭代次数,warm_steps为终止迭代次数。
[0076]
步骤4,使用训练好的机器翻译模型对测试集进行翻译。
[0077]
将测试集中待翻译英文语句输入到训练好的基于对称型注意力的机器翻译模型,输出对应的翻译文本。
[0078]
下面结合仿真实验对本发明的效果做进一步的说明:
[0079]
1.仿真实验条件:
[0080]
本发明的仿真实验的硬件平台为:处理器为intel(r)core
tm i7-10700 cpu,主频为1.80ghz,内存为32gb,gpu使用nvidia geforce rtx 3090。
[0081]
本发明的仿真实验的软件平台为:ubuntu21.1操作系统和pytorch 1.10.0+cu111深度学习框架。
[0082]
本发明仿真实验所使用的输入语句为机器翻译公开数据集wmt2018 news中的部分语句,其中,训练集包括25万条英文语句和其对应的中文翻译文本,测试集包括2万条英文语句和其对应的中文翻译文本。
[0083]
2.仿真内容及其结果分析:
[0084]
本发明仿真实验是将训练集分别输入到本发明构建的机器翻译模型,以及现有技术的transformer模型进行训练,分别得到训练好的基于对称型注意力的机器翻译模型和训练好的transformer模型,训练过程中的每轮迭代均从训练集中随机抽取英文语句作为测试样本,分别对该轮迭代得到的机器翻译模型和transformer模型计算评价指标bleu值,经过50轮迭代训练后得到50个bleu值,绘制成如图4所示对比曲线,其中,bleu的惩罚因子设置为0.6。
[0085]
下面结合图4对本发明的效果做进一步的描述。
[0086]
图4中的横坐标表示迭代轮次,纵坐标表示评价指标bleu值。图4中以
“×”
符号标示的曲线代表采用基于对称型注意力的机器翻译模型在每轮迭代中的bleu值,以
“△”
符号标示的曲线代表现有技术transformer模型在每轮迭代中的bleu值。
[0087]
由图4可以看出,随着迭代轮数的增大,训练中的现有技术的transformer模型的bleu值逐渐增加并稳定至22.72,而训练中的基于对称型注意力的机器翻译模型的bleu值逐渐增加并稳定至24.87,显然本发明构建的机器翻译模型高于transformer模型2.15个单位。
[0088]
将测试集分别输入到训练好的基于对称型注意力的机器翻译模型和现有技术的transformer模型中,对测试结果进行比较,其结果如表1所示。
[0089]
表1本发明仿真实验两种模型进行测试的bleu得分对比表
[0090]
模型类型bleu值transformer模型22.65(

9.71%)本发明的机器翻译模型24.85
[0091]
由表1可见,相比现有技术的transformer模型,本发明中基于对称型注意力的机器翻译模型在测试集上的bleu值高出2.13个单位。
[0092]
通过图4和表1共同说明,在不同对称子空间中使用查询矩阵q、键值矩阵k和实值矩阵v计算得到的对称型注意力具有同等的特征表达能力,融合两支对称型注意力可明显加强对特征信息的表达能力,使基于对称型注意力的机器翻译模型在机器翻译任务中有更为突出的表现。
[0093]
表2为使用本发明的机器翻译模型对测试集进行翻译,从得到的翻译文本中随机抽取两组对照文本。
[0094]
表2.本发明仿真实验对测试集进行翻译的结果对照表
[0095]
[0096][0097]
对比两组对照文本的“中文翻译语句”和“模型翻译结果”可直观发现,“模型翻译结果”中的语义和数字是完全正确的,符号和近义词的表达存在细微差异。证明本发明基于对称型注意力的机器翻译模型在机器翻译工作中具有良好表现。
[0098]
综上,本发明基于对称型注意力的机器翻译模型在机器翻译工作中具有良好的效果,相比于现有技术的transformer模型,在准确度上有明显提升。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1