陳軍霞,劉紫玉
(河北科技大學(xué)經(jīng)濟(jì)管理學(xué)院,河北石家莊 050018)
基于Baum-Welch算法HMM模型的孤詞算法研究
陳軍霞,劉紫玉
(河北科技大學(xué)經(jīng)濟(jì)管理學(xué)院,河北石家莊 050018)
介紹了隱Markov模型原理,它是用來描述含有未知參數(shù)的Markov過程,是描述隨機(jī)過程統(tǒng)計特性的概率模型。在此基礎(chǔ)上,設(shè)計了基于HMM模型的孤詞檢測實(shí)驗(yàn),通過優(yōu)化實(shí)驗(yàn)?zāi)P?,采用Baum-Welch算法解決HMM模型的訓(xùn)練問題,找到HMM模型估計參數(shù)λ值,這在數(shù)學(xué)角度上等價于其他線性預(yù)測系數(shù)。此實(shí)驗(yàn)在減少不必要的HMM訓(xùn)練的同時,降低了算法復(fù)雜程度。為了測試Baum-Welch算法的有效性,進(jìn)行了數(shù)據(jù)仿真實(shí)驗(yàn),結(jié)果表明該算法是有效的。
算法理論;Baum-Welch算法;隱Markov模型;隨機(jī)過程
隱Markov模型(Hidden Markov Models,HMM)是一種描述隨機(jī)過程統(tǒng)計特性的概率模型,用來描述一個含有未知參數(shù)的Markov過程,在實(shí)際應(yīng)用中,可用參數(shù)表示模型中的各種變量,其難點(diǎn)是從可觀察的參數(shù)中確定該過程的隱含,再利用這些參數(shù)作進(jìn)一步分析。作為研究語音信號的統(tǒng)計模型,它已經(jīng)被廣泛應(yīng)用到語音處理的很多領(lǐng)域中,其理論基礎(chǔ)是由BAUM[1-3]等在20世紀(jì)70年代建立起來的,隨后由于JEDRUZEK[4]等對HMM應(yīng)用的推廣,使得該模型得到了傳播和發(fā)展,成為信號處理的一個重要方向,現(xiàn)已成功地用于語音識別、行為識別、文字識別以及故障診斷等領(lǐng)域。近年來,HMM在生物信息科學(xué)、故障診斷等領(lǐng)域也開始得到應(yīng)用。
1.1 HMM的基本思想
研究分析事物的發(fā)展?fàn)顟B(tài),可以基于事物對象現(xiàn)在的狀態(tài)對其將來的狀態(tài)進(jìn)行預(yù)測,而不需要考慮其過去的狀態(tài)。由此,研究人員建立模型,提出了Markov鏈,即找到隨機(jī)變量序列,序列中將來的隨機(jī)變量與過去的隨機(jī)變量無關(guān),它有條件地依賴于當(dāng)前的隨機(jī)變量。在實(shí)際應(yīng)用過程中,所研究的事件對象要比Markov鏈模型所描述的更為復(fù)雜,由于觀察的事件與其狀態(tài)不能夠?qū)?yīng),致使不能直接觀察到事件狀態(tài)[5-6]。通過研究人員的努力與實(shí)踐,在Markov鏈的基礎(chǔ)上逐漸形成發(fā)展起來了HMM。HMM是描述離散時間數(shù)據(jù)樣本的強(qiáng)有力統(tǒng)計工具,可以更好地表示網(wǎng)絡(luò)數(shù)據(jù),它由一系列可相互轉(zhuǎn)移的有限狀態(tài)集合組成,雖然狀態(tài)轉(zhuǎn)移不可見,但通過采取觀測向量序列特性的方法能夠間接地觀測到狀態(tài),因?yàn)槊總€觀測向量都是通過某些概率密度分布表現(xiàn)為各種狀態(tài),并且是由一個具有相應(yīng)概率密度分布的狀態(tài)序列產(chǎn)生的[7-9]。HMM是一個雙重隨機(jī)過程,是不確定的、隨機(jī)的、有限狀態(tài)集合,是不可觀測的和可觀測的2個隨機(jī)過程的組合,是具有一定狀態(tài)數(shù)的隱Markov鏈和顯示隨機(jī)函數(shù)集,如圖1所示。
圖1 HMM的組成Fig.1 Composition of the HMM
Markov鏈模型描述的是狀態(tài)之間的轉(zhuǎn)移,用轉(zhuǎn)移概率對其進(jìn)行描述。另一隨機(jī)過程描述的則是狀態(tài)與觀察序列間的統(tǒng)計對應(yīng)關(guān)系,用觀察值概率對其進(jìn)行描述,狀態(tài)轉(zhuǎn)移過程是沒有辦法觀察到的,其結(jié)果只能觀測到觀察值,通過隨機(jī)過程去描述狀態(tài)的存在及其特性[10]。
1.2 Markov鏈
通過建立模型,Markov鏈狀態(tài)和時間參數(shù),在本研究中都可認(rèn)為是離散的Markov過程。從數(shù)學(xué)上,給出如下定義:在狀態(tài)空間(u1,u2,…,ui,…,uN)中,隨機(jī)過程Xn在m+k時刻所處的狀態(tài)概率為qm+k,Xn此時的狀態(tài)只與它在m時刻的狀態(tài)概率qm有關(guān),而與m時刻以前它所處的狀態(tài)無關(guān),
其中q1,q2,…,qm,qm+k∈(u1,u2,…,ui,…,uN),稱Xn為Markov鏈,式(1)表示的性質(zhì)稱為無后效性,并且有:
式(2)為k步轉(zhuǎn)移概率,轉(zhuǎn)移概率與狀態(tài)及時刻m有關(guān)。當(dāng)Pij(m,m+k)與m無關(guān)時,Markov鏈具有平穩(wěn)的轉(zhuǎn)移概率,則稱這個Markov鏈為齊次Markov鏈,此時有:
在語音處理應(yīng)用中,為了簡化問題,Markov鏈就是齊次Markov鏈。當(dāng)k=1時,稱Pij(1)為一步轉(zhuǎn)移概率,簡稱為轉(zhuǎn)移概率,記為aij,所有轉(zhuǎn)移概率aij可以構(gòu)成一個概率轉(zhuǎn)移矩陣A,即
由于k步轉(zhuǎn)移概率Pij(k)可由轉(zhuǎn)移概率aij通過C-K方程得到,因此,描述Markov鏈的最重要的參數(shù)是概率轉(zhuǎn)移矩陣A。
在給定的訓(xùn)練序列數(shù)有限的情況下,無法找到最佳的方法來計算估計參數(shù)λ值,但可以應(yīng)用Baum-Welch算法,采用最大似然估計方法,利用其遞歸思想[11-12],使P(O/λ)局部最大,最后得到模型參數(shù)λ=(π,A,B)。
定義ξt(i,j)為給定訓(xùn)練序列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描述,產(chǎn)生輸出為狀態(tài)序列,π表示初始狀態(tài)概率分布,π=(π1,π2,…,πi,…,πN),其中πi=P(q1=ui),1≤i≤N,顯然有0≤πi≤1,∑πi=1;A表示狀態(tài)轉(zhuǎn)移概率矩陣,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轉(zhuǎn)移到狀態(tài)j的轉(zhuǎn)移概率,且有∑aij=1。另一個是隨機(jī)過程,產(chǎn)生的輸出為觀察值概率矩陣,由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。進(jìn)而,HMM表示為λ=(π,A,B)。在模型中的3個要素中,要素π決定產(chǎn)生觀察的HMM初始狀態(tài),其重要性最小,B直接與觀察有關(guān),影響最大,對于不同的被測對象,HMM的參數(shù)是不相同的,每一被測對象都可以用一個HMM模型λ=(π,A,B)表示。
只有解決了以下幾個問題,才能有效地將HMM模型用于被測對象的檢測中[10]。
1)對于給定的觀察序列O=(o1,o2,…,oi,…,oN),調(diào)整模型λ=(π,A,B)中的各個要素,使觀察序列O=(o1,o2,…,oi,…,oN)出現(xiàn)的概率P(O/λ)能夠取得最大值。這相當(dāng)于研究人員對原始數(shù)據(jù)分析,進(jìn)行模型參數(shù)的優(yōu)化估計,完成被測對象模型參數(shù)的訓(xùn)練過程,通過訓(xùn)練,為被測對象建立最佳模型。
2)給定觀察序列O=(o1,o2,…,oi,…,oN),如何確定合理的狀態(tài)序列,使之能最佳地產(chǎn)生觀察序列O。
3)在給定的觀察序列O=(o1,o2,…,oi,…,oN)和模型λ=(π,A,B)時,如何計算被測對象出現(xiàn)的概率P(O/λ),這相當(dāng)于研究人員判斷已知觀察序列O=(o1,o2,…,oi,…,oN)由模型λ=(π,A,B)產(chǎn)生的可能性。通過與每一對象對應(yīng)的模型λ=(π,A,B)計算出現(xiàn)概率P(O/λ),取概率最大的模型所對應(yīng)的研究對象作為識別結(jié)果。
1.4 Baum-Welch算法介紹
Baum-Welch算法解決的是HMM訓(xùn)練問題,其結(jié)果是要找到HMM估計參數(shù)λ值,即給定一個觀察值序列O=(o1,o2,…,oi,…,oN)和一個HMM模型λ=(π,A,B),如何調(diào)整參數(shù)λ值,使得觀察值輸出的概率P(O/λ)最大。表示從ui狀態(tài)轉(zhuǎn)移出去的次數(shù)的期望值,而表示從ui狀態(tài)轉(zhuǎn)移到uj狀態(tài)次數(shù)的期望值。由此,導(dǎo)出Baum-Welch算法中重估公式:
那么,求取HMM參數(shù)模型λ=(π,A,B)的過程可描述如下:根據(jù)給定的觀察值序列(訓(xùn)練觀察序列)O=(o1,o2,…,oi,…,oN)和選取的初始模型λ=(π,A,B),由式(6)—式(8)可求得一組新參數(shù),亦即得到了一個新的模型ˉλ=(ˉπ,ˉA,ˉB)。通過訓(xùn)練,證明此模型中,P(O/ˉλ)>P(O/λ),即在表示觀察值序列O=(o1,o2,…,oi,…,oN)方面,所得ˉλ比λ更好,逐步改進(jìn)模型λ=(π,A,B)中的參數(shù)設(shè)置,不斷重復(fù)此優(yōu)化過程,直到出現(xiàn)概率收斂,使得值達(dá)到最大,此時的ˉλ即為所求模型。
針對孤立詞的識別進(jìn)行HMM的訓(xùn)練,對于給定的N個詞,對其進(jìn)行語音測試,以識別它是哪個詞,其實(shí)質(zhì)就是對向量序列O(訓(xùn)練觀察序列)的N分類問題。通過遞推方法計算已知模型輸出O=(o1,o2,…,oi,…,oN)及λ=(π,A,B)時產(chǎn)生輸出序列的概率P(O/λ),用Baum-Welch算法,基于最大似然準(zhǔn)則對模型參數(shù)λ=(π,A,B)進(jìn)行修正,最估參數(shù)的求解表示為。用Viterbi算法輸出序列的最佳狀態(tài)轉(zhuǎn)移序列X,即以X的最大條件后驗(yàn)概率為準(zhǔn)則,其識別系統(tǒng)如圖2所示。
圖2 孤立詞識別系統(tǒng)Fig.2 Recognition system of isolated word
2.1 基本思想
為每一個詞創(chuàng)建一個HMM,初始化參數(shù)。通過訓(xùn)練,調(diào)整模型參數(shù);識別時,對每一個模型Mi,尋找其概率最大的狀態(tài)路徑(解碼問題),M為離散觀察值所取的符號總數(shù)。計算其概率P(O/λ)值。對所有訓(xùn)練模型結(jié)果,若概率P(O/λ)最大,則識別結(jié)果為第n個詞。
2.2 確認(rèn)系統(tǒng)設(shè)計
根據(jù)被測對象性質(zhì),本研究模型所構(gòu)造的HMM確認(rèn)系統(tǒng)框圖如圖3所示。
圖3 HMM確認(rèn)系統(tǒng)框圖Fig.3 Confirmed the system block diagram of HMM
2.3 具體實(shí)現(xiàn)
1)模型選擇原則 選擇連續(xù)的HMM;結(jié)構(gòu)一般選擇從左向右(沒有跨越);狀態(tài)數(shù)一般為3~7個,通過反復(fù)實(shí)驗(yàn)選定最優(yōu);輸出概率一般用混合高斯,高斯分量越多越精確,但越多計算量越大;一般采用有起點(diǎn)和終點(diǎn)狀態(tài)的模型;模型的關(guān)鍵在于輸出概率(混合高斯),狀態(tài)轉(zhuǎn)移概率相對來說不是很重要[13-15]。
2)輸入數(shù)據(jù)(對應(yīng)HMM各狀態(tài)的輸出) 每個詞的語音按幀長30ms,幀移10ms分幀;每幀內(nèi)提取MFCC特征(12維)能量;相鄰幀之間求一階、二階差分;得到39維特征向量;所以,每個孤立詞在系統(tǒng)內(nèi)的表示是一個長度為T的39維的向量序列;
3)模型訓(xùn)練 首先進(jìn)行參數(shù)初始化,進(jìn)行隨機(jī)/自設(shè)定/初始估計操作;接下來進(jìn)行參數(shù)訓(xùn)練,應(yīng)用Baum-Welch算法,每個孤立的模型只用其對應(yīng)的語音訓(xùn)練。
4)語音識別 對于給定的特征向量訓(xùn)練O=(o1,o2,…,oi,…,oN),對每個HMM模型,尋找輸出O=(o1,o2,…,oi,…,oN)的概率最大的狀態(tài)路徑,計算相應(yīng)的概率P(O/λ)進(jìn)行比較,概率最大的模型對應(yīng)的詞即為識別結(jié)果。
5)主要功能模塊代碼的實(shí)現(xiàn)
2.4 訓(xùn)練結(jié)果
根據(jù)本實(shí)驗(yàn)設(shè)計,使用數(shù)據(jù)集由30條長度為200的序列組成,由2個模型產(chǎn)生,見表1和表2。
表1 30條序列分別在HMM1和HMM2模型中概率的例子Tab.1 Probability of 30sequences in HMM1and in HMM2
根據(jù)仿真實(shí)驗(yàn)結(jié)果,可知隱馬爾可夫模型比基線模型獲得了更好的識別結(jié)果,這得益于前者更有效地描述了被測對象相關(guān)性,說明訓(xùn)練序列O設(shè)計合理,更有效地找到了模型λ值,這在數(shù)學(xué)角度上完全等價于其他線性預(yù)測系數(shù)。
表2 實(shí)驗(yàn)所選模型與基線模型識別結(jié)果比較Tab.2 Comparison of identification result of selected model and the baseline model
將隱Markov模型概念及建立相應(yīng)的隱Markov模型用于語音識別,理論分析和實(shí)驗(yàn)結(jié)果表明:使用HMM模型識別孤立詞語音過程中,從檢測機(jī)理上分析,音元狀態(tài)轉(zhuǎn)移概率A是逐幀變化的;轉(zhuǎn)移概率A是根據(jù)詞音發(fā)音時音元分布和實(shí)測統(tǒng)計的檢測規(guī)律構(gòu)建而成的;仿真結(jié)果證實(shí),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)代語音技術(shù)基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,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].天津:天津大學(xué),2006.YAO Liyue.The Research of Speaker Recognition System Based on HMM Model[D].Tianjin:Tianjin University,2006.
[8] 李秀珍.語音識別算法及應(yīng)用技術(shù)研究[D].重慶:重慶大學(xué),2010.LI Xiuzhen.Research on Speech Recognition Algorithm and Application[D].Chongqing:Chongqing University,2010.
[9] 張路.一種HMM的學(xué)習(xí)算法[D].成都:西南交通大學(xué),2010.ZHANG Lu.A HMM Study Algotithm[D].Chengdu:Southwest Jiaotong University,2010.
[10]鄭東亮,達(dá)飛鵬.一種求解最短枝切長度問題的學(xué)習(xí)算法[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]高榮芳.一種基于可配置層級結(jié)構(gòu)的導(dǎo)航樹生成策略[J].西安石油大學(xué)學(xué)報(自然科學(xué)版),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)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)技術(shù)與發(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]于國慶,靳蕊,李永偉.均值分組塊補(bǔ)零P碼直捕算法原理及實(shí)現(xiàn)[J].河北科技大學(xué)學(xué)報,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]賀恩澤.一種面向服務(wù)體系架構(gòu)的跨域單點(diǎn)登錄系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),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)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)技術(shù)與發(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;責(zé)任編輯:李 穆
河北省自然科學(xué)基金(F2012208018);河北省高等學(xué)校科學(xué)技術(shù)研究重點(diǎn)項目(ZD2014027)
陳軍霞(1973—),女,河北石家莊人,副教授,碩士,主要從事管理信息系統(tǒng)方面的研究。
E-mail:chenjunxia1234@163.com
陳軍霞,劉紫玉.基于Baum-Welch算法HMM模型的孤詞算法研究[J].河北科技大學(xué)學(xué)報,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.