龍星延 屈 丹 張文林 徐思穎
(戰(zhàn)略支援部隊(duì)信息工程大學(xué)信息系統(tǒng)工程學(xué)院, 河南鄭州 450001)
聲學(xué)模型(Acoustic Model, AM)是連續(xù)語音識(shí)別系統(tǒng)的核心模塊,也是語音識(shí)別熱門研究領(lǐng)域。由于隱馬可夫模型(Hidden Markov Model, HMM) 能描述語音信號(hào)時(shí)變性和非平穩(wěn)性,同時(shí)擁有完成的理論體系和高效的模型參數(shù)估計(jì)與解碼算法,它與高斯混合模型(Gaussian Mixture Model, GMM)組合成的GMM-HMM模型一直是主流的聲學(xué)模型。伴隨深度學(xué)習(xí)和人工智能技術(shù)等的興起,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)與HMM組合的聲學(xué)模型進(jìn)一步提升識(shí)別率[1]。但基于HMM的聲學(xué)模型存在以下缺陷:HMM假設(shè)當(dāng)前狀態(tài)的先驗(yàn)概率只受上一狀態(tài)影響,不能充分記錄和利用音素序列的時(shí)序信息;HMM建模依賴發(fā)音字典、決策樹聚類等相關(guān)語言學(xué)知識(shí)。
為彌補(bǔ)HMM模型的缺陷,文獻(xiàn)[2]提出在GMM-HMM框架上采用序列區(qū)分性準(zhǔn)則重新訓(xùn)練模型,充分學(xué)習(xí)特征序列的時(shí)序信息以提高識(shí)別準(zhǔn)確率。在GMM-HMM框架下有效序列區(qū)分性準(zhǔn)則包括最大互信息準(zhǔn)則[3](Maximum Mutual Information, MMI)、增強(qiáng)型最大互信息準(zhǔn)則[4](boosted MMI, bMMI)、最小音素錯(cuò)誤[5](Minimum Phone Error, MPE)和最小貝葉斯風(fēng)險(xiǎn)[6](Minimum Bayes Risk, MBR)。文獻(xiàn)[7]提出基于MMI準(zhǔn)則的瓶頸深置信網(wǎng)絡(luò)特征提取方法改進(jìn)GMM-HMM系統(tǒng)性能。文獻(xiàn)[8]在DNN-HMM模型中引入序列區(qū)分性準(zhǔn)則,進(jìn)一步提升聲學(xué)模型的識(shí)別性能。Graves等人提出連接時(shí)序分類算法[9](Connectionist Temporal Classification, CTC),實(shí)現(xiàn)語音特征序列到音素序列的直接映射,建立基于CTC的端到端聲學(xué)模型[10]。文獻(xiàn)[11]在此基礎(chǔ)上通過加權(quán)有限狀態(tài)機(jī)將其與語言模型相結(jié)合并用于連續(xù)語音識(shí)別。與基于HMM聲學(xué)模型相比,端到端模型不需要先驗(yàn)對齊信息和建立決策樹等步驟,并且通過將字素作為建模對象可以擺脫對發(fā)音字典的依賴,但識(shí)別性能存在一定差距。
Cho等人提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的“編碼-解碼”端到端模型,并成功應(yīng)用于機(jī)器翻譯[12]。該模型通過編碼網(wǎng)絡(luò)將不同長度輸入序列壓縮成固定長度目標(biāo)向量,解碼網(wǎng)絡(luò)再將目標(biāo)向量作為特征識(shí)別逐一得到輸出序列。Bahdanau等人在該模型中引入注意力機(jī)制,改進(jìn)其在機(jī)器翻譯任務(wù)中的性能[13]。注意力機(jī)制就是通過引入一個(gè)子網(wǎng)絡(luò)對輸入序列中所有元素進(jìn)行關(guān)聯(lián)度打分,再將歸一化后的分?jǐn)?shù)作為權(quán)重系數(shù)合成目標(biāo)向量。注意力模型成功應(yīng)用于圖片自動(dòng)標(biāo)注[14]、音素識(shí)別[15]和連續(xù)語音識(shí)別[16]任務(wù)中。雖然該算法獲得了性能的進(jìn)一步提升,但仍然存在參數(shù)規(guī)模大、訓(xùn)練耗時(shí)極為嚴(yán)峻的問題,盡管通過硬件GPU可以部分解決,但從算法層面研究仍然是一個(gè)熱點(diǎn)問題。此外,原始注意力聲學(xué)模型存在在噪聲環(huán)境下魯棒性能差和音素與特征對齊不準(zhǔn)確的問題[17]。
本文在基于注意力機(jī)制的“編碼-解碼”端到端模型基礎(chǔ)上,提出了基于最少門單元結(jié)構(gòu)的改進(jìn)注意力聲學(xué)模型。該模型首先將最少門結(jié)構(gòu)單元替換原有循環(huán)神經(jīng)網(wǎng)絡(luò)單元,從而減少參數(shù)規(guī)模,提升訓(xùn)練速度;其次在計(jì)算注意力權(quán)重系數(shù)時(shí),在文獻(xiàn)[16]基礎(chǔ)上,采用自適應(yīng)寬度的窗函數(shù)和在計(jì)算注意力系數(shù)特征的卷積神經(jīng)網(wǎng)絡(luò)中添加池化層,進(jìn)一步特征和音素對齊的準(zhǔn)確度,進(jìn)而提升聲學(xué)模型的識(shí)別性能。
循環(huán)神經(jīng)網(wǎng)絡(luò)的內(nèi)部呈環(huán)狀結(jié)構(gòu),即當(dāng)前時(shí)刻隱含層狀態(tài)ht可以表示以前一時(shí)刻隱含層狀態(tài)ht-1和當(dāng)前時(shí)刻輸入xt為輸入的函數(shù),如式(1)所示。
ht=g(xt,ht-1)
(1)
其中,g為循環(huán)神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù),普通循環(huán)神經(jīng)網(wǎng)絡(luò)以式(2)作為傳遞函數(shù)。
g(xt,ht-1)=Whxxt+Whhht-1
(2)
其中,Whh為隱含層內(nèi)部傳遞矩陣,Whx為輸入層到隱含層傳遞矩陣。
最后將隱含層ht作為輸入,將sigmod函數(shù)作為激活函數(shù)計(jì)算得到輸出層狀態(tài)yt,如式(3)所示。
yt=sigmod(ht)
(3)
研究表明[18],由于普通RNN采用將隱含層狀態(tài)與權(quán)重矩陣相乘的方式傳遞歷史信息,導(dǎo)致訓(xùn)練過程中計(jì)算反向梯度時(shí)出現(xiàn)梯度消失和梯度爆炸的問題,無法有效傳遞長時(shí)記憶信息。為解決該問題,Hochreiter提出基于長短時(shí)記憶(Long Short-Term Memory, LSTM)單元的循環(huán)神經(jīng)網(wǎng)絡(luò)模型[18]。LSTM的傳遞函數(shù)g是一個(gè)復(fù)雜的非線性函數(shù),內(nèi)部設(shè)置記憶單元記錄歷史信息,通過門函數(shù)控制歷史信息在特定時(shí)刻“累加”至隱含層狀態(tài),從而保證長時(shí)信息的有效傳輸。由于LSTM內(nèi)部結(jié)構(gòu)復(fù)雜,Cho提出門循環(huán)單元(Gate Recurrent Unit, GRU)。GRU結(jié)構(gòu)只保留2個(gè)門函數(shù)且不包含額外記憶單元,在機(jī)器翻譯測試中性能優(yōu)于LSTM[12]。
給定特征序列(x1,x2,...,xT),GRU以式(4)作為傳遞函數(shù)得到隱含層序列(h1,h2,...,hT)
rt=σ(Wr[ht-1,xt]+br),
ht=zt⊙tanh(Wh[rt⊙ht-1,xt]+bh)+
(1-zt)⊙ht-1
(4)
ht=GRU(xt,ht-1)
(5)
基于GRU單元的多層循環(huán)神經(jīng)網(wǎng)絡(luò)在應(yīng)用時(shí),需要保存和訓(xùn)練大量的參數(shù),導(dǎo)致模型耗費(fèi)大量存儲(chǔ)空間,收斂速度較慢。針對該問題,采用文獻(xiàn)[19]提出的最小門單元(Minimal Gated United, MGU)結(jié)構(gòu)替代原始的GRU結(jié)構(gòu)。MGU結(jié)構(gòu)具有更少的參數(shù),并且在圖像識(shí)別、語言模型、單詞預(yù)測實(shí)驗(yàn)中的性能與GRU接近[19]。文獻(xiàn)[19]中未在語音識(shí)別領(lǐng)域進(jìn)行實(shí)驗(yàn),本文將MGU結(jié)構(gòu)應(yīng)用于基于注意力的端到端聲學(xué)模型,測試其在語音識(shí)別中的性能。
MGU結(jié)構(gòu)在GRU結(jié)構(gòu)的基礎(chǔ)上,讓重置門rt和遺忘門zt共享一套參數(shù),其傳遞函數(shù)如式(6)所示:
ht=zt⊙tanh(Wh[zt⊙ht-1,xt]+bh)+
(1-zt)⊙ht-1
(6)
ht=MGU(ht-1,xt)
(7)
注意力機(jī)制是在序列到序列的模型中,通過模擬人類視覺機(jī)制,從輸入特征序列中提取有效特征的技術(shù)。序列到序列模型中,需要先將變長特征序列(h1,h2,...,hT)映射成一個(gè)目標(biāo)向量ct,該目標(biāo)向量將序列中的重要信息進(jìn)行壓縮,從而實(shí)現(xiàn)變長序列到固定長度矢量的變換;再將ct作為輸入,通過循環(huán)神經(jīng)網(wǎng)絡(luò)逐個(gè)計(jì)算出隱含層狀態(tài)序列(s1,s2,...,sO),最終得到輸出序列(y1,y2,...,yO)。
文獻(xiàn)[12]在機(jī)器翻譯任務(wù)中將序列時(shí)刻T的特征hT作為目標(biāo)向量,即ct=hT。這種提取特征的方式?jīng)]有利用特征序列其他時(shí)刻特征信息,因此表征能力受限。實(shí)際序列到序列建模問題中,例如機(jī)器翻譯和語音識(shí)別,輸出序列的元素總是與輸入序列的特定元素存在對應(yīng)關(guān)系,而采用注意力機(jī)制進(jìn)行特征提取能夠準(zhǔn)確地描述和利用這種對應(yīng)關(guān)系[13]。采用注意力機(jī)制計(jì)算輸出序列位置o∈{1,2,...,O}對應(yīng)的目標(biāo)向量cto過程如下:
首先,計(jì)算輸出序列前一位置隱含層狀態(tài)so-1與時(shí)刻t的特征的關(guān)聯(lián)度,如式(8)所示:
eo,t=a(so-1,ht)
(8)
其中,a(·)代表注意力子網(wǎng)絡(luò),它是只含一個(gè)隱含層的多層感知器,可表示式(9):
eo,t=ωTtanh(W[so-1,ht]+b)
(9)
其中,W和b輸入層到隱含層權(quán)重矩陣和偏置向量,ω隱含層到輸出層權(quán)重矩陣。
然后,對所有時(shí)刻特征的關(guān)聯(lián)度進(jìn)行指數(shù)歸一化。歸一化后的數(shù)值稱為注意力系數(shù),如式(10)所示:
(10)
最后,將注意力系數(shù)作為權(quán)重,對所有時(shí)刻的特征加權(quán)求和,得到注意力機(jī)制下輸出序列位置o的目標(biāo)向量cto,如式(11) 所示:
(11)
采用注意力機(jī)制計(jì)算目標(biāo)向量的過程,可以簡記為式(12):
cto=attention([h1,h2,...,hT],so-1)
(12)
基于注意力機(jī)制的端到端模型最早應(yīng)用于機(jī)器翻譯[13],它能自動(dòng)學(xué)習(xí)序列內(nèi)部的時(shí)序信息,實(shí)現(xiàn)任意長度的輸入序列到輸出序列的直接建模。語音識(shí)別可看成是語音特征到音素的“翻譯”,因此該模型也能應(yīng)用于語音識(shí)別的聲學(xué)模型。在基于注意力機(jī)制的端到端模型基礎(chǔ)上,本文提出的改進(jìn)算法模型如圖1所示,模型由編碼網(wǎng)絡(luò)、解碼網(wǎng)絡(luò)和注意力子網(wǎng)絡(luò)三個(gè)模塊組成。編碼網(wǎng)絡(luò)采用基于MGU單元的深層循環(huán)神經(jīng)網(wǎng)絡(luò),目的是學(xué)習(xí)和挖掘語音特征序列的前后依賴關(guān)系,提取語音的高層特征,增強(qiáng)特征的表達(dá)力和區(qū)分性;解碼網(wǎng)絡(luò)由基于MGU單元單層循環(huán)神經(jīng)網(wǎng)絡(luò)和maxout網(wǎng)絡(luò)連接而成,目的是根據(jù)注意力機(jī)制得到的目標(biāo)向量計(jì)算序列每個(gè)位置上所有音素出現(xiàn)的后驗(yàn)概率。注意力子網(wǎng)絡(luò)是含一個(gè)隱含層的多層感知器,輸入是上一時(shí)刻自身的輸出,編碼網(wǎng)絡(luò)的輸出,解碼網(wǎng)絡(luò)的前一個(gè)隱含層狀態(tài),輸出是注意力系數(shù)。
圖1 帶注意力機(jī)制的“編碼-解碼”模型Fig.1 Structure of attention based encoder-decoder model
基于最少門單元的編碼網(wǎng)絡(luò)中,將原有模型的GRU單元替換成MGU單元,目的是減少參數(shù)規(guī)模和訓(xùn)練時(shí)間。該編碼網(wǎng)絡(luò)由兩組基于MGU單元的多層循環(huán)神經(jīng)網(wǎng)絡(luò)組成,分別為前向網(wǎng)絡(luò)和后向網(wǎng)絡(luò)。雙向網(wǎng)絡(luò)的結(jié)構(gòu)能夠同時(shí)傳遞過去和未來的信息,保證高層特征的信息量。網(wǎng)絡(luò)輸入為原始語音特征序列(x1,x2,...,xT),輸出為高層特征序列(h1,h2,...,hT)。
(13)
(14)
(15)
拼接前向網(wǎng)絡(luò)和后向網(wǎng)絡(luò)的第c層隱含狀態(tài),得到編碼網(wǎng)絡(luò)在時(shí)刻t的高層特征ht,如式(16)所示:
(16)
解碼網(wǎng)絡(luò)由基于MGU的循環(huán)神經(jīng)網(wǎng)絡(luò)和maxout網(wǎng)絡(luò)串聯(lián)組成。它將編碼網(wǎng)絡(luò)計(jì)算得到的高層特征序列(h1,h2,...,hT)作為輸入,計(jì)算輸出序列(y1,y2,...,yO)。yo代表輸出序列位置o上所有音素的后驗(yàn)概率,yo計(jì)算過程如下:
首先,解碼網(wǎng)絡(luò)將注意力子網(wǎng)絡(luò)計(jì)算得到目標(biāo)向量cto,作為基于MGU單元循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,按照式(17)計(jì)算循環(huán)神經(jīng)網(wǎng)絡(luò)的隱含層狀態(tài)so。
so=MGU(so-1,cto)
(17)
(18)
(19)
其中,d為輸入隱含層狀態(tài)so的維度,對應(yīng)隱含層單元數(shù)目,W:,i, j∈Rd×m×k和bi, j∈Rm×k為maxout網(wǎng)絡(luò)參數(shù)矩陣和偏置向量,k為maxout網(wǎng)絡(luò)每個(gè)隱含層單元的候選單元數(shù),m為輸出層單元數(shù)目,在聲學(xué)模型中對應(yīng)輸出音素種類數(shù)目。
最后,如式(20)所示,由maxout網(wǎng)絡(luò)的輸出層得到輸出向量yo,yo第i個(gè)分量表示輸出序列第o個(gè)位置上出息音素i后驗(yàn)概率
(20)
原始注意力模型中,注意力子網(wǎng)絡(luò)對所有時(shí)刻的高層特征都計(jì)算關(guān)聯(lián)度,而由于實(shí)際聲學(xué)模型輸出序列有很大概率出現(xiàn)相同音素,導(dǎo)致重復(fù)出現(xiàn)的音素在多個(gè)時(shí)刻的特征都擁有較大的關(guān)聯(lián)度,從而造成注意力分散在錯(cuò)誤的特征區(qū)域,影響識(shí)別性能。文獻(xiàn)[16]通過增加窗函數(shù)限定注意力區(qū)域和增加卷積神經(jīng)網(wǎng)絡(luò)引入系數(shù)特征部分解決該問題,但仍然存在注意力對齊不準(zhǔn)確地情況。在此基礎(chǔ)上,我們采用自動(dòng)調(diào)節(jié)窗口寬度的窗函數(shù)并且在卷積神經(jīng)網(wǎng)絡(luò)中加入池化層,進(jìn)一步提升該模型在噪聲環(huán)境中魯棒性。采用自適應(yīng)寬度的窗函數(shù)避免了注意力窗口內(nèi)部注意力分布過于分散,并且減少音素對齊區(qū)域相重疊的現(xiàn)象,進(jìn)而提升對齊關(guān)系的準(zhǔn)確度。在卷積神經(jīng)網(wǎng)絡(luò)加入平均池化層能減輕噪聲對注意力區(qū)域分布的干擾,從而增強(qiáng)模型魯棒性。
3.3.1 自適應(yīng)寬度的窗函數(shù)
在計(jì)算位置o音素后驗(yàn)概率時(shí),窗口范圍可表示為(mo-wL,...,mo+wR)。其中,mo為窗口中心,wL為左窗長,wR為右窗長,對應(yīng)窗函數(shù)取值(21)所示:
(21)
限定范圍后,每個(gè)時(shí)刻高層特征向量的關(guān)聯(lián)度為:
(22)
把注意力系數(shù)αo-1,t作為時(shí)刻t權(quán)重,則窗口中心mo為加權(quán)平均數(shù),如式(23)所示。
(23)
注意力窗口寬度wL,wR均固定設(shè)置為50[16],原因是語音信號(hào)提取特征時(shí)幀移為10 ms,100幀寬的窗口能夠利用1 s內(nèi)的特征信息。一個(gè)音素的發(fā)音周期只有0.2~0.5 s,所以限定范圍后的注意力區(qū)域能完整覆蓋1~2個(gè)音素的特征,能夠保證注意力系數(shù)分布在正確的位置。
因?yàn)槟承┮羲匕l(fā)音周期較短,固定長度的窗口音素?cái)?shù)目可能較多,任然會(huì)出現(xiàn)相同的音素進(jìn)而干擾注意力系數(shù)的分布,影響系統(tǒng)的識(shí)別性能。因此考慮設(shè)計(jì)能夠根據(jù)前一個(gè)音素與特征對齊關(guān)系自動(dòng)調(diào)整窗口寬度的窗函數(shù)。如圖2所示,我們根據(jù)前兩個(gè)音素的窗口中心mo-1和mo-2的偏移量估計(jì)出左窗長wL,具體計(jì)算方式如式(24)所示。
(24)
圖2 窗口寬度的計(jì)算Fig.2 Calculation of window width
3.3.2 計(jì)算系數(shù)卷積神經(jīng)網(wǎng)絡(luò)中增加池化層
使用卷積神經(jīng)網(wǎng)絡(luò)提取注意力系數(shù)特征時(shí),將注意力系數(shù)向量αo-1先通過平均池化層,再通過一維卷積層,目的是提升系數(shù)特征魯棒性和區(qū)分性。輸入的注意力系數(shù)向量為前一個(gè)音素對應(yīng)層窗口內(nèi)所有注意力系數(shù),如式(25)所示。
αo-1=[αo-1,mo-1-w,...,αo-1,mo-1+w]
(25)
其中,由于采用的是自適應(yīng)窗長,所以令αo-1,mo-1-w=αo-1,mo-1-w+1=…=αo-1,mo-1-wL=0。
池化層采用平均池化,池化濾波器的規(guī)模為1×3,池化前后向量維度保持不變。卷積層的卷積核大小為1×(2w+1),濾波器數(shù)目為j,卷積方式采用same padding。以上卷積過程可以由式(26)、(27)描述:
(26)
(27)
最后將卷積神經(jīng)網(wǎng)絡(luò)的輸出用于計(jì)算注意力系數(shù)得分,公式如式(27)所示
eo,t=ωTtanh(W[so-1,ht,lo,t]+b)
(28)
其中,lo,t為矩陣lo中時(shí)刻t對應(yīng)的列向量。
雖然模型中注意力子網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)的連接呈現(xiàn)環(huán)狀結(jié)構(gòu),但依然通過最優(yōu)化目標(biāo)函數(shù)的方式訓(xùn)練模型參數(shù)。解碼時(shí)由于輸出序列長度未知,需要采用帶序列終止符的BeamSearch算法解碼。
對于含N段語音的數(shù)據(jù)集,模型訓(xùn)練采用梯度下降法求目標(biāo)函數(shù)的最小值,目標(biāo)函數(shù)如式(29)所示
(29)
模型由于是對序列進(jìn)行建模,所以單段語音后驗(yàn)概率的計(jì)算方式如式(30)所示:
(30)
解碼帶序列終止符的BeamSearch算法搜索在解碼網(wǎng)絡(luò)的輸出中尋找負(fù)概率值最低的序列作為輸出。該算法的思想是維護(hù)一個(gè)容量為beam_size序列集合,每步搜索時(shí)將集合中的序列拓展一位,然后篩選結(jié)果最好的beam_size個(gè)序列保留在集合中。具體流程見算法1。
其中,tmp為拓展后的序列集合,beam為算法維護(hù)的候選搜索序列集合,done為含有終止符
算法 1 帶終止符的BeamSearch解碼算法
輸入 每個(gè)位置的音素后驗(yàn)概率y1,y2,...,yO
輸出 負(fù)概率值最低的音素序列p1,...,po
初始化:beam={?},tmp=?,done=?,best=1e9,m_length=1e4
1. while beam={?} andi≤m_length
2.i=i+1, tmp=?
3. for sequence in beam
4. for phone in phone_set
5. newsequence.list=sequence.list+phone
7. tmp=tmp+newsequence
8. beam=?
9. 篩選出集合tmp中以
10. 對集合中done序列按照cost升序排序。
11. 如果done[1].cost 12. 如果連續(xù)50步best未更新,則跳出while循環(huán)。 13. 對tmp中的序列按照cost升序排序。 14. 將tmp中cost最小的beam_size個(gè)序列加入集合beam。 15. end while 16. 將done[1].list音素序列作為結(jié)果輸出。 為了驗(yàn)證本文改進(jìn)方法的有效性,并與HMM聲學(xué)模型和鏈接時(shí)序分類方法進(jìn)行對比,我們采用了語音識(shí)別測試中常用的英語語料庫和捷克語語料庫作為數(shù)據(jù)集。特征提取采用kaldi[20]開源工具包,端到端模型基線系統(tǒng)采用Theano[21]開源深度學(xué)習(xí)庫搭建。 TIMIT語料庫是語音識(shí)別領(lǐng)域最常用的標(biāo)準(zhǔn)數(shù)據(jù)庫之一,它包含6300段英語朗讀語音。在實(shí)驗(yàn)中選取3296條語句作為訓(xùn)練集,192條語句作為測試集,400條語句作為開發(fā)集。 Vystadial_cz是開源捷克語語料庫,它包含15小時(shí)電話信道下的含噪聲對話語音,識(shí)別率普遍較低。訓(xùn)練集有22566條語句,測試集和開發(fā)集各有2000條語句。 特征提取:語音信號(hào)采樣頻率是16 kHz,采樣位16 bit,使用Hamming窗處理,幀長25 ms,幀移10 ms,預(yù)加重系數(shù)0.97。語音輸入特征向量采用40維fbank特征和能量,再拼接對應(yīng)一階和二階差分,共計(jì)123維參數(shù)。對于提取好的特征,首先在訓(xùn)練集范圍內(nèi)進(jìn)行歸一化,使每個(gè)分量服從標(biāo)準(zhǔn)正態(tài)分布,再利用訓(xùn)練集的歸一化參數(shù)對測試集和開發(fā)集特征歸一化處理。 模型初始化:循環(huán)神經(jīng)網(wǎng)絡(luò)權(quán)重矩陣初始設(shè)定為標(biāo)準(zhǔn)正交矩陣,偏置向量初始設(shè)為0,內(nèi)部狀態(tài)值采用均值為0方差為0.1的獨(dú)立高斯分布初始化。 模型參數(shù):編碼網(wǎng)絡(luò)的隱含層狀態(tài)維度設(shè)為200。注意力子網(wǎng)絡(luò)的卷積神經(jīng)網(wǎng)絡(luò)通道數(shù)設(shè)為10。英語聲學(xué)模型解碼網(wǎng)絡(luò)輸出向量設(shè)為63維,分別對應(yīng)61個(gè)音素、空白符和序列終止符的后驗(yàn)概率;捷克語聲學(xué)模型解碼網(wǎng)絡(luò)輸出向量設(shè)為44維,分別對應(yīng)41個(gè)捷克語字母,空白符、噪聲符號(hào)和序列終止符出現(xiàn)的概率。maxout網(wǎng)絡(luò)的候選隱含層數(shù)目設(shè)為64。 模型訓(xùn)練:以式(29)作為目標(biāo)函數(shù),使用隨機(jī)梯度下降法(Stochastic Gradient Descent, SGD)對模型參數(shù)迭代更新。訓(xùn)練過程分為兩個(gè)階段:第一階段樣本批量大小(batch size)為8,目的是高訓(xùn)練效率,使模型參數(shù)盡快收斂;第二階段樣本批量大小為1,每次訓(xùn)練時(shí)給模型添加噪聲,目的是增強(qiáng)模型識(shí)別的魯棒性和抗噪能力。 TIMIT數(shù)據(jù)集的識(shí)別結(jié)果為音素序列,考慮采用動(dòng)態(tài)規(guī)劃算法將模型解碼得到的序列與標(biāo)注序列以音素作為基本單元對比并統(tǒng)計(jì)出插入錯(cuò)誤(I)、刪除錯(cuò)誤(D)和替代錯(cuò)誤(R)。設(shè)測試集中含有N個(gè)句子,則音素錯(cuò)誤率(Phone Error Rate, PER)為: (31) Vystadial_cz數(shù)據(jù)集的識(shí)別結(jié)果為識(shí)別結(jié)果捷克字母序列,將字母序列整合成單詞,并以單詞作為基本單元統(tǒng)計(jì)出詞錯(cuò)誤率(Word Error Rate, WER)作為聲學(xué)模型評(píng)價(jià)指標(biāo)。 為評(píng)價(jià)和對比注意力模型訓(xùn)練速度,將訓(xùn)練過程的第二階段中批量大小為1條件下,用訓(xùn)練集的所有樣本更新模型參數(shù)的平均周期(epoch)作為評(píng)價(jià)指標(biāo)。 (1)基于MGU單元和GRU單元系統(tǒng)性能對比 為了對比采用不同單元的系統(tǒng)性能影響,在標(biāo)準(zhǔn)TIMIT語料庫中進(jìn)行音素序列識(shí)別的實(shí)驗(yàn)。表1給出在TIMIT測試集中,編碼網(wǎng)絡(luò)中循環(huán)神經(jīng)網(wǎng)絡(luò)為1至3層時(shí),分別采用GRU和MGU作為循環(huán)神經(jīng)網(wǎng)絡(luò)基本單元時(shí)的性能。由表1可以看出,對于同樣的模型結(jié)構(gòu),增加隱含層層數(shù)數(shù)目,系統(tǒng)的識(shí)別性能得到提升,但系統(tǒng)的參數(shù)規(guī)模和訓(xùn)練周期也迅速上升。在相同層數(shù)下,MGU的參數(shù)規(guī)模和平均迭代周期均低于GRU。2.2中提到隱含層維度相同的MGU的參數(shù)規(guī)模為GRU的2/3,因此當(dāng)編碼網(wǎng)絡(luò)層數(shù)增加1層時(shí),GRU結(jié)構(gòu)參數(shù)的增長規(guī)模是MGU結(jié)構(gòu)的1.5倍。當(dāng)編碼網(wǎng)絡(luò)層數(shù)為3層時(shí),MGU的參數(shù)規(guī)模下降39.0%,平均迭代周期下降14.7%,而測試集的音素錯(cuò)誤率僅高0.1%。以上實(shí)驗(yàn)結(jié)果證明在基于注意力的端到端聲學(xué)模型中,使用MGU替換GRU能夠在識(shí)別性能損失較小的前提下,有效減少參數(shù)規(guī)模和提高收斂速度。 (2) 改進(jìn)注意力機(jī)制前后系統(tǒng)性能對比 為驗(yàn)證使用3.2中改進(jìn)注意力機(jī)制方法的有效性,分別在TIMIT和Vystadial_cz語料庫搭建聲學(xué)模型進(jìn)行實(shí)驗(yàn)。采用3層GRU結(jié)構(gòu)的編碼網(wǎng)絡(luò)作為基線系統(tǒng),先采用固定長度的窗口和無池化層的卷積神經(jīng)網(wǎng)絡(luò)對注意力機(jī)制進(jìn)行優(yōu)化,窗口寬度為100,卷積神經(jīng)網(wǎng)絡(luò)的濾波器數(shù)目設(shè)置為10;再分別采用自適應(yīng)寬度的窗函數(shù)和加入池化層的卷積神經(jīng)網(wǎng)絡(luò)方法。表2的結(jié)果表明,對于TIMIT語料庫上,改進(jìn)后的模型在開發(fā)集上準(zhǔn)確率提升明顯,在測試集上的準(zhǔn)確率提升較小。對于噪聲較大的Vystadial_cz語料庫,采用自適應(yīng)寬度的窗函數(shù)和增加池化層后對于測試集的音素錯(cuò)誤率與改進(jìn)前模型相比下降1.06%和0.68%。這證明改進(jìn)后的注意力模型能夠更準(zhǔn)確地計(jì)算音素和編碼網(wǎng)絡(luò)特征的關(guān)聯(lián)度,擁有更好識(shí)別性能和對噪聲有更強(qiáng)魯棒性。 表1 TIMIT語料庫不同模型的性能 表2 TIMIT和Vystadial_cz語料庫下不同系統(tǒng)的音素(詞)錯(cuò)誤率 為了更加直觀地改進(jìn)前后系統(tǒng)的變化,提取Vystadial_cz語料庫中一段語音,打印出基線系統(tǒng)與采用“固定窗函數(shù)+無池化層”與“自適應(yīng)窗函數(shù)+池化層”兩個(gè)模型識(shí)別出的音素與特征的對齊情況,如圖3和圖4所示。圖中豎軸代表音素序列,橫軸表示高層特征幀數(shù),色塊顏色深淺表示注意力系數(shù)大小。由于編碼網(wǎng)絡(luò)對特征進(jìn)行降采樣處理,橫軸的顯示幀數(shù)是實(shí)際語音幀數(shù)的四分之一。通過對比觀察可以得到,圖3中捷克字母S、L的注意力系數(shù)在距離窗口中心較遠(yuǎn)區(qū)域仍有分布,而圖4中注意力系數(shù)分布更為精確。 (3)端到端聲學(xué)模型與其他模型對比 本文對比了改進(jìn)前后基于注意力機(jī)制的端到端聲學(xué)模型與其他聲學(xué)模型在無語言模型條件下連續(xù)語音識(shí)別任務(wù)中的性能,以驗(yàn)證該模型和改進(jìn)方法的有效性。這里涉及到的聲學(xué)模型包括:基于三音子的GMM-HMM模型,采用MMI優(yōu)化GMM-HMM模型,采用bMMI優(yōu)化GMM-HMM模型,采用MPE優(yōu)化GMM-HMM模型,采用sMBR優(yōu)化的 DNN-HMM模型和基于RNN-CTC模型?;谧⒁饬Φ亩说蕉寺晫W(xué)模型中分別采用基線系統(tǒng),改進(jìn)注意力機(jī)制后的模型以及替換MGU單元后的改進(jìn)模型。 表3給出了本文改進(jìn)模型與其他模型在Vystadial_cz數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對比。由表中可以得出,在傳統(tǒng)方法中,采用深度神經(jīng)網(wǎng)絡(luò)和sMBR準(zhǔn)則優(yōu)化的聲學(xué)模型性能最佳,在測試集的性能由于注意力模型額基線系統(tǒng)?;赗NN-CTC的端到端聲學(xué)模型雖然不依賴發(fā)音字典等先驗(yàn)知識(shí),但在該數(shù)據(jù)集下識(shí)別性能不如傳統(tǒng)方法。改進(jìn)注意力的端到端聲學(xué)模型在開發(fā)集和測試集性能最佳,原因是它能更加充分地學(xué)習(xí)和利用語音中時(shí)序信息,并且能讓音素和特征更加準(zhǔn)確地對齊。將改進(jìn)系統(tǒng)的GRU單元替換成MGU單元后,雖然為了減少模型參數(shù)規(guī)模和提升收斂速度損失了少部分識(shí)別性能,但詞錯(cuò)誤率依然低于其他聲學(xué)模型。 圖3 改進(jìn)前系統(tǒng)音素與特征對齊情況Fig.3 Alignment of unimproved system between phones and features 圖4 改進(jìn)后系統(tǒng)的音素與特征對齊情況Fig.4 Alignment of improved system between phones and features 表3 Vystadial_cz語料庫下各個(gè)系統(tǒng)的詞錯(cuò)誤率 本文研究了基于注意力機(jī)制的端到端聲學(xué)模型。在基線系統(tǒng)的基礎(chǔ)上,先采用MGU替代GRU作為循環(huán)神經(jīng)網(wǎng)絡(luò)基本單元,在損失識(shí)別率較低情況下,降低了模型參數(shù)規(guī)模和訓(xùn)練時(shí)間。再根據(jù)語音信號(hào)特點(diǎn)通過使用自適應(yīng)寬度的窗函數(shù)和在計(jì)算注意力系數(shù)特征的卷積神經(jīng)網(wǎng)絡(luò)中加入池化層,進(jìn)一步提高了模型的識(shí)別準(zhǔn)確率。在捷克語語料庫下的實(shí)驗(yàn)表明,改進(jìn)后模型的識(shí)別率優(yōu)于基于HMM聲學(xué)模型和基于CTC的端到端模型。下一步的研究方向是尋找更高效的提取語音特征方法,調(diào)整系統(tǒng)內(nèi)部結(jié)構(gòu)和訓(xùn)練準(zhǔn)則以降低訓(xùn)練復(fù)雜度,提升識(shí)別性能。4 實(shí)驗(yàn)
4.1 實(shí)驗(yàn)數(shù)據(jù)
4.2 實(shí)驗(yàn)設(shè)置
4.3 評(píng)價(jià)指標(biāo)
4.4 實(shí)驗(yàn)結(jié)果和分析
5 結(jié)論