陶 潔,張會林
(上海理工大學 光電信息與計算機工程學院,上海 200090)
近年來,隨著語音識別技術的不斷發展,語音識別系統的性能不斷提高,隱馬爾可夫模型方法是當中的一個主要識別方法。語音識別系統的識別率十分依賴于模型的訓練,而經典的訓練算法(Baum-Welch算法)有一個致命的弱點,即最終所得的解十分依賴于初始值的選取,所以總是局部最優解,影響了整個系統的識別率。本文將遺傳算法植入HMM模型參數的優化當中,使得整個語音識別系統的識別效果大大改善。
遺傳算法將自然界的生物進化原理引入待優化參數形成的編碼串聯群體中,按所選擇的適應度函數通過遺傳中的復制、交叉及變異對個體進行篩選,使得適應度高的個體被保留下來,組成新的群體。通過不斷迭代,保留下的個體適應度不斷提高,直到滿足一定的條件。從數學的角度解釋,可以簡單地認為,基因重組使子代基因趨向于局部最優解,而基因變異能使子代基因突破局部范疇,經過多代的交叉和變異,達到全局最優解。
根據待優化問題的數學模型,定義適應度函數F(ai),其中 ai為其中的一條染色體,則 F(ai)就是判斷該染色體優劣的依據。對于每一代基因,計算所有染色體的適應度函數,進行排序,選擇一定數目的優秀染色體,用于產生子代的父代樣本。
復制操作只能從舊種群中選擇出較優秀的染色體,但是不能創造出新的染色體。交叉操作模擬了生物進化過程中的交配過程,通過兩條染色體的分離重組,產生新的優良物種。圖1為多點交叉重組的示意圖。交叉過程為:在匹配池中任選兩條染色體,隨機選擇一點或多點交換點,然后交換雙親染色體交換點右邊的部分,即可得到兩條新的子代染色體。

圖1 多點交叉重組
最佳基因是在一代一代的基因重組和基因變異中產生的。基因突變用來模擬生物在自然的遺傳環境中由于各種偶然因素引起的變異突變,它以很小的概率隨機地改變染色體編碼串中的某一位。變異算法有利于局部最優處跳出,防止算法過早地收斂。
遺傳算法的具體實現步驟如下:
(1)隨機產生最初的染色體群體 p={a1,a2,…,aL},ai為其中的一條染色體。
(2)計算各個染色體的適應度函數 F(ai),并對適應度函數 F(ai)進行排序,根據設定的門限選取一定數目的優秀染色體作為產生子代染色體的父代樣本。
(3)以一點或多點交叉產生新的子代染色體,交叉點隨機生成。
(4)設定變異概率門限,根據生成的隨機數決定染色體中的某個變量是否有突變發生。
識別主要有兩個任務:一個是對每個HMM模型的訓練,也就是計算HMM參數;另一個是識別任務,也就是已知了參考模型的HMM參數,決定未知模式與哪個參考模式是最佳匹配。訓練采用Baum-Welch算法,識別采用Viterbi算法。
給定一個觀察值序列 O=o1,o2,…,oN,以及一個需要通過訓練進行重估參數的 HMM模型 M={A,B,π}。重估公式如下:

利用式(1)、(2),訓練步驟如下:
(1)給未知模型假設初始條件,計算 P(X|S)。
(2)使用式(1)、(2),由當前的模型參數的估計值,重新估計新的模型S的參數。
(3)計算 P(X|S)。 如果 P(X|S)-P(X|S)>ε,S=S 并且回到步驟(1),否則停止。
給 定 一 個 觀 察 值 序 列 O=o1,o2, … ,oN, 以 及 一 個HMM模型M={A,B,π},在最佳的意義上確定一個狀態序列 S=s1,s2,…,sN。 這里的“最佳”是指使 P(O,S|M)最大。 P(O,S|M)計算式為:

觀察式(3),定義每步轉移的代價為

基于遺傳算法改進的HMM系統的設計模型如圖2所示。

圖2 改進型HMM系統
在將遺傳算法引入HMM訓練的過程中,首先要解決的是染色體的構造問題。將HMM模型的所有參數排列成一串,構成染色體。對于語音識別,采用自左向右的HMM模型,本文中為5狀態自左向右只含一階跳轉的HMM模型。HMM模型 λ={A,B,π},參數由初始狀態向量π、狀態轉移矩陣A及每個狀態的輸出概率密度函數組成。向量π含有5個元素,轉移矩陣A中共含有元素25個,其中不為0的參數為9個。各狀態的輸出概率密度函數 bj(o)=ΣcjkN(o,μjk,Σjk)。 其中 j代表狀態,cjk為混合系數,N()為高斯分布,μjk為平均矢量,Σjk為協方差矩陣。語音特征參數采用24階Mel倒譜系數,選取為5個高斯概率密度函數的混合。將初始狀態向量π、轉移矩陣A和混合系數矩陣c的參數共5+9+25=39個按行組成一串,形成染色體的前一部分,將平均矢量μjk和協方差矩陣Σjk共 5×5×(10+24×24)=14 650 個參數按行組成一串,形成染色體的后一部分。在染色體前一部分的行向量之和均為1。因此,需要在生成每一代染色體前,對這一部分行向量所對應的每一段染色體進行歸一化,以滿足HMM的約束條件。

實驗中,染色體的前一部分依概率進行二點或多點交叉,而后一部分染色體只進行多點交叉,多點交叉概率為 ρc=0.8。染色體前一部分的變異概率為 ρm=0.1,后一部分變異概率為ρm=0.04。此外,設置系統最大進化代數為 100。
實驗基于HMM進行語音識別,訓練數據取自10人,在不同SNR下獲取語音數據,時間長度為5 s,采樣率為8 kHz,A/D轉換精度為16 bit,單聲道。遺傳算法的優化過程中適應度函數F的變化過程如圖3所示。語音識別系統識別結果如表1所示。

圖3 適應度函數F變化過程

表1 兩種系統不同SNR下識別率比較
表1中,系統I為基于HMM的語音識別系統,系統II為基于遺傳算法改進的HMM語音識別系統。從實驗結果可以看出,基于遺傳算法改進的HMM模型對語音識別率有較大改善,平均提高了4~5個百分點。
本應用基于HMM語音識別算法,結合遺傳算法進行HMM模型訓練并將其應用于到語音識別中。經過實際驗證,計算簡單,效果好,基本達到了設計目的和現實要求。
[1]張思才,張方曉.一種遺傳算法適應度函數的改進方法[J].計算機應用與軟件,2011,23(2):108-110.
[2]MANIEZZO V.Genetic evolution of the topology and weight distribution of neural networks[J].IEEE Transactions on Neural Networks, 1994, 5(6):900~909.
[3]TERASHIMA R, YOSHIMURA T, WAKITA T.Prediction method of speech recognition performance based on HMM-based speech synthesis technique[J].IEEE Transactions on Electronics, Information and Systems,2010,130: 557-564.
[4]胡廣書.現代信號處理教程[M].北京:清華大學出版社,2004.