分享

从端到端模型>训练策略,字节跳动语音翻译建模的前沿进展!

 520jefferson 2021-11-18
图片

文章编辑:张雨菲 对外经济贸易大学

出品平台:DataFunTalk


导读:近年来,端到端语音翻译迎来了较好发展,获得了很高的关注度。然而端到端语音翻译还未能投入到工业生产当中,因为还需要考虑很多有关音频处理,热词干预,错误分析,定位等等问题,我们希望未来能有更多优秀的研究者或者研发团队投入到这个方向的建设当中。本次分享题目为语音翻译的企业应用与研究,主要按以下四点介绍:

  • 语音翻译概述

  • 语音翻译建模方法

  • 更优的端到端模型

  • 更优的端到端训练策略

01
语音翻译(ST)概述

1. 语音翻译问题和动机

语音翻译其实就是将一种语言的音频翻译成另一种语言的文本,也可以直接从一种语言的音频翻译到目标语言的音频,做到完全的语音到语音的翻译。今天我们主要讨论的还是语音到文本的翻译。

语音翻译的目的就是要打破语言的障碍来促进人与人之间的沟通与交流,推动文化和信息的传播。它有非常多重要而且有趣的应用,比如说我们在YouTube上看任意语言的视频生成中文字幕,或者跨国会议需要实时同传,或者出国旅游需要一个翻译机来帮助我们解决沟通的问题。

2. 语音翻译在字节的应用

字节致力于成为全球创作与交流平台,我们的产品在全球有将近20亿的用户,我们机器翻译也就是火山翻译,首当其冲就是帮助公司和公司的产品解决语言障碍这一问题。首先是对内,字节拥有有非常多的海外同事,我们使用的办公软件飞书就支持消息翻译,图片翻译,邮件、文档等等一切的翻译。其次是对于我们的用户,当用户想要给自己的视频配上多语言字幕,我们也提供火山翻译工作室这一产品,它支持自动添加字幕和翻译,也支持交互式的修改能力。

图片

最后是我们今年推出的新产品,AR智能翻译眼镜,它支持会议的实时字幕功能,AR眼镜将翻译的文本投影到用户的眼睛上,相当于你眼睛看到的画面都是带字幕的;同时它还支持面对面翻译功能,比如两人佩戴眼镜,面对面说话,眼镜里就会显示对方说话的内容的译文;最后是拍照翻译,出国旅游时,看到一个车牌,路牌或者菜单,可以即时拍照,眼镜里就可以出现图片中文本的译文。

02
语音翻译建模方法

1. 级联语音翻译(Cascade)

如今商业的语音翻译系统,基本都是以级联的方式进行建模的。级联语音翻译系统串接了一个语音识别系统(ASR)和一个翻译系统(MT),这类方法的优势是可以利用大规模的语音识别和机器翻译的语料。并且一个模块化系统中的各个模块可以单独优化、单独替换,或者插入其他干预模块来解决错误问题。

然而但凡是AI系统,都会存在错误。比如:

  • ASR错误,如同音异形字、丢词。

  • ASR输出无大小写信息、无标点

  • 存在很多口语现象,如重复、语气词

一个case ( 如图 ):

语音识别的输出是it costs um nine fifteen。为了使文本更适合通用的翻译系统,我们可以引入口语顺滑模块来删掉语气词um,接着尝试将数字恢复,这个模块叫逆文本规范化(ITN),得到it costs 9.15,然后根据上下文语境进行重写得到it costs €9.15,最后加标点并恢复大小写得到:It costs €9.15. 如此便能更准确地翻译成:这花了九镑十五便士。

图片

可以看到整条链路很长,我们设计了很多模块来处理ASR输出带来的问题,但每个模块本身又可能会引入更多的错误。总结来说,级联语音翻译系统面临的挑战有:

① 错误传播(Error Propagation)

  • ASR存在错误,例如语气词,同音异形字、单词丢失等

  • 小的扰动也会影响翻译质量(翻译鲁棒性问题)

② 计算复杂度高

2. 端到端语音翻译(End-to-end) 

端到端语音翻译是一个统一的直接实现语音到文本的翻译的模型。这得益于“编码器-解码器”框架的发展,尤其是现在端到端ASR和端到端机器翻译已经发展得比较成熟。相比级联模型,端到端模型的优势是可以缓解错误传播的问题,还可以简化模型部署的过程。

① 基于Transformer的端到端语音翻译模型

在学界,比较常用的端到端语音翻译模型还是基于Transformer,如图蓝框中的部分就是标准的Transformer,和文本的翻译完全一样。我们只需要把输入替换成音频,这里的音频需要先经过特征抽取,然后再进行降维。举个例子,一个六秒的音频,我们使用常用的梅尔频谱特征,可以抽取得到大概300帧的特征,帧可以理解为是音频的时序信息。但序列长度300相对文本的十几个字来说,差距还是非常大的,所以我们通常还会再接几层CNN来降维。降维后的特征表示直接接到Transformer的编码器上,我们就实现了从文本翻译直接转换到语音到文本的翻译。

图片

② 端到端语音翻译的挑战

端到端语音翻译面临最大的挑战其实是缺数据,它需要音频到目标语言译文成对的数据,将它与翻译和语音识别数据对比一下,翻译像WMT2020的EN-DE已经有将近4000万的平行语料了,ASR最近开源的一些数据集,它的音频已经超过了一万小时。而目前最大的一个语音翻译的开源数据集MuST-C,它里面的EN-DE只有400小时,换算成文本的话是只有25万,所以语音翻译端到端语音翻译的建模其实还是较难的。

03
更优的端到端模型

为此我们尝试利用ASR和翻译数据来增强端到端语音翻译模型,围绕下面三个方面:模型结构、训练技巧以及数据增强方法。

1. 更优的编码器:LUT (AAAI 2021a); Chimera (ACL 2021)

①  LUT (AAAI 2021a):Listen Understand and Translate

首先我们看端到端模型的两个问题:一个是只用一个简单的编码器很难直接得到较好的语音表示来做翻译,另一个是可以利用更多的ASR的转写信息来增强音频的语义信息。因此我们回顾人是如何做翻译的过程,我们是先听、然后尝试理解听到的内容、最后翻译。据此我们提出了这样一个LUT的模型,在基础的编解码框架当中额外加入了一个语义编码器,并用ASR的转写来对其进行监督。

展开来讲,就是音频首先会输入给一个声学编码器,加入一个CTC loss来做额外的训练,CTC是语音识别里非常常用的一个训练的优化目标。接着我们把得到的声学表示输入到一个语义编码器当中,用一个已经预训练好的BERT模型来监督。我们希望语音编码器最终得到的那些隐层表示能够富含更多的语义信息,当然这里BERT的编码也是通过大规模文本语料预训练出来的。

如此一来,就可以引入大量的额外的ASR数据来使得我们学到一个更好的语音翻译的编码器。

② Chimera (ACL 2021):从认知神经科学到语音翻译

接着是我们来思考第二个问题,你在工作的时候是否也喜欢来点音乐?那么哪些音乐适合工作?也许一些轻音乐下,工作效率还行,但如果音乐里有歌词,或者歌手的声音很有磁性,那是不是最后什么都干不下去?认知神经科学对其做过相关的解释,如下图, auditory processing区接收到一些声音,它的处理链路是通过中间这条路,最后达到大脑的高层来进行语义理解。下半部分是一个处理视觉的接收器,它接收到的视觉信息也是通过这条链路来处理。因此,这里的视觉和听觉信息共享了一部分处理路径,比如还有音素图形的处理区,以及一些词法,和更高级一点的句法语义的处理区。这就一定程度上解释了为什么在看电视时同时看字幕可以加深记忆和理解,但是工作时,如果听一些和工作完全没关系的内容,就会导致工作效率很低。

图片

这就是我们提出的第二个工作,叫作Chimera。我们希望能学习一个共享的语义空间,来同时接收文本和音频的信息,同时编码,最后进行翻译。

Chimera本义是一个头为虎羊,尾为蛇的一个怪兽。

这里我们引入了一个共享的语义空间映射层(Shared Semantic Projection),可以将音频和文本映射成相同维度的语义表示,最后用于翻译。并且我们引入了一个对比学习的损失函数(contrastive loss),对于同一个含义的音频和文本,我们期望模型不区分究竟是音频还是文本,只要最后得到的语义表示是接近的。我们通过这样一个模型就可以引入额外的翻译数据来训练共享的语义空间以及解码器。

我们学到的共享语义空间的可视化结构还是比较有趣的。我们随机采用100个样本,用PCA把它做了一个降维。这里得到的原点是语音的表示,加号是文本的表示。我们可以看到可视化之后,样本大概分成了三个簇,比如说左上角就是一些简单的、都是未来时的一些未来时态的一些句子,而左下角这块其实都用了一些系动词,而右边这一块,都是一些简单的问句。而且我们发现确实contrastive loss能够使得整个模型的音频和文本的表示非常接近。

2. 更优的解码器:COSTT (AAAI 2021b)

现在我们来思考第三个问题,即我们的模型能否像议员一样做速记?同传译员或者交传译员在工作的过程当中,常常会做一些笔记,比如说记录一些关键术语,或一些长的数字,这样有助于他们翻译得又快又准。

那么我们神经网络模型是否能做到?显然也是可以的。这里我们设计了一个转写翻译连续生成的解码器。前面编码器是Transformer的encoder,而解码器就是一个连续生成的解码器。展开来讲,它本质上还是一个transformer的解码器,但是在翻译的在生成的时,是先生成ASR的词序列,再生成译文的序列。Decoder实际上是一个双语的语言模型,我们可以直接使用机器翻译的语料来对它进行预训练,而我们的编码器可以像前面LUT一样,用很多的ASR数据来进行训练,甚至可以直接使用前面提出的LUT中的声学编码器加上语义编码器的结合体,这样我们就可以同时用好大规模的ASR数据和翻译数据。

04
更优的端到端训练策略

1. 训练技巧:渐进多任务学习框架 XSTNet (InterSpeech 2021)

第四个工作我们探讨了如何更好地利用数据。是否可以做一个三合一的模型,同时能做ASR、翻译和语音翻译,这样我们就能更好地利用三者全部的数据。因此我们设计了一个跨音频文本的网络,类似于Chimera模型,但去掉了共享的语音空间,得到了一个更简洁的端到端模型。编码器端可以同时输入音频和文本,它们共享了整个编码器的所有参数。之后我们引入tag来标示不同的任务,比如在音频前面加入audio的tag来标示这是音频,文本则使用它的语言。

图片

在生成时,如果是ASR任务,那么解码端的句子开始符号就替换为句子的源语言token;如果做翻译,不论是语音翻译还是机器翻译,则使用目标语言作为句子开始符号。如此一来,我们就完成了一个大一统的模型。

在训练时,我们首先利用大规模的翻译语料来预训练整个网络。之后在语音翻译finetune的过程当中,同时训练三个任务。这里机器翻模型的训练链路中除了语音翻译三元组数据当中的翻译部分,还引入了额外的双语数据用来增强翻译生成的能力;此外再加上语音翻译和ASR任务同时fine-tune可以得到更好的效果。这也就是该篇paper所提出来的概念,叫做渐进式学习(progressive training),意思就是说当我在下游任务fine-tuning的过程中,最好也带上预训练任务一起做多任务学习,可以使得最后下游任务的效果更好。

在一次语音翻译的任务当中,我们发现在下游比如说multi-task finetune这个过程当中,加入了预训练的额外翻译数据去fine-tune,比只用下游任务的数据去fine-tune得到的BLEU值要高两个多点。这就是我们提出的progressive multi-task learning,也就是永远不要停下来学习。

2. 数据增强:IWSLT 2021 评测

有了之前关于模型的修改以及训练技巧方面的优化,我们参加了今年的IWSLT评测,我们希望可以利用更大规模的ASR或者翻译的数据,来探索端到端系统的能力上限,这时候我们加入的额外方法就是利用机器翻译来生成语音翻译的伪数据。这个方法还有很多别名,比如说pseudo labeling,即伪标签技术,或叫知识蒸馏技术,或者也叫做forward translation,即前向翻译技术。

我们在今年的测试集上取得了非常不错的效果。

这里解释一下given和own的概念:

  • given:测试集的音频的切分方式是由官方提供的,即没有对测试集做任何修改。

  • own:比赛者可以对音频进行重新合并再切分。

在2021年的测试集上,我们的系统达到了31.3的BLEU值,测试集的基线大概在23左右,我们比基线提高了七个点。主要所使用的方法是基于XSTnet三合一的模型,以及模型蒸馏,和一些模型集成的技术,最后取得了31.3的结果。

图片

黄色的是ESPnet的一个结果,它修改了原始音频的切分方法,比我们高了0.1,但是在没有修改原始音频的情况下,可以看到我们比大部分竞品的系统要好很多。

05

精彩问答

Q:端到端的语音翻译如何解决翻译错误的干预需求?

A:我觉得可以参考语音识别的热词的干预方法,或者加一些文本翻译的比如code switch的一些方法,去引入一些额外的数据来训练。这个问题其实暂时好像在行业内还没有人去考虑过,我觉得确实是未来端到端语音翻译要上线的话,必须要面临的一个问题。

Q:端到端模型和级联模型,哪一个实际系统更好?语音翻译发展这么快的一个契机是什么?

A:从IWSLT的评测上来讲,从去年开始,最优的端到端系统其实已经略微好于级联系统。但是从我们真正投入到工业生产实际来说,其实还是级联系统是主流。因为端到端直接的数据太少了,无法训练出一个能对标级联系统数据量的端到端系统。

然后说语音翻译快速发展的契机,我感觉主要是因为现在像现在互联网、5G的发展,我们获取信息的途径已经不限于文本,更多的可能是视频(如抖音和快手),在这种背景下,我们其实更多就是要以考虑多模态的一些问题。我觉得今年从文本变到语音其实是一个很自然的过程。而且现在算力发展非常好,你可以考虑用更多的数据去训练更大的模型。

今天的分享就到这里,谢谢大家。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多