陳軍霞,劉紫玉
(河北科技大學經濟管理學院,河北石家莊 050018)
基于Baum-Welch算法HMM模型的孤詞算法研究
陳軍霞,劉紫玉
(河北科技大學經濟管理學院,河北石家莊 050018)
介紹了隱Markov模型原理,它是用來描述含有未知參數(shù)的Markov過程,是描述隨機過程統(tǒng)計特性的概率模型。在此基礎上,設計了基于HMM模型的孤詞檢測實驗,通過優(yōu)化實驗模型,采用Baum-Welch算法解決HMM模型的訓練問題,找到HMM模型估計參數(shù)λ值,這在數(shù)學角度上等價于其他線性預測系數(shù)。此實驗在減少不必要的HMM訓練的同時,降低了算法復雜程度。為了測試Baum-Welch算法的有效性,進行了數(shù)據(jù)仿真實驗,結果表明該算法是有效的。
算法理論;Baum-Welch算法;隱Markov模型;隨機過程
隱Markov模型(Hidden Markov Models,HMM)是一種描述隨機過程統(tǒng)計特性的概率模型,用來描述一個含有未知參數(shù)的Markov過程,在實際應用中,可用參數(shù)表示模型中的各種變量,其難點是從可觀察的參數(shù)中確定該過程的隱含,再利用這些參數(shù)作進一步分析。作為研究語音信號的統(tǒng)計模型,它已經被廣泛應用到語音處理的很多領域中,其理論基礎是由BAUM[1-3]等在20世紀70年代建立起來的,隨后由于JEDRUZEK[4]等對HMM應用的推廣,使得該模型得到了傳播和發(fā)展,成為信號處理的一個重要方向,現(xiàn)已成功地用于語音識別、行為識別、文字識別以及故障診斷等領域。近年來,HMM在生物信息科學、故障診斷等領域也開始得到應用。
1.1 HMM的基本思想
研究分析事物的發(fā)展狀態(tài),可以基于事物對象現(xiàn)在的狀態(tài)對其將來的狀態(tài)進行預測,而不需要考慮其過去的狀態(tài)。由此,研究人員建立模型,提出了Markov鏈,即找到隨機變量序列,序列中將來的隨機變量與過去的隨機變量無關,它有條件地依賴于當前的隨機變量。在實際應用過程中,所研究的事件對象要比Markov鏈模型所描述的更為復雜,由于觀察的事件與其狀態(tài)不能夠對應,致使不能直接觀察到事件狀態(tài)[5-6]。通過研究人員的努力與實踐,在Markov鏈的基礎上逐漸形成發(fā)展起來了HMM。HMM是描述離散時間數(shù)據(jù)樣本的強有力統(tǒng)計工具,可以更好地表示網絡數(shù)據(jù),它由一系列可相互轉移的有限狀態(tài)集合組成,雖然狀態(tài)轉移不可見,但通過采取觀測向量序列特性的方法能夠間接地觀測到狀態(tài),因為每個觀測向量都是通過某些概率密度分布表現(xiàn)為各種狀態(tài),并且是由一個具有相應概率密度分布的狀態(tài)序列產生的[7-9]。HMM是一個雙重隨機過程,是不確定的、隨機的、有限狀態(tài)集合,是不可觀測的和可觀測的2個隨機過程的組合,是具有一定狀態(tài)數(shù)的隱Markov鏈和顯示隨機函數(shù)集,如圖1所示。
圖1 HMM的組成Fig.1 Composition of the HMM
Markov鏈模型描述的是狀態(tài)之間的轉移,用轉移概率對其進行描述。另一隨機過程描述的則是狀態(tài)與觀察序列間的統(tǒng)計對應關系,用觀察值概率對其進行描述,狀態(tài)轉移過程是沒有辦法觀察到的,其結果只能觀測到觀察值,通過隨機過程去描述狀態(tài)的存在及其特性[10]。
1.2 Markov鏈
通過建立模型,Markov鏈狀態(tài)和時間參數(shù),在本研究中都可認為是離散的Markov過程。從數(shù)學上,給出如下定義:在狀態(tài)空間(u1,u2,…,ui,…,uN)中,隨機過程Xn在m+k時刻所處的狀態(tài)概率為qm+k,Xn此時的狀態(tài)只與它在m時刻的狀態(tài)概率qm有關,而與m時刻以前它所處的狀態(tài)無關,
其中q1,q2,…,qm,qm+k∈(u1,u2,…,ui,…,uN),稱Xn為Markov鏈,式(1)表示的性質稱為無后效性,并且有:
式(2)為k步轉移概率,轉移概率與狀態(tài)及時刻m有關。當Pij(m,m+k)與m無關時,Markov鏈具有平穩(wěn)的轉移概率,則稱這個Markov鏈為齊次Markov鏈,此時有:
在語音處理應用中,為了簡化問題,Markov鏈就是齊次Markov鏈。當k=1時,稱Pij(1)為一步轉移概率,簡稱為轉移概率,記為aij,所有轉移概率aij可以構成一個概率轉移矩陣A,即
由于k步轉移概率Pij(k)可由轉移概率aij通過C-K方程得到,因此,描述Markov鏈的最重要的參數(shù)是概率轉移矩陣A。
在給定的訓練序列數(shù)有限的情況下,無法找到最佳的方法來計算估計參數(shù)λ值,但可以應用Baum-Welch算法,采用最大似然估計方法,利用其遞歸思想[11-12],使P(O/λ)局部最大,最后得到模型參數(shù)λ=(π,A,B)。
定義ξt(i,j)為給定訓練序列O=(o1,o2,…,oi,…,oN)和模型λ=(π,A,B)時,在時刻t時Markov鏈處于ui狀態(tài)和在時刻t+1時為uj狀態(tài)的概率,即ξt(i,j)=P(O,qt=ui,qt+1=uj/λ)可以推出ξt(i,j)=[αt(i)aijbjOt+1βt+1(j)]/P(O/λ)。
那么在時刻t時Markov鏈處于ui狀態(tài)的概率為,因此,
1.3 HMM描述
HMM由2個部分組成,一個是Markov鏈,由π,A描述,產生輸出為狀態(tài)序列,π表示初始狀態(tài)概率分布,π=(π1,π2,…,πi,…,πN),其中πi=P(q1=ui),1≤i≤N,顯然有0≤πi≤1,∑πi=1;A表示狀態(tài)轉移概率矩陣,A=(aij)N×N,其中aij=P(qm+k=uj/qm=ui),1≤i,j≤N,N是模型中Markov鏈狀態(tài)總數(shù),A中的元素aij表示從狀態(tài)i轉移到狀態(tài)j的轉移概率,且有∑aij=1。另一個是隨機過程,產生的輸出為觀察值概率矩陣,由B描述,B=(bjk)N×M,其中bjk=P(Ot=vk/qt=uj),1≤j≤N,1≤k≤M,M為離散觀察值可能取的符號總數(shù)。B中的元素bjk表示t時刻觀察值vk在狀態(tài)j的概率,且有∑bij=1。進而,HMM表示為λ=(π,A,B)。在模型中的3個要素中,要素π決定產生觀察的HMM初始狀態(tài),其重要性最小,B直接與觀察有關,影響最大,對于不同的被測對象,HMM的參數(shù)是不相同的,每一被測對象都可以用一個HMM模型λ=(π,A,B)表示。
只有解決了以下幾個問題,才能有效地將HMM模型用于被測對象的檢測中[10]。
1)對于給定的觀察序列O=(o1,o2,…,oi,…,oN),調整模型λ=(π,A,B)中的各個要素,使觀察序列O=(o1,o2,…,oi,…,oN)出現(xiàn)的概率P(O/λ)能夠取得最大值。這相當于研究人員對原始數(shù)據(jù)分析,進行模型參數(shù)的優(yōu)化估計,完成被測對象模型參數(shù)的訓練過程,通過訓練,為被測對象建立最佳模型。
2)給定觀察序列O=(o1,o2,…,oi,…,oN),如何確定合理的狀態(tài)序列,使之能最佳地產生觀察序列O。
3)在給定的觀察序列O=(o1,o2,…,oi,…,oN)和模型λ=(π,A,B)時,如何計算被測對象出現(xiàn)的概率P(O/λ),這相當于研究人員判斷已知觀察序列O=(o1,o2,…,oi,…,oN)由模型λ=(π,A,B)產生的可能性。通過與每一對象對應的模型λ=(π,A,B)計算出現(xiàn)概率P(O/λ),取概率最大的模型所對應的研究對象作為識別結果。
1.4 Baum-Welch算法介紹
Baum-Welch算法解決的是HMM訓練問題,其結果是要找到HMM估計參數(shù)λ值,即給定一個觀察值序列O=(o1,o2,…,oi,…,oN)和一個HMM模型λ=(π,A,B),如何調整參數(shù)λ值,使得觀察值輸出的概率P(O/λ)最大。表示從ui狀態(tài)轉移出去的次數(shù)的期望值,而表示從ui狀態(tài)轉移到uj狀態(tài)次數(shù)的期望值。由此,導出Baum-Welch算法中重估公式:
那么,求取HMM參數(shù)模型λ=(π,A,B)的過程可描述如下:根據(jù)給定的觀察值序列(訓練觀察序列)O=(o1,o2,…,oi,…,oN)和選取的初始模型λ=(π,A,B),由式(6)—式(8)可求得一組新參數(shù),亦即得到了一個新的模型ˉλ=(ˉπ,ˉA,ˉB)。通過訓練,證明此模型中,P(O/ˉλ)>P(O/λ),即在表示觀察值序列O=(o1,o2,…,oi,…,oN)方面,所得ˉλ比λ更好,逐步改進模型λ=(π,A,B)中的參數(shù)設置,不斷重復此優(yōu)化過程,直到出現(xiàn)概率收斂,使得值達到最大,此時的ˉλ即為所求模型。
針對孤立詞的識別進行HMM的訓練,對于給定的N個詞,對其進行語音測試,以識別它是哪個詞,其實質就是對向量序列O(訓練觀察序列)的N分類問題。通過遞推方法計算已知模型輸出O=(o1,o2,…,oi,…,oN)及λ=(π,A,B)時產生輸出序列的概率P(O/λ),用Baum-Welch算法,基于最大似然準則對模型參數(shù)λ=(π,A,B)進行修正,最估參數(shù)的求解表示為。用Viterbi算法輸出序列的最佳狀態(tài)轉移序列X,即以X的最大條件后驗概率為準則,其識別系統(tǒng)如圖2所示。
圖2 孤立詞識別系統(tǒng)Fig.2 Recognition system of isolated word
2.1 基本思想
為每一個詞創(chuàng)建一個HMM,初始化參數(shù)。通過訓練,調整模型參數(shù);識別時,對每一個模型Mi,尋找其概率最大的狀態(tài)路徑(解碼問題),M為離散觀察值所取的符號總數(shù)。計算其概率P(O/λ)值。對所有訓練模型結果,若概率P(O/λ)最大,則識別結果為第n個詞。
2.2 確認系統(tǒng)設計
根據(jù)被測對象性質,本研究模型所構造的HMM確認系統(tǒng)框圖如圖3所示。
圖3 HMM確認系統(tǒng)框圖Fig.3 Confirmed the system block diagram of HMM
2.3 具體實現(xiàn)
1)模型選擇原則 選擇連續(xù)的HMM;結構一般選擇從左向右(沒有跨越);狀態(tài)數(shù)一般為3~7個,通過反復實驗選定最優(yōu);輸出概率一般用混合高斯,高斯分量越多越精確,但越多計算量越大;一般采用有起點和終點狀態(tài)的模型;模型的關鍵在于輸出概率(混合高斯),狀態(tài)轉移概率相對來說不是很重要[13-15]。
2)輸入數(shù)據(jù)(對應HMM各狀態(tài)的輸出) 每個詞的語音按幀長30ms,幀移10ms分幀;每幀內提取MFCC特征(12維)能量;相鄰幀之間求一階、二階差分;得到39維特征向量;所以,每個孤立詞在系統(tǒng)內的表示是一個長度為T的39維的向量序列;
3)模型訓練 首先進行參數(shù)初始化,進行隨機/自設定/初始估計操作;接下來進行參數(shù)訓練,應用Baum-Welch算法,每個孤立的模型只用其對應的語音訓練。
4)語音識別 對于給定的特征向量訓練O=(o1,o2,…,oi,…,oN),對每個HMM模型,尋找輸出O=(o1,o2,…,oi,…,oN)的概率最大的狀態(tài)路徑,計算相應的概率P(O/λ)進行比較,概率最大的模型對應的詞即為識別結果。
5)主要功能模塊代碼的實現(xiàn)
2.4 訓練結果
根據(jù)本實驗設計,使用數(shù)據(jù)集由30條長度為200的序列組成,由2個模型產生,見表1和表2。
表1 30條序列分別在HMM1和HMM2模型中概率的例子Tab.1 Probability of 30sequences in HMM1and in HMM2
根據(jù)仿真實驗結果,可知隱馬爾可夫模型比基線模型獲得了更好的識別結果,這得益于前者更有效地描述了被測對象相關性,說明訓練序列O設計合理,更有效地找到了模型λ值,這在數(shù)學角度上完全等價于其他線性預測系數(shù)。
表2 實驗所選模型與基線模型識別結果比較Tab.2 Comparison of identification result of selected model and the baseline model
將隱Markov模型概念及建立相應的隱Markov模型用于語音識別,理論分析和實驗結果表明:使用HMM模型識別孤立詞語音過程中,從檢測機理上分析,音元狀態(tài)轉移概率A是逐幀變化的;轉移概率A是根據(jù)詞音發(fā)音時音元分布和實測統(tǒng)計的檢測規(guī)律構建而成的;仿真結果證實,HMM算法對于孤立詞檢測效果高于基線模型。
[1] BAUM L,PETRIE E.Statistical inference for probabilistic function of finite state Markov chains[J].The Annals of Mathematical Statistics,1966,37(6):1554-1563.
[2] BAUM L E,EGON J A.An Inequality with applications to statistical estimation for probabilistic functions of a Markov process and to a model for ecology[J].Bull Amer Meteorol Soc,1967,32:360-363.
[3] BAUM L E,PETRIE T,SOULES G,et al.A maximization technique occurring in the statistical analysis of probabilistic functions of Markov processes[J].Ann Math Stat,1970,56:164-171.
[4] JEDRUZEK J.Speech recognition[J].Alcatel Telecommunications Review,2003,22:129-134.
[5] 蔡蓮紅.現(xiàn)代語音技術基礎與應用[M].北京:清華大學出版社,2003.CAI Lianhong.The Foundation of Modern Speech Technology and Application[M].Beijing:Tsinghua University Press,2003.
[6] YOSHIZAWA S,MIYANAGA Y.A highspeed HMM VLSI module with block parallel processing[J].Electronics and Communications in Japan,PartⅢ:Fundamental Electronic Science,2004,87(5):12-23.
[7] 姚立月.基于HMM模型的說話人識別系統(tǒng)的研究[D].天津:天津大學,2006.YAO Liyue.The Research of Speaker Recognition System Based on HMM Model[D].Tianjin:Tianjin University,2006.
[8] 李秀珍.語音識別算法及應用技術研究[D].重慶:重慶大學,2010.LI Xiuzhen.Research on Speech Recognition Algorithm and Application[D].Chongqing:Chongqing University,2010.
[9] 張路.一種HMM的學習算法[D].成都:西南交通大學,2010.ZHANG Lu.A HMM Study Algotithm[D].Chengdu:Southwest Jiaotong University,2010.
[10]鄭東亮,達飛鵬.一種求解最短枝切長度問題的學習算法[J].模式識別與人工智能,2011,24(5):645-650.DENG Dongliang,DA Feipeng.A learning algorithm for shortest branch cut length problem[J].Pattern Recognition and Artificial Intelligence,2011,24(5):645-650.
[11]高榮芳.一種基于可配置層級結構的導航樹生成策略[J].西安石油大學學報(自然科學版),2012,27(5):95-98.GAO Rongfang.A navigation tree generation strategy based on configured hierarchy structure[J].Journal of Xi’an Shiyou University(Natural Science Edition),2012,27(5):95-98.
[12]譙倩,毛燕琴,沈蘇彬.嵌入式Web訪問控制系統(tǒng)的設計與實現(xiàn)[J].計算機技術與發(fā)展,2011,21(8):228-232.QIAO Qian,MAO Yanqin,SHEN Subin.Design and redlization embedded Web access control system[J].Computer Technology and Development,2011,21(8):228-232.
[13]于國慶,靳蕊,李永偉.均值分組塊補零P碼直捕算法原理及實現(xiàn)[J].河北科技大學學報,2014,35(2):172-178.YU Guoqing,JIN Rui,LI Yongwei.Principle and implement of P-code divect acquisition based on averge block zero padding[J].Journal of Hebei University of Science and Technology,2014,35(2):172-178.
[14]賀恩澤.一種面向服務體系架構的跨域單點登錄系統(tǒng)的設計與實現(xiàn)[D].北京:北京郵電大學,2012.HE Enze.The Design and Implementation of a Single Sign-on Scheme for Cross Domain Web Applications Based on SOA[D].Beijing:Beijing University of Post Telecommunication,2012.
[15]周彥萍,馬艷東.基于CP-ABE訪問控制系統(tǒng)的設計與實現(xiàn)[J].計算機技術與發(fā)展,2014,24(2):145-149.ZHOU Yanping,MA Yandong.Design and implementation for access control system based on CP-ABE[J].Computer Technology and Development,2014,24(2):145-149.
Study on solitary word based on HMM model and Baum-Welch algorithm
CHEN Junxia,LIU Ziyu
(School of Economics and Management,Hebei University of Science and Technology,Shijiazhuang,Hebei 050018,China)
This paper introduces the principle of Hidden Markov Model,which is used to describe the Markov process with unknown parameters,is a probability model to describe the statistical properties of the random process.On this basis,designed a solitary word detection experiment based on HMM model,by optimizing the experimental model,Using Baum-Welch algorithm for training the problem of solving the HMM model,HMM model to estimate the parameters of theλvalue is found,in this view of mathematics equivalent to other linear prediction coefficient.This experiment in reducing unnecessary HMM training at the same time,reduced the algorithm complexity.In order to test the effectiveness of the Baum-Welch algorithm,The simulation of experimental data,the results show that the algorithm is effective.
theory of algorithm;Baum-Welch algorithm;hidden Markov model;stochastic process
TP391.42
A
1008-1542(2015)01-0052-06
10.7535/hbkd.2015yx01011
2014-09-12;
2014-10-28;責任編輯:李 穆
河北省自然科學基金(F2012208018);河北省高等學校科學技術研究重點項目(ZD2014027)
陳軍霞(1973—),女,河北石家莊人,副教授,碩士,主要從事管理信息系統(tǒng)方面的研究。
E-mail:chenjunxia1234@163.com
陳軍霞,劉紫玉.基于Baum-Welch算法HMM模型的孤詞算法研究[J].河北科技大學學報,2015,36(1):52-57.
CHEN Junxia,LIU Ziyu.Study on solitary word based on HMM model and Baum-Welch algorithm[J].Journal of Hebei University of Science and Technology,2015,36(1):52-57.