何勇軍,韓紀慶
(1. 哈爾濱工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001;2. 哈爾濱理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150080)
在語音識別中,加性噪聲和信道畸變一直是導(dǎo)致系統(tǒng)性能下降的重要原因。數(shù) 10年來,在提高語音識別系統(tǒng)環(huán)境頑健性方面,研究者們做了大量工作,取得了一定進展。目前存在的方法大致可分為特征增強和模型補償/適應(yīng)2大類[1]。前者提取頑健性特征來提高系統(tǒng)性能;后者則訓(xùn)練適應(yīng)噪聲環(huán)境的聲學(xué)模型來降低環(huán)境失配的影響。在現(xiàn)實環(huán)境中,語音通常同時受加性噪聲和信道畸變的影響,同時補償這2類畸變對于增強語音識別系統(tǒng)頑健性具有重要意義。聯(lián)合補償方法(JAC, joint compen-sation of additive and convolutive distortions)[2~4]試圖達到這一目標。它在期望最大化(EM, expectation-maximum)框架下估計噪聲參數(shù)然后補償模型參數(shù),能有效提升語音識別系統(tǒng)的識別率,其性能明顯優(yōu)于特征增強類方法。更重要的是,JAC類方法在識別過程中進行補償,無需額外的標注數(shù)據(jù)。在補償過程中,JAC類方法需要噪聲參數(shù)的顯式表示,但以MFCC為特征的系統(tǒng),畸變語音和干凈語音以及噪聲之間的關(guān)系式呈高度非線性[2],其中噪聲參數(shù)無法被解析表達,這導(dǎo)致參數(shù)估計難以準確實現(xiàn)。
JAC用一階VTS將非線性畸變模型展開[2~6],獲得噪聲參數(shù)的近似解析表達式。由于一階 VTS存在較大誤差,這使得JAC類補償方法對系統(tǒng)性能的提升受到限制。通過研究發(fā)現(xiàn),計算MFCC過程中的對數(shù)運算將導(dǎo)致語音和噪聲參數(shù)呈非線性。針對這一點,本文將對數(shù)運算用其分段線性插值函數(shù)代替,構(gòu)建新的線性畸變模型,并在此基礎(chǔ)上導(dǎo)出了噪聲參數(shù)估計和模型補償公式。與現(xiàn)有JAC類方法相比,本文方法建立在線性畸變模型之上,避免了使用一階 VTS展開所引入的模型誤差。實驗表明,該方法能有效提高系統(tǒng)識別率。
一階 VTS用過展開點的切平面近似代替真實模型的曲面,當(dāng)展開點附近的真實曲面曲率較大或選擇的展開點距離觀察值較遠時,線性化后的畸變模型將存在較大誤差;另一方面,展開點的選擇目前尚無規(guī)律可循,也是一個有待解決的問題。二階及其以上VTS計算復(fù)雜度將急劇增加,而且也無法獲得噪聲參數(shù)的解析表達式,難以用于模型補償。對數(shù)運算能將乘積運算轉(zhuǎn)化為加運算,但在加性噪聲存在時卻使得畸變模型呈高度非線性。因此,提出用分段線性函數(shù)對對數(shù)函數(shù)插值近似,建立線性畸變模型。
MFCC的計算是先對信號分幀,作離散傅立葉變換(DFT, discrete Fourier transform),然后加梅爾濾波器組并對其輸出取對數(shù),最后作離散余弦變換(DCT, discrete cosine transform),如圖1的虛線。本文特征按照圖1實線的方向計算。在實驗中,先統(tǒng)計梅爾濾波器輸出的上限D(zhuǎn)1和下限D(zhuǎn)2,然后在[D1,D2]內(nèi)計算對數(shù)函數(shù)的分段線性插值函數(shù)即可滿足系統(tǒng)需求。
圖1 本文特征與MFCC特征的計算對比
假定在區(qū)間[D1, D2]上存在等比排列的點:D1=d0, d1,…, dp=D2,即 dr=qdr-1, r=1, 2,…, p,其中,q取大于1的常數(shù),p為區(qū)間個數(shù)。在區(qū)間[dr,dr+1]上,用過點(dr, ln(dr))和(dr+1, ln(dr+1))的線段代替對數(shù)曲線,其中,ln(·)代表自然對數(shù)運算。由于自然對數(shù)的變化率隨自變量增加而減小,在自變量較小的區(qū)間上需要較多的線段去逼近,因此,這里采用逐漸遞增的等比數(shù)列分割定義區(qū)間。
在任意一個區(qū)間[dr, dr+1]上,系數(shù)ar、br是完全確定的。對于一次運算,只要確定函數(shù)值lr(x)和自變量x中的任意一個即可確定運算系數(shù)。
在后面的運算中,需要對關(guān)系式 y=hx+n兩端進行運算,其中,x、y分別代表某一梅爾濾波器上干凈語音和混噪語音的輸出,h、n分別代表信道和加性噪聲參數(shù)。若x∈[ds, ds+1],y∈[dr, dr+1], 其中,s, r=1, 2, …, p可以相同也可以不同,則有l(wèi)s(x)=asx+bs且
式(2)為干凈語音、畸變語音以及噪聲參數(shù)建立的線性關(guān)系。這樣表示既可實現(xiàn)干凈語音模型和畸變語音模型之間的相互轉(zhuǎn)換,又便于噪聲參數(shù)由其他參數(shù)表達。在噪聲參數(shù) h、n確定時,已知 ls(x)可確定as、bs,然后用hx+n= h[(ls(x)-bs)/as]+n確定ar、br,即可求出lr(y)。反之,如已知lr(y),也可確定ar、br,計算出y=hx+n,進而求出x并確定as、bs,最后求出ls(x)。
在頻域畸變語音的功率譜可表示為[7]
其中,k=1, 2,…, K為DFT序號,X[k]和Y[k]分別為干凈語音和畸變語音的DFT,H[k]和N[k]分別為信道畸變和加性噪聲的DFT。等式兩端加梅爾濾波器組 :,其中,l=1, 2,…, L,L為梅爾濾波器個數(shù),表示第l個梅爾濾波器在第k個頻譜分量上的值,并令
則第l個梅爾濾波器的輸出為
在MFCC的計算過程中,接下來要作對數(shù)運算,這里用其分段線性插值函數(shù)代替。根據(jù)式(2)有
等式兩端作 DCT,并采用與文獻[2]類似的處理方式,令
其中,C為DCT矩陣,T為轉(zhuǎn)秩運算。由于每個梅爾濾波器上的能量輸出值可能處于不同區(qū)間,在運算時要用到不同的分段函數(shù),這里用下標rl和sl表示第l個梅爾濾波器上的輸出和所處的區(qū)間。其中,系數(shù)向量a1、a2及a3內(nèi)對應(yīng)元素按式(2)的系數(shù)確定方式確定。則畸變模型表示為
或
其中,diag(a)表示以向量a為主對角元素的對角陣。式(18)和式(19)為線性表達式,噪聲參數(shù) h和 n均可被解析表達。在后面實驗中將看到,線性化對數(shù)運算之后計算的特征在干凈語音情況下,識別率不低于MFCC特征;在噪聲環(huán)境下,基于線性化模型的補償方法明顯優(yōu)于一階VTS類JAC方法。
目前大詞表連續(xù)語音識別系統(tǒng)普遍基于隱馬爾可夫模型(HMM, hidden Markov model),其各個狀態(tài)用高斯混合密度函數(shù)建模。噪聲在模型上的影響表現(xiàn)為改變各高斯分量的均值和方差。假定加性噪聲在同一單句中服從未知均值和方差的高斯分布,信道畸變保持不變,二者在句子之間可以變化[3]。對式(18)兩端取均值:
其中,μy、μx和μn分別為畸變語音、干凈語音以及加性噪聲的特征均值向量,系數(shù)向量、、和的確定方式同前。當(dāng)給定噪聲參數(shù)h和μn,畸變語音聲學(xué)模型的第j個狀態(tài)的第k個高斯分量的均值只與干凈語音的聲學(xué)模型對應(yīng)均值有關(guān),即
其中,μx,jk和μy,jk分別為干凈語音和畸變語音模型的第j個狀態(tài)的第k個高斯分量的均值向量,同理對式(18)兩端求協(xié)方差有
其中,Σx,jk、Σy,jk和Σn分別為干凈語音、畸變語音以及加性噪聲的協(xié)方差。當(dāng)計算差分的窗口較小時,用與文獻[4]類似的處理方法,聲學(xué)模型的動態(tài)參數(shù)更新如下:
本文中Δ表示一階差分,ΔΔ表示二階差分。在確定噪聲參數(shù)時,通過干凈聲學(xué)模型參數(shù)用式(20)~式(26)計算畸變聲學(xué)模型參數(shù),再用更新后的模型識別語音以解決環(huán)境失配問題。本文方法不僅考慮了模型均值的更新,也考慮了模型方差的更新。
噪聲參數(shù)包括信道參數(shù)h和加性噪聲均值參數(shù)μn、μΔn、μΔΔn及其方差參數(shù) Σn、ΣΔn、ΣΔΔn。接下來將在EM框架下給出噪聲參數(shù)的估計方法。如果一句發(fā)音的MFCC靜態(tài)特征為Y={y1, y2,…, yN},其中,N為特征向量個數(shù),構(gòu)建Q函數(shù)[4]:
由于各噪聲參數(shù)在新的畸變模型下可顯式表示,本文采用與文獻[3]類似的策略,即先優(yōu)化畸變模型,然后用畸變模型表達式優(yōu)化噪聲參數(shù)。Q函數(shù)對均值求導(dǎo)后令其等于 0,并按所有 j、k進行疊加,同時考慮到各維特征系數(shù)不相關(guān),有代入式(21)解出信道參數(shù):
EM 算法通過迭代使估計量收斂于其極大似然估計值,設(shè)第 i次迭代時加性噪聲均值為,則據(jù)上式第i+1次迭代得到的信道參數(shù)為
代入式(22)解出nΣ并構(gòu)建迭代公式為
用本文的線性畸變模型估計出需要的噪聲參數(shù),再用第三部分的模型更新公式更新聲學(xué)模型,反復(fù)迭代,使聲學(xué)模型與噪聲環(huán)境匹配。
識別時以句子為單位估計噪聲參數(shù)并更新聲學(xué)模型,再用更新后的模型識別該句子?,F(xiàn)將識別過程以偽代碼形式敘述如下。
for每句語音S
用 S的 前 N 幀非語音幀初始化 n(0)和 Σ(0);
whilei < I
用前次迭代更新后的模型識別S;
計算 γt( j , k )(式 (29));
計算 h(i+1)(式 (31));
i ← i +1;
e nd while
用最后的模型識別句子S;
end for
其中,I為最大迭代次數(shù),每次更新模型參數(shù)時都采用最新估計的噪聲參數(shù)。為標記方便,符號下標jk被略去。由于信道參數(shù)未參與對數(shù)運算,其初始值為全1向量,這有別于基于MFCC特征時的初始化。
實驗使用King-ASR-009語料庫[8],該語料庫含有200名(87男,113女)不同年齡、發(fā)音、文化層次的發(fā)音人。使用 4種通道(SHURE SM58、ANC-700、TELEX M-60和ACOUSTIC MAGIC,分別記為Mic1、Mic2、Mic3和Mic4)同時錄音,錄制每人朗讀的 120條短信文字。數(shù)據(jù)采樣率22.05kHz,量化16bit。本文將所有數(shù)據(jù)重新采樣,使其采樣頻率為16 kHz。
實驗選取Mic1下100人(50男,50女)的12 000句(每人120句)語音訓(xùn)練聲學(xué)模型。Mic1數(shù)據(jù)質(zhì)量較好,被看作干凈語音,其他麥克風(fēng)具有不同程度的信道畸變。用Mic1及其他信道下另外40人(20男,20女)的語音,以一定的信噪比疊加噪聲,形成噪聲環(huán)境下的測試語音。實驗使用Noise-92噪聲庫的4種噪聲,即White、Factory、Babble和Leopard,每種噪聲以一定的信噪比 (SNR, signal to noise ratio) 疊加在干凈語音上。在數(shù)據(jù)選擇上,訓(xùn)練集和測試集說話人沒有重疊,配置情況見表1。
表1 訓(xùn)練集和測試集配置情況
實驗采用劍橋大學(xué)的 HTK工具。前端處理的預(yù)加重系數(shù)為0.97,梅爾濾波器組的濾波器個數(shù)為33,短時傅立葉變換點數(shù)為512,幀長為30ms,幀移10ms。本文方法選取13維特征系數(shù)及其一階、二階差分構(gòu)成 39維特征向量;基線系統(tǒng)及其他用于比較的方法采用相同設(shè)置的MFCC特征。系統(tǒng)訓(xùn)練3音子綁定聲學(xué)模型,詞典中將每個漢字分解成音素,并用863中文語料庫和King-ASR-009中所有文本訓(xùn)練三元統(tǒng)計語言模型。選擇[0.001,100]為對數(shù)函數(shù)插值區(qū)間。目前語音識別系統(tǒng)常用的基于一階VTS的JAC方法[4](記為VTS)、倒譜均值規(guī)正(CMN, cepstral mean normalization)[9]、相關(guān)譜濾波(RASTA, relative spectra)[10]、譜減(SS, spectral subtraction)[11,12]和模型自適應(yīng)(最大似然線性回歸[13]和最大后驗概率[14])被用于對比實驗。從每個測試集中選擇每個人的前5句發(fā)音作為對應(yīng)環(huán)境的自適應(yīng)數(shù)據(jù)。自適應(yīng)時,先進行最大似然線性回歸自適應(yīng),然后作最大后驗概率自適應(yīng)。
首先在無噪情況下測試了MFCC特征與本文特征在劃分區(qū)間數(shù)p取不同值時(記為MFC-p)的識別率。在實驗中選用測試集0為測試數(shù)據(jù),實驗結(jié)果見表2。
表2 MFCC與MFC-p識別率對比
本文統(tǒng)計的是漢字識別率。從實驗結(jié)果可以看出,在無噪情況下,MFCC特征識別率為87.2%。使用本文特征,當(dāng)p小于5時,識別率僅有少量下降,而當(dāng)p大于等于5時,識別率回到MFCC特征的水平。隨著p的繼續(xù)增加,識別率保持不變??紤]到計算速度,在后面的實驗中,本文方法一律使用MFC-5,參數(shù)估計時最大迭代次數(shù)為6。
然后采用測試集 1測試各方法在信道畸變下的性能,即用Mic1數(shù)據(jù)訓(xùn)練的模型識別Mic2~Mic4下的數(shù)據(jù),實驗結(jié)果見表3。不作任何補償?shù)幕€系統(tǒng)性能較差,最好的情況不超過 50%。CMN和RASTA聯(lián)合使用對信道畸變有一定效果,識別率有較大提高;VTS和模型自適應(yīng)取得了更好的性能。相比之下,本文方法能進一步提高系統(tǒng)識別率,在3個通道上的識別率都在75%以上,性能優(yōu)于VTS。
表3 信道畸變情況下各方法性能對比(識別率/%)
接下來用測試集2測試各方法在僅有加性噪聲存在時的性能,實驗結(jié)果如圖2所示。基線系統(tǒng)的性能隨著信噪比的降低而迅速降低,尤其是在SNR=5dB高斯白噪聲情況下,識別率僅25.4%。CMN+SS與VTS以及模型自適應(yīng)方法較大幅度地提升了系統(tǒng)識別率。模型自適應(yīng)方法在多數(shù)情況下優(yōu)于CMN+SS卻不及VTS。盡管可以預(yù)料,隨著自適應(yīng)數(shù)據(jù)的增加,模型自適應(yīng)性能會逐漸上升,但需要額外訓(xùn)練語料不便于現(xiàn)實應(yīng)用。VTS和本文方法均無需額外訓(xùn)練數(shù)據(jù),而本文方法對加性噪聲的補償效果更為明顯,在 SNR=5dB時使得系統(tǒng)識別率在70%左右,在SNR=25dB時,4種噪聲下的識別率分別為79.1%、81.9%、82.2%和82.6%。
圖2 加性噪聲情況下各方法性能對比
最后用測試集3測試各方法在加性噪聲和信道畸變同時存在時的性能,實驗結(jié)果如圖3所示??梢钥闯?,基線系統(tǒng)在所有情況下,識別率都不超過40%。本文方法在SNR=25dB時的White和Factory噪聲下略高于 VTS,在其他情況下能比 VTS提升3~4個百分點。這進一步說明了本文方法的有效性。
圖3 加性噪聲和信道畸變同時存在時各方法性能對比
在 MFCC域含噪語音的畸變模型呈高度非線性,這使得模型域方法無法直接使用畸變模型估計噪聲參數(shù)。基于一階VTS的方法雖然能將畸變模型線性化,但其誤差限制了這類方法性能的進一步提升。本文針對該問題提出了一種新的線性畸變模型,并在此基礎(chǔ)上,導(dǎo)出了噪聲參數(shù)估計和聲學(xué)模型補償方法,最后用實驗驗證了其有效性。
[1] YUSUKE S, MASANMI A. Bayesian feature enhancement using a mixture of unscented transformations for uncertainty decoding of noisy speech[A]. Proceedings of ICASSP[C]. Taiwan, China, 2009.4569-4572.
[2] ACERO A, DENG L, KRISTJANSSON T, et al. HMM adaptation using vector Taylor series for noisy speech recognition[A]. Proceedings of ICSLP[C]. Beijing, China, 2000. 869-872.
[3] GONG Y F. A method of joint compensation of additive and convolutive distortions for speaker-independent speech recognition[J]. IEEE Transaction on Speech Audio Processing, 2005, 13(5)∶ 975-983.
[4] LI J Y, DENG L, YU D. A unified framework of HMM adaptation with joint compensation of additive and convolutive distortions[J].Computer Speech and Language, 2009, 23(3)∶ 389-405.
[5] VAN D, GALES M. Extended VTS for noise-robust speech recognition[A]. Proceedings of ICASSP[C]. Taiwan, China, 2009. 3829-3832.
[6] GALES M, FLEGO F. Combining VTS model compensation and support vector machines [A]. Proceedings of ICASSP[C]. Taiwan,China, 2009. 3821-3824.
[7] LIAO H, GALES M. Joint Uncertainty Decoding for Robust Large Vocabulary Speech Recognition[R]. Technical Report CUED/TR552.University of Cambridge, 2006.
[8] KING-ASR-009. A Chinese speech database for speech recognition[EB/OL].http∶//www.speechocean.com/productdetail.asp?id=Ki ng-ASR-009,2010.
[9] STEVEN F B, DENNIS C P. Feature and score normalization for speaker verification of cellular data[A]. Proceedings of ICASSP[C].Hong Kong, China, 2003. 49-52.
[10] HERMANSKY H, MORGAN N, BAYYA A. RASTA-PLP speech analysis technique[A]. Proceedings of ICASSP[C]. San Francisco,USA, 1992. 1121-1124.
[11] BOLL S, PULSIPHER D. Suppression of acoustic noise in speech using spectral subtraction[J]. IEEE Transaction on Speech Audio Processing, 1979, 27(2)∶ 113-120.
[12] MARTIN R. Noise power spectral density estimation based on optimal smoothing and minimum statistics[J]. IEEE Transaction on Speech Audio Processing, 2001, 9(5)∶ 504-512.
[13] SAON G, HUERTA H, JAN E E. Robust digit recognition in noisy environments∶ the IBM Aurora 2 system[A]. Proceedings of Interspeech[C]. Aix-en-Provence, France, 2001. 629-632.
[14] HUO Q, CHAN C, LEE C H. Bayesian adaptive learning of the parameters of hidden Markov model for speech recognition[J]. IEEE Transaction on Speech Audio Processing, 1995, 3(5)∶ 334-345.