掌桥专利:专业的专利平台
掌桥专利
首页

一种机器翻译方法及机器翻译装置

文献发布时间:2023-06-19 10:43:23


一种机器翻译方法及机器翻译装置

技术领域

本申请涉及机器翻译技术领域,具体而言,涉及一种机器翻译方法及机器翻译装置。

背景技术

随着科技和经济的快速发展,全球各国的互联互通已经成为不可阻挡的发展趋势,为了实现不同国家之间低成本的有效交流,机器翻译应运而生。

现有的机器翻译常依赖于Transformer模型,Transformer模型基于多层深度网络和多头自注意力机制进行机器翻译,虽然翻译性能较高,但由于多层深度网络和多头自注意力需要加入更多的参数,使得得到的模型尺寸较大,容易导致模型在训练过程中的计算量较大;同时,由于机器翻译属于文本生成任务,每一句都是逐字翻译,且基于前面已经生成的序列,这样在解码翻译时,每次都会进行一次模型的运算,也会导致计算量较大。

发明内容

有鉴于此,本申请的目的在于提供一种机器翻译方法及机器翻译装置,利用包含卷积层的Transformer模型进行机器翻译,在一定程度上降低了模型参数量和计算量,从而保证实时机器翻译的性能,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升。

第一方面,本申请提供了一种机器翻译方法,所述机器翻译方法包括:

获取待翻译文本,以及目标索引词库;

将获取到的待翻译文本转换成输入向量矩阵;

将所述输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到所述待翻译文本中每个词翻译成所述目标索引词库中任意索引词的概率,其中,所述机器翻译模型为包含卷积层的Transformer模型;

针对所述待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到所述待翻译文本的目标翻译结果。

优选地,所述将获取到的待翻译文本转换成输入向量矩阵,包括:

确定所述待翻译文本中每个词的表示输入向量,所述表示输入向量根据词嵌入向量和位置嵌入向量获取得到的;

基于获取到的每个词的表示输入向量,确定所述待翻译文本的输入向量矩阵。

优选地,所述机器翻译模型包括输入编码模型和输出解码模型;通过以下步骤对所述机器翻译模型进行训练:

获取预设数目个待翻译文本样本对应的输入向量矩阵样本;

将每个所述输入向量矩阵样本输入至所述输入编码模型中进行特征提取,得到目标特征提取矩阵;

将得到的目标特征提取矩阵输入至所述输出解码模型中进行概率计算,得到所述待翻译文本样本中每个词翻译成所述目标索引词库中任意索引词的概率;

当预设数目个待翻译文本样本全部训练完时,确定所述机器翻译模型的训练完成。

优选地,所述输入编码模型包括第一多头注意力机制网络、第一网络强化层、第一卷积降维层和第二网络强化层;通过以下步骤对所述输入编码模型进行训练:

将所述输入向量矩阵样本输入至所述第一多头注意力机制网络进行计算,得到第一特征提取矩阵;

将所述第一特征提取矩阵输入至所述第一网络强化层进行残差连接和归一化计算,得到第二特征提取矩阵;

将所述第二特征提取矩阵输入至所述第一卷积降维层进行降维计算,得到与所述第一特征提取矩阵的维度相同的第三特征提取矩阵;

将所述第三特征提取矩阵输入至所述第二网络强化层进行残差连接和归一化计算,得到目标特征提取矩阵。

优选地,所述将所述第二特征提取矩阵输入至所述第一卷积降维层进行降维计算,得到与所述第一特征提取矩阵的维度相同的第三特征提取矩阵,包括:

对所述第二特征提取矩阵中的第h行向量进行卷积求和,得到所述第三特征提取矩阵第h位的对应值;其中,h为不大于p的正整数,p为所述第一特征提取矩阵的维度数。

优选地,所述第一多头注意力机制网络包括三个第一线性层、N个第一多头自注意力机制层、第一拼接层和第二卷积降维层;通过以下步骤训练所述第一多头注意力机制网络:

将所述输入向量矩阵样本经过线性变换得到N组编码输入矩阵,所述编码输入矩阵包括查询矩阵、键值矩阵和值矩阵,其中,每组编码输入矩阵中的查询矩阵、键值矩阵和值矩阵不同,N为大于或等于1的整数;

将每组编码输入矩阵经过所述第一线性层输入至第一多头自注意力机制层进行注意力计算,得到N组编码输出向量;

将N组编码输出向量输入至所述第一拼接层进行拼接,得到一个集成编码向量;

将所述集成编码向量输入至所述第二卷积降维层进行卷积降维计算,得到第一特征提取矩阵。

优选地,所述将所述集成编码向量输入至所述第二卷积降维层进行卷积降维计算,得到第一特征提取矩阵,包括:

对所述集成编码向量中每个编码输出向量的第M位数组进行卷积求和,得到所述第一特征提取矩阵第M位的对应值;其中,M为不大于N的正整数。

优选地,所述输出解码模型包括第二多头注意力机制网络、第三网络强化层、第三卷积降维层、第四网络强化层和概率输出层;通过以下步骤对所述输出解码模型进行训练:

将所述目标特征提取矩阵输入至所述第二多头注意力机制网络进行计算,得到第一特征转换矩阵;

将所述第一特征转换矩阵输入至所述第三网络强化层进行残差连接和归一化计算,得到第二特征转换矩阵;

将所述第二特征转换矩阵输入至所述第三卷积降维层进行降维计算,得到与所述第一特征转换矩阵的维度相同的第三特征转换矩阵;

将所述第三特征转换矩阵输入至所述第四网络强化层进行残差连接和归一化计算,得到目标特征转换矩阵;

将所述目标特征转换矩阵输入至所述概率输出层进行概率计算,得到表示待翻译文本样本中每个词翻译成目标索引词库中任意索引词的概率的概率输出矩阵。

优选地,所述第二多头注意力机制网络包括三个第二线性层、N个第二多头自注意力机制层、第二拼接层和第四卷积降维层;通过以下步骤训练所述第二多头注意力机制网络:

基于所述目标特征提取矩阵,确定N个键值矩阵和N个值矩阵,N为大于或等于1的整数;

将所述输入向量矩阵样本经过线性变换得到的N个查询矩阵,以及确定出的N个键值矩阵和N个值矩阵,组合得到N组解码输入矩阵,其中,每组解码输入矩阵中的查询矩阵、键值矩阵和值矩阵不同;

将每组解码输入矩阵经过所述第二线性层输入至第二多头自注意力机制层进行注意力计算,得到N组解码输出向量;

将N组解码输出向量输入至所述第二拼接层进行拼接,得到一个集成解码向量;

将所述集成解码向量输入至所述第四卷积降维层进行卷积降维计算,得到第一特征转换矩阵。

第二方面,本申请还提供了一种机器翻译装置,所述机器翻译装置包括:

获取模块,用于获取待翻译文本,以及目标索引词库;

转换模块,用于将获取到的待翻译文本转换成输入向量矩阵;

预测模块,用于将所述输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到所述待翻译文本中每个词翻译成所述目标索引词库中任意索引词的概率,其中,所述机器翻译模型为包含卷积层的Transformer模型;

翻译模块,用于针对所述待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到所述待翻译文本的目标翻译结果。

第三方面,本申请还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的机器翻译方法的步骤。

第四方面,本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的机器翻译方法的步骤。

本申请提供了一种机器翻译方法及装置,该方法包括:获取待翻译文本,以及目标索引词库,将获取到的待翻译文本转换成输入向量矩阵,将所述输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到所述待翻译文本中每个词翻译成所述目标索引词库中任意索引词的概率,其中,所述机器翻译模型为包含卷积层的Transformer模型,针对所述待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到所述待翻译文本的目标翻译结果。

与现有技术中的Transformer模型基于多层深度网络和多头自注意力机制进行机器翻译方法相比,本申请以点卷积代替传统的全连接层,基于Transformer模型的强特征提取能力,同时结合卷积神经网络的低参数量和高速计算能力,在实时机器翻译领域将其结合,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升,这样,在实现Transformer高性能的同时,保证较低运算成本,从而保证实时性。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例所提供的一种机器翻译方法的流程图;

图2为本申请实施例所提供的一种输入编码模型的结构示意图;

图3为本申请实施例所提供的一种第一多头注意力机制网络的结构示意图;

图4为本申请实施例所提供的一种点卷积降维操作的结构示意图;

图5为本申请实施例所提供的一种输出解码模型的结构示意图;

图6为本申请实施例所提供的一种第二多头注意力机制网络的结构示意图;

图7为本申请实施例所提供的一种机器翻译装置的结构示意图;

图8为本申请实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。

首先,对本申请可适用的应用场景进行介绍。本申请可应用于机器翻译技术领域。机器翻译相比于人工翻译,机器翻译的成本要低很多,同时机器翻译的流程简单便捷,运行速度快。近年来,加入了“深度学习技术”等人工智能的机器翻译,已经不再简单的将一个个单词翻译成另一种语言,而是结合上下文,不断的向前回顾以理解结构复杂的句子。

具体地,自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

目前NLP领域常用的基础模型,主要为全连接神经网络,卷积神经网络(Convolutional Neural Networks,CNN),长短期记忆网络(Long Short-Term Memory,LSTM)和Transformer模型四种,其中以LSTM和Transformer作为特征提取器的使用最为广泛,尤其在使用自注意力机制(Attention)的Transformer一经开源,被当做最好的基础特征提取模型,但是Transformer的优势也是基于其特有的网络结构和多头自注意力机制(Multi-head Attention)的使用,深层堆叠的网络和多头的加入也使得Transformer相较于LSTM在特征提取性能上有不小的提升,但同时也导致了参数量和计算量增加的问题。比如,在实时机器翻译任务中,需要模型在推理翻译时,既能保证翻译准确性,又能保证速度上的“实时性”,这一点上,标准Transformer的网络结构就会有所欠缺。

具体地,分别分析Transformer模型在实时机器翻译任务的优劣以及CNN模型在实时机器翻译任务的优劣。

首先,Transformer模型相较于LSTM模型,在纵向维度加深了网络,使得在特征提取的能力上有较强的提升,并且没有像LSTM一样每个时间步都依赖前一时间步的隐藏输出,使得在特征保留上有了较好的提高。同时,多头自注意力机制的加入使得模型能够同人一样,学习特征编码的侧重点,并且多头的应用让注意力机制学习能力更强,从不同的维度空间进行类型的特征学习,增加了模型泛化能力。Transformer模型相较于LSTM模型,又是纯基于全连接网络的堆叠实现,避免了LSTM长期依赖导致的无法并行训练的问题,提升了模型的训练性能。

与此同时,为了达到Transformer模型上述的性能提升,意味着多层深度网络和多头并行注意力需要更多的参数加入,这样使得模型在训练过程中需要更多的计算量,最终得到的模型页尺寸更大,这是全连接网络不可避免的问题。进而,当应用Transformer模型进行机器翻译时,虽然其翻译性能非常高,在标准模型结构中达到了业界最好平均水平,但是这无法掩盖其存在的缺点:训练过程中,标准的Transformer Block达到了12层,自注意力机制中的attention head也达到了12个,这就意味着,非常多的全连接网络的计算,如此多的参数也带来了问题,比如大参数量导致了模型的尺寸较大,模型计算量较大。同时,在实际的翻译推理过程中,由于机器翻译属于文本生成任务,每一句都是逐字翻译,且基于前面已经生成的序列,这意味着解码翻译时,每次都会进行一次模型的运算。

其次,CNN模型最大的优势在于参数共享和较快的训练、计算快,以及高并行性,应用NLP领域的基于CNN架构的模型已经验证,卷积神经网络只要涉及合理,也是可以在文本领域发出高效的作用。卷积神经网络在机器翻译时使用,也存在致命的问题,卷积的操作就是提取一片区域的特征,这意味着只有某个位置与周围位置的数据有一定关联性,其提取的特征才有价值。但是上述提到,机器翻译的句子一般前后都会有逻辑关系,因此卷积神经网络在提取特征时就会不全面,性能不如Transformer或者LSTM。

基于此,本申请实施例提供了一种机器翻译方法及机器翻译装置,基于Transformer模型的强特征提取能力,同时结合卷积神经网络的低参数量和高速计算能力,在实时机器翻译领域将其结合,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升。

请参阅图1,图1为本申请实施例所提供的一种机器翻译方法的流程图。如图1中所示,本申请实施例提供的机器翻译方法,包括:

S110、获取待翻译文本,以及目标索引词库。

这里,待翻译文本为一种待翻译语言的文本,该文本可以是一篇文章,或一篇文章中的一段话或一句话。该文章可以是各种领域的,如科技、体育、休闲娱乐、美食和文学等领域;该文章也可以是各种语言的,如汉语、英语、韩语和日语等。目标索引词库可以是目标用户所需要用到的语言词语,如待翻译语言为英语,则目标索引词库为包含一定数量个英文单词的英语词库。

进而,当需要将一段中文文本翻译成英文文本时,服务器先获取这段待翻译中文文本,然后根据目标用户的选择确定目标索引词库对应的英语索引词库,最后服务器基于待翻译中文文本和英语索引词库进行翻译。

S120、将获取到的待翻译文本转换成输入向量矩阵。

这里,将获取到的待翻译文本进行分词处理,得到多个词,确定每个词对应的表示输入向量,根据得到的每个词的表示输入向量,确定输入向量矩阵,其中,输入向量矩阵的每一行是一个词的表示输入向量。

具体地,对于待翻译文本为中文文本时,采用中文分词技术,对于待翻译文本为英文文本或是其他语种的文本时,采用分词技术即可。

例如,待翻译文本为“我很开心”,对该待翻译文本进行分词处理可以得到“我”、“很”和“开心”,分别将“我”、“很”和“开心”转换成对应的表示输入向量,得到“我很开心”对应的输入向量矩阵。

S130、将所述输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到所述待翻译文本中每个词翻译成所述目标索引词库中任意索引词的概率,其中,所述机器翻译模型为包含卷积层的Transformer模型。

这里,先对机器翻译模型进行训练,可以在训练过程中加入一些评价指标,然后定义训练次数,如100次,或是200次,在训练过程中,边训练边将训练结果反馈给模型,然后根据数值类的指标来评估这个机器翻译模型的训练程度,使得模型可以及时调整参数量,最终得到一个训练好的机器翻译模型。

机器翻译模型选用包含卷积层的Transformer模型,这里的卷积层为点卷积,点卷积为在标准卷积的基础上将卷积核的大小减少为1×1,点卷积常被用于对输入特征图的通道信息进行融合,来降低特征图的通道数。这里,使用点卷积代替传统的全连接层,一定程度上降低了模型参数量和计算量,从而保证实时机器翻译的性能保证。

该步骤中,将输入向量矩阵作为输入,预先训练好的机器翻译模型作为预测推理模型,待翻译文本中每个词翻译成目标索引词库中任意索引词的概率作为输出。

这里,机器翻译模型中的概率计算采用softmax计算,softmax的作用是计算一组数值中每个值的占比,公式一般性描述为:设一共有n个用数值表示的分类S

S140、针对所述待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到所述待翻译文本的目标翻译结果。

这里,将每个词的翻译结果整合在一起,得到待翻译文本的目标翻译结果,目标翻译结果为待翻译文本对应的翻译译文。

举例说明,输入待翻译文本“我很开心”,经过分词处理后形成“我”、“很”和“开心”,如果将其翻译成英文,英文目标索引词库的字典空间是5000,对于“我”来说,可以形成嵌入稠密向量表示,嵌入稠密向量维度变成1*5000,嵌入稠密向量上的每位数值表示“我”翻译成英文目标索引词库中的任意词的概率,进而可以得到5000个概率,同理,对于“很”和“开心”也是一样,可以分别得到5000个概率,然后从5000个概率中取取一个最大的概率,比如,翻译“我”时,第100个数字的概率最大,那就可以确定“我”翻译成英文时对应字典空间中第100位的词。

本申请实施例提供的机器翻译方法包括:获取待翻译文本,以及目标索引词库,将获取到的待翻译文本转换成输入向量矩阵,将输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到待翻译文本中每个词翻译成目标索引词库中任意索引词的概率,其中,机器翻译模型为包含卷积层的Transformer模型,针对待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到待翻译文本的目标翻译结果。这样一来,基于Transformer模型的强特征提取能力,同时结合卷积神经网络的低参数量和高速计算能力,在实时机器翻译领域将其结合,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升,这样,在实现Transformer高性能的同时,保证较低运算成本,从而保证实时性。

在本申请实施例中,作为一种优选的实施例,步骤S120包括:

确定所述待翻译文本中每个词的表示输入向量,所述表示输入向量根据词嵌入向量和位置嵌入向量获取得到的;基于获取到的每个词的表示输入向量,确定所述待翻译文本的输入向量矩阵。

这里,词嵌入向量为词Embedding,位置嵌入向量为位置Embedding,表示输入向量由词的词Embedding和位置Embedding相加得到,将得到的各个词的表示输入向量整合成待翻译文本的输入向量矩阵。

具体地,Transformer Block获取的输入向量矩阵为Xinput(B×S),B为Batchsize,表示每一次送入机器翻译模型训练的句子数量,S为sequence length,表示每个Batch中设定的句子长度,这个值是预先定义的。

当Xinput为“我很开心”的字典映射,字典即为一个key-value形式的数据结构,key为从0至length长度的数字,value为词,形如{0:你,1:我,2:他,3:开心…};这里以举例为准,假设“我很开心”的key分别为1、5、3;这里“我很开心”为一句话,则B为1;S表示每个batch中设定的句子长度,即假设的长度,不足的以0填充;E表示embedding词嵌入尺寸,表示每个词(比如举例中的词就有3个,所以会有3个表示输入向量,这些表示输入向量是embedding稠密向量表示。假设,S为1,则“我”对应的表示输入向量为[0 0 0 0 0 0 0 0 01],“很”对应的表示输入向量为[0 0 0 0 0 0 0 0 5 0],“开心”对应的表示输入向量为[00 0 0 0 0 0 3 0 0]。

在本申请实施例中,作为一种优选的实施例,所述机器翻译模型包括输入编码模型和输出解码模型;通过以下步骤对所述机器翻译模型进行训练:

获取预设数目个待翻译文本样本对应的输入向量矩阵样本;将每个所述输入向量矩阵样本输入至所述输入编码模型中进行特征提取,得到目标特征提取矩阵;将得到的目标特征提取矩阵输入至所述输出解码模型中进行概率计算,得到所述待翻译文本样本中每个词翻译成所述目标索引词库中任意索引词的概率;当预设数目个待翻译文本样本全部训练完时,确定所述机器翻译模型的训练完成。

这里,训练的结束条件由预设的训练次数决定,训练次数与待翻译文本样本的预设数目相同。

具体地,Transformer的输入编码模型为编码器(Encoder),输出解码模型为解码器(Decoder),在实际应用过程中,编码器(Encoder)和解码器(Decoder)都有多层,从Encoder的角度来看,每层encoder提取到的信息不一样,低层的Encoder提取到的是表层的词法信息,逐步向上进行抽象之后,在上层将表示抽象语义信息。Encoder部分还在最上层连了几条线到每个Decoder的部分,这是为了在Decoder中进行Attention操作,Decoder的网络中和Encoder也有信息传递和交互的,同时Encoder和Decoder的维度大小是一样的。

请参阅图2,图2为本申请实施例所提供的一种输入编码模型的结构示意图。如图2中所示,输入编码模型200包括第一多头注意力机制网络210、第一网络强化层220、第一卷积降维层230和第二网络强化层240;通过以下步骤对输入编码模型200进行训练:

将输入向量矩阵样本250输入至第一多头注意力机制网络210进行计算,得到第一特征提取矩阵;将第一特征提取矩阵输入至第一网络强化层220进行残差连接和归一化计算,得到第二特征提取矩阵;将第二特征提取矩阵输入至第一卷积降维层230进行降维计算,得到与第一特征提取矩阵的维度相同的第三特征提取矩阵;将第三特征提取矩阵输入至第二网络强化层240进行残差连接和归一化计算,得到目标特征提取矩阵。

其中,第一多头注意力机制网络210用CNN Multi-head Attention表示、第一网络强化层220用Add&Norm表示、第一卷积降维层230用PointCNN表示,以及第二网络强化层240也用Add&Norm表示。

这里,主要基于Transformer Block的结构,融合CNN,其中Transformer Block遵循原有结构,将全连接层(Feed Forward Network,FFN)替换为卷积层(Point CNN),将Multi-head Attention层替换为CNN Multi-head Attention,即在Multi-head Attention最后的全连接降维操作替换使用点卷积操作。

点卷积操作如下:对所述第二特征提取矩阵中的第h行向量进行卷积求和,得到所述第三特征提取矩阵第h位的对应值;其中,h为不大于p的正整数,p为所述第一特征提取矩阵的维度数。

这里,当h等于1时,对第二特征提取矩阵中的第1行向量进行卷积求和,得到第三特征提取矩阵第1位的对应值,依次类推,计算得到第三特征提取矩阵第2位,第3位的对应值等,直至h值达到第一特征提取矩阵的维度数,停止计算。

请参阅图3,图3为本申请实施例所提供的一种第一多头注意力机制网络的结构示意图。如图3中所示,第一多头注意力机制网络210包括三个第一线性层211、N个第一多头自注意力机制层212、第一拼接层213和第二卷积降维层214;通过以下步骤训练第一多头注意力机制网络210:

将所述输入向量矩阵样本经过线性变换得到N组编码输入矩阵,所述编码输入矩阵包括查询矩阵Q、键值矩阵K和值矩阵V,其中,每组编码输入矩阵中的查询矩阵Q、键值矩阵K和值矩阵V不同,N为大于或等于1的整数;将每组编码输入矩阵经过所述第一线性层211输入至第一多头自注意力机制层212进行注意力计算,得到N组编码输出向量;将N组编码输出向量输入至第一拼接层213进行拼接,得到一个集成编码向量;将集成编码向量输入至第二卷积降维层214进行卷积降维计算,得到第一特征提取矩阵。

这里,将输入向量矩阵代入第一多头注意力机制网络210(CNN Multi-headAttention)中进行多头自注意力的计算,这里将输入向量矩阵进行不同参数WQ、WK、WV初始化的线性映射,得到N组编码输入矩阵,编码输入矩阵包括查询矩阵Q、键值矩阵K和值矩阵V,每组Q、K、V相同,但是N组之间互不相同。

在计算的时候需要用到查询矩阵Q,键值矩阵K和值矩阵V;Q,K和V正是通过Self-Attention的输入进行线性变换得到的。

对每组编码输入矩阵(Q,K,V)进行第一多头自注意力机制层212(scaled dot-product attention)的注意力计算,具体公式如下:

其中,K

公式中计算矩阵Q和K每一行向量的内积,为了防止内积过大,因此除以d

根据设置的N不同,得到每组的Attention输出,设为head1,head2...headh,每组的输出尺寸为[B*S,headsize]。具体地,Multi-Head Attention包含多个Self-Attention层,首先将输入向量矩阵样本分别传递到N个不同的Self-Attention中,计算得到N个第一特征提取矩阵。即当h=8时,会得到8个第一特征提取矩阵。

此处的Attention表示的是一个稠密向量组成的矩阵,在训练完成后,表示的是输入句子内部的关联向量表示。

Self-Attention的输入用输入向量矩阵样本进行表示,则可以使用线性变阵矩阵WQ,WK,WV计算得到Q,K,V。注意输入向量矩阵样本,Q,K,V的每一行都表示一个单词。

将N个第一特征提取矩阵(attention输出)进行拼接,由于是拼接操作,输出尺寸是原来的N倍,即尺寸为[B*S,N*headsize],原有的多头注意力机制是利用全连接层进行降维计算,但是本申请实施例则是采用点卷积操作进行降维计算。

原有全连接具体计算公式如下:

MultiOut=FFN(Concat(head1,head2....headh))=Concat(head1...headh)W;

其中,W权重矩阵的尺寸为[N*headsize,headsize],因此W的参数量就是N*headsize*headsize。

具体地,点卷积操作如图4所示,假设Multiout为4个head的拼接,则通过一个1*1*1的点卷积核逐位进行卷积操作,即如图所示,第一次对每个head输出的第一位数组进行卷积求和得到输出S的第一位,第二次对每个head输出的第二位数组进行卷积求和得到输出S的第二位,同理,进行head3和head4的点卷积操作。最终的输出S即从图示中的长度16(4个head,每个head长度4),重新压缩为4(同原head输出尺寸一样)。同样的操作,如果使用全连接降维需要的参数量为16*4,而点卷积进需要1*1*1的参数(即卷积核的参数量),整体参数量和计算量都大幅降低,从而加速计算优化和降低参数量的优化。

进一步地,将第一特征提取矩阵输入至第一网络强化层220进行残差连接和归一化计算,得到第二特征提取矩阵。

具体地,通过以下公式进行残差连接和归一化计算,用来降低由于多层网络导致的特征丢失问题:

add&norm=LayerNorm(S+Xinput);

其中,add表示残差连接(Residual Connection)用于防止网络退化,norm表示Layer Normalization,用于对每一层的激活值进行归一化。

进一步地,将第二特征提取矩阵输入至第一卷积降维层进行降维计算,得到与第一特征提取矩阵的维度相同的第三特征提取矩阵。

这里需要再进行点卷积降维操作,将add&norm的值,通过点卷积代替全连接降维,使其尺寸从headsize降至hiddensize,从而使得Transformer Block进行堆叠时,输入输出的尺寸保持一致。

进一步地,将第三特征提取矩阵输入至第二网络强化层进行残差连接和归一化计算,得到目标特征提取矩阵。

这里,再进行一次残差连接和归一化,得到Transformer Block的输出Xoutput,即目标特征提取矩阵。

在训练过程中,获取到Transformer Block的最终输出(目标特征提取矩阵),即为一个稠密向量组成的矩阵表示,这里也是encoder(编码器)的输出。

在本申请实施例中,作为一种优选的实施例,所述将所述集成编码向量输入至所述第二卷积降维层进行卷积降维计算,得到第一特征提取矩阵,包括:

对所述集成编码向量中每个编码输出向量的第M位数组进行卷积求和,得到所述第一特征提取矩阵第M位的对应值;其中,M为不大于N的正整数。

这里,第二卷积降维层进行卷积降维计算过程与上述第一卷积降维层进行卷积降维计算过程相同,都可以参考图4的处理流程。

请参阅图5,图5为本申请实施例所提供的一种输出解码模型的结构示意图。如图5中所示,输出解码模型500包括第二多头注意力机制网络510、第三网络强化层520、第三卷积降维层530、第四网络强化层540和概率输出层550;通过以下步骤对所述输出解码模型500进行训练:

将目标特征提取矩阵560输入至第二多头注意力机制网络510进行计算,得到第一特征转换矩阵;将第一特征转换矩阵输入至第三网络强化层520进行残差连接和归一化计算,得到第二特征转换矩阵;将第二特征转换矩阵输入至第三卷积降维层530进行降维计算,得到与第一特征转换矩阵的维度相同的第三特征转换矩阵;将第三特征转换矩阵输入至第四网络强化层540进行残差连接和归一化计算,得到目标特征转换矩阵;将目标特征转换矩阵输入至概率输出层550进行概率计算,得到表示待翻译文本样本中每个词翻译成目标索引词库中任意索引词的概率的概率输出矩阵。

请参阅图6,图6为本申请实施例所提供的一种第二多头注意力机制网络的结构示意图。如图6中所示,第二多头注意力机制网络510包括三个第二线性层511、N个第二多头自注意力机制层512、第二拼接层513和第四卷积降维层514;通过以下步骤训练第二多头注意力机制网络510:

基于所述目标特征提取矩阵,确定N个键值矩阵和N个值矩阵,N为大于或等于1的整数;将所述输入向量矩阵样本经过线性变换得到的N个查询矩阵,以及确定出的N个键值矩阵和N个值矩阵,组合得到N组解码输入矩阵,其中,每组解码输入矩阵中的查询矩阵Q、键值矩阵K和值矩阵V不同,将每组解码输入矩阵经过第二线性层511输入至第二多头自注意力机制层512进行注意力计算,得到N组解码输出向量;将N组解码输出向量输入至第二拼接层513进行拼接,得到一个集成解码向量;将集成解码向量输入至第四卷积降维层514进行卷积降维计算,得到第一特征转换矩阵。

进一步地,所述将所述第二特征转换矩阵输入至所述第三卷积降维层进行降维计算,得到与所述第一特征转换矩阵的维度相同的第三特征转换矩阵,包括:

对所述第二特征转换矩阵中的第f行向量进行卷积求和,得到所述第三特征转换矩阵第f位的对应值;其中,f为不大于c的正整数,c为所述第一特征转换矩阵的维度数。

进一步地,所述将所述集成解码向量输入至所述第四卷积降维层进行卷积降维计算,得到第一特征转换矩阵,包括:

对所述集成解码向量中每个解码输出向量的第M位数组进行卷积求和,得到所述第一特征转换矩阵第M位的对应值;其中,M为不大于N的正整数。

需要说明的是,输入编码模型(编码器)和输出解码模型(解码器)的构造方法一致,对于输出解码模型(解码器)来说,对应的是“我很开心”的翻译文本“i am happy”的字典映射,具体流转流程请参照输入编码模型(编码器)的详细介绍。

本申请实施例提供的机器翻译方法,主要用于解决Transformer带来的参数量过大所导致的模型需求算力较大和模型尺寸过大的问题,本申请实施例基于Transformer模型的强特征提取能力,同时结合卷积神经网络的低参数量和高速计算能力,在实时机器翻译领域将其结合,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升,这样,在实现Transformer高性能的同时,保证较低运算成本,从而保证实时性。

基于同一发明构思,本申请实施例中还提供了与机器翻译方法对应的机器翻译装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述机器翻译方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

请参阅图7,图7为本申请实施例所提供的一种机器翻译装置的结构示意图。如图7中所示,所述机器翻译装置700包括:

获取模块710,用于获取待翻译文本,以及目标索引词库;

转换模块720,用于将获取到的待翻译文本转换成输入向量矩阵;

预测模块730,用于将所述输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到所述待翻译文本中每个词翻译成所述目标索引词库中任意索引词的概率,其中,所述机器翻译模型为包含卷积层的Transformer模型;

翻译模块740,用于针对所述待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到所述待翻译文本的目标翻译结果。

优选地,所述转换模块720在用于将获取到的待翻译文本转换成输入向量矩阵时,所述转换模块720用于:

确定所述待翻译文本中每个词的表示输入向量,所述表示输入向量根据词嵌入向量和位置嵌入向量获取得到的;

基于获取到的每个词的表示输入向量,确定所述待翻译文本的输入向量矩阵。

优选地,所述机器翻译装置700还包括训练模块750,所述机器翻译模型包括输入编码模型和输出解码模型,所述训练模块750用于通过以下步骤对所述机器翻译模型进行训练:

获取预设数目个待翻译文本样本对应的输入向量矩阵样本;

将每个所述输入向量矩阵样本输入至所述输入编码模型中进行特征提取,得到目标特征提取矩阵;

将得到的目标特征提取矩阵输入至所述输出解码模型中进行概率计算,得到所述待翻译文本样本中每个词翻译成所述目标索引词库中任意索引词的概率;

当预设数目个待翻译文本样本全部训练完时,确定所述机器翻译模型的训练完成。

优选地,所述输入编码模型包括第一多头注意力机制网络、第一网络强化层、第一卷积降维层和第二网络强化层;所述训练模块750用于通过以下步骤对所述输入编码模型进行训练:

将所述输入向量矩阵样本输入至所述第一多头注意力机制网络进行计算,得到第一特征提取矩阵;

将所述第一特征提取矩阵输入至所述第一网络强化层进行残差连接和归一化计算,得到第二特征提取矩阵;

将所述第二特征提取矩阵输入至所述第一卷积降维层进行降维计算,得到与所述第一特征提取矩阵的维度相同的第三特征提取矩阵;

将所述第三特征提取矩阵输入至所述第二网络强化层进行残差连接和归一化计算,得到目标特征提取矩阵。

优选地,所述训练模块750在用于将所述第二特征提取矩阵输入至所述第一卷积降维层进行降维计算,得到与所述第一特征提取矩阵的维度相同的第三特征提取矩阵时,所述训练模块750具体用于:

对所述第二特征提取矩阵中的第h行向量进行卷积求和,得到所述第三特征提取矩阵第h位的对应值;其中,h为不大于p的正整数,p为所述第一特征提取矩阵的维度数。

优选地,所述第一多头注意力机制网络包括三个第一线性层、N个第一多头自注意力机制层、第一拼接层和第二卷积降维层;所述训练模块750用于通过以下步骤训练所述第一多头注意力机制网络:

将所述输入向量矩阵样本经过线性变换得到N组编码输入矩阵,所述编码输入矩阵包括查询矩阵、键值矩阵和值矩阵,其中,每组编码输入矩阵中的查询矩阵、键值矩阵和值矩阵不同,N为大于或等于1的整数;

将每组编码输入矩阵经过所述第一线性层输入至第一多头自注意力机制层进行注意力计算,得到N组编码输出向量;

将N组编码输出向量输入至所述第一拼接层进行拼接,得到一个集成编码向量;

将所述集成编码向量输入至所述第二卷积降维层进行卷积降维计算,得到第一特征提取矩阵。

优选地,所述训练模块750在用于将所述集成编码向量输入至所述第二卷积降维层进行卷积降维计算,得到第一特征提取矩阵时,所述训练模块750具体用于:

对所述集成编码向量中每个编码输出向量的第M位数组进行卷积求和,得到所述第一特征提取矩阵第M位的对应值;其中,M为不大于N的正整数。

优选地,所述输出解码模型包括第二多头注意力机制网络、第三网络强化层、第三卷积降维层、第四网络强化层和概率输出层;所述训练模块750用于通过以下步骤对所述输出解码模型进行训练:

将所述目标特征提取矩阵输入至所述第二多头注意力机制网络进行计算,得到第一特征转换矩阵;

将所述第一特征转换矩阵输入至所述第三网络强化层进行残差连接和归一化计算,得到第二特征转换矩阵;

将所述第二特征转换矩阵输入至所述第三卷积降维层进行降维计算,得到与所述第一特征转换矩阵的维度相同的第三特征转换矩阵;

将所述第三特征转换矩阵输入至所述第四网络强化层进行残差连接和归一化计算,得到目标特征转换矩阵;

将所述目标特征转换矩阵输入至所述概率输出层进行概率计算,得到表示待翻译文本样本中每个词翻译成目标索引词库中任意索引词的概率的概率输出矩阵。

优选地,所述第二多头注意力机制网络包括三个第二线性层、N个第二多头自注意力机制层、第二拼接层和第四卷积降维层;所述训练模块750用于通过以下步骤训练所述第二多头注意力机制网络:

基于所述目标特征提取矩阵,确定N个键值矩阵和N个值矩阵,N为大于或等于1的整数;

将所述输入向量矩阵样本经过线性变换得到的N个查询矩阵,以及确定出的N个键值矩阵和N个值矩阵,组合得到N组解码输入矩阵,其中,每组解码输入矩阵中的查询矩阵、键值矩阵和值矩阵不同;

将每组解码输入矩阵经过所述第二线性层输入至第二多头自注意力机制层进行注意力计算,得到N组解码输出向量;

将N组解码输出向量输入至所述第二拼接层进行拼接,得到一个集成解码向量;

将所述集成解码向量输入至所述第四卷积降维层进行卷积降维计算,得到第一特征转换矩阵。

本申请实施例提供的机器翻译装置,包括获取模块、转换模块、预测模块和翻译模块,其中,获取模块用于获取待翻译文本,以及目标索引词库;转换模块用于将获取到的待翻译文本转换成输入向量矩阵;预测模块用于将输入向量矩阵输入至预先训练好的机器翻译模型中,预测得到待翻译文本中每个词翻译成目标索引词库中任意索引词的概率,其中,机器翻译模型为包含卷积层的Transformer模型;翻译模块用于针对待翻译文本中的每个词,选取最大概率所对应的索引词为该词的翻译结果,得到待翻译文本的目标翻译结果。

与现有技术中的Transformer模型基于多层深度网络和多头自注意力机制进行机器翻译方法相比,本申请以点卷积代替传统的全连接层,基于Transformer模型的强特征提取能力,同时结合卷积神经网络的低参数量和高速计算能力,在实时机器翻译领域将其结合,使得通过本申请的模型进行实时机器翻译时,由于参数量变少,提取特征过程中训练更便捷,并且由于计算量变少,速度得到一定提升,这样,在实现Transformer高性能的同时,保证较低运算成本,从而保证实时性。

请参阅图8,图8为本申请实施例所提供的一种电子设备的结构示意图。如图8中所示,所述电子设备800包括处理器810、存储器820和总线830。

所述存储器820存储有所述处理器810可执行的机器可读指令,当电子设备800运行时,所述处理器810与所述存储器820之间通过总线830通信,所述机器可读指令被所述处理器810执行时,可以执行如上述图1所示方法实施例中的机器翻译方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的机器翻译方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 机器翻译系统、机器翻译方法以及机器翻译系统的控制装置
  • 一种机器翻译模型的生成方法、机器翻译方法和装置
技术分类

06120112656783