17.2 语音翻译 583
17.2 语音翻译
语音,是人类交流中最常用的一种信息载体。从日常聊天、出国旅游,到国际会
议、跨国合作,对于语音翻译的需求不断增加。甚至在有些场景下,用语音进行交
互要比用文本进行交互频繁得多。因此,语音翻Speech Translation)也成为了语
音处理和机器翻译相结合的重要产物。根据目标语言的载体类型,可以将语音翻译
分为语音到文本翻译Speech-to-Text Translation语音到语音翻译Speech-to-Speech
Translation基于翻译的实时性,还可以分为实时语音翻译(即同声传译,Simultaneous
Translation离线语音翻译Offline Speech Translation本节主要关注离线语音到
文本翻译方法(简称为语音翻译)分别从音频处理、级联语音翻译和端到端语音翻
译几个角度开展讨论。
17.2.1 音频处理
为了保证对相关内容描述的完整性,这里对语音处理的基本知识作简要介绍。
同于文本,音频本质上是经过若干信号处理之后的波形Waveform具体来说,
音是一种空气的震动,因此可以被转换为模拟信号。模拟信号是一段连续的信号,
过采样变为离散的数字信号。采样是每隔固定的时间记录一下声音的振幅,采样率
表示每秒的采样点数,单位是赫兹Hz采样率越高,采样的结果与原始的语音越
相像。通常来说,采样的标准是能够通过离散化的数字信号重现原始语音。日常生
活中使用的手机和电脑备的采样率一般为 16kHz,表示每 16000 采样点;而
音频 CD 的采样率可以达到 44.1kHz经过进一步的量化,将采样点的值转换为整型
数值保存,从而减少占用的存储空间,通常采用的是 16 位量化。将采样率和量化位
数相乘,就可以得到比特率Bits Per SecondBPS表示音频每秒占用的位数。
如,16kHz 采样率 16 位量化音频,特率 256kb/s。音处理整体程如
17.2所示
[1042, 1043]
声波
采样
量化
模拟
语音信号
离散
时间信号
数字离散
时间信号
语音信号
17.2 音频处理过程
经过上面的描述可以看出,音频的表示实际上是一个非常长的采样点序列,这
导致了直接使用现有的深度学习技术处理音频序列较为困难。并且,原始的音频信
号中可能包含着较多的噪声、环境声或冗余信息,也会对模型产生干扰。因此,一般
会对音频序列进行处理来提取声学特征,具体为将长序列的采样点序列转换为短序
列的特征向量序列,再用于下游系统。虽然已有一些工作不依赖特征提取,直接在
584 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
原始的采样点序列上进行声学建模和模型训练
[1044]
但目前的主流方法仍然是基于声
学特征进行建模
[1045]
声学特征提取的第一步是预处理。其流程主要是对音频进行预加重Pre-emphasis
分帧Framing加窗Windowing预加重是通过增强音频信号中的高频部分
来减弱语音中对高频信号的抑制,使频谱更加顺滑。分帧(原理如图17.3所示)是基
于短时平稳假设,即根据生物学特征,语音信号是一个缓慢变化的过程,10ms30ms
的信号片段是相对平稳的。基于这个假设,一般将每 25ms 作为一帧来提取特征,
个时间称为帧长Frame Length)。同时,为了保证不同帧之间的信号平滑性,使每
分。 10ms 取一帧,
Frame Shift)。为了缓解分帧带来的频谱泄漏问题,需要对每帧的信号进行加窗处
理使其幅度在两端渐变到 0,一般采用的是汉明窗Hamming Window
[1042]
0
时间
量化值
帧长
帧移
17.3 分帧原理图
经过了上述的预处理操作,可以得到音频对应的帧序列,之后通过不同的操作
来提取不同类型的声学特征。在语音翻译中,比较常用的声学特征为
滤波器组
Filter-
bankFbank Mel 频率倒谱系数Mel-frequency Cepstral CoefficientMFCC
[1042]
实际上,提取到的声学特征可以类比于计算机视觉中的像素特征,或者自然语言处
理中的词嵌入表示。不同之处在于,声学特征更加复杂多变,可能存在着较多的噪
声和冗余信息。此外,相比对应的文字序列,音频提取到的特征序列长度要大十倍
以上。比如,人类正常交流中每秒钟一般可以说 2-3 个字,而每秒钟的语音可以提取
得到 100 帧的特征序列。巨大的长度比差异也为声学特征建模带来了挑战。
17.2.2 级联式语音翻译
实现语音翻译最简单的思路是基于级联的方式,即:先通过自动语音识别Auto-
matic Speech RecognitionASR)系统将语音转化为源语言文本,然后利用机器翻译
系统将源语言文本翻译为目标语言文本。这种做法的好处在于语音识别和机器翻译
模型可以分别进行训练,有很多数据资源以及成熟技术可以分别运用到两个系统中。
因此,级联语音翻译是很长时间以来的主流方法,深受工业界的青睐。级联语音翻
译主要的流程如图17.4所示。
17.2 语音翻译 585
语音信号
[[0.2,...,0.3],
...,
0.3,...,0.5]]
语音特征
源语言文本及其词格
S
a
c
f
E
b
d
e
g
0.4
1 1
1
0.6
0.8
0.2
1
1
1
你是谁
Who are you?
翻译结果
音频
特征提取
语音
识别系统
翻译系统
17.4 级联式语音翻译流程示例
由于声学特征提取在上一节中已经进行了描述,而且文本翻译可以直接使用本
书介绍的统计机器翻译或者神经机器翻译方法。因此下面简要介绍一下语音识别模
型,以便读者对级联式语音翻译系统有一个完整的认识。其中的部分概念在后续介
绍的端到端语言翻译中也会有所涉及。
传统的语音识别模型和统计机器翻译相似,需要利用声学模型、语言模型和发
音词典联合进行识别,系统较为复杂
[1046, 1047, 1048]
而近些年来,随着神经网络的发展,
基于神经网络的端到端语音识别模型逐渐受到关注,训练流程也大大被简化
[1049, 1050]
目前的端到端语音识别模型主要基于序列到序列结构,编码器根据输入的声学特征
进一步提取高级特征,解码器根据编码器提取的特征识别对应的文本。17.2.3小节
中介绍的端到端语音翻译模型也是基于十分相似的结构。因此,从某种意义上说,
音识别和翻译所使用的端到端方法与神经机器翻译是一致的。
语音识别目前广泛使用基于 Transformer 的模型结构(见第十二章)如图17.5
示。可以看出,相比文本翻译,语音识别模型结构上唯一的区别在于编码器的输入
为声学特征,以及编码器底层会使用额外的卷积层来减小输入序列的长度。这是由
于语音对应的特征序列过长,在计算注意力模型的时候,会占用大量的内存和显存,
并增加训练时间。因此,一个常用的做法是在语音特征上进行两层步长 2 的卷积
操作,从而输入列的度缩为之 1/4。通过使用大的语-注平
据对模型进行训练,可以得到高质量的语音识别模型。
为了低语识别错误游系的影响,通常用词来取 One-best
语音识别结果。除此之外,另一种思路是通过一个后处理模型修正识别结果中的错误,
再送给文本翻译模型进行翻译。也可以进一步对文本做顺滑Disfluency Detection
理,使得送给翻译系统的文本更加干净、流畅,比如除去一些导致停顿的语气词。
一做法在工业界得到了广泛应用,但由于每个模型只能串行地计算,也会带来额外
的计算代价以及运算时间。第三种思路是训练更加健壮的文本翻译模型,使其可以
处理输入中存在的噪声或误差
[594]
17.2.3 端到端语音翻译
级联语音翻译模型结构简单、易于实现,但不可避免地存在一些缺陷:
错误传播问。级联模型导致的个很严重的问题在于,语音识别模型到的
文本如果存在错误,这些错误很可能在翻译过程中被放大,从而使最后翻译结
586 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
CNN
位置编码
语音特征
FBank/MFCC
Masked
Multi-Head
Attention
Add & LayerNorm
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
Softmax
标注文本
编码表示
位置编码
N×
×N
2×
ASR
编码器
ASR
解码器
17.5 基于 Transformer 的语音识别模型
果出现比较大的偏差。比如识别时在句尾少生成了个“吗”,会导致翻译模型
将疑问句翻译为陈述句。
翻译效率问。由于语音识别模和文本标注模型只串行地计算,翻效率
相对较低,而实际很多场景中都需要实现低延时的翻译。
语音中的副语言信息丢失将语音识别为文本的过程中,语音中包含的语气、
感、音调等信息会丢失,而同一句话在不同的语气中表达的意思很可能是不同
的。尤其是在实际应用中,由于语音识别结果通常并不包含标点,还需要额外
的后处理模型将标点还原,也会带来额外的计算代价。
针对级联语音翻译模型存在的缺陷,研究人员提出了端到端的语音翻译模型End-
to-End Speech TranslationE2E-ST
[1051, 1052, 1053]
也就是模型的输入是源语言语音,
出是对应的目标语言文本。相比级联模型,端到端模型有如下优点:
端到端模型不需要多阶段的处理,因此避免了错误传播问题。
同样地,端到端模型所涉及的模块更少,容易控制模型体积。
端到端模型语音信号可以直接作用于翻译过程,因此可以使得副语言信息得以
体现。
17.2 语音翻译 587
Transformer 模型为例,图17.6展示了端到端语音翻译的架构(下文中语音
译模型均指端到端的模型)该模型采用的也是序列到序列架构,编码器的输入是从
语音中提取的特征(比如 FBank 特征)编码器底层采用和语音识别模型相同的卷积
结构来降低序列的长度(见17.2.2节)。之后的流程和标准的神经机器翻译是完全一
致的,编码器对语音特征进行编码,解码器根据编码结果生成目标语言的翻译结果。
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
CNN
位置编码
源语言语音特征
FBank/MFCC
Masked
Multi-Head
Attention
Add & LayerNorm
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
Softmax
目标语言文本
编码表示
位置编码
N×
×N
2×
ST
编码器
ST
解码器
17.6 基于 Transformer 的端到端语音翻译模型
虽然端到端语音翻译模型解决了级联模型存在的问题,但同时也面临着两个严
峻的问题:
训练数据稀。虽然语音识别和本翻译的训练数据很多,但是直接源语
言语音到目标语言文本的平行数据十分有限,因此端到端语音翻译天然地就是
一种低资源翻译任务。
建模复杂度更高。在语音识别中,模型需要学习如何生成语音对应的文字序列,
而输入和输出的对齐比较简单,并不涉及调序的问题。在文本翻译中,模型要
学习如何生成源语言序列对应的目标语言序列,仅需要学习不同语言之间的映
射,不涉及到模态的转换。而语音翻译模型需要学习从语音到目标语言文本的
生成,任务更加复杂。
针对这两个问题,研究人员们也提出了很多方法进行缓解,包括多任务学习、
588 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
移学习等,主要思想都是利用语音识别或文本翻译数据来指导模型的学习。并且,
本翻译的很多方法对语音翻译技术的发展提供了思路。如何将其他领域现有的工作
在语音翻译任务上验证,也是语音翻译研究人员当前所关注的
[1054]
1. 多任务学习
一种思路是进行多任务学习,让模型在训练过程中得到更多的监督信息。使用
多个任务强化主任务(机器翻译)在本书的第十五章和第十六章也有所涉及。从这
个角度说,机器翻译中很多问题的解决手段都是一致的。
语音翻译中多任务学习主要借助语音对应的标注信息,也就是源语言文本。连接
时序分类Connectionist Temporal ClassificationCTC
[1055]
是语音处理中最简单有效
的一种多任务学习方法
[1056, 1057]
被广泛应用于文本识别任务中
[1058]
CTC 可以将输入
序列的每一位置都对应到标注文本中,学习语音和文字之间的软对齐关系。如图17.7
对于下面的音频序列,
CTC
可以将每个位置分别对应到同一个词。需要注意的是,
CTC 会额外新增一个词 ϵ类似于一个空白词,表示这个位置没有声音或者没有任何
对应的预测结果。在对齐完成之后,将相同且连续的词合并,去除 ϵ就可以得到预
测结果。
音频数据输入
h
e e
ϵ
l
ϵ
l l
o o
h
e
l l
o
h
e
l l
o
预测字母序列
合并重复字母
并丢弃 ϵ
最终结果输出
17.7 CTC 预测单词序列示例
CTC 的一些特性使其可以很好的完成输入输出之间的对齐,例如:
输入和输出之间的对齐是单调的对于音频输入序列 {s
1
,...,s
m
},其对应的预测
输出序列为 {x
1
,...,x
n
}。假设 s
i
对应的预测输出结果为 x
j
,那么 s
i+1
相对应
的预测结果只能是 x
j
x
j+1
ϵ 三者中的一个。例如对于图17.7中的例子,
果输入的位置 s
i
已经对齐了字符“e,那么 s
i+1
的对齐结果只能是“el
ϵ 三者中的一个。
输入和输出之间是多对一的关系。也就是多个输入会对应到同一个输出上。这对
于语音序列来说是非常自然的一件事情,由于输入的每个位置只包含非常短的
语音特征,因此多个输入才可以对应到一个输出字符。
CTC 应用到语音翻译中的方法非常简单,只需要在编码器的顶层加上一个额
17.2 语音翻译 589
外的输出层即可(图17.8。通过这种方式,不需要增加过多的参数,就可以给模型
加入一个较强的监督信息。
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
Softmax
CNN
位置编码
源语言语音特征
FBank/MFCC
CTC Loss
Masked
Multi-Head
Attention
Add & LayerNorm
Multi-Head
Attention
Add & LayerNorm
Feed Forward
Network
Add & LayerNorm
Softmax
目标语言文本
编码表示
位置编码
N×
×N
2×
ST
编码器
ST
解码器
17.8 基于 CTC 的语音翻译模型
另外一种多任务学习的思想是通过两个解码器,分别预测语音对应的源语言句
子和子,17.9
[1059, 1060]
。图17.9(a) 中采
-双解码器的方式,两个解码器根据编码器的表示,分别预测源语言句子和目标语
言句子,从而使编码器训练地更加充分。这种做法的好处在于源语言的文本生成任
务可助翻程,相当语言提供的“模态”息。17.9(b)
则通过使用两个级联的解码器,先利用第一个解码器生成源语言句子,然后再利用
它的表示,通过第二个解码器生成目标语言句子。这种方法通过增加一个中间输出,
降低了模型的训练难度,但同时也会带来额外的解码耗时,因为两个解码器需要串
行地进行生成。17.9(c) 的模型更进一步利用编码器的输出结果,第二个解码器
联合编码器和第一个解码器的表示进行生成,更充分地利用了已有信息。
2. 迁移学习
相比语音识别和文本翻译,端到端语音翻译的训练数据量要小很多,因此,如何
利用其它数据来增加可用的数据量是语音翻译的一个重要方向。和文本翻译中的方
590 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
编码器
解码器 解码器
s
x
y
(a) 单编码器-双解码器
x:源语言文本数据
y:目标语言文本数据
s:源语言语音数据
编码器
解码器
解码器
s
y
(b) 级联解码器
编码器
解码器 解码器
s
y
(c) 联合编解码器
17.9 双解码器进行语音翻译的三种方式
法相似,一种思路是利用迁移学习或预训练,利用其他语言的双语数据预训练模型
参数,然后迁移到生成目标语言的任务上
[1061]
或者是利用语音识别数据或文本翻译
数据,分别预训练编码器和解码器的参数,用于初始化语音翻译模型的参数
[1062]
训练的编码器对语音翻译模型的学习尤为重要
[1061]
相比文本数据,语音数据的复杂
性更高,仅使用小规模语音翻译数据很难学习充分。此外,模型对声学特征的学习与
语言并不是强相关的,使用其他语种预训练得到的编码器对模型学习也是有帮助的。
3. 数据增强
数据增强是增加训练数据最直接的一种方法。不同于文本翻译的回译等方法(见
第十六章),语音翻译并不具有直接的“可逆性”。如果要利用回译的思想,需要通
过一个模型,将目标语言文本转化为源语言语音,但实际上这种模型是不能直接得
到的。因此,一个直接的思路是通过一个反向翻译模型和语音合成模型级联来生成
伪数据
[1063]
另外,正向翻译模型生成的伪数据在文本翻译中也被验证了对模型训练
有一定的帮助,因此同样可以利用语音识别和文本翻译模型,将源语言语音翻译成
目标语言文本,得到伪平行语料。
此外,也可以利用在海量的无标注语音数据上预训练的监督Self-supervised
模型作为一个特征提取器,将从语音中提取的特征作为语音翻译模型的输入,可以有
效提高模型的性能
[1064]
相比语音翻译模型,文本翻译模型任务更加简单,因此一种
思想是利用文本翻译模型来指导语音翻译模型,比如,使用知识蒸馏
[1065]
正则化
[1066]
等方法。为了简化语音翻译模型的学习,也可以使用课程学习方法(见第十三章)
这样,使模型从语音识别任务,逐渐过渡到语音翻译任务,这种由易到难的训练策
17.2 语音翻译 591
略可以使模型训练更加充分
[1067, 1068]