设一段语音信号经过特征提取得到特征向量序列为 X=[x1, x2, …, xN], 其中 xi 是一帧的特征向量, i=1, 2, …,N, N 为特征向量的数目. 该段语音对应的文本序列设为 W=[w1, w2, …, wM], 其中 wi 为基本组成单元, 如音素、单词、字符, i=1, 2, …, M, M 为文本序列的维度. 从贝叶斯角度, 语音识别的目标就是从所有可能产生特征向量X的文本序列中找到概率最大的W*, 可以用公式表示为式 (1) 优化问题:
由式(1)可知, 要找到最可能的文本序列必须使两个概率 P(X|W) 和 P(W) 的乘积最大, 其中:
声学模型和语言模型对语音信号的表示越精准, 得到的语音系统效果越准确.
从语音识别系统的构成来讲, 一套完整的语音识别系统包括预处理、特征提取、声学模型、语言模型以及搜索算法等模块,
预处理包括预滤波、采样、模/数转换、预加重、分帧加窗、端点检测等操作.
其中, 信号分帧是将信号数字化后的语音信号分成短时信号作为识别的基本单位. 这主要是因为语音信号是非平稳信号, 且具有时变特性, 不易分析; 但其通常在短时间范围 (一般为 10–30 ms) 内其特性基本不变, 具有短时平稳性, 可以用来 分析其特征参数.
搜索模块是指在训练好声学模型和语言模型后,根据字典搜索最优路径, 即最可能的输出词序列. 传统的语音识别解码建立在加权有限状态转换器 (weightedfinite state transducer, WFST) 所构成的动态网络上, 将HMM状态、词典和语法等结合起来. 目前端到端模型中主流的搜索算法为 Beam Search 等.
声学模型是对等式 (1) 中的 P(X|W) 进行建模, 在语音特征与音素之间建立映射关系, 即给定模型后产生语音波形的概率, 其输入是语音信号经过特征提取后得到的特征向量序列. 声学模型整个语音识别系统中最重要的部分, 只有学好了发音, 才能顺利和发音词典、语言模型相结合得到较好的识别性能.
GMM-HMM是最为常见的一种声学模型, 该模型利用 HMM 对时间序列的建模能力, 描述语音如何从一个短时平稳段过渡到下一个短时平稳段; 此外, HMM的隐藏状态和观测状态的数目互不相干, 可以解决语音识别中输入输出不等长的问题. 该声学模型中的每个 HMM 都涉及到 3 个参数: 初始状态概率、状态转移概率和观测概率, 其中观测概率依赖于特征向量的概率分布, 采用高斯混合模型GMM进行建模.
GMM-HMM 声学模型在语音识别领域有很重要的地位, 其结构简单且区分度训练成熟, 训练速度也相对较快. 然而该模型中的GMM忽略时序信息, 每帧之间相对孤立, 对上下文信息利用并不充分. 且随着数据量的上升, GMM需要优化的参数急剧增加, 这给声学模型带来了很大的计算负担, 浅层模型也难以学习非线性的特征变换.
深度学习的兴起为声学建模提供了新途径, 学者们用深度神经网络 (deep neural network, DNN) 代替 GMM 估计 HMM 的观测概率, 得到了 DNN-HMM 语音识别系统, 其结构如图 3 所示. DNN-HMM 采用DNN的每个输出节点来估计给定声学特征的条件下HMM 某个状态的后验概率.
相比于 GMM-HMM, DNN-HMM 具有更好的泛化能力, 擅长举一反三, 帧与帧之间可以进行拼接输入, 特征参数也更加多样化, 且对所有状态只
需训练一个神经网络. 文献[4]证实了神经网络在大词汇量语音识别领域的出色表现.
通过将 DNN 取代 GMM 对 HMM 观测概率进行声学建模, DNN-HMM 相比 GMM-HMM 在语音识别性能方面有很大提升; 然而, DNN 对于时序信息的上下文建模能力以及灵活性等方面仍有欠缺. 针对这一问题, 对上下文信息利用能力更强的循环神经网络RNN[14] 和卷积神经网络 CNN[15] 被引入声学建模中. 在RNN的网络结构中, 当前时刻的输出依赖记忆与当前时刻的输入, 这对于语音信号的上下文相关性建模非常有优势. 然而, RNN 存在因梯度消失和梯度爆炸而难以训练的问题, 于是研究人员引入门控机制, 得到梯度传播更加稳定的长短时记忆 (long short-term memory, LSTM) 网络. LSTM-RNN 对语音的上下文信息的利用率更高, 识别的准确率与鲁棒性也均有提升, 这些在文献 [16] 中能得到证实. CNN 的优势在于卷积的不变性和池化技术, 对上下文信息有建模能力, 对噪声具有鲁棒性, 并且可以减少计算量. 时延神经网络 (time delay neural network, TDNN) 是 CNN 对大词汇量连续语音 识别的成功应用[17]. CLDNN (CNN-LSTM-DNN) 综合了三者的优点, 实验结果也证明了三者的结合得到了正向的收益。
总体而言, 近年来语音识别中对声学模型的研究仍集中在神经网络, 针对不同的应用场景和需求对上述经典网络结构进行综合和改进[19–21], 以期训练更复杂、更强大的声学模型.
语言模型是用来预测字符 (词) 序列产生的概率,判断一个语言序列是否为正常语句, 也就是解决如何计算等式 (1) 中的 P(W). 传统的语言模型 n-gram[22] 是一种具有强马尔科夫独立性假设的模型, 它认为任意一个词出现的概率仅与前面有限的n–1个字出现的概 率有关, 其公式表达如下:
然而, 由于训练语料数据不足或者词组使用频率过低等常见因素, 测试集中可能会出现训练集中未出现过的词或某个子序列未在训练集中出现, 这将导致n-gram 语言模型计算出的概率为零, 这种情况被称为未登录词 (out-of-vocabulary, OOV) 问题. 为缓解这个问题, 通常采用一些平滑技术, 常见的平滑处理有Discounting、Interpolation 和 Backing-off 等. n-gram 模型的优势在于其参数易训练, 可解释性极强, 且完全包含了前n–1个词的全部信息, 能够节省解码时间; 但难 以避免维数灾难的问题, 此外 n-gram 模型泛化能力弱, 容易出现OOV问题, 缺乏长期依赖.
随着深度学习的发展, 语言模型的研究也开始引入深度神经网络. 从 n-gram 模型可以看出当前的词组 出现依赖于前方的信息, 因此很适合用循环神经网络进行建模. Bengio 等将神经网络用于语言模型建模[23] , 提出用词向量的概念, 用连续变量代替离散变量, 利用神经网络去建模当前词出现的概率与其前n–1个词之 间的约束关系. 这种模型能够降低模型参数的数量, 具有一定的泛化能力, 能够较好地解决数据稀疏带来的问题, 但其对取得长距离信息仍束手无策. 为进一步解决问题, RNN 被用于语言模型建模[24]. RNNLM 中隐含层的循环能够获得更多上下文信息, 通过在整个训练集上优化交叉熵来训练模型, 使得网络能够尽可能建模出自然语言序列与后续词之间的内在联系. 其优势在于相同的网络结构和超参数可以处理任意长度的历史信息, 能够利用神经网络的表征学习能力, 极大程度避免了未登录问题; 但无法任意修改神经网络中的参数, 不利于新词的添加和修改, 且实时性不高.
传统的语音识别由多个模块组成, 彼此独立训练,但各个子模块的训练目标不一致, 容易产生误差累积,使得子模块的最优解并不一定是全局最优解. 针对这个问题, 学者们提出了端到端的语音识别系统, 直接对等式 (1) 中的概率 P(W|X) 进行建模, 将输入的语音波形 (或特征矢量序列) 直接转换成单词、字符序列. 端到端的语音识别将声学模型、语言模型、发音词典等模块被容纳至一个系统, 通过训练直接优化最终目标, 如词错误率 (word error rate, WER)、字错误率 (char- acter error rate, CER), 极大地简化了整个建模过程.
目前端到端的语音识别方法主要有以下两类方法及其改进方法:
CTC 引入空白符号 (blank) 解决输入输出序列不 等长的问题, 主要思想是最大化所有可能对应的序列概率之和, 无需考虑语音帧和字符的对齐关系, 只需要输入和输出就可以训练. CTC实质是一种损失函数, 常
与 LSTM 联合使用. 基于 CTC 的模型结构简单, 可读
性较强, 但对发音词典和语言模型的依赖性较强, 且需
要做独立性假设. RNN-Transducer 模型[27] 是对 CTC
的一种改进, 加入一个语言模型预测网络, 并和 CTC
网络通过一层全连接层得到新的输出, 这样解决了
CTC输出需做条件独立性假设的问题, 能够对历史输
出和历史语音特征进行信息累积, 更好地利用语言学
信息提高识别准确率.
基于注意力机制的端到端模型最开始被用于机器
翻译, 能够自动实现两种语言的不同长度单词序列之
间的转换. 该模型主要由编码网络、解码网络和注意
力子网络组成. 编码网络将语音特征序列经过深层神
经网络映射成高维特征序列, 注意力网络分配权重系
数, 解码网络负责输出预测的概率分布. 该模型不需要
先验对齐信息, 也不用音素序列间的独立性假设, 不需
要发音词典等人工知识, 可以真正实现端到端的建模.
2016 年谷歌提出了一个 Listen-Attend-Spell (LAS) 模
型[28], 其结构框图如图 4 所示. LAS 模型真正实现了端
到端, 所有组件联合训练, 也无独立性假设要求. 但
LAS 模型需要对整个输入序列之后进行识别, 因此实
时性较差, 之后也有许多学者对该模型不断改进[29–31].
语音识别作为人机交互的关键技术一直是科技应
用领域的研究热点. 目前, 语音识别技术从理论研究到
产品的开发都已取得了很多的成果, 然而, 相关研究及
应用落地仍然面临很大挑战, 具体可归纳为以下几方面:
目前, 理想条件下 (低噪声加近
场) 的语音识别准确率已经达到一定程度. 然而, 在实
际一些复杂语音环境下, 如声源远场等情景, 低信噪
比、房间混响、回声干扰以及多声源信号干扰等因素,
使得语音识别任务面临很大挑战. 因此, 针对复杂环境
研究鲁棒语音识别是目前语音识别领域的研究难点和
热点. 当前, 针对复杂环境下的语音识别研究大致可以
分为 4 个方向:
这是对各种小语种语言识别研
究的统称. 小语种不同于方言, 有独立完整的发音体系,
各异性较强但数据资源匮乏, 难以适应以汉语、英语
为主的语音识别系统, 声学建模需要利用不充分的数
据资源训练得到尽可能多的声学特征. 解决这一问题
的基本思路可以概括为从主流语言的丰富资源中提取
共性训练出可以公用的模型, 在此基础上训练小语种
模型. 文献 [58] 为解决共享隐藏层中会学到不必要的
特定信息这一问题, 提出了一个共享层和特有层平行
的模型,它通过对抗性学习确保模型能够学习更多不
同语种间的不变特征. 然而, 小语种种类繁多, 为了单
独一种建立识别系统耗费过多资源并不划算, 因此现
在主要研究多语种融合的语音识别系统
各种语言中都存在相似发音的词
语, 不同的讲话者存在不同的发音习惯以及口音、方
言等问题, 母语者和非母语者说同一种语言也存在不
同的口音, 难以针对单独的口音构建模型. 针对多口音
建模[61] 的问题, 现有的方法一般可以分为与口音无关
和与口音相关两大类, 其中与口音无关的模型普遍表
现更好一些. 文献 [62] 尝试通过特定口音模型的集合
建立统一的多口音识别模型; 文献 [63] 通过多任务学
习将声学模型和口音识别分类器联合; 文献 [64] 则基
于GAN构建了预训练网络从声学特征中区分出不变
的口音.
精度高效果好的神经网络模型往往
需要大量的计算资源且规模巨大, 但移动设备 (如手
机、智能家居等) 计算能力和内存有限, 难以支撑, 因
此需要对模型进行压缩及加速. 目前针对深度学习模
型采用的压缩方法有网络剪枝、参数量化、知识蒸馏
等. 文献 [65] 采用网络剪枝的方法构建了动态稀疏神经网络 (dynamic sparsity neural networks, DSNN) , 提
供不同稀疏级别的网络模型, 通过动态调整以适应不
同资源和能量约束的多种硬件类型的能力. 文献 [66]
通过量化网络参数减少内存占用并加快计算速度. 知
识蒸馏能够将复杂模型的知识迁入小模型, 已应用于
对语音识别系统的语言模型[67]、声学模型[68]和端到端模
型[29,69,70] 等进行压缩. 文献 [71] 利用知识蒸馏将视听
两模态的识别系统迁移至单听觉模型, 缩小了模型规
模, 加快了训练速度, 却并不影响精度.
本文主要对语音识别的发展、系统结构研究、热
点及难点进行了阐述. 目前主流的语音识别方法大多
基于深度神经网络. 这些方法大体分为两类: 一类是采
用一定的神经网络取代传统语音识别方法中的个别模
块, 如特征提取、声学模型或语言模型等; 另一类是基
于神经网络实现端到端的语音识别. 相比于传统的识
别方法, 基于深度神经网络的语音识别方法在性能上
有了显著的提升. 在低噪音加近场等理想环境下, 当前
的语音识别技术研究已经达到了商业需求. 然而, 在实
际应用中存在各种复杂情况, 如声源远场、小语种识
别、说话人口音、专业语言场景等, 这些情况使得复
杂场景下的语音识别应用落地仍面临挑战. 此外, 尽管
当前深度学习在语音识别的应用确实提高了识别率等
性能, 但效果好的模型往往规模复杂且庞大、需要的
数据资源较为冗余, 不适合用于移动设备(如手机、智
能穿戴设备等); 此外, 小语种、多口音、不同方言等
的识别性能仍然差强人意. 总之, 当前语音识别领域已
取得丰富的研究成果, 但仍有很长一段路要走.
在未来很长一段时间内, 基于深度神经网络的语
音识别仍是主流; 面向不同应用场景, 根据语音信号特
点对现有神经网络结构进行改进仍是未来研究重点.
大体上, 未来语音识别领域的研究方向可大致归纳如下:
(1) 模型压缩与加速. 尽管当前深度学习在语音识
别的应用确实提高了识别率等性能, 但效果好的模型
往往规模复杂且庞大、需要的数据资源较为冗余, 不
适合用于移动设备 (如手机、智能穿戴设备等), 因此
对基于深度神经网络的语音识别系统进行网络模型压
缩和加速, 将是未来语音识别的研究方向之一.
(2) 数据迁移. 在面对小样本数据或复杂问题时,
迁移学习是一种有效的方式. 在语音识别领域中, 采用
迁移学习的方式对小语种、方言口音或含噪语音进行
识别也是未来的研究方向之一.
(3) 多模态数据融合. 对于一些复杂的语音场景
(高噪声、混响、多源干扰等), 可以利用语音信号和其
他信号 (如图像信号、振动信号等) 进行融合, 以提高
语音识别性能, 也是未来研究研究方向之一.
(4) 多技术融合, 提高认知智能. 当前大多数语音
识别算法只关注识别文字内容的正确性; 然而, 许多智
能语音交互的应用(如QA问答、多轮对话等)还涉及
到语义的理解. 因此, 将语音识别技术结合其他技术[72–75]
如自然语言处理 (natural language processing, NLP) 相
结合以提升识别性能也是未来研究方向之一.
参考资料:
CS224S: Spoken Language Processing
马晗,唐柔冰,张义,张巧灵.语音识别研究综述.计算机系统应用,2022,31(1):1–10. http://www.c-s-a.org.cn/1003-3254/8323.html
音频特征(2):时域图、频谱图、语谱图(时频谱图)