張學(xué)祥,雷菊陽
(上海工程技術(shù)大學(xué)機械與汽車工程學(xué)院,上海 201620)
物聯(lián)網(wǎng)時代,語音識別技術(shù)被視為實現(xiàn)下一代人機交互的關(guān)鍵技術(shù)。說話人識別技術(shù)作為語音識別技術(shù)中重要組成部分,被廣泛用于各種安全領(lǐng)域,在信息安全方面的作用顯得尤為重要[1]。說話人識別就是通過計算機訓(xùn)練提取說話人語音信號中的特征向量,自動地對說話人身份進(jìn)行判定的過程[2]。傳統(tǒng)說話人識別方法(GMM)屬于淺層不完全學(xué)習(xí)[3],通過提取語音的Mel頻率倒譜系數(shù)特征序列作為特征輸入,然后通過GMM參數(shù)來表征說話人身份[4-5]。然而對于處理說話人識別這種復(fù)雜非線性分類問題,采用傳統(tǒng)的線性系統(tǒng)理論顯然無法滿足分類的要求[6-7]。近年來,隨著GPU的開發(fā)以及數(shù)據(jù)集出現(xiàn),深度學(xué)習(xí)得到了空前的發(fā)展[8-9]。利用深層神經(jīng)網(wǎng)絡(luò)取代傳統(tǒng)的淺層模型,通過多層的非線性映射,可以對原始輸入特征提取更深層的特征表示,這在一定程度上模擬了人類語音信息的結(jié)構(gòu)化提取過程,從而找到了進(jìn)一步提高說話人識別準(zhǔn)確率的突破口。
文獻(xiàn)[10]提出了基于深度神經(jīng)網(wǎng)絡(luò)的說話人識別方法,通過提取MFCC聲學(xué)特征作為模型訓(xùn)練的輸入,但是DNN是一種鑒別性模型,它對輸入特征沒有類似于淺層模型的特征相互獨立的要求,以MFCC特征作為DNN的輸入,反而會損失有用信息。本文提出采用梅爾對數(shù)濾波器組特征(Fbank)作為輸入,可以得到更好的識別效果。
基于DNN-PP說話人識別系統(tǒng)是一個雙重識別系統(tǒng),分為主線識別和輔線輔助確認(rèn)這2個部分。主線識別是將測試人語音特征參數(shù)與基于DNN訓(xùn)練的話者模型進(jìn)行模型匹配,通過閾值設(shè)定判決說話人身份。鑒于閾值設(shè)定的人為主觀性對識別效果的影響,采用基于基音周期的說話人匹配的輔助確認(rèn)模式,通過建立注冊人的基音庫,利用DTW算法對測試人的基音周期進(jìn)行個性匹配,輔助基于DNN說話人識別的主線識別。
1.1.1 Fbank參數(shù)提取
相比于MFCC特征,對數(shù)梅爾濾波器組特征更接近于原始特征信息,有利于DNN學(xué)習(xí)模型獲取更具代表性的信息。所以本文直接采用對數(shù)梅爾濾波器組特征(Fbank)作為DNN的輸入[11-12],圖1是Fbank參數(shù)提取原理框圖。
圖1 Fbank參數(shù)提取過程
1.1.2 基音周期提取
基音周期描述了人在發(fā)濁音時聲帶振動的周期性,它包含了說話人語音信號的個性信息,因此基音周期的準(zhǔn)確提取對說話人識別的研究具有重要的意義。目前基音周期檢測技術(shù)有很多,主要有自相關(guān)法、倒譜法和小波變換。倒譜法對處理純凈的語音有比較準(zhǔn)確的效果,但是在加噪的語音中檢測效果并不理想[13];自相關(guān)法算法簡單,但是常會發(fā)生倍頻和半頻錯誤[14];而小波變換法具有較強的抗噪能力,但是在基音定位上存在困難[15]。本文采用小波變換和自相關(guān)法相結(jié)合的方法來對基音周期進(jìn)行檢測。
針對語音信號的非平穩(wěn)性,本文選擇短時自相關(guān)函數(shù)對語音信號進(jìn)行處理[16]。短時自相關(guān)函數(shù)處理結(jié)果如下:
(1)
其中,ei(m)表示第m點加窗處理后第i幀信號;ei(m+τ)表示延遲τ點后的加窗信號。
短時自相關(guān)函數(shù)法首先對原始信號進(jìn)行加窗處理,再將其與移位后的信號進(jìn)行相似度比較,當(dāng)相似度達(dá)到最大值時,則說明其移位距離等于基音周期。
深度神經(jīng)網(wǎng)絡(luò)是一個多隱層的多層感知器,由多個受限玻爾茲曼機(RBM)層組成,如圖2所示。每個RBM都可以用來學(xué)習(xí)不同的特征表示,越高層的特征表示越抽象,越具有不變性[17]。
圖2 RBM結(jié)構(gòu)示意圖
每個RBM都有一個可見層和一個隱藏層,單層節(jié)點之間互相獨立,層與層之間由權(quán)重連接,可見層單元和隱藏層單元滿足聯(lián)合概率分布:
(2)
其中,Z表示配分函數(shù),Z=∑v,hexp (-E(v,h));E(v,h)表示能量值。
RBM作為一種能量模型,它可以無監(jiān)督學(xué)習(xí)輸入數(shù)據(jù)的概率分布,最大可能地擬合輸入數(shù)據(jù)。將多個RBM疊加可以得到深度置信網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。
圖3 DNN特征學(xué)習(xí)過程
DNN通過這種無監(jiān)督學(xué)習(xí)自下而上逐層訓(xùn)練提取深層特征;每次只訓(xùn)練一層,并將訓(xùn)練輸出特征序列作為下一層RBM的輸入;然后采用反向傳播算法自上而下對網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)優(yōu)化[18]。
在本文中,DNN網(wǎng)絡(luò)包含2個隱藏層,每一個隱藏層包含250個單元,激活函數(shù)采用sigmoid函數(shù),沖量值設(shè)定為0.9,初始學(xué)習(xí)率大小為0.8,迭代次數(shù)共計30次,迭代10輪以后,每5輪迭代對學(xué)習(xí)率進(jìn)行減半一次[19]。輸入采用對數(shù)梅爾濾波器組特征參數(shù),目標(biāo)向量的維度根據(jù)訓(xùn)練集說話人數(shù)確定為100。本文在輸出層采用softmax線性分類器對之前學(xué)習(xí)到的特征回歸分類,從而得到基于上一層特征的特征向量。
動態(tài)時間規(guī)整DTW是一種模板匹配優(yōu)化方法,在基音周期匹配中,它用滿足一定條件的時間規(guī)整函數(shù)m=ω(n)將測試基音軌跡與說話人模型內(nèi)的基音軌跡規(guī)整到統(tǒng)一的空間尺度,通過匹配這2個基音周期序列的相似性,從而達(dá)到識別的效果。
時間規(guī)整函數(shù)ω應(yīng)滿足:
(3)
其中,T(n)表示測試模板第n幀的特征參數(shù);R(ω(n))表示參考模板第m幀的特征參數(shù);d表示2個特征參數(shù)之間歐氏距離測度;D表示累積歐氏距離最小時的匹配路徑。
但是如果直接根據(jù)傳統(tǒng)時間規(guī)整算法進(jìn)行基音匹配,計算復(fù)雜度過高,所以采用一種DTW的最優(yōu)匹配路徑改進(jìn)算法,改進(jìn)后的動態(tài)規(guī)整距離函數(shù)[20]為:
(4)
這是在原來最小累計距離函數(shù)的基礎(chǔ)上,采用逆向搜索的方法,尋找與當(dāng)前節(jié)點的(x,y)累計距離最小的前續(xù)節(jié)點作為路徑點,避免了傳統(tǒng)DTW算法逐點匹配帶來的計算量問題。
利用DTW算法實現(xiàn)對說話人基音周期的個性匹配,輔助基于DNN話者模型的主線識別,可以有效地避免因閾值設(shè)定問題導(dǎo)致的系統(tǒng)識別率下降情況的發(fā)生。其主要過程為:當(dāng)基于DNN話者模型的主線識別過程中發(fā)生閾值溢出時,通過將待測說話人語音與系統(tǒng)注冊人基音庫中的基音周期進(jìn)行個性匹配,獲得對應(yīng)的說話人身份LabelA,將其與主線識別中最高相似程度的說話人身份LabelB進(jìn)行對比,如果2個模型識別說話人身份相同,則說明是DNN錯誤拒絕,即時糾正,否則,判定為陌生人語音輸入。
給定一組注冊人S={S1,S2,…,Sn},對每個注冊人語音進(jìn)行基音提取,建立基音庫;假設(shè)注冊人S1對應(yīng)一個語料集X1={ο1,1,ο1,2,…,ο1,n},對每個語料集中的每一條語音ο1,i提取Fbank參數(shù),輸入到已訓(xùn)練好的DNN網(wǎng)絡(luò),提取DNN網(wǎng)絡(luò)的倒數(shù)第二層輸出向量作為相關(guān)因子p1,1,得到P1={p1,1,p1,2,p1,3,…,p1,n},最后對P1做平均值處理作為表征注冊人S1的相關(guān)因子P,如此就獲得基于DNN的話者模型。
在測試階段,提取說話人語音信號Fbank參數(shù),然后通過已經(jīng)訓(xùn)練好的DNN獲得其相關(guān)因子Pi,最后計算測試語音的Pi和注冊語音的P之間的相似度。將這個值與事先給定的閾值比較并進(jìn)行判決,若滿足閾值條件,說明識別成功,若發(fā)生閾值溢出,應(yīng)轉(zhuǎn)入輔線輔助確認(rèn),當(dāng)由DTW匹配出基音周期得出的說話人身份LabelA與主線識別輸出的最大相似的說話人身份LabelB一致時,則認(rèn)為是主線識別的錯誤拒絕,應(yīng)及時糾正,否則判定為陌生人的語音輸入,具體流程如圖4所示。
圖4 DNN-PP說話人識別過程
本文實驗樣本數(shù)據(jù)是利用軟件Cool Edit Pro 2.1在安靜的環(huán)境下對說話人語音進(jìn)行采集,采樣頻率為16000 Hz,保存為.wav格式文件。
實驗中參與錄制人數(shù)共120人,60個男生和60個女生,錄制的內(nèi)容無文本要求,錄制時間為4 s,每個人錄制語音各50遍,其中100人語音集用于DNN訓(xùn)練,其余20人語音集用于注冊和驗證。實驗中一次注冊人數(shù)為2人,選擇注冊人每個人的語料集的前30遍語音用于注冊,后20遍語音用于確認(rèn)測試,其他未選中的人的錄音中每人隨機選中20遍語音作為本組測試的錯誤測試。
本文采用等錯誤率(EER)作為系統(tǒng)性能的評價指標(biāo),為使實驗結(jié)果更直觀,筆者將由實驗得到的錯誤接受率(FAR)和錯誤拒絕率(FRR)分別作為橫縱坐標(biāo)繪制二維曲線。找到FAR與FRR相等的點即為等錯誤率,等錯誤率越小,說明算法識別性能越優(yōu)越。在圖中直觀地顯示就是曲線離坐標(biāo)原點越近。
為了測試基于DNN-PP模型的說話人識別方法的優(yōu)越性,作為對比,在相同數(shù)據(jù)集的條件下,使用了另外2種說話人識別算法:使用K-mean算法獲得GMM初始化參數(shù),再利用EM算法建立GMM模型,基于GMM參數(shù)的說話人識別[21-22],用EM-GMM表示;直接利用語音的梅爾對數(shù)濾波器組特征作為輸入訓(xùn)練DNN模型[23-24](閾值設(shè)定統(tǒng)一),通過DNN模型參數(shù)表征說話人特有的個性信息,用DNN表示。
圖5 基于相同數(shù)據(jù)集下3種算法的DET曲線
圖5是基于相同數(shù)據(jù)集下3種算法的DET曲線,可以看出DNN-PP系統(tǒng)EER最低為1.6%,較DNN系統(tǒng)的EER降低了1.2%,而EM-GMM系統(tǒng)的EER明顯最高為4%,這說明基于DNN-PP模型的說話人識別系統(tǒng)性能要優(yōu)于GMM系統(tǒng)。
表1 相同數(shù)據(jù)集上不同隱層數(shù)的DNN-PP系統(tǒng)等錯誤率
L×N1×1502×1503×1504×1505×150DNN-PP3.9%3%2.3%2%1.9%2×N2×2002×2502×3002×350DNN-PP2.2%1.6%1.3%1.2%
表1是基于相同數(shù)據(jù)集上,測試不同隱層數(shù)量對DNN-PP系統(tǒng)性能的影響。當(dāng)使用1層隱層時,EER為3.9%,基本與EM-GMM系統(tǒng)識別性能相當(dāng);當(dāng)使用2層隱層時,EER為3%,相比一個隱層的識別效果有了明顯的提高;當(dāng)層數(shù)為5層時,EER降低到1.9%,但是當(dāng)層數(shù)大于3時,隱層數(shù)量的增加對識別性能的提升幫助并不是很大。為了證實隱層單元數(shù)關(guān)鍵性作用,在2層隱層的基礎(chǔ)上增加每個隱層的單元數(shù),結(jié)果也顯示在表1中。當(dāng)各隱層包含350個單元時EER可以降低到1.2%。權(quán)衡系統(tǒng)識別性能與訓(xùn)練時間成本,采用2個隱層,每層250個單元可以滿足實際應(yīng)用。
圖6是基于相同數(shù)據(jù)集上,不同信噪比下3種說話人識別方法的性能。對于DNN-PP系統(tǒng),信噪比每下降1 dB會有絕對0.35%的EER的增長;DNN系統(tǒng)信噪比每下降1dB會有絕對0.57%的EER的增長;而EM-GMM系統(tǒng)對噪聲影響的表現(xiàn)最差,信噪比每下降1 dB會有絕對0.92%的EER的增長。DNN-PP系統(tǒng)和DNN系統(tǒng)曲線變化較GMM系統(tǒng)更為平緩,因此可以說明DNN-PP系統(tǒng)比GMM系統(tǒng)更具有魯棒性。與DNN系統(tǒng)相比,DNN-PP系統(tǒng)在噪聲環(huán)境中的識別效果有了一定程度的改善。
圖6 相同數(shù)據(jù)集上,在不同信噪比下3種算法性能對比
本文提出了一種相對于GMM說話人識別系統(tǒng)更好的DNN-PP系統(tǒng),通過實驗數(shù)據(jù)對比,基于本文DNN-PP模型的說話人識別方法在識別率和魯棒性方面都明顯優(yōu)于傳統(tǒng)的基于GMM模型的說話人識別,較單純使用DNN方法的識別率有了進(jìn)一步的提高。但是該說話人模型在正常信噪比范圍內(nèi)識別性能仍然存在較大的波動,在接下來的研究中還有待改進(jìn)。