基于对抗训练的端到端语音翻译研究基于对抗训练的端到端语音翻译研究--丽都翻译--15年好评专业翻译公司

——

打印本文             

1 引言

语音翻译(Speech Translation,ST)是一种将源语言语音翻译成目标语言文本的翻译方法,并在近年来受到了广泛关注。语音翻译系统早期的研究是通过级联方式[1,2]进行搭建的。该方法将语音特征送入语音识别(Automatic Speech Recognition, ASR)系统产生源转录再经过文本翻译(Machine Translation, MT)系统生成翻译文本。然而级联模型整体架构复杂,需要经过两个模型的顺序推理,因而导致了更高的延迟,整个翻译系统需要消耗更高的内存和计算资源。


为了降低语音翻译系统的延迟,减少计算资源和系统内存的消耗,Duong[3]和Bérard[4]提出了不产生任何中间源转录,直接利用端到端系统将语音直接翻译成目标语言的文本的方法。取得了与级联系统相当的性能。Weiss[5]进一步将带注意力机制的循环编码器-解码器的端到端深度神经网络结构用于语音翻译。尽管端到端语音翻译模型具有很大的优势,但是相对于语音识别任务和文本翻译任务,语音翻译要同时学习语音到文本的转录,语音语义理解和跨语言映射的问题,因此更加复杂。然而公开的语音翻译语料库相比语音识别和机器翻译所公开的数据集要小几个数量级,再加上端到端系统自身需要更多的数据去训练,如何在低资源的数据情况下,来捕获语音信号的相关特性,并且学习将这些音频特征语义特征映射到相应的跨语言目标文本输出,极大地增加了端到端语音翻译系统的难度和负担。


为缓解语音双语数据稀缺的压力,提高低资源语音翻译任务的性能,国内外相关研究大体分为三个方向。一方面相关研究通过预训练[6]语音识别编码器或文本翻译解码器初始化语音翻译模型相应模块的参数。Bérard[7]使用多任务学习联合训练语音识别、文本翻译、语音翻译模型来提升翻译质量。Indurthi[8]提出共享模型参数训练语音翻译、文本翻译任务再迁移到目标语音翻译任务的元学习训练方法。多语言训练的方法[9,10]对语音翻译任务的性能也有提升。以上方法或多或少丢弃了预训练好的模型的部分组件,不能继承这些组件捕获的有价值的语义信息或者音频信息。另外一方面的研究充分利用源文本的数据来辅助语音翻译任务的训练。Liu[11]提出了一种基于知识精馏的端到端语音翻译模型,通过从文本翻译模型中学习知识,将文本翻译模型作为教师模型指导学生模型以此改进语音翻译模型。Liu[12]使用了基于自注意力机制的Transformer[18]模型作为主框架。该方法中语音识别任务和语音翻译解码任务共享同一个编码器。通过在解码器中加入一个交互注意力机制层。实现两个任务知识的交互和传递。这类方法充分利用了源文本的信息,但是未侧重于文本翻译模型中源文本信息的重要性。此外,关于无监督学习,半监督学习的方法也是语音识别任务的一大研究热点。Nguyen[13]从无标记语音中预先训练对比预测编码模型wav2vec[14]作为语音翻译模型的特征提取器。Pino[15]提出一种伪标签数据增强方法,通过文本翻译系统、语音翻译系统产生伪标签以扩充训练数据集来提升翻译模型的性能。该类方法重点在扩充数据集,其翻译质量仍会受制于数据量而达到性能瓶颈。从语音直接训练端到端语音翻译模型难以比肩文本翻译的性能,想要达到文本翻译模型的性能,对语音翻译任务来说,更是一项巨大的挑战。


鉴于此,本文提出了一种基于生成对抗网络[16]的端到端编码器-解码器语音翻译训练算法。通过加入判别网络来判断语音特征序列和文本特征序列的真伪,从而引导生成模型学习文本真实序列的分布,以使语音序列特征分布更加逼近文本特征序列的分布。并且引入了Wasserstein GAN(WGAN)[21]通过计算语音特征序列和文本特征序列标量似然值的Earth-Mover(EM)距离,来解决语音特征序列和文本特征序列长度不一致的问题。我们提出的方法有以下优点:


(1)充分利用了文本翻译模型的编码器组件,确保了可以重新利用子网组件。


(2)语音翻译模型的解码器可以关注到来自于文本序列编码器的注意力信息。


(3)判别器网络对序列生成器的对抗训练,可以使语音特征分布更加逼近文本特征的分布。


我们所提出的方法遵从多任务学习和对抗训练的训练方式。在How2[17]数据集的实验证明了所提方法的有效性。翻译指标BLEU相对端到端基线系统提高2.24 BLEU,相对多任务学习系统提高1.11 BLEU。


2 翻译模型

2.1 语音翻译模型

在语音翻译模型中,我们将语音特征序列定义为X=(x1,…xTx),源文本序列定义为S=(s1,…sTs),定义翻译文本即目标文本序列定义为Y=(y1,…yTy)。对于端到端语音翻译任务的目标即就是给定语音序列X,不用生成中间的转录文本S,直接通过端到端模型得到目标文本序列Y。端到端语音翻译模型通过最小化声学概率和标注之间的交叉熵的来优化:


Lst(θst)=−∑(x,y∈D)logP(Y|X;θst)(1)


其中logP(Y|X;θst)=∑t=1Ty∑k=1|V|P(yt=k|y<t;θst),Ty为输出序列的长度,|V|为目标文本的词表大小,yt为第t个输出,θst为模型参数。


2.2 文本翻译模型

同样的我们定义文本翻译模型,输入序列S,输出序列Y。其交叉熵为:


Lmt(θmt)=−∑(s,y∈D)logP(Y|S;θmt)(2)


其中logP(Y|S;θmt)=∑t=1Ty∑k=1|V|P(yt=k|y<t;θmt)。


2.3 多任务学习语音翻译模型

针对语音翻译任务和文本翻译任务的相似性,我们采用多任务学习中的多对一设置,如图1所示,ST任务和MT任务有各自的编码器,但是共享解码器。对于语音翻译和文本翻译联合的多任务学习,多任务学习目标损失函数LossST表示为:



图1 基于多任务学习的端到端语音翻译模型   下载原图


Fig.1 End-to-end speech translation model based on multi-task learning


LossST=(1−λ)Lst(θst)+λLmt(θmt)(3)


其中,λ为插值系数,用于平衡语音翻译模型和文本翻译模型的重要性。


3 模型结构

在本文中,我们将具有相同架构的端到端模型应用于所有ST和MT任务。该端到端系统结构基于MT任务中最先进的Transformer[20]模型。在本节中,首先描述了Transformer的核心架构和生成对抗训练的训练方法。随后基于该架构和方法提出了基于对抗训练的端到端语音翻译模型。


3.1 Transformer

谷歌提出的基于自注意力机制的神经网络Transformer[20],在机器翻译领域取得了巨大的成功。Transformer使用了自注意力机制的计算代替了传统的 LSTM 对序列信号进行特征提取。与基于LSTM的端到端模型不同,Transformer是一种完全依赖自注意机制的编解码器结构,而LSTM需要依靠循环连接和记忆单元来学习序列关系,。


Transformer的核心部分是自注意力(self-attention)机制的计算和多头注意力机制(Multi-head attention, MHA)。自注意力定义为一个由三元组查询Q,键值对K−V到输出的一个映射。其中,Q,K,V分别是维度为dq,dk,dv的向量,且dq=dk,自注意力的计算方式为缩放点积注意(scaled dot-product attention):


Attention(Q,K,V)=softmax(QKTdk)V(4)


其中Q∈Rm×dk,K∈Rm×dk,V∈Rm×dv,输出维度为Rm×dv。


多头注意力机制为多个不同自注意力机制的集成。多头注意力将输入数据通过多组不同的线性映射WiQ,WiK,WiV映射到多个新的空间中,对每一个空间的注意力计算进行单独学习。最后将每一个空间中得到的注意力输出进行拼接,通过全连接层WO线性投影到预先定义的输出维度。其计算方式如下:


MHA(Q,K,V)=concat(head1,…headh)(5)


其中concat表示拼接操作,h为注意力操作并行次数,headi=Attention(QWiQ,KWiK,VWiV),WiQ∈Rdmodel×dk,WiK∈Rdmodel×dk,WiV∈Rdmodel×dv,WO∈Rhdv×dmodel。


Transformer架构采用编码器-解码器结构,由N层堆叠的编码器和解码器层组成。编码器由多个Transformer块(block)组成,每一个块包含一个多头注意力块(MHA)和一层前向神经网络(FFN)构成,包括两个线性变换和一个ReLU激活输出。除此之外,每层之间还采用了Dropout,残差连接和层归一化。解码器包含三个子层,在编码器的基础上增加了一个多头注意力的中间层。该层查询Q来自于上层解码器的输出,K−V来自于编码器的输出,用来接受编码器计算得到的语音隐藏层状态。解码器中,每个位置只能关注到之前的信息的,因此在自注意计算时还进行了掩蔽,以防止在训练过程中关注了未来位置的信息。


FFN(x)=max(0,xW1+b1)W2+b2(6)


Transformer模型没有捕捉顺序序列的能力。为了解决这个问题,Transformer给编码器层和解码器层的输入添加了位置编码(Position Encoding),来描述句子之间的位置信息。


PE(pos,2i)=sin(pos100002i/dmodel)PE(pos,2i+1)=cos(pos100002i/dmodel)(7)


3.2 生成对抗网络

Generative adversarial nets(GAN)[16]由Goodfellow等于2014年提出,由一个生成器G和一个判别器D组成。G通过神经网络去模拟现有真实数据的分布,D用于估计样本来自真实数据或者G生成数据的概率组成。GAN的思想即是让两个神经网络通过相互博弈的方式进行学习,G输出结果需要尽量模仿训练集中的真实样本,D的输入为真实样本或G的输出,目标是尽可能将G的输出从真实样本中分辨出来。两个网络相互对抗博弈,不断调整优化参数,最终目的是使D无法分辨G的输出与真实样本。具体地,给定一个先验噪声分布pz(z),pd(x)表示真实数据的分布,其估值函数V(D,G)如下式:


minGmaxDV(D,G)=Ex∼pd(x)[logD(x)]+Ex∼pz(z)[log(1−D(z))](8)


该式最终的目标是求minG,G的目标是让V(D,G)最小,达到不能区分真实数据和生成数据的目的,而内部嵌套的maxD,则代表D是在G已经给定的情况下,最大化V(D,G),即给定生成器,得到识别能力最好的判别器。


但是GAN很难训练,需要精心设计模型结构,且存在生成样本缺乏多样性等问题。因此一般不直接使用GAN作为判别训练的方法。Wasserstein GAN引入Earth-Mover(EM)距离作为判别器损失,采用基于非动量的优化算法更新判别器参数,并将判别的参数截断在某一固定常数内,同时在判别器最后一层去掉sigmoid函数,生成器和判别器的损失也不取对数值,彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度,基本解决了模式崩塌的问题,确保了生成样本的多样性。因而在本文采用WGAN。


4 基于生成对抗网络的语音翻译

4.1 正则化训练

基于本文提出的假设,文本翻译模型优于语音翻译模型,而在模型中起关键性的作用是编码器,编码器的作用是描述对不同序列特征的信息表征能力。通常情况下,语音序列要包含语音信号和语义信息,而文本序列只蕴含了语义信息,其复杂性相对较低,因此翻译性能也比语音翻译的性能更好。基于此我们认为可以通过最小化语音编码器和文本编码器产生序列输出的差异,来改进语音编码器的序列生成能力。具体解释如下。


将语音序列和相应的文本序列送入语音和文本编码器gθst,gθmt,编码器产生隐藏状态zx=gθst(x)和zs=gθmt(s),再送入解码器。解码器对条件概率P(Y|X,θst),P(Y|S,θmt)进行联合建模,用于预测每次一个字符的输出文本序列。整个系统除了多任务学习(x,s,y)之间的联合交叉熵损失之外,加入正则化损失进行优化,正则化采用L1距离减小zx和zs之间的差异。该模型的公式化表达如下:


E(x,s,y)∼D[H(x,s,y)]+β‖zx−zs‖1‖zx‖1+‖zs‖1(9)


其中β为正则化损失所占权重,H(x,s,y)=(1−λ)logP(Y|X;θst)+λlogP(Y|S;θmt)



图2 基于对抗训练和多任务学习的端到端语音模型   下载原图


Fig.2 End-to-end speech model based on adversarial training and multi-task learning


4.2 WGAN自适应对抗训练

通常情况下语音特征序列要比文本特征序列长,很难保证文本序列和语音序列的长度一致性,因此本文加入了判别器来判断语音特征序列和文本特征序列的真伪,具体选用了Wasserstein GAN (WGAN)来计算整段语音编码器产生隐藏状态zx和文本编码器产生隐层状态zs标量似然值的Earth-Mover(EM)距离,而不是直接计算zx与zs之间的L1距离。该对抗训练的框架如图2所示,由基于多任务学习的端到端语音翻译结构再加一个判别器网络组成,生成器网络为ST端到端结构的编码器,判别器网络的主体是一个卷积网络。在判别器训练步骤中,主要通过计算判别器损失更新判别器网络参数,判别器的损失函数为标准的WGAN损失函数:


LossD=Ex[D(gθst(x))]−Es[D(gθmt(s))](10)


其中D为判别器,g代表生成器。语音编码器作为生成模型在判别器的对抗性训练方式下学习文本真实序列的分布,生成模型的损失函数为:


LossG=−Ex[D(gθst(x))](11)


生成模型作为多任务学习模型的语音编码器模块,因此总的损失为:


LossTotal=(1−β)LossST+βLossG(12)


在算法1中详细介绍了本文提出的自适应WGAN端到端语音翻译模型的训练过程。


导出到EXCEL


算法1:自适应WGAN-E2E语音翻译算法


参数描述:θ指多任务学习模型参数包含θst和θmt,ω为判别器参数。ncritic为判别器更新次数,c为修剪系数,m为batch大小。


Whileθ未收敛:


fort=1,…,ncriticdo:


    数据采样{(xi,si,yi)∼D}i=1m


    计算gθ←∇θ∑i=1mH(hθ(gθ(xi,yi)))


    更新θ←θ−Optimizer(θ,gθ)


    计算gω←∇ω1m[∑i=1mDω(gθst(xi))−∑i=1mDω(gθmt(si))]


    更新ω←ω−Optimizer(ω,gω)


    判别器权重修剪ω←clip(ω,−c,c)


End


数据采样{(xi,si,yi)∼D}i=1m


计算gθ←∇θ1m[∑i=1mH(hθ(gθ(xi,yi)))−β∑i=1mDω(gθst(xi))]


更新θ←θ−Optimizer(θ,gθ)


End


4.3 判别器

近年来,卷积神经网络(Convolutional neural network,CNN)广泛应用在分类问题中,并取得了良好的效果。本文选取卷积神经网络作为判别网络。本文的判别器网络设计采用了Conformer[23]的Convolution Module模块,外加一层LSTM层和线性映射层组成。Convolution Module卷积模块有效地利用了所输出序列的局部特征。Convolution Module由一个门控机构、一个点态卷积和一个门控线性单元(GLU)开始,接下来是一个一维深度卷积层,Batch Normalization部署在卷积之后。线性映射层的设置旨在获得序列的标量似然值。



图3 判别器   下载原图


Fig.3 Discriminator


5 实验

5.1 实验结果

本文实验使用了How2数据集[17]和MuST-C中的英汉数据集[18,19],其中How2数据集包含约300小时的英语语音,对应的转录英语单词有330万,对齐的葡萄牙语翻译单词310万,对于数据的划分如表1。MuST-C中的英汉数据集包含444小时的英语音频,共188K条语音对,转录的英语单词有420万,对应翻译的汉字有110万,本文使用了其中的tst-COMMON测试集进行了验证。本文的语音特征使用了80维梅尔滤波器组特征和3维音高特征,帧长为25毫秒,帧移为10毫秒。在目标文本处理方面,文本标记为小写字符级,并对标点符号进行了规范化处理。使用字节对编码(Byte Pair Encoding,BPE)[26],BPE中合并操作的数量为8K。


表1 How2语料库 导出到EXCEL


Tab.1 How2 Dataset


数据分割


时长/h


条数


Train


298.2


184949


Val


3.2


2022


Test


3.7


2305


本文基于Espent[22]搭建了基于Transformer的端到端编码器-解码器模型。其中模型语音编码器由2个卷积层和12层Transformer块组成,设置卷积层旨在将输入的语音特征的时间和频率维数都减少4倍。文本编码器由6层Transformer块组成,解码器由6个Transformer块组成。对于所有的Transformer模块,多头注意力的维度为256,注意力操作并行进行4次。前向神经网络的中间维数为2048。对于判别器,Convolution Module的卷积核设置为5,判别器的更新训练次数ncritic为5,判别器裁剪系数c取0.01。采用热身(warmup)训练策略,有25000个热身训练步骤。在进行解码评测之前,我们将最好的5个训练模型进行平均,以进一步提高模型的泛化性能。在进行推理时,没有额外的源文本语料,因此解码只保留整个模型的ST模块,分别为ST模块的编码器和解码器两个组件,对于推理的波束大小(beam size)取10。我们将所提出的方法与以下基线进行了比较:


端到端基线:只有一个语音编码器和一个解码器,该编码器和解码器的参数随机进行初始化。


预训练基线:进行了三个预训练基线实验:(1)预训练编码器;(2)预训练解码器;(3)预训练编解码器;预训练的ASR模型与ST模型具有相同的编码器-解码器架构。预训练语音识别编码器为得到更具有表征性的语音特征。预训练的MT模型与ST模型具有相同的解码器结构,预训练文本翻译解码器接收到了从文本编码器提取的更高层次的信息。


多任务学习基线:语音翻译模型与文本翻译模型联合训练,该任务语音翻译模型和文本翻译模型具有不同的编码器,但共享解码器。在该基线实验以及WGAN实验中,权重λ取0.2。


本文同时与Liu等人提出的基于知识蒸馏的方法进行了对比,该方法ST和MT使用各自的编码器-解码器模型,通过引入知识蒸馏损失,将机器翻译模型作为教师模型来指导ST模型以此改进语音翻译模型。


本文使用Adam优化器[24]来训练端到端模型,对于判别器的训练采用了RMSprop[25]优化器。所有的模型用两块Tesla P100 GPU训练了50个epoch。


5.2 实验结果

How2数据集在端到端系统,预训练,多任务学习和所提出的基于WGAN生产对抗网络的方法的性能表现如表2所示。与端到端模型相比,在预训练实验中,预训练编码器取得了更好的性能,相比预训练解码器的性能提升0.64 BLEU,本文的预训练实验仅使用了How2语料库的训练集训练ASR模型,没有使用额外的语音数据,说明了语音特征的编码信息对翻译质量有着至关重要的作用,而预训练ASR编码器可以提升语音特征信息的表示。多任务学习进一步提升了端到端语音翻译的翻译质量,在多任务学习方法中,文本编码器和语音编码器使用各自的编码器,但是共享解码器,在该任务中语音编码器仅使用源语音数据和翻译文本数据的训练,而解码器多了来自于MT模型平行双语数据的训练,相较于预训练编码器实验,多任务学习的性能下降0.34 BLEU。我们所提出的方法在只加入判别训练而不采用多任务学习的情况下,BLEU为42.94;同时加入多任务学习及对抗训练的方法后,BLEU为43.96,比端到端基线系统提高2.24 BLEU,比预训练编码器提高0.77 BLEU,比多任务学习系统提高1.11 BLEU。多任务学习和仅用判别训练的这两个消融实验证明了多任务学习和对抗训练对最终的翻译质量均有影响,每一个模块缺一不可。与[11]中的知识蒸馏的方法进行相比,本文提出的方法提高了1.29 BLEU,在基于知识蒸馏的方法中MT和ST模型具有各自独立的编码器-解码器结构,通过在ST模型的交叉熵损失上增加知识蒸馏损失使MT模型作为教师模型来指导ST模型进行学习训练。本文的方法通过对抗训练来提升语音特征的表示,主要侧重于优化编码器来学习语音特征表示,于此同时可以关注文本特征的分布,得到了更好的语义信息;除此之外,多任务学习的方法使得解码器关注到了更多的来自文本编码器的注意力信息。不同模型的训练误差在训练集和验证集上的交叉熵分别如图4,5所示,在引入对抗训练的方法后,模型的语音翻译模块的损失相比端到端和多任务学习的方法的损失收敛变快,且最终损失比多任务学习和端到端方法的损失要更加收敛。


上一篇纪念韦弗关于《翻译》的备忘录发表71周年
下一篇地矿专业俄语的翻译与应用——评《地质矿产专业俄语》

相关内容

——

31

2021-03

地矿专业俄语的翻译与应用——评《地质矿产

地矿专业俄语是根据我国经济发展需求,为应对矿产资源供需矛盾,加强与俄罗斯和中亚地区在矿产领域的合作而… [了解更多]

30

2021-03

基于对抗训练的端到端语音翻译研究

语音翻译(Speech Translation,ST)是一种将源语言语音翻译成目标语言文本的翻译方法… [了解更多]


产品中心Focus on high-end precision positioning, service, help you realize value translation

专注高端 精准定位 用心服务 帮您实现价值翻译

——

严格的质量保证体系、规范的操作流程和优质可靠的服务。所提供的翻译服务项目有:文档资料翻译、影音翻译、同声传译、交互传译、软件本地化、网站本地化、翻译软件、定制翻译系统等。  

Learn more