Chapter 8 HMM参数估计
HCompV和HInit进行参数初始化,HRest和HERest用于参数迭代更新。
整词建模使用HInit初始化,使用HRest进行模型迭代;子词(如tri-phone)建模使用HCompV或HInit和HRest进行模型初始化,然后使用HERest更新模型。
HCompV
从训练语料中随机筛选一部分数据,计算均值和方差,使用全局均值和方差对所有的高斯成份(Gaussian Component)进行初始化,该过程为"flat-start training"的初始化过程。
HInit
HInit的原理来自于语音向量是由HMM生成的基本概念,如果语音向量对应的state sequence是已知的, 就可以依据每个state对应的语音向量估计gaussian component的均值、方差以及转移概率;接下来的工作就是如何计算每个state的边界,这里使用Viterbi解码。如下图所示,首先均匀分段,初始化参数,再进行viterbi分段,更新参数,计算似然值logP,迭代直至收敛(logP不再增长或达到最大迭代次数)。
HRest
用于估计单个HMM的参数,一般用于孤立词训练;
HRest采用Baum-Welch training, 不同于HInit的Viterbi training。
两者的主要区别在于BW训练没有hard boundary的概念,只有soft boundary;对于Viterbi training,首先将观察语句进行Viterbi 分段,明确每个状态的边界信息,每帧的语音向量同状态一一对应,再依据这些信息对状态的统计量进行估计;
Baum-Welch训练则不存在这样的hard boundary, 而是依据前后向算法计算每帧对应状态的后验概率P(x(t)=j | O,M)(the probability of an observation being associated any given Gaussian mixture component);
也就是说,每帧语音可以对应任何状态,并存在相应的后验概率。
HERest
用于估计一组HMM的参数;先计算后向概率bj(t)再计算前向概率aj(t)