李旭東, 周林華
(長春理工大學(xué) 理學(xué)院, 長春 130022)
聲紋識別是根據(jù)人體自身聲音特征識別身份的一種生物認(rèn)證技術(shù)[1]. 基于聲紋識別的數(shù)據(jù)集, 聲紋識別可分為閉集和開集兩類. 關(guān)于閉集聲紋識別的研究目前已取得了許多成果, 但關(guān)于開集聲紋識別的研究報道較少且難度較大. 在實際應(yīng)用中, 很難選擇出一個閾值判斷測試樣本是否存在于訓(xùn)練集中, 而所選閾值是否合適直接影響模型識別的準(zhǔn)確性. 目前較經(jīng)典的閾值有固定閾值[2-3]、 自適應(yīng)動態(tài)閾值[4]和RS閾值[5-6]. 開集聲紋識別系統(tǒng)中基于得分規(guī)整法[7-8]、 兩級決策的說話人辨認(rèn)法[9]等方法已取得了一定的成果, 但實際應(yīng)用中還存在特征參數(shù)提取、 模型算法的缺陷、 閾值計算等諸多問題. 因此, 本文結(jié)合深度置信網(wǎng)絡(luò)(DBN)從Mel倒譜系數(shù)(MFCC)中提取語音深層特征, 通過Gauss混合模型(GMM)計算特征的相似度值, 并在此基礎(chǔ)上提出一種基于大津算法的自適應(yīng)閾值計算方法, 最后計算出測試集上的精確度和召回率作為本文方法的性能評價指標(biāo).
大津算法(Otsu)[10-12]是在判別分析或最小二乘原理基礎(chǔ)上推導(dǎo)出來的. 基于Otsu算法的思想, 將空間分布有一定距離的兩組不同隨機變量產(chǎn)生的隨機數(shù)集合分為A,B兩部分, 遍歷閾值得到的類間方差越大, 表示分割效果越好.
對于總數(shù)為N的隨機數(shù)集合, 用L表示隨機數(shù)的最大值,ni表示隨機數(shù)為i的個數(shù),pi表示隨機數(shù)為i的概率, 則
(1)
(2)
將屬于集合A的數(shù)占總隨機數(shù)的比例記作ω0, 其平均值記作μ0, 則
(3)
將屬于集合B的數(shù)占總隨機數(shù)的比例記作ω1, 其平均值記作μ1, 則
(4)
集合A,B的方差表示為
(5)
從而可得隨機數(shù)集合的類內(nèi)方差為
(6)
類間方差為
(7)
最佳閾值T是使分離度η(T)最大時的數(shù)值, 表示為
(8)
深度置信網(wǎng)絡(luò)是由多層受限Boltzmann機(RBM)堆疊再加一層分類器而形成的一種深度學(xué)習(xí)模型, 深度置信網(wǎng)絡(luò)可發(fā)現(xiàn)特征之間的相互聯(lián)系, 選擇并組合特征, 從而提高特征的表征能力, 因此可作為聲紋特征的深度特征提取器[13-14]. RBM是一種基于統(tǒng)計熱力學(xué)原理的神經(jīng)網(wǎng)絡(luò), 通常情況下, 聲紋特征提取采用Gauss-Bernoulli RBM模型[15].
2.1.1 Gauss-Bernoulli RBM模型
RBM由兩層神經(jīng)元構(gòu)成: 一層是顯層神經(jīng)元vi, 用于表示輸入數(shù)據(jù); 另一層是隱層神經(jīng)元hj, 用于表示通過對輸入數(shù)據(jù)學(xué)習(xí)得到的內(nèi)在特征.兩層神經(jīng)元間全連接, 同一層神經(jīng)元間無連接.如果一個RBM有n個顯層神經(jīng)元,m個隱層神經(jīng)元, 則Gauss-Bernoulli RBM的能量定義為
(9)
其中θ={wij,ai,bj,σi}是RBM的參數(shù),wij表示第i個顯層神經(jīng)元與第j個隱層神經(jīng)元之間的權(quán)重,ai和bj表示對應(yīng)的偏置,σi表示顯層神經(jīng)元的標(biāo)準(zhǔn)差.基于式(9)的能量函數(shù), 可得(v,h)的聯(lián)合概率分布為
(10)
其中Z(θ)為配分函數(shù), 用于歸一化, 通過顯層神經(jīng)元和隱層神經(jīng)元所有可能分配的能量計算.訓(xùn)練RBM時, 由于顯層神經(jīng)元之間和隱層神經(jīng)元之間是條件獨立的, 因此v和h的條件分布如下:
(11)
(12)
為解決RBM的訓(xùn)練速度問題, 基于對比散度算法(CD)[16]得到RBM各參數(shù)的更新準(zhǔn)則:
Δwij=ε(〈vihj〉data-〈vihj〉recon),
(13)
其中ε表示學(xué)習(xí)率, 〈〉data表示模型的期望, 〈〉recon表示通過Gibbs采樣初始化數(shù)據(jù)得到的樣本分布期望.
2.1.2 RBM的訓(xùn)練
對一個多層DBN訓(xùn)練時, 先通過從語音中提取的MFCC作為第一個RBM的輸入, 并采用無監(jiān)督學(xué)習(xí)方式逐一訓(xùn)練RBM, 將訓(xùn)練好的RBM堆疊在一起, 作為DBN的預(yù)訓(xùn)練. 然后利用BP(back propagation)算法對DBN各層參數(shù)進(jìn)行微調(diào), 將誤差反向傳遞對其進(jìn)行修正.
2.1.3 聲紋深度特征提取
對輸入的原始24維MFCC特征做歸一化預(yù)處理, 使每個說話人的特征分布滿足μi=0及σi=1, 從而避免訓(xùn)練樣本分布的重新估計. 深度神經(jīng)網(wǎng)絡(luò)由3個RBM構(gòu)成, 網(wǎng)絡(luò)結(jié)構(gòu)為24-256-256-256, 輸出層是Softmax函數(shù), 聲紋深度特征輸出層取最后一個隱藏層, 經(jīng)過此網(wǎng)絡(luò)即可將24維的MFCC特征轉(zhuǎn)化為256維的深度聲學(xué)特征. 聲紋深度特征提取網(wǎng)絡(luò)如圖1所示.
圖1 聲紋深度特征提取網(wǎng)絡(luò)Fig.1 Voiceprint deep feature extraction network
將DBN提取到的深度聲學(xué)特征作為Gauss混合模型的輸入, 每個說話人的語音信號都在特定空間形成了特定分布, 可用這些分布描述說話人的個性特征. 通過訓(xùn)練GMM可得到屬于集內(nèi)說話人與屬于集外說話人的具有很高區(qū)分度的GMM相似度值.
GMM是一個可以用權(quán)重系數(shù)和為1的若干個Gauss分布表示一個說話人不同語音的模型[17-18]. 設(shè)某個說話人的輸入語音特征為X={x1,x2,…,xN},xi是D維特征矢量, 則以該語音特征訓(xùn)練混合度為M的GMM可表示為
(14)
其中:wk為對應(yīng)pk(xi|θk)的加權(quán)因子;pk(xi|θk)為第k個單Gauss分布模型, 且滿足
(15)
式中uk是均值,Σk為協(xié)方差矩陣.因此, GMM可用參數(shù)θ={wk,uk,Σk}表示.
由于模型中存在隱變量不易進(jìn)行參數(shù)求解, 因此通常采用最大期望(EM)算法進(jìn)行參數(shù)求解:
(16)
(17)
實驗所用音頻為清華大學(xué)CSLT公開的中文語音數(shù)據(jù)(THCHS-30). 為找到效果最佳的模型及模型所對應(yīng)的參數(shù), 本文將數(shù)據(jù)分為訓(xùn)練集、 開發(fā)集和測試集, 其中訓(xùn)練集8人(8人均為集內(nèi)), 每人8條音頻; 開發(fā)集與訓(xùn)練集為相同的8人, 每人20條音頻; 測試集3人(1人集內(nèi), 2人集外), 每人60條音頻. 實驗分為5組, 每組實驗依次選擇2人作為集外說話人, 其余8人輪流作為目標(biāo)說話人建模, 共進(jìn)行40次實驗.
在某說話人的DBN-GMM中, 經(jīng)檢驗屬于該說話人的特征相似度值近似服從正態(tài)分布, 而其他說話人的特征相似度值近似服從伽馬分布, 如圖2所示. 由于實際能參與訓(xùn)練的語音較少, 特征相似度值不足以準(zhǔn)確表征相似度值的分布情況, 故根據(jù)該說話人與其他說話人的相似度值所服從的分布產(chǎn)生兩個隨機數(shù)集合, 如圖3所示. 由圖3可見, 相似度值直方圖存在兩個波峰, 根據(jù)大津算法原理必存在能最合理劃分集內(nèi)與集外的最佳閾值.
圖2 集內(nèi)外相似度值分布Fig.2 Distribution of similarity values of inside and outside set
圖3 相似度值直方圖Fig.3 Histogram of similarity values
基于DBN-GMM的大津算法閾值確定方法實現(xiàn)步驟如下:
1) 將24維基本聲學(xué)特征MFCC經(jīng)DBN訓(xùn)練得到256維深度聲學(xué)特征;
2) 將256維深度聲學(xué)特征作為GMM的輸入, 計算特征的相似度值, 記集外特征相似度值的均值為L1, 集內(nèi)信號相似度值的均值為L2, 并根據(jù)相似度值檢驗集內(nèi)與集外相似度值符合的分布;
3) 根據(jù)該說話人與其他說話人相似度值符合的分布各產(chǎn)生10 000個隨機數(shù), 限制條件為其他說話人產(chǎn)生隨機數(shù)的最大值不大于該說話人相似度值的最小值, 該說話人產(chǎn)生隨機數(shù)的最小值不小于其他說話人相似度值的最大值;
5) 在區(qū)間(L1,L2)內(nèi)遍歷T, 并重復(fù)步驟4)計算出分離度η(T);
6) 取分離度η(T)最大時的T, 即為所求最佳閾值.
為驗證本文算法對集內(nèi)說話人和集外說話人的識別能力, 采用精確度和召回率作為評價指標(biāo), 計算公式為
(18)
(19)
其中TP表示將屬于集內(nèi)說話人的樣本正確預(yù)測為集內(nèi)說話人樣本的數(shù)量, FP表示將屬于集外說話人的樣本錯誤預(yù)測為集內(nèi)說話人樣本的數(shù)量, FN表示將屬于集內(nèi)說話人的樣本錯誤預(yù)測為集外說話人樣本的數(shù)量.
精確度反映對集外說話人的拒識能力, 召回率反映對集內(nèi)說話人的識別能力. 圖4為Otsu和EER的精確度對比, 圖5為Otsu和EER的召回率對比. 由圖4和圖5可見: 在與大津算法計算閾值算法相同的實驗環(huán)境下, 等錯誤率計算閾值的算法對于集內(nèi)說話人的識別率為99.18%, 對集外說話人的拒識率為98.54%; 本文算法對集內(nèi)說話人的識別率為99.32%, 對集外說話人的拒識率為100%. 因此, 本文提出的自適應(yīng)閾值計算方法無論是對集內(nèi)說話人的識別還是集外說話人的拒識都優(yōu)于傳統(tǒng)的等錯誤率法.
圖4 Otsu和EER的精確度對比Fig.4 Accuracy comparison of Otsu and EER
圖5 Otsu和EER的召回率對比Fig.5 Comparison of recall rate of Otsu and EER
綜上所述, 本文研究了開集聲紋識別閾值的計算方法, 提出了一種基于大津算法的開集聲紋識別動態(tài)閾值計算模型. 首先, 構(gòu)建DBN模型作為深度聲學(xué)特征提取器, 通過GMM計算特征的相似度值; 其次, 采用大津算法計算特征相似度值的最大分離度確定閾值; 最后, 在CSLT公開的語音數(shù)據(jù)庫進(jìn)行測試驗證. 實驗結(jié)果表明, 本文計算閾值的算法較等錯誤率計算閾值的算法具有更高的識別準(zhǔn)確率, 該方法可行、 有效.