APP下载

结合生成式对抗网络的神经机器翻译研究∗

2020-07-13敏,

计算机与数字工程 2020年5期
关键词:向量卷积神经网络

陈 炜 汪 洋 钟 敏,

(1.武汉邮电科学研究院 武汉 430070)(2.南京烽火天地通信科技有限公司 南京 210019)

1 引言

随着互联网和人工智能技术的快速发展,利用单一神经网络将源句转换为目标句的神经机器翻译[1~2]模型在学术界和工业界引起了越来越多的关注[3],通常这种端对端的神经机器翻译模型由两个子神经网络组成。编码器网络读取源句子,并将其编码为上下文向量表示。解码器网络通过编码器生成的上下文向量,生成词语并形成目标句子。在编码器-解码器的网络框架下,Gehring等[4]提出了卷积神经网络(CNN)的机器翻译模型,Cho等[5]提出了循环神经网络(RNN)的神经机器翻译模型。最近,谷歌 Vaswani[6]提出了 Transformer,是第一个完全基于注意力机制的序列转换模型,该模型在英-德和英-法翻译任务上,取得了目前最好的翻译效果。尽管Transformer取得了成功,但是该模型仍然与传统的神经机器翻译模型类似,在每一个时间步内,最大化单词的似然估计。这样就会存在一定隐藏的风险,也就是说,模型可以为当前时间步骤生成最佳候选词语,但长远来看,该词可能不是整个句子中最好选择。最低风险训练被提出用来缓解这种现象,但是仍然不能保证翻译结果的自然性。自从Papineni等[7]提出通过计算n-gram精度的几何平均值作为BLEU分数后,几乎现在所有的神经机器翻译模型都以生成尽可能高的n-gram精度句子作为目标。虽然n-gram精度在很大程度上可以区分好坏句子,但是人们普遍认为更高的n-gram精度并不能保证更好的句子[8~9]。

近年来,随着深度学习和强化学习的兴起,深度学习和强化学习的方法逐渐成为自然语言处理领域的热门。2014年Goodfellow[10]提出生成式对抗网络(GAN),引起了重大反响。国内对GAN也进行了一定的研究[11]。生成式对抗网络主要有两部分组成:生成器和判别器。当生成器和判别器达到纳什均衡[12]时,这种对抗性训练实现双赢。生成式对抗网络开始是应用在计算机视觉中,如:人脸识别[13]等,取得了重大成果。人们逐渐开始将生成式对抗网络与自然语言处理联系起来。Jiwei LI等[14]将生成式对抗网络用语对话系统的生成,并取得了不错的效果。

综上所述,本文提出了将生成式对抗网络应用于神经机器翻译,建立一个条件序列生成对抗网,联合训练两个子对抗模型:生成器,根据输入的源语言句子生成目标语言句子;判别器,以源语言句子为条件,预测目标语言句子是人类生成的句子的概率。在训练的过程中,我们使用动态判别器和静态BLEU值来评估生成的句子,并将评估结果反馈给生成器,指导生成器的学习,来提升生成器的翻译效果。

2 结合生成式对抗网络的神经机器翻译模型

结合生成式对抗网络的神经机器翻译模型分成两部分,模型的总体架构如图1所示,左半部分是由生成器G和判别器D构成,其中,G是我们的神经机器翻译模型,生成目标句子,D对G生成的句子和人工翻译句子进行判别,产生反馈结果。右半部分是对G进行策略梯度训练,最终的反馈由D和Q提供,其中Q是BLEU值。

图1 总体网络结构图

2.1 生成器G

生成器G采用基于循环神经网络(RNN)的传统神经机器翻译模型RNNSearch。由编码器和解码器两部分组成。编码器采用双向循环门控制单元,对输入序列式x=(x1,…,xm)进行编码,并计算前向和后向传播的隐藏状态,如式(1)和式(2)所示:

其中,最终的注释向量hp由和共同计算得到。

编码器采用循环神经网络来预测目标序列y=(y1,…,yn),当前每个词语yi的预测是根据当前的隐藏状态si和上一时刻的预测yi-1,以及上下文向量ci共同计算而来。其中,ci是通过注释向量hp加权求和而来。

2.2 判别器D

判别器采用卷积神经网络结构,对生成器生成的结果进行判别。由于生成器生成的序列长度是可变的,因此会对序列进行填充处理,长度固定设置为T。对源序列和目标序列分别建立源矩阵X1:T和目标矩阵Y1:T,如式(3)和式(4)所示:

xt,yt∈Rk,均为k维词向量,卷积核W1∈Rl×k,卷积计算公式如式(5)所示:

其中,W1为卷积核的权值,Xi:i+l-1为从i到i+l-1窗口内词向量矩阵,b为偏置项,f为激活函数,本文采用ReLu函数。

我们使用不同的卷积核进行卷积运算之后,对每一个卷积核的特征向量cji进行最大池化(Max)操作,即提出每个特征向量的最大值,对池化结果进行拼接,得到源序列的特征向量,如式(6)所示:

同样地,从目标矩阵Y1:T中提取目标序列特征向量cy,通过cx和cy来计算目标序列是真实存在的概率,计算公式如式(7):

其中,V是参数矩阵,将cx和cy转换成2维向量,φ是softmax函数。

2.3 强化目标反馈

双语互译质量评估BLEU值Q作为强化目标,指导生成器能够生成更高的BLEU值。Q是静态函数,在训练期间不会更新。

我们将BLEU值应用为生成器的特定目标,给定生成器生成的句子yg和人工真实翻译的句子yd,通过计算yg的n-gram精度,来得到目标Q的反馈Q(yg,yd)。与判别器D的输出相同,Q(yg,yd)的范围也是从0到1,这样可以让Q和D能够更容易的融合。

2.4 策略梯度训练

Lantao Yu等[15]提出,生成器G的目标定义为从生成序列的开始状态起,最大化我们预期的反馈。在形式上,目标函数如式(8):

其中,θ为生成器G中的参数。

判别器为采样的N种句子提供N个反馈,最终形成的反馈为这些反馈的求和平均值。对于长度为T的目标句子,对yt的反馈计算如式(9):

目标函数J(θ)对生成器G的参数θ的梯度计算如式(10):

3 试验

3.1 数据集和试验环境

本文试验是在Ubuntu 16.04系统下进行的,CPU为Intel Core i7-7700K 4.20GHz×8,显卡为Ge⁃Force GTX 1080,内存大小为16G,试验使用的是GPU。使用Python3.5编程,开发工具为TensorFlow 1.4.0版本。本文试验采用的是斯坦福自然语言处理实验室公开的英-德双语翻译数据集,我们从WMT'14 En-De中随机选择100万条句子对作为训练集,该数据集经过字节对编码处理[16],并提供了37000个源语言和目标语言的词汇表。选取newst⁃est2014,newstest2015 分 别 作 为 测 试 集 ,newst⁃est2013作为验证集。

3.2 试验设置与方法

3.2.1 数据预处理

本文从WMT'14 En-De数据集中随机选取100万条句子对作为训练集,我们对训练集进行标记和字节对编码的预处理,并通过预处理后构建词汇表。其中,对于标记,我们使用相关脚本处理;字节对编码采用的是subword-toolkit。

3.2.2 试验方法

本来是在传统的神经机器翻译模型RNN⁃Search的基础上,引入生成式对抗网络GAN,为了考察生成式对抗网络引入对神经机器翻译的影响,将本文引入生成式对抗网络后的翻译模型和原始的RNNSearch模型的翻译结果通过双语互译质量评估辅助工具BLEU[17]进行评估。同时为了加快训练过程,根据别人处理效果[18],我们将长度超过50个单词的句子删掉。深度学习网络采用Adam[19]优化方法对网络进行优化,学习率设置为0.00005。

3.2.3 试验结果分析

表1所示的是传统的RNNSearch模型和加入生成式对抗网络模型的在不同测试集上得到的BLEU值。从表1中可以看出:引入生成式对抗网络后,翻译效果普遍要好于单一的RNNSearch模型,而对引入生成式对抗网络的模型,参数λ的不同取值,也会对翻译结果产生一定的影响,可以看到,本实验中,当λ=0.7时,翻译效果最好。

表1 不同翻译模型翻译结果的BLEU值

4 结语

本文提出了一种结合生成式对抗网络的神经机器翻译的方法。利用BLEU值来强化生成对抗网,通过判别器D的判别结果和我们构建的BLEU值,作为反馈,来提升生成器G的训练,使生成器G能够生成出更接近人工翻译的真实句子,从而提高翻译效果。在以后的工作中,我们可能会尝试将更多的神经机器翻译模型与生成式对抗网络结合,或尝试多对抗网络框架,采用不同的参数,构建不同的强化反馈,来进行试验,提升翻译效果。

猜你喜欢

向量卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
向量的分解
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
基于神经网络的中小学生情感分析