1.本技术涉及计算机技术领域,特别涉及一种机器翻译模型的训练方法、机器翻译方法、装置及设备。
背景技术:
2.随着计算机技术的不断发展,基于神经网络的机器翻译模型在翻译性能上表现优异,采用机器翻译模型进行机器翻译逐渐发展成为目前主流的翻译方法。然而,由于神经网络的脆弱性,当实际应用和真实环境中出现预期之外的输入偏移、扰动和人为攻击等噪音时,机器翻译模型的翻译性能会明显下降。因此,如何提高噪音环境下机器翻译模型的稳健鲁棒性,成为亟待解决的问题。
3.相关技术中,为了提高机器翻译模型的稳健鲁棒性,会在机器翻译模型的训练阶段,通过文本编辑操作(如插入、删除、替换、交换等方式)为训练样本生成对抗样本,然后,基于生成的对抗样本训练机器翻译模型。
4.但是,文本编辑操作可能导致句子的语义发生变化,或者导致句子的语法逻辑混乱,使得生成的对抗样本的攻击性较弱,进而使得机器翻译模型在特定噪音下的翻译性能不稳定,通过该机器翻译模型得到的翻译结果不够准确。
技术实现要素:
5.本技术提供了一种机器翻译模型的训练方法、机器翻译方法、装置及设备,能够解决相关技术中的问题。
6.第一方面,提供一种机器翻译模型的训练方法,所述方法包括:
7.获取训练样本集,所述训练样本集包括训练样本及所述训练样本对应的标准翻译文本;将所述训练样本及所述训练样本对应的标准翻译文本输入机器翻译模型中,获取所述机器翻译模型在反向传播过程中产生的梯度向量;基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本;基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型。
8.在一种可能的实施方式中,所述基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本,包括:对所述训练样本进行采样,根据采样结果得到目标词向量,所述目标词向量为需要被替换的词向量;从所述多个噪音词的向量空间中获取所述目标词向量对应的至少一个候选词向量;基于所述梯度向量,从所述至少一个候选词向量中选择所述目标词向量对应的目标候选词向量;将所述训练样本中的所述目标词向量替换为所述目标候选词向量,得到对抗样本。
9.在一种可能的实施方式中,所述基于所述梯度向量,从所述至少一个候选词向量中选择所述目标词向量对应的目标候选词向量,包括:基于所述梯度向量更新所述目标词向量,得到更新词向量;从所述至少一个候选词向量中,选择与所述更新词向量距离最大的候选词向量作为目标候选词向量。
10.在一种可能的实施方式中,所述基于所述梯度向量更新所述目标词向量,得到更新词向量,包括:从所述梯度向量中获取所述目标词向量对应的目标梯度向量;沿所述目标梯度向量的方向更新所述目标词向量,得到所述更新词向量。
11.在一种可能的实施方式中,所述基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型,包括:获取所述机器翻译模型根据所述训练样本输出的第一预测翻译文本,基于所述第一预测翻译文本与所述标准翻译文本获取第一损失函数值;获取所述机器翻译模型根据所述对抗样本输出的第二预测翻译文本,基于所述第二预测翻译文本与所述标准翻译文本获取第二损失函数值;基于所述第一损失函数值和所述第二损失函数值,获取目标损失函数值;根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型。
12.在一种可能的实施方式中,所述基于所述第一损失函数值和所述第二损失函数值,获取目标损失函数值,包括:获取所述第一损失函数值和所述第二损失函数值的加权和,根据所述加权和获取目标损失函数值。
13.在一种可能的实施方式中,所述根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型,包括:若所述目标损失函数值大于目标阈值,根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型;若所述目标损失函数值小于或等于所述目标阈值,满足收敛条件,则将当前模型参数下的机器翻译模型作为所述目标机器翻译模型。
14.第二方面,提供了一种机器翻译方法,该方法包括:
15.获取待翻译内容;通过机器翻译模型获取所述待翻译内容对应的翻译结果,所述机器翻译模型根据上述第一方面中任一的机器翻译模型的训练方法训练得到的。
16.第三方面,提供了一种机器翻译模型的训练装置,所述装置包括:
17.第一获取模块,用于获取训练样本集,所述训练样本集包括训练样本及所述训练样本对应的标准翻译文本;
18.第二获取模块,用于将所述训练样本及所述训练样本对应的标准翻译文本输入机器翻译模型中,获取所述机器翻译模型在反向传播过程中产生的梯度向量;
19.生成模块,用于基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本;
20.训练模块,用于基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型
21.在一种可能的实施方式中,生成模块,用于对所述训练样本进行采样,根据采样结果得到目标词向量,所述目标词向量为需要被替换的词向量;从所述多个噪音词的向量空间中获取所述目标词向量对应的至少一个候选词向量;基于所述梯度向量,从所述至少一个候选词向量中选择所述目标词向量对应的目标候选词向量;将所述训练样本中的所述目标词向量替换为所述目标候选词向量,得到对抗样本。
22.在一种可能的实施方式中,生成模块,用于基于所述梯度向量更新所述目标词向量,得到更新词向量;从所述至少一个候选词向量中,选择与所述更新词向量距离最大的候选词向量作为目标候选词向量。
23.在一种可能的实施方式中,生成模块,用于从所述梯度向量中获取所述目标词向量对应的目标梯度向量;沿所述目标梯度向量的方向更新所述目标词向量,得到所述更新词向量。
24.在一种可能的实施方式中,训练模块,用于获取所述机器翻译模型根据所述训练样本输出的第一预测翻译文本,基于所述第一预测翻译文本与所述标准翻译文本获取第一损失函数值;获取所述机器翻译模型根据所述对抗样本输出的第二预测翻译文本,基于所述第二预测翻译文本与所述标准翻译文本获取第二损失函数值;基于所述第一损失函数值和所述第二损失函数值,获取目标损失函数值;根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型。
25.在一种可能的实施方式中,训练模块,用于获取所述第一损失函数值和所述第二损失函数值的加权和,根据所述加权和获取目标损失函数值。
26.在一种可能的实施方式中,训练模块,用于若所述目标损失函数值大于目标阈值,根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型;若所述目标损失函数值小于或等于所述目标阈值,满足收敛条件,则将所述当前模型参数下的机器翻译模型作为所述目标机器翻译模型。
27.第四方面,提供了一种机器翻译装置,该装置包括:
28.获取模块,用于获取待翻译内容;
29.翻译模块,用于通过机器翻译模型获取所述待翻译内容对应的翻译结果,所述机器翻译模型根据上述第一方面中任一的机器翻译模型的训练方法训练得到的。
30.第五方面,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一项所述的机器翻译模型的训练方法,或者,上述任一项所述的机器翻译方法。
31.第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一项所述的机器翻译模型的训练方法,或者,上述任一项所述的机器翻译方法。
32.第七方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的机器翻译模型的训练方法,或者,上述任一项所述的机器翻译方法。
33.本技术提供的技术方案至少可以带来如下有益效果:
34.本技术提供的技术方案,通过机器翻译模型的训练过程中产生的梯度向量,生成对机器翻译模型攻击性较大的对抗样本,基于训练样本与对抗样本同时对模型进行对抗训练,增加了训练数据的多样性,提高了机器翻译模型的鲁棒性,进而提高了机器翻译模型的翻译性能,使得通过机器翻译模型得到的翻译结果更加准确。
附图说明
35.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本技术实施例提供的一种机器翻译模型的训练方法的实施环境的示意图;
37.图2是本技术实施例提供的一种机器翻译模型的训练方法的流程图;
38.图3是本技术实施例提供的一种机器翻译模型的示意图;
39.图4是本技术实施例提供的一种机器翻译方法的流程图;
40.图5是本技术实施例提供的一种机器翻译模型的训练装置的示意图;
41.图6是本技术实施例提供的一种机器翻译装置的示意图;
42.图7是本技术实施例提供的一种计算机设备的结构示意图;
43.图8是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
45.参见图1,图1为本技术实施例提供的一种机器翻译模型的训练方法的实施环境的示意图,该实施环境中包括终端设备101和用于训练机器翻译模型的服务器102,终端设备101和服务器102通过网络连接,该网络可以是有线网络或者无线网络。其中,终端设备101能够为服务器102提供训练样本以及训练样本对应的标准翻译文本。
46.服务器102通过网络从终端设备101获取到训练样本以及训练样本对应的标准翻译文本后,服务器102将所获取的所有训练样本以及该各个训练样本对应的标准翻译文本作为训练样本集;然后,将该训练样本集输入到机器翻译模型中,服务器102获取机器翻译模型在反向传播过程中产生的梯度向量,基于梯度向量和多个噪音词为训练样本生成对抗样本;进而,服务器102基于训练样本和对抗样本对机器翻译模型进行对抗训练,得到目标机器翻译模型。需要说明的是,在对抗训练的过程中,对抗样本随着每次迭代的梯度向量的更新而更新。
47.服务器102训练得到目标机器翻译模型后,可以进一步将该目标机器翻译模型发送至终端设备101,以在终端设备101上运行该目标机器翻译模型,利用这些目标机器翻译模型实现相应的功能。
48.需要说明的是,上述图1所示的实施环境仅为一种示例,在实际应用中,终端设备101和服务器102也可以单独训练机器翻译模型。
49.基于上述图1所示的实施环境,本技术实施例提供一种机器翻译模型的训练方法,为了便于描述,下述实施例以服务器102作为执行主体进行描述,应理解,该机器翻译模型的训练方法的执行主体并不仅限于服务器102,还可以应用于终端设备101等具备模型训练功能的设备。如图2所示,该机器翻译模型的训练方法包括但不限于如下步骤201-步骤204。
50.步骤201,获取训练样本集,训练样本集包括训练样本及训练样本对应的标准翻译文本。
51.在本技术实施例中,服务器获取训练样本集,以利用该训练样本集中的训练样本对机器翻译模型进行训练;该训练样本集中包括多个训练样本以及这些训练样本各自对应的标准翻译文本。
52.在一种可能的实施方式中,服务器可以从相关数据库中获取若干历史数据,若干历史数据中包括若干文本与文本对应的翻译文本,将所获取的若干历史数据作为训练样本集。应理解,当本技术实施例提供的神经网络模型的训练方法的执行主体为终端设备时,终端设备可以向服务器发起获取历史数据的请求,从服务器处获取若干历史数据作为训练样本集。
53.可选地,上述训练样本包括但不限于待翻译的文本、视频或者音频中的至少一种,该训练样本对应的标准标签为标准翻译文本。当训练样本为待翻译的文本时,该训练样本对应的标准标签即为该待翻译的文本对应的标准翻译文本;当训练样本为待翻译的视频时,其通常应用于在图像注释的应用场景,该训练样本对应的标准标签为标准翻译文本,该标准翻译文本是与待翻译的视频呈现的场景对应的文本信息;当训练样本为待翻译的音频时,该训练样本对应的标准标签仍为标准翻译文本,该标准翻译文本是用于与待翻译的音频对应的文本信息。
54.上述训练样本通常由一组有序排列的元素组成,即该训练样本可以表现为元素序列,以包括i(i为大于0的正整数)个元素的训练样本为例,训练样本可以表示为x={x1,x2,x3,
…
,xi},该训练样本的长度为i,xi表示训练样本中第i个词,或者还可称为第i个token(令牌);例如,若作为训练样本的待翻译的文本为“我爱家乡”,相应地,该训练样本可以表现为{我,爱,家,乡};又例如,若作为训练样本的待翻译的文本为“today is monday”,相应地,该训练样本可以表现为{today,is,monday}。
55.步骤202,将训练样本及训练样本对应的标准翻译文本输入机器翻译模型中,获取机器翻译模型在反向传播过程中产生的梯度向量。
56.在本技术实施例中,服务器获取到训练样本集后,将训练样本集中的训练样本及训练样本对应的标准翻译文本逐一输入机器翻译模型中,以利用训练样本集中的训练样本及训练样本对应的标准翻译文本对机器翻译模型进行训练,以获取训练阶段机器翻译模型在反向传播过程中产生的梯度向量。
57.可选地,机器翻译模型为预先构建好的网络模型,本技术实施例不对机器翻译模型的结构进行限定。例如,该机器翻译模型可以为循环神经网络模型(recurrent neural network,rnn)、神经网络机器翻译模型(neural machine translation,nmt)或编码器-解码器(encoder-decoder)等结构;本技术实施例不对构建机器翻译模型的框架进行限定,例如,基于fairseq(费尔塞克)框架使用transformer(变压器)模型来构建机器翻译模型。
58.在一种可能的实施方式中,在将训练样本及训练样本对应的标准翻译文本输入机器翻译模型之前,还包括:对训练样本集中的训练样本进行预处理,将预处理后的训练样本输入机器翻译模型中。可选地,预处理的方式可以为:对训练样本进行分词处理,例如,采用jieba(结巴)分词器;对训练样本中的标点符号进行正则化处理,例如,采用摩西解码器(moses decoder)脚本工具。
59.示例性地,参见图3,机器翻译模型包括编码器和解码器。其中,编码器和解码器的结构相似或相同,可选地,编码器可以包括多层注意力机制单元和前馈神经网络单元,如,
自注意力机制单元(self-attention)和多头注意力机制单元(muiti-head attention)等;解码器可以包括自注意力机制和交叉注意力机制(cross-attention)等。
60.在一种可能的实施方式中,以图3所示的机器翻译模型为例,将训练样本及训练样本对应的标准翻译文本输入机器翻译模型中,获取机器翻译模型在反向传播过程中产生的梯度向量,包括:将训练样本集中的训练样本及训练样本对应的标准翻译文本输入机器翻译模型的编码器和解码器中,经过前向传播获取机器翻译模型输出的预测翻译文本,根据训练样本对应的预测翻译文本与标准翻译文本的对比结果,得到训练样本对应的损失函数值;基于前向传播中得到的损失函数值进行反向传播,获取反向传播过程中产生的梯度向量。
61.步骤203,基于梯度向量和多个噪音词为训练样本生成对抗样本。
62.在一种可能的实施方式中,在基于梯度向量和多个噪音词为训练样本生成对抗样本之前,还包括:获取多个噪音词。本技术实施例不对获取多个噪音词的方式进行限定,只要获取的多个噪音词能够为训练样本生成对抗样本即可。
63.可选地,多个噪音词包括多对同音词或似音词,获取多个噪音词,包括:获取语句数据库;对语句数据库中包括的多个词进行同音词或似音词的数据统计,根据统计结果获取多个噪音词。示例性地,多个噪音词可以以噪音词表的形式体现,噪音词表中每一行记录的内容为:词、词对应的同音词或似音词,例如:“它、-》他”。
64.可选地,语句数据库可采用stc(speech translation corpus,语音翻译语料库)数据集,stc数据集是基于一组许可的演讲或讲座视频构建的,包括约68小时的普通话数据、人工记录和英语翻译,以及asr(automatic speech recognition,自动语音识别)模型的自动记录,共188317条数据。可选地,可以借助python开源工具包asr-evaluation(评估)来实现对stc数据集中的同音词或似音词的数据统计。
65.在中文语音识别中最常见的asr噪音为“同音不同字”,例如“我与他”和“我于它”。参见表1,表1示出了在asr噪音文本输入下的机器翻译模型的翻译结果与标准翻译结果的对比。由表1可以看出,面对asr噪音文本的输入,基准机器翻译模型的翻译结果与标准翻译文本的语义差异较大。
66.表1
[0067][0068]
因此,为了解决上述“同音不同字”的asr噪音导致的翻译性能不稳定,本技术实施例构建的多个噪音词包括多对同音词或似音词,多个噪音词用于为对抗样本的生成提供候选词,在生成对抗样本过程中,能够隐式的为词向量构建合适的声学特征,尽可能的保证对抗样本的语义不发生变化。
[0069]
在一种可能的实施方式中,基于梯度向量和多个噪音词为训练样本生成对抗样本,包括:对训练样本进行采样,根据采样结果得到目标词向量,目标词向量为需要被替换的词向量;从多个噪音词的向量空间中获取目标词向量对应的至少一个候选词向量;基于
梯度向量,从至少一个候选词向量中选择目标词向量对应的目标候选词向量,将训练样本中的目标词向量替换为目标候选词向量,得到对抗样本。其中,目标候选词向量为至少一个候选词向量中与目标词向量相似度最大且对机器翻译模型攻击性最强的候选词向量。
[0070]
在本技术实施例中,不对确定训练样本中的目标词向量的采样方法进行限定。可选地,采样方法可以为随机采样,即通过设置随机种子(seed)来对训练样本进行随机采样,例如,seed设置为20%,训练样本包括的10个词向量,则随机选取训练样本的2个词向量作为目标词向量。
[0071]
在一种可能的实施方式中,多个噪音词以噪音词表的形式体现,其中,噪音词表中还包括每对同音词或似音词在数据统计过程中出现的频率,即词频,示例性地,噪音词表中每一行记录的内容为:词、词对应的同音词或似音词、词频,例如:“它、-》他、9131”。
[0072]
可选地,采样方法也可以为词频采样,即根据训练样本中的每个词向量在多个噪音词中的词频来对训练样本进行采样,例如,获取训练样本中词频大于词频阈值的词向量作为目标词向量。其中,词频阈值可以根据经验设置,或者根据应用场景灵活调整。
[0073]
由于多个噪音词中包括词与同音词或似音词的对应关系,因此,在对训练样本进行采样,根据采样结果得到目标词向量之后,可以从多个噪音词的向量空间中找到该目标词向量对应的词向量,以及该词向量对应的至少一个同音词向量或似音词向量,进而能够得到该目标词向量对应的目标候选词向量。
[0074]
在一种可能的实施方式中,基于梯度向量,从至少一个候选词向量中选择目标词向量对应的目标候选词向量,包括:基于梯度向量更新目标词向量,得到更新词向量;从至少一个候选词向量中,选择与更新词向量距离最大的候选词向量作为目标候选词向量。
[0075]
在本技术实施例中,由于在目标词向量对应的目标候选词向量的获取过程中,借助了机器翻译模型反向传播过程中产生的梯度向量,由此,该目标候选词向量作为替换生成的对抗样本,不仅与目标词向量的相似度较高,还对机器翻译模型的攻击性较大。
[0076]
在一种可能的实施方式中,基于梯度向量更新目标词向量,得到更新词向量,包括:从梯度向量中获取目标词向量对应的目标梯度向量;沿目标梯度向量的方向更新目标词向量,得到更新词向量。
[0077]
示例性地,用x={x1,x2,x3,
…
,xi}表示训练样本,用x
′
={x
′1,x
′2,x
′3,
…
,x
′i}表示对抗样本,x
′i表示对抗样本中的第i个词,或者还可称为对抗样本中的第i个token,用g={g1,g2,g3,
…
,gi}表示机器翻译模型基于训练样本在传播过程中产生的梯度向量。可选地,可通过如下公式(1)从至少一个候选词向量中选择目标候选词向量。
[0078]
max[sim(e(x),e(xi)-λgi)]
ꢀꢀꢀ
公式(1)
[0079]
其中,xi为训练样本中的第i个token,e(xi)即该第i个token的向量表示,即训练样本中的第i个词向量;x为替换xi的候选词,e(x)为x的向量表示,即至少一个候选词向量中的任一候选词向量;gi是xi对应的梯度,即训练过程中反向传播产生的梯度向量中xi位置对应的梯度;e(xi)-λgi为训练过程中基于梯度向量得到的更新词向量;sim表示欧氏距离函数,sim(e(x),e(xi)-λgi)用于获取e(x)与e(xi)-λgi之间的距离,λ为超参数;max表示最大值函数,用于获取最大距离值,即最大距离值对应的x即为目标候选词x
′i。
[0080]
其中,超参数λ可以根据经验设置,或者根据应用场景灵活调整,例如,超参数λ=0.1。
[0081]
基于上述公式(1)生成对抗样本的选取准则是:从至少一个候选词向量的向量空间中,选择与更新词向量距离最大的候选词向量为目标候选词向量,将训练样本中的第i个token替换为目标候选词,替换后的训练样本就是对模型攻击性最大的对抗样本。
[0082]
为了更清楚的说明上述公式(1)在机器翻译模型的训练过程中的具体表现,令y=e(x),y
′
=e(xi),即用y来作为候选词的向量表示,y
′
作为训练样本中的第i个token的向量表示,则上述公式(1)可展开为如下公式(2)。
[0083]
max[sim(e(x),e(xi)-λgi)]=max[sim(y,y
′‑
λgi)]
ꢀꢀꢀ
公式(2)
[0084]
由于sim为欧氏距离,则sim(y,y
′‑
λgi)可转换为<y-(y
′‑
λgi),y-(y
′‑
λgi)>,也即[(y-y
′
)+λgi]
t
[(y-y
′
)+λgi];若令t=(y-y
′
),则上式还可转换为[t+λgi]
t
[t+λgi];进一步展开即为t
t
t+2λt
tgi
+λ2g
itgi
。由于λ2g
itgi
对于同一个待替换的token都是相同的,所以求解max时可不作考虑,则上述公式(2)又可写为如下公式(3)。
[0085]
max(t
t
t+2λt
tgi
)
ꢀꢀꢀ
公式(3)
[0086]
由公式(3)中可以看出,e(x)与e(xi)-λgi之间的距离表现为t
t
t和2λt
tgi
两部分。其中,t
t
t代表y与y’之间的欧氏距离,拉近了真实词和候选词之间的距离,相当于隐式的为单词构建了合适的声学特征;t
tgi
=(y-y
′
)
t
*gi=sim(y-y
′
,gi)代表梯度方向上的余弦相似度,使得选取出的目标候选词能够对机器翻译模型产生最大攻击。
[0087]
步骤204,基于训练样本和对抗样本对机器翻译模型进行对抗训练,得到目标机器翻译模型。
[0088]
在一种可能的实施方式中,基于训练样本和对抗样本对机器翻译模型进行对抗训练,得到目标机器翻译模型,包括:获取机器翻译模型根据训练样本输出的第一预测翻译文本,基于第一预测翻译文本与标准翻译文本获取第一损失函数值;获取机器翻译模型根据对抗样本输出的第二预测翻译文本,基于第二预测翻译文本与标准翻译文本获取第二损失函数值;基于第一损失函数值和第二损失函数值,获取目标损失函数值;根据目标损失函数值对机器翻译模型的模型参数和对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型。
[0089]
需要说明的是,机器翻译模型训练的迭代过程中,除了根据目标损失函数值对机器翻译模型的模型参数进行迭代调整之外,还根据机器翻译模型在反向传播过程中迭代产生的梯度向量,迭代更新对抗样本。也就是说,对抗样本生成和对抗训练是在同一个过程中进行的,即边生成对抗样本边基于对抗样本进行对抗训练,使得对抗样本在机器翻译模型迭代调整的过程中保持对机器翻译模型较强的攻击性。
[0090]
可选地,迭代更新对抗样本的方式与上述生成对抗样本的方式相同,即对训练样本进行采样,根据采样结果得到目标词向量,目标词向量为需要被替换的词向量;从多个噪音词的向量空间中获取目标词向量对应的至少一个候选词向量;基于迭代产生的梯度向量更新目标词向量,得到更新词向量;从至少一个候选词向量中,选择与更新词向量距离最大的候选词向量作为目标候选词向量;将训练样本中的目标词向量替换为目标候选词向量,得到更新的对抗样本。
[0091]
在本技术实施例中,将生成的对抗样本输入到机器翻译模型中继续训练,一方面增加了训练数据的多样性,另一方面由于对抗样本加入了噪音扰动,能够对机器翻译模型产生攻击,使机器翻译模型能够更好的学习噪音特征,增强机器翻译模型的鲁棒性。
[0092]
在一种可能的实施方式中,基于第一损失函数值和第二损失函数值,获取目标损失函数值,包括:获取第一损失函数值和第二损失函数值的加权和,根据加权和获取目标损失函数值。基于机器翻译模型根据训练样本输出的第一损失函数值和根据对抗样本输出的第二损失函数值,获取目标损失函数值,基于目标损失函数值对机器翻译模型进行训练,实现了训练样本与对抗样本之间的对抗。
[0093]
可选地,对机器翻译模型进行训练即优化目标的过程,可选地,目标即为训练样本对应的标准翻译文本。优化目标是指在机器翻译过程中,基于机器翻译模型所输出的预测结果计算损失函数,根据该损失函数的计算结果来对机器翻译模型中的参数进行调整,以使得参数调整后的机器翻译模型输出的预测结果尽可能的接近于优化目标,也就是损失函数的计算结果最小。其中,损失函数用于描述模型预测值与优化目标的差距大小,损失函数的值越小,表明模型的预测结果越准确。
[0094]
在一种可能的实施方式中,根据目标损失函数值对机器翻译模型的模型参数和对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型,包括:若目标损失函数值大于目标阈值,根据目标损失函数值对机器翻译模型的模型参数和对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型;若目标损失函数值小于或等于目标阈值,满足收敛条件,则将当前模型参数下的机器翻译模型作为目标机器翻译模型。
[0095]
可选地,目标阈值可以根据经验设置,或者根据经验灵活调整,例如,该目标阈值为任一大于或等于0且小于或等于1的数值。
[0096]
对于训练后的机器翻译模型,其可以实现成为应用程序的一部分,并被安装在终端中,使终端在接收到待翻译的内容时,输出翻译结果;或者,该训练后的机器翻译模型设置在应用程序的后台服务器中,以便安装有应用程序的终端借助后台服务器实现翻译功能。
[0097]
参见图3,图3为本技术实施例提供的一种机器翻译模型的示意图。以图3所示的机器翻译模型为例,对本技术实施例提供的机器翻译模型的训练方法进行说明。
[0098]
首先,训练样本x={x1,x2,x3,
…
,xi}输入到机器翻译模型的编码器和解码器中,经过隐藏层(hidden)的前向传播,得到对应的干净输入的翻译损失用loss_ref表示,干净输入指的是直接输入的训练样本,即为没有添加噪声的训练样本。
[0099]
然后,在反向传播过程中产生梯度向量(gradient)g={g1,g2,g3,
…
,gi},根据梯度值gi,按照如上公式(1)的目标候选词的选取准则,从噪音词表(confusion set)中选择出与xi相似度最大,同时对该模型攻击性最高的目标候选词,来替换当前xi,从而得到对抗样本x
′
={x
′1,x
′2,x
′3,
…
,x
′i}。
[0100]
将生成的对抗样本x
′
={x
′1,x
′2,x
′3,
…
,x
′i}输入到机器翻译模型的编码器和解码器中进行对抗训练,经过hidden的前向传播,得到对应的噪音输入的翻译损失用loss_adv表示。
[0101]
最终,机器翻译模型输出的损失值(loss)为干净输入的翻译损失loss_ref和噪音输入的翻译损失loss_adv的加权和,可选地,用如下公式(4)来表示损失值。
[0102]
loss=α*loss_ref+β*loss_adv
ꢀꢀꢀ
公式(4)
[0103]
其中,α和β为权重系数,α和β可以相同也可以不同,可选地,α和β均可以根据经验设置,也可以根据应用场景灵活调整,例如,α=0.2,β=0.3。
[0104]
本技术实施例提供的机器翻译模型的训练方法,利用神经网络反向传播过程中产生的梯度值进行有针对性的选取噪音候选词,构造对机器翻译模型攻击性较大的对抗样本,并基于训练样本与对抗样本同时对模型进行对抗训练,增加了训练数据的多样性,由此提高了机器翻译模型的鲁棒性,进而提高了机器翻译模型的翻译性能。
[0105]
由于在对抗样本生成时能够看到模型的梯度向量等内部参数信息,因此,本技术实施例提供的机器翻译模型的训练方法可简称为白盒方法。
[0106]
下面,为了验证本技术实施例提供的机器翻译模型的训练方法的有效性,利用如下两个测试实验进行说明,在如下两个测试实验中,用白盒方法代表本技术实施例提供的机器翻译模型的训练方法。
[0107]
实验一
[0108]
使用wmt(workshop on machine translation,机器翻译研讨会)测试集数据,采用双语质量互译评估辅助工具(bilingual evaluation understudy,bleu)对该机器翻译模型进行测试。如表2所示,表2为该机器翻译模型对应的性能测试结果,性能测试结果即为得到的bleu值。
[0109]
表2
[0110][0111]
如表2所示,在实验一中测试了三种模型,第一种是transformer模型;第二种是黑盒方法,基于黑盒对抗样本生成方法训练的模型;第三种是本技术实施例提供的白盒方法,即基于白盒对抗样本生成方法训练的模型,其中,λ=1.0。
[0112]
黑盒方法指的是在不知机器翻译模型的内部参数的情况下生成的对抗样本,示例性地,基于随机采样的黑盒方法:从多个噪音词的向量空间中进行随机采样,用随机采样选取的候选词替换训练数据中的词,从而构造对抗样本;基于词频采样的黑盒方法:从多个噪音词的向量空间中进行词频采样,可选地,用多个噪音词中词频最大的候选词替换训练数据中的词,从而构造对抗样本。
[0113]
其中,测试集包括三类,第一类是干净输入的测试样本,第二类是黑盒噪音,即对上述干净输入使用黑盒对抗样本生成的方法,生成的噪音样本;第三类是白盒噪音,即对上述干净输入使用本技术实施例提供的白盒方法,生成的噪音样本。
[0114]
需要说明的是,使用白盒方法和黑盒方法构造噪音测试样本时,固定随机种子seed,以保证替换噪音的位置是一致的。
[0115]
从表2中可以看出,本技术实施例提供的白盒方法不仅在干净输入的测试集上表
现比较好,在面对两种噪音输入时,白盒方法的bleu下降值都更小,说明使用本技术实施例提供的白盒方法训练的模型,在面对asr噪音输入时鲁棒性更高,翻译性能更好。其中,bleu下降值指的是基于加入噪音后的测试样本得到的bleu值与基于干净输入的测试样本得到的bleu值的差值。
[0116]
实验二
[0117]
使用stc语音翻译数据中提供的真实场景语音翻译数据集作为测试集数据,从中选取1000条人工记录的中文作为干净输入测试集,同时把这1000条人工记录对应的asr记录作为噪音输入测试集,并把它们对应的英语翻译作为参考译文。采用bleu对该机器翻译模型进行测试,如表3所示,为该机器翻译模型对应的性能测试结果。其中,如表3中的后两列所示,在该测试实验二中添加了对去除标点符号情况的测试。
[0118]
表3
[0119][0120]
从表3中可以看出,本技术实施例提供的白盒方法,无论是有标点符号还是去除标点符号的情况,在asr噪音输入时的bleu下降值基本均比其他方法的下降值更小。以去除标点为例,transformer模型的bleu下降值为5.05,两种黑盒方法的bleu下降值分别为3.76和3,而白盒方法模型的bleu下降值为3.45。因此,使用本技术实施例提供的白盒对抗样本生成方法训练的模型,在面对真实asr噪音场景输入时,能够表现出更高的鲁棒性,翻译性能更好,进一步验证了本技术实施例提供的白盒方法的有效性。
[0121]
针对上述图3所示的机器翻译模型,本技术实施例还提供了一种机器翻译方法,以使该机器翻译模型在实际中得以应用。参见图4,图4为本技术实施例提供的机器翻译方法的流程示意图,为了便于描述,下面以终端设备作为执行主体对该机器翻译方法进行介绍,应理解,该机器翻译方法在实际应用中,也可以应用于服务器。如图4所示,该机器翻译方法包括但不限于如下步骤401和步骤402。
[0122]
步骤401,获取待翻译内容。
[0123]
需要说明的是,上述待翻译内容可以为待翻译的文本、视频或者音频中的至少一种,类型不同的待翻译内容可以应用于不同的应用场景。例如,当待翻译内容为待翻译的文本时,可以将该待翻译的文本翻译为对应的语言;又例如,当待翻译内容为待翻译的视频时,可以将该待翻译的视频翻译为与该视频呈现的场景对应的文本;再例如,当待翻译内容为待翻译的音频时,可以将该待翻译的音频翻译为与该音频对应的文本,或者翻译为指定
语言对应的文本。
[0124]
针对待翻译的文本,终端设备可以为用户提供文本输入框,用户可以在该文本输入框中输入待翻译的文本,相应地,终端设备获取用户在文本输入框中输入的文本,作为待翻译内容。
[0125]
针对待翻译的视频和/或音频,终端设备可以为用户提供文件上传区,用户可以将待翻译的视频和/或音频拖拽至该待翻译文件上传区,相应地,终端设备检测到文件上传区内存在文件时,将该文件作为待翻译内容。或者,终端设备可以为用户提供文件上传键,用户通过点击该文件上传键触发上传文件的操作,从终端设备存储的文件中选择待翻译的视频和/或音频,将所选择的待翻译的视频和/或音频上传,终端设备由此获得待翻译内容。
[0126]
步骤402,通过机器翻译模型获取该待翻译内容对应的翻译结果。
[0127]
终端设备获取到待翻译内容后,将待翻译内容输入至机器翻译模型,该机器翻译模型是根据上述实施例提供的机器翻译模型的训练方法训练得到的,其具体结构可以参见图3。
[0128]
机器翻译模型中的编码器为循环神经网络模型,其能够将待翻译内容对应的源端向量序列读取为固定长度的编码,机器翻译模型中的解码器也是一个循环神经网络模型,其能够对编码器的输入序列进行解码,从而输出目标序列,即输出标签对应的向量序列,进而,机器翻译模型根据解码器输出的向量序列生成与待翻译内容对应的翻译结果。
[0129]
在一种可能的实施方式中,在通过机器翻译模型获取该待翻译内容对应的翻译结果后,还可直接向用户显示该翻译结果。
[0130]
本实施例提供的机器翻译方法应用了机器翻译模型对待翻译内容进行翻译,确定与待翻译内容对应的翻译结果,由于所应用的机器翻译模型是通过上述实施例提供的神经网络模型的训练方法训练得到的,该机器翻译模型针对asr噪音具有鲁棒性,因此,能够保证该机器翻译模型最终输出的翻译结果更加准确。
[0131]
参见图5,本技术实施例提供了一种机器翻译模型的训练装置,该装置包括:
[0132]
第一获取模块501,用于获取训练样本集,训练样本集包括训练样本及训练样本对应的标准翻译文本;
[0133]
第二获取模块502,用于将训练样本及训练样本对应的标准翻译文本输入机器翻译模型中,获取机器翻译模型在反向传播过程中产生的梯度向量;
[0134]
生成模块503,用于基于梯度向量和多个噪音词为训练样本生成对抗样本;
[0135]
训练模块504,用于基于训练样本和对抗样本对机器翻译模型进行对抗训练,得到目标机器翻译模型
[0136]
在一种可能的实施方式中,生成模块503,用于对训练样本进行采样,根据采样结果得到目标词向量,目标词向量为需要被替换的词向量;从多个噪音词的向量空间中获取目标词向量对应的至少一个候选词向量;基于梯度向量,从至少一个候选词向量中选择目标词向量对应的目标候选词向量;将训练样本中的目标词向量替换为目标候选词向量,得到对抗样本。
[0137]
在一种可能的实施方式中,生成模块503,用于基于梯度向量更新目标词向量,得到更新词向量;从至少一个候选词向量中,选择与更新词向量距离最大的候选词向量作为目标候选词向量。
unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0151]
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本技术中方法实施例提供的机器翻译模型的训练方法,或者,本技术中方法实施例提供的机器翻译方法。
[0152]
在一些实施例中,终端还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
[0153]
外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0154]
射频电路704用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wireless fidelity,wifi)网络。在一些实施例中,射频电路704还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0155]
显示屏705用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0156]
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0157]
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
[0158]
定位组件708用于定位终端的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件708可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0159]
电源709用于为终端中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0160]
在一些实施例中,终端还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
[0161]
加速度传感器711可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
[0162]
陀螺仪传感器712可以检测终端的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端的3d动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0163]
压力传感器713可以设置在终端的侧边框和/或显示屏705的下层。当压力传感器713设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0164]
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。
[0165]
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
[0166]
接近传感器716,也称距离传感器,通常设置在终端的前面板。接近传感器716用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
[0167]
本领域技术人员可以理解,图7中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0168]
请参考图8,图8是本技术实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序指令,该至少一条程序指令由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的机器翻译模型的训练方法,或者,上述各个方法实施例提供的机器翻译方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0169]
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以使计算机设备实现上述任一种机器翻译模型的训练方法,或者,上述任一种机器翻译方法。
[0170]
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以使计算机实现上述任一种机器翻译模型的训练方法,或者,上述任一种机器翻译方法。
[0171]
可选地,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0172]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得
该计算机设备执行上述任一种机器翻译模型的训练方法,或者,上述任一种机器翻译方法。
[0173]
本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0174]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种机器翻译模型的训练方法,其特征在于,所述方法包括:获取训练样本集,所述训练样本集包括训练样本及所述训练样本对应的标准翻译文本;将所述训练样本及所述训练样本对应的标准翻译文本输入机器翻译模型中,获取所述机器翻译模型在反向传播过程中产生的梯度向量;基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本;基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型。2.根据权利要求1所述的方法,其特征在于,所述基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本,包括:对所述训练样本进行采样,根据采样结果得到目标词向量,所述目标词向量为需要被替换的词向量;从所述多个噪音词的向量空间中获取所述目标词向量对应的至少一个候选词向量;基于所述梯度向量,从所述至少一个候选词向量中选择所述目标词向量对应的目标候选词向量;将所述训练样本中的所述目标词向量替换为所述目标候选词向量,得到对抗样本。3.根据权利要求2所述的方法,其特征在于,所述基于所述梯度向量,从所述至少一个候选词向量中选择所述目标词向量对应的目标候选词向量,包括:基于所述梯度向量更新所述目标词向量,得到更新词向量;从所述至少一个候选词向量中,选择与所述更新词向量距离最大的候选词向量作为目标候选词向量。4.根据权利要求3所述的方法,其特征在于,所述基于所述梯度向量更新所述目标词向量,得到更新词向量,包括:从所述梯度向量中获取所述目标词向量对应的目标梯度向量;沿所述目标梯度向量的方向更新所述目标词向量,得到所述更新词向量。5.根据权利要求1-4任一所述的方法,其特征在于,所述基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型,包括:获取所述机器翻译模型根据所述训练样本输出的第一预测翻译文本,基于所述第一预测翻译文本与所述标准翻译文本获取第一损失函数值;获取所述机器翻译模型根据所述对抗样本输出的第二预测翻译文本,基于所述第二预测翻译文本与所述标准翻译文本获取第二损失函数值;基于所述第一损失函数值和所述第二损失函数值,获取目标损失函数值;根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一损失函数值和所述第二损失函数值,获取目标损失函数值,包括:获取所述第一损失函数值和所述第二损失函数值的加权和,根据所述加权和获取目标损失函数值。7.根据权利要求5所述的方法,其特征在于,所述根据所述目标损失函数值对所述机器
翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型,包括:若所述目标损失函数值大于目标阈值,根据所述目标损失函数值对所述机器翻译模型的模型参数和所述对抗样本进行迭代调整,直到满足收敛条件,得到目标机器翻译模型;若所述目标损失函数值小于或等于所述目标阈值,满足收敛条件,则将当前模型参数下的机器翻译模型作为所述目标机器翻译模型。8.一种机器翻译方法,其特征在于,所述方法包括:获取待翻译内容;通过机器翻译模型获取所述待翻译内容对应的翻译结果,所述机器翻译模型根据权利要求1至7任一项所述的机器翻译模型的训练方法训练得到。9.一种机器翻译模型的训练装置,其特征在于,所述装置包括:第一获取模块,用于获取训练样本集,所述训练样本集包括训练样本及所述训练样本对应的标准翻译文本;第二获取模块,用于将所述训练样本及所述训练样本对应的标准翻译文本输入机器翻译模型中,获取所述机器翻译模型在反向传播过程中产生的梯度向量;生成模块,用于基于所述梯度向量和多个噪音词为所述训练样本生成对抗样本;训练模块,用于基于所述训练样本和所述对抗样本对所述机器翻译模型进行对抗训练,得到目标机器翻译模型。10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述计算机设备实现如权利要求1至7任一所述的机器翻译模型的训练方法,或者如权利要求8所述的机器翻译方法。
技术总结
本申请公开了一种机器翻译模型的训练方法、机器翻译方法、装置及设备,属于计算机技术领域,该方法包括:获取训练样本集,训练样本集包括训练样本及该训练样本对应的标准翻译文本;将训练样本及训练样本对应的标准翻译文本输入机器翻译模型中,获取机器翻译模型在反向传播过程中产生的梯度向量;基于梯度向量和多个噪音词为训练样本生成对抗样本;基于训练样本和对抗样本对机器翻译模型进行对抗训练,得到目标机器翻译模型。该训练方法生成的对抗样本对机器翻译模型攻击性较大,并且增加了训练数据的多样性,由此提高了机器翻译模型的鲁棒性,进而提高了机器翻译模型的翻译性能,使得通过机器翻译模型得到的翻译结果更加准确。通过机器翻译模型得到的翻译结果更加准确。通过机器翻译模型得到的翻译结果更加准确。
技术研发人员:陈钰枫 梁晓珂 王帅博 徐金安 李翔
受保护的技术使用者:北京交通大学
技术研发日:2021.11.22
技术公布日:2022/3/7