一种翻译模型的制作方法

文档序号:25281727发布日期:2021-06-01 17:28阅读:75来源:国知局
本申请涉及人工智能
技术领域
:,特别涉及一种翻译模型。
背景技术
::随着计算机运算能力的提升,神经网络的应用越来越广泛,例如构建翻译模型,以实现待翻译语句到目标语句的转换。翻译模型是一种端到端的网络结构,包括编码器和解码器,编码器包括l个编码层,解码器包括l个解码层,其中,编码器对接收的待翻译语句进行词编码处理获得编码结果,并将所述编码结果输入至解码器中,解码器同时接收解码器的输入和编码器的编码结果进行解码获得解码结果,在翻译模型进做前向(forward)时,模型的参数不参与更新,在模型计算损失值做后向运算(backpropagation)时,会对整个模型中每个解码层和编码层中的参数进行更新,在参数更新过程中,当更新第k层解码器或编码器的参数时,第k层参数只受到损失值和第k-l层参数的影响,不受第1-(k-1)层参数的影响,因此导致翻译模型的参数更新不充分,翻译模型的训练时间较长,翻译模型的bleu分数较低。因此,如何能使翻译模型的训练效果更好、时间更短,就成为技术人员亟待解决的问题。技术实现要素:有鉴于此,本申请实施例提供了一种翻译模型,以解决现有技术中存在的技术缺陷。根据本申请实施例的第一方面,提供了一种翻译模型,所述翻译模型包括解码器,所述解码器包括2n+1个顺次连接的解码层且前n个解码层与2n+1个解码层中的后n个解码层对应共享解码参数,其中,n为大于1的整数。可选的,所述解码器的前n个解码层与2n+1个解码层中的后n个解码层一一对应地共享解码参数。可选的,所述解码器还包括第二嵌入层。可选的,所述解码器包括11个顺次连接的解码层。可选的,所述解码器的前5个解码层与所述11个解码层中的后5个解码层一一对应共享解码参数。可选的,所述解码器的第1个解码层与第7个解码层共享解码参数,所述解码器的第2个解码层与第8个解码层共享解码参数,所述解码器的第3个解码层与第9个解码层共享解码参数,所述解码器的第4个解码层与第10个解码层共享解码参数,所述解码器的第5个解码层与第11个解码层共享解码参数。可选的,所述解码器的第1个解码层与第11个解码层共享解码参数,所述解码器的第2个解码层与第10个解码层共享解码参数,所述解码器的第3个解码层与第9个解码层共享解码参数,所述解码器的第4个解码层与第8个解码层共享解码参数,所述解码器的第5个解码层与第7个解码层共享解码参数。本申请实施例中,通过翻译模型的解码层中共享解码参数,在翻译模型根据损失值做反向运算更新模型参数时,每个解码层都会受到其他层的影响,在保证模型参数量不增加的情况下,实现了模型参数的充分更新,提高了训练效率,最终获得性能更好的翻译模型,有效提高翻译模型的bleu分数。附图说明图1是本申请实施例提供的翻译模型的结构示意图;图2是本申请实施例提供的计算设备的结构框图;图3是本申请实施例提供的翻译模型的训练方法的流程图;图4是本申请实施例提供的更新解码器中各解码层的解码参数的示意图;图5是本申请实施例提供的翻译方法的流程图;图6是本申请实施例提供的翻译模型的训练装置的结构示意图;图7是本申请实施例提供的翻译装置的结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。首先,对本发明一个或多个实施例涉及的名词术语进行解释。翻译模型:其主要思想是将待翻译语句经过多个编码层(encoder)编码成为一个编码向量,然后利用多个解码层(decoder)对编码向量进行解码,得到解码向量,然后将解码向量翻译成为对应的目标语句。编码(encoder):将待翻译语句由文字转化为编码向量。解码(decoder):将编码向量转化为翻译语句的语言文字。bleu分数:一种评价机器翻译结果的指标。训练语句:用于训练的待翻译语句。目标语句:待翻译语句经过翻译后的语句。在本申请中,提供了一种翻译模型的训练方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。本申请实施例提供的翻译模型包括一个解码器和一个编码器,在实际应用中,可以根据实际情况对编码器中的编码层和/或解码器中的解码层做共享参数的处理。如翻译模型可以仅在编码器的编码层中共享编码参数,以m=5为例,所述编码器中包括第一嵌入层和11个顺次连接的编码层,前5个编码层与后5个编码层对应共享编码参数,前5个编码层与后5个编码层一一对应地共享编码参数,具体的共享方式可以为第1个编码层与第7个编码层共享编码参数,第2个编码层与第8个编码层共享编码参数,依次类推,也可以为第1个编码层与第11个编码层共享编码参数,第2个编码层与第10个编码层共享编码参数,依次类推,在本申请中不对一一对应共享编码参数的形式做限制。此时翻译模型中的解码器包括第二嵌入层和n个顺次连接的解码层。翻译模型也可以仅在解码器的解码层中设置共享解码参数,以n=5为例,所述解码器中包括第二嵌入层和11个顺次连接的解码层,前5个解码层与后5个解码层对应共享解码参数,前5个解码层与后5个解码层一一对应地共享解码参数,具体的共享方式如上述编码器的共享方式,具体描述参见上述编码器中编码层的共享方式,在此就不再赘述,此时翻译模型中的编码器包括m个顺次连接的编码层。翻译模型还可以在编码器的编码层中共享编码参数,在解码器的解码层中共享解码参数,以m=5和n=5为例,所述编码器中包括第一嵌入层和11个顺次连接的编码层,前5个编码层与后5个编码层对应共享编码参数,所述解码器中包括第二嵌入层和11个顺次连接的解码层,前5个解码层与后5个解码层对应共享解码参数,共享解码参数和共享解码参数的具体共享方式参见上述在编码器中共享编码参数的描述,在此不再赘述。图1示出了本申请实施例提供的翻译模型的结构示意图,所述翻译模型包括编码器和解码器,以m=5和n=5为例,所述编码器中包括第一嵌入层和11个顺次连接的编码层,前5个编码层与后5个编码层对应共享编码参数,所述解码器中包括第二嵌入层和11个顺次连接的解码层,前5个解码层与后5个解码层对应共享解码参数。在本申请提供的实施例中,在编码器中,前5个编码层与后5个编码层对应共享编码参数具体为:第1编码层与第11编码层的共享编码参数为w11,第2编码层与第10编码层的共享编码参数为w12,第3编码层与第9编码层的共享编码参数为w13,第4编码层与第8编码层的共享编码参数为w14,第5编码层与第7编码层的共享编码参数为w15,第6编码层的编码参数为w16。在解码器中,前5个解码层与后5个解码层对应共享解码参数具体为:第1解码层与第11解码层的共享解码参数为w21,第2解码层与第10解码层的共享解码参数为w22,第3解码层与第9解码层的共享解码参数为w23,第4解码层与第8解码层的共享解码参数为w24,第5解码层与第7解码层的共享解码参数为w25,第6解码层的解码参数为w26。在本申请中不对编码器或解码器中的共享参数做限制。以实际应用为准。图2示出了根据本申请一实施例的计算设备200的结构框图。该计算设备200的部件包括但不限于存储器210和处理器220。处理器220与存储器210通过总线230相连接,数据库250用于保存数据。计算设备200还包括接入设备240,接入设备240使得计算设备200能够经由一个或多个网络260通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。在本申请的一个实施例中,计算设备200的上述部件以及图2中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图2所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备200还可以是移动式或静止式的服务器。其中,处理器220可以执行图3所示翻译模型的训练方法中的步骤。图3示出了根据本申请一实施例的翻译模型的训练方法的流程图,所述翻译模型如图1所示,包括步骤302至步骤310。步骤302:接收训练数据,其中,所述训练数据包括训练语句和训练语句对应的目标语句。训练数据为用于训练翻译模型的数据,每个训练数据包括一个训练语句和训练语句对应的目标语句,训练语句即为待翻译语句,目标语句为待翻译语句经过翻译后获得的语句。训练语句可以为中文、日语、英语、法语、德语中的任意一种,目标语句同样可以为中文、日语、英语、法语、德语中的任意一种,在本申请中,不对训练语句和目标语句的语种做限制。在本申请提供的实施例中,获取训练语句为“桌子上有只猫”,所述训练语句对应的目标语句为“thereisacatonthetable”。步骤304:获取所述训练语句对应的训练语句向量和所述目标语句对应的目标语句向量。在实际应用中,在所述编码器中包括第一嵌入层,在所述解码器中包括第二嵌入层。获取所述训练语句对应的训练语句向量和所述目标语句对应的目标语句向量,包括:将所述训练语句输入至所述第一嵌入层做嵌入化处理获得训练语句向量;将所述目标语句输入至所述第二嵌入层做嵌入化处理获得目标语句向量。嵌入化:用一个低维度的向量表示一个物体,如一个词,或一个商品等,嵌入化向量的性质是能使距离相近的向量对应的物体有相近的含义,嵌入化能用低维度向量对物体进行编码还能保留其含义的特点非常适合深度学习。第一嵌入层为编码器中的嵌入层,用于将输入至编码器中的信息进行嵌入化处理,将训练语句输入至第一嵌入层做嵌入化处理后,获得所述训练语句的训练语句向量。对训练语句进行嵌入化处理,可以提高对训练语句信息提取的深度和丰富度,增强分析准确性。第二嵌入层为解码器中的嵌入层,用于将输入至解码器中的所述目标语句进行嵌入化处理,获得目标语句的目标语句向量。在本申请提供的实施例中,将训练语句“桌子上有只猫”输入至编码器的第一嵌入层做嵌入化处理,获得训练语句向量a,将所述目标语句“thereisacatonthetable”输入至解码器的第二嵌入层做嵌入化处理,获得目标语句向量b。步骤306:将所述训练语句向量输入至所述编码器中进行编码处理获得编码向量。训练语句向量在编码器中,依次经过每个编码层的编码处理,获得对应的编码向量。可选的,将所述训练语句向量输入至所述编码器中进行编码处理获得编码向量,包括:将所述编码器中每个编码层输出的编码层向量根据预设的权重生成编码向量。在实际应用中,所述编码器输出的最终编码向量可以为最后一个编码层输出的编码向量,也可以为每个编码层输出的编码向量根据预设的权重生成的解码向量,本申请不对编码向量的最终确认方式做限定。在本申请提供的实施例中,如图1所示,编码器包括11个顺次连接的编码层,将所述训练语句向量a输入至第1编码层经过编码处理获得第1编码向量,将第1编码向量输入至第2编码层经过编码处理获得第2编码向量,依次类推,将第10编码向量输入至第11编码层经过编码处理获得第11编码向量,将第11编码向量作为所述编码器输出的编码向量。步骤308:将所述编码向量和所述目标语句向量输入至所述解码器中进行解码处理获得解码向量,并根据所述解码向量计算损失值。计算损失值的方法有很多,如交叉熵损失函数,最大损失函数,等等,在本申请中,不对计算损失值的具体方式做限定。在本申请提供的实施例中,将编码器输出的编码向量分别输入至解码器的每个解码层中,第1个解码层接收编码向量和目标语句向量,经过解码处理生成第1解码向量,并将第1解码向量输入至第2解码层中;第2解码层接收编码向量和第1解码向量,经过解码处理生成第2解码向量,并将第2解码向量输入至第3解码层中;依次类推,第11解码层接收编码向量和第10解码向量,经过解码处理生成第11解码向量,并将第11解码向量作为所述解码器输出的解码向量。可选的,根据所述解码向量计算损失值,包括:将所述解码向量与预设的向量验证集进行比对,得到所述解码向量的损失值。需要说明的是,在本实施例中,得到的解码向量并不直接与目标语句对应的目标语句向量进行对比计算损失值,而是引入了一个向量验证集。如果将解码向量直接与目标语句向量进行对比计算损失值,会导致过拟合,导致翻译模型在其他的语句翻译中的表现变差,翻译效果反而适得其反。步骤310:根据所述损失值调整所述翻译模型的参数,继续训练所述翻译模型,直至达到训练停止条件。在调整所述翻译模型的参数时,据所述损失值调整所述翻译模型的参数,包括:将所述损失值反向传播依次更新每个所述解码层的解码参数和每个所述编码层的编码参数。翻译模型的训练停止条件可以设置为损失值小于等于预设阈值,也可以设置为训练轮次为预设的训练轮次,如训练10轮,等等,在本申请中,对训练停止条件不做限定。在本申请提供的实施例中,参见图1,将所述损失值反向传播依次更新每个所述解码层的解码参数和每个所述编码层的编码参数,即按照第11解码层-第10解码层-第9解码层……第1解码层的顺序更新每个解码层的解码参数;按照第11编码层-第10编码层-第9编码层……第1编码层的顺序更新每个编码层的编码参数。参见图4,图4示出了本申请实施例中更新解码器中各解码层的解码参数的示意图,以更新解码器中第11个解码层的解码参数w21为例,当更新第11个解码层的解码参数w21时,将解码参数w21更新为w21’,因为第11解码层与第1解码层共享解码参数w21,因此此时第11解码层和第1解码层的解码参数为w21’,当更新至第1个解码层时,将第1解码层的解码参数w21’更新为w21”,此时第11解码层和第1解码层的解码参数均为w21”。具体的,更新参数的计算公式如下式(1)所示。其中,w为当前编码层或解码层的参数权重,α为学习率,为梯度。本申请实施例提供的翻译模型的训练方法,翻译模型的解码层共享解码参数,编码层共享编码参数,在翻译模型的做反向运算更新模型参数时,每个解码层或编码层都会受到其他层的影响,在保证模型参数量不增加的情况下,实现了模型参数的充分更新,提高了训练效率。图5示出了本申请一实施例的翻译方法的流程图,包括步骤502至步骤506。步骤502:获取待翻译语句。在本申请提供的实施例中,获取待翻译语句为“我喜欢踢足球”。步骤504:将所述待翻译语句输入至翻译模型的编码器中进行编码,获得所述待翻译语句对应的编码向量,其中,所述翻译模型是通过上述翻译模型的训练方法训练得到的。在本申请提供的实施例中,将所述待翻译语句“我喜欢踢足球”输入至翻译模型的编码器中进行编码,获得所述待翻译语句对应的编码向量e。步骤506:将所述编码向量输入至所述翻译模型的解码器中进行解码,获得所述待翻译语句对应的目标语句。在本申请提供的实施例中,将所述编码向量e输入至所述翻译模型的解码器中进行解码,获得所述待翻译语句“我喜欢踢足球”对应的目标语句“ilikeplayingfootball”。本申请实施例提供的翻译方法,将待翻译语句输入至预先训练好的翻译模型中,翻译模型经过对所述待翻译语句的编码-解码,获得对应的目标语句,使得语句翻译过程快捷,高效,准确。与上述翻译模型的训练方法实施例相对应,本申请还提供了翻译模型的训练装置实施例,图6示出了本申请一个实施例的翻译模型的训练装置的结构示意图,所述翻译模型包括编码器和解码器,所述编码器包括2m+1个顺次连接的编码层且前m个编码层与后m个编码层对应共享编码参数,和/或,所述解码器包括2n+1个顺次连接的解码层且前n个解码层与后n个解码层对应共享解码参数,m和n均为大于1的整数,如图6所示,该装置包括:所述翻译模型的训练装置包括:接收模块602,被配置为接收训练数据,其中,所述训练数据包括训练语句和训练语句对应的目标语句;获取模块604,被配置为获取所述训练语句对应的训练语句向量和所述目标语句对应的目标语句向量;编码模块606,被配置为将所述训练语句向量输入至所述编码器中进行编码处理获得编码向量;解码模块608,被配置为将所述编码向量和所述目标语句向量输入至所述解码器中进行解码处理获得解码向量,并根据所述解码向量计算损失值;训练模块610,被配置为根据所述损失值调整所述翻译模型的参数,继续训练所述翻译模型,直至达到训练停止条件。可选的,所述编码器还包括第一嵌入层,所述解码器还包括第二嵌入层;所述获取模块604,进一步被配置为将所述训练语句输入至所述第一嵌入层做嵌入化处理获得训练语句向量;将所述目标语句输入至所述第二嵌入层做嵌入化处理获得目标语句向量。可选的,所述解码模块608,进一步被配置为将所述解码向量与预设的向量验证集进行对比,得到所述解码向量的损失值。可选的,所述训练模块610,进一步被配置为将所述损失值反向传播依次更新每个所述解码层的解码参数和每个所述编码层的编码参数。可选的,在所述编码器包括2m+1个顺次连接的编码层且前m个编码层与后m个编码层对应共享编码参数,所述解码器包括2n+1个顺次连接的解码层且前n个解码层与后n个解码层对应共享解码参数的情况下,所述编码器的前m个编码层与后m个编码层一一对应地共享编码参数,所述解码器的前n个解码层与后n个解码层一一对应地共享解码参数。可选的,在所述编码器包括2m+1个顺次连接的编码层且前m个编码层与后m个编码层对应共享编码参数的情况下,所述编码器的前m个编码层与后m个编码层一一对应地共享编码参数。可选的,在所述解码器包括2n+1个顺次连接的解码层且前n个解码层与后n个解码层对应共享解码参数的情况下,所述解码器的前n个解码层与后n个解码层一一对应地共享解码参数。可选的,所述编码模块606,进一步被配置为将所述编码器中每个编码层输出的编码层向量根据预设的权重生成编码向量。本申请实施例提供的翻译模型的训练装置,翻译模型的解码层共享解码参数,编码层共享编码参数,在翻译模型的做反向运算更新模型参数时,每个解码层或编码层都会受到其他层的影响,在保证模型参数量不增加的情况下,实现了模型参数的充分更新,提高了训练效率。与上述翻译方法实施例相对应,本申请还提供了翻译装置实施例,图7示出了本申请一个实施例的翻译装置的结构示意图。如图7所示,该装置包括:获取模块702,被配置为获取待翻译语句。编码模块704,被配置为将所述待翻译语句输入至翻译模型的编码器中进行编码,获得所述待翻译语句对应的编码向量,其中,所述翻译模型是通过上述翻译模型的训练方法训练得到的。解码模块706,被配置为将所述编码向量输入至所述翻译模型的解码器中进行解码,获得所述待翻译语句对应的目标语句。本申请实施例提供的翻译装置,将待翻译语句输入至预先训练好的翻译模型中,翻译模型经过对所述待翻译语句的编码-解码,获得对应的目标语句,使得语句翻译过程快捷,高效,准确。需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述翻译模型的训练方法或所述翻译方法的步骤。本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述翻译模型的训练方法或所述翻译方法的步骤。上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的翻译模型的训练方法或翻译方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述翻译模型的训练方法或翻译方法的技术方案的描述。本申请实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执行时实现如前所述翻译模型的训练方法或所述翻译方法的步骤。上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属
技术领域
:技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1