深度学习第50讲:语音识别综述——从概念到技术(下)

时间:2024-04-06 15:44:27

     在上一节中,笔者对语音识别系统的概述、信号处理和特征提取方法以及基于传统 GMM 和 HMM 的声学模型进行了简单的综述,详情可戳:

     本节,笔者继续对语音识别的剩余两个部分进行简单综述,以期对整个语音识别技术系统有一个相对全面的了解。本节我们要做综述的是基于深度学习的声学模型和端到端的语音识别系统。

4. 基于深度学习的声学模型

     一提到神经网络和深度学习在语音识别领域的应用,可能我们的第一反应就是循环神经网络 RNN 模型以及长短期记忆网络 LSTM 等等。实际上,在语音识别发展的前期,就有很多将神经网络应用于语音识别和声学模型的应用了。

     最早用于声学建模的神经网络就是最普通的深度神经网络(DNN),GMM 等传统的声学模型存在音频信号表征的低效问题,但 DNN 可以在一定程度上解决这种低效表征。但在实际建模时,由于音频信号是时序连续信号,DNN 则是需要固定大小的输入,所以早期使用 DNN 来搭建声学模型时需要一种能够处理语音信号长度变化的方法。一种将 HMM 模型与 DNN 模型结合起来的 DNN-HMM 混合系统颇具有效性。

深度学习第50讲:语音识别综述——从概念到技术(下)

     在上图这个框架中,HMM 用来描述语音信号的动态变化,DNN 则是用来估计观察特征的概率。在给定声学观察特征的条件下,我们可以用 DNN 的每个输出节点来估计 HMM 某个状态的后验概率。由于 DNN-HMM 训练成本不高而且相对较高的识别概率,所以即使是到现在在语音识别领域仍然是较为常用的声学模型。

     除了 DNN 之外,经常用于计算机视觉的 CNN 也可以拿来构建语音声学模型。当然,CNN 也是经常会与其他模型结合使用。CNN 用于声学模型方面主要包括 TDNN、CNN-DNN 框架、DFCNN、CNN-LSTM-DNN(CLDNN)框架、CNN-DNN-LSTM(CDL)框架、逐层语境扩展和注意 CNN 框架(LACE)等等。这么多基于 CNN 的混合模型框架都在声学模型上取得了很多成果,这里笔者仅挑两个进行简单阐述。

     TDNN是最早基于 CNN 的语音识别方法,TDNN 会沿频率轴和时间轴同时进行卷积,因此能够利用可变长度的语境信息。TDNN 用于语音识别分为两种情况,第一种情况下:只有TDNN,很难用于大词汇量连续性语音识别(LVCSR),原因在于可变长度的表述(utterance)与可变长度的语境信息是两回事,在 LVCSR 中需要处理可变长度表述问题,而 TDNN 只能处理可变长度语境信息;第二种情况:TDNN-HMM 混合模型,由于HMM能够处理可变长度表述问题,因而该模型能够有效地处理 LVCSR 问题。

深度学习第50讲:语音识别综述——从概念到技术(下)

     DFCNN 的全称叫做全序列卷积神经网络(deep fully convolutional neural network),是由国内语音识别领域的翘楚科大讯飞于2016年提出的一种语音识别框架。DFCNN 先对时域的语音信号进行傅里叶变换得到语音的语谱图,DFCNN 直接将一句语音转化成一张图像作为输入,输出单元则直接与最终的识别结果(比如音节或者汉字)相对应。DFCNN 的结构中把时间和频率作为图像的两个维度,通过较多的卷积层和池化(pooling)层的组合,实现对整句语音的建模。DFCNN 的原理是把语谱图看作带有特定模式的图像,而有经验的语音学专家能够从中看出里面说的内容。

深度学习第50讲:语音识别综述——从概念到技术(下)

     最后就是循环神经网络 RNN,其中更多是 LSTM 网络。音频信号具有明显的协同发音现象,因此必须考虑长时相关性。由于循环神经网络RNN具有更强的长时建模能力,使得 RNN 也逐渐替代 DNN 和 CNN 成为语音识别主流的建模方案。比如说常见的基于 seq2seq 的编码-解码框架就是一种基于 RNN 的模型。关于 RNN 在语音识别和声学模型中的应用笔者不做过多解释,后续有应用性的推文再做详细介绍。

长期的研究和实践证明:基于深度学习的声学模型要比传统的基于浅层模型的声学模型更适合语音处理任务。语音识别的应用环境常常比较复杂,选择能够应对各种情况的模型建模声学模型是工业界及学术界常用的建模方式。但单一模型都有局限性。HMM能够处理可变长度的表述,CNN能够处理可变声道,RNN/CNN能够处理可变语境信息。声学模型建模中,混合模型由于能够结合各个模型的优势,是目前乃至今后一段时间内声学建模的主流方式。 

5.端到端的语音识别系统

     无论是 GMM 和 HMM 这样的传统声学模型,还是基于深度学习的声学模型,它们对于整个语音识别系统都是分开优化的,但是语音识别本质上是一个序列识别问题,如果模型中的所有组件都能够联合优化,很可能会获取更好的识别准确度,所以我们需要一种端到端(End2End)的语音识别处理系统。

     传统的语音识别系统中的声学模型训练:

深度学习第50讲:语音识别综述——从概念到技术(下)

     传统的语音识别系统中的语言模型训练:

深度学习第50讲:语音识别综述——从概念到技术(下)

     谷歌的 Listen-Attend-Spell (LAS) 端到端语音识别系统:

深度学习第50讲:语音识别综述——从概念到技术(下)

     关于端到端的语音识别系统,笔者做的调研程度有限,更多的内容需要后续不断的学习和实践,关于这篇语音识别的综述暂时写到这里。

参考资料:

Supervised Sequence Labelling with Recurrent

俞栋 邓力 解析深度学习 语音识别实践

https://ai.googleblog.com/2017/12/improving-end-to-end-models-for-speech.html

http://www.eeboard.com/news/yuyinshibie/

往期精彩:


一个数据科学从业者的学习历程

深度学习第50讲:语音识别综述——从概念到技术(下)

深度学习第50讲:语音识别综述——从概念到技术(下)

长按二维码.关注机器学习实验室

深度学习第50讲:语音识别综述——从概念到技术(下)