王韻琪,俞一彪
(蘇州大學 電子信息學院,江蘇 蘇州 215006)
說話人識別是利用說話人的語音特征鑒別或確認說話人的身份,廣泛應用于需要身份安全認證的領域。其主要方法有支持向量機(SVM,Support Vector Machine)[1]和高斯混合模型(GMM,Gaussian Mixture Model)[2]等。由于高斯混合模型GMM對語音聲學特征分布有較好的擬合特性,基于最大似然決策的GMM方法已經成為說話人識別系統的主流方法[3]。但是,傳統GMM方法中每個說話人的模型結構完全相同,高斯分量混合數是固定一致的,這樣會導致在每個說話人語音特征參數分布聚類特性不同時出現模型過擬合或者欠擬合的現象。實際應用中,每個說話人的發(fā)音特點不同,甚至有的帶有天然的口音和發(fā)音異常,因此語音聲學特征參數的統計分布不僅不同,而且其聚類特性也不相同。所以,采用固定的高斯分量混合數并不符合實際,同樣的模型結構無法保證適合于每一個說話人,而模型擬合的精確性將會嚴重影響系統的識別性能。因此,應該根據說話人的具體語音特征分布來選擇混合數并建立相應的模型,使每個模型更好地擬合每個說話人的具體特征分布。
本文提出一種新的自適應高斯混合模型AGMM統計分析方法應用于說話人識別。自適應高斯混合模型AGMM的結構根據說話人特征參數實際分布來確定,其高斯分量混合數在訓練過程中動態(tài)確定而不是事先設定,從而能解決傳統GMM方法的過擬合和欠擬合問題。本文建立了40個說話人的文本無關辨認系統,分別使用BFCC[4]參數和MFCC參數在不同的測試語音長度下對提出的新方法進行了實驗,結果證明本文提出的AGMM能夠有效提高識別性能。
完整的說話人辨認系統結構如圖1所示。
圖1 說話人辨認系統結構框Fig.1 Block diagram of speaker identification
說話人語音模型采用本文提出的自適應高斯混合模型AGMM。由M個高斯概率密度函數加權求和得到的傳統GMM如下表示:
式中,X是一個D維隨機向量;wi,i=1~M是混合權重,滿足
bi(X),i=1~M是子分布,可表示為
式中,μi是均值向量,Σi是協方差矩陣。
本文提出的自適應高斯混合模型AGMM與傳統GMM的區(qū)別主要在于混合數M的不同。傳統GMM設置了固定的高斯分量數,而AGMM根據每個人的具體語音特征分布采用了可變的混合數,能夠很好地解決模型擬合中出現的過擬合或者欠擬合問題,提高系統識別性能。模型的具體訓練算法見第3節(jié)。
特征參數采用16階BFCC。BFCC是依據新的雙線性頻率變換尺度(Bilinear Frequency Scale)提取出的[4]。該頻率尺度與原始頻率的對應關系表現為一條類似雙線性變換曲線,在低頻段和高頻段上升較快,而中頻段上升平緩。文獻[4]計算得到其變換公式,如式(4)所示:
圖2是在純凈語音環(huán)境下,特征參數BFCC與傳統Mel尺度變換提取出的MFCC誤識率比較圖。由于主要觀察分析特征參數的性能,說話人模型采用的是16個分量的傳統GMM模型[5]。關于傳統GMM的不同分量數條件下說話人識別性能的影響很多研究工作者在以往的實驗中都進行過分析,得出的結論是16分量是一個合理的選擇[5]。
圖2 BFCC與MFCC誤識率比較Fig.2 Error accuracies with BFCC and MFCC
從圖2中可以明顯看出,特征參數BFCC識別率相比MFCC提高幅度較大,而且參數BFCC在4 s時誤識率已經降到了0,說明新的雙線性頻率變換尺度相對于傳統的Mel頻率尺度更適合應用于說話人識別系統。
傳統GMM方法中運用了固定不變的混合數,這并不符合說話人語音特性分布多樣性的實際情況。實際應用中,某些說話人的語音特征分布中高斯子分量比較稀疏,而有些則比較豐富,因此,采用固定混合數結構缺乏合理性。雖然可以通過權重來調節(jié)高斯子分量的影響,但仍然會在模型訓練中導致過擬合或者欠擬合的現象出現。因此,應該根據每個說話人具體的語音特征分布確立模型結構并建立相應模型,保證模型更加精確地擬合每一個說話人的具體特征分布。
在AGMM的訓練中,依據當前各高斯分量的權重、均值和方差進行綜合分析,采取吸收合并與分裂機制動態(tài)地調整高斯混合數。若某一高斯分量的權重很小,且與其他分量有一定距離,則可以認為這個分量反映了稀少的孤立性信息,甚至是噪聲信息,因而沒有實際價值,可以消除這一分量,其包含的樣本將由其他分量進行吸收;若兩個高斯分量距離很近且權重不大,則認為這兩個分量反映相同的特征分布,可以合并形成一個高斯分量;若高斯分量的權重很大且其至少某一維的方差也很大,則說明此分量包含了過多的分散性樣本,會導致擬合不精確、出現欠擬合現象,可以采用分裂處理將其分裂為兩個高斯分量。
具體訓練步驟如下:
Step 1:設置AGMM初始混合數K,允許EM訓練的次數 H,以及閾值 αt1,αt2,αt3,Dt,σt;
Step 2:利用K-means算法初始化高斯分量均值、方差與權重;
Step 3:運用EM算法訓練模型,訓練次數加1;若是最后一次訓練,跳到Step 7,否則順序執(zhí)行;
Step 4:對于訓練得出的模型,若某一分量(wi,μi,Σi)的權重小于閾值αt1,說明這個分量沒有實際價值,需要消除,用其最近分量(wj,μj,Σj)對這個分量進行吸收,吸收按照以下處理:
這樣,形成一個新的高斯分量為:(wk,μk,Σk)?;旌蠑礙=K-1,返回Step 3進行新一輪EM訓練;
若滿足吸收的分量不止一個,則按權重從小到大的順序選擇最小的分量進行處理。
Step 5:若某一分量(wi,μi,Σi)與最鄰近分量(wj,μj,Σj)之間的距離小于閾值 Dt且權重小于αt2時,說明此分量與最近鄰分量相距很近且包含的信息較少,將這兩個分量合并,按照以下處理:
兩個高斯分量之間的距離用如下公式計算:
式中,N=1~24為特征矢量的維數。
通過以上處理形成一個新的高斯分布為(wk,μk,Σk)?;旌蠑?K=K-1,返回 Step 3 進行新一輪EM訓練;
若滿足合并條件的分量不止一個,則按距離從小到大的順序選擇最小距離的分量進行合并。
Step 6:若某一分量(wi,μi,Σi)權重大于閾值αt3,且至少有一維的方差大于σt時,說明這個分量包含了太多的信息,可以將此分量分裂,處理如下:
若滿足分裂條件的分量不止一個,則按權重從大到小的順序選擇最大的分量進行分裂。
Step 7:訓練終止,得自適應高斯混合模型AGMM。
算法的初始混合數K一般可取16,EM訓練次數H取10,其他的權重、方差和距離閾值與實際采用的特征參數及其維數存在關聯,需要通過預實驗分析獲取合適的值。
圖3、圖4分別是AGMM訓練迭代過程中合并和分裂處理前后高斯分布的變化圖。由于空間局限性,圖中只畫出了第一維特征參數的分布情況。
圖3 第32個說話人AGMM訓練中的合并處理Fig.3 No.32speaker’s merge processing in AGMM training
由圖3(a)和圖3(b)可以看出AGMM進行了合并處理,把權重較小的第2個高斯分量和與之相近的第3個高斯分量合并成了新的第2個高斯分量。實驗中發(fā)現,在測試語音長度為1s時,此人采用傳統GMM的誤識率為9.75%,而用AGMM的誤識率為3.58%,說明了合并處理使得擬合性能更加優(yōu)越并且提高了識別性能。
圖4 第17個說話人AGMM訓練中的分裂處理Fig.4 No.17 speaker’s split processing in AGMM training
由圖4(a)和圖4(b)對比可知第6個高斯分量由于權重和方差過大,包含的樣本過多,分裂成第6和第7個高斯分量。實驗中,在測試語音長度為1s時,采用傳統GMM的誤識率為1.5%,而用AGMM的誤識率為0,說明分裂處理有利于提高模型擬合精度和識別性能。
圖5給出了系統中40個說話人AGMM的高斯混合數分布圖。
圖5 高斯混合數分布Fig.5 Distribution map of Gaussian mixture number
由圖5可知,并不是所有的說話人的AGMM都需要進行吸收合并和分裂。40個說話人模型中24個保持了16個高斯分量混合數不變,另外16個通過吸收合并與分裂改變了高斯分量混合數??傮w上,AGMM可以有效地克服過擬合和欠擬合現象,提高系統識別性能。例如,第2個說話人在測試語音為1s時,采用GMM有4段語音誤識成他人的語音,而AGMM只有1段語音誤識成他人語音,而第16個說話人采用GMM時,1s測試語音中有1段語音誤識成他人的語音,采用AGMM之后沒有語音誤識成他人語音。
實驗中語音數據取自SUDA2002-D2數據庫。該數據庫包含40個說話人的普通話語音,均在普通實驗室環(huán)境下用普通聲卡進行錄制,采樣率11025 Hz,量化精度為16位。40人中男生25人,女生15人,每個人錄制了7段12s的語音,前4段用于訓練,后3段用于識別。實驗中,每個說話人采用本文提出的算法訓練自適應高斯混合模型AGMM,其高斯分量的初始取值K為16,各個閾值的取值為:αt1=0.025,Dt=7.000,αt2=0.040,αt3=0.084,σt=10.000,H =10。
實驗采用特征參數BFCC和MFCC,在不同測試語音長度下分析了AGMM方法的有效性,并與傳統GMM方法進行比較。采用如下公式來計算AGMM相對于傳統GMM的誤識率下降程度:式中,mi代表AGMM誤識率,ni代表傳統GMM誤識率,Ri代表相對提高程度,i=1~5代表測試語音長度。
3.2.1 MFCC參數下的比較分析
圖6是AGMM和傳統GMM分別在MFCC參數下,系統的誤識率隨不同長度測試語音的變化圖。
圖6 MFCC參數下誤識率比較Fig.6 Error accuracies of the two models with MFCC
從圖6中可以看出,AGMM的誤識率在不同測試語音長度下都比傳統GMM要低,這表明采用吸收合并與分裂的模型自適應處理方法是有效的。表1列出了各測試語音長度下誤識率的具體值,可以看出相對GMM,本文提出的AGMM的誤識率平均下降了41.41%,效果非常明顯。
表1 MFCC參數下性能提高程度Table 1 Improve accuracy compared to two GMMs with MFCC
3.2.1 BFCC參數下的比較分析
圖7是BFCC參數下,AGMM和傳統GMM在不同的訓練語音長度下系統的誤識率變化圖。
圖7 BFCC參數下誤識率比較Fig.7 Error accuracies of the two models with BFCC
從圖7中可以看出,不同測試語音長度下AGMM的誤識率同樣比傳統GMM要低。由于BFCC的性能比MFCC優(yōu)越,采用GMM已經能夠得到較好的識別性能,因此,當采用AGMM時其誤識率下降不如在MFCC參數下明顯。
表2給出了各個測試語音長度下兩種模型的誤識率具體值,相對GMM,本文提出的AGMM平均誤識率下降了22.21%。
表2 BFCC參數下性能提高程度Table 2 Improve accuracy compared to two GMMs with BFCC
本文提出了自適應高斯混合模型AGMM,優(yōu)化了說話人語音特征參數統計分布的擬合性能。AGMM是在傳統GMM基礎上采用自適應策略調整模型混合分量數得到,因此兩者性能的比較是在統一基準條件下進行。本文采用說話人識別中常規(guī)的16分量為基準進行分析比較。從實驗結果來看,可以有效地克服傳統GMM方法的過擬合和欠擬合問題,通過算法提供的吸收合并與分裂機制找到一個更加合理的模型階數,提高系統的識別性能,其誤識率明顯低于傳統GMM方法,說明本文提出的方法是有效的。當然,AGMM的訓練相對傳統GMM需要更多的時間,但平均來說并不大,而識別階段沒有任何影響。本文提出的自適應高斯混合模型AGMM對信號處理其他應用領域同樣具有參考價值。今后,將進一步針對信道差補償以及噪聲環(huán)境下的魯棒性識別問題進行研究。
[1]CUMANI S,LAFACE P.Analysis of Large-Scale SVM Training Algorithms for Language and Speaker Recognition[J].IEEE Trans.on AUDIO,SPEECH,AND LANGUAGE PROCESSING,2012,20(05):1585-1596.
[2]SELVA N S,SELVA K R.Language and Text-independent Speaker Identification System Using GMM [J].WSEAS Trans.On Signal Processing,2013,9(04):185-194.
[3]趙振東,張靜,李圓,等.基于GMM說話人分類的說話人識別方法研究[J].通信技術,2009,42(10):192-193.ZHAO Zh.D.,Zhang J.,Li Y.,et al.Speaker Recognition Research Based on GMM Speaker Clustering Technology [J].Communications Technology,2009,42(10):192-193(in Chinese)
[4]俞一彪,袁冬梅,薛峰.一種適于說話人識別的非線性頻率尺度變換[J].聲學學報,2008,33(05):450-455.YU Y.B.,YUAN D.M.,XUE F..A Nonlinear Frequency Scale Conversion of Speaker Recognition[J].ACTA ACUSTICA,2008,33(5):450-455(in Chinese)
[5]REYNOLDS D A,ROSER C.Robust Text-independent Speaker Identification Using Gaussian Mixture Speaker Models[J].IEEE Transactions on Speech and Audio Processing,1995,3(01):72-83.