日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GMM-HMM语音识别模型 原理篇

發布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GMM-HMM语音识别模型 原理篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文簡明講述GMM-HMM在語音識別上的原理,建模和測試過程。這篇blog只回答三個問題:

1.?什么是Hidden Markov Model?

HMM要解決的三個問題:

1) Likelihood

2) Decoding

3) Training

2. GMM是神馬?怎樣用GMM求某一音素(phoneme)的概率?

3. GMM+HMM大法解決語音識別

3.1 識別

3.2 訓練

3.2.1 Training the params of GMM

3.2.2 Training the params of HMM



首先聲明我是做視覺的不是做語音的,迫于**需要24小時速成語音。上網查GMM-HMM資料中文幾乎為零,英文也大多是paper。苦苦追尋終于貌似搞懂了GMM-HMM,感謝語音組老夏(http://weibo.com/ibillxia)提供資料給予指導。本文結合最簡明的概括還有自己一些理解應運而生,如有錯誤望批評指正。


====================================================================



1. 什么是Hidden Markov Model?


ANS:一個有隱節點(unobservable)和可見節點(visible)的馬爾科夫過程(見詳解)。

隱節點表示狀態,可見節點表示我們聽到的語音或者看到的時序信號。

最開始時,我們指定這個HMM的結構,訓練HMM模型時:給定n個時序信號y1...yT(訓練樣本), 用MLE(typically?implemented in?EM) 估計參數:

1. N個狀態的初始概率

2. 狀態轉移概率a

3. 輸出概率b

--------------

  • 在語音處理中,一個word由若干phoneme(音素)組成;
  • 每個HMM對應于一個word或者音素(phoneme)
  • 一個word表示成若干states,每個state表示為一個音素


用HMM需要解決3個問題:

1).?Likelihood: 一個HMM生成一串observation序列x的概率<?the Forward algorithm>

其中,αt(sj)表示HMM在時刻t處于狀態j,且observation = {x1,...,xt}的概率,

aij是狀態i到狀態j的轉移概率,

bj(xt)表示在狀態j的時候生成xt的概率,







2).?Decoding: 給定一串observation序列x,找出最可能從屬的HMM狀態序列<?the Viterbi algorithm>

在實際計算中會做剪枝,不是計算每個可能state序列的probability,而是用Viterbi approximation:

從時刻1:t,只記錄轉移概率最大的state和概率。

記Vt(si)為從時刻t-1的所有狀態轉移到時刻t時狀態為j的最大概率

記為:從時刻t-1的哪個狀態轉移到時刻t時狀態為j的概率最大;

進行Viterbi approximation過程如下:


然后根據記錄的最可能轉移狀態序列進行回溯:





3).?Training: 給定一個observation序列x,訓練出HMM參數λ = {aij, bij}??the EM?(Forward-Backward) algorithm

這部分我們放到“3.?GMM+HMM大法解決語音識別”中和GMM的training一起講







---------------------------------------------------------------------


2. GMM是神馬?怎樣用GMM求某一音素(phoneme)的概率?

2.1 簡單理解混合高斯模型就是幾個高斯的疊加。。。e.g. k=3



fig2. GMM illustration and the probability of x



2.2 GMM for state sequence?

每個state有一個GMM,包含k個高斯模型參數。如”hi“(k=3):

PS:sil表示silence(靜音)

fig3. use GMM to estimate the probability of a state sequence given observation {o1, o2, o3}


其中,每個GMM有一些參數,就是我們要train的輸出概率參數


fig4. parameters of a GMM

怎么求呢?和KMeans類似,如果已知每個點x^n屬于某每類 j 的概率p(j|x^n),則可以估計其參數:

?, 其中?


只要已知了這些參數,我們就可以在predict(識別)時在給定input sequence的情況下,計算出一串狀態轉移的概率。如上圖要計算的state sequence 1->2->2概率:


fig5. probability of S1->S2->S3 given o1->o2->o3








---------------------------------------------------------------------

3. GMM+HMM大法解決語音識別

<!--識別-->

我們獲得observation是語音waveform, 以下是一個詞識別全過程:

1). 將waveform切成等長frames,對每個frame提取特征(e.g. MFCC),?

2).對每個frame的特征跑GMM,得到每個frame(o_i)屬于每個狀態的概率b_state(o_i)



fig6. complete process from speech frames to a state sequence


3). 根據每個單詞的HMM狀態轉移概率a計算每個狀態sequence生成該frame的概率; 哪個詞的HMM 序列跑出來概率最大,就判斷這段語音屬于該詞


宏觀圖:


fig7. Speech recognition, a big framework

(from Encyclopedia of Information Systems, 2002)




<!--訓練-->

好了,上面說了怎么做識別。那么我們怎樣訓練這個模型以得到每個GMM的參數和HMM的轉移概率什么的呢?




①Training the params of GMM

GMM參數:高斯分布參數:

從上面fig4下面的公式我們已經可以看出來想求參數必須要知道P(j|x),即,x屬于第j個高斯的概率。怎么求捏?


fig8. bayesian formula of P( j | x )

根據上圖 P(j | x), 我們需要求P(x|j)和P(j)去估計P(j|x).?

這里由于P(x|j)和P(j)都不知道,需要用EM算法迭代估計以最大化P(x) = P(x1)*p(x2)*...*P(xn):

A. 初始化(可以用kmeans)得到P(j)

B. 迭代

? ? E(estimate)-step: 根據當前參數?(means,?variances, mixing parameters)估計P(j|x)

? ? M(maximization)-step: 根據當前P(j|x) 計算GMM參數(根據fig4 下面的公式:)

?, 其中?





②Training the params of HMM

前面已經有了GMM的training過程。在這一步,我們的目標是:從observation序列中估計HMM參數λ;

假設狀態->observation服從單核高斯概率分布:,則λ由兩部分組成:




HMM訓練過程:迭代

? ? E(estimate)-step: 給定observation序列,估計時刻t處于狀態sj的概率?

? ? M(maximization)-step: 根據重新估計HMM參數aij.?

其中,


E-step:?給定observation序列,估計時刻t處于狀態sj的概率?

為了估計, 定義: t時刻處于狀態sj的話,t時刻未來observation的概率。即

這個可以遞歸計算:β_t(si)=從狀態 si 轉移到其他狀態 sj 的概率aij?*?狀態 i 下觀測到x_{t+1}的概率bi(x_{t+1})?*?t時刻處于狀態sj的話{t+1}后observation概率β_{t+1}(sj)

即:


定義剛才的為state occupation probability,表示給定observation序列,時刻t處于狀態sj的概率P(S(t)=sj | X,λ)?。根據貝葉斯公式p(A|B,C) = P(A,B|C)/P(B|C),有:



由于分子p(A,B|C)為


其中,αt(sj)表示HMM在時刻t處于狀態j,且observation = {x1,...,xt}的概率;

: t時刻處于狀態sj的話,t時刻未來observation的概率;

finally, 帶入的定義式有:


好,終于搞定!對應上面的E-step目標,只要給定了observation和當前HMM參數 λ,我們就可以估計了對吧 (*^__^*)?






M-step:根據重新估計HMM參數λ:

對于λ中高斯參數部分,和GMM的M-step是一樣一樣的(只不過這里寫成向量形式):


對于λ中的狀態轉移概率aij, 定義C(Si->Sj)為從狀態Si轉到Sj的次數,有


實際計算時,定義每一時刻的轉移概率為時刻t從si->sj的概率:


那么就有:


把HMM的EM迭代過程和要求的參數寫專業點,就是這樣的:


PS:這個訓練HMM的算法叫?Forward-Backward algorithm。





一個很好的reference:點擊打開鏈接


from:?http://blog.csdn.net/abcjennifer/article/details/27346787

總結

以上是生活随笔為你收集整理的GMM-HMM语音识别模型 原理篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜日韩欧美 | www.日本在线观看 | 99热这里只有精品99 | 人人妻一区二区三区 | 成人动漫在线免费观看 | 黄网站在线免费看 | 国产性―交一乱―色―情人 | 久草午夜| jizzjizz美国| 欧美精品电影一区二区 | 日本大尺度电影免费观看全集中文版 | 国产丝袜在线 | 浪潮av色 | 色窝窝无码一区二区三区 | 一区二区网| 西西444www无码大胆 | 亚洲88av| 日批免费网站 | 国产又黄又粗又长 | 亚洲天堂不卡 | 免费看黄视频的网站 | 欧美bdsm调教视频 | 国产视频在线观看网站 | 亚洲乱色熟女一区二区 | 国产jzjzjz丝袜老师水多 | 污片在线免费看 | 欧美日韩加勒比 | 国产福利一区二区三区在线观看 | 国产精品天干天干 | 男男做的视频 | 日操操 | 日韩久久久久久久久久久 | 拔擦8x成人一区二区三区 | 欧美激情亚洲综合 | 伊人色av | 欧美熟妇另类久久久久久不卡 | 国产视频不卡一区 | 99精品毛片| 欧美调教视频 | 国产伦精品一区二区三区千人斩 | 久久看片 | 天天综合色 | 免费看国产片在线观看 | 在线免费观看福利 | 男女作爱免费网站 | 这里都是精品 | 人妻天天爽夜夜爽一区二区三区 | 欧美一区二区三区四区五区六区 | a级片视频网站 | 亚洲成人黄色网 | 天天久久综合网 | 久久婷婷视频 | 欧美毛片在线 | 午夜神马福利 | 无码人妻aⅴ一区二区三区有奶水 | 国产电影免费观看高清完整版视频 | 亚洲国产欧美一区 | 日本激情网站 | 欧美一级黄色大片 | 一级片视频网站 | 国产不卡一 | 韩国黄色大片 | 亚洲一区二区三区影院 | 狠狠涩 | 国产精品免费视频一区二区三区 | 亚洲免费不卡视频 | 超碰av男人的天堂 | 伊人22综合 | 久视频在线| 精品国产99一区二区乱码综合 | 久久青青热 | 精品少妇爆乳无码av无码专区 | 91国语对白 | 西西4444www大胆无码 | 国产精品毛片一区二区在线看舒淇 | 天堂一区二区三区四区 | 中文字幕一区二区久久人妻 | 嫩草一二三 | 与亲女洗澡时伦了毛片 | 操操色 | 91在线观看视频 | 天天摸日日摸狠狠添 | 修女也疯狂3免费观看完整版 | 操欧美美女 | 欧美日韩另类一区 | 蜜桃视频在线播放 | a级片免费网站 | 天堂网一区二区三区 | 糖心vlog精品一区二区 | 久久久久国产精品无码免费看 | 国产一区二区三区电影在线观看 | 成人自拍偷拍 | 亚洲最黄网站 | 国产情侣在线视频 | 超碰在线人人干 | 国产一区,二区 | 精品一区二区在线播放 | 16—17女人毛片 | 日韩免费一二三区 |