龔 鋮,琚 煒
(中國科學技術(shù)大學 信息科學技術(shù)學院,安徽 合肥 230026)
基于I-Vector的多核學習SVM的說話人確認系統(tǒng)
龔 鋮,琚 煒
(中國科學技術(shù)大學 信息科學技術(shù)學院,安徽 合肥230026)
自I-Vector(身份認證矢量)被提出以來,基于I-Vector的說話人確認系統(tǒng)迅速取代了基于GMM超矢量的系統(tǒng)并開始流行。I-Vector-SVM系統(tǒng)作為其中之一,在通常訓練樣本較少的說話人確認領(lǐng)域有著獨特的優(yōu)勢,但其性能受核函數(shù)影響較大。因此,基于多核學習(MultipleKernelLearning,MKL)思想,構(gòu)建了基于I-Vector的多核學習SVM說話人確認系統(tǒng),并與I-Vector-SVM基線系統(tǒng)進行了性能比較?;贜IST語料庫的實驗表明,基于I-Vector的多核學習說話人確認系統(tǒng)相對于基線系統(tǒng)可取得一定的性能提升。
說話人確認;多核學習SVM;I-Vector
說話人確認是說話人識別的一個重要的研究方向,已經(jīng)在相當廣泛的領(lǐng)域內(nèi)發(fā)揮出重要的作用。近年來,基于由傳統(tǒng)高斯混合模型-通用背景模型(GMM-UBM)發(fā)展而來的全局差異空間(Total Variability space,TV)的I-Vector說話人確認系統(tǒng)逐漸成為研究的主流方向。相比傳統(tǒng)的高達數(shù)千維的GMM-UBM超矢量,I-Vector是從說話人聲道特征中提取的一種低維的特征矢量,可直接作為說話人的身份矢量,具有良好的區(qū)分性。因此,對I-Vector直接進行余弦評分,以及在I-Vector基礎(chǔ)上使用傳統(tǒng)的建模分類技術(shù),如SVM,DNN等,構(gòu)成了目前流行的說話人確認技術(shù)。
自文獻[1]首次提出SVM以來,其迅速成為模式識別領(lǐng)域的一大重要工具,也在說話人識別領(lǐng)域得到了廣泛的應(yīng)用。文獻[2]使用SVM對說話人的GMM-UBM超矢量進行分類,取得了良好的分類效果。隨著I-Vector的提出,在文獻[3]中,DEHAK N等首次利用SVM對說話人的I-Vector建模,構(gòu)建了區(qū)分性模型,性能相對前者有了較大提升。文獻[4]在此基礎(chǔ)上,分析了多種不同的核函數(shù)對I-Vector-SVM說話人識別系統(tǒng)性能的影響,也揭示了單核函數(shù)SVM性能的不穩(wěn)定。
隨著技術(shù)進步,單核函數(shù)SVM由于性能受核函數(shù)影響較大,基于多核學習思想(Multiple Kernel Learning)的多核函數(shù)SVM逐漸得到重視和研究。BACH F R等人在文獻[5]中首次提出了多核學習SVM(Multiple Kernel Learning-SVM,MKL-SVM)的概念,即將單核核函數(shù)用一組使用權(quán)值控制的核函數(shù)代替。MKL-SVM需要同時優(yōu)化兩類參數(shù)、核函數(shù)的權(quán)值和每個分SVM的參數(shù),因此,其優(yōu)化問題遠比單核SVM復雜。在提出MKL-SVM概念的同時,BACH F R等人建議利用混合范數(shù)取代通常SVM的l2范數(shù),提出將MKL-SVM的權(quán)值優(yōu)化問題轉(zhuǎn)化為一個與SVM優(yōu)化類似的問題。在此基礎(chǔ)上,文獻[6]進一步提出了SILP算法,該算法反復迭代優(yōu)化一個單核SVM,并將權(quán)值的優(yōu)化問題轉(zhuǎn)化為一個線性的隨著迭代而改變的問題??偨Y(jié)前兩者的經(jīng)驗,文獻[7]提出了Simple-MKL算法,該算法由于收斂速度快,得到了廣泛應(yīng)用。文獻[8]將MKL-SVM應(yīng)用在說話人GMM-UBM超矢量上,取得了良好的分類性能和魯棒性。
基于此研究現(xiàn)狀,本文首先針對I-Vector-SVM基線系統(tǒng)進行了深入研究,通過實驗研究對比了常見核函數(shù)的性能,在此基礎(chǔ)上,適當挑選一組核函數(shù)建立多核I-Vector-SVM說話人確認系統(tǒng),提升了說話人確認系統(tǒng)的整體性能。
1.1GMM-UBM系統(tǒng)
高斯混合模型-通用背景模型(GMM-UBM模型)建模的基本思想是: 首先利用大量說話人的語音數(shù)據(jù)通過期望最大化 (Expectation Maximum, EM) 算法訓練得到一個冒用者模型,即所謂的通用背景模型 (Universal-Background Model, UBM)。為了能夠充分表示冒認說話人特征分布,一般UBM 的混合度都非常高。該 UBM 提供了一個統(tǒng)一的參考坐標空間, 然后將說話人的語音訓練數(shù)據(jù)在該 UBM 上面進行最大后驗概率 (Maximum A Posterior, MAP) 自適應(yīng), 得到了代表該說話人的高斯混合概率密度函數(shù), 并將所有高斯模型的均值向量拼接成一個高維的均值超矢量作為說話人的身份向量。近年來,以GMM-UBM模型為基礎(chǔ)的說話人建模技術(shù)取得了非常大的成功, 使得說話人識別系統(tǒng)的系統(tǒng)性能有了顯著提升[9-10]。
1.2I-Vector的提取
在上述GMM-UBM超矢量的基礎(chǔ)上,利用因子分析的算法從中估計出全局差異矩陣(Total Variability Matrix),并將高維的GMM-UBM超矢量在該矩陣中進行投影,最終得到投影后的低維矢量I-Vector[3]。
M=m+Tw
(1)
其中,M表示高斯混合模型的均值超矢量,m表示一個與該說話人和信道參數(shù)均無關(guān)的矢量, 通常用通用背景模型均值超矢量來替代,T即全局差異矩陣。
一般地,在得到I-Vector之后還會進行一些信道補償工作,常見技術(shù)有類內(nèi)協(xié)方差規(guī)整(Within-Class Covariance Normalization, WCCN)[11]等。
2.1余弦評分
獲得說話人的I-Vector模型矢量后,可以直接使用余弦評分(CDS),即將說話人的模型矢量和待測試的模型矢量進行余弦距離打分,該分類器將說話人矢量ωtar和測試矢量ωtest的余弦距離分數(shù)直接作為判決分數(shù),并與閾值θ進行比較,如式(2)所示:
(2)
該評分方式通過歸一化矢量的模去除了矢量幅度的影響,計算簡單快捷,分類效果較好。
2.2I-Vector-SVM系統(tǒng)
支持向量機(SVM)是建立在統(tǒng)計學習理論和結(jié)果風險最小化理論基礎(chǔ)上的有監(jiān)督分類器,在解決非線性、高維度、小樣本分類問題中表現(xiàn)出獨特優(yōu)勢,特別適用于訓練數(shù)據(jù)較少的說話人識別領(lǐng)域。文獻[3]首次將SVM應(yīng)用于說話人識別,提出了流行相當長時間的GMM- SVM說話人識別系統(tǒng)。自文獻[2]提出I-Vector以來,I-Vector-SVM系統(tǒng)迅速替代了原有的GMM-SVM系統(tǒng),成為當前流行的說話人識別研究方向之一。
SVM的訓練過程即是在給定訓練樣本集X={(x1,y1), (x2,y2),…,(xn,yn)}的情況下,通過序列最小優(yōu)化(Sequential Minimal Optimization, SMO)算法找出區(qū)分正樣本點和負樣本點的最優(yōu)超平面。
在SVM的對偶問題(Dual Problem)里,目標函數(shù)和分類決策函數(shù)都只涉及實例點與實例點的內(nèi)積,所以不需要顯式地指定非線性變化,而是利用核函數(shù)巧妙地替換其中的內(nèi)積,此過程被稱為核技巧(Kernel Trick)。因此,SVM通過將低維的通常不可分的數(shù)據(jù)集映射到高維空間,不僅使得原本不可分的數(shù)據(jù)變得可分,而且由于在優(yōu)化過程中只需計算一次每對數(shù)據(jù)的核函數(shù)內(nèi)積,無需再進行顯性的映射,因此其計算量較小。因此,SVM得到了非常廣泛的運用。
一般地,滿足Mercer定理的函數(shù)可以用作核函數(shù),核函數(shù)種類眾多,在第4節(jié)會具體介紹。單核SVM的判別函數(shù)如式(3)所示:
(3)
2.3其他判決模型
除了SVM,其他較為流行的后端判決模型還有人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)[12],把特征提取和模型訓練結(jié)合到同一單個網(wǎng)絡(luò),通過其自適應(yīng)、自學習和自組織能力,使得特征和模型都能夠不斷優(yōu)化,從而達到最優(yōu)。
3.1MKL-SVM的結(jié)構(gòu)
MKL-SVM的本質(zhì)即使用一組核函數(shù)來代替單個核函數(shù),因此,新的核函數(shù)以及判決函數(shù)如式(4)、式(5)所示:
(4)
(5)
其中,dm為核函數(shù)的權(quán)值,M為核函數(shù)的數(shù)量。
3.2MKL-SVM的優(yōu)化
不同于單核SVM,MKL-SVM的優(yōu)化問題由兩部分組成:優(yōu)化每個SVM的參數(shù)αi和每個核函數(shù)的權(quán)值dm。該問題實際上是一個凸的非光滑的問題。優(yōu)化該問題的方案很多,BACH F R等人首先提出使用l1-l2混合范數(shù)取代通常SVM的l2范數(shù),這樣MKL-SVM的權(quán)值矢量優(yōu)化問題就轉(zhuǎn)化成為一個常見的SVM優(yōu)化問題,可以使用一個類似于SMO的快速下降算法解決。
SONNENBURG S[13]等人認為該問題等同于一個半正定線性方案(Semi-Infinite Linear Program, SILP),該算法反復迭代優(yōu)化一個單核SVM,并將權(quán)值的優(yōu)化問題轉(zhuǎn)化為一個線性的隨著迭代而改變的問題。該算法的優(yōu)點是SVM損失函數(shù)降低速度非???,因此相較于BACH F R等人提出的方案有了性能上的進一步提升。
本文擬采用Simple-MKL方法來解決MKL-SVM的優(yōu)化問題。Simple-MKL方法類似于SILP,區(qū)別在于其在初始問題(Primal Problem)上使用梯度下降算法(Reduced Gradient Algorithm)而非依賴于判決超平面的參數(shù),使得方案更具效率。
具體地,MKL-SVM的優(yōu)化問題為:
(6)
目標函數(shù):
(7)
顯然,該優(yōu)化問題是典型的SVM優(yōu)化問題,式(7)的Lagrange形式為:
(8)
將其對dm求偏導,得到:
(9)
利用式(9)求出權(quán)值矢量d*的下降方向D(具體步驟見文獻[7],此處不再贅述),使用d*=d*+γD更新d*,在式(10)的條件滿足時,停止迭代并輸出當前的d*。
(10)
Simple-MKL在此基礎(chǔ)上進一步優(yōu)化了算法,在每次權(quán)值更新時將下降方向最大的權(quán)值直接取0并重新規(guī)整權(quán)值總和為1,訓練完SVM后計算目標函數(shù),若目標函數(shù)較原來有下降即將該權(quán)值直接設(shè)為0,將原來的N核-MKL變?yōu)镹-1核-MKL,再重復上一過程。此方法大大提高了計算效率。
4.1系統(tǒng)的性能評價
本文采用NIST等錯誤率(Equal Error Rate, EER)作為說話人確認的評價指標。在說話人確認領(lǐng)域有兩種錯誤率,分別為錯誤接受率(FA)和錯誤拒絕率(FR),其分別表示冒認說話人被接受的概率和待確認說話人被拒絕的概率,兩者均隨著預(yù)設(shè)閾值的改變而反向改變。因此,當閾值取得一定值時,二者恰好相等,此時的FA或FR被稱為等錯誤率,即EER。
4.2基于單核I-Vector-SVM的說話人確認系統(tǒng)的性能
實驗所用數(shù)據(jù)均來自NIST04-08語料庫中的電話語音, 輔助系統(tǒng)UBM混合度為128, I-Vector的維數(shù)為200維。測試語音隨機選擇了100個話者,每個人18~59條10 s語音,經(jīng)VAD處理后為7~9 s。對于每個說話人,隨機抽取16條I-Vector(8條目標說話人,8條冒認說話人)用以訓練SVM,剩余的目標說話人的I-Vector用來做目標說話人測試,排除訓練冒認說話人的I-Vector用來做冒認說話人測試。實驗平臺利用Libsvm[14]開源工具包構(gòu)建,單核SVM參數(shù)尋優(yōu)采用交叉驗證法,N=10,實驗測試了一系列參數(shù)的單核SVM的性能。
測試用的核函數(shù)采用了以下的常見核函數(shù):
余弦核:
(11)
RBF核:
(12)
多項式核:
K(x,z)=(αxTz+β)P
(13)
線性核:
K(x,y)=〈x,z〉+c
(14)
Multiquadric核:
(15)
Sigmoid核:
K(x,z)=tanh(α〈x,z〉+β)
(16)
實驗結(jié)果如表1~表4所示。
表1 不同參數(shù)RBF核函數(shù)下I-Vector-SVM說話人確認系統(tǒng)的性能
表2 不同參數(shù)多項式核函數(shù)下I-Vector-SVM說話人確認系統(tǒng)的性能
表3 不同參數(shù)Sigmoid核函數(shù)下I-Vector-SVM說話人確認系統(tǒng)的性能
表4 線性核、余弦核和Multiquadric核I-Vector-SVM說話人確認系統(tǒng)的性能
4.3基于多核I-Vector-SVM說話人確認系統(tǒng)的性能
訓練和測試數(shù)據(jù)同單核SVM、MKL-SVM的下降方向步進γ=0.001,停止條件閾值ε=0.001,最高迭代次數(shù)為5 000次,其他數(shù)據(jù)同單核SVM。核函數(shù)采取了表1中表現(xiàn)相對優(yōu)秀的核函數(shù),分別測試了2~6個核函數(shù)融合下的系統(tǒng)性能,單核SVM的核函數(shù)為α=1,β=1,p=2的多項式核。實驗結(jié)果如表5所示。
表5 不同核函數(shù)數(shù)量下單核SVM與MKL-SVM說話人確認系統(tǒng)的性能
由表5可以看出,較單核I-Vector-SVM系統(tǒng),MKL-SVM系統(tǒng)的性能有一定提升,但提升十分微小,為1.52%左右。這與很多文獻結(jié)論相一致。而由于I-Vector本身已經(jīng)具有相當?shù)膮^(qū)分性,因此MKL-SVM系統(tǒng)對基線系統(tǒng)的提升也非常有限。
本文總結(jié)性地研究了基于I-Vector的SVM多核學習說話人確認系統(tǒng)的性能,并選擇適當?shù)囊唤M核函數(shù)對基于I-Vector的多核學習SVM的說話人確認系統(tǒng)的性能進行了探索性的研究?;贜IST語料庫的實驗結(jié)果表明,基于I-Vector的多核學習SVM說話人確認系統(tǒng)的性能優(yōu)于目前的單核SVM說話人確認系統(tǒng),最大提升幅度可達1.52%。由于I-Vector本身已經(jīng)具有相當?shù)膮^(qū)分性,數(shù)據(jù)內(nèi)生性的聯(lián)系已經(jīng)趨于一致,因此進一步從該模型中挖掘信息需要更多工作。
[1] CORTES C, VAPNIK V. Support-vector networks[J]. Machine Learning, 1995, 20(3): 273-297.
[2] CAMPBELL W M, STURIM D E, RENOLDS D A. Support vector machines using gmm supervectors for speaker verification[J]. IEEE Signal Processing Letters, 2006,13(5): 308-311.
[3] DEHAK N, KENNY P, DEHAK R, et al. Front-end factor analysis for speaker verification[C]. IEEE Transactions on Audio, Speech, and Language Processing, 2011, 19(4): 788-798.
[4] 栗志意,張衛(wèi)強,何亮,等. 基于核函數(shù)的IVEC-SVM說話人識別系統(tǒng)研究[J]. 自動化學報,2014,40(4): 780-784.
[5] BACH F R, LANCKRIET G R G, JORDAN M I. Multiple kernel learning, conic duality, and the SMO algorithm[C]. Proceedings of the twenty-first international conference on Machine learning. ACM, 2004: 775-782.
[6] LANCKRIET G R G, CRISTIANINI N, BARTLETT P, et al. Learning the kernel matrix with semi-definite Programming[C]. Nineteenth International Conference on Machine Learning, Morgan Kaufmann Publishers Inc, 2002: 323-330.
[7] RAKOTOMAMONJY A, BACH F R, CANU S, et al. Simplemkl[J]. Journal of Machine Learning Research, 2008, 9(3):2491-2521.
[8] LONGWORTH C, GALES M J F. Multiple kernel learning for speaker verification[C]. IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2008:1581-1584.
[9] 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.
[10] KINNUNEN T, Li Haizhou. An overview of text-inde-pendent speaker recognition: from features to supervectors[J]. Speech Communication, 2010, 52(1):12- 40.
[11] HATCH A O, KAJAREKAR S S, STOLCKE A. Within-class covariance normalization for SVM-based speaker recognition[C].Interspeech 2006-ICSLP, Ninth International Conference on Spoken Language Processing, Pittsburgh, Pa, USA, 2006:1471-1474.
[12] FARRELL K R,MAMMONE R J,ASSALEH K T.Speaker recognition using neural networks and conventional classifiers[J]. IEEE Transactions on Speech amp; Audio Processing, 1994, 2(1):194-205.
[13] SONNENBURG S, RTSCH G, SCHFER C, et al. Large scale multiple kernel learning[J]. Journal of Machine Learning Research, 2006, 7(2006):1531-1565.
[14] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM Transactions on Intelligent Systems amp; Technology, 2011, 2(3):27.
2017-04-19)
龔鋮(1989-),通信作者,男,碩士研究生,主要研究方向:說話人識別。E-mail:grank@mail.ustc.edu.cn。
琚煒(1991-),男,碩士研究生,主要研究方向:語音信號處理。
Speaker verification system of multiple-kernel-learning SVM based on I-Vector
Gong Cheng, Ju Wei
(School of Information Science and Technology, University of Science and Technology of China, Hefei 230026, China)
As the concept ‘I-Vector’ was put forward, the text-independent speaker verification systems based on GMM super vector was replaced by the same systems based on I-Vector. As one of the systems, I-Vector-SVM system has a potential advantage when facing a small amount of training data. But its performance is influenced by its kernel too much. Under this situation, this paper builds a MKL-SVM speaker verification system based on I-Vector inspired by the concept ‘multiple kernel learning’, and compares it with the I-Vector-SVM baseline system. The experiment result based on NIST database showed, this system has an advantage in performance comparing with the baseline system.
speaker certification; multiple-kernel-learning-SVM; I-Vector
TP181
A
10.19358/j.issn.1674- 7720.2017.22.005
龔鋮,琚煒.基于I-Vector的多核學習SVM的說話人確認系統(tǒng)J.微型機與應(yīng)用,2017,36(22):15-18,22.