AI大語音(十三)——DNN-HMM (深度解析)


本文來自公眾號“AI大道理”

 

GMM-HMM建模能力有限,無法准確的表征語音內部復雜的結構,所以識別率低。

隨着深度學習的崛起,研究人員將其逐步應用於語音識別中。

最開始便是DNN代替了GMM來進行觀察狀態概率的輸出,實現DNN-HMM聲學模型框架,大大提高了識別率。

1 GMM-HMM與DNN-HMM對比


DNN-HMM用DNN替換了GMM來對輸入語音信號的觀察概率進行建模。
GMM對HMM中的后驗概率的估計需要數據發布假設,同一幀元素之間需要相互獨立,因此GMM-HMM使用的特征是MFCC,這個特征已經做了去相關性處理。
DNN-HMM不需要對聲學特征所服從的分布進行假設,使用的特征是FBank,這個特征保持着相關性。
DNN的輸入可以采用連續的拼接幀,因而可以更好地利用上下文的信息。

GMM是生成模型,采用無監督學習,DNN是判別模型,采用有監督學習。
DNN輸出向量的維度對應HMM中狀態的個數,通常每一維輸出對應一個綁定的triphone狀態。

(DNN輸入可采用連續的拼接幀)

 

 

2 DNN-HMM訓練步驟

 

訓練DNN-HMM之前,需要先得到每一幀語音在DNN上的目標輸出值(標簽)。
標簽可以通過GMM-HMM在訓練語料上進行Viterbi強制對齊得到。利用標簽和輸入特征訓練DNN模型,用DNN模型替換GMM進行觀察概率的計算,保留轉移概率和初始概率等其他部分。

(靈魂的拷問:一開始用MFCC特征進行訓練、對齊,后來用FBank特征進行訓練DNN,MFCC和Fbank特征維度明顯不一樣,這樣對齊的標簽和訓練的標簽一致嗎?不會有問題嗎?
AI大語音:一幀的數據o1對齊到狀態1,都是幀對應到狀態,不管什么特征都代表這一幀的數據。)

步驟一:基於GMM-HMM使用viterbi對齊得到標簽
訓練好GMM-HMM后使用Viterbi進行解碼,獲得最優路徑的同時也自然得到了對齊,即哪一幀屬於哪個狀態。這樣就把一段語音(宏觀)和狀態(微觀)一一對應了。

 

步驟二:構建DNN-HMM

所有音素的HMM只用一個DNN,DNN的輸出節點數必須要和HMM的發射狀態數一樣。多少狀態就是多少分類任務。

(DNN表征的其實是p(s|0),這里p(o|s)用y表示)

 

步驟三:訓練DNN-HMM


當o1輸入后,結果softmax把它分類到某一個狀態中,就產生一個輸出,與標簽對比得到誤差,進行反向傳播訓練權重參數W、b。

 

 

3 總結



DNN-HMM顯著的提高了識別率,那么還能繼續優化嗎?還能怎么優化呢?
區分性訓練為此而生。





讀者討論

 

您對DNN-HMM有什么獨到見解或疑惑嗎?
歡迎在文末“留言吧”討論。

 

下期預告

AI大語音(十四)——區分性訓練

 

往期精選

AI大語音(十二)——WFST解碼器(下)(深度解析)
AI大語音(十一)——WFST解碼器(上)(深度解析)
AI大語音(十)——N-gram語言模型
AI大語音(九)——基於GMM-HMM的連續語音識別系統
AI大語音(八)——GMM-HMM聲學模型
AI大語音(七)——基於GMM的0-9語音識別系統
AI大語音(六)——混合高斯模型(GMM)
AI大語音(五)——隱馬爾科夫模型(HMM)
AI大語音(四)——MFCC特征提取
AI大語音(三)——傅里葉變換家族
AI大語音(二)——語音預處理
AI大語音(一)——語音識別基礎 

 

 ——————

淺談則止,細致入微AI大道理

掃描下方“AI大道理”,選擇“關注”公眾號

 

—————————————————————

​     

—————————————————————

 

投稿吧   | 留言吧

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM