本發(fā)明涉及語音處理技術(shù)領(lǐng)域,尤其涉及一種基于深度學(xué)習(xí)的說話人識別方法。
背景技術(shù):說話人識別通常被稱為聲紋識別,與其他生物識別技術(shù)相比,具有自然方便、用戶接受度高、所需設(shè)備成本低等特點。說話人識別技術(shù)在身份驗證、門禁系統(tǒng)、人機交互、司法鑒定、通信網(wǎng)絡(luò)、移動終端、銀行系統(tǒng)、國防軍事等領(lǐng)域得到了廣泛應(yīng)用。說話人識別技術(shù)主要包括語音特征參數(shù)提取和說話人模式分類。語音特征提取是提取說話人的語音特征和聲道特性。目前,主流的特征參數(shù),包括MFCC、LPCC、基音周期等,都是以單個特征為主,表征說話人個性的信息不足,影響識別精度。說話人模式分類主要是根據(jù)語音特征參數(shù),通過建立說話人特征模型,對說話人進(jìn)行識別與分類。說話人模型主要有支持向量機、神經(jīng)網(wǎng)絡(luò)、高斯混合模型、隱馬爾科夫模型、矢量量化模型等。這些模型利用概率統(tǒng)計等技術(shù)對說話人建模,具有良好的適應(yīng)性和表達(dá)能力,但存在收斂速度過慢、易陷入局部極小值以及人為提取特征造成的特征空間不完備等問題?,F(xiàn)有技術(shù)中,Gupta等在文獻(xiàn)GuptaA,GuptaH.ApplicationsofMFCCandvectorquantizationinspeakerrecognition[C].IEEEInternationalConferenceonIntelligentSystemsandSignalProcessing,Gujarat,India,2013:170-173.中應(yīng)用梅爾倒譜系數(shù)(MFCC)作為語音特征參數(shù),并通過矢量量化模型進(jìn)行說話人識別。該方法提取5維、12維、26維的梅爾倒譜系數(shù),用8維、16維、32維、64維、128維的碼書進(jìn)行矢量量化,得到了較高的識別率。但是該方法在處理中具有以下缺陷:(1)在處理少量說話人時,效果尚可,但當(dāng)說話人數(shù)目增多后,該方法的識別率較低;(2)僅用MFCC表征說話人的聲道特征,其語音特征單一,魯棒性差,識別效果不理想?,F(xiàn)有技術(shù)中:2006年,王金明等在文獻(xiàn):王金明,張雄偉.一種模糊高斯混合說話人識別模型[J].解放軍理工大學(xué)學(xué)報(自然科學(xué)版),2006,7(3):214-219.將高斯混合模型應(yīng)用到說話人識別系統(tǒng)中。該方法用MFCC表述語音特征,用高斯混合模型GMM對說話人特征建模,實驗結(jié)果表明,該方法在開集與閉集說話人確認(rèn)中,有較好的識別率。但是該方法具有如下缺陷:(1)對于純凈的說話人語音,識別效果尚可,但有噪聲干擾時,識別性能明顯下降,抗干擾能力弱;(2)采用高斯混合模型進(jìn)行說話人識別,需要人為設(shè)定特征參數(shù),不能自動學(xué)習(xí)出隱含的深層次特征,所以特征參數(shù)不完備。在2011年07月20日公開的公開號為CN102129860A的中國專利中,申請人公開了一種基于無限狀態(tài)隱馬爾科夫模型的與文本相關(guān)的說話人識別方法。該發(fā)明通過提取線性預(yù)測倒譜系數(shù)(LPCC)作為語音特征參數(shù),用隱馬爾科夫模型(HMM)進(jìn)行訓(xùn)練和識別,在識別階段,計算說話人模型的似然值,將具有最大似然值所對應(yīng)的說話人作為識別結(jié)果。但是該方法具有以下缺陷:(1)該方法進(jìn)行說話人識別時,需要計算待測語音與所有說話人訓(xùn)練模型的似然度,識別計算量較大;(2)僅用LPCC表征說話人的聲道特征,對于說話人輔音的表示不足,識別效果不好。
技術(shù)實現(xiàn)要素:根據(jù)現(xiàn)有技術(shù)中在進(jìn)行說話人識別過程中大多采用的是單一語音特征,不能全面表征說話人聲道特性、魯棒性較差以及采用的說話人識別模型通常是人為設(shè)定特征參數(shù),而不能自動學(xué)習(xí)更深層次的特征信息,識別效果不理想等問題,本發(fā)明公開了一種基于深度學(xué)習(xí)的說話人識別方法,通過對說話人的語音信號進(jìn)行處理、建立基于受限玻爾茲曼機的深度信念網(wǎng)絡(luò)模型,采用逐層貪婪算法,結(jié)合說話人語音特征參數(shù),對建立好的深度信念網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,從而確定模型參數(shù),然后再次輸入語音信號,完成語音的識別過程。本發(fā)明還具有以下有益效果:1、本發(fā)明采用梅爾倒譜系數(shù)與Gammatone頻率倒譜系數(shù)的組合特征,作為說話人的語音特征,而不是單一語音特征,提高了系統(tǒng)識別率。2、本發(fā)明采用深度信念網(wǎng)絡(luò)模型作為說話人模型,該模型具有提取語音特征深層次表示等特點,能夠克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型易收斂到局部極小值等問題,提高了系統(tǒng)的識別率。3、在深度信念網(wǎng)絡(luò)的頂層引入Softmax分類器,使得訓(xùn)練的深度信念網(wǎng)絡(luò)具有良好的分類功能。4、采用基于短時能量和短時過零率的雙閾值端點檢測法,可以精確地區(qū)分語音與噪聲,有效地提高后續(xù)特征參數(shù)提取模塊的準(zhǔn)確性。5、在進(jìn)行說話人識別訓(xùn)練時,采用對比散度方法,提高了算法的執(zhí)行效率,減少了計算復(fù)雜度。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明基于深度學(xué)習(xí)的語音識別方法的流程圖;圖2為本發(fā)明中分幀交疊示意圖;圖3為本發(fā)明中雙閾值的端點檢測處理的流程圖;圖4為本發(fā)明中語音混合特征獲取過程的示意圖;圖5為本發(fā)明中三層式深度信念網(wǎng)絡(luò)示意圖;圖6為本發(fā)明中受限玻爾茲曼機的結(jié)構(gòu)示意圖;圖7為本發(fā)明中多層RBM的級聯(lián)的結(jié)構(gòu)示意圖;(其中底層RBM訓(xùn)練的輸出作為下一層RBM訓(xùn)練的輸入);圖8為本發(fā)明中圖7中多層RBM的級聯(lián)對應(yīng)的深度信念網(wǎng)絡(luò)的示意圖;圖9為本發(fā)明中采用不同語音特征的系統(tǒng)識別結(jié)果繪制出折線圖。具體實施方式為使本發(fā)明的技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚完整的描述:如圖1所示:一種基于深度學(xué)習(xí)的說話人識別方法,具體采用以下步驟:S1:對采集到的語音信號進(jìn)行預(yù)加重和交疊式分幀加窗:對語音信號進(jìn)行高通濾波,對語音信號采用交疊的方式進(jìn)行分幀后,采用Hamming窗對語音信號進(jìn)行加窗。預(yù)加重:語音的預(yù)加重操作是通過高通濾波器來完成,高通濾波器的傳遞輸函數(shù)如下所示H(z)=1-az-1(1)其中,預(yù)加重系數(shù)a=0.9375。語音信號的預(yù)加重處理過程如下:這里,s(n)為預(yù)加重前的語音信號,為預(yù)加重后的語音信號。分幀加窗:分幀是將語音信號分成若干段處理,每段稱為一“幀”。本發(fā)明采用交疊的方式進(jìn)行分幀,即前后兩幀會產(chǎn)生交疊,交疊的部分叫做幀移,本發(fā)明選取一幀語音長度為16毫秒,幀移為幀長的一半,分幀交疊的示意圖如圖2所示。語音信號進(jìn)行分幀處理后,頻譜泄漏現(xiàn)象將會產(chǎn)生,所以分幀后需要進(jìn)行加窗處理,即將語音信號與窗函數(shù)相乘,這樣可以減少分幀截斷處理引入的頻譜泄漏問題。本發(fā)明采用Hamming窗對語音信號進(jìn)行加窗,Hamming窗為:其中,N為幀長,本發(fā)明取為256。對每一幀預(yù)加重后的語音進(jìn)行加窗后,得到x(n),從而完成語音的預(yù)處理過程。S2:采用基于短時能量和短時過零率的雙閾值端點檢測法對語音信號進(jìn)行端點檢測,判斷語音的開始和結(jié)束時刻:具體方式為:如圖3所示:首先通過設(shè)定短時能量和短時過零率兩個閾值,來確定語音起始的位置和終止的位置。整個端點檢測算法分成四個階段:靜音階段、過渡階段、語音階段段和語音結(jié)束階段。首先分別對短時能量與短時過零率設(shè)置兩個初始閾值,其一是容易被越過的低閾值;其二是高閾值,只有信號強度足夠大,才能被超過。當(dāng)高閾值被越過時,可認(rèn)為語音開始,而低閾值被越過,則認(rèn)為有可能是噪聲引起的。選取變量state代表當(dāng)前的狀態(tài),當(dāng)state為靜音狀態(tài)時,不論是語音信號的過零率或者語音信號的短時能量,只要有一個大于它們對應(yīng)的低閾值,那么就標(biāo)記此刻為語音起始的位置;在過渡階段,不能確定此時一定是語音段,所以當(dāng)短時能量與過零率的值都在低閾值以下,則認(rèn)為當(dāng)前狀態(tài)為靜音狀態(tài),如果短時能量和短時過零率這兩個參數(shù)有一個超越高門限,當(dāng)前狀態(tài)則被認(rèn)為步入語音段;當(dāng)過零率與短時能量的數(shù)值在短時間內(nèi)很高時,也不一定是由真正的語音引起的,實際上,突發(fā)性的噪聲也會導(dǎo)致短時間內(nèi)的數(shù)值頗高,所以為了判斷更為準(zhǔn)確,我們引入了最短時間閾值。在state為語音階段時,如果過零率與短時能量的數(shù)值小于低閾值的時間小于最短時間閾值,則認(rèn)為目前這段信號為一段噪聲,繼續(xù)處理后面語音;如果過零率與短時能量的數(shù)值小于低閾值的時間大于最短時間閾值,則認(rèn)為語音結(jié)束,并進(jìn)行下一幀數(shù)據(jù)的判斷。其中:第n幀語音信號的短時能量En滿足其中,N為幀長,為預(yù)加重后的語音信號,w(n)為Hamming窗。語音信號x(n)的短時過零率為:這里,sgn[·]是符號函數(shù),定義如下:S3:對語音信號進(jìn)行特征提?。河嬎忝恳粠Z音的梅爾倒譜系數(shù)和Gammatone頻率倒譜系數(shù),將梅爾倒譜系數(shù)和Gammatone頻率倒譜系數(shù)組成混合特征。如圖4所示本發(fā)明中針對每一幀語音x(n),通過計算,得到16維梅爾倒譜系數(shù)(MFCC)與16維的Gammatone頻率倒譜系數(shù)(GFCC),然后將梅爾倒譜系數(shù)與Gammatone頻率倒譜系數(shù)組成32維的混合特征。梅爾倒譜系數(shù)的具體求解過程描述如下:頻譜計算對語音x(n)做長度為N的離散傅立葉變換,得到其頻譜X(k)Mel濾波器組計算頻譜幅度X(k)的平方,得到信號的能量譜,然后將信號的能量譜在Mel頻率域做帶通濾波操作。設(shè)Mel濾波器組由M個三角形帶通濾波器構(gòu)成,每個濾波器的中心頻率設(shè)為f(m),m=1,2,…,M,當(dāng)前濾波器中心頻率的位置大約在下一個濾波器的旁瓣衰減位置。Mel濾波器組覆蓋Nyquist頻率以內(nèi)的所有頻帶。第m個濾波器的中心頻率f(m)計算如下其中,F(xiàn)S為語音信號的采樣頻率,N為DFT變換的點數(shù),fl和fh分別表示低通和高通濾波器的截止頻率,單位是Hz,本發(fā)明中,M取40。具體的Mel濾波器組設(shè)計參數(shù)如表1所示。表1Mel濾波器組設(shè)計參數(shù)編號中心頻率(Hz)帶寬(Hz)編號中心頻率(Hz)帶寬(Hz)15010021140021121001012215202283150102231650247420010324179026852501042519402916300106262100317735010927228034784001112824803829460115292700422105201193029504701158012331320051812640128323500570137101333338006421478014034415071815850146354550809169301553650009141710101633754801031181100174386000116219120018639660013182013001984073001508是物理頻率和Mel頻率之間的反函數(shù),即第m個濾波器的頻率響應(yīng)Wm(k)為對數(shù)能量計算為了使上述結(jié)果有較小的波動范圍,同時具有較高的穩(wěn)定性,將輸出的頻譜能量做取對數(shù)操作,得到的s(m)如下離散余弦變換對對數(shù)能量s(m)做離散余弦變換,將其轉(zhuǎn)換到時域,得到參數(shù)c(n),這就是梅爾倒譜系數(shù),即Gammatone頻率倒譜系數(shù)提取過程如下:設(shè)計通道數(shù)為MCH的Gammatone(GT)濾波器組,GT濾波器沖激響應(yīng)表達(dá)式為:其中,a1=cos(ωiTs),a2=sin(ωiTs),a3=e-bTs,Ts=1/16000為采樣周期,ωi=2πfi,b=2πb1(24.7+0.108fi),其中b1為1.019,fi為每個GT濾波器的中心頻率,如表2所示:表2Gammatone濾波器組的設(shè)計參數(shù)將上述4個二階傳遞函數(shù)分別進(jìn)行Z域反變換,得到對應(yīng)的4個時域信號g1,i(n),g2,i(n),g3,i(n)和g4,i(n),然后將其與輸入信號進(jìn)行卷積后,得到GT濾波器的輸出。yi(n)=x(n)*g1,i(n)*g2,i(n)*g3,i(n)*g4,i(n),i=0,1,…,MCH-1(15)其中,“*”為信號處理中的卷積操作。對GT濾波器組的輸出信號yi(n)作短時傅里葉變換,可以計算出各通道信號的頻域表示Yi(k)。其中,wr(n)為矩形窗。求頻域信號的對數(shù)能量:將各個通道GT濾波器輸出頻域信號的能量和取對數(shù),得到各通道的頻域信號能量譜。對式(17)輸出的各通道能量譜做離散余弦變換后,得到的語音參數(shù)即為上述的Gammatone頻率倒譜系數(shù)(GFCC)。這里,L是GT濾波器階數(shù),本發(fā)明中L取32,MCH取32。S4:基于受限玻爾茲曼機分層組成深度信念網(wǎng)絡(luò)模型,采用逐層貪婪算法,結(jié)合說話人語音特征參數(shù),對建立好的深度信念網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,通過學(xué)習(xí)確定模型的參數(shù),在深度信念網(wǎng)絡(luò)的頂層加入Softmax分類器,使深度信念網(wǎng)絡(luò)模型具有分類功能。如圖5~圖8所示:逐層貪婪算法具體方式是:將多個受限玻爾茲曼機由下至上進(jìn)行疊加,得到多輸入多輸出深度信念網(wǎng)絡(luò),將訓(xùn)練的說話人語音特征從最底層進(jìn)行訓(xùn)練,得到第一層受限玻爾茲曼機的輸出,將第一層受限玻爾茲曼機輸出作為第二層受限玻爾茲曼機的輸入進(jìn)行重新訓(xùn)練,得到第二層的模型參數(shù),按照以上方式構(gòu)建出深度信念網(wǎng)絡(luò)模型。受限玻爾茲曼機是一個基于能量的生成性模型,其由一個輸入層和一個隱含層構(gòu)成,層內(nèi)無連接,層間全連接。受限玻爾茲曼機可以表示成一個無向圖的形式,如圖6所示。其中v為可視層,h為隱含層。對于給定可視層單元v和隱含層單元h,給定一個能量函數(shù)E(v,h;θ),聯(lián)合概率分布P(v,h;θ)可以表示為:這里Z(θ)稱為分配函數(shù);受限玻爾茲曼機的能量函數(shù)如下其中,D為可視層單元個數(shù),F(xiàn)為隱藏層單元個數(shù),θ={W,b,a}為模型參數(shù),Wij為可視層單元i與隱藏層單元j之間的權(quán)重系數(shù);ai和bj分別為相應(yīng)單元的偏置。受限玻爾茲曼機的隱藏層單元之間、可視層單元之間是相互獨立的,在已知可視向量v的情況下,隱藏層單元h的概率分布可以表示為同理,給定隱含層狀態(tài)時,可視層單元v的概率分布可以表示為其中,sigma(x)=1/[1+exp(-x)]為S形激活函數(shù)。為了訓(xùn)練受限玻爾茲曼機,對模型參數(shù)求偏導(dǎo),得到其中,表示數(shù)據(jù)分布Pdata(h,v;θ)=P(h|v;θ)Pdata(v)的期望,表示經(jīng)驗分布,表示式(19)模型分布的期望。采用對比散度方法對深度信念網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練求解模型參數(shù),即其中,α為學(xué)習(xí)率,PT表示訓(xùn)練數(shù)據(jù)初始化后進(jìn)行T步吉布斯(Gibbs)采樣的概率分布,T設(shè)置為1。設(shè)v0為可視層初始狀態(tài),具體采樣過程描述如下:h0~p(h|v0),v1~p(v|h0)h1~p(h,v1),v2~p(v|h1)其中,x~p(h|v0)表示x是從概率p(h|v0)上得到的隨機采樣。通過以上步驟對梯度進(jìn)行估計的過程稱為對比散度。以上的梯度估計過程,可以使用隨機梯度下降法,在訓(xùn)練集內(nèi)迭代,選擇v0進(jìn)行參數(shù)的更新。對于偏置向量b和a的更新,采用類似的過程,具體算法如下所示:輸入:訓(xùn)練樣本的混合語音特征x,RBM的權(quán)重Wi,偏置bi和ai,學(xué)習(xí)率為α初始化RBM參數(shù):W←Wi,b←bi,a←aiv0←x吉布斯采樣過程(對比散度過程):h0~p(h|v0)v1~p(v|h0)h1←sigma(b+Wv1)模型參數(shù)更新過程:ai←ai+α(v0-v1)進(jìn)一步地,Softmax分類器的基礎(chǔ)是Logistic回歸(LogisticRegressior,LR)分類器,Logistic回歸分類器只能實現(xiàn)非線性的二分類,因此Softmax分類器對Logistic回歸分類器進(jìn)行了擴展,使其能夠同時對多個類別進(jìn)行劃分。在深度信念網(wǎng)絡(luò)的頂層加入Softmax分類器,并對這層進(jìn)行訓(xùn)練,得到該層的參數(shù),具體過程如下:其中:fθ(x)=WdX+bd,θ={Wd,bd},X為隱藏層各神經(jīng)元狀態(tài),θ為模型參數(shù),數(shù)據(jù)分類用t=[0,1]d表示,那么當(dāng)?shù)趇個模式分類為真時,ti=1;否則,ti=0;Si的損失函數(shù)采用交叉熵形式采用使式(31)的損失函數(shù)最小,調(diào)整訓(xùn)練深度學(xué)習(xí)模型參數(shù)θθ*=argminθJ(t,S)(32)采用梯度下降法迭代更新模型參數(shù)θ,使得損失函數(shù)達(dá)到最小。對深度學(xué)習(xí)模型參數(shù)θ求偏導(dǎo)得到從式(33)可以得到,模型參數(shù)的更新過程為其中,λ為加權(quán)因子,η為學(xué)習(xí)因子。S5:將說話人的語音特征輸入到完成訓(xùn)練的深度信念網(wǎng)絡(luò)模型中。計算該模型輸出與其他說話人的相似概率,取概率最大所對應(yīng)的說話人作為識別結(jié)果。具體如何識別采用如下方式:(1)識別模型底層的輸出狀態(tài)作為下一個隱含層的輸入狀態(tài),逐層計算,最終得到DBN模型最頂層的輸出狀態(tài),如式(31)所示:XL=WL-1XL-1+bL-1(35)其中,L為DBN模型層數(shù),XL為第L層的輸出狀態(tài),XL-1為第L-1層的輸出狀態(tài),bL-1為第L-1層的偏置項,WL-1為第L層與第L-1層的權(quán)重關(guān)系。(2)計算Softmax回歸層輸出狀態(tài)YY=WLXL+c(36)其中,WL為DBN最頂層與Softmax回歸層間的權(quán)重關(guān)系,c為該層的偏置項。(3)通過式(32)得到Softmax回歸層輸出狀態(tài)Y后,用Softmax分類器計算待測語音相似于第i個說話人的概率。其中,xi為Y的第i個分量,d為Y的維數(shù)。(4)將pi的最大值對應(yīng)的第i個說話人作為待測語音的識別結(jié)果。實施例:在實驗中,所用的參數(shù)為:語音采樣率為16kHz,采用16比特編碼的PCM格式語音,幀長16毫秒,預(yù)加重系數(shù)a=0.9375;短時能量與短時過零率的閾值分別為67108864與30;選取10個說話人,每個說話人用來訓(xùn)練的語音長度大約10秒,用來測試的語音單元長度分別取0.4秒、0.8秒、1.2秒、1.6秒與2.0秒,語音特征參數(shù)分別選取16維的MFCC、16維的GFCC以及MFCC與GFCC組合成32維的特征向量,深度信念網(wǎng)絡(luò)模型的隱含層層數(shù)為3層,每個隱含層上的神經(jīng)元個數(shù)為50個,訓(xùn)練次數(shù)為500次。說話人識別結(jié)果如表3所示,然后將不同語音特征的系統(tǒng)識別結(jié)果繪制出折線圖如圖9所示。表3分別采用GFCC、MFCC、GFCC+MFCC特征參數(shù)的說話人識別率測試語音單位時間(秒)0.40.81.21.62.0MFCC(%)67.583.793.197.598.8GFCC(%)65.481.493.896.898.8GFCC+MFCC(%)72.485.495.298.098.8從表3可以看出,當(dāng)測試語音單位長度在0.8秒時,MFCC+GFCC方法識別率最好,其次是MFCC,最差為GFCC。當(dāng)測試語音單位長度大于1.2秒時,MFCC+GFCC方法識別率達(dá)到98%以上。從圖8中也可以明顯看出,當(dāng)測試語音單位長度大于1.2秒時,三種特征得到的系統(tǒng)識別率都很高,但是在測試語音單位長度小于1秒時,MFCC+GFCC的組合能夠比單獨使用MFCC與GFCC得到更高的系統(tǒng)識別率,此實驗驗證了本發(fā)明的有效性。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。