古 典,李 輝
(中國(guó)科學(xué)技術(shù)大學(xué) 電子科學(xué)與技術(shù)系,安徽 合肥 230027)
近年來(lái),深度神經(jīng)網(wǎng)絡(luò)在語(yǔ)音識(shí)別領(lǐng)域的應(yīng)用使得語(yǔ)音識(shí)別技術(shù)取得突飛猛進(jìn)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)技術(shù)已經(jīng)成為構(gòu)建語(yǔ)音識(shí)別聲學(xué)模型的主流技術(shù),相對(duì)于傳統(tǒng)的GMM-HMM語(yǔ)音識(shí)別框架,單詞錯(cuò)誤率下降超過(guò)30%。在實(shí)際應(yīng)用中,由于訓(xùn)練集和測(cè)試集的說(shuō)話人不匹配,導(dǎo)致語(yǔ)音識(shí)別系統(tǒng)的性能受到影響。語(yǔ)音識(shí)別中的說(shuō)話人自適應(yīng)技術(shù)可以解決不匹配問(wèn)題,從而能夠進(jìn)一步提高語(yǔ)音識(shí)別的性能。
在傳統(tǒng)的GMM-HMM框架下,比較著名的自適應(yīng)技術(shù)有最大似然線性回歸(MLLR)[1]、最大后驗(yàn)線性回歸(MAP-LR)[2]和向量泰勒級(jí)數(shù)(VTS)[3]等。然而,這些自適應(yīng)技術(shù)不能直接應(yīng)用到DNN-HMM的框架中,因?yàn)镚MM是一個(gè)生成性模型,DNN屬于判別性模型。隨著DNN技術(shù)的成熟,大量研究者投入到DNN自適應(yīng)領(lǐng)域,并提出了很多優(yōu)秀的自適應(yīng)方法。這些方法可以被分為兩大類:模型域自適應(yīng)以及特征域自適應(yīng)。線性輸入網(wǎng)絡(luò)(LIN)[4]是將一個(gè)線性層添加到輸入層和第一個(gè)隱層之間。這種方法的思想是通過(guò)線性變化,將說(shuō)話人相關(guān)的特征與說(shuō)話人無(wú)關(guān)的DNN模型相匹配。與此類似的方法還有線性隱層網(wǎng)絡(luò)(LHN)[5]和線性輸出網(wǎng)絡(luò)(LON)[6]。擴(kuò)充特征的方法是將聲學(xué)特征和代表說(shuō)話人信息的特征進(jìn)行拼接,作為深度神經(jīng)網(wǎng)絡(luò)的輸入。一個(gè)比較好的方法是利用i-vector[7]作為說(shuō)話人信息。文獻(xiàn)[8]提出,在自適應(yīng)任務(wù)中引入多任務(wù)學(xué)習(xí)方法可以進(jìn)一步提升系統(tǒng)性能。采用學(xué)習(xí)性隱層單元貢獻(xiàn)(LHUC)[9]的方法,在保留原有基線網(wǎng)絡(luò)參數(shù)的基礎(chǔ)上,在隱層的每個(gè)神經(jīng)元上引入一個(gè)參數(shù)對(duì)相應(yīng)神經(jīng)元的輸出進(jìn)行矯正,使得網(wǎng)絡(luò)能夠匹配特定的說(shuō)話人,并且僅增加少量的自適應(yīng)參數(shù)。
然而少量的自適應(yīng)數(shù)據(jù)限制了LHUC自適應(yīng)參數(shù)的調(diào)整,基于對(duì)上述缺陷的分析,本文從以下兩個(gè)方面對(duì)原方法進(jìn)行改進(jìn):(1)由于自適應(yīng)網(wǎng)絡(luò)性能的提升來(lái)源于獲取的自適應(yīng)數(shù)據(jù)所包含的信息量,而i-vector作為一種表示說(shuō)話人信息的向量可以為自適應(yīng)網(wǎng)絡(luò)提供額外的信息,可以以此來(lái)彌補(bǔ)自適應(yīng)數(shù)據(jù)信息量的不足;(2)受文獻(xiàn)[8]的啟發(fā),將多任務(wù)學(xué)習(xí)引入LHUC自適應(yīng)訓(xùn)練中,通過(guò)增加輔助任務(wù),有助于自適應(yīng)參數(shù)的更新,使自適應(yīng)網(wǎng)絡(luò)提升獲取自適應(yīng)數(shù)據(jù)信息的能力,以達(dá)到進(jìn)一步提升系統(tǒng)性能的效果。
本文的主要工作包括:搭建DNN-HMM框架的連續(xù)語(yǔ)音識(shí)別系統(tǒng)作為基線系統(tǒng),采用LHUC方法對(duì)DNN進(jìn)行自適應(yīng)訓(xùn)練;在現(xiàn)有模型的基礎(chǔ)上,分別融合i-vector和多任務(wù)學(xué)習(xí)方法,并分別對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。
在DNN-HMM的框架中,HMM用來(lái)描述語(yǔ)音信號(hào)的動(dòng)態(tài)變化,DNN利用其強(qiáng)大的分類能力估計(jì)觀察特征的概率。DNN的輸出層節(jié)點(diǎn)數(shù)對(duì)應(yīng)于HMM的狀態(tài)數(shù)。
DNN實(shí)際上是具有多個(gè)隱層的多層感知器(MLP),分為輸入層、隱層和輸出層。網(wǎng)絡(luò)的計(jì)算公式為:
(1)
(2)
式中,l代表層數(shù),wl表示l-1層到l層的權(quán)重,bl表示l層的偏置,x為輸入向量,Zl表示激勵(lì)向量,al表示l層的輸出。對(duì)于每個(gè)隱層,激勵(lì)向量通過(guò)激活函數(shù)獲得激活向量作為輸入送往下一個(gè)隱層,對(duì)于輸出層,第j個(gè)神經(jīng)元的值表示sj的后驗(yàn)概率,所以需要用softmax函數(shù)進(jìn)行歸一化,公式如下:
(3)
DNN的訓(xùn)練準(zhǔn)則一般采用交叉熵準(zhǔn)則,它用來(lái)衡量目標(biāo)后驗(yàn)概率與實(shí)際后驗(yàn)概率的差異度,交叉熵函數(shù)的公式如下:
(4)
DNN采用反向傳播算法進(jìn)行訓(xùn)練。對(duì)于輸出層,損失函數(shù)對(duì)最后一個(gè)隱層輸出的誤差為:
(5)
誤差由輸出層從后向前傳遞,通過(guò)式(5)中誤差的回傳,逐一求出前幾個(gè)隱層的誤差:
(6)
利用式(5)、(6)可求出損失函數(shù)對(duì)更新參數(shù)w和b的偏導(dǎo)數(shù),公式如下:
(7)
(8)
參數(shù)的更新公式為:
(9)
(10)
式中,α為學(xué)習(xí)率,根據(jù)式(9)、(10)進(jìn)行參數(shù)更新,尋找使得損失函數(shù)取得最小值時(shí)的權(quán)重。
LHUC模型采用說(shuō)話人獨(dú)立的神經(jīng)網(wǎng)絡(luò)模型,針對(duì)每一個(gè)特定人,用特定人的自適應(yīng)數(shù)據(jù)進(jìn)行自適應(yīng)訓(xùn)練,固定原網(wǎng)絡(luò)參數(shù)不變,只更新自適應(yīng)參數(shù),保留與特定說(shuō)話人有關(guān)的參數(shù)。定義一組說(shuō)話人有關(guān)的參數(shù)r,作用于網(wǎng)絡(luò)中每個(gè)神經(jīng)元的輸出,如下式:
(11)
LHUC關(guān)于r參數(shù)的更新采用類似于訓(xùn)練說(shuō)話人獨(dú)立網(wǎng)絡(luò)的反向傳播算法,對(duì)于最后一個(gè)隱層r的梯度表示為:
(12)
由于剩下的隱層參數(shù)的梯度必須經(jīng)a傳導(dǎo),故優(yōu)先求出對(duì)于a的梯度:
(13)
前面各個(gè)隱層有關(guān)a的梯度可以由下式推導(dǎo)獲得:
(14)
最終,前幾個(gè)隱層對(duì)于r的梯度由前一層a的梯度獲得:
(15)
以上獲取了所有r參數(shù)的梯度。然而r參數(shù)不是共享的,它只對(duì)特定說(shuō)話人有意義,如果測(cè)試集含有多個(gè)說(shuō)話人,則需分別進(jìn)行自適應(yīng)訓(xùn)練獲取特定人參數(shù)。
i-vector在說(shuō)話人確認(rèn)和識(shí)別領(lǐng)域取得了廣泛的應(yīng)用,它能夠很好地表征說(shuō)話人信息并且具有固定的維度,這種優(yōu)良的特性成為說(shuō)話人自適應(yīng)的一個(gè)理想工具。i-vector方法基于高斯混合模型-通用背景模型(GMM-UBM)。它將說(shuō)話人信息和信道信息作為一個(gè)整體進(jìn)行建模,特定說(shuō)話人的GMM均值超矢量由以下公式表示:
VS=m+TwS
(16)
其中,VS表示說(shuō)話人s的GMM均值超矢量,m表示與說(shuō)話人無(wú)關(guān)的UBM均值超矢量,T為全局差異矩陣,wS為服從正態(tài)分布的總差異因子。i-vector的提取過(guò)程即為對(duì)總差異因子進(jìn)行極大后驗(yàn)點(diǎn)估計(jì)。
語(yǔ)音特征主要包含語(yǔ)義信息,i-vector代表特定說(shuō)話人信息,將語(yǔ)音特征和i-vector進(jìn)行拼接,形成了說(shuō)話人歸一化的特征空間,新的特征輸入到DNN中,DNN利用i-vector信息能夠降低說(shuō)話人差異帶來(lái)的影響,提高系統(tǒng)的識(shí)別能力。
多任務(wù)學(xué)習(xí)[10]是一種通過(guò)同時(shí)學(xué)習(xí)多個(gè)相關(guān)任務(wù)來(lái)提高模型泛化能力的機(jī)器學(xué)習(xí)技術(shù)。深度神經(jīng)網(wǎng)絡(luò)這種對(duì)輸入特征層層抽象的性質(zhì)很適合采用多任務(wù)學(xué)習(xí)方法。如圖1所示,DNN網(wǎng)絡(luò)含有不止一個(gè)輸出層,這些輸出層共享網(wǎng)絡(luò)的隱藏層,不同的輸出層同時(shí)進(jìn)行誤差回傳,它們的誤差按照如下公式進(jìn)行計(jì)算:
(17)
圖1 多任務(wù)學(xué)習(xí)框架
本文首先構(gòu)建基線系統(tǒng)及LHUC自適應(yīng)網(wǎng)絡(luò),然后分別進(jìn)行兩種方法的LHUC改進(jìn)實(shí)驗(yàn)。
實(shí)驗(yàn)采用TED-LIUM版本1英語(yǔ)語(yǔ)料庫(kù),內(nèi)容為英語(yǔ)演講音頻,采樣率為16 kHz。語(yǔ)料庫(kù)包括發(fā)音詞典、訓(xùn)練集、開發(fā)集、測(cè)試集及對(duì)應(yīng)的文本標(biāo)注。訓(xùn)練集時(shí)長(zhǎng)118 h,開發(fā)集時(shí)長(zhǎng)10 h,測(cè)試集時(shí)長(zhǎng)15 h。本實(shí)驗(yàn)將開發(fā)集也作為一個(gè)測(cè)試集使用,兩個(gè)測(cè)試集分別記為Dev和Test。測(cè)試使用的3gram語(yǔ)言模型來(lái)自Cantab提供的TEDLIUM release1.1。系統(tǒng)評(píng)價(jià)指標(biāo)采用單詞錯(cuò)誤率WER。
實(shí)驗(yàn)工具采用kaldi[11]語(yǔ)音識(shí)別工具包和PDNN[12]深度學(xué)習(xí)工具。首先建立HMM-GMM系統(tǒng),在此基礎(chǔ)上構(gòu)建HMM-DNN基線系統(tǒng)。DNN網(wǎng)絡(luò)采用6隱層結(jié)構(gòu),每個(gè)隱層含有1 024個(gè)神經(jīng)元,實(shí)驗(yàn)采用sigmoid激活函數(shù)。輸出層采用softmax函數(shù),節(jié)點(diǎn)數(shù)為4 082,對(duì)應(yīng)于HMM狀態(tài)數(shù)。特征采用40維的Fbank,通過(guò)CMVN歸一化處理,取前后各5幀進(jìn)行拼接,共440維作為輸入特征。訓(xùn)練集取總數(shù)據(jù)的5%作為交叉驗(yàn)證集。訓(xùn)練算法采用隨機(jī)梯度下降算法,超參數(shù)batch-size設(shè)為256,訓(xùn)練之前進(jìn)行SDA預(yù)訓(xùn)練。
在基線系統(tǒng)的基礎(chǔ)上做LHUC自適應(yīng)訓(xùn)練,Dev和Test兩個(gè)測(cè)試集分別含有8和11個(gè)說(shuō)話人,抽取每人的 15個(gè)句子作為自適應(yīng)數(shù)據(jù)。
表1給出了基線系統(tǒng)及LHUC自適應(yīng)系統(tǒng)的WER,實(shí)驗(yàn)驗(yàn)證了LHUC自適應(yīng)方法可以有效地提升系統(tǒng)的性能,WER相比于基線系統(tǒng)下降了8%。
表1 基線系統(tǒng)和LHUC自適應(yīng)系統(tǒng)的性能 (%)
首先構(gòu)建與i-vector相關(guān)的DNN基線系統(tǒng)。分別提取訓(xùn)練集和測(cè)試集中每個(gè)說(shuō)話人的i-vector,向量維度設(shè)為100。將訓(xùn)練集語(yǔ)音特征與對(duì)應(yīng)說(shuō)話人的i-vector進(jìn)行拼接,作為新的特征進(jìn)行訓(xùn)練,獲得說(shuō)話人歸一化網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練方法與基線系統(tǒng)保持一致。LHUC自適應(yīng)階段,同樣將自適應(yīng)數(shù)據(jù)與i-vector拼接。
表2給出了基于i-vector方法的基線網(wǎng)絡(luò)和LHUC自適應(yīng)系統(tǒng)的性能。結(jié)果表明,在引入i-vector作為額外信息后,自適應(yīng)系統(tǒng)的性能進(jìn)一步得到提高,WER比原LHUC系統(tǒng)降低了2.5%。由此可以得出結(jié)論:i-vector信息的引入,提高了自適應(yīng)網(wǎng)絡(luò)對(duì)說(shuō)話人的區(qū)分能力,緩解了自適應(yīng)數(shù)據(jù)稀疏造成的影響。
表2 i-vector網(wǎng)絡(luò)和LHUC自適應(yīng)系統(tǒng)的性能 (%)
實(shí)驗(yàn)的輔助任務(wù)選取單音素識(shí)別,單音素個(gè)數(shù)為46,對(duì)應(yīng)輔助任務(wù)輸出層的節(jié)點(diǎn)。首先訓(xùn)練輔助任務(wù)輸出層的參數(shù),利用訓(xùn)練集在基線網(wǎng)絡(luò)上做單音素訓(xùn)練,保持隱層參數(shù)不變,只更新輸出層參數(shù)。
將訓(xùn)練得到的輔助任務(wù)輸出層應(yīng)用到LHUC自適應(yīng)訓(xùn)練中,進(jìn)行多任務(wù)訓(xùn)練,主任務(wù)的誤差權(quán)重設(shè)為1,不斷改變輔助任務(wù)的誤差權(quán)重做對(duì)比實(shí)驗(yàn)。
表3給出了輔助任務(wù)在不同權(quán)重下,自適應(yīng)系統(tǒng)性能的變化。實(shí)驗(yàn)結(jié)果表明增加輔助任務(wù)可以有效提升系統(tǒng)的性能,性能隨著輔助任務(wù)的權(quán)值變化而變化。當(dāng)權(quán)值為0時(shí),相當(dāng)于不使用多任務(wù)方法,隨著權(quán)值的增加,系統(tǒng)性能逐漸提升。當(dāng)權(quán)重為3時(shí),性能達(dá)到最優(yōu),WER相比LHUC基線降低了1.9%。隨著權(quán)重的繼續(xù)增加,性能出現(xiàn)下降,這是由于主任務(wù)的比重相對(duì)下降造成的。單音素識(shí)別與主任務(wù)具有一定的相關(guān)性,在自適應(yīng)過(guò)程中,輔助任務(wù)的信息對(duì)有限的自適應(yīng)數(shù)據(jù)進(jìn)行了補(bǔ)償,提升了自適應(yīng)網(wǎng)絡(luò)的泛化能力。
表3 輔助任務(wù)不同權(quán)重下LHUC系統(tǒng)性能 (%)
本文將i-vector和多任務(wù)學(xué)習(xí)這兩種方法分別與LHUC自適應(yīng)方法相結(jié)合,兩種方法從不用的角度均緩解了原系統(tǒng)中自適應(yīng)數(shù)據(jù)的稀缺問(wèn)題。其中,i-vector包含的說(shuō)話人信息向自適應(yīng)網(wǎng)絡(luò)提供了額外的信息;多任務(wù)學(xué)習(xí)方法中,輔助任務(wù)的信息對(duì)自適應(yīng)數(shù)據(jù)進(jìn)行了補(bǔ)償。實(shí)驗(yàn)結(jié)果表明,兩種方法都提升了自適應(yīng)網(wǎng)絡(luò)的泛化能力,WER相對(duì)下降了2.5%和1.9%。
參考文獻(xiàn)
[1] GALES M J F, WOODLAND P C. Mean and variance adaptation within the MLLR framework[J]. Computer Speech & Language, 1996, 10(4): 249-264.
[2] CHESTA C, SIOHAN O, LEE C H. Maximum a posteriori linear regression for hidden Markov model adaptation[C]//Sixth European Conference on Speech Communication and Technology, 1999: 211-214.
[3] UN C K, KIM N S. Speech recognition in noisy environments using first-order vector Taylor series[J]. Speech Communication, 1998, 24(1): 39-49.
[4] TRMAL J, ZELINKA J, MüLLER L. Adaptation of a feedforward artificial neural network using a linear transform[C]//International Conference on Text, Speech and Dialogue. Springer, Berlin, Heidelberg, 2010: 423-430.
[5] GEMELLO R, MANA F, SCANZIO S, et al. Linear hidden transformations for adaptation of hybrid ANN/HMM models[J]. Speech Communication, 2007, 49(10): 827-835.
[6] LI B, SIM K C. Comparison of discriminative input and output transformations for speaker adaptation in the hybrid NN/HMM systems[C]//Eleventh Annual Conference of the International Speech Communication Association, 2010: 526-529.
[7] DEHAK N, KENNY P J, DEHAK R, et al. Front-end factor analysis for speaker verification[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2011, 19(4): 788-798.
[8] HUANG Z, LI J, SINISCALCHI S M, et al. Rapid adaptation for deep neural networks through multi-task learning[C]//Sixteenth Annual Conference of the International Speech Communication Association, 2015: 3625-3629.
[9] SWIETOJANSKI P, RENALS S. Learning hidden unit contributions for unsupervised speaker adaptation of neural network acoustic models[C]//Spoken Language Technology Workshop (SLT), 2014 IEEE. 2014: 171-176.
[10] CARUNA R. Multitask learning: a knowledge-based source of inductive bias[C]//Machine Learning: Proceedings of the Tenth International Conference, 1993: 41-48.
[11] POVEY D, GHOSHAL A, BOULIANNE G, et al. The Kaldi speech recognition toolkit[C]//IEEE 2011 Workshop on Automatic Speech Recognition and Understanding. IEEE Signal Processing Society, 2011.
[12] Miao Yajie. Kaldi+ PDNN: building DNN-based ASR systems with Kaldi and PDNN[Z]. arXiv preprint arXiv:1401.6984, 2014.