语音识别框架中的经典的声学模型是:基于隐马尔可夫(HMM)的声学模型
本文总结GMM-HMM在声学模型的对应关系及作用,不对GMM和HMM做过多介绍。
GMM-HMM模型:使用高斯混合模型(GMM)描述发声状态的概率分布函数(PDF)的HMM模型
一个声学模型是一组HMM
HMM参数:初始概率、转移概率、观察概率
基于HMM的声学模型需要人工定义的是:
1.HMM中状态数
2.初始概率(实践中一般令其恒等于1)
3.转移概率(该项对识别结果影响很小,所以设为固定值,不在训练中更新)
4.每个状态的概率分布函数(一个HMM状态下一个帧的特征的PDF,本节的PDF是GMM)
基于HMM的声学模型主要包含的信息是:状态的定义、各状态的观察概率分布,本文为GMM,因此声学模型也叫GMM-HMM模型。其他的如:使用神经网络对HMM的观察概率分布建模的被称为NN-HMM模型。
HMM状态的物理意义可以认为是:音素的发声状态,习惯上分为“初始态”、“稳定态”、“结束态”,因此可以用三个状态建模一个音素的发音。也可以使用两个状态来表示“起始帧”、“其他帧”。
声学模型可以计算某一帧特征对应某一状态的声学分,也就是该帧对应该状态的对数观察概率,或对数似然值。
各个概念的对应关系
一个音素:多个连续的HMM状态,一个HMM模型
一帧特征:一个HMM状态
一个音素:多个帧特征
声学模型在语音识别中作用
输入连续的语音帧的声学特征如MFCC,例:o1 o2 o3 ... on.
识别过程:为特征序列匹配状态序列,例:s1 s2 s3 ... sn. 其中不同的s可能为相同的状态。
每个状态序列都有一个分数,该分数代表该状态序列和特征序列的匹配分数,该分数由两部分组成,声学分和固有分,其中固有分主要来源:语言模型概率、多音词选择概率、HMM转移概率等。语音识别的过程就是找到分数最高的状态序列的过程。
声学模型作用就是计算声学分
声学模型的训练:
输入:特征序列、特征序列对应的状态序列(每一帧对应一个状态)
输出:HMM的观察概率GMM模型的参数
优化算法:EM算法
GMM参数可使用EM算法迭代,但是在训练过程中也需要 特征序列和标注文本(音素、状态)的对应关系,因此,需要对特征序列和标注文本对齐。
对齐: 通过特征序列和标注文本获取每个帧对应的状态
对齐的过程需要声学模型,而声学模型的训练也需要对齐结果,因此这也是一个迭代地过程。
Kaldi中第一次训练声学模型均等地把语音帧对应到相应的状态,训练几轮后,使用训练中的声学模型通过维特比算法生成对齐结果,然后不断迭代。
单音子模型和多音子模型
单音子模型:一个音素对应一个HMM模型
多音子模型(常为三音子、双音子):多个音素对应一个HMM模型
初入语音,如有错误,欢迎指出。