李連振,米吉提·阿不里米提,鄭方,艾斯卡爾·艾木都拉
(新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046)
近年來,雖然維吾爾語大詞匯量連續(xù)的語音識(shí)別研究已經(jīng)取得了一定的進(jìn)步,但是在聲學(xué)建模的選擇和改進(jìn)方面還需要許多工作,在細(xì)化及優(yōu)化方面需要更多的研究工作。目前維吾爾語語音識(shí)別方面研究在直接采用基于深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型(DNN-HMM)的語音識(shí)別[1,2],在聲學(xué)模型的優(yōu)化方面工作較少。需要從獨(dú)特性以及細(xì)節(jié)上深入研究。因此,本文在DNN-HMM基礎(chǔ)上為少數(shù)民族語音識(shí)別模型的優(yōu)化方面做一些深入探討。
在過去的研究中,文獻(xiàn)[3]提出了基于深度神經(jīng)網(wǎng)絡(luò)(DNN)的聲學(xué)模型,對(duì)所有的識(shí)別單元都可以大幅度提升ASR識(shí)別準(zhǔn)確率。文獻(xiàn)[4]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別方法,相比于傳統(tǒng)DNN聲學(xué)模型,識(shí)別效果得到明顯改善。文獻(xiàn)[5]發(fā)表了一個(gè)免費(fèi)的維吾爾語語音語料庫THUYG-20,在Kaldi平臺(tái)[6]的基礎(chǔ)上為維吾爾語語音識(shí)別研究人員提供了技術(shù)支持。盡管DNN相對(duì)于高斯混合模型(Gaussian Mixture Model,GMM)更能精確地模擬三音素的狀態(tài),對(duì)詞錯(cuò)誤率有所改善,但是DNN模型由于自身訓(xùn)練參數(shù)量比較大,使得模型訓(xùn)練時(shí)間大大增加,仍不能夠達(dá)到理想效果。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型,由于它的循環(huán)式建模特點(diǎn),在序列數(shù)據(jù)的學(xué)習(xí)任務(wù)上的表現(xiàn)優(yōu)異,并廣泛應(yīng)用到語音識(shí)別等任務(wù)上。目前長(zhǎng)期短期記憶(LSTMs)等通用RNN是一些研究的最主要方法[7],同時(shí)也出現(xiàn)了其RNN體系結(jié)構(gòu),如為門控遞歸單元(GRU)[8]網(wǎng)絡(luò)。本文通過修改GRU內(nèi)部結(jié)構(gòu)做出努力和改進(jìn)。
在維吾爾語THUYG-20語音識(shí)別任務(wù)中,通過修改GRU結(jié)構(gòu)聲學(xué)模型,用一種雙向改進(jìn)門控循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)替代了傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)。此模型相比普通GRU模型結(jié)構(gòu)簡(jiǎn)單,可以大大縮短訓(xùn)練時(shí)間,并能夠有效解決梯度消失問題;同時(shí)采用一種雙向結(jié)構(gòu),能夠考慮過去和未來的上下文語義時(shí)序信息,識(shí)別性能明顯優(yōu)于目前主流的基于DNN-HMM的聲學(xué)系統(tǒng),同時(shí)還能在多種不同的任務(wù)、輸入特征上實(shí)現(xiàn)識(shí)別效率的提升。
門控循環(huán)單元(GRU)是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)的一種門控機(jī)制,并且成功的應(yīng)用到語音識(shí)別領(lǐng)域[9,10]。和LSTM(Long-Short Term Memory)相似,其目的是解決標(biāo)準(zhǔn)RNN中的梯度消失或者爆炸問題并同時(shí)保留序列的長(zhǎng)期信息。GRU在許多例如語音識(shí)別的序列任務(wù)上與LSTM能夠達(dá)到相當(dāng)?shù)男Ч?,僅包含一個(gè)重置門(reset gate)和一個(gè)更新門(update gate)。
那么為什么說GRU更容易進(jìn)行訓(xùn)練呢,下面開始介紹一下GRU的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 門控循環(huán)單元
GRU體系結(jié)構(gòu)由以下方程定義
gt=σ(Wgxt+Vght-1+bg)
(1)
rt=σ(Wrxt+Vrht-1+br)
(2)
(4)
GRU很聰明的一點(diǎn)在于,使用了更新門gt就同時(shí)可以進(jìn)行遺忘和選擇記憶功能,門控信號(hào)gt的范圍為0~1,門控信號(hào)越接近1,代表“記憶”下來的信息越多;而越接近于0則代表“遺忘”的信息越多。
GRU的參數(shù)更少,因而訓(xùn)練稍快或需要更少的數(shù)據(jù)來泛化。
改進(jìn)GRU模型的主要更改涉及重置門、ReLU激活函數(shù)和批歸一化,如下一小節(jié)所述。
2.1.1 移除重置門
在處理語音序列時(shí),重置和更新門的激活可能會(huì)存在一定的冗余[11]。當(dāng)需要更加重視當(dāng)前信息時(shí),GRU模型可以設(shè)置rt更小的數(shù)值,同時(shí)也可以通過gt設(shè)置的更小的值實(shí)現(xiàn)類似的效果;同樣,可以將高值分配給gt或rt,以便更多地重視過去的歷史信息。移除重置門的主要好處可以提高計(jì)算效率[12],這是由于一個(gè)更緊湊的單門模型而實(shí)現(xiàn)的。
(5)
其中Wh,Vh分別為第t時(shí)刻輸入向量xt和前一時(shí)刻隱藏層ht-1的權(quán)重矩陣。
2.1.2 采用ReLU激活函數(shù)
更新門結(jié)構(gòu)使用ReLU激活函數(shù),函數(shù)表達(dá)式定義如下。
(6)
(7)
標(biāo)準(zhǔn)的tanh激活在前饋網(wǎng)絡(luò)中使用較少,因?yàn)楫?dāng)訓(xùn)練更深的網(wǎng)絡(luò)時(shí),它們不起作用[13]??梢钥紤]采用ReLU激活函數(shù)可以有效的改善這種限制,但是在以往的RNN模型中并不常用,這是由于在長(zhǎng)時(shí)間序列中采用無界的ReLU函數(shù)會(huì)產(chǎn)生數(shù)值不穩(wěn)定。如果將ReLU激活函數(shù)與批歸一化結(jié)合起來有助于解決這個(gè)問題[14],這將在下一小節(jié)中討論。
2.1.3 采用BN算法
批歸一化(Batch Normalization)最近在機(jī)器學(xué)習(xí)社區(qū)中提出,并通過對(duì)每個(gè)訓(xùn)練小批次的每一層預(yù)激活的均值和方差進(jìn)行歸一化來解決內(nèi)部協(xié)變量偏移(Internal Covariate Shift)問題。一些工作已經(jīng)表明批歸一化應(yīng)用于RNN這種技術(shù)是有效的[16],既提升了模型訓(xùn)練穩(wěn)定性能,又能加速網(wǎng)絡(luò)收斂速度。批歸一化只將其應(yīng)用于前饋連接[17],獲得一個(gè)更緊湊的模型,它的性能幾乎是相同的,但計(jì)算成本要低得多,所有相關(guān)的計(jì)算在每個(gè)時(shí)間步驟都變得獨(dú)立,它們可以并行執(zhí)行。在沒有批歸一化的情況下,GRU的ReLU激活是無界的,并且容易導(dǎo)致數(shù)值不穩(wěn)定性,GRU的收斂只能通過設(shè)置相當(dāng)小的學(xué)習(xí)速率值來實(shí)現(xiàn)。這樣,選用的ReLU激活和批歸一化技術(shù)結(jié)合表現(xiàn)特別好,同時(shí)利用了兩者的好處。改進(jìn)后的GRU神經(jīng)元簡(jiǎn)稱為SGRU,如圖2所示。
圖2 改進(jìn)的門控循環(huán)單元
當(dāng)移除復(fù)位門,用ReLU激活函數(shù)替換雙曲正切函數(shù),并應(yīng)用批歸一化后模型的改變?nèi)缦?/p>
gt=σ(BN(Wgxt)+Vght-1)
(8)
(10)
批歸一化BN(·)工作如文獻(xiàn)[17]所述,定義如下
(11)
其中μk和σk分別是mini-batch的均值和方差。確保數(shù)值穩(wěn)定性增加了一個(gè)小的常數(shù)ε,γ和λ的變量是可訓(xùn)練參數(shù),通過學(xué)習(xí)到的重構(gòu)參數(shù)γ、λ,是可以恢復(fù)出原始的某一層所學(xué)到的特征的。λ的存在使得偏差bg和bh是多余的,因此它們?cè)诘仁街锌梢员皇÷浴8倪M(jìn)后的GRU神經(jīng)元簡(jiǎn)稱為SGRU,如圖3所示。
2.1.4 雙向SGRU網(wǎng)絡(luò)結(jié)構(gòu)
由于GRU只能獲取單向語義信息,本文設(shè)計(jì)了一種雙向GRU模型如圖3所示,其中G′為改進(jìn)GRU模型。
圖3 雙向改進(jìn)門控循環(huán)單元
把模型稱作BiSGRU,這樣從兩個(gè)方向來獲取上下文信息,BiSGRU的基本思想是將改進(jìn)GRU中的神經(jīng)元分為前向傳輸層和后向傳輸層,分別代表正的時(shí)間方向和負(fù)的時(shí)間方向。通過使用這種結(jié)構(gòu),比較容易捕捉到來自過去和未來的輸入信息對(duì)當(dāng)前狀態(tài)的影響。
本文搭建的是一個(gè)完整的維吾爾語語音識(shí)別系統(tǒng),包括數(shù)據(jù)處理,模型搭建和系統(tǒng)配置等,能夠有效得到的識(shí)別結(jié)果。
2.2.1 基于BiSGRU-HMM聲學(xué)模型
聲學(xué)模型的神經(jīng)網(wǎng)絡(luò)部分特殊結(jié)構(gòu)對(duì)長(zhǎng)時(shí)信息進(jìn)行建模,對(duì)隱藏層進(jìn)行線性變換,由神經(jīng)網(wǎng)絡(luò)產(chǎn)生的聲學(xué)后驗(yàn)概率。神經(jīng)網(wǎng)絡(luò)在識(shí)別語音特征是逐幀讀取的,語音信號(hào)是時(shí)變的,隱馬爾可夫模型是一個(gè)既可以描述語音特征統(tǒng)計(jì)分布,又能很好的描述語音語音信號(hào)的動(dòng)態(tài)變化的統(tǒng)計(jì)模型,在訓(xùn)練模型階段實(shí)現(xiàn)語音幀和狀態(tài)之間的對(duì)齊,并在解碼過程計(jì)算每個(gè)狀態(tài)之間的轉(zhuǎn)移概率。
結(jié)合了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和HMM的優(yōu)點(diǎn),搭建圖4所示的BiSGRU-HMM混合聲學(xué)模型。
圖4 雙向改進(jìn)GRU-HMM 模型框架圖
在Kaldi中,首先將輸入語音特征提取后,將特征向量作為神經(jīng)網(wǎng)絡(luò)的輸入,訓(xùn)練聲學(xué)模型前使用DNN模型做狀態(tài)和觀察序列的強(qiáng)制對(duì)齊過程,模型標(biāo)注出最可能的狀態(tài)序列,而后通過多層BiSGRU循環(huán)隱層,得到由Softmax函數(shù)歸一化的后驗(yàn)概率,再結(jié)合HMM對(duì)其進(jìn)行解碼,模型的訓(xùn)練是在GPU上進(jìn)行的。
2.2.2 基于BiSGRU-HMM混合聲學(xué)模型的語音識(shí)別系統(tǒng)
在解決維吾爾語的語音識(shí)別問題中,語音識(shí)別主要包括編碼端和解碼端,編碼段包含語音幀的預(yù)處理,特征提取,解碼端包括聲學(xué)模型,語言模型,發(fā)音字典,需要這幾個(gè)部件聯(lián)合優(yōu)化。一段語音用 Kaldi特征提取聲學(xué)特征后,經(jīng)過混合聲學(xué)模型得到語音特征到音素的映射,選用3-gram統(tǒng)計(jì)語言模型,并結(jié)合詞典共同構(gòu)成加權(quán)有向轉(zhuǎn)換器(Weighted Finaite-State Transducer,WFST)進(jìn)行解碼識(shí)別?;贐iSGRU-HMM 混合聲學(xué)模型的語音識(shí)別系統(tǒng)如圖5所示。
圖5 基于BiSGRU-HMM聲學(xué)模型的語音識(shí)別系統(tǒng)
本文是基于開源維吾爾語數(shù)據(jù)集THUGY-20上實(shí)驗(yàn)的,THUGY-20是由清華大學(xué)和新疆大學(xué)發(fā)布。該數(shù)據(jù)集中訓(xùn)練集有7600句,時(shí)長(zhǎng)為20.15小時(shí);驗(yàn)證集總共有400個(gè)句子,時(shí)長(zhǎng)1.08小時(shí);測(cè)試集含有1468條句,錄制總時(shí)長(zhǎng)2.4小時(shí)。所有語音是采樣頻率為16kHz、量化位數(shù)為16位、單通道的WAVE格式音頻文件。本文實(shí)驗(yàn)以Pytorch,Kaldi作為實(shí)驗(yàn)平臺(tái),采用的操作系統(tǒng)為CentOS 7.7,GPU硬件加速配置選用單塊GeForce GTX 1080Ti顯卡。
基線DNN-HMM聲學(xué)模型是基于SGMM-HMM系統(tǒng)的對(duì)比建立的,該系統(tǒng)使用Kaldi中‘s5’和模型‘tri4b’進(jìn)行訓(xùn)練。模型的輸入層為40維Fbank特征,四個(gè)隱藏層的全連接DNN,每層由1024個(gè)節(jié)點(diǎn),學(xué)習(xí)率為0.008,激活函數(shù)采用sigmoid,損失函數(shù)為交叉熵。
實(shí)驗(yàn)考慮了不同的聲學(xué)特征,即39個(gè)MFCC(13個(gè)靜態(tài)+Δ+ΔΔ),40個(gè)對(duì)數(shù)濾波器組特征(Fbank),以及40個(gè)fMLLR特征(根據(jù)Kaldi中s5所述方法進(jìn)行提取),使用25 ms的窗口(幀長(zhǎng))計(jì)算,重疊(幀移)為10 ms。
基于SiGRU-HMM使用的聲學(xué)模型結(jié)構(gòu)為5層雙向改進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò),每個(gè)循環(huán)隱藏層含有550個(gè)神經(jīng)元,batch size設(shè)置為8,迭代批次為26,學(xué)習(xí)率初始值設(shè)置是0.0008,訓(xùn)練過程中通過設(shè)置閾值自動(dòng)調(diào)整學(xué)習(xí)率,神經(jīng)網(wǎng)絡(luò)中采用ReLU非線性激活函數(shù),模型優(yōu)化器采用RMSProp,對(duì)前饋連接神經(jīng)元輸入進(jìn)行批歸一化處理,可學(xué)習(xí)重構(gòu)參數(shù)中γ初始化值設(shè)置為0.1,移位參數(shù)λ為0,解碼器參數(shù)設(shè)置參照Kaldi。在實(shí)驗(yàn)對(duì)比過程中,其它網(wǎng)絡(luò)模型實(shí)驗(yàn)布局和實(shí)驗(yàn)參數(shù)相同。
在本章的小節(jié)中,通過實(shí)驗(yàn)研究來評(píng)估所提出模型的性能。實(shí)驗(yàn)總共包括三組:實(shí)驗(yàn)一分析了本文識(shí)別系統(tǒng)的識(shí)別結(jié)果,實(shí)驗(yàn)二測(cè)試雙向網(wǎng)絡(luò)模型下輸入不同聲學(xué)特征的識(shí)別效果,實(shí)驗(yàn)三比較在各模型下訓(xùn)練所需的時(shí)間。
3.2.1 實(shí)驗(yàn)一:基于BiSGRU模型性能對(duì)比
選用Fbank作為輸入特征,從表1可以看到循環(huán)神經(jīng)網(wǎng)絡(luò)的效果總體要比DNN的效果要好,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的效果要優(yōu)于普通循環(huán)神經(jīng)網(wǎng)絡(luò),因?yàn)殡p向循環(huán)神經(jīng)網(wǎng)絡(luò)可以更好的結(jié)合上下文語義時(shí)序信息。本文BiSGRU模型的詞錯(cuò)誤率為17.37%,與BiLSTM、BiGRU模型相比,詞錯(cuò)誤率分別下降0.88%、0.81%;比基線DNN、標(biāo)準(zhǔn)的LSTM、GRU模型詞錯(cuò)誤率下降2.34、1.21%、1.25%,可見本文模型識(shí)別性能要優(yōu)于其它網(wǎng)絡(luò)模型。
表1 不同模型下的詞錯(cuò)誤率( % ) 對(duì)比
3.2.2 實(shí)驗(yàn)二:不同輸入特征性能對(duì)比實(shí)驗(yàn)
由于雙向的模型效果要好,以下實(shí)驗(yàn)循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)均采用一種雙向模型進(jìn)行比較。分別選用MFCC、Fbank、fMLLR三種不同的輸入特征繼續(xù)對(duì)比,從表2可以看出,BiSGRU模型最好的輸入特征是fMLLR,可以得到最好的識(shí)別效果,詞錯(cuò)誤率為17.18%,fMLLR特征總體識(shí)別性能要比MFCC和Fbank效果要好。
表2 不同輸入特征深度循環(huán)網(wǎng)絡(luò)對(duì)比(%)
這是由于MFCC特征是要經(jīng)過離散余弦變換(DCT),會(huì)丟失語音信號(hào)中原本的一些高度非線性成分。在深度學(xué)習(xí)方法中,由于神經(jīng)網(wǎng)絡(luò)對(duì)高度相關(guān)的信息不敏感,MFCC不是最優(yōu)選擇,F(xiàn)bank特征更多是希望符合聲音信號(hào)的本質(zhì),擬合人耳的接收特性,經(jīng)過實(shí)際驗(yàn)證,其在神經(jīng)網(wǎng)絡(luò)中的表現(xiàn)也明顯不如Fbank。fMLLR是一種作用于特征向量之上的仿射變換后的特征,其目的是使變換后的特征更好地適應(yīng)模型。在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,每個(gè)說話人對(duì)應(yīng)的fMLLR變換歸一化后的特征盡量去除了說話人個(gè)性的部分,只盡量保留了最一般的與語音內(nèi)容有關(guān)的特征,所以上層的聲學(xué)模型可以用更少的參數(shù)更容易的進(jìn)行建模,很好的反應(yīng)了當(dāng)前說話人的特征,因此fMLLR特征要優(yōu)于MFCC和Fbank特征。
3.2.3 實(shí)驗(yàn)三:改進(jìn)模型訓(xùn)練時(shí)間對(duì)比
實(shí)驗(yàn)三通過比較不同模型訓(xùn)練每個(gè)epoch的平均時(shí)間,從表3可以看出SGRU相比于GRU模型訓(xùn)練時(shí)間降低了23.5%;而BiSGRU與BiLSTM、BiGRU模型比較,訓(xùn)練時(shí)間分別降低13.4%、9.7%??梢缘贸龈倪M(jìn)模型的訓(xùn)練時(shí)間相比較更短,這是得益于模型的結(jié)構(gòu)。由于用的實(shí)驗(yàn)室的硬件配置有限,選用配置更好的服務(wù)器模型訓(xùn)練時(shí)間將會(huì)更少。
表3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練平均訓(xùn)練時(shí)間
本文研究了一種雙向改進(jìn)門控神經(jīng)單元聲學(xué)模型為基礎(chǔ)的維吾爾語語音識(shí)別方法,該模型移除了重置門,在單門結(jié)構(gòu)采用了ReLU激活函數(shù)并于在前饋連接層采用了Batch Normalization方法有效結(jié)合。這種單門架構(gòu)結(jié)構(gòu)不僅比傳統(tǒng)門控循環(huán)單元結(jié)構(gòu)簡(jiǎn)單,并且使得模型訓(xùn)練時(shí)間大大減少。通過在 THUYG-20 維吾爾語語音語料庫上的實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的基線深度神經(jīng)網(wǎng)絡(luò)模型相比絕對(duì)詞錯(cuò)誤率下降2.34%,與傳統(tǒng)的雙向LSTM相比每個(gè)迭代周期的平均訓(xùn)練時(shí)間降低13.4%。通過實(shí)驗(yàn)對(duì)比了不同輸入特征對(duì)不同神經(jīng)網(wǎng)絡(luò)的影響,BiSGRU選用fMLLR作為神經(jīng)網(wǎng)絡(luò)的輸入特征最好,相對(duì)的詞錯(cuò)誤率為17.18%。接下來融合不同的聲學(xué)特征進(jìn)行研究,并嘗試不同的網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn)。