在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > GMM-HMM語音識別原理詳解

      GMM-HMM語音識別原理詳解

      作者: 時間:2017-10-25 來源:網(wǎng)絡(luò) 收藏

        本文簡明講述GMM-HMM在上的原理,建模和測試過程。

      本文引用地址:http://www.biyoush.com/article/201710/368485.htm

        1. 什么是Hidden Markov Model?

        HMM要解決的三個問題:

        1) Likelihood

        2) Decoding

        3) Training

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

        3. GMM+HMM大法解決

        3.1 識別

        3.2 訓(xùn)練

        3.2.1 Training the params of GMM

        3.2.2 Training the params of HMM

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

        1. 什么是Hidden Markov Model?

        

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

        隱節(jié)點(diǎn)表示狀態(tài),可見節(jié)點(diǎn)表示我們聽到的語音或者看到的時序信號。

        最開始時,我們指定這個HMM的結(jié)構(gòu),訓(xùn)練HMM模型時:給定n個時序信號y1...yT(訓(xùn)練樣本), 用MLE(typically implemented in EM) 估計(jì)參數(shù):

        1. N個狀態(tài)的初始概率

        2. 狀態(tài)轉(zhuǎn)移概率a

        3. 輸出概率b

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

        在語音處理中,一個word由若干phoneme(音素)組成;

        每個HMM對應(yīng)于一個word或者音素(phoneme)

        一個word表示成若干states,每個state表示為一個音素

        用HMM需要解決3個問題:

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

        

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

      ,

        aij是狀態(tài)i到狀態(tài)j的轉(zhuǎn)移概率,

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

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

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

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

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

        記為:從時刻t-1的哪個狀態(tài)轉(zhuǎn)移到時刻t時狀態(tài)為j的概率最大;

        進(jìn)行Viterbi approximation過程如下:

        

        然后根據(jù)記錄的最可能轉(zhuǎn)移狀態(tài)序列進(jìn)行回溯:

        

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

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

        ---------------------------------------------------------------------
      GMM是什么?#e#

        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個高斯模型參數(shù)。如”hi“(k=3):

        PS:sil表示silence(靜音)

        

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

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

        

        fig4. parameters of a GMM

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

        

        其中

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

        

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

        ---------------------------------------------------------------------
      GMM+HMM大法解決語音識別#e#

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

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

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

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

        

        fig6. complete process from speech frames to a state sequence

        3)根據(jù)每個單詞的HMM狀態(tài)轉(zhuǎn)移概率a計(jì)算每個狀態(tài)sequence生成該frame的概率; 哪個詞的HMM 序列跑出來概率最大,就判斷這段語音屬于該詞

        宏觀圖:

        

        fig7. Speech recognition, a big framework

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

       ?、賂raining the params of GMM

        GMM參數(shù):高斯分布參數(shù):

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

        

        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 下面的公式:)

        
      其中

       ?、赥raining 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ì)時刻t處于狀態(tài)sj的概率

        M(maximization)-step: 根據(jù)重新估計(jì)HMM參數(shù)aij.

        其中,

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

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

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

        即:

        

        定義剛才的為state occupation probability,表示給定observation序列,時刻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在時刻t處于狀態(tài)j,且observation = {x1,。。.,xt}的概率;

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

        且

        finally, 帶入的定義式有:

        

        好,終于搞定!對應(yīng)上面的E-step目標(biāo),只要給定了observation和當(dāng)前HMM參數(shù) λ,我們就可以估計(jì)了對吧 (*^__^*)

        M-step:根據(jù)重新估計(jì)HMM參數(shù)λ:

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

        

        對于λ中的狀態(tài)轉(zhuǎn)移概率aij, 定義C(Si->Sj)為從狀態(tài)Si轉(zhuǎn)到Sj的次數(shù),有

        

        實(shí)際計(jì)算時,定義每一時刻的轉(zhuǎn)移概率為時刻t從si->sj的概率:

        

        那么就有:

        

        把HMM的EM迭代過程和要求的參數(shù)寫專業(yè)點(diǎn),就是這樣的:

        



      關(guān)鍵詞: 語音識別 生物識別

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉