语音识别中声学模型是重中之重,常用到的声学模型是GMM-HMM,本文记录下声学模型训练的细节。
下图是识别某个孤立字的GMM-HMM示意图。HMM部分是文字所占的音素以及其转移概率。语音帧通过已经训练好的GMM得属于某个音素的概率,如0.016。
问题是这样的一个模型怎么训练呢?
问题一、一段语音是怎么切割音素的,如’我‘的拼音是wo,我们按声韵母分开是:w o?
如果要训练w和o的分界点在哪我们不知道,所以HMM模型的训练就是问题。
这里使用EM算法,开始随机对语音分帧,例如平均分割语音,使用EM算法和前向后向算法(具体内容还需再熟悉)。
E 步是求出每一帧位于哪个音素,M 步是对于每个音素,找到它对应的所有帧,从这些帧的特征中估计音素模型的参数。
对齐之后就可以对每个状态进行GMM训练,之后循环E步M步。其中E步只要判断相邻音素的那一帧属于左边音素还是右边音素就可以了。
问题二、孤立词识别中的GMM-HMM和连续词识别中的GMM-HMM有什么不一样?
孤立词识别中每个词都有自己的GMM-HMM,也就是说虽然有的词包括有相同的音素,但是数据不共享。
大词汇量的训练中,是对音素建立GMM-HMM模型,所以数据共享。