劉曉峰 宋文愛 陳小東 郇晉俠 李志媛
(中北大學(xué)軟件學(xué)院 山西 太原 030051)
自動語音識別(Automatic Speech Recognition,ASR)技術(shù)用于將人類語音或音頻信號轉(zhuǎn)換為文本,目前,ASR已經(jīng)廣泛應(yīng)用于智能應(yīng)用程序中,例如:交互式語音響應(yīng)系統(tǒng)、語音文檔檢索和聽寫工具等。
傳統(tǒng)的“高斯混合模型-隱馬爾可夫模型”(Gaussian Mixture Model-Hidden Markov Model,GMM-HMM)是一種流行的語音識別聲學(xué)建模[1]方法。大多數(shù)大型詞匯語音識別(LVSR)算法[2]都使用了HMM,這些模型使用GMM估計HMM狀態(tài)的概率。近年來,由于引入了基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的聲學(xué)模型,ASR取得了顯著的進展[3-4]。與傳統(tǒng)的GMM相比,基于DNN的模型具有更加良好的性能,除此之外,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[5]也已經(jīng)成功地應(yīng)用于許多ASR任務(wù)中[6-7],與DNN[8]不同,CNN能夠利用光譜特征空間中的結(jié)構(gòu)局部特征,并且使用共享的權(quán)重過濾器和池化操作賦予模型更好的光譜和時間不變性,從而產(chǎn)生更加健壯且兼容性更強的模型。遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)中部分神經(jīng)元與記憶單元連接組成了有向環(huán),使得RNN具備了對動態(tài)序列進行建模的能力[9],鑒于語音識別結(jié)果需要參考語音序列前后大量相關(guān)信息,將RNN作為聲學(xué)模型似乎也是很自然的,通常與連接時序分類(Connectionist Temporal Classification,CTC)聯(lián)合完成語音識別任務(wù)[10]。
由于語音信號在傳播過程中會受到發(fā)聲器內(nèi)部狀態(tài)和外部環(huán)境等多種因素影響而發(fā)生變化,所以自動語音識別是一項具有挑戰(zhàn)性的任務(wù)。在現(xiàn)實生活中,不同的說話人可能會以不同的方式表達相同的音素,甚至同一個說話人也可能在特定時刻以不同的語速表達音素,此時各音素在語譜圖上會占據(jù)不同大小的區(qū)域[11]。
針對這一問題,提出了一種多核卷積融合網(wǎng)絡(luò)(MCFN)連接至BLSTM-CTC語音識別模型,作用于模型的輸入層,通過使用不同大小的卷積核來對語譜圖不同尺寸的區(qū)域進行特征提取。該模塊的最終目的是試圖解決由于發(fā)聲器內(nèi)部問題或者外部因素而引起的語音信號變化問題,為語音識別模型提供一個語音增強模塊。此外,模型在確定識別結(jié)果前還要使用子空間高斯混合模型(SGMM)將常規(guī)語音和說話者信息添加到模型中以應(yīng)對語音數(shù)據(jù)的低資源問題,從而提高模型的魯棒性。
長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是RNN的一種。RNN與DNN的主要區(qū)別在于RNN具有記憶性,通過將以前的輸入歷史和當(dāng)前輸入映射到當(dāng)前的輸出,獲取對序列數(shù)據(jù)建模的能力[12]。但由于具有誤差的信號在RNN向后傳播時存在梯度消失與梯度爆炸等問題,鑒于此,Hochreiter等[13]提出了LSTM。LSTM使用記憶塊取代RNN網(wǎng)絡(luò)的循環(huán)層,通過輸入門、遺忘門、輸出門的綜合運用選擇性記憶歷史信息。
輸入序列x={x1,x2,…,xT}輸入至LSTM后根據(jù)以下公式:
it=σ(Wixxt+Wihht-1+Wicct-1+bi)
(1)
ft=σ(Wfxxt+Wfhht-1+Wfcct-1+bf)
(2)
ct=ftct-1+itφ(Wcxxt+Wchht-1+bc)
(3)
ot=σ(Woxxt+Wohht-1+Wocct-1+bo)
(4)
ht=otφ(ct)
(5)
yt=Wyhh+by
(6)
計算輸出序列y={y1,y2,…,yT},其中:i為輸入門,f為遺忘門,c為記憶單元,o為輸出門,σ為sigmoid函數(shù),φ為激活函數(shù),在LSTM中φ通常為tanh函數(shù)。
由圖1(a)以及式(1)-式(6)可以看出,LSTM僅能夠考慮當(dāng)前時刻之前的信息,卻無法利用將來時刻的信息,因此,Schuster等提出雙向長短時記憶網(wǎng)絡(luò)結(jié)構(gòu)[14](Bidirectional LSTM,BLSTM),如圖1(b)所示。
(a) LSTM
(b) BLSTM圖1 LSTM與BLSTM結(jié)構(gòu)示意圖
CTC技術(shù)是Grave等[9]提出來的一種時序分類算法,在語音識別任務(wù)中表現(xiàn)良好,其本質(zhì)是定義了一個有m個輸入n個輸出的RNN。該方法與傳統(tǒng)方法不同,它只要求輸出結(jié)果正確,而不要求輸入序列與輸出序列的長度一致。為達到這個目的,CTC網(wǎng)絡(luò)的輸出層在L的基礎(chǔ)上多增加了一個“空白(blank)”字符,為對應(yīng)輸入序列中的靜音、字間停頓等情況建模,以此來完成將輸入輸出序列對齊的任務(wù)。
在利用CTC進行模型訓(xùn)練的過程中,首先需根據(jù)長度為T的輸入序列x計算輸出路徑的條件概率:
(7)
輸出序列的最終確定是通過建立一個多對一網(wǎng)絡(luò)實現(xiàn)的,此網(wǎng)絡(luò)用于刪除輸出序列π空白標(biāo)簽和重復(fù)標(biāo)簽,得出實際預(yù)測結(jié)果,此操作定義為B:L′T→L≤T,L≤T為可能出現(xiàn)在π中的標(biāo)簽集合。例如:輸出序列為a-abb-或-aa--aab,經(jīng)過B操作后得到輸出序列aab,即:
B(a-abb-)=B(-aa--aab)→aab
(8)
由于CTC網(wǎng)絡(luò)的輸出序列π不唯一,最終輸出序列的概率定義為標(biāo)簽元素不同排列結(jié)果的概率之和:
(9)
式中:B-1為B的逆向操作;l為識別結(jié)果。最后,通過最大化PCTC(l|x)得出CTC網(wǎng)絡(luò)解碼的最佳結(jié)果:
(10)
CNN的基本結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層及輸出層構(gòu)成。卷積層通過卷積操作提取輸入的特征,池化層將卷積層的輸出作為輸入,通過均值池化或者最大池化操作降低了特征面的分辨率。卷積層和池化層一般會交替設(shè)置。由于卷積層利用共享的卷積核與輸入特征面進行局部連接,再加上偏置值,得到卷積層的輸出值,該過程與卷積過程相同,CNN由此而得名[15],其結(jié)構(gòu)如圖2所示。
圖2 CNN的處理過程
與傳統(tǒng)DNN相比,CNN中卷積層的權(quán)值共享極大地減少了網(wǎng)絡(luò)中需要訓(xùn)練的參數(shù),降低了網(wǎng)絡(luò)模型復(fù)雜度,減少了過擬合,從而獲得了更好的泛化能力。同時,在CNN結(jié)構(gòu)中使用池化操作降低了特征面的分辨率,使模型中的神經(jīng)元個數(shù)大大減少,對輸入空間的平移不變性也更具有魯棒性。深度模型具有更強的表達能力,它能夠處理更復(fù)雜的分類問題。CNN結(jié)構(gòu)的可拓展性很強,可以多層疊加,實現(xiàn)深度模型,它的局部連接、權(quán)值共享和池化操作使其比傳統(tǒng)的DNN具有更少的連接參數(shù),而且更易于訓(xùn)練。
子空間高斯混合模型(SGMM)在建模時首先利用通用背景模型(Universal background model,UBM)對模型初始化,將一般的語音和說話者信息用于構(gòu)造模型,因此該模型在低資源語言語音識別建模方面擁有很大的潛力。SGMM定義如下:
(11)
(12)
(13)
由于在同一個高斯分布中,各狀態(tài)之間共享同一個協(xié)方差,所以SGMM模型的參數(shù)將少于GMM模型[16]。同時也正是因為SGMM擁有參數(shù)共享空間,所以可以用到幾乎所有訓(xùn)練數(shù)據(jù),各狀態(tài)即使在數(shù)據(jù)資源匱乏的條件下也能擁有穩(wěn)健的估值,因此,在低資源條件下,SGMM模型也可以較好地解決數(shù)據(jù)稀疏問題,從而獲得更魯棒、更準(zhǔn)確的參數(shù)估值。
不同的說話人都具有不同的音色,且他們在各種特定語境中表達語音的方式也有各種各樣的特點,典型表現(xiàn)就是每個音素的快慢表達以及持續(xù)時間長短都代表了不同的語義信息,而音素的這些特征在語譜圖中表現(xiàn)為占據(jù)不同大小的面積,即音素持續(xù)時間越長,在語譜圖中占據(jù)的面積越大。因此,為了將音素特征進行標(biāo)準(zhǔn)化,減小音素持續(xù)時間對語音識別模型的影響,提出了一種多核卷積融合網(wǎng)絡(luò)(MCFN)用于訓(xùn)練語音識別模型。
如圖3所示,MCFN的主要支路是多核卷積支路。該結(jié)構(gòu)結(jié)合具有不同尺寸卷積核的CNN來構(gòu)建。利用不同尺寸的卷積核可以有效提取語譜圖中不同持續(xù)時長的音素特征,并將其轉(zhuǎn)化為統(tǒng)一的標(biāo)準(zhǔn)化特征表示。
圖3 多核卷積支路結(jié)構(gòu)
在提取音素特征過程中,首先將音頻轉(zhuǎn)換為語譜圖后作為多核卷積支路的輸入,然后分別通過尺寸為3×3和5×5的卷積核計算,得到兩種特征圖譜。之后將此兩種特征加權(quán)疊加,得到標(biāo)準(zhǔn)化的音素特征,然后再將其輸入至卷積層提取更高維度的特征。除此之外,為了在降低計算成本的同時避免表達瓶頸,模型同時將語譜圖再輸入至池化支路進行一次池化操作,池化后的特征圖譜與卷積后的標(biāo)準(zhǔn)音素特征圖譜按深度連接起來,作為整個MCFN的輸出:
yMCFN=concat[conv(Q,f,′valid′),pooling(x,f,′valid′)]
(14)
式中:concat[,]為連接函數(shù);conv(Q,f,′valid′)表示將Q輸入至具有f個卷積核,填充方式為valid的卷積層,Q={q1,q2,…,qk}表示多核卷積模塊輸出的全部k個特征面。每個特征面qk通過以下方式得到:
(15)
式(15)中,N表示卷積核種類數(shù)(在本模型中N=2,有3×3和5×5兩種卷積核),λn為加權(quán)系數(shù),且滿足:
(16)
an,k=conv(x,fn,′same′)
(17)
式中:an,k為輸入特征x經(jīng)過第n種卷積核卷積得到的第k個特征面。
卷積層中使用較大的卷積核(例如:5×5)進行卷積,計算開銷會非常大。為了減少卷積層的計算量并降低維度,在計算復(fù)雜的3×3和5×5卷積層之前,各添加了一層1×1卷積層,同時該層也具有增加特征層數(shù)的作用,不僅如此,一個具有5×5的卷積核的卷積網(wǎng)絡(luò)還可以被一個具有相同輸入大小和輸出深度的雙層3×3卷積網(wǎng)絡(luò)所取代,它們的感受野相同,計算量也大大減少[17-18],其原理如圖4所示。
圖4 兩層3×3的卷積的感受野
圖5完整地描繪了MCFN,其網(wǎng)絡(luò)結(jié)構(gòu)大致分為兩個并行支路:多核卷積支路和池化支路。多核卷積支路將語譜圖作為輸入,通過兩種卷積操作加權(quán)疊加之后得到標(biāo)準(zhǔn)化的音素特征,之后再通過一層卷積層,得到該支路的輸出;池化支路首先將語譜圖輸入至一層1×1卷積層,以此來增加特征層數(shù),然后再輸入至池化層來降低特征尺寸,最終兩路輸出的特征圖譜按深度連接起來,得到MCFN提取的音頻特征。
MCFN提出的主要目的是將音素的不同持續(xù)時長表示進行標(biāo)準(zhǔn)化,為后續(xù)語音識別模型起到語音增強的效果,提高語音識別模型的魯棒性。
圖5 MCFN總體結(jié)構(gòu)
模型利用Thchs30中文數(shù)據(jù)集和ST-CMDS數(shù)據(jù)集進行實驗評估。Thchs30中文數(shù)據(jù)集的參與錄音人員均為會流利普通話的大學(xué)生,錄音文本取自大容量的新聞,總時長30小時;ST-CMDS包含10萬多條語音文件,總時長約100小時,數(shù)據(jù)內(nèi)容以平時的網(wǎng)上語音聊天和智能語音控制語句為主,855個不同說話者,同時有男聲和女聲。數(shù)據(jù)條目如表1所示。
表1 中文語音數(shù)據(jù)集
為了幫助構(gòu)建一個實用的中文ASR系統(tǒng),Thchs30還附加了一些語言資源,包括發(fā)音詞典、語言模型、訓(xùn)練方法和一些其他有用的工具。另外還有一些噪聲條件下的語音可供使用。
本實驗利用BLSTM-CTC結(jié)合MCFN提取音素標(biāo)準(zhǔn)特征訓(xùn)練語音識別模型,在式(15)中,兩種卷積操作得到的特征面在疊加時需要乘以加權(quán)系數(shù)λn。λ1為3×3卷積后特征面的權(quán)重,λ2為5×5卷積后特征面的權(quán)重,結(jié)果如圖6所示,橫軸代表(λ1,λ2)的取值,縱軸代表詞錯誤率(Word Error Rate,WER)。
圖6 λ1、λ2取值與模型在Thchs30和ST-CMDS 數(shù)據(jù)集上測試WER的關(guān)系
不同的λ1和λ2取值對WER的影響不同,且λ1、λ2的取值滿足式(16)。由圖6可知,當(dāng)(λ1,λ2)的取值接近(0.5,0.5)時,語音識別模型的測試WER最低,這說明長短不同的音素特征會對識別結(jié)果產(chǎn)生同等重要的影響。實驗結(jié)果表明,在模型中將不同尺寸卷積核所提取出來的音素特征結(jié)合起來使用,對提升語音識別模型的識別正確率產(chǎn)生了一定的幫助。
在語音識別研究領(lǐng)域,GMM-HMM、DNN-HMM、CNN-HMM、BLSTM-CTC等都是比較流行的語音識別模型。GMM-HMM模型首先將音頻預(yù)處理成為MFCC特征向量,通過GMM將不同音素映射成為多個高斯分布,從而確定了HMM中各狀態(tài)的轉(zhuǎn)移概率,二者聯(lián)合完成語音識別任務(wù);DNN-HMM模型使用DNN來計算HMM的狀態(tài)轉(zhuǎn)移概率,CNN-HMM則使用CNN來計算HMM的狀態(tài)轉(zhuǎn)移概率。
本文利用Thchs30和ST-CMDS數(shù)據(jù)集訓(xùn)練并搭建了這些模型作為參照,驗證模型MCFN的效果,結(jié)果如表2所示。
表2 各模型連接MCFN前后WER對比(%)
續(xù)表2
可以看出,GMM-HMM作為傳統(tǒng)的基于統(tǒng)計模型的語音識別模型在此作為參考,第二與三行、第四與五行、第六與七行的實驗分別對比了DNN-HMM、CNN-HMM和BLSTM-CTC三種語音識別模型在連接MCFN前后的表現(xiàn),在連接MCFN之后,三種模型在兩個數(shù)據(jù)集上的測試WER均有所降低,實驗結(jié)果充分證明了MCFN對語音增強的有效性。BLSTM-CTC語音識別模型作為基底模型連接了MCFN之后,在Thchs30測試集上的WER降低了1.8%,較傳統(tǒng)GMM-HMM模型WER降低了5.48%;在ST-CMDS測試集上的WER降低了2.23%,較傳統(tǒng)GMM-HMM模型WER降低了5.21%。
伴隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,網(wǎng)絡(luò)模型的表達能力也逐漸增強。但是與此同時,網(wǎng)絡(luò)的參數(shù)量也會隨之遞增,尤其對于參數(shù)量龐大的BLSTM而言,網(wǎng)絡(luò)深度每增加一層,會增加一大筆計算成本。因此,為綜合考量識別性能與計算成本的關(guān)系,本文對模型的BLSTM層數(shù)選取展開實驗分析,實驗數(shù)據(jù)如表3所示。
表3 網(wǎng)絡(luò)的深度和參數(shù)量與WER的關(guān)系實驗結(jié)果
根據(jù)模型中BLSTM層數(shù)與WER和參數(shù)量的關(guān)系,可以發(fā)現(xiàn)每增加兩層BLSTM,就會增加約5萬個參數(shù),而模型識別的WER卻不是按正比例下降,在Thchs30數(shù)據(jù)集上的測試結(jié)果中,由5層增加到7層時,WER降低1.53百分點,由7層增加到9層時,WER降低0.26百分點,降低的幅度減小,在ST-CMDS數(shù)據(jù)集上的表現(xiàn)也是如此,如圖7所示,這說明模型的計算成本價值有輕微虧損,因此,綜合考慮各項因素,為MCFN-BLSTM-CTC模型設(shè)置7層BLSTM較為合適。另外,表3的第三行與第五行數(shù)據(jù)的對比表明,通過在模型中使用SGMM,結(jié)果的WER分別在Thchs30和ST-CMDS的測試集中降低了0.76百分點和0.81百分點,這表明一般的說話者語音和信息對提升ASR的識別率有一定效果。
圖7 MCFN-BLSTM-CTC模型中BLSTM層數(shù) 與WER和參數(shù)量的關(guān)系
為了進一步驗證MCFN對BLSTM-CTC語音識別模型性能提升的有效性,本文參考了目前一些主流平臺最新的開源語音識別項目的思想,利用Thchs30和ST-CMDS數(shù)據(jù)集訓(xùn)練了這些語音識別聲學(xué)模型,并將它們作為基線模型與基于MCFN的BLSTM-CTC語音識別模型進行對比,實驗結(jié)果如圖8所示。
圖8 MCFN-BLSTM-CTC模型與其他模型的測試WER對比
圖8展示了基于MCFN的BLSTM-CTC模型與Attention-based[19]、Deep Speech[20]、Wav2Latter++[21]等近年來較為常用的語音識別聲學(xué)模型的WER對比結(jié)果。Attention模型是一種基于“編碼器-解碼器”架構(gòu)的模型,Chorowski等于2014年將其應(yīng)用于語音識別聲學(xué)建模的過程中,取得了不錯的效果;Deep Speech是2014年由百度研究團隊發(fā)布的語音識別系統(tǒng),并于2015年和2017年進行了兩次模型的改進,其突出特點是在噪聲環(huán)境下仍具有較為良好的識別效果;Wav2Latter++是FacebookAI Research團隊在2016年提出的語音識別架構(gòu),它完全基于CNN,具有很強的可擴展性,且訓(xùn)練效率較高。這些模型都需要較大的數(shù)據(jù)量來支撐訓(xùn)練,而基于MCFN的BLSTM-CTC語音識別模型利用SGMM將一般說話者語音和信息加入到模型中,使得模型在數(shù)據(jù)量較低的情況下仍然具有較好的表現(xiàn)。在Thchs30測試集中,基于MCFN的BLSTM-CTC語音識別模型的識別WER較Attention-based、Deep Speech、Wav2Latter++語音識別模型分別降低了1.54百分點、0.75百分點和0.83百分點,在ST-CMDS測試集中分別降低了1.67百分點、0.82百分點和0.86百分點。
本文結(jié)合BLSTM-CTC聲學(xué)建模方法來驗證多核卷積融合網(wǎng)絡(luò)(MCFN)對語音識別模型的增強效果,并與近年來部分平臺的最新語音識別模型進行了實驗對比。針對音頻在傳播過程中由于外部或內(nèi)部的各種因素影響而出現(xiàn)同一音素存在不同的持續(xù)時長的問題,MCFN在訓(xùn)練語音識別模型時用于對不同音素特征時長進行標(biāo)準(zhǔn)化,起到了一定的語音增強作用。在Thchs30和ST-CMDS中文語音數(shù)據(jù)集上,此網(wǎng)絡(luò)可有效降低語音識別模型的WER,增加了模型的魯棒性。此外,模型通過SGMM技術(shù)加入了一般的說話者語音和信息,降低了因語音語料稀疏性對模型的影響。
語音信號內(nèi)部音素的不同持續(xù)時長帶有許多有用的信息,比如人們在表達特殊情感時,其語音會刻意地縮短或拉長,所以將來可以利用多核卷積融合網(wǎng)絡(luò)可以提取不同持續(xù)時長的音素特征,應(yīng)用于語音情感分析的研究中。此外,方言中還經(jīng)常存在發(fā)音時長不同的聲調(diào),將來在方言語音識別研究領(lǐng)域,多核卷積融合網(wǎng)絡(luò)也同樣具有巨大的潛力。