王 一, 楊俊安, 劉 輝, 柳 林, 盧 高
1.電子工程學(xué)院404教研室,合肥230037
2.安徽省電子制約技術(shù)重點實驗室,合肥230037
3.科大訊飛公司,合肥230037
4.77108部隊52分隊,成都611233
音素識別是指將連續(xù)語音識別成對應(yīng)音素序列的過程[1],它作為現(xiàn)代語音識別技術(shù)的基本組成模塊,已廣泛應(yīng)用于語音識別的各個領(lǐng)域,如關(guān)鍵詞檢出(keyword spotting,KWS)、語種識別(language identif ication,LI)、說話人識別(speaker identif ication,SI)等.音素識別技術(shù)在關(guān)鍵詞檢出中的作用是將包含關(guān)鍵詞和非關(guān)鍵詞的語音轉(zhuǎn)化成相應(yīng)音素序列,然后通過在音素序列中滑動關(guān)鍵詞模板[2]或搜索對應(yīng)音素詞格網(wǎng)絡(luò)(phoneme lattice)[3]檢出關(guān)鍵詞.這一領(lǐng)域代表性的最新成果是點過程模型[2]以及基于連續(xù)大詞匯量語音識別(large vocabulary continuous speech recognition,LVCSR)的關(guān)鍵詞檢出系統(tǒng)[3].在基于音素識別技術(shù)的語種和說話人識別框架中,目標語種和說話人被具有區(qū)分性的音素模型分別表示,然后再利用這些已建立的模型與其他語種和說話人進行比對,以檢出對應(yīng)語種和說話人.利用音素識別技術(shù)的語種和說話人識別方法主要有并行音素識別(parallel phoneme recognition,PPK)、語種建模(languagemodel,LM)方法[4]和TRAPs(tempo RAl patterns,TRAPS)等[1].因此,有效的音素識別方法對推動整個現(xiàn)代語音識別技術(shù)的發(fā)展具有重要意義.
主流的音素識別系統(tǒng)主要有三部分組成,分別為特征提取、聲學(xué)模型建立、解碼[1].對于特征提取部分而言,它的主要功能是從輸入的原始語音中提取出有利于后續(xù)分類識別的語音特征.目前用于音素識別的特征主要有梅爾倒譜系數(shù)(mel-frequency cepstral coefficient,MFCC)、感知線性預(yù)測特征(perceptual linear predictive,PLP)以及差分倒譜參數(shù)(shifted delta cepstra,SDC)等.對于聲學(xué)模型部分,其主要作用是匹配輸入的語音特征,進而識別出對應(yīng)的語音單元(音素或詞等).主流的音素識別建模方法可以簡單歸納為兩大類:第一類是將高斯混合模型(gaussian mixturemodel,GMM)和隱馬爾科夫模型(hidden markov model,HMM)相結(jié)合的方法;另一類是將多層感知器(multilayer perceptron,MLP)和HMM相結(jié)合的音素建模方法[1].音素識別系統(tǒng)中的解碼器從獲得的語音單元中尋找出最有可能的語音單元排列方式,輸出識別結(jié)果,但這個過程需要語言模型的參與.本文研究的重點集中于前兩部分,即語音特征提取和聲學(xué)模型建立.
對于當前語音特征而言,它們在實際應(yīng)用中均存在著不足,如以MFCC和PLP等為代表的短時語音特征,它們的共同特點是每幀信號只包含20~30 ms語音.所含的語音段時長短,這就使得短時語音特征較易受到噪聲干擾,魯棒性差;而且反映音素間轉(zhuǎn)換的信息都包含在數(shù)十甚至上百毫秒的語音段內(nèi),這也導(dǎo)致短時語音特征無法對其進行有效利用.另外,傳統(tǒng)語音特征如SDC等都采用非監(jiān)督的提取方式,這就使得這些特征無法對類別信息進行有效利用.對于當前的聲學(xué)模型構(gòu)建方法,由于GMM、ANN等均屬于淺層結(jié)構(gòu)(shallow-structure)的建模方式,它們都存在著建模能力不足,無法對復(fù)雜的語音信號進行表征的問題[5];而且ANN等還存在容易陷入局部最優(yōu)的問題.上述缺陷限制了現(xiàn)有音素識別系統(tǒng)準確率的提升.
針對上述問題,由文獻[6]提出的深度信念網(wǎng)絡(luò)(deep belief network,DBN)為解決這些問題提供了新的思路.雖然從本質(zhì)上來說,DBN仍然是一種MLP,但它在原有神經(jīng)網(wǎng)絡(luò)監(jiān)督式回調(diào)(back propagation,BP)算法之前增加了非監(jiān)督的預(yù)訓(xùn)練過程,這個過程能夠?qū)⑸窠?jīng)網(wǎng)絡(luò)的初始值設(shè)置在一個最有可能達到全局最優(yōu)的范圍內(nèi),從而克服了困擾神經(jīng)網(wǎng)絡(luò)界多年的MLP容易陷入局部最優(yōu)的問題[5].不僅如此,DBN還被證明能夠有效利用其深度結(jié)構(gòu)(deepstructure)對自然界中的語音信號進行建模,且建模效果好于傳統(tǒng)淺層結(jié)構(gòu)的建模方法(一般認為,淺層結(jié)構(gòu)的建模方法包括隱馬爾科夫模型、條件隨機場和支持向量機等)[5].DBN已經(jīng)在語音識別領(lǐng)域得到了應(yīng)用,利用DBN構(gòu)架的瓶頸特征和音素分類器已經(jīng)在音素識別中的特征提取和聲學(xué)模型這兩個方面展現(xiàn)出優(yōu)于現(xiàn)有其他方法的特性.對于瓶頸特征來說,顧名思義,瓶頸的意思就是指DBN中位于最中間層(即瓶頸層)的神經(jīng)元個數(shù)相對于其他層要少得多,整個網(wǎng)絡(luò)結(jié)構(gòu)酷似一個瓶頸[7].相比于傳統(tǒng)語音特征,瓶頸特征具有諸多優(yōu)點:對輸入數(shù)據(jù)的內(nèi)部統(tǒng)計結(jié)構(gòu)和密度函數(shù)要求不嚴格,能將長時段語音信號拼接后使用;對發(fā)音人的說話方式、口音以及環(huán)境噪聲和傳輸設(shè)備差異魯棒性強;神經(jīng)網(wǎng)絡(luò)監(jiān)督式的訓(xùn)練方式使得輸出的瓶頸特征能夠包含類別信息,有利于后續(xù)的分類識別;瓶頸層的引入進一步降低了輸出特征的維度,從而減少了后續(xù)的運算量[7].而將DBN作為音素分類器主要是替代聲學(xué)模型建模方法中的GMM或ANN,用來產(chǎn)生HMM的觀察值概率矩陣.正如前文所述,由于DBN具有更強的建模能力,因此相對于傳統(tǒng)方法,利用DBN+HMM建模方法能夠更好地表征輸入的音素序列,用其進行音素識別的效果要好于原有方法[8-9].
現(xiàn)有的基于DBN的瓶頸特征和音素分類器仍有進一步提升性能的空間.而對于基于DBN的方法,提升性能最簡單和直接的方法就是通過增加DBN網(wǎng)絡(luò)的隱層數(shù)(即增加非線性運算單元的層數(shù))或每個隱層所含神經(jīng)元數(shù)來實現(xiàn).但是相關(guān)研究也發(fā)現(xiàn),大規(guī)模的增加隱層數(shù)目以及神經(jīng)元數(shù)目會導(dǎo)致整個神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間過長,而且當DBN中的隱層數(shù)和神經(jīng)元數(shù)目達到一定峰值后,再增加數(shù)目并不會提升識別性能[8-9].因此要進一步提升基于DBN的瓶頸特征和音素分類器的性能就需要從改變整個提取網(wǎng)絡(luò)的結(jié)構(gòu)組成上入手.本文將一種層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)架構(gòu)方式引入到基于DBN的提取網(wǎng)絡(luò)架構(gòu)中.基于層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)架構(gòu)方式由文獻[10-11]提出并應(yīng)用于音素和連續(xù)語音識別領(lǐng)域.層次結(jié)構(gòu)是指將兩個或多個MLP串聯(lián)后進行使用的一種網(wǎng)絡(luò)架構(gòu)方式,它的優(yōu)點在于能夠利用第1個MLP先對輸入的原始特征進行一次后驗概率估計,而得到的后驗概率特征一方面能夠有效減少說話人習(xí)慣、外界噪聲等對原始特征的影響;相比于原始輸入特征,后驗概率特征包含了更多的音位配列和發(fā)音信息:這些優(yōu)點使得基于層次結(jié)構(gòu)的MLP取得了相對于單個MLP更好的音素識別效果[10-11].因此,本文將這種網(wǎng)絡(luò)架構(gòu)方式應(yīng)用于DBN網(wǎng)絡(luò)的構(gòu)建中.
綜上所述,本文受層次結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)方式和DBN的雙重啟發(fā),將這兩種音素識別領(lǐng)域的最新研究成果相結(jié)合,提出了一種基于層次結(jié)構(gòu)DBN的音素識別方法,將特征提取和聲學(xué)模型有效地結(jié)合在一起.它在網(wǎng)絡(luò)結(jié)構(gòu)上由3個DBN串聯(lián)而成的,其中前兩個DBN的作用是從11幀拼接而成的長時段語音中提取出瓶頸特征,后一個DBN利用得到的后驗概率特征對音素進行識別,輸出音素后驗概率到HMM中.基于本文方法的音素識別系統(tǒng)結(jié)構(gòu)框圖如圖1所示,其中虛線框中的部分是本文完成的工作,下文將其統(tǒng)稱為基于層次結(jié)構(gòu)DBN的音素識別器.
圖1 基于層次結(jié)構(gòu)DBN的音素識別系統(tǒng)原理框圖Figure 1 Schematic representation of hierarchical DBN based phoneme recognition system
本文提出基于層次結(jié)構(gòu)DBN的音素識別器的初衷是充分利用DBN能夠處理較長時間段語音的特點,將包含更多音素間轉(zhuǎn)換信息的11幀拼接MFCC作為輸入特征,然后將其轉(zhuǎn)化為低維且包含監(jiān)督信息的瓶頸特征,送入具有更強非線性建模能力的DBN分類器中輸出音素的后驗概率特征,從而達到較好的音素識別效果.在實驗部分,利用本文提出的基于層次結(jié)構(gòu)DBN的音素識別器構(gòu)建了新的音素識別系統(tǒng),該系統(tǒng)在TIMIT數(shù)據(jù)庫上進行了實驗,結(jié)果表明本文方法得到的音素錯誤率(phoneme error rate,PER)降低到18.5%,低于其他對比系統(tǒng).
一個標準的DBN結(jié)構(gòu)圖如圖2所示.DBN本質(zhì)上仍然是一種MLP,但與傳統(tǒng)MLP不同的是:它是由一系列受限波爾茲曼機(restricted Boltzmann machine,RBM)疊加而成的.
圖2 DBN的結(jié)構(gòu)圖Figur e 2 Schematic representation of DBN
一個典型的RBM子模塊結(jié)構(gòu)圖如圖3所示,它是由兩層神經(jīng)元構(gòu)成的:其中一層是顯層神經(jīng)元vi(一般為伯努利型或高斯型),另一層為隱層神經(jīng)元hj(一般為伯努利型).顯層神經(jīng)元和隱層神經(jīng)元之間相互連接,但同一層之間沒有連接.各層間的連接系數(shù)和偏置量是采用無監(jiān)督的貪心算法獲取的,對于一個簡單的伯努利-伯努利RBM來說,它的能量函數(shù)可以表示為
圖3 RBM子模塊模型Figure 3 Submodule model of RBM
式中,vi和hj分別為RBM中的顯層和隱層神經(jīng)元,wij為顯層和隱層神經(jīng)元之間的連接系數(shù),bi和aj為對應(yīng)的偏置量.由式(1)可以得到對應(yīng)于顯層神經(jīng)元和隱層神經(jīng)元的相應(yīng)映射概率分布為
式中,的σ是sigmoid激勵函數(shù).由于伯努利-伯努利RBM不能很好地對自然界的真實數(shù)據(jù)如語音進行建模,在實際應(yīng)用中一般采用高斯-伯努利RBM對語音進行建模,高斯-伯努利RBM的能量函數(shù)可以表示為式中,vi為真實數(shù)據(jù)(如語音),σi為控制能量函數(shù)寬度的參數(shù).由式(4)同樣可以得到對應(yīng)于顯層神經(jīng)元和隱層神經(jīng)元的概率分布為
式中,σ是sigmoid激勵函數(shù).利用梯度下降法計算對數(shù)似然概率lg p(v,h;θ),可以推導(dǎo)出RBM的系數(shù)更新公式為
式中,(~)表示由CD算法獲得的對vi的估計值.通過式(8)~(10)這樣一個非監(jiān)督的預(yù)訓(xùn)練過程就可以將一個RBM調(diào)整到合適的初始值,然后再將多個RBM自底向上組合就可以建立起一個DBN,最后采用BP算法對整個網(wǎng)絡(luò)進行監(jiān)督式學(xué)習(xí),最終建立DBN.DBN的訓(xùn)練方式與傳統(tǒng)MLP訓(xùn)練方法最大的不同是它能夠利用非監(jiān)督的預(yù)訓(xùn)練將神經(jīng)網(wǎng)絡(luò)的初始值設(shè)定到最優(yōu)值附近,這個過程能夠最大限度地避免局部最優(yōu)解.文獻[5-6]給出了預(yù)訓(xùn)練能夠有效避免局部最優(yōu)解的詳細證明.
一個完整的基于層次結(jié)構(gòu)DBN的音素識別器如圖4所示.它是由3個DBN串聯(lián)而成的.其中第1個和第2個DBN用來產(chǎn)生后驗瓶頸特征,第3個DBN則利用后驗瓶頸特征估計出音素的后驗概率.本節(jié)分別介紹基于層次結(jié)構(gòu)DBN的后驗瓶頸特征產(chǎn)生網(wǎng)絡(luò)和基于DBN的音素分類器對應(yīng)的DBN結(jié)構(gòu)和訓(xùn)練方式.
圖4 基于層次結(jié)構(gòu)深度信念網(wǎng)絡(luò)的音素識別器Figure 4 Topology of hierarchical DBN based phoneme recognizer
本文通過將2個DBN串聯(lián)的方式獲得后驗瓶頸特征.這2個DBN的功能各有不同,第1個DBN用來對輸入的原始特征進行后驗概率估計;第2個DBN將第1個DBN輸出的后驗概率特征進行降維和增加判決性處理,提取最終的后驗概率瓶頸特征.相比于傳統(tǒng)的使用單個MLP或DBN來提取瓶頸特征的方法,使用兩個DBN的優(yōu)勢主要在于它在提取瓶頸特征之前利用第1個DBN提前進行了一次后驗概率估計,這個過程已被證明不僅能有效避免隨后的音素后驗概率估計誤差,還能將特征投影到后驗概率空間中,從而最大程度地去除背景噪聲、說話人方言等對語音特征的影響,文獻[12]已通過大量實驗證明了這種層次結(jié)構(gòu)的后驗瓶頸特征方法對于連續(xù)語音識別任務(wù)的有效性.因此,本文也采用將兩個DBN串聯(lián)的方式提取后驗瓶頸特征.
第1個DBN的訓(xùn)練過程與其他應(yīng)用于語音識別任務(wù)的DBN訓(xùn)練非常相似[8-9],唯一的區(qū)別就在于本文使用的輸入特征是11幀拼接的長時段語音特征.獲得11幀長時段語音特征的具體做法是將一幀特征的前后各5幀按順序連接后作為單個特征使用.本文使用11幀拼接的語音特征作為輸入特征有兩方面的原因:一是因為長時間段的語音特征能夠提供更豐富的音素間轉(zhuǎn)移、變化信息,相比于單幀特征包含了更多語音信息[10-11],這對于提高后續(xù)的音素識別率具有很大幫助;二是根據(jù)文獻[13]的成果,DBN相對于傳統(tǒng)聲學(xué)模型建模方法的一大優(yōu)勢,就在于其可以有效利用較長時間段的語音特征,而且使用長時段語音特征的DBN,識別效果明顯好于使用短時語音特征.本文采用43維的MFCC作為輸入的單幀特征,43維MFCC包含了39維的MFCC特征(靜態(tài)、一階、二階差分)以及4維的音調(diào)特征.因此,輸入特征維度以及輸入層的神經(jīng)元數(shù)目均為473(43×11).為此,第1個DBN的網(wǎng)絡(luò)結(jié)構(gòu)可以表示成473-[1024-1024-1024-1024-1024]-473的形式,其中在[]中的數(shù)字表示了DBN中的隱層.
第1個DBN的輸出將作為第2個DBN的輸入特征使用.而第2個DBN的網(wǎng)絡(luò)結(jié)構(gòu)被設(shè)置成對稱形式,最中間的瓶頸層神經(jīng)元數(shù)目要遠小于其他層,而在訓(xùn)練完畢后,瓶頸層之后的各層被去除(即圖4虛線框中部分),瓶頸特征由第2個DBN的瓶頸層輸出.之所以采用這種在整個DBN訓(xùn)練完成后再去除多余層的方法,而非直接將瓶頸層作為輸出層使用,主要有兩方面的原因:一是相關(guān)研究已經(jīng)證明了當輸出層的神經(jīng)元數(shù)目較多時,它對類別信息的利用更加準確和有效[14];二是通過實驗發(fā)現(xiàn),當將瓶頸層設(shè)置在整個DBN的中間時,通過BP算法往回傳遞類別信息的效果好于網(wǎng)絡(luò)的輸出層,也即將瓶頸層設(shè)置于DBN中間的方式能夠獲得更多利于分類的信息.因此,本文將瓶頸層設(shè)置于第2個DBN的最中間.為此,第2個DBN的網(wǎng)絡(luò)結(jié)構(gòu)可以表示成473-[2048-1024-43-1024-2048]-473的形式,同時為了取得最佳的識別效果,本文根據(jù)文獻[9],將瓶頸層神經(jīng)元數(shù)目設(shè)置為43個,即等同于初始的輸入MFCC特征.
通過前兩個DBN得到后驗瓶頸特征之后,第3個DBN的作用是將得到的包含265 ms語音信息的后驗瓶頸特征轉(zhuǎn)化成對應(yīng)的音素后驗概率.第3個DBN的結(jié)構(gòu)可以表征為43-[1024-1024-1024-1024-1024]-183的形式,其中的輸入層神經(jīng)元對應(yīng)于43維瓶頸特征,輸出層采用183個神經(jīng)元組成.
在第3個DBN的輸出層之外,還需要增加一個采用softmax函數(shù)的輸出層,其中的每個神經(jīng)元對應(yīng)后續(xù)HMM中的一個狀態(tài),此時基于DBN的音素分類器輸出的結(jié)果形式為后驗概率,反映了HMM狀態(tài)與輸入語音特征的后驗概率比,即P(HMM狀態(tài)/特征).
為了在HMM的框架下對基于DBN的音素分類器輸出進行Viterbi解碼,需要利用Bayes公式將其轉(zhuǎn)化為輸入語音特征與HMM狀態(tài)的概率形式,即P(特征/HMM狀態(tài)),轉(zhuǎn)化公式為
式中,P(HMM狀態(tài))為一個常數(shù),一般通過將訓(xùn)練數(shù)據(jù)中的HMM狀態(tài)進行forced alignment后再進行歸一化獲得.P(特征)為常數(shù),因此在解碼的過程中忽略不計.將式(12)獲得的概率送入Vietrbi解碼器進行解碼,就可以獲得輸入特征所對應(yīng)的音素序列.
利用TIMIT數(shù)據(jù)庫驗證本文提出的音素識別器的有效性.實驗使用了4.3 h的語音數(shù)據(jù)(其中包含1.1 h的NIST測試數(shù)據(jù)).數(shù)據(jù)庫中的訓(xùn)練集數(shù)據(jù)排除了SA1和SA2語句,共包含由462個不同發(fā)音人朗讀的3 296個句子,測試集為TIMIT核心測試集(Core Test),包含由24個不同說話人朗讀的192個句子,訓(xùn)練集和測試集之間沒有相同的說話人.在訓(xùn)練集和測試集之外,再利用TIMIT數(shù)據(jù)庫中的60個說話人共500個句子作為開發(fā)集.對輸入語音,采用窗長25 ms,窗移10 ms的漢明窗進行采樣.所有數(shù)據(jù)均進行了歸一化處理.
正如在第1節(jié)中所述,DBN的訓(xùn)練極耗時間.為此采用Python中的Theano庫來進行DBN訓(xùn)練.Theano是根據(jù)DBN訓(xùn)練特點而創(chuàng)建的Python庫,它不僅操作簡單,而且可以通過調(diào)用GPU加速整個訓(xùn)練過程,Theano用于DBN訓(xùn)練的相關(guān)資料可參見文獻[15].根據(jù)DBN訓(xùn)練中的實際經(jīng)驗,用Theano調(diào)用GPU進行DBN訓(xùn)練的速度是使用單核Intel 2.66 GHz至強處理器的20倍. 在使用Theano對DBN進行預(yù)訓(xùn)練之后,本文使用經(jīng)過調(diào)整后的Quicknet工具包對整個DBN進行微調(diào).
使用小批量(mini-batch)的梯度下降法對RBM進行預(yù)訓(xùn)練,每個mini-batch為256個輸入樣本.對于高斯-伯努利RBM,其訓(xùn)練次數(shù)(epoch)為250;對于伯努利-伯努利RBM,其epoch為80.為了避免DBN在訓(xùn)練過程中過早地收斂于局部最優(yōu)點,本文通過在訓(xùn)練過程中增加隨機數(shù)種子的方式來控制訓(xùn)練數(shù)據(jù)的順序,使得每個epoch的訓(xùn)練數(shù)據(jù)按照不同的順序排列.訓(xùn)練過程中的沖量(momentum)項經(jīng)過多次試驗,最終設(shè)置為0.9,在momentum=0.9時的最優(yōu)學(xué)習(xí)速度為0.006;權(quán)重衰減因子(weight decay)經(jīng)過多次試驗驗證后設(shè)置為1e-8.對于微調(diào)部分,則使用mini-batch=512個輸入樣本,momentum和weight decay與預(yù)訓(xùn)練過程相同.
在第3個DBN的輸出部分,將得到的各個音素類的后驗概率作為一個三狀態(tài)HMM的觀察值概率使用,從而完成對各個音素的建模.隨后的Viterbi算法將用于對得到的音素序列進行解碼.
實驗服務(wù)器配置如下:12G內(nèi)存,24核Intel?Xeon?E5-2620 CPU,操作系統(tǒng)為Linux Ubuntu 10.10,GPU為NVIDIA GTX 650,其開發(fā)環(huán)境采用NVIDIA的CUDA 4.1.
本文設(shè)計了3個不同實驗來驗證基于層次結(jié)構(gòu)DBN的音素識別器的有效性.第1和第2個實驗分別通過調(diào)整每個DBN中隱層神經(jīng)元數(shù)目以及DBN所含隱層的層數(shù)來確定最優(yōu)的DBN參數(shù)配置,實驗1驗證了最佳的層次結(jié)構(gòu)DBN后驗瓶頸特征提取網(wǎng)絡(luò)的結(jié)構(gòu)配置,實驗2驗證了最佳的DBN音素分類器的網(wǎng)絡(luò)結(jié)構(gòu)配置,實驗3將基于層次結(jié)構(gòu)DBN的音素識別系統(tǒng)與當前主流的音素識別結(jié)果進行比較,驗證了本文提出方法的有效性.
實驗1通過分別調(diào)整后驗瓶頸特征生成網(wǎng)絡(luò)中每層神經(jīng)元數(shù)目以及隱層層數(shù),來尋找最佳的網(wǎng)絡(luò)結(jié)構(gòu)配置.DBN的隱層層數(shù)從1~6層之間變化,每個隱層所含神經(jīng)元數(shù)目在512~2 048之間波動.為簡便起見,實驗中每個隱層的神經(jīng)元數(shù)目設(shè)置為相同.圖5顯示了對第1個DBN調(diào)整隱層神經(jīng)元數(shù)目以及隱層層數(shù)后對最終PER的影響,此時第2個DBN的結(jié)構(gòu)被設(shè)置為473-[2048-1024-43].圖6顯示了對第2個DBN調(diào)整隱層神經(jīng)元數(shù)目以及隱層層數(shù)對最終音素識別結(jié)果的影響,此時第1個DBN的結(jié)構(gòu)被設(shè)置為473-[1024-1024-1024-1024-1024]-473.
圖5 第1個DBN改變網(wǎng)絡(luò)結(jié)構(gòu)后對音素識別錯誤率的影響Figure 5 PER by varying the number of layers and size of each layer of the 1st DBN
從圖5和6中可以看出,增加隱層的層數(shù)以及增加隱層的神經(jīng)元數(shù)目能夠有效提高音素識別準確率.這個結(jié)果也直接證明了對于具有深度結(jié)構(gòu)的DBN,增加神經(jīng)元數(shù)目和隱層層數(shù)能夠有效地提高其性能.從圖5和6中還能看出,當隱層數(shù)達到5層時,每層神經(jīng)元為1 024個,再增加隱層數(shù)量以及神經(jīng)元的數(shù)目對效果的提升影響不大,因為網(wǎng)絡(luò)已經(jīng)達到了一個飽和狀態(tài).因此,綜合考慮計算效率和正確率,本文將第1和第2個的DBN的結(jié)構(gòu)分別設(shè)置成473-[1024-1024-1024-1024-1024]-473和473-[2048-1024]-43.
與實驗1類似,本文通過改變DBN的隱層數(shù)量以及每層神經(jīng)元數(shù)目來確定最優(yōu)的音素分類器網(wǎng)絡(luò)結(jié)構(gòu).DBN的隱層層數(shù)從1~6層,每個隱層所含神經(jīng)元數(shù)目在512~2 048之間變動.在實驗中,每個隱層的神經(jīng)元數(shù)目設(shè)置為相同.同時,根據(jù)實驗1的結(jié)果,第1和第2個DBN的網(wǎng)絡(luò)結(jié)構(gòu)被設(shè)置為473-[1024-1024-1024-1024-1024]-473和473-[2048-1024-43]的形式.圖7顯示了對第3個DBN調(diào)整隱層神經(jīng)元數(shù)目以及隱層層數(shù)對最終音素識別結(jié)果的影響.
圖6 第2個DBN改變網(wǎng)絡(luò)結(jié)構(gòu)后對音素識別錯誤率的影響Figure 6 PER by varying the number of layers and size of each layer of the 2st DBN
從圖7中可以看出,音素錯誤率變化的趨勢基本與實驗1的結(jié)果相同,即增加隱層的層數(shù)以及增加隱層的神經(jīng)元數(shù)目能夠有效地提高音素識別準確率.因此綜合考慮計算效率和正確率,本文將第3個DBN的結(jié)構(gòu)設(shè)置成43-[1024-1024-1024-1024-1024]-183.
圖7 第3個DBN改變網(wǎng)絡(luò)結(jié)構(gòu)對音素識別錯誤率的影響Figure 7 PER by varying the number of layers and size of each layer of the third DBN
實驗3將基于層次結(jié)構(gòu)DBN的音素識別系統(tǒng)得到的識別結(jié)果與現(xiàn)有其他音素識別系統(tǒng)的結(jié)果進行了比對,采用的基于層次結(jié)構(gòu)的DBN音素識別器如圖4所示,其具體結(jié)構(gòu)如下:第1個DBN共含5個隱層,神經(jīng)元數(shù)目為473-[1024-1024-1024-1024-1024]-473;第2個DBN共含2個隱層,其神經(jīng)元數(shù)目為:473-[2048-1024]-43;第3個DBN共含5個隱層,其神經(jīng)元數(shù)目為:43-[1024-1024-1024-1024-1024]-183.表1顯示了實驗結(jié)果.
表1 本文方法與現(xiàn)有其他音素識別系統(tǒng)的識別結(jié)果對比Table 1 Compare the best performing of the proposed system with previously reported results on TIMIT test set
表1的結(jié)果表明,基于層次結(jié)構(gòu)DBN的音素識別器構(gòu)建而成的新音素識別系統(tǒng)能夠取得相對以往方法更好的識別結(jié)果,音素識別錯誤率減低到了18.5%.這是因為本文提出的系統(tǒng)相對于傳統(tǒng)的CD-HMM、Triphone HMMs discriminatively trained w/BMMI等,采用了表征和建模能力更強的DBN來替換GMM,從本質(zhì)上克服了GMM表征能力不足的問題;而相對于Monophone DBN等方法,本文提出的音素識別系統(tǒng)將它們兩者的優(yōu)點融合在一起,即將層次結(jié)構(gòu)與DBN相結(jié)合,同時又采用了更具有判決性的瓶頸特征,因此取得了相較以往方法更好的結(jié)果.
本文提出了一種基于層次結(jié)構(gòu)DBN的音素識別器,并在其基礎(chǔ)上構(gòu)建了一種基于層次結(jié)構(gòu)DBN的音素識別系統(tǒng).該系統(tǒng)由基于層次結(jié)構(gòu)DBN的后驗瓶頸特征和基于DBN的音素分類器組成,它在網(wǎng)絡(luò)結(jié)構(gòu)上由3個DBN串聯(lián)組成,其中前兩個DBN主要用來產(chǎn)生后驗瓶頸特征,而第3個DBN則用來對輸入的音素類型進行分類.其目的是將后驗瓶頸特征這種低維、包含利于分類的監(jiān)督性信息的新型語音特征與DBN這種更加有效的非線性分類器相結(jié)合,從而獲得更好的音素識別結(jié)果.本文在實驗部分利用TIMIT數(shù)據(jù)庫對這種新的音素識別系統(tǒng)進行了檢驗.實驗結(jié)果表明,本文提出的方法取得了比以往音素識別系統(tǒng)更好的識別結(jié)果,音素識別錯誤率降低到18.5%.
DBN的訓(xùn)練非常耗時,而且需要占用大量的系統(tǒng)資源,這是本系統(tǒng)的缺陷所在.但是在實踐中發(fā)現(xiàn),在訓(xùn)練過程中僅有10%~20%左右的神經(jīng)元是同時激活的,也就是說僅有少量的神經(jīng)元對識別結(jié)果直接產(chǎn)生作用,整個神經(jīng)網(wǎng)絡(luò)呈現(xiàn)稀疏的狀態(tài).因此,下一步研究重點是將稀疏表示引入到DBN的訓(xùn)練中以提高訓(xùn)練速度.
[1]SCHwARZP.Phoneme recognition based on long temporal context[D].Faculty of Information Technology BUT,Brno University of Technology,Brno,Czech,2008.
[2]JANSENA,NIYOGIP.Point process models for spotting keywords in continuous speech[J].IEEE Transaction on Audio,Speech,and Language Processing,2009,17(8):1457-1470.
[3]SIOHANO,BACCHIANI M.Fast vocabulary independent audio search using path-based graph indexing[C]//Proceedings of the Eurospeech 2005,Lisbon,Portugal,4-8 September 2005.
[4]MATEJKA P,SCHwARZ P,CERNOCKYJ,CHYTIL P.Phonotactic language identif ication using high quality phoneme recognition[C]//Proceedings of the INTERSPEECH,Lisbon,Portugal,2005:2237-2240.
[5]DENG L.An overview of deep-structured learning for information processing[C]//Proceedings of the Asian-Pacif ic Signal and Information Processing-Annual Summit and Conference,Xian,China,2011:1-14.
[6]HINTONG,SALAKHUTDINOVR.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[7]BAOY,JIANGH,LIUC.Investigation on dimensionality reduction of concatenated features with deep neural network for LVCSR systems[C]//Proceedings of the IEEE 11th International Conference on Signal Processing(ICSP2012),Beijing,China,2012:562-566.
[8]MOHAMED A,DAHL G,HINTON G.Acoustic modeling using deep belief networks[J].IEEE Transaction on Audio,Speech,and Language Processing,2012,20(1):14-22.
[9]DAHL G,DONG Y,DENG L,ACERO A.Contextdependent pre-trained deep neural networks for large vocabulary speech recognition[J].IEEE Transaction on Audio,Speech,and Language Processing,2012,20(1):30-42.
[10]PINTOJ,SIVARAMG,MAGIMAI-DOSSM,HERMANSKY H,BOURLARDH.Analysis of MLP based hierarchical phoneme[J].IEEE Transactions on Audio,Speech,and Language Processing,2011,19(2):225-241.
[11]SIVARAM G,HERMANSKY H.Sparse multilayer perceptron for phoneme recognition[J].IEEE Transactions on Audio,Speech,and Language Processing,2012,20(1):23-29.
[12]TARA S,BRIAN K,BHUVANA R.Auto-encoder bottleneck features using deep belief networks[C]//Proceedings of the IEEE International Conference on Acoustics,Speech,and Signal Processing 2012,Kyoto,Japan,March 2012:4153-4156.
[13]SINISCALCHI S,YU D,DENG L,LEE C H.Speech recognition using long-span temporal patterns in a deep network mode[J].IEEE Signal Processing Letters,2013,20(3):201-204.
[14]DONGY,DENGL.DEEPL.Its applications to signal and information processing[J].IEEE Signal Processing Magazine,2011,28(1):145-154.
[15]BERGSTRA J,BREULEUX O,BASTIEN F,LAMBLIN P,PASCANU R,DESJARDINSG,TURIAN J,WARDEFARLEY D,BENGIO Y.Theano:a CPU and GPU math expression compiler[C]//Proceedings of the Python for Scientif ic Computing Conference(SciPy)2010.Austin,U.S.A.