龔 鋮,琚 煒
(中國科學技術大學 信息科學技術學院,安徽 合肥 230026)
基于I-Vector的多核學習SVM的說話人確認系統
龔 鋮,琚 煒
(中國科學技術大學 信息科學技術學院,安徽 合肥230026)
自I-Vector(身份認證矢量)被提出以來,基于I-Vector的說話人確認系統迅速取代了基于GMM超矢量的系統并開始流行。I-Vector-SVM系統作為其中之一,在通常訓練樣本較少的說話人確認領域有著獨特的優勢,但其性能受核函數影響較大。因此,基于多核學習(MultipleKernelLearning,MKL)思想,構建了基于I-Vector的多核學習SVM說話人確認系統,并與I-Vector-SVM基線系統進行了性能比較。基于NIST語料庫的實驗表明,基于I-Vector的多核學習說話人確認系統相對于基線系統可取得一定的性能提升。
說話人確認;多核學習SVM;I-Vector
說話人確認是說話人識別的一個重要的研究方向,已經在相當廣泛的領域內發揮出重要的作用。近年來,基于由傳統高斯混合模型-通用背景模型(GMM-UBM)發展而來的全局差異空間(Total Variability space,TV)的I-Vector說話人確認系統逐漸成為研究的主流方向。相比傳統的高達數千維的GMM-UBM超矢量,I-Vector是從說話人聲道特征中提取的一種低維的特征矢量,可直接作為說話人的身份矢量,具有良好的區分性。因此,對I-Vector直接進行余弦評分,以及在I-Vector基礎上使用傳統的建模分類技術,如SVM,DNN等,構成了目前流行的說話人確認技術。
自文獻[1]首次提出SVM以來,其迅速成為模式識別領域的一大重要工具,也在說話人識別領域得到了廣泛的應用。文獻[2]使用SVM對說話人的GMM-UBM超矢量進行分類,取得了良好的分類效果。隨著I-Vector的提出,在文獻[3]中,DEHAK N等首次利用SVM對說話人的I-Vector建模,構建了區分性模型,性能相對前者有了較大提升。文獻[4]在此基礎上,分析了多種不同的核函數對I-Vector-SVM說話人識別系統性能的影響,也揭示了單核函數SVM性能的不穩定。
隨著技術進步,單核函數SVM由于性能受核函數影響較大,基于多核學習思想(Multiple Kernel Learning)的多核函數SVM逐漸得到重視和研究。BACH F R等人在文獻[5]中首次提出了多核學習SVM(Multiple Kernel Learning-SVM,MKL-SVM)的概念,即將單核核函數用一組使用權值控制的核函數代替。MKL-SVM需要同時優化兩類參數、核函數的權值和每個分SVM的參數,因此,其優化問題遠比單核SVM復雜。在提出MKL-SVM概念的同時,BACH F R等人建議利用混合范數取代通常SVM的l2范數,提出將MKL-SVM的權值優化問題轉化為一個與SVM優化類似的問題。在此基礎上,文獻[6]進一步提出了SILP算法,該算法反復迭代優化一個單核SVM,并將權值的優化問題轉化為一個線性的隨著迭代而改變的問題。總結前兩者的經驗,文獻[7]提出了Simple-MKL算法,該算法由于收斂速度快,得到了廣泛應用。文獻[8]將MKL-SVM應用在說話人GMM-UBM超矢量上,取得了良好的分類性能和魯棒性。
基于此研究現狀,本文首先針對I-Vector-SVM基線系統進行了深入研究,通過實驗研究對比了常見核函數的性能,在此基礎上,適當挑選一組核函數建立多核I-Vector-SVM說話人確認系統,提升了說話人確認系統的整體性能。
1.1GMM-UBM系統
高斯混合模型-通用背景模型(GMM-UBM模型)建模的基本思想是: 首先利用大量說話人的語音數據通過期望最大化 (Expectation Maximum, EM) 算法訓練得到一個冒用者模型,即所謂的通用背景模型 (Universal-Background Model, UBM)。為了能夠充分表示冒認說話人特征分布,一般UBM 的混合度都非常高。該 UBM 提供了一個統一的參考坐標空間, 然后將說話人的語音訓練數據在該 UBM 上面進行最大后驗概率 (Maximum A Posterior, MAP) 自適應, 得到了代表該說話人的高斯混合概率密度函數, 并將所有高斯模型的均值向量拼接成一個高維的均值超矢量作為說話人的身份向量。近年來,以GMM-UBM模型為基礎的說話人建模技術取得了非常大的成功, 使得說話人識別系統的系統性能有了顯著提升[9-10]。
1.2I-Vector的提取
在上述GMM-UBM超矢量的基礎上,利用因子分析的算法從中估計出全局差異矩陣(Total Variability Matrix),并將高維的GMM-UBM超矢量在該矩陣中進行投影,最終得到投影后的低維矢量I-Vector[3]。
M=m+Tw
(1)
其中,M表示高斯混合模型的均值超矢量,m表示一個與該說話人和信道參數均無關的矢量, 通常用通用背景模型均值超矢量來替代,T即全局差異矩陣。
一般地,在得到I-Vector之后還會進行一些信道補償工作,常見技術有類內協方差規整(Within-Class Covariance Normalization, WCCN)[11]等。
2.1余弦評分
獲得說話人的I-Vector模型矢量后,可以直接使用余弦評分(CDS),即將說話人的模型矢量和待測試的模型矢量進行余弦距離打分,該分類器將說話人矢量ωtar和測試矢量ωtest的余弦距離分數直接作為判決分數,并與閾值θ進行比較,如式(2)所示:

(2)
該評分方式通過歸一化矢量的模去除了矢量幅度的影響,計算簡單快捷,分類效果較好。
2.2I-Vector-SVM系統
支持向量機(SVM)是建立在統計學習理論和結果風險最小化理論基礎上的有監督分類器,在解決非線性、高維度、小樣本分類問題中表現出獨特優勢,特別適用于訓練數據較少的說話人識別領域。文獻[3]首次將SVM應用于說話人識別,提出了流行相當長時間的GMM- SVM說話人識別系統。自文獻[2]提出I-Vector以來,I-Vector-SVM系統迅速替代了原有的GMM-SVM系統,成為當前流行的說話人識別研究方向之一。
SVM的訓練過程即是在給定訓練樣本集X={(x1,y1), (x2,y2),…,(xn,yn)}的情況下,通過序列最小優化(Sequential Minimal Optimization, SMO)算法找出區分正樣本點和負樣本點的最優超平面。
在SVM的對偶問題(Dual Problem)里,目標函數和分類決策函數都只涉及實例點與實例點的內積,所以不需要顯式地指定非線性變化,而是利用核函數巧妙地替換其中的內積,此過程被稱為核技巧(Kernel Trick)。因此,SVM通過將低維的通常不可分的數據集映射到高維空間,不僅使得原本不可分的數據變得可分,而且由于在優化過程中只需計算一次每對數據的核函數內積,無需再進行顯性的映射,因此其計算量較小。因此,SVM得到了非常廣泛的運用。
一般地,滿足Mercer定理的函數可以用作核函數,核函數種類眾多,在第4節會具體介紹。單核SVM的判別函數如式(3)所示:

(3)
2.3其他判決模型
除了SVM,其他較為流行的后端判決模型還有人工神經網絡(Artificial Neural Network,ANN)[12],把特征提取和模型訓練結合到同一單個網絡,通過其自適應、自學習和自組織能力,使得特征和模型都能夠不斷優化,從而達到最優。
3.1MKL-SVM的結構
MKL-SVM的本質即使用一組核函數來代替單個核函數,因此,新的核函數以及判決函數如式(4)、式(5)所示:
(4)


(5)
其中,dm為核函數的權值,M為核函數的數量。
3.2MKL-SVM的優化
不同于單核SVM,MKL-SVM的優化問題由兩部分組成:優化每個SVM的參數αi和每個核函數的權值dm。該問題實際上是一個凸的非光滑的問題。優化該問題的方案很多,BACH F R等人首先提出使用l1-l2混合范數取代通常SVM的l2范數,這樣MKL-SVM的權值矢量優化問題就轉化成為一個常見的SVM優化問題,可以使用一個類似于SMO的快速下降算法解決。
SONNENBURG S[13]等人認為該問題等同于一個半正定線性方案(Semi-Infinite Linear Program, SILP),該算法反復迭代優化一個單核SVM,并將權值的優化問題轉化為一個線性的隨著迭代而改變的問題。該算法的優點是SVM損失函數降低速度非常快,因此相較于BACH F R等人提出的方案有了性能上的進一步提升。
本文擬采用Simple-MKL方法來解決MKL-SVM的優化問題。Simple-MKL方法類似于SILP,區別在于其在初始問題(Primal Problem)上使用梯度下降算法(Reduced Gradient Algorithm)而非依賴于判決超平面的參數,使得方案更具效率。
具體地,MKL-SVM的優化問題為:

(6)
目標函數:

(7)
顯然,該優化問題是典型的SVM優化問題,式(7)的Lagrange形式為:

(8)
將其對dm求偏導,得到:

(9)
利用式(9)求出權值矢量d*的下降方向D(具體步驟見文獻[7],此處不再贅述),使用d*=d*+γD更新d*,在式(10)的條件滿足時,停止迭代并輸出當前的d*。
(10)
Simple-MKL在此基礎上進一步優化了算法,在每次權值更新時將下降方向最大的權值直接取0并重新規整權值總和為1,訓練完SVM后計算目標函數,若目標函數較原來有下降即將該權值直接設為0,將原來的N核-MKL變為N-1核-MKL,再重復上一過程。此方法大大提高了計算效率。
4.1系統的性能評價
本文采用NIST等錯誤率(Equal Error Rate, EER)作為說話人確認的評價指標。在說話人確認領域有兩種錯誤率,分別為錯誤接受率(FA)和錯誤拒絕率(FR),其分別表示冒認說話人被接受的概率和待確認說話人被拒絕的概率,兩者均隨著預設閾值的改變而反向改變。因此,當閾值取得一定值時,二者恰好相等,此時的FA或FR被稱為等錯誤率,即EER。
4.2基于單核I-Vector-SVM的說話人確認系統的性能
實驗所用數據均來自NIST04-08語料庫中的電話語音, 輔助系統UBM混合度為128, I-Vector的維數為200維。測試語音隨機選擇了100個話者,每個人18~59條10 s語音,經VAD處理后為7~9 s。對于每個說話人,隨機抽取16條I-Vector(8條目標說話人,8條冒認說話人)用以訓練SVM,剩余的目標說話人的I-Vector用來做目標說話人測試,排除訓練冒認說話人的I-Vector用來做冒認說話人測試。實驗平臺利用Libsvm[14]開源工具包構建,單核SVM參數尋優采用交叉驗證法,N=10,實驗測試了一系列參數的單核SVM的性能。
測試用的核函數采用了以下的常見核函數:
余弦核:

(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)
實驗結果如表1~表4所示。

表1 不同參數RBF核函數下I-Vector-SVM說話人確認系統的性能

表2 不同參數多項式核函數下I-Vector-SVM說話人確認系統的性能

表3 不同參數Sigmoid核函數下I-Vector-SVM說話人確認系統的性能

表4 線性核、余弦核和Multiquadric核I-Vector-SVM說話人確認系統的性能
4.3基于多核I-Vector-SVM說話人確認系統的性能
訓練和測試數據同單核SVM、MKL-SVM的下降方向步進γ=0.001,停止條件閾值ε=0.001,最高迭代次數為5 000次,其他數據同單核SVM。核函數采取了表1中表現相對優秀的核函數,分別測試了2~6個核函數融合下的系統性能,單核SVM的核函數為α=1,β=1,p=2的多項式核。實驗結果如表5所示。

表5 不同核函數數量下單核SVM與MKL-SVM說話人確認系統的性能
由表5可以看出,較單核I-Vector-SVM系統,MKL-SVM系統的性能有一定提升,但提升十分微小,為1.52%左右。這與很多文獻結論相一致。而由于I-Vector本身已經具有相當的區分性,因此MKL-SVM系統對基線系統的提升也非常有限。
本文總結性地研究了基于I-Vector的SVM多核學習說話人確認系統的性能,并選擇適當的一組核函數對基于I-Vector的多核學習SVM的說話人確認系統的性能進行了探索性的研究。基于NIST語料庫的實驗結果表明,基于I-Vector的多核學習SVM說話人確認系統的性能優于目前的單核SVM說話人確認系統,最大提升幅度可達1.52%。由于I-Vector本身已經具有相當的區分性,數據內生性的聯系已經趨于一致,因此進一步從該模型中挖掘信息需要更多工作。
[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] 栗志意,張衛強,何亮,等. 基于核函數的IVEC-SVM說話人識別系統研究[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的說話人確認系統J.微型機與應用,2017,36(22):15-18,22.