作者Toughman
1. ASR定义
定义:
什么是语音识别?输入语音信号其对应的输出文本序列。 如何形式化这个问题?

建模:
目标是什么?

如何建模?

2. GMM
原理:


建模:
目标是什么?根据上述定义,目标已经很明确了,就是估计混合高斯分布包含的一些参数变量



证明过程可见GMM的推导及实现[2.1]。
怎么使用?模型收敛之后得到的模型,通过比较不同类别结果的大小选择概率最大的类别。到这里配合上帧级别的音素标签的话已经算是一个语音识别系统了。但是语音是一种前后关联性很强的序列,完全忽略掉时序信息不仅无法做到准确而且会丢失有用的信息。
讨论:
GMM发展:技术从来都不是一成不变的,自1995年GMM被用于语音识别之后就一直有发展,其中包括训练中收敛速度的优化,而且近年来随着无监督学习的发展使得GMM再次被关注。 GMM有什么注意点? 首先,高维度情况下表现不好,特别是样本量不足时协方差的估计会很困难; 其次,GMM是一系列高斯分布的组合,但应使用多少分布是未知的,需要用户自行定义或调试; GMM没考虑语音的序列信息。 GMM复杂度较高,对呈非线性或近似非线性地数据而言合适地模型仅需少量地参数,但是GMM需要的参数很多。
3. GMM-HMM
原理:
定义:HMM(Hidden Markov Model), 也称隐性马尔科夫模型,是一个概率模型,用来描述一个系统隐性状态的转移和隐性状态的表现概率,属于生成模型。针对语音特征的长度可变性,HMM能够很好地生成序列模型。
形式化:如图所示,HMM包含两个部分状态序列和观察序列。










讨论:
GMM-HMM是个统计模型,其描述了两个互相依赖的随机过程:可观测过程(观测序列假设由GMM生成),隐藏的马尔科夫过程。另外GMM-HMM引入了上下文依赖状态,主要目的是希望每个状态的语音特征向量的统计特征更相似。但是HMM也存在很多注意点,例如,每个HMM状态上的语音数据的时间独立性假设、缺少声学特征和语音产生方式(说话速度和风格)之间的严格相关
4. DNN-HMM
原理:
深度神经网络是一种在输入层和输出层之间具有多层结构的人工神经网络(ANN)。DNN能学习到深层非线性特征变换,而且能利用帧的上下文信息,这些都是GMM不能做到的 (此处的DNN泛指所有神经网络结构包括TDNN, RNN, CNN等)。而且随着层数变深并且利用聚类后的状态可以得到较大的性能提升。在GNN-HMM框架中HMM用于描述语音信号的动态变化,而DNN则观测特征的概率。HMM对语音信号的序列特征进行建模,DNN对所有聚类后状态的似然度进行建模[4.1]。在ASR任务中DNN输入为语音特征向量,输出为每个状态的分类概率(后验概率),为了得到HMM需要的似然度,需要将其除以每个状态的先验概率。


讨论:
优势: DNN并未假设语音声学特征分布必须服从高斯分布,这避免了提前假设带来的性能损失。 DNN可以使用多种类型特征。GMM为了方便EM算法优化,基于对角协方差矩阵的假设需要保持特征各维相互独立。 DNN能学习到深层非线性特征变换,而且能利用帧的上下文信息,而且随着层数变深并且利用聚类后的状态可以得到较大的性能提 升。 其他:但是DNN仍然需要GMM-HMM提供的对齐信息,整个流程依然相当复杂。
5. DNN-CTC
原理:
定义:connectionist temporal classification[5.1],CTC是一种神经网络输出和相关评分函数,由Alex Graves提出用于训练递归神经网络(RNN),以处理时序可变的序列问题。CTC通过目标函数而非模型结构的方式实现了端到端语音识别建模的目标。由于输入序列和输出序列的长度不一致,多个输入特征片段对应同一个标签,因此CTC需要去重。并且CTC通过加入blank标识解决相同标签相邻问题,语音中的停顿和静音问题。



讨论:
优势: 将之前的分块优化方式转为整体优化(e2e模型),这样保证了更接近全局最优。 多个模块整合到一个网络中,可以全部交给底层计算。 简化了语音识别流程,使其更简洁。 其他: 条件独立,一般语音里面有语义信息,所以结合语言模型\attention一般效果更好。 对齐不准,尖峰法会把概率给到一帧,这会导致音素对齐不准确。 单调对齐和多对一映射,在语音领域中都符合,但是在机器翻译中不符合。
6. speech-transformer
原理:
定义:transformer是一种深度学习模型,采用自我关注机制,对输入数据的每个部分的重要性进行不同的加权。Transformer模型使用encoder-decoder架构。encoder由编码层组成,编码层逐层迭代处理输入,而decoder由解码层组成,解码层对encoder的输出执行相同的操作。每个encoder层的功能是生成包含有关输入的哪些部分彼此相关的信息的编码。它将其编码作为输入传递给下一个encoder层。而decoder层做相反的事,采用所有编码并使用其合并的上下文信息来生成输出序列[6.1]。对于每一个输入,注意力会衡量每一个其他输入的相关性,并从中提取出输出[6.2]。每个decoder层都有一个额外的注意机制,在decoder层从编码中提取信息之前,从先前decoder的输出中提取信息。encoder和decoder层都有一个前馈神经网络,用于对输出进行额外处理,并包含剩余连接和层规范化步骤[6.2]。



讨论:
优势: 直接实现从语音序列到文本序列,实现了声学模型和语言模型的联合优化 transformer更强大的序列建模能力。 transformer更好的并行计算能力。 其他:
7. 总结
技术手段快速迭代但是基础思想基本不变。从语言学角度来说,语言是以语音为物质外壳,由词汇和语法构成的体系。因此需要理解“语”和“音”两部分,早期的方法通过专家对声学模型和语言模型进行拆分,分别进行建模然后组合,近年来的方法则直接利用encoder和decoder对其进行建模。在这两方面分别做到极致的模型如wav2vec,GPT-3都是依靠巨量数据和算力。但显然人类没有这样的算力和训练数据,或者是脑神经的特殊结构、或者是通过表情肢体眼神,人类语音识别系统是如何做到准确,且鲁棒,且快速,且节能,这仍然值得思考。
8. 引用
[1.1] 生成模型和判别模型的对比https://www.cnblogs.com/kemaswill/p/3427422.html
[2.1] GMM的推导及实现 https://zhuanlan.zhihu.com/p/85338773
[3.1] HMM推导 http://www.huaxiaozhuan.com/%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B9%A0/chapters/15_HMM.html
[4.1] Mei-Yuh Hwang and Xuedong Huang, "Shared-distribution hidden Markov models for speech recognition," in IEEE Transactions on Speech and Audio Processing, vol. 1, no. 4, pp. 414-420, Oct. 1993, doi: 10.1109/89.242487.
[4.2] Deng, Li. 解析深度学习---语音识别实践[M]. 2016. Publishing House of Electronics Industry, 2016:18.
[5.1] Graves A, Fernández S, Gomez F, et al. Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks[C]//Proceedings of the 23rd international conference on Machine learning. 2006: 369-376
[5.2] Sequence Modeling with CTC (distill.pub)
[5.3] 李裕东 blog https://xiaodu.io/ctc-explained/
[6.2] "Sequence Modeling with Neural Networks (Part 2): Attention Models". Indico. 2016-04-18. Retrieved 2019-10-15.[6.3] Alammar, Jay. "The Illustrated Transformer". jalammar.github.io. Retrieved 2019-10-15.
[6.4] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
[6.5] 唐健. 深度学习语音识别系统中的若干建模问题研究[D].中国科学技术大学,2020.DOI:10.27517/d.cnki.gzkju.2020.001707.
[6.6] Lin T, Wang Y, Liu X, et al. A survey of transformers[J]. arXiv preprint arXiv:2106.04554, 2021.
