陳覺之,張貴榮,周宇歡
(1.海軍指揮學院信息系,江蘇 南京 211800;2.中國人民解放軍92601部隊計量站,廣東 湛江 524009;3.解放軍理工大學指揮信息系統(tǒng)學院,江蘇 南京 210007)
基于概率統(tǒng)計方法的高斯混合模型(GMM)在說話人識別中可以獲得較好的性能,特別在閉集條件下,說話人辨認的準確率已經(jīng)相當高。但是,當進行說話人確認或在開集條件下進行說話人辨認時,性能下降明顯,這是因為對于GMM模型,確認閾值的設定是一個較難解決的問題。GMM模型的確認閾值是通過實際測試并采用經(jīng)驗的方法設定,對于不同的數(shù)據(jù)集,閾值需要通過實驗反復調(diào)整。由于基于GMM模型的識別方法的似然得分會隨著測試數(shù)據(jù)的不同而有很大的變化,因此在設定閾值時,一般還需要先對得分進行規(guī)整。目前流行的方法是利用大量不同說話人的語料建立一個統(tǒng)一的背景模型(UBM)[1],將測試說話人的得分減去在統(tǒng)一背景模型中的得分后再進行判決。但是,統(tǒng)一背景模型的訓練需要大量的語料,訓練的時間很長,而且相對比較固定,不易根據(jù)環(huán)境做自適應變化,因此有待進一步改進。另外一種得分規(guī)整的方法[2]是將每個說話人模型得分的幾何平均值作為參考進行得分規(guī)整,這種規(guī)整方法與具體的訓練集合有關,同時也與當前測試語音相關,因此有很大的靈活性。然而這種方法仍然是基于概率統(tǒng)計方法的,似然得分的準確性與訓練和測試的語料有關,當語料不充分時,性能會大大降低。
本文引入?yún)^(qū)分性模型進行說話人確認,試圖彌補概率統(tǒng)計模型的缺陷。區(qū)分性模型從考慮類別的邊界出發(fā),利用優(yōu)化方法尋找區(qū)分樣本的最優(yōu)分界面。支持向量機(SVM)是目前應用最廣泛的區(qū)分性模型,但是SVM也存在一定的缺陷,在反類數(shù)據(jù)難以獲得或類別不平衡時,其識別性能會大打折扣,例如計算機的登錄系統(tǒng),往往只能獲得機主或少數(shù)幾個人的語音信息,反類信息難以獲得和確定,此時基于單分類的區(qū)分性模型可以有效解決這一問題。
SVDD[3]是一種單分類區(qū)分性模型,與 SVM不同,它的分類界面不再是超平面,而是一個包含全部個體的超球面,因此在只有少量反類數(shù)據(jù),甚至沒有反類數(shù)據(jù)時也能實現(xiàn)對目標類的識別。另外,由于SVDD的邊界可以在訓練時通過調(diào)整懲罰因子和核參數(shù)來控制,因此相比GMM模型,確認閾值的設定更加簡便[4-5]。
本文根據(jù)說話人語音和SVDD模型的特點[6],改變傳統(tǒng)SVDD模型硬判決的方式,采用以樣本接受率為指標的軟判決方法[7],提高了說話人確認系統(tǒng)的識別率和魯棒性。
SVDD是Tax在SVM的基礎上提出的一種單分類器算法[8]。SVDD的基本思想是:通過核函數(shù)將輸入空間映射到一個高維空間,并在這個高維空間構造一個包含所有訓練樣本點的最小球體,在球面上的樣本點即為SVDD的支持向量。
假設有一類緊密的有界數(shù)據(jù)集f(x),可以借助一個球心為a和半徑為R的超球體包含并描述它。由于訓練樣本中一般含有噪聲或野值,為提高結果的魯棒性,對每個樣本引入松弛變量ξi≥0,?i,這樣就得到包含大多數(shù)目標類訓練樣本的超球體,其目標函數(shù)為:
其中n是數(shù)據(jù)集中樣本的總數(shù),C是正則化參數(shù),約束條件為:
利用Lagrangian函數(shù)求解上述約束下的最小化問題,當輸入空間的樣本點不滿足球狀分布時,可以通過核方法把輸入空間先映射到高維空間,然后在映射后的高維空間內(nèi)求解,也就是將內(nèi)積運算變換成核函數(shù)形式:
其中φ為非線性映射,引入核函數(shù)后,Lagrangian函數(shù)形式如下:
約束為:
假設z為測試樣本,當滿足式(6)時,相當于z落在該超球體內(nèi)部,即判z是正常類,否則為異常類。
綜上所述,SVDD屬于基于支持向量的單分類技術,它利用核方法提升非線性分類能力,可以解決實際應用時小樣本或樣本不平衡的問題。
核函數(shù)對SVDD的性能影響較大,目前比較常用的核函數(shù)有3 種[9]:
(1)多項式函數(shù):
(2)高斯函數(shù):
(3)Sigmoid函數(shù):
本文將研究不同核函數(shù)下說話人確認系統(tǒng)的性能,并選擇最優(yōu)的核函數(shù)作為最終仿真實驗時SVDD的核函數(shù)。
基于SVDD模型的說話人確認系統(tǒng)分為訓練和測試兩個階段,其流程如圖1所示。
圖1 基于SVDD模型的說話人確認系統(tǒng)流程圖
訓練階段需要考慮3部分內(nèi)容:說話人語音特征、懲罰因子和核函數(shù)參數(shù),其中后兩種參數(shù)的調(diào)節(jié)對SVDD模型至關重要。
懲罰因子C對分界面的影響很大,其值越大,表示樣本被拒絕的代價越高,因此被拒絕的樣本數(shù)量越少,分界面容積越大。不同的核函數(shù)需要調(diào)節(jié)的參數(shù)不同,現(xiàn)以高斯核函數(shù)[10]為例,介紹核參數(shù)對分界面的影響。高斯核函數(shù)中只有一個參數(shù)s需要調(diào)節(jié),s越大,分界面越平滑,被選中的支持向量越少,分界面的容積也越大;相反分界面會越緊致,由于緊貼樣本點,分界面的容積較小,形狀較曲折。如圖2所示,參數(shù)C從上到下增大,參數(shù)s從左到右增大。
圖2 懲罰因子和核函數(shù)參數(shù)對分界面的影響
測試階段是將需要測試的說話人語音特征,輸入到相應的說話人SVDD模型,并與確認閾值比較,得到最終的判決結果。測試階段最主要的問題是樣本類別的判決方式。傳統(tǒng)的方法是比較樣本到球心a的距離與半徑R的大小,如果小于R則判決樣本屬于該模型。但是Mel頻率倒譜系數(shù)(MFCC)[11-12]和線性預測編碼(LPC)等語音特征中不僅包含了說話人信息,同時也包含了語義、情感等信息,因此不同說話人的MFCC和LPC在特征空間上的分布是交織的,傳統(tǒng)方法的正確率并不高??紤]到說話人語音特征這一實際特性,可改變傳統(tǒng)硬判決方式,采用樣本接受率為最終判決依據(jù)[13]。
設測試語音Stest的測試樣本數(shù)為N,單個樣本仍然用傳統(tǒng)方法判決,設被接受的樣本個數(shù)為S,定義該模型的樣本接受率為:Rscore=S/N,此時Rscore∈[0,1],當測試語音的樣本接受率Rscore=1時,表示測試語音屬于該模型;當Rscore=0時,表示測試語音不屬于該模型;當Rscore∈(0,1)時,其值反映了測試語音屬于該模型的程度。因此最終的判決條件為:
其中,T為確認閾值。確認閾值可以是所有模型統(tǒng)一設定,也可以各個模型單獨確定,相比而言,后者的等錯識率(EER)會低一些,這是因為SVDD模型的訓練是分別進行的,各模型的訓練樣本不同,導致SVDD模型的形狀和半徑也不同,因此各模型的最優(yōu)確認閾值也不相同。
本節(jié)主要通過實驗選取最優(yōu)的核函數(shù),并通過網(wǎng)格搜索方法調(diào)節(jié)懲罰因子和核參數(shù),使基于SVDD模型的說話人確認系統(tǒng)性能達到最優(yōu)。
實驗固定懲罰因子C為0.01,分別調(diào)節(jié)多項式核函數(shù)和高斯核函數(shù)的參數(shù),其等錯識率的變化分別如表1和表2所示。多項式核函數(shù)主要調(diào)節(jié)核的階數(shù)d,實驗中d從1到3變化。
表1 基于多項式核函數(shù)的SVDD等錯識率隨參數(shù)的變化
高斯核函數(shù)主要調(diào)節(jié)核的寬度s,實驗中s從0.3到3變化。
表2 基于高斯核函數(shù)的SVDD等錯識率隨參數(shù)的變化
表1和表2顯示了兩種核函數(shù)在不同核參數(shù)下的等錯識率,可以看出,基于高斯核函數(shù)的性能總體較好。因此SVDD模型選取高斯核函數(shù)。
在模型訓練中,一個最重要的問題是調(diào)節(jié)懲罰因子C和高斯核參數(shù)s,使得系統(tǒng)性能最優(yōu)[14],本文采用網(wǎng)格搜索(grid-search)方法,首先固定懲罰因子C,調(diào)節(jié)高斯核參數(shù)s,得到較優(yōu)的高斯核參數(shù);接著固定高斯核參數(shù)s,調(diào)節(jié)懲罰因子C,得到較優(yōu)的懲罰因子,最后在較優(yōu)的(C,s)附近搜索,從而得到最終的(C,s)。表3顯示所有模型統(tǒng)一設定閾值條件下,SVDD模型的等錯識率。
表3 統(tǒng)一設定閾值條件下的EER
由表3 看出,SVDD 模型在 C=0.007 ~0.003,s=0.3~0.6范圍內(nèi),等錯識率變化不大,大多數(shù)都分布在0.071 ~0.057 之間,而當 C=0.004,s=0.5 時,EER=0.0571。
表4 單獨設定閾值條件下的EER
表4考慮分別設置各SVDD模型的確認閾值,可以看到,分別設定閾值后,等錯識率均有所下降,分布范圍在0.057 ~0.045 之間,而在 C=0.003,s=0.4時,等錯識率最低,為0.045。
為了檢驗算法的識別性能,對算法進行計算機仿真實驗,并與基于GMM模型的算法性能進行比較。實驗中語音數(shù)據(jù)庫為TIMIT,選用其中50人,每個人有20句語音,長度均為2秒。訓練和識別分別選不同的10句。所有的語音均為16kHz采樣,16位精度,按幀提取13維MFCC和16維LPC特征參數(shù),幀長和幀移均為16ms。
本文采用交叉驗證法,每次選取一個說話人的語音作為正類樣本,其余49人的語音作為反類樣本,并取50次實驗的平均等錯識率作為系統(tǒng)性能的評價標準。實驗分別在訓練樣本充分、訓練樣本不充分和有反類數(shù)據(jù)3類訓練條件下進行。
GMM模型的調(diào)節(jié)參數(shù)主要是混合度M,本文試驗了一系列M值,取最優(yōu)結果與SVDD模型比較。本節(jié)試驗了在20s訓練語音條件下兩模型的性能,結果如表5所示。
表5 GMM與SVDD比較(20s訓練數(shù)據(jù))
表5顯示當訓練樣本充分時,SVDD的訓練時間較長,這是因為SVDD的訓練過程就是搜索支持向量的過程,其計算時間隨樣本數(shù)目呈冪次增長,當訓練樣本的數(shù)目較多時,訓練時間較長。而識別時,由于只需計算樣本到球心的距離,因此識別時間SVDD更占優(yōu)勢,同等條件下相比 GMM識別時間減少了26.2%;等錯識率無論是在統(tǒng)一設定閾值還是單獨設定閾值條件下,與GMM相比都低近23%。
本文在小樣本訓練條件下,重復了前面的實驗。在模型訓練時僅選用2秒的語音作為訓練樣本,分別比較了兩模型在統(tǒng)一設定閾值和單獨設定閾值的性能。
表6 GMM與SVDD比較(2s訓練數(shù)據(jù))
從表6可以看出,在訓練樣本不足條件下,兩模型的等錯識率都有所增加,但是SVDD的等錯識率仍然較低,且兩者差距更加明顯,體現(xiàn)了SVDD在小樣本訓練條件下的優(yōu)勢。統(tǒng)一設定閾值條件下,SVDD的EER比GMM低31%,單獨設定閾值條件下,EER低23%。另外,在小樣本條件下,由于訓練樣本減少,SVDD的訓練時間迅速減少,其訓練時間和識別時間都只有GMM模型的1/6左右,更加滿足實時處理的要求。
本文還比較了SVDD有反類數(shù)據(jù)參與訓練時兩類模型的性能。GMM模型采用20秒的訓練數(shù)據(jù),全部是正類樣本,而SVDD模型采用10秒的正類數(shù)據(jù)和588個反類樣本(相當于10秒語音)訓練,反類數(shù)據(jù)隨機從另外的49人中選取。
從表7可以看出,在反類樣本參與訓練時,雖然正類訓練樣本只有GMM模型的一半,但SVDD模型的誤識率依然較低。統(tǒng)一設定閾值條件下,SVDD的EER比GMM低18.94%,單獨設定閾值條件下,EER低8.95%。因此,在無法獲得更多正類樣本時,增加反類樣本可以繼續(xù)提升SVDD的性能,這一特點在實際應用中也是非常有用的。
表7 GMM與SVDD比較(SVDD有反類訓練樣本)
從表5、表6、表7所顯示的3種不同訓練條件下對基于SVDD和GMM模型的說話人確認方法仿真對比數(shù)據(jù)可以看出,前者有比較明顯的優(yōu)勢,特別是在小樣本訓練條件下尤為突出。
GMM模型的似然得分易隨測試條件變化,導致其確認閾值較難設定。本文引入?yún)^(qū)分性模型SVDD進行說話人確認,并結合語音中各種信息混雜的特點,設計出軟判決方式,提高了說話人確認的魯棒性和識別率。實驗顯示,在訓練樣本充分和小樣本訓練條件下,SVDD的識別時間和識別率都較GMM更優(yōu),而在缺少正類樣本情況下,通過增加反類樣本依然可以提升SVDD的識別性能。
SVDD模型中(C,s)的選取是比較繁重的工作,目前是采用格型搜索的方式,遍歷最優(yōu)參數(shù)可能出現(xiàn)的區(qū)域,雖然可以利用先驗的知識減少一定的搜索范圍,但總體上還是十分耗時的。因此,下一步考慮引進遺傳算法等全局性算法,使得參數(shù)選取的計算時間更少和準確性更高;實驗過程中發(fā)現(xiàn)(C,s)與最終的確認閾值存在一定的關系,基于此可以進一步簡化(C,s)的選取和閾值的設定過程。另外,實驗顯示,SVDD和GMM模型存在互補性,因此下一步將考慮融合兩模型的優(yōu)點進行說話人確認實驗,以期得到更佳的識別性能。
[1] Reynolds D A,Quatieri T F,Dunn R B.Speaker verification using adapted Gaussian mixture models[J].Digital Signal Processing,2000,10(1-3):19-41.
[2] Sturim D E,Reynolds D A.Speaker adaptive cohort selection for Tnorm in text-independent speaker verification[C]//Proceedings of the 2005 IEEE International Conference on Acoustics,Speech,and Signal Processing.2005,1:741-744.
[3] Tax D M J,Duin R P W.Support vector data description[J].Machine Learning,2004,54(1):45-66.
[4] Banerjee A,Burlina P,Diehl C.A support vector method for anomaly detection in hyperspectral imagery[J].IEEE Transactions on Geoscience and Remote Sensing,2006,44(8):2282-2291.
[5] Banerjee A,Burlina P,Meth R.Fast hyperspectral anomaly detection via SVDD[C]//Proceedings of the 2007 IEEE International Conference on Image Processing.2007,4:101-104.
[6] Xin D,Wu Z,Zhang W.Support vector domain description for speaker recognition[C]//Proceedings of the 2001 IEEE Signal Processing Society Workshop on Neutral Networks for Signal Processing.2001:481-488.
[7] Tao X,Chen W,Du B,et al.A novel model of one-class bearing fault detection using SVDD and genetic algorithm[C]//Proceedings of the 2007 IEEE Conference on Industrial Electronics and Applications.2007:802-807.
[8] Tax D M J,Duin R P W.Support vector domain description[J].Pattern Recognition Letters,1999,20(11-13):1191-1199.
[9] Niu Q,Xia S,Zhou Y,et al.Fault condition detection based on wavelet packet transform and support vector data description[C]//Proceedings of the 2008 IEEE International Symposium on Intelligent Information Technology Application.2008,1:776-780.
[10] Bu H,Wang J,Huang X.A practical and robust way to the optimization of parameters in RBF kernel-based oneclass classification support vector methods[C]//Proceedings of the 5th International Conference on Natural Computation.2009:445-449.
[11] 甄斌,吳璽宏,劉志敏,等.語音識別和說話人識別中各倒譜分量的相對重要性[J].北京大學學報:自然科學版,2001,37(3):371-378.
[12] 楊大利,徐明星,吳文虎.語音識別特征參數(shù)選擇方法研究[J].計算機研究與發(fā)展,2003,40(7):963-969.
[13] Guo L,Xiao H,F(xiàn)u Q.Fuzzy recognition method for radar target based on KPCA and SVDD[C]//Proceedings of the SPIE,MIPPR 2007:Pattern Recognition and Computer Vision.2007,6788:15-17.
[14] Wang C,Ting Y,Liu Y.A novel approach of feature classification using support vector data description combined with interpolation method[C]//Proceedings of the 34th IEEE Annual Conference on Industrial Electronics.2008:1828-1832.