0
点赞
收藏
分享

微信扫一扫

自动语音识别(ASR):研究综述【传统语音识别:基于贝叶斯公式,对联合概率P(X|W)·P(W)进行建模(语音识别结果=声学模型×语言模型)】【端到端语音识别:直接对条件概率 P(W|X)进行建模 】

一、传统语音识别基本原理(基于贝叶斯公式)

设一段语音信号经过特征提取得到特征向量序列为 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) 的乘积最大, 其中:

  • P(X|W) 为条件概率, 由声学模型决定;
  • P(W) 为先验概率, 由语言模型决定.

声学模型和语言模型对语音信号的表示越精准, 得到的语音系统效果越准确.

从语音识别系统的构成来讲, 一套完整的语音识别系统包括预处理、特征提取、声学模型、语言模型以及搜索算法等模块,

在这里插入图片描述
预处理包括预滤波、采样、模/数转换、预加重、分帧加窗、端点检测等操作.

其中, 信号分帧是将信号数字化后的语音信号分成短时信号作为识别的基本单位. 这主要是因为语音信号是非平稳信号, 且具有时变特性, 不易分析; 但其通常在短时间范围 (一般为 10–30 ms) 内其特性基本不变, 具有短时平稳性, 可以用来 分析其特征参数.

搜索模块是指在训练好声学模型和语言模型后,根据字典搜索最优路径, 即最可能的输出词序列. 传统的语音识别解码建立在加权有限状态转换器 (weightedfinite state transducer, WFST) 所构成的动态网络上, 将HMM状态、词典和语法等结合起来. 目前端到端模型中主流的搜索算法为 Beam Search 等.

1、声学模型

声学模型是对等式 (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], 以期训练更复杂、更强大的声学模型.

2、语言模型

语言模型是用来预测字符 (词) 序列产生的概率,判断一个语言序列是否为正常语句, 也就是解决如何计算等式 (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 中隐含层的循环能够获得更多上下文信息, 通过在整个训练集上优化交叉熵来训练模型, 使得网络能够尽可能建模出自然语言序列与后续词之间的内在联系. 其优势在于相同的网络结构和超参数可以处理任意长度的历史信息, 能够利用神经网络的表征学习能力, 极大程度避免了未登录问题; 但无法任意修改神经网络中的参数, 不利于新词的添加和修改, 且实时性不高.

二、端到端语音识别

举报

相关推荐

0 条评论