趙 峰, 徐海青, 吳立剛, 余江斌, 黃 影
(1.安徽繼遠(yuǎn)軟件有限公司,安徽 合肥 230000;2.中國電力科學(xué)研究院,北京 100000;3.國網(wǎng)安徽省電力有限公司,信息通信分公司,安徽 合肥 230000)
隨著語音識(shí)別、深度學(xué)習(xí)等技術(shù)的發(fā)展和市場需求的不斷深化,語音交互產(chǎn)品的研發(fā)與應(yīng)用成為熱點(diǎn).由于場景的復(fù)雜性,語音交互系統(tǒng)常處在低信噪比環(huán)境,且由于人機(jī)交互系統(tǒng)的抗干擾能力不足,交互過程中常會(huì)出現(xiàn)語音識(shí)別率低或人機(jī)交互混亂等情況,導(dǎo)致服務(wù)對象的交互體驗(yàn)感不佳,因此如何提高語音交互系統(tǒng)的噪聲魯棒性是現(xiàn)階段急需解決的問題.
如今,學(xué)者對聲學(xué)模型噪聲魯棒性開展了廣泛研究并提出了多種改進(jìn)策略.其中特征與模型補(bǔ)償是通過自適應(yīng)算法對聲學(xué)模型進(jìn)行優(yōu)化處理的噪聲魯棒性方法.例如Leggetter[1]等利用最大似然回歸算法進(jìn)行模型自適應(yīng).魯棒性特征提取是指從語料中提煉出對于噪聲不敏感的特征參數(shù),構(gòu)建抗噪能力強(qiáng)的特征序列,從而提高噪聲魯棒性.倒譜均值歸一化法和均值方差歸一化方法[2-3]是最常見的兩種魯棒性特征提取方法,另外劉長征等[4]以MFCC特征作為CNN網(wǎng)絡(luò)的輸入,采取監(jiān)督學(xué)習(xí)的方式提取出高層的語音特征.語音增強(qiáng)常用的方式是通過噪聲更新與噪聲消除相結(jié)合的譜減法對語音和噪聲獨(dú)立處理,從帶噪語音譜中減去預(yù)估的噪聲譜得到語料的干凈譜;Xu等[5]提出了譜減法與DNN網(wǎng)絡(luò)相結(jié)合的方式,將譜減法處理后的特征與噪聲估計(jì)參數(shù)作為基礎(chǔ)樣本輸入DNN網(wǎng)絡(luò)中,通過噪聲依賴訓(xùn)練得到深度聲學(xué)模型.
上述四種方法雖然可以有效提升聲學(xué)模型魯棒性,但是存在兩個(gè)問題:一是上述方法并未充分挖掘干凈語音的隱含知識(shí);二是上述方法中聲學(xué)特征提取模塊與后續(xù)的訓(xùn)練識(shí)別過程是相互獨(dú)立的,提取出的語音特征中包含冗余信息,而冗余信息通常不具備噪聲魯棒性.
針對上述問題,本文提出了一種基于后驗(yàn)知識(shí)監(jiān)督的噪聲魯棒聲學(xué)建模方法,以干凈語音訓(xùn)練的模型作為老師模型,帶噪語音訓(xùn)練的模型作為學(xué)生模型,提煉老師模型的后驗(yàn)概率分布知識(shí)用于監(jiān)督學(xué)生模型的訓(xùn)練,達(dá)到提高聲學(xué)模型環(huán)境魯棒性的要求;在學(xué)生模型的設(shè)計(jì)上,提出了一種CNN與DNN相結(jié)合的聲學(xué)模型訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),其中CNN模塊用于提取帶噪語音的不變性特征,DNN用于聲學(xué)建模,整個(gè)網(wǎng)絡(luò)參數(shù)的訓(xùn)練通過CNN與DNN模塊聯(lián)動(dòng)調(diào)整與優(yōu)化.本文構(gòu)建的模型在CHIME數(shù)據(jù)集上進(jìn)行了不同信噪比下的語音識(shí)別性能驗(yàn)證與對比,測試結(jié)果表明該模型具有較強(qiáng)的環(huán)境魯棒性,表現(xiàn)出優(yōu)越的抗噪性能.
本文提出的后驗(yàn)知識(shí)監(jiān)督是指通過老師模型的訓(xùn)練挖掘出干凈語音的后驗(yàn)概率分布知識(shí),并以此作為標(biāo)準(zhǔn)來監(jiān)督學(xué)生模型的訓(xùn)練,從而通過學(xué)生模型逼近老師模型的后驗(yàn)概率分布,達(dá)到提升聲學(xué)模型噪聲魯棒性的效果.對于兩種模型的后驗(yàn)概率分布差異性,本文使用KL散度(相對熵)[6]進(jìn)行量化.本文假設(shè)Pt為老師模型的后驗(yàn)概率分布,QS為學(xué)生模型的后驗(yàn)概率分布,QS相當(dāng)于對Pt后驗(yàn)概率分布的近似估計(jì),因此二者的相對熵可表示為:
(1)
式中:i表示三音素狀態(tài)集合中的次序;phi為三音素狀態(tài)集合中的第i個(gè)狀態(tài);xt表示用于訓(xùn)練老師模型的干凈語音特征;xs表示用于訓(xùn)練學(xué)生模型的帶噪語音特征;Pt(phi|xt)表示特征xt被識(shí)別為第i個(gè)三音素狀態(tài)的后驗(yàn)概率;Qs(phi|xs)表示特征xs被識(shí)別為第i個(gè)三音素狀態(tài)的后驗(yàn)概率.該式通過變形可簡化成以下形式:
(2)
(3)
一般來說,經(jīng)驗(yàn)概率分布通常是以0-1向量硬標(biāo)注來進(jìn)行描述,而老師模型與學(xué)生模型的相對熵是對兩種模型的后驗(yàn)概率分布進(jìn)行差異性比較,相當(dāng)于將“硬標(biāo)注”替換成了“軟標(biāo)注”.
本文中老師模型是以GMM-HMM與神經(jīng)網(wǎng)絡(luò)的混合模型為基礎(chǔ),基本訓(xùn)練步驟如圖1所示.
首先對干凈語音進(jìn)行特征xt提取,GMM-HMM模塊對分窗后的特征xt進(jìn)行逐幀強(qiáng)制對齊,并得到每一幀語音數(shù)據(jù)的硬標(biāo)注,從而得到每一幀數(shù)據(jù)的三音素狀態(tài)觀測概率分布;在強(qiáng)制對齊的基礎(chǔ)上對每一個(gè)硬標(biāo)注進(jìn)行時(shí)間維度上的起止點(diǎn)標(biāo)注,該標(biāo)注信息與硬標(biāo)注數(shù)據(jù)作為監(jiān)督信息送入神經(jīng)網(wǎng)絡(luò)模塊進(jìn)行聲學(xué)模型的建模訓(xùn)練.GMM-HMM模塊的結(jié)構(gòu)如圖2所示.
神經(jīng)網(wǎng)絡(luò)模塊的訓(xùn)練以特征xt作為輸入,音素硬標(biāo)注與標(biāo)注數(shù)據(jù)作為監(jiān)督信息,利用前向算法得出逐幀數(shù)據(jù)的三音素后驗(yàn)概率分布.軟標(biāo)注是指每一幀數(shù)據(jù)的三音素狀態(tài)后驗(yàn)概率分布,而非簡單的0-1判斷,由此得到的每一幀數(shù)據(jù)的軟標(biāo)注的形式類似于[0.2 0.15 0.3 0.1 0.1 0.1],其中的每個(gè)數(shù)據(jù)表示該幀數(shù)據(jù)屬于不同三音素狀態(tài)的后驗(yàn)概率.
基于學(xué)生模型本文提出一種CNN與DNN網(wǎng)絡(luò)相結(jié)合的方法,模型基本訓(xùn)練流程如圖3所示.
學(xué)生模型的訓(xùn)練先對帶噪語音進(jìn)行初步特征xs提取,提取出的音素特征xs與老師模型的軟標(biāo)注平行對齊,得到學(xué)生模型的軟標(biāo)注;在初步特征提取的基礎(chǔ)上,借助CNN網(wǎng)絡(luò)局部連接與降采樣模塊的功能特性,在MFCC和FBANK等初步提取的聲學(xué)特征基礎(chǔ)上提取高層特征,并對特征降維,從而提煉出對噪聲語音不變性進(jìn)行表征的特征序列;此外,考慮到DNN網(wǎng)絡(luò)具有強(qiáng)大的分類能力,在聲學(xué)模型的性能上已經(jīng)超越了GMM等傳統(tǒng)模型,最后將高層特征輸入DNN層進(jìn)行聲學(xué)建模,整個(gè)模型網(wǎng)絡(luò)的訓(xùn)練過程以相對熵最小化(式(3))作為優(yōu)化準(zhǔn)則.
本文使用TIMIT數(shù)據(jù)集,TIMIT數(shù)據(jù)集包含630個(gè)說話人語音,每人10句,其中干凈數(shù)據(jù)集取500個(gè)說話人,共5 000句作為老師模型的訓(xùn)練樣本,剩余130個(gè)說話人,共1 300句作為老師模型的測試樣本;帶噪語音基于TMIT數(shù)據(jù)集隨機(jī)疊加5種信噪比的背景噪聲,5種信噪比分別為0 dB,5 dB,10 dB,15 dB和20 dB,取500個(gè)說話人,共5 000句作為學(xué)生模型的訓(xùn)練樣本,剩余130個(gè)說話人,共1 300句作為學(xué)生模型的測試樣本.
為了檢驗(yàn)構(gòu)建的聲學(xué)模型在噪聲魯棒性上的優(yōu)劣,本文使用CHIME數(shù)據(jù)集進(jìn)行模型性能的驗(yàn)證與交叉比較,采樣頻率為16 kHz.本文使用Kaldi進(jìn)行模型的訓(xùn)練、測試與性能比較.共采用兩種特征:梅爾頻率倒譜系數(shù)(MFCC)和梅爾標(biāo)度濾波器組特征(FBANK).老師模型GMM-HMM模塊輸入為MFCC,神經(jīng)網(wǎng)絡(luò)模型輸入為 FBANK,CNN-DNN混合學(xué)生模型輸入為FBANK.提取特征窗長為25 ms,幀移為10 ms. MFCC特征13維,加上一階和二階差分統(tǒng)計(jì)量,共39維. FBANK特征為40維,加上一階和二階差分統(tǒng)計(jì)量,共120維.
本文中老師模型的訓(xùn)練遵循最小化交叉熵準(zhǔn)則,損失函數(shù)為交叉熵,優(yōu)化方法為隨機(jī)梯度下降,神經(jīng)網(wǎng)絡(luò)聲學(xué)模型采用誤差反向傳播算法進(jìn)行訓(xùn)練.學(xué)生模型的訓(xùn)練遵循式(3)的最小化準(zhǔn)則,即損失函數(shù)為后驗(yàn)概率分布相對熵,優(yōu)化方法為隨機(jī)梯度下降,CNN-DNN混合聲學(xué)模型同樣采用誤差反向傳播算法進(jìn)行參數(shù)調(diào)整與優(yōu)化.
本文將驗(yàn)證環(huán)節(jié)分為三個(gè)步驟進(jìn)行設(shè)計(jì),首先獨(dú)立對學(xué)生模型的CNN-DNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行性能對比驗(yàn)證,并從中選擇基線模型作為后驗(yàn)知識(shí)監(jiān)督下的學(xué)生模型對比基線;然后通過選擇不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(CNN、DNN、LSTM)對老師模型進(jìn)行訓(xùn)練,從而為本文提出的后驗(yàn)知識(shí)監(jiān)督方法提供對比驗(yàn)證基礎(chǔ);最后對基于后驗(yàn)知識(shí)監(jiān)督的學(xué)生模型進(jìn)行交叉對比與測試.
2.2.1CNN-DNN網(wǎng)絡(luò)性能對比驗(yàn)證為了驗(yàn)證CNN-DNN學(xué)生模型結(jié)構(gòu)優(yōu)越性,本文使用兩種方法分別對GMM-HMM模型進(jìn)行訓(xùn)練,得到聲學(xué)模型的輸入硬標(biāo)注:一是僅用干凈語音訓(xùn)練GMM-HMM,表示為C-GMM;二是用帶噪語音訓(xùn)練GMM-HMM,表示為N-GMM.C-GMM與N-GMM的三音素狀態(tài)數(shù)目分別為2 234和2 190.
基于上述兩種GMM-HMM模型的訓(xùn)練方式,為了驗(yàn)證CNN模塊對聲學(xué)模型性能的提升效果,構(gòu)建兩種聲學(xué)模型進(jìn)行對比分析:一是使用DNN網(wǎng)絡(luò)作為聲學(xué)建模的基礎(chǔ)結(jié)構(gòu),分別通過C-GMM與N-GMM模型得到帶噪語音的硬標(biāo)注,其中C-GMM是首先得到干凈語音的硬標(biāo)注,然后得到帶噪語音的硬標(biāo)注,最后以FBANK聲學(xué)特征作為訓(xùn)練樣本,帶噪語音硬標(biāo)注作為監(jiān)督信息輸入DNN網(wǎng)絡(luò)進(jìn)行聲學(xué)模型的訓(xùn)練;二是使用CNN-DNN網(wǎng)絡(luò)作為聲學(xué)模型,同樣通過C-GMM與N-GMM模型得到帶噪語音的硬標(biāo)注,然后結(jié)合FBANK特征作為模型輸入訓(xùn)練CNN-DNN聲學(xué)模型.本文使用的DNN有6個(gè)隱含層,CNN-DNN網(wǎng)絡(luò)中CNN模塊采用3個(gè)卷積層和7個(gè)全連接層,DNN模塊6個(gè)隱含層.上述兩種模型在帶噪語音五種信噪比下的詞錯(cuò)誤率如表1所示.
表1 帶噪語音下CNN-DNN與DNN模型性能對比
如表1所示,本文設(shè)計(jì)的CNN-DNN聲學(xué)模型在不同信噪比下及不同GMM-HMM訓(xùn)練方法下語音識(shí)別詞錯(cuò)誤率明顯低于DNN模型,其中N-DNN與N-CNN-DNN相比,詞錯(cuò)誤率平均下降了5.42%,C-DNN與C-CNN-DNN相比,詞錯(cuò)誤率平均下降了4.15%,從而說明CNN-DNN網(wǎng)絡(luò)結(jié)構(gòu)相比DNN對聲學(xué)模型的性能有所提升.為了在學(xué)生模型訓(xùn)練階段與后驗(yàn)知識(shí)監(jiān)督方法進(jìn)行對比,選擇表1中詞錯(cuò)誤率最低的C-CNN-DNN模型作為學(xué)生模型的性能驗(yàn)證基線(Baseline).
2.2.2老師模型訓(xùn)練與測試為了驗(yàn)證后驗(yàn)知識(shí)監(jiān)督方法對學(xué)生模型魯棒性性能具有提升作用,本文的實(shí)驗(yàn)設(shè)計(jì)策略是首先對老師模型使用不同的神經(jīng)網(wǎng)絡(luò)模塊進(jìn)行訓(xùn)練,然后通過后驗(yàn)知識(shí)監(jiān)督訓(xùn)練出相應(yīng)的學(xué)生模型,從而對老師模型和對應(yīng)的學(xué)生模型性能差異進(jìn)行相關(guān)性分析.
針對老師模型的訓(xùn)練,本文分別選擇CNN、DNN和LSTM作為神經(jīng)網(wǎng)絡(luò)模塊進(jìn)行老師聲學(xué)模型的構(gòu)建,其中CNN包含2個(gè)卷積層,5個(gè)全連接層,DNN包含6個(gè)隱含層,LSTM包含5個(gè)隱含層.三種模型訓(xùn)練、測試與驗(yàn)證階段的詞錯(cuò)誤率如表 2 所示.
表2 干凈語音下不同老師模型詞錯(cuò)誤率對比
如表2所示,三種模型中LSTM的詞錯(cuò)誤率最低,DNN次之,而CNN的詞錯(cuò)誤率相對高一些.但總的來說,三種模型的詞錯(cuò)誤率整體差別不大.
2.2.3學(xué)生模型對比驗(yàn)證本文采用CNN-DNN的聲學(xué)模型作為學(xué)生模型.其中CNN包括3個(gè)卷積層和7個(gè)全連接層,DNN包含6個(gè)隱含層,每隱含層2 048個(gè)節(jié)點(diǎn),輸出層2 190個(gè)節(jié)點(diǎn),與老師模型的輸出相同.在三種老師模型的指導(dǎo)下,相應(yīng)學(xué)生模型在驗(yàn)證集上五種信噪比下詞錯(cuò)誤率如表3所示.
表3 帶噪語音下不同學(xué)生模型詞錯(cuò)誤率對比
如表3所示,與基線(Baseline)相比,三種老師模型監(jiān)督下的學(xué)生模型詞錯(cuò)誤率均有明顯下降,分別平均下降了5.21%, 6.35%和7.83%,與三種老師模型的錯(cuò)誤率差異呈現(xiàn)正相關(guān),表明本文提出的后驗(yàn)知識(shí)監(jiān)督方法對聲學(xué)模型的魯棒性具有很好的提升效果.
本文提出一種基于后驗(yàn)知識(shí)監(jiān)督的噪聲魯棒聲學(xué)建模方法,是老師指導(dǎo)學(xué)生的方式,以老師模型的后驗(yàn)概率分布(軟標(biāo)注)作為監(jiān)督信息對學(xué)生模型的訓(xùn)練進(jìn)行指導(dǎo),并設(shè)計(jì)出一種基于CNN-DNN混合的學(xué)生模型,通過對帶噪語音的高層特征進(jìn)行提煉,提升聲學(xué)模型的抗噪性能.本文構(gòu)建的學(xué)生模型在CHIME數(shù)據(jù)集下進(jìn)行性能驗(yàn)證,結(jié)果顯示三種老師模型監(jiān)督下的學(xué)生模型詞錯(cuò)誤率與基線模型相比平均下降了5.21%, 6.35%和7.83%,表明本文提出的后驗(yàn)知識(shí)監(jiān)督方法對聲學(xué)模型的魯棒性具有很好的提升效果.在上述研究的基礎(chǔ)上,后續(xù)將對聲學(xué)模型的端到端訓(xùn)練方法進(jìn)行研究,擬通過知識(shí)遷移的方式對聲學(xué)模型從語音數(shù)據(jù)預(yù)處理到音素分類輸出的全過程進(jìn)行監(jiān)督訓(xùn)練,對聲學(xué)建模的全階段進(jìn)行噪聲魯棒性提升和優(yōu)化.