黃曉輝,李 京
(1. 中國科學(xué)技術(shù)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,安徽 合肥 230027;2. 解放軍外國語學(xué)院 河南 洛陽 471003)
藏語屬于漢藏語系的藏緬語族藏語支,存在歷史悠久,使用人口眾多[1-2],廣泛分布于我國西藏、青海、甘肅、四川,以及尼泊爾、印度、巴基斯坦等藏族聚集地區(qū)[3]。藏語語音識別技術(shù)的發(fā)展,可有效解決藏區(qū)與其他地區(qū)之間的語言溝通障礙,促進民族間交流,增進相互了解,支援藏區(qū)經(jīng)濟、科技、文化等領(lǐng)域的發(fā)展。與漢語、英語等大語種相比,藏語不僅使用人數(shù)少,且大多分布于經(jīng)濟欠發(fā)達地區(qū),科教水平相對落后,因此在語音處理技術(shù)方面要滯后很多,直到 2005 年才有研究者開始關(guān)注藏語語音識別技術(shù)的研究[4]。目前,針對藏語語音識別的研究也取得了一些成果,如楊陽蕊等借鑒漢語連續(xù)語音語料庫構(gòu)建方法,分別建立了基于半音節(jié)和三音素模型的藏語連續(xù)語音語料庫,為藏語語音識別提供了基礎(chǔ)數(shù)據(jù)支撐[5];李冠宇、孟猛基于隱馬爾可夫模型(hidden markov model,HMM)構(gòu)建藏語單音子和三音子模型,分別以音素和聲韻母作為識別基元進行了實驗,驗證了基于GMM-HMM的聲學(xué)模型應(yīng)用于藏語大詞表連續(xù)語音識別的可行性[6]。近年來,深層神經(jīng)網(wǎng)絡(luò)的應(yīng)用使語音識別的各項指標(biāo)得到了明顯提升,在英語、漢語等大語種的某些應(yīng)用領(lǐng)域已進入實用階段。深度神經(jīng)網(wǎng)絡(luò)相較傳統(tǒng)GMM-HMM模型的優(yōu)勢已經(jīng)在實驗室環(huán)境下和實際應(yīng)用中得到了驗證[7]。目前,在藏語語音識別方面也有基于深度神經(jīng)網(wǎng)絡(luò)的研究成果,如王輝、趙悅等利用深度神經(jīng)網(wǎng)絡(luò)進行特征學(xué)習(xí),將學(xué)習(xí)到的特征輸入HMM模型,在藏語音素識別和孤立詞識別上取得了明顯優(yōu)于GMM-HMM模型的性能[8];袁勝龍、郭武等基于遷移學(xué)習(xí)的思想,先在大規(guī)模漢語語料上訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型,再將網(wǎng)絡(luò)隱含層共享,在小規(guī)模藏語語料上進行訓(xùn)練調(diào)優(yōu),一定程度上解決了藏語語料資源匱乏導(dǎo)致的模型訓(xùn)練不充分問題[9]。從目前來看,將深層神經(jīng)網(wǎng)絡(luò)應(yīng)用于藏語語音識別已經(jīng)成為藏語語音處理技術(shù)發(fā)展的必然趨勢。
隨著計算設(shè)備性能的提升和數(shù)據(jù)量的快速增長,各種神經(jīng)網(wǎng)絡(luò)模型不斷涌現(xiàn)。如Alex Graves等基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型和連接時序分類(connectionist temporal classification,CTC)算法分別在TIMIT語料庫和WSJ語料庫上取得了目前最優(yōu)的音素和單詞識別率[10-11];William Song等基于深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型和CTC算法構(gòu)建聲學(xué)模型,其訓(xùn)練效率相較Alex的RNN-CTC模型有大幅提升,而在TIMIT上取得的音素識別率僅略低于Alex的模型[12]。在工業(yè)界,百度、科大訊飛等知名IT企業(yè)相繼報道了各自基于RNN和CTC模型構(gòu)建的中文語音識別系統(tǒng)框架。以上成果說明,深度RNN模型和CTC算法在英文和中文語音處理技術(shù)上的卓越性能已經(jīng)在學(xué)術(shù)界和工業(yè)界得到驗證。然而受制于藏語語料資源匱乏及研究基礎(chǔ)薄弱等問題,深度RNN模型在藏語語音識別上的應(yīng)用尚未得到深入探索,目前也未見到相關(guān)的公開報道。因此,本文結(jié)合藏語語音的特點,研究將RNN應(yīng)用于藏語語音識別聲學(xué)建模的方法,結(jié)合RNN和CTC構(gòu)建端到端的聲學(xué)模型以驗證RNN模型應(yīng)用于藏語語音識別的可行性。同時本文根據(jù)藏語語音識別聲學(xué)模型的特點,引入時域卷積方法對網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,在識別性能相當(dāng)?shù)那闆r下有效提高了模型的訓(xùn)練和解碼速度,這也是本文最主要的創(chuàng)新點。實驗結(jié)果顯示,基于RNN和CTC的端到端聲學(xué)模型在藏語拉薩話音素識別任務(wù)上的性能要優(yōu)于傳統(tǒng)的GMM-HMM模型,而引入時域卷積約簡優(yōu)化的聲學(xué)模型在具有同等識別性能的條件下,還具有更高的訓(xùn)練速度和解碼效率。
RNN是一種隱含層具有自連接關(guān)系的深層神經(jīng)網(wǎng)絡(luò),隱含層的自連接特性使其對序列數(shù)據(jù)上下文依賴關(guān)系具有天然的描述能力,是建模序列數(shù)據(jù)的有效方法[13],其基本架構(gòu)如圖1所示。
圖1 RNN的結(jié)構(gòu)特點
RNN輸入層表示樣本的輸入特征,輸入層神經(jīng)元個數(shù)即輸入數(shù)據(jù)特征維數(shù)。輸入特征經(jīng)加權(quán)求和后進入中間的隱含層;隱含層具有自連接特性,其輸入由輸入層和上一時刻該隱含層的輸出共同構(gòu)成,經(jīng)激活函數(shù)激活后進入輸出層及下一時刻的隱含層。如果將多個隱含層進行堆疊,即可構(gòu)成深層的RNN模型。RNN的輸出層是一個分類層,其中的每個神經(jīng)元代表一個類別,每個神經(jīng)元的輸出值表示輸入樣本屬于該類別的后驗條件概率。不難看出,RNN實際上是一個包含特征、空間及時間的三維網(wǎng)絡(luò),其中時間維度上的展開步數(shù)等于輸入序列的長度,但任意時刻網(wǎng)絡(luò)的權(quán)值是恒定的。數(shù)據(jù)進入RNN隱含層的計算過程如式(1)~(2)所示。
其中xt為t時刻的網(wǎng)絡(luò)輸入,H為隱含層激活函數(shù)(通常為非線性函數(shù),如sigmoid函數(shù)),O代表輸出層分類函數(shù)(如softmax函數(shù)),yt為t時刻網(wǎng)絡(luò)的輸出值。權(quán)值Wxh、Whh、Who及偏置項bh、bo是需要通過訓(xùn)練來優(yōu)化的網(wǎng)絡(luò)參數(shù)。
RNN通常采用基于梯度的訓(xùn)練方法,由于時域展開步數(shù)較長,梯度在回傳過程中通常存在逐漸消失問題,因而在實際應(yīng)用中普通RNN無法捕獲時序數(shù)據(jù)內(nèi)部的長距離依賴關(guān)系[14]。長短時記憶單元(long-Short term memory,LSTM)是RNN的一種變體,其在神經(jīng)元內(nèi)部加入三個門函數(shù)和一個存儲單元,從而能夠有效地控制神經(jīng)元的輸入、存儲及輸出[15],其內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 LSTM的結(jié)構(gòu)特點
LSTM神經(jīng)元的輸入與輸出關(guān)系可以通過式(3)~(7)表示。
其中σ為激活函數(shù),i、f、o及c分別對應(yīng)輸入門、忘記門、輸出門及存儲單元。由于門函數(shù)和存儲元的存在,LSTM網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對輸入信息流的控制,緩解訓(xùn)練過程中的梯度消失問題。另外,傳統(tǒng)RNN是單向展開,因此只能利用歷史信息,而語音識別是對整個序列的轉(zhuǎn)寫,當(dāng)前語音幀后面的上下文信息對當(dāng)前幀也有影響,因此雙向RNN(Bi-RNN,Bidirectional RNN)通過兩個獨立的隱含層來處理前向和后向數(shù)據(jù),之后同時進入輸出層,可有效解決該問題。雙向RNN隱含層的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 雙向RNN隱含層的網(wǎng)絡(luò)結(jié)構(gòu)
雙向RNN隱含層的計算過程如式(8)所示。
(8)
將雙向RNN與LSTM單元相結(jié)合就構(gòu)雙向LSTM網(wǎng)絡(luò)(Bi-LSTM,Bidirectional-LSTM),再堆疊多個Bi-LSTM層即可構(gòu)成深層的Bi-LSTM網(wǎng)絡(luò),從而充分利用上下文時序信息進行語音識別建模。
CTC通過對目標(biāo)序列和輸入序列的對齊分布進行建模[16],免去了人工實現(xiàn)的單個聲學(xué)基元與語音學(xué)目標(biāo)基元的對齊操作,從而實現(xiàn)端到端的聲學(xué)模型訓(xùn)練。CTC基于softmax分類層實現(xiàn),該分類層包含所有的類別節(jié)點和一個空節(jié)點,其中空節(jié)點對應(yīng)空格輸出。對于一個長度為T的輸入序列x,網(wǎng)絡(luò)在t時刻輸出目標(biāo)類別k(含空節(jié)點輸出)的概率值可表示為式(9)。
(9)
(10)
對于目標(biāo)序列y,可以有多個CTC輸出序列π與之對應(yīng)。例如,當(dāng)輸入序列長度為6而對應(yīng)目標(biāo)序列為(a,b,c)時,相應(yīng)的CTC輸出序列可以是(a,_,b,c,c,_)或(_,a,a,_b,c)等。因此有式(11)的對應(yīng)關(guān)系。
(11)
其中β是從π到y(tǒng)的映射,該映射先合并相鄰重復(fù)出現(xiàn)的類,再去除空類。上式可通過動態(tài)規(guī)劃算法計算并且求導(dǎo)。在給定輸入序列x及對應(yīng)目標(biāo)序列y*的情況下,CTC訓(xùn)練的最終目標(biāo)是讓網(wǎng)絡(luò)輸出y*的概率最大化,也即概率的負對數(shù)值最小化,因此設(shè)定目標(biāo)函數(shù)如式(12)所示。
CTC(x)=-logPr(y*|x)
(12)
經(jīng)過訓(xùn)練之后的網(wǎng)絡(luò)即可應(yīng)用于語音樣本的預(yù)測,CTC最終輸出一個T行N列的概率矩陣,其中T為輸入序列長度,N為分類器的類別數(shù),該矩陣可采用定向搜索算法來找出概率最大的音素序列。
RNN模型的復(fù)雜度主要由網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)、縱向深度和橫向展開步數(shù)決定,其中縱向深度就是堆疊的隱含層個數(shù)。隱含層的神經(jīng)元個數(shù)及堆疊的隱含層數(shù)決定了模型對輸入數(shù)據(jù)高層特征的抽象能力,神經(jīng)元個數(shù)越多,堆疊層數(shù)越多,特征提取能力越強,這已經(jīng)在實驗中得到廣泛的驗證。隱含層的橫向展開步數(shù)是網(wǎng)絡(luò)訓(xùn)練與解碼的重要影響因素。傳統(tǒng)RNN-CTC模型,各隱含層橫向展開步數(shù)等于輸入序列的長度,最終的CTC輸出序列也與輸入序列等長。這種結(jié)構(gòu)理論上完整保留了序列的上下文依賴關(guān)系,卻也帶來了網(wǎng)絡(luò)訓(xùn)練時梯度回傳慢、梯度易消失等問題。同時針對CTC輸出通常使用定向搜索算法進行解碼,其搜索空間大小與輸出序列的長度呈指數(shù)增長關(guān)系,因此網(wǎng)絡(luò)輸出序列長度也是影響語音解碼效率的重要因素。從藏語語音識別的聲學(xué)模型來看,輸入的語音幀與其目標(biāo)序列中所對應(yīng)的語音學(xué)基元(如音素)是多對一的關(guān)系,即多個連續(xù)語音幀對應(yīng)著同一個藏語音素,因此本文提出引入時域卷積的循環(huán)神經(jīng)網(wǎng)絡(luò)模型RNN-TimeConv-CTC,即在循環(huán)神經(jīng)網(wǎng)絡(luò)隱含層的輸出序列之上進行時域的卷積操作,以期在不影響識別率的前提下,逐層減少網(wǎng)絡(luò)隱含層的時域展開步數(shù),從而簡化網(wǎng)絡(luò)結(jié)構(gòu),加速網(wǎng)絡(luò)訓(xùn)練與解碼,其結(jié)構(gòu)如圖4所示。
圖4 引入時域卷積的RNN隱含層
圖中h1為多層RNN中的一個隱含層,h2為相鄰的下一個隱含層,對應(yīng)的下標(biāo)為時域的展開步。相鄰兩個隱含層的計算過程如式(13)所示。
(13)
其中win為時域卷積的窗口寬度(圖4中值為3),stride為相鄰兩個卷積操作的時間跨度(圖4中值為2),Wi為時域共享的權(quán)值,是需要訓(xùn)練的參數(shù)。引入時域卷積的RNN,其相鄰隱含層的時域展開步數(shù)將不再相同,而是存在一定的比例關(guān)系,該比例關(guān)系由stride的大小決定。假設(shè)l層的時域展開步數(shù)為Tl,則相鄰的l+1層時域展開步數(shù)如式(14)所示。
(14)
為驗證基于RNN-CTC的藏語語音識別聲學(xué)模型的可行性和優(yōu)越性,本文設(shè)置GMM-HMM模型作為基準(zhǔn)參考模型,采用已經(jīng)在TIMIT語料庫上得到驗證的深層Bi-LSTM-CTC模型作為測試模型,同時基于該模型設(shè)置時域卷積層,構(gòu)建RNN-TimeConv-CTC模型以驗證引入時域卷積的深層RNN模型在藏語語音識別上的高效性。測試模型的整體架構(gòu)如圖5所示。
圖5 藏語語音識別聲學(xué)模型架構(gòu)
為保證所有模型訓(xùn)練環(huán)境的一致性,本文所有實驗全部在安裝Linux操作系統(tǒng)的同一臺高性能服務(wù)器上完成,并基于Google開源深度學(xué)習(xí)庫Tensorflow構(gòu)建神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練與測試,同時配置NVIDIA的GPU卡進行加速。
實驗所用藏語語音庫為解放軍外國語學(xué)院自建的藏語拉薩話語音語料庫,其中語音數(shù)據(jù)采用單通道16kHz采樣,16位PCM量化,存儲為wav格式,共計49.6h語音數(shù)據(jù)。所選語料來源于藏語教學(xué)過程中使用的錄音廣播、閱讀教材、新聞?wù)翱谡Z練習(xí)材料,共包含3 160個音素覆蓋平衡的藏文語句。錄音文件由16名說話者分別朗讀產(chǎn)生。由于藏語為音素拼音型語言,即由音素組合構(gòu)成聲母和韻母形成半音節(jié),再由聲韻母組合加上音調(diào)構(gòu)成一個音節(jié)。因此,音素是藏語語音學(xué)上的最小發(fā)音基元,基于藏語音素進行聲學(xué)建模是目前典型的建模方法。根據(jù)對藏語語音學(xué)的深入研究和統(tǒng)計分析,本文所用語料庫共設(shè)置了41個音素標(biāo)注基元,其中輔音音素28個,元音音素13個,所有音素的拉丁轉(zhuǎn)寫和國際音標(biāo)如表1所示。
表1 拉薩話語音語料庫音素單元集
基于以上語音庫,實驗首先對所有語音序列進行預(yù)處理操作,包括預(yù)加重、分幀(幀長25 ms、幀移10 ms)及加窗(漢明窗),進而對每幀語音數(shù)據(jù)提取12維MFCC加對數(shù)能量,以及對應(yīng)的一階、二階差分,共39維特征參數(shù)。實驗過程中,本文選取部分錄音文件作為驗證集和測試集,其余作為訓(xùn)練集,其中驗證集和測試集對所有的音素都有均衡的覆蓋。最終產(chǎn)生的驗證集包含3.4h的語音數(shù)據(jù),測試集包含2.5h的語音數(shù)據(jù)。
實驗設(shè)置GMM-HMM模型作為基準(zhǔn)參考模型,對41個藏語音素、靜音段及停頓進行建模,其中音素和靜音段采用三狀態(tài)HMM,停頓采用單狀態(tài)HMM。HMM中的每個狀態(tài)都使用25個獨立的高斯分量,基于最大似然估計法進行訓(xùn)練。RNN-CTC模型采用深度Bi-LSTM-CTC模型(架構(gòu)如圖5實線矩形框所示),采用三個雙向隱含層堆疊,每個隱含層兩個方向各包含512個節(jié)點,最后一個隱含層兩個方向同一時刻的輸出通過加權(quán)求和轉(zhuǎn)換為一個512維輸出向量,進入CTC分類層。CTC分類層包含42個類別節(jié)點,分別對應(yīng)41個音素和一個空輸出。隱含層神經(jīng)元設(shè)置為Sigmoid型,采用隨機梯度下降算法訓(xùn)練網(wǎng)絡(luò),訓(xùn)練時樣本序列Minibatch設(shè)為512,學(xué)習(xí)率設(shè)為0.001,以CTC解碼序列和目標(biāo)序列的Levenshtein編輯距離作為差異度量,并將其與真實音素序列長度的比值作為衡量識別準(zhǔn)確度的指標(biāo),記為PER(phone error rate)。顯然,PER越小則識別結(jié)果越準(zhǔn)確,模型越好,反之則識別結(jié)果越差,模型越不好。表2列出了GMM-HMM和Bi-LSTM-CTC模型的性能對比。
表2 不同模型的識別性能對比
可以看出,相較GMM-HMM模型35.24%的音素錯誤率,Bi-LSTM-CTC模型的性能有顯著提高,PER下降到了26.31%,證明了Bi-LSTM-CTC模型在藏語語音識別聲學(xué)建模上的優(yōu)越性能。通過分析不難發(fā)現(xiàn),之所以有如此顯著的性能提升,主要得益于深層RNN對語音序列時序依賴關(guān)系的建模,以及CTC算法對序列學(xué)習(xí)過程的建模。RNN隱含層的自連接關(guān)系可以建模藏語語音的時序關(guān)聯(lián)關(guān)系,而Bi-RNN使未來的時序信息也能得到利用,從而實現(xiàn)語音序列上下文關(guān)系的完整建模。同時,LSTM單元能夠緩解模型訓(xùn)練過程中的梯度消失問題,從而使整個網(wǎng)絡(luò)模型能夠最大程度的利用藏語語音序列的上下文信息對當(dāng)前輸入進行分類。相比之下,GMM-HMM基于一階隱馬爾可夫假設(shè)對語音信號進行建模,只能利用極其有限的歷史信息,并且對未來信息沒有任何考慮,因此對語音序列上下文信息的捕捉能力很弱,其識別性能自然較差。另外,基于GMM-HMM的建模方法要求輸入序列中的每個特征向量都有一個對應(yīng)的目標(biāo)類,即要為訓(xùn)練集中的每個語音幀標(biāo)注一個語音學(xué)音素狀態(tài),該過程通常需人工辨聽切分才能完成。然而由于真實藏語語音序列的時變特性及音素協(xié)同發(fā)音現(xiàn)象的普遍存在,語音幀與音素的對齊關(guān)系具有較大的不確定性,人工標(biāo)記方法必然會引入噪聲,因而在真實應(yīng)用中單個語音幀識別精度的提高并沒有帶來整個語音序列識別率同等程度的提高。CTC通過對目標(biāo)序列與輸入序列的對齊關(guān)系分布進行建模,直接從序列到序列進行訓(xùn)練,有效避免了人工對齊可能引入的標(biāo)記噪聲,從而實現(xiàn)端到端的識別,更加符合語音識別的真實過程,因而能夠帶來整個音素序列識別率的提升。
引入時域卷積的RNN-TimeConv-CTC模型以3.2節(jié)中的Bi-LSTM-CTC模型為基準(zhǔn)模型(記做Bi-LSTM-TC-CTC),在其第二和第三隱含層的輸出序列(同一時刻兩個方向加權(quán)求和得到)上進行時域卷積操作(如圖5虛線梯型框所示),卷積窗口寬度win設(shè)為5,卷積時間跨度stride設(shè)為2,網(wǎng)絡(luò)初始權(quán)重、訓(xùn)練方法、Minibatch大小、學(xué)習(xí)率等訓(xùn)練參數(shù)都與基準(zhǔn)模型的訓(xùn)練參數(shù)相同,最終的訓(xùn)練和測試結(jié)果如表3所示。
表3 不同模型的訓(xùn)練和測試性能對比
從實驗結(jié)果可以看出,引入時域卷積的Bi-LSTM-TC-CTC模型,在模型收斂時的迭代次數(shù)較基準(zhǔn)模型Bi-LSTM-CTC下降了近100次,其訓(xùn)練速度得到明顯提升,而兩者在驗證集和測試集上的識別性能并無明顯差別,說明兩者對訓(xùn)練數(shù)據(jù)的擬合能力是相當(dāng)?shù)摹?/p>
通過分析實驗結(jié)果和網(wǎng)絡(luò)結(jié)構(gòu)的不同不難發(fā)現(xiàn),Bi-LSTM-TC-CTC模型訓(xùn)練效率的提升主要歸因于時域卷積操作的引入。時域卷積操作使Bi-LSTM網(wǎng)絡(luò)第三個隱含層的時域展開步數(shù)和輸出序列的長度分別約簡到原始網(wǎng)絡(luò)模型的1/2 和1/4,大大減少了網(wǎng)絡(luò)訓(xùn)練過程中梯度計算的回傳距離,從而有效加快了訓(xùn)練速度?;貍骶嚯x的減少,還使梯度消失問題得以緩解,從而使每輪迭代產(chǎn)生的參數(shù)更新更加有效,因而使用較少的迭代次數(shù)就能使模型達到最優(yōu)的狀態(tài)。同時,由于時域卷積操作針對連續(xù)的五個輸入向量進行特征抽象,能夠捕獲近距離內(nèi)的時序關(guān)聯(lián)關(guān)系,從而彌補了隱含層因跨步展開可能帶來的時序建模能力下降問題,因而在降低網(wǎng)絡(luò)復(fù)雜度的同時仍然能夠保證模型總體識別性能的穩(wěn)定。另外,在本實驗中,CTC輸出序列的長度也約簡到了普通網(wǎng)絡(luò)輸出序列長度的四分之一,對于音素識別解碼時所用的定向搜索解碼算法來講,其搜索空間的復(fù)雜度從搜索寬度的T次方下降到了T/4次方,整個模型的解碼速度自然也會得到明顯提升。
時域卷積時間跨度值stride是RNN-TC-CTC模型區(qū)別與傳統(tǒng)RNN模型的重要參數(shù),為了驗證stride設(shè)置對模型訓(xùn)練以及測試性能的影響,本文以表3中的三層Bi-LSTM-TC-CTC模型為基準(zhǔn),以網(wǎng)絡(luò)第3個隱含層的時域卷積stride值為變量,分別考查了6種stride值下的模型訓(xùn)練迭代次數(shù)Iterations和測試集上的PER值,如圖6所示。
圖6 卷積跨度stride對模型的影響
可以看出,當(dāng)stride值小于等于3時,訓(xùn)練迭代次數(shù)下降明顯,但測試集PER值相對穩(wěn)定,與基準(zhǔn)Bi-LSTM-CTC模型基本相當(dāng);而當(dāng)stride大于3時,訓(xùn)練迭代次數(shù)開始穩(wěn)定,但測試集PER值卻急劇上升。
以上現(xiàn)象主要是由輸入藏語語音特征與目標(biāo)音素之間的多對一映射關(guān)系所導(dǎo)致的。就藏語語音的發(fā)音來講,通常一個藏語音素的聲學(xué)發(fā)音會包含6~10個語音幀,也就是說輸入網(wǎng)絡(luò)的幾個連續(xù)語音幀通??赡軐?yīng)著同一個音素。傳統(tǒng)基于深層RNN的網(wǎng)絡(luò)模型,其每個隱含層的時域展開步數(shù)都等于輸入序列的長度,最終的輸出序列長度也等于輸入序列長度。實際上是為每個輸入特征預(yù)測了一個類別,其中同一個類別會連續(xù)出現(xiàn)多次,而在解碼時這些連續(xù)出現(xiàn)的相同類別會被合并為一個預(yù)測基元。經(jīng)過時域卷積之后,上層的網(wǎng)絡(luò)時域展開步數(shù)會減少,而減少的比例正是由stride值決定的。因此在相同的初始條件下,stride值越大,網(wǎng)絡(luò)約簡越多,模型越簡單,在網(wǎng)絡(luò)初始參數(shù)相同的情況下,訓(xùn)練過程中的收斂速度就可能越快。但是約簡的比例不能過高(如圖6中stride為3時,約簡的比例已達到6∶1),否則可能因映射關(guān)系過度簡化而造成網(wǎng)絡(luò)模型擬合數(shù)據(jù)分布能力不足,識別性能就會出現(xiàn)下降。因此合理的設(shè)置stride值才能保證在模型識別性能不變的情況,加速網(wǎng)絡(luò)的訓(xùn)練和解碼。
綜合理論分析和實驗結(jié)果可以看出,對于藏語語音識別聲學(xué)建模任務(wù)來講,基于深度Bi-LSTM-CTC的聲學(xué)模型要優(yōu)于傳統(tǒng)基于GMM-HMM的模型,而引入時域卷積操作的Bi-LSTM-TC-CTC模型,只要合理的設(shè)置stride值,就能夠在保持相同識別性能的前提下獲得更高的訓(xùn)練和解碼效率。
本文研究了基于深度RNN的藏語語音識別聲學(xué)建模問題,驗證了Bi-LSTM-CTC模型應(yīng)用于藏語語音聲學(xué)建模的可行性,并與傳統(tǒng)基于GMM-HMM的聲學(xué)模型進行了對比,驗證了其高效性。同時,針對深度RNN-CTC模型訓(xùn)練和解碼時受時域展開步長影響較大的問題,提出引入時域卷積操作的RNN-TimeConv-CTC模型,在保證原有識別率的前提下,有效約簡了網(wǎng)絡(luò)的時域展開步長,提高了模型的訓(xùn)練和解碼效率。需要說明的是,本文所做實驗是在自錄數(shù)據(jù)集上的初步結(jié)果,所選藏文音素標(biāo)注基元的穩(wěn)定性還有待進一步的驗證。另外,本文只是驗證了基于深層RNN的藏語語音識別聲學(xué)模型,如何基于該模型構(gòu)建完整的藏語語音識別系統(tǒng)也是本文后續(xù)研究工作的重點。
[1] 于洪志,高璐,李永宏,等.藏語機讀音標(biāo)SAMPA_ST的設(shè)計[J].中文信息學(xué)報,2012,26(4): 65-72.
[2] 陳小瑩,艾金勇,于洪志.藏語拉薩話單音節(jié)噪音聲學(xué)參數(shù)分析[J].中文信息學(xué)報,2015,29(3): 184-189.
[3] 德慶卓瑪.藏語語音識別研究綜述[J].西藏大學(xué)學(xué)報, 2010, 25(S1): 192-195.
[4] 姚徐,李永宏,單廣榮.藏語孤立詞語音識別系統(tǒng)研究[J].西北民族大學(xué)學(xué)報(自然科學(xué)版),2009,30(1): 29-36,50.
[5] 楊陽蕊,李永宏,于宏志.基于半音節(jié)的藏語連續(xù)語音語料庫設(shè)計[C]. 第十屆全國人機語音通訊學(xué)術(shù)會議暨國際語音語言處理研討會. 烏魯木齊: 新疆師范大學(xué)出版社,2009: 380-383.
[6] 李冠宇,孟猛.藏語拉薩話大詞表連續(xù)語音識別聲學(xué)模型研究[J].計算機工程,2012,38(5): 189-191.
[7] 戴禮榮,張仕良.深度語音信號與信息處理: 研究進展與展望[J].數(shù)據(jù)采集與處理,2014,29(2): 171-178.
[8] 王輝,趙悅,劉曉鳳.基于深度特征學(xué)習(xí)的藏語語音識別[J].東北師大學(xué)報(自然科學(xué)版),2015,47(4): 69-73.
[9] 袁勝龍,郭武,戴禮榮.基于深層神經(jīng)網(wǎng)絡(luò)的藏語識別[J].模式識別與人工智能,2015,28(3): 209-213.
[10] Graves A, Mohamed A,Hinton G. Speech recognition with deep recurrent neural networks[C]//Proceedings of ICASSP, 2013: 6645-6649.
[11] Alex Graves,Navdeep Jaitly. Towards end-to-end speech recognition with recurrent neural networks[C]//Proceedings of the 31st International Conference on Machine Learning(ICML-14),2014: 1764-1772.
[12] Song W, Cai J. End-to-end deep neural network for automatic speech recognition[R]. Technical Report CS224D, University of Stanford, 2015.
[13] Hochreiter Sepp, Schmidhuber Jurgen. Long short-term memory[J]. Neural Computation.1997, 9(8): 1735-1780.
[14] Yoshua Bengio, Patrice Simard, Paolo Frasconi. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Transactions on Neural Networks.1994,5(2): 157-166.
[15] Sak H,Vinyals O,Heigold G. Sequence discriminative distributed training of long short-term memory recurrent neural networks[C]//Proceedings of the Interspeech.2014: 1209-1213.
[16] Alex Graves, Santiago Ferna′ndez, Jurgen Schmidhuber. Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks[C]//Proceedings of the 23rd International Conference on Machine Learning,ACM,2006: 369-376.