◎胡巖松
一種改進SCHMM/ANN的語音識別算法的提出
◎胡巖松
本文所采用的一種SCHMM/ANN模型,通過在ubuntu 14.04環境下搭建了用于語音識別的Kaldi系統,編寫了兩種模型的訓練及識別腳本。利用開源的語音庫THCHS-30對兩種模型進行了驗證,得到了無噪聲環境下兩者的語音識別率。對兩種模型進行了抗噪性能的分析,測試語音中加入高斯白噪聲對兩種模型進行實驗測試。最后通過實驗數據說明了混合模型在噪聲環境下能夠取得較好的識別效果,并通過實驗證明了改進的端點檢測算法在兩種模型的語音識別當中都是有效的。
隱馬爾可夫模型的表示方法:
3)A= (aij)N×N:狀態轉移概率分布。aij表示當前時刻狀態從si轉移到sj的概率。
4)B= (bjk)N×M:觀測值概率分布。bj(k)指的是當前時刻模型狀態為Sj,觀測值的概率。
5)π,初始狀態概率矩陣。其中:

上面介紹的幾個參數可以用來描述一個完整的隱馬爾可夫模型,表示為λ=(N,M,A,Bπ)。通常N和M為固定值,HMM模型可簡單表示為:λ= (A,B,π)(2)
子空間高斯混合模型也有高斯混合模型相對應的狀態,但是子空間高斯混合模型并不是直接給出每一個狀態的參數,而是通過一個相近的特征向量從全局高斯中映射而來。子空間高斯混合模型可以用全局高斯參數Mi,wi,和∑i,來描述:

在這里,x是特征向量,j是上下文相產的模型狀態。語音識別的模型狀態j是由I個高斯組成的混合高斯。參數uij,∑ij,wij通過vj,Mi,∑i和wi推導出來(這是一個簡化的描述)。我們使用術語“子空間”來表明高斯混合模型參數限制在整個空間的子空間范圍內。我們注意到公式(5)的分母是有必要歸一化的。我們也注意到,如果我們不使用指數函數,那么輔助函數中我們構建的E-M將不能保證是凸函數,這將導致我們在優化的過程中遇到困難。如果我們要聲明單個權重wij作為模型的參數,而不是使用這個公式來得到,模型的規模將會由我們認為不好的權重所決定。這樣最大似然估計框架將不再是有效的,它將會導致零權重出現。
考慮到HMM和ANN各自的優缺點,在這里我們考慮將兩者結合起來應用到語音識別中,將兩者取長補短應用到語音識別領域。在這里,我們將神經網絡的輸出作為隱馬爾可夫模型的輸入信號,利用神經網絡強大的描述能力來區分各種語音信號的特征,從而提高語音在同音字以及噪聲環境下的識別率。
本實驗在Kaldi語音識別系統中完成。實驗采用清華大學開源語音庫THCHS-30作為訓練和測試的語音庫,THCHS-30主要包含四個組A,B,C和D。其中A,B和C組主要是語音識別的訓練樣本。D組是語音識別的測試樣本,D組又分為四個部分,分別對應四組測試結果。數據準備及數據的特征提取的腳本文件過程中我們采用的是MFCC作為語音信號特征提取的參數。其中的echo函數用來顯示當前語音識別過程的進度。其中涉及到很多語音相關的腳本文件,這些腳本文件都是Kaldi語音識別系統為我們提供的用于語音識別相關操作的腳本文件。因為實驗需要訓練大量的語音數據,所以整個實驗的訓練和識別過程很漫長。
從語音識別的結果的數據可以看出,在純凈語音環境下,HMM/DBN混合模型的WER為14.2 070,傳統HMM的語音識別系統的W ER為15.7070。從數據可以得出,在純凈的語音環境中HMM/DBN混合模型的識別效果只是略微優于傳統的HMM模型,但兩個模型的WER差異并不大。在這種環境下進行兩種模型的結合,并不能有效地改善語音的識別率,而且還會增加訓練時間,增加了開發的成本。因為模型的結合重點是針對在噪聲環境下語音識別的情況,所以接下來我們繼續對單一模型和混合模型在噪聲環境下的語音識別進行研究。

表1 加入高斯白噪聲兩種模型的WER
通過Matlab可以實現對測試語音信號加入高斯白噪聲。信噪比分比為5dB,10dB, 15dB, 20dB, 25dB, 30dB和35dB,得到的實驗結果如表1所示。為了更直觀地比較兩種模型在噪聲環境下的識別效果,可以看出,在高斯白噪聲環境下,混合模型的語音識別效果明顯優于傳統模型的語音識別效果。實驗結果表明:基于隱馬爾可夫和人工神經網絡混合的語音識別系統的抗噪性能明顯優于傳統隱馬爾可夫模型的語音識別系統。混合模型利用了HMM強大的時序建模能力和ANN強大的描述能力,使得混合模型在一定噪聲環境下仍然具有較高的語音識別能力。混合模型獨特的抗噪聲性能使這種模型在應用到產品的時候更有實際價值。
遼寧石化職業技術學院)