基于模型增强的语音翻译模型训练方法、系统及语音翻译方法和设备

文档序号:105615 发布日期:2021-10-15 浏览:18次 >En<

阅读说明:本技术 基于模型增强的语音翻译模型训练方法、系统及语音翻译方法和设备 (Model enhancement-based speech translation model training method and system, and speech translation method and equipment ) 是由 屈丹 张昊 杨绪魁 张文林 闫红刚 牛铜 何振华 陈琦 于 2021-07-09 设计创作,主要内容包括:本发明公开一种基于模型增强的语音翻译模型训练方法、系统及语音翻译方法和设备,该训练方法包括:收集语音翻译数据集,所述语音翻译数据集由多个语音-翻译-转录三元组构成;利用语音翻译数据集中的语音-转录数据对训练语音识别模型,利用语音翻译数据集中的转录-翻译数据对训练机器翻译模型;用语音识别模型初始化语音翻译模型的编码层,用机器翻译模型初始化语音翻译模型的解码层;对语音翻译模型的隐含层输出进行掩码,利用语音翻译数据集、结合损失函数对语音翻译模型进行训练;语音翻译模型训练好后,去掉掩码,对训练好的语音翻译模型进行微调。本发明提升了语音翻译模型的识别性能,可以有效提高语音翻译效率和质量。(The invention discloses a model enhancement-based speech translation model training method, a model enhancement-based speech translation model training system, a speech translation method and speech translation equipment, wherein the training method comprises the following steps: collecting a phonetic translation dataset comprised of a plurality of phonetic-translation-transcription triplets; training a speech recognition model by using the speech-transcription data pairs in the speech translation data set, and training a machine translation model by using the transcription-translation data pairs in the speech translation data set; initializing a coding layer of a voice translation model by using a voice recognition model, and initializing a decoding layer of the voice translation model by using a machine translation model; masking the hidden layer output of the voice translation model, and training the voice translation model by utilizing a voice translation data set and combining a loss function; and after the voice translation model is trained, removing the mask, and finely adjusting the trained voice translation model. The invention improves the recognition performance of the voice translation model and can effectively improve the voice translation efficiency and quality.)

基于模型增强的语音翻译模型训练方法、系统及语音翻译方 法和设备

技术领域

本发明属于语音翻译技术领域,尤其涉及一种基于模型增强的语音翻译模型训练方法、系统及语音翻译方法和设备。

背景技术

语音翻译是将一种语言的语音转化为另一种语言的文本,端到端的模型,即跳过传统模型中将源语言的语言转化为文本这一步走,直接将源语言的语音转化为目标语言的文本,是目前的研究热点。在模型选择方面,谷歌提出的Transformer模型(A.Vaswani,N.Shazeer,N.Parmar,J.Uszkoreit,L.Jones,A.N.Gomez,L.Kaiser,and I.Polosukhin,“Attention is all you need,”in Proc.NIPS,California,USA,2017,pp.5998–6008.)由于其自注意力机制建模的有效性、并性处理的高效性以及模型结构的简洁性,成为主要的选择,使识别率得到了显著提升。但是存在的一个主要问题就是数据量问题。由于语音翻译是从一种语言的语音直接映射成另一种语言的文字,这就导致要想获得好的识别效果,相比于机器翻译、语音识别来说,需要更多的数据,并且这个特点也决定了语音翻译数据集获取的成本也更高。

最近有很多探索缓解数据量需求的方法,包括多任务学习,即在训练ST模型的同时训练一个语音识别(Automatic speech recognition,ASR)模型或者机器翻译模型(Machine Translation,MT)模型,预训练,即在高资源ASR任务上预训练语音翻译(SpeechTranslation,ST)模型的编码层,元学习,即用ASR和MT构建子任务为ST模型找到一个好的初始化值,知识蒸馏,即以MT模型作为教师模型训练ST模型。

上述方法均取得了很好的效果,一定程度上缓解了端到端模型的数据问题,但是它们都需要额外的ASR或者MT数据。在没有这样成对的数据时,最常用的方法是数据增强,通过增加现有数据的数量和变化为模型训练提供更多的数据。SpecAugment(D.S.Park,W.Chan,Y.Zhang,C.-C.Chiu,B.Zoph,E.D.Cubuk,and Q.V.Le,“Specaugment:A simpledata augmentation method for automatic speech recognition.”inProc.INTERPSEECH,Graz,Austria,2019,pp.2613–2617.)是端到端的网络结构中常用的数据增强方法。其是一种掩码增强的策略,直接作用于输入音频的对数梅尔谱,对连续的时间通道和频率通道进行掩码。但是SpecAugment更多的是对编码层产生影响,使其对各种输入更加鲁棒。

发明内容

本发明针对现有语音翻译模型对数据量要求较大的问题,提出一种基于模型增强(ModAugment)的语音翻译模型训练方法、系统及语音翻译方法和设备,通过增加编码、解码部分的对齐难度,将过拟合问题转化为欠拟合问题,经过更长时间的训练,可以得到一个整体上更加鲁棒的模型,并且在更小的超参数调整负担下,取得了更好的效果。

为了实现上述目的,本发明采用以下技术方案:

本发明一方面提出一种基于模型增强的语音翻译模型训练方法,包括:

步骤1:收集语音翻译数据集,所述语音翻译数据集由多个语音-翻译-转录三元组构成;

步骤2:利用语音翻译数据集中的语音-转录数据对训练语音识别模型,利用语音翻译数据集中的转录-翻译数据对训练机器翻译模型;

步骤3:用语音识别模型初始化语音翻译模型的编码层,用机器翻译模型初始化语音翻译模型的解码层;

步骤4:对语音翻译模型的隐含层输出进行掩码,利用语音翻译数据集、结合损失函数对语音翻译模型进行训练;

步骤5:语音翻译模型训练好后,去掉掩码,对训练好的语音翻译模型进行微调。

进一步地,所述语音识别模型、机器翻译模型及语音翻译模型的基本结构均采用Transformer结构。

进一步地,所述步骤4中,对语音翻译模型的隐含层输出进行掩码的方法包括模型维度掩码。

进一步地,所述模型维度掩码包括:

语音翻译模型的隐含层的每层输出是一个B×T×dmodel的矩阵,其中B表示批处理大小,T表示序列维度,dmodel表示模型维度;在模型维度随机选取p×dmodel个位置,将所述p×T个位置对应的模型维度的p×dmodel×T个值进行掩码,其中p表示掩码率,0≤p≤1。

本发明第二方面提出一种基于模型增强的语音翻译模型训练系统,包括:

数据收集模块,用于收集语音翻译数据集,所述语音翻译数据集由多个语音-翻译-转录三元组构成;

第一模型训练模块,用于利用语音翻译数据集中的语音-转录数据对训练语音识别模型,利用语音翻译数据集中的转录-翻译数据对训练机器翻译模型;

第二模型训练模块,用于用语音识别模型初始化语音翻译模型的编码层,用机器翻译模型初始化语音翻译模型的解码层;

模型增强模块,用于对语音翻译模型的隐含层输出进行掩码,利用语音翻译数据集、结合损失函数对语音翻译模型进行训练;

模型微调模块,用于语音翻译模型训练好后,去掉掩码,对训练好的语音翻译模型进行微调。

本发明第三方面提出一种语音翻译方法,包括:

获取待翻译的目标语言;

利用上述任一项所述的一种基于模型增强的语音翻译模型训练方法训练得到的语音翻译模型对所述目标语言进行翻译。

本发明第四方面提出一种语音翻译设备,包括:目标语音获取单元和目标语音翻译单元;

所述目标语音获取单元用于获取待翻译的目标语音;

所述目标语音翻译单元用于利用上述任一项所述的一种基于模型增强的语音翻译模型训练方法训练得到的语音翻译模型对所述目标语言进行翻译。

与现有技术相比,本发明具有的有益效果:

本发明对模型的隐含层输出进行掩码,并将掩码后的模型用于语音翻译系统,使用训练好的ASR模型和MT模型分别对ST模型的编码层、解码层进行初始化。本发明实现简单,通过对ST模型的隐含层输出进行掩码,增大ST模型的对齐难度,将过拟合问题转化为欠拟合问题,经过更长时间的训练提升ST模型表现,具有较好的应用前景。

附图说明

图1为本发明实施例一种基于模型增强的语音翻译模型训练方法的基本流程图;

图2为本发明实施例一种基于模型增强的语音翻译模型训练方法中Transformer结构应用示例图;

图3为本发明实施例一种基于模型增强的语音翻译模型训练方法的掩码策略示例图;

图4为本发明实施例一种基于模型增强的语音翻译模型训练方法不同掩码率下的BLEU值和训练用时。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的解释说明:

如图1所示,本发明一方面提出一种基于模型增强的语音翻译模型训练方法,包括:

步骤S101:收集语音翻译数据集,所述语音翻译数据集由多个语音-翻译-转录三元组构成;

步骤S102:利用语音翻译数据集中的语音-转录数据对训练语音识别模型,利用语音翻译数据集中的转录-翻译数据对训练机器翻译模型;

步骤S103:用语音识别模型初始化语音翻译模型的编码层,用机器翻译模型初始化语音翻译模型的解码层;

步骤S104:对语音翻译模型的隐含层输出进行掩码(即模型增强,简称为ModAugment),利用语音翻译数据集、结合损失函数对语音翻译模型进行训练;

步骤S105:语音翻译模型训练好后,去掉掩码,对训练好的语音翻译模型进行微调。

进一步地,所述语音识别模型、机器翻译模型及语音翻译模型的基本结构均采用Transformer结构。而ModAugment作用在Transformer每一个子块的输出。

具体地,Transformer是一种编码解码结构,分别由N个相同的块堆叠而成。编码部分将输入的源序列转化为高层表示。它的每层包含两子块,分别是自注意力块,以及紧跟其后的前向神经网络块。解码部分将离散的Token建模为条件语言模型,利用之前产生的字符和编码层产生的高层表示计算下一个字符产生的概率。它的结构和编码层相同,只是多个一个交互注意力块,用来进行源和目标序列之间的对齐。另外解码层中的自注意力块是被掩码的,防止在预测下一个位置的字符时利用到未来位置的信息。

多头注意力是Transformer模型的核心模块,被用于在不同的位置从不同的表示性子空间获取信息。每个头都对应于一个缩放点乘注意力。给定三个向量序列Q,K,V,缩放点乘注意力计算如下:

其中,dk表示注意力头中键的维度。将不同注意力头的输出级联起来,就得到了多头注意力的输出:

其中,headi表示第i个注意力头, 以及表示投影矩阵。dk=dv=dmodel/h,h表示注意力头的数目。此外,残差连接和层正则化在模型的每一个块中均有使用。

在ASR/ST模型训练任务上应用时,如图2所示。除了关于目标序列一个是源语言的转录,一个是目标语言的翻译以外,采用的模型结构完全相同。首先将原始音频转化为声学特征向量,之后进行均值和方差的归一化。另外我们没有采用CNN降采样,而是采用跳帧堆叠的策略,在跳帧率为4的情况下堆叠连续的3帧,一帧的重叠是为了保证降采样后的向量具有连续性。处理以后的语音帧经过一个线性变换映射到模型维度dmodel。此外,由于Transformer中不含任何循环网络,无法捕捉位置信息,所以映射后的特征需要加上位置编码作为模型编码层的最终输入。其余部分和Transformer原始模型保持一致。

在MT模型训练任务上应用时,使用基本的Transformer结构。输入和输出都是离散的Token序列,经过词嵌入,加上位置编码输入到模型中。

作为一种可实施方式,在实验中设定dmodel=512,前向神经网络内部维度dff=2048,注意力头h=8。另外值得说明的是,本实施例应用标签平滑为0.1,dropout为0.1。

具体地,在训练时我们利用语音翻译数据中的语音-转录、转录-翻译数据对训练语音识别模型和机器翻译模型。语音识别、语音翻译、机器翻译三个模型的模型结构、参数保持一致。之后用训练好的语音识别模型的编码层初始化语音翻译模型的编码层,用训练好的机器翻译模型的解码层初始化语音翻译模型的解码层。这样为ST模型提供一个好的初始化参数,可以降低其学习难度,帮助模型快速收敛。

进一步地,所述步骤S104中,对语音翻译模型的隐含层输出进行掩码的方法包括序列(sequence)维度掩码和模型(model)维度掩码两种。该两种掩码方法都易于实现,计算代价非常小,可以应用于在线和离线的语音系统训练。

进一步地,所述序列维度掩码包括:

语音翻译模型的隐含层的每层输出是一个B×T×dmodel的矩阵,其中B表示批处理大小(即batch size),T表示序列维度,dmodel表示模型维度;在序列维度随机选取p×T个位置,将所述p×T个位置对应的模型维度的p×T×dmodel个值进行掩码,其中p表示掩码率,0≤p≤1。

进一步地,所述模型维度掩码包括:

语音翻译模型的隐含层的每层输出是一个B×T×dmodel的矩阵,其中B表示批处理大小,T表示序列维度,dmodel表示模型维度;在模型维度随机选取p×dmodel个位置,将所述p×T个位置对应的模型维度的p×dmodel×T个值进行掩码,其中p表示掩码率,0≤p≤1。

具体地,掩码值可以有0和均值两种方式。图3展示了分别作用在sequence、model维度时,掩码值分别为0、均值的掩码策略,以B为1,T=3,dmodel=4为例,从顶部到底部分别表示在序列维度上掩码值为0、均值,在模型维度上掩码值为0、均值。

上述两种掩码策略从不同的角度来缓解模型的过拟合问题:

序列维度掩码策略:掩码意味着迫使模型在缺少一部分token的向量表示的情况下,模型可以依据其余token的向量表示来提取信息,并进行编码、解码部分的对齐。

模型维度掩码策略:原始的输入序列经过变换以后,每个token转化为dmodel维的向量表示,并和其他token的向量表示逐个计算内积,得到权重。如果dmodel维的向量表示中部分维度的值过小或过大,就会导致计算得到的权重也呈现出相同的趋势。我们随机选取部分维度进行掩码,希望使模型计算权重时不依赖于部分维度的值,而更关注于整体。

另外我们分析由于隐含层的输出已经是输入向量的高层表示,对其进行掩码可能会导致模型损失过多信息,而难以训练,所以对model维度掩码效果会更好。另外关于掩码值,由于在Transformer中,LN在Transformer的每个块中均有应用,且为了防止网络表达能力下降,在采用LN对均值和方差进行归一化时,加了两个调节参数,导致隐含层输出向量的均值和方差不再是0和1,所以采用均值而不是0作为掩码值效果会更好。后续的实验验证了我们的分析。

为验证本发明效果,进行如下实验:

具体地,实验数据集为TED英-中语音翻译数据集和MUSTC英-德(En-De)、英-法(En-Fr)语音翻译数据集。实验中语音采用80维的Fbank特征,使用Kaldi对声学特征进行提取,并进行均值和方差归一化。另外采用pytorch-lightning组织我们的模型代码。采用multi-bleu脚本计算与大小写无关的BLEU值用于评价ST和MT模型训练任务,WER用于评价ASR模型训练任务。

1、TED英-中语音翻译数据集相关实验

我们采用由(Y.Liu,H.Xiong,J.Zhang,Z.He,H.Wu,H.Wang,and C.Zong,“End-to-end speech translation with knowledge distillation.”in Proc.INTERSPEECH,Graz,Austria,2019,pp.1128–1132.)收集的TED英-中语音翻译数据集,一共317,088条发音(大约542小时)。原始音频在TED网页上爬取,并通过时间戳进行分段。和上述文献一样,我们采用IWSLT中的dev2010作为开发集(835条发音,大约1.48小时),tst2015(1223条发音,大约2.37小时)作为测试集。

在训练过程中,采用和Transformer一致的优化器,在其基础上乘以了一个缩放因子k,用于适应自己的任务。对于ASR和ST任务,k=0.3,warmup=8000,每个batch大约包含47000帧。对于MT任务k=0.5,warmup=16000,每个batch大约包含3300个子词。在实验中我们采用早期终止策略,耐心值为3,即如果损失连续三个周期损失不再下降就终止训练。另外ST模型的编码、解码部分分别在ASR和MT任务进行预训练。ASR和MT训练时使用此数据中的数据对,没有使用任何额外数据。我们在4块NVIDIA V100显卡上进行实验。

表1为在TED英-中语音翻译数据集上的实验结果比较,此处的ModAugment为对model维度进行掩码,掩码值为均值,掩码率为0.1。

表1 TED英-中语音翻译数据集上的实验结果比较

在不同的配置下评价本实施例的模型。表1列出了实验结果。我们在添加了自适应层的模型上对各种方法进行比较(E=9,D=6),模型表示为09Enc-06Dec。可以看出使用ModAugment可以使模型的BLEU值从20.44提升到22.07,相比于SpecAugment、SpeedPerturb,效果更好。另外和Speed Perturb相结合,可以使模型的效果得到进一步的提升,达到22.53。在和SpecAugment结合时没有产生更好的结果,因为这两种方法都是采用掩码的方式,相结合会使模型丢失过多的信息。

另外ModAugment可以更好的利用自适应层。在基础Transformer模型中,加了三层自适应层只提升了0.32的BLEU值(从06Enc-06Dec到09Enc-06Dec),采用ModAugment时这个数字则增加到1.04。

(a)消融测试:掩码率的影响

由于掩码的存在,模型需要更多的训练时间。在模型效果提升和模型训练时间增加之间需要有一个平衡。我们在09Enc-06Dec上,对model维度,用均值进行掩码。图4展示出掩码率不同时模型效果变化情况和训练时间。总的来说p取0.1时,BLEU值提升最大,且训练用时比较合适。

(b)消融测试:不同掩码方案的影响

本实验进行消融测试来探索不同掩码方案对模型性能的影响。在09Enc-06Dec上进行实验,掩码率p为0.1。另外除了将掩码值选为0或者均值,我们也尝试了动态改变掩码值,而不是只有0、均值,即利用值β对要掩码的位置的值进行缩放。β从均匀分布[1-2×α,1+2×α]中采样。α在训练开始时设为0,训练中期逐渐增加到0.5,在训练结束时又逐渐降低到0。

表2展示了我们的实验结果,Scale表示第2节所述的动态掩码策略,第一行表示Baseline的实验结果,---表示无法训练。对比可以发现对model维度进行掩码,且掩码值为平均值(mean)时效果最好,动态掩码策略(Scale)并没有产生更好的效果。另外对model维度进行掩码时,无论哪种掩码策略均可以得到提升。而对sequence维度进行掩码时,由于每个位置处的表示已经是学习到的高层表示,对其进行掩码时模型无法根据其他位置来进行预测,对模型的对齐造成损害,使识别效果下降,甚至无法训练。

表2 不同掩码方案对模型性能的影响

(c)消融测试:掩码模型不同部分的影响

上述实验中掩码在所有层上执行,在本实验中我们研究掩码模型不同部分对模型性能的影响。在09Enc-06Dec上进行实验,掩码率为0.1,在model维度上进行掩码,掩码值为均值,结果如表3所示。我们发现掩码哪部分,模型性能都可以得到提升。但是总的来说对整个网络进行掩码的效果更好。

表3 掩码模型不同部分对模型性能的影响

2、MUSTC英-德、英-法语音翻译数据集相关实验

为验证本发明方法的通用性,我们另外在MUST-C En-De和En-Fr数据集上进行实验,在tst-COMMON上进行测试。对于文本均采用BPE分词,词表大小设为30k。为了更好的利用GPU,丢弃掉包含超过3000帧或者400个字符的发音。模型的编码、解码部分分别用ASR和MT模型进行初始化。在En-De数据集上,ASR任务的WER为22.75%,MT任务的BLEU为28.86。在En-Fr数据集上,ASR任务的WER为20.98%,MT任务的BLEU值为42.92。

实验结果列举在表4中,可以看到在两个数据集上的实验结果均表现出和在TED英-中语音翻译数据集上一样的趋势。这表明ModAugment是比较有效的。并且可以和SpeedPerturb相结合,使端到端ST模型的性能得到进一步的提升。实验证明了本发明方法在不相似和相似语言对上的有效性。

表4 MUSTC英-德、英-法语音翻译数据集上的实验结果比较

综上,本发明方法实现简单,通过对模型的隐含层输出进行掩码,增大模型的对齐难度,将过拟合问题转化为欠拟合问题,经过更长时间的训练提升模型表现。在TED英-中语音翻译数据集和MUSTC英-德、英-法语音翻译数据集上实验表明,将ModAugment应用到模型中可以提升模型表现,并与Speed Perturb相结合,可以使BLEU值得到进一步的提升。

在上述实施例的基础上,本发明第二方面提出一种基于模型增强的语音翻译模型训练系统,包括:

数据收集模块,用于收集语音翻译数据集,所述语音翻译数据集由多个语音-翻译-转录三元组构成;

第一模型训练模块,用于利用语音翻译数据集中的语音-转录数据对训练语音识别模型,利用语音翻译数据集中的转录-翻译数据对训练机器翻译模型;

第二模型训练模块,用于用语音识别模型初始化语音翻译模型的编码层,用机器翻译模型初始化语音翻译模型的解码层;

模型增强模块,用于对语音翻译模型的隐含层输出进行掩码,利用语音翻译数据集、结合损失函数对语音翻译模型进行训练;

模型微调模块,用于语音翻译模型训练好后,去掉掩码,对训练好的语音翻译模型进行微调。

在上述实施例的基础上,本发明第三方面提出一种语音翻译方法,包括:

获取待翻译的目标语言;

利用上述任一项所述的一种基于模型增强的语音翻译模型训练方法训练得到的语音翻译模型对所述目标语言进行翻译。

在上述实施例的基础上,本发明第四方面提出一种语音翻译设备,包括:目标语音获取单元和目标语音翻译单元;

所述目标语音获取单元用于获取待翻译的目标语音;

所述目标语音翻译单元用于利用上述任一项所述的一种基于模型增强的语音翻译模型训练方法训练得到的语音翻译模型对所述目标语言进行翻译。

综上,本发明对模型的隐含层输出进行掩码,并将掩码后的模型用于语音翻译系统,使用训练好的ASR模型和MT模型分别对ST模型的编码层、解码层进行初始化。本发明实现简单,通过对ST模型的隐含层输出进行掩码,增大ST模型的对齐难度,将过拟合问题转化为欠拟合问题,经过更长时间的训练提升ST模型表现,具有较好的应用前景。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:在生成对抗中获得更好的语音翻译模型的训练方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!