王 錚,傅 山
(上海交通大學 電子信息與電氣工程學院,上海 200240)
說話人確認是計算機根據(jù)語音信息自動判別其是否來自特定說話人的技術(shù).近年來,隨著基于因子分析的身份向量(i-vector)的提出,結(jié)合概率線性判別分析(Probability linear discriminant analysis,PLDA)作為信道補償和打分方法,說話人確認系統(tǒng)的性能得到了巨大的提升[1].然而,這一性能提升建立在存在足夠時長(3分鐘或以上)的語音數(shù)據(jù)分別用于身份注冊和測試的前提之下.在語音數(shù)據(jù)量不足,如測試語音為短語音的情形下,i-vector系統(tǒng)的性能會明顯下降,甚至低于傳統(tǒng)的基于高斯混合模型(GMM-UBM)框架的系統(tǒng)[2].
為了克服短語音帶來的挑戰(zhàn),研究者從不同角度做出了許多努力.文獻[3]將語音時長不一致視為i-vector空間的加性噪聲,提出一種得分校準方法用于再合成i-vector向量.在文獻[4]中,作者提出通過在i-vector特征域進行語音時長不一致的歸一化來對短語音進行補償.在文獻[5]中,作者提出對較小的語音單元類進行建模,并用統(tǒng)計方法彌補特征的稀疏.文獻[6]通過挖掘短語音中的口音信息來增強現(xiàn)有特征的區(qū)分性.除了在語音特征層面的改進,也有研究者致力于改進PLDA來提升現(xiàn)有系統(tǒng).文獻[7]提出根據(jù)語音時長對PLDA建模的概率分布進行修正.文獻[8]提出通過量化i-vector提取的不確定性建立全后驗分布的PLDA.
此外,還有研究者嘗試將深度神經(jīng)網(wǎng)絡(Deep Neural Networks,DNN)應用到說話人識別領(lǐng)域,如利用語音識別DNN取代GMM用于計算充分統(tǒng)計量[9,10],或從瓶頸層或者某個隱藏層提取與音素相關(guān)的語音特征,以及最近提出的端到端系統(tǒng)中提取的嵌入特征[11-13]等,對短語音識別取得了一定效果.然而,訓練語音識別DNN往往需要大量的帶文本標記的匹配數(shù)據(jù),并且極大提升了計算復雜度.
短語音帶來的i-vector估計準確性的下降[14],根源在于從有限的語音段中提取的說話人特征信息不足.本文直接對i-vector提取過程進行改進,挖掘出更多的信息用于i-vector估計.一方面,根據(jù)系統(tǒng)之前遇到的歷史測試語音與當前測試語音來自同一人的概率為其賦予相應的權(quán)重,加入到Baum-Welch統(tǒng)計量的計算中,用于當前i-vector的估計.另一方面,由于通用背景模型(Universal background model,UBM)本身由大量語音數(shù)據(jù)訓練得到,利用背景模型參數(shù)自適應更新Baum-Welch統(tǒng)計量,可以利用其中豐富的說話人信息.
本文余下部分組織如下:第2節(jié)描述i-vector及PLDA框架作為基線系統(tǒng);第3節(jié)結(jié)合i-vector提取過程分析短語音i-vector估計的不確定性;第4節(jié)闡釋了本文提出的改進i-vector提取的原理;第5節(jié)給出驗證本文方法有效性的實驗設置和實驗分析;第6節(jié)進行總結(jié)與展望.
首先,利用來自不同說話人的語音數(shù)據(jù)混合訓練得到一個高斯混合模型,作為通用背景模型,代表當前環(huán)境下各說話人的平均特征.高斯混合模型可以視為C個多變量高斯分布的加權(quán)和,其概率密度函數(shù)為:
(1)

將說話人GMM中各個高斯分量的均值mc串聯(lián)堆疊起來,得到一個DC維矢量,稱為高斯均值超矢量,記為M.根據(jù)i-vector因子分析的思想,此均值超矢量M可分解為:
M=m+Tw
(2)
其中m是與說話人無關(guān)的均值超矢量,T是一個低秩的全局差異空間矩陣(TV Matrix),w是服從標準正態(tài)分布的隱隨機變量.i-vector φ定義為變量w的最大后驗(MAP)估計,其等于給定輸入語音下w的后驗均值.
由于i-vector中仍包含與說話人身份無關(guān)的信道信息,采用PLDA同時作為信道補償和打分手段.在簡化PLDA模型中,第i個說話人的第j段語音對應的i-vector可以表示為如下生成模型:
φi,j=η+Uzi+εi,j
(3)
其中η是各個i-vector的均值,U代表與說話人相關(guān)的子空間,zi是與說話人相關(guān)的說話人因子,εi,j是包含信道等信息的殘差項.
最終i-vector及PLDA系統(tǒng)輸出的得分為:
(4)
其中H1代表假設ztar和ztest來自同一說話人,H0代表假設ztar和ztest來自不同說話人.
由公式(2)可知,在開發(fā)階段i-vector模型的參數(shù)包括與說話人無關(guān)的均值超矢量m和全局差異空間矩陣T.通常,利用UBM的均值超矢量作為m,而矩陣T在與UBM相同的開發(fā)集上由大量語音數(shù)據(jù)根據(jù)期望最大化(EM)算法訓練得到.故而二者不受評估階段短語音造成的數(shù)據(jù)不足的影響.
圖1描述了i-vector及PLDA系統(tǒng)在評估階段由語音段到輸出得分的過程.
假設UBM包含C個高斯分量,特征向量的維度為D.給定來自語音段i的特征向量集合Xi,由UBM可計算出對應第c個高斯分量的零階和一階Baum-Welch(BW)統(tǒng)計量如下:
(5)
(6)

(7)
由BW統(tǒng)計量可以計算出后驗均值E[wi],即所提取的i-vector如下:
(8)
其中Tc為矩陣T中對應第c個分量的子矩陣.從上述i-vector提取過程可知,來自評估語音段的特征信息完全囊括在由之計算出的Baum-Welch統(tǒng)計量中.由公式(5)可知,零階Baum-Welch統(tǒng)計量Nc(Xi)滿足:
(9)
即零階Baum-Welch統(tǒng)計量Nc(Xi)的和等于語音段包含的總特征數(shù)t0.由文獻[15]可知,當t0的值大時,語音段中蘊含的語音信息豐富,對Nc(Xi)的估計較好,反之,對Nc(Xi)的估計不足.文獻[16]表明,在短語音情況下,對Nc(Xi)估計的變化性增大,說明對其估計的不確定性增加.更明確地,可以證明所提取的i-vector的后驗協(xié)方差為[17]:
(10)
式中,∑c及Tc在開發(fā)階段就已經(jīng)訓練得到,僅有Nc(Xi)來自評估階段語音.在短語音情形下,Nc(Xi)變小,繼而對i-vector的估計變得不準確.以上分析表明,為了提高語音段i-vector估計的準確性,關(guān)鍵在于改良BW統(tǒng)計量的計算.由于注冊時的語音時長要求較易得到滿足,本文余下部分主要針對測試短語音提出改進方法.

圖1 i-vector及PLDA系統(tǒng)評估階段框圖Fig.1 Block diagram of i-vector/PLDA system
由于僅從當前短測試語音中無法得到充足的說話人特征信息,進而給出BW統(tǒng)計量的準確估計,本小節(jié)嘗試從系統(tǒng)之前遇到的測試語音中挖掘出更多信息納入統(tǒng)計量計算.成功地納入歷史測試信息不僅可以解決短語音數(shù)據(jù)不足的問題,還可以將說話人在不同時期的聲音變化(如感冒等)納入統(tǒng)計,從而增加識別系統(tǒng)的魯棒性.然而,系統(tǒng)的某條歷史測試語音與當前測試語音有可能來自同一說話人,也有可能來自不同說話人.將恰好來自同一說話人的歷史測試語音納入當前BW統(tǒng)計量的計算自然會提高系統(tǒng)性能,但若誤將來自不同說話人用于計算當前BW統(tǒng)計量,識別效果將會下降.
受文獻[18]中GMM模型無監(jiān)督自適應的啟發(fā),本文提出一種MAP估計器來對某歷史測試語音與當前測試語音來自同一說話人的概率進行估計,進而把這一概率作為將該歷史測試語音納入當前BW統(tǒng)計量計算時的權(quán)重.對于每一段測試語音,首先均按照基線i-vector及PLDA系統(tǒng)輸出一個原始得分.假設某測試語音的原始得分為s,此MAP估計器先計算其來自目標說話人的概率如下:
(11)
其中,P(s|tar)和P(s|imp)分別是得分s來自目標說話人和冒充者的得分分布的概率,Ptar和Pimp分別是測試語音來自目標說話人和冒充者的先驗概率.目標說話人和冒充者的得分分布已提前在開發(fā)集上學習得到.
進而,任意給定兩條測試語音,就可以由它們來自目標說話人的概率給出它們來自同一說話人的概率.假設當前測試語音的原始得分為s0,某條歷史測試語音的原始得分為s1,則它們來自同一說話人的概率為:
α=P(tar|so)P(tar|s1)+[1-P(tar|s0)][1-P(tar|s1)]
(12)
注意因為是說話人確認任務,此處將兩條測試語音均非來自目標說話人的情況視為來自同一說話人,即來自同一“非目標說話人”.
最終,當前測試語音的BW統(tǒng)計量計算如下:
(13)
(14)
其中,N0和F0是直接由當前測試語音計算的BW統(tǒng)計量,Ni和Fi是由第i條歷史測試語音計算的BW統(tǒng)計量,αi是由MAP估計器給出的第i條歷史測試語音與當前測試語音來自同一人的概率,作為權(quán)重.至此,系統(tǒng)所遇到的所有測試語音以一種統(tǒng)一的方式納入到BW統(tǒng)計量的計算.將公式(13)和公式(14)帶入公式(8),即可得到當前測試語音的改進i-vector.
在經(jīng)典的GMM-UBM說話人識別系統(tǒng)中,說話人GMM由UBM通過自適應得到,這樣極大減少了訓練目標GMM所需的數(shù)據(jù)量.然而,在i-vector提取中BW統(tǒng)計量的計算并不包含自適應過程,在短語音數(shù)據(jù)不足的情形下難以對其進行準確估計.本小節(jié)嘗試在BW統(tǒng)計量的計算中加入UBM參數(shù)的自適應過程,以期更好地利用UBM中豐富的語音信息.
結(jié)合公式(5),為了研究零階BW統(tǒng)計量與語音時長無關(guān)的性質(zhì),定義歸一化的零階BW統(tǒng)計量:
(15)

(16)
其中β(0≤β≤1)作為控制參數(shù),作用類似于GMM自適應中的自適應參數(shù),用于控制進行自適應的參數(shù)的量,其值可以通過經(jīng)驗或?qū)嶒炦x定.最終,應用于i-vector提取的零階BW統(tǒng)計量為:
(17)
將公式(17)帶入公式(8)即可得到加入UBM自適應改進的i-vector表達式.

圖2 改進i-vector提取框圖Fig.2 Improved i-vector extraction
融合本小節(jié)和上一小節(jié)對BW統(tǒng)計量計算做出的改進,將公式(13)中BW統(tǒng)計量N代入公式(15)進行歸一化再代入公式(16)和公式(17),即可以在BW統(tǒng)計量的計算中同時納入歷史測試語音信息和UBM參數(shù)的更多信息.圖2描繪了融合兩類信息的改進i-vector提取的過程.
為了檢驗上文提出的改進i-vector提取方法的有效性,采用美國國家標準技術(shù)署說話人識別評測2010(NIST,SRE 2010)核心數(shù)據(jù)集中男性電話語音進行實驗.原始語音數(shù)據(jù)平均時長2.5分鐘,為了獲取實驗所需的短語音,起始幀隨機地截取2秒,5秒,10秒(僅包含非靜音幀)的片段.實驗中系統(tǒng)注冊所用語音時長為2.5分鐘,測試語音為以上截取的三種短語音段.在測試階段,建立的說話人模型為489個,測試樣本351段,共進行了目標說話人測試353次,冒認者測試13307次.
對實驗語音提取標準梅爾頻率倒譜系數(shù)(MFCC)作為特征.預加重系數(shù)0.97,加漢明窗,幀寬20ms,幀移10ms,共抽取12維倒譜向量并計算能量系數(shù),其后附加上一階差分.利用基于能量的寂靜音檢測去除靜音.在之后的建模與測試時均丟棄能量系數(shù)的一階差分,因此本文所使用的特征共25維.為減小環(huán)境影響,將靜音去除后的特征標準化為正態(tài)分布.系統(tǒng)訓練數(shù)據(jù)采用SRE04-06數(shù)據(jù)以及Switchboard II數(shù)據(jù).利用期望值最大算法訓練出512分量高斯混合模型,全局差異子空間的維度為400維.在PLDA中,說話人相關(guān)的子空間維度為150維.
采用等錯誤率(EER)和檢測代價函數(shù)最小值(minDCF)兩項指標來衡量系統(tǒng)性能.EER是檢測錯誤權(quán)衡(DET)曲線上虛警率和漏警率相等的點.在計算檢測代價函數(shù)最小值時,檢測代價函數(shù)中取值Cmiss=Cfa=1,Ptrue=0.01.
本小節(jié)旨在檢驗4.1小節(jié)中將歷史測試語音信息加入BW統(tǒng)計量計算的方法.在公式(11)中,測試語音來自目標說話人的先驗概率設置為0.1.提前利用SRE04-06數(shù)據(jù)分別進行大量目標說話人和冒充者測試,將目標說話人和冒充者的得分分布由兩個12分量GMM來代表.評估實驗對比了基線系統(tǒng)(記為Baseline)及納入歷史測試語音的改進系統(tǒng)(記為Proposed-1)在三種不同長度短測試語音下的表現(xiàn).實驗結(jié)果見表1.表中給出了Proposed-1系統(tǒng)相對基線系統(tǒng)的提升,記為RI.
表1 Proposed-1系統(tǒng)與基線系統(tǒng)性能比較
Table 1 Comparison of baseline and proposed-1 system

EERminDCF2s5s10s2s5s10sBaseline22.8113.538.490.09220.05660.0392Proposed-120.8812.78.140.08560.05420.0383RI(%)8.466.134.127.164.242.3
由表1可見,在測試語音時長變短時,基線系統(tǒng)的性能迅速下降.納入歷史測試語音信息改進i-vector估計后,系統(tǒng)性能優(yōu)于基線系統(tǒng),且測試語音越短,這種相對提升越顯著.為了更詳細地分析系統(tǒng)行為,圖3顯示了測試語音時長10s情形下,納入歷史測試語音的系統(tǒng)與基線系統(tǒng)在新測試語音不斷加入時的minDCF對比.圖中虛線代表基線系統(tǒng)的minDCF.

圖3 Proposed-1系統(tǒng)性能與加入歷史測試語音數(shù)的關(guān)系Fig.3 Proposed-1 system performance and the number of added historical test
由圖3可見,由于引入與當前測試語音不同的語音信息,Proposed-1系統(tǒng)的性能在起初有一定的下降.然而,隨著歷史測試語音不斷加入i-vector的估計,系統(tǒng)的性能開始回升.當有足夠多歷史信息加入后,Proposed-1系統(tǒng)的性能最終超過了基線系統(tǒng),并最終穩(wěn)定下來.這說明存在足夠歷史測試語音的情形下,這種方法是有效的.
本小節(jié)旨在探究將歷史測試語音信息納入i-vector估計的潛在問題.首先,在通過MAP估計器給出兩條測試語音來自同一人的概率作為權(quán)重時,雖然可以預期絕大多數(shù)來自不同人的測試語音所獲的權(quán)重較低,但將它們用于BW統(tǒng)計量的計算仍會使系統(tǒng)性能有下降的趨勢.與此同時,一些本身來自同一人的測試語音,卻因為基線系統(tǒng)識別的效果不佳而被誤分配了較低的權(quán)重,將這些測試語音用于BW統(tǒng)計量的計算會使系統(tǒng)性能趨于提升.為了揭示這兩種相反的趨勢對系統(tǒng)性能的影響,本文為用于計算BW統(tǒng)計量的歷史測試語音權(quán)重設置門檻,當測試語音的權(quán)重低于這一門檻時,該測試語音將不再用于BW統(tǒng)計量的計算.表2列出了測試語音時長10s情形下,不同權(quán)重門檻值對應的實驗結(jié)果以及被丟棄的歷史測試語音數(shù).
由表2可見,當可用于BW統(tǒng)計量計算的權(quán)重門檻提高,雖然因權(quán)重值較低而被丟棄的測試語音絕大部分是來自不同人的語音,系統(tǒng)的性能卻下降了.這說明納入因基線系統(tǒng)性能不佳而被誤分類的測試語音帶來的益處要大于納入低權(quán)重的不同人測試語音帶來的損害.將原本來自同一人而被誤分配較低權(quán)重的測試語音納入i-vector提取對系統(tǒng)性能提高具有巨大的價值,這證明了本方法將全部歷史測試語音納入計算的合理性.
表2 權(quán)重門檻設置實驗結(jié)果
Table 2 Results of different weights

門檻設置EERminDCF丟棄語音數(shù)同一人不同人無門檻8.140.038300α<0.028.190.03913237α<0.058.330.0389161053
在前述實驗中,用于提前估計得分分布的開發(fā)集使用的是SRE 04-06數(shù)據(jù),改用Switchboard數(shù)據(jù)作為開發(fā)集進行實驗,在仍采用SRE數(shù)據(jù)進行得分規(guī)整的情況下,系統(tǒng)性能的浮動很小.這一觀察擴大了本方法的適用性.
接著討論在BW統(tǒng)計量計算中納入歷史測試語音時間和計算復雜度增加的問題.在本方法中,對每一條測試語音,系統(tǒng)只需要提取一次BW統(tǒng)計量,進行一次原始得分計算,這部分與基線系統(tǒng)相同.然而,對每條歷史測試語音,本方法需要利用其原始得分通過MAP估計器計算相應權(quán)重,從而得到加權(quán)后的歷史BW統(tǒng)計量,這部分的代價隨著歷史測試語音數(shù)量的增加而線性增加.在系統(tǒng)的歷史測試語音很多時,會拖慢系統(tǒng)響應速度.對此,可以考慮只使用固定數(shù)量的歷史測試語音(如最近的30條歷史測試),以達到系統(tǒng)性能和系統(tǒng)響應速度的平衡.另外,還可以考慮將相似度高的歷史測試語音提前歸為一組,在利用MAP估計器給出權(quán)重時以各歷史測試語音組為單位進行,這將是我們未來研究的方向.
本小節(jié)給出檢驗4.2小節(jié)中UBM參數(shù)自適應和融合系統(tǒng)性能的實驗結(jié)果.為了獲取UBM自適應的最優(yōu)性能,首先通過實驗的方式為公式(16)中適應參數(shù)β選擇恰當?shù)臄?shù)值.在為此,在開發(fā)集上,以0.1為間隔分別為β取值:0,0.1,…,0.9,觀察系統(tǒng)性能.以測試語音時長為5s為例,β取不同值時系統(tǒng)minDCF如圖4所示.

圖4 β取值對系統(tǒng)性能的影響Fig.4 β and system performance
由圖4可知,在測試語音為5s時β取值0.6系統(tǒng)性能達到最佳.用同樣的方法為不同的測試語音時長分別選擇最優(yōu)的β值,基線系統(tǒng)、納入UBM自適應的系統(tǒng)(記為Proposed-2)和融合系統(tǒng)(記為Fusion)的性能對比見表3.表中列出了β在不同測試時長下的取值.
表3 Proposed-2、Fusion系統(tǒng)與基線系統(tǒng)性能比較
Table 3 Comparison of baseline,proposed-2 and fusion system

EERminDCF2s5s10s2s5s10sBaseline22.8113.538.490.09220.05660.0392Proposed-221.0312.768.170.08640.05450.0385Fusion18.5611.537.370.0760.05040.0361β0.80.60.40.80.60.4
由表3可見,進行UBM自適應的系統(tǒng)性能優(yōu)于基線系統(tǒng)性能.觀察β取值可見,當測試語音時長變長,β取值較小.這表明UBM參數(shù)自適應尤其對短語音起到作用.結(jié)合表2和表3可以發(fā)現(xiàn),納入歷史測試語音信息的系統(tǒng)性能優(yōu)于進行UBM自適應系統(tǒng)的性能.這一觀察符合我們的預期:在納入歷史測試語音信息的系統(tǒng)中,利用MAP估計器給出了說話人的標簽信息,這比單純利用無監(jiān)督學習得到的UBM中信息有效.最終,融合系統(tǒng)的性能優(yōu)于只采用一種改進的系統(tǒng),這說明歷史測試語音信息和UBM參數(shù)信息具有一定的互補性.
短語音帶來的性能下降是限制說話人識別系統(tǒng)實際應用的一個難題.為了提升測試語音時長有限情形下的系統(tǒng)性能,首先,通過分析確定在短語音情況下i-vector估計的不確定性增加源于用于BW統(tǒng)計量計算的信息不足.為改善測試語音i-vector的估計,本文提出兩種方法用于改進BW統(tǒng)計量計算:一種是納入帶有權(quán)重的歷史測試語音信息,另一種是利用UBM參數(shù)自適應統(tǒng)計量.實驗表明,兩種方法都能夠提升系統(tǒng)性能,融合兩種方法后系統(tǒng)的性能進一步提高.
在下一步的研究工作中,將著重于優(yōu)化歷史語音權(quán)重的估計過程,以降低存在大量歷史測試情況下系統(tǒng)工作的時間和計算成本.由于當前自適應參數(shù)β的取值是在開發(fā)集上針對不同語音時長預先估計的,在未來的研究中,擬探究β取值在測試過程中的動態(tài)估計以更符合實際應用情況.另外,還可以研究測試語音時長不定時(如2s、5s、10s混合)系統(tǒng)的性能表現(xiàn).