肖萌萌,徐志京
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
近幾年來,隨著對語音識別研究的日漸深入,相關(guān)技術(shù)有了明顯的提高,但是識別帶有口音的語音還是一個難點.帶有口音的語言交流給人人、人機溝通造成了極大的麻煩,因此識別和分類帶有口音的說話人的語音有著重要的理論價值和現(xiàn)實意義[1].然而在2010年以前口音識別和分類的研究都相對緩慢,口音分類是語音識別算法的主要障礙.
口音分類的關(guān)鍵點之一是進行特征值提取,特征參數(shù)要能夠反映語音信息.在之前人們對線性預(yù)測倒譜系數(shù)(Linear Predictive Cepstrum Coefficients,簡稱LPCC)[2]、線性預(yù)測系數(shù)(Linear Predictive Coefficients,簡稱LPC)[3]以及梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,簡稱MFCC)[4]等進行了深入的研究.MFCC由于更接近人耳的聽覺特性以及具有較強的抗噪性等優(yōu)勢被廣泛使用.但是標(biāo)準(zhǔn)的MFCC僅僅可以體現(xiàn)出語音參數(shù)的靜態(tài)特性,前人的實驗證明把動、靜態(tài)特征結(jié)合起來才能獲得更好的識別率.
人工智能近幾年迅速發(fā)展,經(jīng)典機器學(xué)習(xí)算法作為分類器的使用率越來越高.Watanaprakornkul采用MFCC和感知線性預(yù)測方法提取特征,使用支持向量機(Support Vector Machine,簡稱SVM)[5]和高斯混合模型對粵語、印地語和俄語三種外國口音進行了分類.使用SVM和高斯混合模型的準(zhǔn)確率分別為41.18%和37.5%.對菲律賓IV-A地區(qū)的口音進行分類的文章中[6]作者自行收集該地區(qū)不同省份不同城鎮(zhèn)的當(dāng)?shù)鼐用竦恼Z音數(shù)據(jù),提取了最小線性預(yù)測系數(shù)、平均線性預(yù)測系數(shù)以及MFCC等多種特征,采用多層感知器(Multi-Layer Perception,簡稱MLP)作為分類器的分類效果為56.12%.在一篇以MFCC為特征,使用深度置信網(wǎng)絡(luò)作為分類器的文章中[7]作者自己創(chuàng)建了一個包含6個國家口音的數(shù)據(jù)庫,準(zhǔn)確率為71.90%.Muhammad Rizwan和David V.Anderson使用基于一對一支持向量機[8]以及極端學(xué)習(xí)機(Extreme Learning Machine,簡稱ELM)的加權(quán)口音分類算法對TIMIT數(shù)據(jù)集的口音進行分類,準(zhǔn)確率分別為60.58%和77.88%[9].
將MFCC的動靜態(tài)特征結(jié)合作為語音特征意味著特征的維數(shù)升高,這必將導(dǎo)致計算復(fù)雜度增加.一對一網(wǎng)絡(luò)結(jié)構(gòu)當(dāng)分類類別較多時需要較長的測試時間,而有向無環(huán)圖(Directed Acyclic Graph,簡稱DAG)[10]的測試時間遠遠少于一對一.2006年Hinton在受限玻爾茲曼機(Restricted Boltzmann Machine,簡稱RBM)[11]的基礎(chǔ)上提出深度置信網(wǎng)絡(luò)(Deep Belief Network,簡稱DBN)[12].該模型通過反向傳播網(wǎng)絡(luò)調(diào)整網(wǎng)絡(luò)參數(shù),最終可以求得全局最優(yōu)解.本文利用主成分分析(Principal Component Analysis,簡稱PCA)[13]對MFCC的動靜態(tài)組合特征進行降維,使用降維后的特征作為特征參數(shù),運用DAG拓?fù)銬BN進行口音分類以達到更好的分類效果.
使用TIMIT數(shù)據(jù)集進行多口音分類,標(biāo)準(zhǔn)的MFCC只反映了語音信號的靜態(tài)特性,MFCC動靜態(tài)組合特征又導(dǎo)致維數(shù)增加.一對多和一對一多分類方法在測試時間和分類精度方面表現(xiàn)的差強人意.為了解決以上問題,建立了基于有向無環(huán)圖拓?fù)涞腄BN多口音分類模型,即使用PCA對MFCC動靜態(tài)組合特征進行降維,將降維后的特征作為語音特征輸入基于有向無環(huán)圖拓?fù)浣Y(jié)構(gòu)的深度置信網(wǎng)絡(luò)(Directed Acyclic Graph Deep Belief Network,簡稱DAG-DBN)進行訓(xùn)練和測試,通過分類精度和分類速度兩個指標(biāo)對方法進行評價.模型如圖1所示.
圖1 多口音分類系統(tǒng)模型Fig.1 Multi-accent classification system model
梅爾頻率的提出是根據(jù)人類耳朵的聽覺特性,根據(jù)其與Hz頻率的關(guān)系得到MFCC,其在說話人識別和語音識別方面得到了廣泛的應(yīng)用.標(biāo)準(zhǔn)的MFCC僅僅可以體現(xiàn)語音信號的靜態(tài)特性,但是前人的實驗表明,在語音特征中加入語音參數(shù)的動態(tài)特性,將靜、動態(tài)特征結(jié)合起來才能獲得更好的識別率.語音信號的動態(tài)特性可以通過對MFCC進行差分得到,所以組合MFCC及其一階、二階差分作為特征參數(shù).
圖2 基于 PCA降維的動靜態(tài)組合特征提取流程圖Fig.2 Dynamic and static feature extraction flow chart based on PCA dimension reduction
動靜態(tài)組合特征意味著特征向量的維數(shù)增加,首先不可避免的造成計算量增加,導(dǎo)致計算復(fù)雜度增加.其次維數(shù)增加意味著需要大量的計算時間,導(dǎo)致時間復(fù)雜度增加.維數(shù)增加也意味著需要更大的儲存空間來存放這些特征,導(dǎo)致空間復(fù)雜度增加.并且MFCC的一階和二階差分含有大量的冗余信息會導(dǎo)致分類準(zhǔn)確率降低.PCA是一種線性降維方法.通過線性投影,將原本的樣本特征空間映射到新空間中,新空間的維數(shù)低于原空間.去除不重要的冗余的特征,同時使映射后的數(shù)據(jù)的方差盡可能大,保留原本高維樣本的重要信息,以此來達到降維和去除冗余的目的.使用PCA進行降維以提高分類的準(zhǔn)確率.
特征提取的流程如圖2所示.
具體步驟如下:
1)預(yù)加重.將語音信號通過一個高通濾波器:
H(z)=1-μz-1
(1)
式中0.9≤μ≤1,通常取0.97.
2)分幀加窗.將語音信號處理為包含N個采樣點,時間為20~30ms的幀,乘以漢明窗,使幀的左右兩端更為連續(xù).
3)快速傅里葉變換:
(2)
4)三角帶通濾波器.將上一步得到的頻譜與M個濾波器相乘,然后計算輸出的對數(shù)能量:
(3)
5)離散余弦變換.將對數(shù)能量通過下式進行離散余弦變換獲取低頻信息,最終得到L(12-16)階的MFCC參數(shù).
(4)
6)求一階MFCC以及二階MFCC.對MFCC進行一階差分,公式如下:
(5)
二階差分公式如下:
(6)
k為常數(shù),可取1或2.
7)組合MFCC以及一階、二階MFCC得到動靜態(tài)組合特征.去除一階MFCC、二階MFCC首尾兩幀將MFCC和一階、二階MFCC結(jié)合得到36維特征參數(shù).
8)PCA降維.首先計算樣本的協(xié)方差矩陣
(7)
(8)
來確定降維之后的維數(shù)即主成分個數(shù).這里的λ表示的是方差,因為特征值對應(yīng)主成分的方差,當(dāng)累積貢獻率達到80%以上就足夠代表所有主成分的信息.確定主成分個數(shù)q以后從所有的特征值中選取最大的q個特征值.PCA轉(zhuǎn)換矩陣W=(w1,w2,…,wq)就是由這q個特征值對應(yīng)的特征向量組成的,W為d×q維.最后求得降維后的樣本特征為Y=X·W.
神經(jīng)網(wǎng)絡(luò)在解決多類分類問題時,采用一對多的方法,即將原本的分類問題轉(zhuǎn)化為一類對所有類別中剩下的其他類別的二分類問題.在進行訓(xùn)練的時候每一次所有的樣本都需要參與,因此需要大量的訓(xùn)練時間.其次,每個分類器需要定義一個類別與所有類別中剩下的其他類別之間的分類面,增加了分類面的復(fù)雜度.當(dāng)分類類別數(shù)目較大時,每一類的訓(xùn)練樣本的數(shù)量和其他類別的訓(xùn)練樣本總和的數(shù)量相差較大,造成訓(xùn)練樣本不均衡,由此大大降低分類精度.
一對一分類方法也是一種多分類方法,但是當(dāng)有K個分類類別時,其無論是訓(xùn)練還是測試,都需要遍歷K(K-1)/2個分類器,使得分類時間大大增加,降低了分類效率.
針對以上問題本文提出有向無環(huán)圖-深度置信網(wǎng)絡(luò),即使用深度置信網(wǎng)絡(luò)作為二分類器,通過有向無環(huán)圖完成多分類.
DBN是由多個RBM和一層反向傳播網(wǎng)絡(luò)(Back Propagation,簡稱BP)[14]組成的神經(jīng)網(wǎng)絡(luò).RBM由兩層神經(jīng)元組成,上面一層的神經(jīng)元組成隱藏層,下面一層的神經(jīng)元組成可見層.隱藏層和可見層神經(jīng)元之間全連接,可見層神經(jīng)元之間以及隱藏層神經(jīng)元之間都沒有連接.DBN的結(jié)構(gòu)圖如圖3所示.
圖3 深度置信網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Deep confidence network structure diagram
4.1.1 基于RBM的無監(jiān)督預(yù)訓(xùn)練
無監(jiān)督的對每一層神經(jīng)網(wǎng)絡(luò)自下而上進行訓(xùn)練.先對第一個RBM進行訓(xùn)練:使用對比散度算法[15]對權(quán)值進行初始化工作.隨機初始化權(quán)重向量和偏置向量,計算隱藏層神經(jīng)元被開啟的概率,根據(jù)概率分布進行一步吉布斯抽樣.然后計算概率密度,再進行吉布斯抽樣來重構(gòu)顯層.最后用重構(gòu)后的顯元計算隱藏層神經(jīng)元被開啟的概率.更新得到新的權(quán)重和偏置.將第一個RBM的隱藏層作為第二個RBM的輸入層,用同樣的方法訓(xùn)練第二個RBM,以此類推.逐步更新得到最終的權(quán)重和偏置向量.訓(xùn)練RBM就是為了得到一個分布,使之可以最大概率的得到訓(xùn)練樣本.權(quán)值決定了這個分布,所以基于RBM的無監(jiān)督預(yù)訓(xùn)練就是為了得到最優(yōu)權(quán)值.
4.1.2 有監(jiān)督的反向調(diào)參
DBN最后一層設(shè)置BP網(wǎng)絡(luò),首先進行前向傳播,使用第一步預(yù)訓(xùn)練好的權(quán)重和偏置來確定相應(yīng)隱元是否開啟.然后求取所有隱藏層中隱元的激勵值.使用下式進行標(biāo)準(zhǔn)化:
(9)
這個式子為sigmoid函數(shù).
最后計算出輸出層的激勵值和輸出.
h(l)=W(l)·h(l-1)+b(l)
(10)
(11)
然后進行后向傳播調(diào)整網(wǎng)絡(luò)的參數(shù):
可以使用最小均方誤差準(zhǔn)則算法和梯度下降法兩種方法來更新網(wǎng)絡(luò)的參數(shù),前者的代價函數(shù)如下:
(12)
使用梯度下降法則根據(jù)下式更新網(wǎng)絡(luò)參數(shù):
(13)
其中,λ為學(xué)習(xí)效率.
當(dāng)有K個分類類別時,所有分類類別兩兩組合,構(gòu)成K(K-1)/2個二分類器,訓(xùn)練階段訓(xùn)練K(K-1)/2個分類器.測試階段將K(K-1)/2個二分類器組合成一個有向無環(huán)圖.包括K(K-1)/2個節(jié)點和K個葉節(jié)點.最上面一層的是根節(jié)點,只有一個,最下面的K個節(jié)點是葉節(jié)點,代表K個類別.除了葉節(jié)點以外,其余所有的節(jié)點都表示一個二分類器.第i層含有i個節(jié)點,其中第j層的第i個節(jié)點和第j+1層的第i個和第i+1個節(jié)點相連接.分類時從根節(jié)點開始,排除最不可能的一類后進入下一層對應(yīng)的節(jié)點,經(jīng)過K-1次判斷后到達某葉節(jié)點,該葉節(jié)點對應(yīng)的類別即為樣本的類別.
DAG-DBN的基本思想是使用有向無環(huán)圖的決策方法將K個類別的多分類問題轉(zhuǎn)換為K(K-1)/2個二分類問題,使用DBN作為二分類器.DAG-DBN結(jié)構(gòu)圖如圖4所示.
圖4 有向無環(huán)圖深度置信網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Directed acyclic graph depth confidence network structure diagram
有向無環(huán)圖是針對“一對一”方法提出來的.一對一—深度置信網(wǎng)絡(luò)(One-Versus-One Deep Belief Network,簡稱OVO-DBN)當(dāng)有K個分類類別時,所有分類類別兩兩組合,構(gòu)成K(K-1)/2個DBN二分類器,無論是訓(xùn)練階段還是測試階段都需要運用K(K-1)/2個分類器,需要較長的測試時間.當(dāng)二分類器的兩個類別之間的差異較小時容易出現(xiàn)錯誤的判斷導(dǎo)致分類出現(xiàn)錯誤.DAG-DBN訓(xùn)練階段同OVO-DBN,但是測試的時候只需要K-1個二分類器就可以得到分類結(jié)果,測試速度高于OVO-DBN;另外,采用排除法排除掉最不可能的類別來進行分類,分類精度較一般的二叉樹方法高.
通過RBM的原理可以知道經(jīng)過深度RBM的多層提取以后導(dǎo)致RBM丟失了很多特征,所以通過RBM進行訓(xùn)練得到的數(shù)據(jù)只是基本上收斂到全局最優(yōu)解的附近,此時在DBN的最后一層設(shè)置BP網(wǎng)絡(luò).BP網(wǎng)絡(luò)的缺點是得到的最優(yōu)解是局部極小值,因為其初始化權(quán)值是隨機選取的,也因此需要消耗大量的時間進行訓(xùn)練,但是DBN網(wǎng)絡(luò)將RBM網(wǎng)絡(luò)訓(xùn)練的權(quán)值傳給BP網(wǎng)絡(luò)作為其初始化權(quán)值,克服了BP網(wǎng)絡(luò)的缺點.BP網(wǎng)絡(luò)在全局最優(yōu)解的范圍內(nèi)通過反向傳播進行微調(diào)以找尋全局最優(yōu)解,因此RBM和BP結(jié)合的DBN作為二分類器能夠很好的提高分類精度.
實驗使用TIMIT數(shù)據(jù)集[16],是由麻省理工學(xué)院(MIT)、德州儀器(TI)和斯坦福研究院(SRI)合作構(gòu)建的語音庫,多年來成為研究語音的標(biāo)準(zhǔn)數(shù)據(jù)庫.TIMIT數(shù)據(jù)集的語音采樣頻率為16kHz.包括New England(d1)、Northern(d2)、North Midland(d3)、South Midland(d4)、Southern(d5)、New York City(d6)、Western(d7)以及Army Brat美國8個主要方言地區(qū)的口音.從這些地區(qū)選取630名說話人每人說出10個句子組成訓(xùn)練集和測試集的6300個句子.本文實驗只使用前7個方言地區(qū)的數(shù)據(jù)庫,因為Army Brat區(qū)域的說話人在童年的時候經(jīng)常搬家.數(shù)據(jù)集明確給出了訓(xùn)練樣本(大概70%)以及測試樣本(大概30%),測試數(shù)據(jù)包括168個人說的1344個句子.
提取MFCC,計算MFCC+ΔMFCC+ΔΔMFCC,分別采用MFCC、MFCC+ΔMFCC+ΔΔMFCC以及使用PCA對MFCC+ΔMFCC+ΔΔMFCC降維以后的特征作為特征參數(shù),利用本文提出的分類方法進行分類實驗.實驗結(jié)果如表1所示.
表1 不同特征的分類準(zhǔn)確率
Table 1 Classification accuracy of different features
特征提取方式分類準(zhǔn)確率(%) MFCC83.33% MFCC+ΔMFCC+ΔΔMFCC84.34% PCA降維87.46%
由表1可以看出使用PCA對MFCC+ΔMFCC+ΔΔMFCC進行降維以后,分類準(zhǔn)確率得到了提高.因為MFCC的一階、二階差分反映了MFCC的動態(tài)特性,將MFCC和其一階、二階差分結(jié)合,同時反映了靜態(tài)和動態(tài)特性,然后使用PCA去掉動態(tài)組合特征中的冗余信息,同時盡可能多的保留了原數(shù)據(jù)信息,由此可以得到較高的分類準(zhǔn)確率.
采用本文提出的有向無環(huán)圖—深度信念網(wǎng)絡(luò)作為分類器測試各個地區(qū)的口音分類準(zhǔn)確率,圖5顯示了分類準(zhǔn)確率.New York City(d6)地區(qū)的分類準(zhǔn)確率遠低于其他地區(qū),因為來自New York City口音地區(qū)的說話人與來自New England口音地區(qū)和Northern口音地區(qū)的說話人混合.
圖5 每個方言地區(qū)的分類準(zhǔn)確率Fig.5 Classification accuracy of each dialect area
口音分類是一個具有挑戰(zhàn)性的問題,并且和我們的生活息息相關(guān).無論是哪種品牌的智能設(shè)備,在用戶使用的時候都會出現(xiàn)無法識別帶口音的語音的問題.本文采用一對一—深度信念網(wǎng)絡(luò)作為分類器進行了對比實驗,不同的研究人員在TIMIT數(shù)據(jù)集上也嘗試了不同的方法:對區(qū)分元音最多的TIMIT數(shù)據(jù)集的研究中,準(zhǔn)確率為42.52%.Muhammad Rizwan和David V.Anderson使用基于SVM和ELM的加權(quán)口音分類算法對TIMIT數(shù)據(jù)集的口音進行分類,準(zhǔn)確率分別為60.58%和77.88%.表2總結(jié)了不同方法的分類準(zhǔn)確率.
表2 不同方法的分類準(zhǔn)確率
Table 2 Classification accuracy of different methods
數(shù)據(jù)集 方法準(zhǔn)確率TIMITProsodic analysis42.52%TIMITSVM60.58%TIMITELM77.88%TIMITOVO-DBN81.90%TIMITDAG-DBN87.46%
有向無環(huán)圖-深度置信網(wǎng)絡(luò)和一對一-深度置信網(wǎng)絡(luò)在訓(xùn)練階段類似,K個類別需要訓(xùn)練K(K-1)/2個分類器,因此訓(xùn)練時間相同.但是測試階段一對一-深度置信網(wǎng)絡(luò)同訓(xùn)練階段仍需遍歷個K(K-1)/2分類器,然后采取投票的方式得到
圖6 不同方法訓(xùn)練和測試時間比較Fig.6 Comparison of different methods of training and testing time
結(jié)果,因此測試時候要多于訓(xùn)練時間.而有向無環(huán)圖-深度置信網(wǎng)絡(luò)將所有的分類器構(gòu)成一個有向無環(huán)圖,只需要使用K-1個分類器即可得到結(jié)果,因此測試時間遠少于訓(xùn)練時間.使用PCA對特征參數(shù)進行降維,維數(shù)的減少降低了時間復(fù)雜度.圖6顯示了時間的差別.
本文提出一種基于有向無環(huán)圖拓?fù)浣Y(jié)構(gòu)的深度置信網(wǎng)絡(luò)多分類方法.提取說話人語音MFCC動靜態(tài)組合特征,彌補彼此缺失的語言參數(shù)特性.使用PCA對動態(tài)組合特征降維,解決了因特征維數(shù)增加導(dǎo)致的計算復(fù)雜度增加的問題.在TIMIT語音庫進行實驗測試,該多分拓?fù)浣Y(jié)構(gòu)較一對一—深度置信網(wǎng)絡(luò)大大縮短了測試時間,分類準(zhǔn)確率達到87.46%,和其他多口音分類方法相比,分類準(zhǔn)確率得到了顯著地提高.鑒于帶有口音的語音特征的多樣性,如何有效的提取說話人語音的特征參數(shù)是一個具有挑戰(zhàn)性的問題,未來需要在該領(lǐng)域深入研究以獲得更高的分類準(zhǔn)確率.