3. GMM+HMM大法解決語音識(shí)別
我們獲得observation是語音waveform, 以下是一個(gè)詞識(shí)別全過程:
1)將waveform切成等長(zhǎng)frames,對(duì)每個(gè)frame提取特征(e.g. MFCC),
2)對(duì)每個(gè)frame的特征跑GMM,得到每個(gè)frame(o_i)屬于每個(gè)狀態(tài)的概率b_state(o_i)
fig6. complete process from speech frames to a state sequence
3)根據(jù)每個(gè)單詞的HMM狀態(tài)轉(zhuǎn)移概率a計(jì)算每個(gè)狀態(tài)sequence生成該frame的概率; 哪個(gè)詞的HMM 序列跑出來概率最大,就判斷這段語音屬于該詞
宏觀圖:
fig7. Speech recognition, a big framework
好了,上面說了怎么做識(shí)別。那么我們?cè)鯓佑?xùn)練這個(gè)模型以得到每個(gè)GMM的參數(shù)和HMM的轉(zhuǎn)移概率什么的呢?
①Training the params of GMM
GMM參數(shù):高斯分布參數(shù):
從上面fig4下面的公式我們已經(jīng)可以看出來想求參數(shù)必須要知道P(j|x),即,x屬于第j個(gè)高斯的概率。怎么求捏?
fig8. bayesian formula of P( j | x )
根據(jù)上圖 P(j | x), 我們需要求P(x|j)和P(j)去估計(jì)P(j|x)。
這里由于P(x|j)和P(j)都不知道,需要用EM算法迭代估計(jì)以最大化P(x) = P(x1)*p(x2)*.。.*P(xn):
A. 初始化(可以用kmeans)得到P(j)
B. 迭代
E(estimate)-step: 根據(jù)當(dāng)前參數(shù) (means, variances, mixing parameters)估計(jì)P(j|x)
M(maximization)-step: 根據(jù)當(dāng)前P(j|x) 計(jì)算GMM參數(shù)(根據(jù)fig4 下面的公式:)
?其中
②Training the params of HMM
前面已經(jīng)有了GMM的training過程。在這一步,我們的目標(biāo)是:從observation序列中估計(jì)HMM參數(shù)λ;
假設(shè)狀態(tài)->observation服從單核高斯概率分布:
則λ由兩部分組成:
HMM訓(xùn)練過程:迭代
E(estimate)-step: 給定observation序列,估計(jì)時(shí)刻t處于狀態(tài)sj的概率
M(maximization)-step: 根據(jù)重新估計(jì)HMM參數(shù)aij.
其中,
E-step: 給定observation序列,估計(jì)時(shí)刻t處于狀態(tài)sj的概率
為了估計(jì), 定義: t時(shí)刻處于狀態(tài)sj的話,t時(shí)刻未來observation的概率。即
這個(gè)可以遞歸計(jì)算:β_t(si)=從狀態(tài) si 轉(zhuǎn)移到其他狀態(tài) sj 的概率aij * 狀態(tài) i 下觀測(cè)到x_{t+1}的概率bi(x_{t+1}) * t時(shí)刻處于狀態(tài)sj的話{t+1}后observation概率β_{t+1}(sj)
即:
定義剛才的為state occupation probability,表示給定observation序列,時(shí)刻t處于狀態(tài)sj的概率P(S(t)=sj | X,λ) 。根據(jù)貝葉斯公式p(A|B,C) = P(A,B|C)/P(B|C),有:
由于分子p(A,B|C)為
其中,αt(sj)表示HMM在時(shí)刻t處于狀態(tài)j,且observation = {x1,。。.,xt}的概率;
: t時(shí)刻處于狀態(tài)sj的話,t時(shí)刻未來observation的概率;
且
finally, 帶入的定義式有:
好,終于搞定!對(duì)應(yīng)上面的E-step目標(biāo),只要給定了observation和當(dāng)前HMM參數(shù) λ,我們就可以估計(jì)了對(duì)吧 (*^__^*)
M-step:根據(jù)重新估計(jì)HMM參數(shù)λ:
對(duì)于λ中高斯參數(shù)部分,和GMM的M-step是一樣一樣的(只不過這里寫成向量形式):
對(duì)于λ中的狀態(tài)轉(zhuǎn)移概率aij, 定義C(Si->Sj)為從狀態(tài)Si轉(zhuǎn)到Sj的次數(shù),有
實(shí)際計(jì)算時(shí),定義每一時(shí)刻的轉(zhuǎn)移概率為時(shí)刻t從si->sj的概率:
那么就有:
把HMM的EM迭代過程和要求的參數(shù)寫專業(yè)點(diǎn),就是這樣的:
評(píng)論