簡體   English   中英

HMM在語音識別中的應用

[英]HMM application in speech recognition

這是我第一次在這里發布問題,因此,如果這種方法不是很標准,我就道歉,我理解那里有很多問題,並且我已經閱讀了大量的論文,問題,手稿和教程,但我似乎有一個問題,最好總是問。 我正在創建一個語音識別應用程序,使用基於高斯混合模型的音素級處理(非孤立單詞)連續HMM,涉及baum welch,向前和向后以及維特比算法,我實現了一種非常好的特征提取和預處理方法(MFCC),特征向量也由mfcc,delta和加速度系數組成,並且在它的一部分上工作得很好,但是,對於HMM,我似乎對HMM應該如何幫助識別有“嚴重誤解”講話還是我在這里遺漏了一點...我已經盡力了,在這一點上我還不能真正分辨出什么是對的。

首先,我記錄了大約50個單詞,每6個發音,並通過我自己編寫的正確兼容性和轉換程序運行它們,並提取了功能,以便可以將它們用於baum-welch。

我想請您告訴我我在此程序中犯了什么錯誤,我也將提及我對此有的疑問,以便您可以幫助我更好地理解整個主題。

這是我的應用程序中與培訓相關的所有步驟:HMM模型初始參數的步驟:

1-將來自每個模型的每個訓練樣本的所有觀察值分配給它們相應的離散狀態(或換句話說,哪個特征向量屬於哪個字母狀態)。

2-使用k均值找到初始連續排放參數,對每個狀態的所有觀測值進行聚類,此處聚類大小為6(等於概率密度函數的混合數),參數將為樣本均值,樣本協方差以及每個群集的一些混合權重。

3-為每個模型和訓練樣本分別創建初始狀態-初始和轉移概率矩陣(在這種情況下使用左-右結構),對於先前的狀態為0,對於轉移的最多1個下一個狀態為1,對於初始的為1,對於狀態為0其他人以州名縮寫。

4-為每個狀態計算基於高斯混合模型的概率密度函數->對應的簇->分配給每個模型的所有訓練樣本中的所有向量

5-使用pdf和簇的混合權重計算初始排放參數。

6-現在,使用連續的伽瑪公式,使用前后參數和初始PDF中的初始參數(過渡,發射,初始值)來計算伽瑪變量。(伽瑪=在任何時候在特定時間處於某種狀態的概率混合物)

7-估計新的州首字母

8-估計新的狀態轉換

9-估計新的樣本均值

10-估計新樣本協方差

11-估計新的PDF

12-使用新的PDF估算新的排放量

在每次迭代中使用新的估計值重復步驟6到12,使用viterbi忽略估計的進行方式以及當概率不再改變時停止並保存。

現在我的問題是:首先我不知道我遵循的整個過程是否正確,或者是否有更好的方法來解決這個問題...我所知道的是收斂速度非常快,最多4個-5次迭代,並且已經沒有任何變化,但是考慮到如果我是對的,那么:我不可能坐下來並在步驟1的開始就將每個特征向量預先分配給它的狀態...而我沒有還是認為這是一個標准程序...同樣,我什至不知道是否必須這樣做,從我的所有研究中,這是我可以找到的快速收斂的最佳方法。

第二,說整個baum welch在重新估計和找到局部最大值方面做得很出色,這使我對baum welch的實現方式產生懷疑,那就是它們以后將如何幫助我識別語音? 我假設估計的參數在維特比中用於找到每種語音的最佳狀態...如果是這樣,那么發射參數是未知的,如果仔細觀察,您會發現我算法中的最終發射參數將分配每個字母狀態每個模型對每個模型中所有觀測到的信號的影響,除此之外...如果信號與重新估算中使用的信號不完全匹配,則找不到發射參數,並且顯然不起作用,任何嘗試試圖匹配信號並發現發射信號將使整個HMM失去其目的...

再次,我可能對這里的幾乎所有事物都有錯誤的想法,如果您能幫助我了解我在這里做錯的事情,我將不勝感激。如果有任何問題,請通知我...謝謝。

您正在嘗試確定將產生所觀察到的聲音的最可能音素組-您不是在嘗試計算發射參數,而是在計算可能會產生的最可能的輸入集他們。

而且,您的輸入語料庫很小-會如此迅速收斂就不足為奇了。 如果您是在大學期間從事此工作的,請查看他們是否可以使用通常用於訓練這種算法的較大語音語料庫之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM