GMM-HMM声学模型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GMM-HMM声学模型相关的知识,希望对你有一定的参考价值。
参考技术A 语音识别框架中的经典的声学模型是:基于隐马尔可夫(HMM)的声学模型本文总结GMM-HMM在声学模型的对应关系及作用,不对GMM和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的观察概率GMM模型的参数
优化算法:EM算法
GMM参数可使用EM算法迭代,但是在训练过程中也需要 特征序列和标注文本(音素、状态)的对应关系,因此,需要对特征序列和标注文本 对齐 。
对齐 : 通过特征序列和标注文本获取每个帧对应的状态
对齐的过程需要声学模型,而声学模型的训练也需要对齐结果,因此这也是一个迭代地过程。
Kaldi中第一次训练声学模型均等地把语音帧对应到相应的状态,训练几轮后,使用训练中的声学模型通过维特比算法生成对齐结果,然后不断迭代。
单音子模型:一个音素对应一个HMM模型
多音子模型(常为三音子、双音子):多个音素对应一个HMM模型
初入语音,如有错误,欢迎指出。
语音识别系统语言模型的训练和声学模型的改进
一、训练语言模型
词与词之间存在着合乎句法与否的约束,语言模型就是用来表示这些约束的,它可以提供字与字之间的上下文信息和语义信息。N-gram模型,即对训练音频文件所对应的文本文件进行统计,提取不同字词之间先后发生的统计关系。
如果你的语言模型较小(例如小的语音指令集或者任务),而且是英文的,那就可以直接上CMU提供的网络服务器上面训练,如果较大的话,一般使用CMUclmtk语言模型工具来训练。下面分两种情况来介绍:
1.1、利用在线工具建立语言模型
进入网址:http://www.speech.cs.cmu.edu/tools/lmtool.html
.dic、.lm的文件
pocketsphinx_continuous解码器用-lm选项来指定要加载的语言模型,-dict来指定要加载的字典。
1.2、训练大文本数据的语言模型
我们通过语言模型训练工具CMUCLMTK统计大量文本数据得到以单个词建立的N-Gram模型
具体的步骤如下:
(1)准备训练的文本,也就是语料库:
(2)产生词汇表vocabulary文件:# text2wfreq < *.txt | wfreq2vocab > *.tmp.vocab
命令text2wfreq:统计文本文件中每个词出现的次数,得到一个后缀为wfreq的文件
命令wfreq2vocab:统计文本文件中含有多少个词,即有哪些词。如数字识别中包含10个数字和两个静音
(3)生成 arpa格式的语言模型:
(4)转换为 CMU的二进制格式 (DMP):
最终生成了语言模型*.lm.DMP,此文件为解码器端所需要的文件格式
以上是关于GMM-HMM声学模型的主要内容,如果未能解决你的问题,请参考以下文章