幸运的是,随着近年来机器翻译技术的快速发展,尤其是自 2017 年 Transformer 模型提出以来,基于神经网络的机器翻译方法渐渐受到更多关注并且已经应用到了各大商业机器翻译系统当中,大大减少了语言障碍带来的不便,促进了人与人之间的交流。但与此同时,随着互联网的发展,人们日常能获取到的信息也不再局限于文本,音视频形式如今同样成为信息传递的主要手段。因此,如何将语音信息翻译成不同语言的文本也是一个要攻克的难题。
语音翻译 (Speech Translation, ST) 就是将一种语言的语音翻译成另一种语言的文本。它有非常多重要且有趣的应用,例如:



如今,实用的商业语音翻译系统都是通过串接自动语音识别系统 (Automatic Speech Recognition, ASR) 和机器翻译系统 (Machine Translation, MT) 实现的,语音翻译的效果一定程度上随着语音识别和机器翻译技术的发展而提升。然而这类级联的系统往往会存在错误累积的问题,即语音识别错误会直接导致机器翻译结果出错。为了解决这个问题,随着近几年序列到序列建模 (sequene-to-sequence modeling) 方法在机器翻译和语音识别上的应用和发展[1-4],研究者也开始探索能够直接将音频翻译成文本的端到端 (end-to-end) 语音翻译技术。
级联语音翻译系统就是先使用一个语音识别模块将音频识别成文本,再用一个机器翻译模块将文本翻译成不同的语言。这种方法的优势是可以利用大规模的语音识别数据和机器翻译数据分别将两个模块优化到极致。但是,语音识别的文本有以下一些特征或常见的错误:
因此在实际应用的时候,还需要经过一定的后处理才能输入到翻译模块中。例如:

可以看到,级联系统支持我们插入各种优化处理模块,并且各个模块可以被单独优化和替换。但各种被引入用于修正/纠错的模块又可能会引入更多的错误,因此级联语音翻译系统面临最大的挑战就是错误传播问题 (error propagation) 以及计算复杂度高。
端到端语音翻译是一个统一的直接将语音翻译成文本的模型。这得益于“编码器-解码器”框架的发展,尤其是其在机器翻译[1]和语音识别[2-4]上的应用。相比级联模型,端到端模型的优势是可以缓解错误传播的问题,还可以简化模型部署的过程。

目前,比较常用的端到端语音翻译模型还是基于 Transformer,如下图所示:

它的“编码器-解码器”主干结构就是标准的 Transformer,而与基于 Transformer 的神经机器翻译唯一不同的是输入端的词向量变成了音频的表示 (representation)。而我们知道,音频文件被读入到计算机程序之后,他的表示方式是一串离散的采样点(即声音在介质中振动的幅度),假设音频的采样率是 16,000(即每秒 16,000 个采样点),那么即便是一段只有几秒的音频,读入到程序中的序列也会非常长,因此在正式输入到 Transformer 之前,还需要进行音频特征抽取。如下图所示是两种目前最常用的端到端语音翻译模型中的音频特征提取方式:

端到端的建模方法比传统的级联语音翻译更具备潜力,我们可以通过如下推导进行论证(X 表示音频输入,S 和 T 分别表示语音识别结果和翻译结果)[7]:

因此,无论是从模型复杂度,还是从效果而言,端到端的建模方法都具备更强的潜力。
我们其实可以通过增强机器翻译模型的鲁棒性、使用 ASR 输出的 Top K 结果(如 lattice)、或者在标点模块/翻译模块中结合更多的音频信息来提升级联模型的效果,但本文对此不作过多讨论,因为要公平地比较这些方法需要大规模且相匹配的训练数据做支撑,目前端到端语音翻译的数据规模还不足以做到这一点。
如果端到端语音翻译具备强大的潜力,那为什么现在商业的语音翻译系统还都是级联的?
这就关系到端到端方法最大的不足:数据资源稀缺。

以学术界开源的数据为例,机器翻译研究中比较常用的有 WMT 数据,WMT21 En-De 就包含 4000 多万平行语料,再加上 OpenSubtitles(影视字幕)、CCMatrix(清洗自 CommonCrawl)[8]等,光 En-De 语向就能积累到上亿的平行语料。对于语音识别任务,2021 年也有研究者发布了 GigaSpeech 数据集,包含 1 万小时有标注的英文音频数据。而对于端到端语音翻译任务,目前比较常用的数据集为 MuST-C [9],其中 En-De 语向包含 400 小时的音频以及对应 25 万句转写和翻译,数据规模远不如机器翻译和语音识别任务。
究其原因,主要在于语音翻译数据集构建流程复杂、成本高。比如我们需要先找到一个数据源,能够同时满足:带有公开或者已授权的音频,对应的转写和翻译。接着需要对音频、转写和翻译进行切分,最后还要对齐以及过滤。经过这一系列的操作,最后获得的有效数据的规模也不会很可观。而对于工业界而言,标注一份数千或者上万小时的语音翻译数据也要消耗大量的人力、财力和时间。
为此,研究者们提出了许多方法来提升端到端语音翻译的效果,比如更有效地利用大规模的语音识别和机器翻译的数据、引入预训练模型、重新设计编码器和解码器等,我们也在这一方向上积累了一系列工作。
我们尝试利用语音识别和机器翻译的数据来增强端到端语音翻译,主要围绕三个方面:更有效的编码器和解码器、训练技巧和策略、数据增强。

论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/17509
深入阅读:https://mp.weixin.qq.com/s/D0BnXHh1w0AuCBBhv0nFBQ
文章认为,现有基于 Transformer 的端到端语音翻译模型存在两点不足:

论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/17508
深入阅读:https://mp.weixin.qq.com/s/Af6p1jVlkePrIZmUrjIaNw
虽然端到端语音翻译直接接收音频作为输入,但语音到文本的跨模态翻译难度会更大。另一方面,联想到人类译员在做交传或同传的时候,通常会记录一些源语言的关键词来帮助翻译,文章便基于此,提出了在序列到序列模型的解码过程中“连续预测”的方式,即让端到端语音翻译模型的解码器先预测原音频的转写结果,再继续预测翻译结果。这样一来,解码器端的自注意力机制可以使得在生成翻译的时候“参考”到音频的转写内容,同时单独看解码器其实是一个双语的语言模型,可以利用文本翻译的中的平行语料进行预训练,也有效缓解了语音翻译训练数据稀缺的问题。

论文地址:https://aclanthology.org/2021.findings-acl.195/
深入阅读:https://mp.weixin.qq.com/s/G_sqv9kAebm-PvIcu1hGHQ
日常生活中,我们是否会有这样的经历,就是在听一些节奏感强、有歌词的歌的时候,工作效率会严重下降。认知神经科学对此有过相关的解释,就是声音和文字信号传入大脑之后会共享部分处理路径。文章提出的 Chimera 模型就建模了这一思路,语音/文本输入之后,会先经过各自的声学编码器/文本编码器进行编码,然后再通过若干个公共的“记忆元”提取真正有用的语义信息,而对于这套语义信息最开始是来自音频还是文本,模型不做区分,由此模型便可以得到一个同时建模音频和文本的共享语义空间。此外,从文本输入到译文输出这部分链路还可以用更多额外的文本翻译数据进行训练,进一步缓解了语音翻译语料不足的问题。

论文地址:https://www.isca-speech.org/archive/interspeech_2021/ye21_interspeech.html
文章为了更充分地利用语音识别、文本翻译和语音翻译三种数据,设计了一种能够同时做这三类任务的模型。模型的编码器支持同时输入文本和音频,并且它们共享整个编码器的参数,在解码生成的时候,用生成句子的语言当作句子开始标记(如果跟音频语言一致,那么做的就是识别任务;如果不一致,就是翻译任务)。此外,文章还提出一种渐进式的学习方式 (progressive training),就是先用文本翻译的数据预训练整个网络,再逐步加上语音识别和语音翻译任务一起调优。实验表明,这样的模型训练方式会比只用语音翻译任务去微调效果更好。

论文地址:https://aclanthology.org/2021.iwslt-1.6
文章尝试探索端到端系统的能力上限,引入了更多的语音识别数据和机器翻译数据,并结合多任务学习方法、伪标签技术、模型集成等方法,将端到端语音翻译的性能提高了将近 8 BLEU,也逐步缩小跟级联系统的效果差距。

论文地址:https://aclanthology.org/2021.acl-demo.7/
项目地址:https://github.com/bytedance/neurst
文章推出了一套端到端语音翻译工具包,基于结构化的设计可以方便地插入和修改各种数据预处理模块、编码器、解码器结构等。并提供标准化的 libri-trans、MuST-C 等语音翻译数据集的数据预处理、训练和推理脚本,以及实验基准结果。

论文地址:https://aclanthology.org/2022.acl-long.486/
近期的一些研究工作都在尝试引入更多的文本翻译数据来缓解端到端语音翻译数据稀缺的问题,但是语音和文本之间存在着表示不一致的问题,文章称之为模态鸿沟 (Modality Gap) ,这时模型难以从文本翻译数据中学习到对语音翻译有用的知识。为了更有效地利用文本翻译数据,文章提出在训练的时候在语音表示中随机替换一部分为对应的文本表示,得到混合了语音和文本表示的序列,使模型学习到语音和文本模态间共享的语义空间。同时,模型使用多任务学习的方式,让原始音频生成的翻译结果和混合表示生成的结果更接近,进而提升最后解码时候的语音翻译质量。

论文地址:https://arxiv.org/abs/2205.02444
文章在 XSTNet 的基础上,探讨模态鸿沟的问题。文章认为,在多任务学习的框架下同一个句子的语音表示和文本表示在语义空间中应该是相近的。为此,文章提出使用一个对比学习损失项来拉近相同句子的语音和文本表示,进而更加充分地利用额外的文本翻译数据提升语音翻译的性能。

论文地址:https://aclanthology.org/2022.acl-long.50/
流式语音翻译需要将实时的语音输入翻译成文本。传统的端到端式语音翻译系统一般把固定的输入时长作为判断系统读写的依据,这种做法面临着两大问题:一方面对于长语音信息它无法保证每次读入的语音信息是完整的,造成翻译质量下降;另一方面对于短语音信息它也无法提前结束读入,造成翻译延迟升高。为了更好地判断流式语音翻译的读写时机,文章引入了一种单调切分模块,能够检测音频流的边界,实现动态读写。实验发现,新模块在延迟和质量两个维度上全面超越以往的流式语音翻译模型,同时还能够让模型在非流式的场景下也有不错的表现。
我们认为,端到端语音翻译不仅比级联系统复杂度低,同时效果上更具备潜力。基于我们的前期的探索,我们尝试结合数据增强、多任务学习、预训练等方式构建了中-英和英-中端到端语音翻译系统,在日常对话翻译上具备不错的翻译效果。同时,我们使用了 LightSeq[10] 来提高模型推理速度,服务响应时间比级联系统快了 70%以上,目前可以在“火山翻译小程序-音频翻译”中体验到。
