陳晨 韓紀慶 陳德運 何勇軍
說話人識別 (Speaker recognition)又稱為話者識別或聲紋識別,其能通過對說話人語音信號的分析處理,來自動識別出說話人的身份[1].相比于其他身份認證技術,說話人識別具有不需要與個體直接接觸、識別使用的設備成本較低,以及便于與現有的通信系統相結合等優勢[2].而這些語音本身所具有的眾多優點,則使得說話人識別技術倍受企業與研究者們的關注并得以快速發展[3].
根據識別對象的差異,可以將說話人識別分為兩類,即文本相關 (Text-dependent)型與文本無關(Text-independent)型[4].前者要求說話人提供特定發音的關鍵詞或關鍵句作為訓練數據,識別時也必須按照相同的內容發音;而后者則不需要強制規定語音內容.二者相較而言,與文本無關的說話人識別研究對語音內容的要求更自由,因此其擁有更廣泛的應用領域[5].
與文本無關的說話人識別研究雖然已經取得了巨大的進展,但其面對的主要困難與挑戰卻依然存在,即語音信號中存在大量的變化信息 (Variable)[6].具體而言,由于每段語音的表述內容不同,因此必須在自由的語音信號中尋找能夠表征說話人身份的個性信息;同時,受到不同錄音裝置與傳輸方式的影響,語音信號中也會引入更多的變化信息.因此,提取出能夠有效包含說話人個性信息的特征具有很大的挑戰性.然而,上述問題的解決將有效推動說話人識別的研究進展.
由于語音信號具有短時平穩的特性,因此在進行前端特征提取時,通??梢圆捎枚虝r的幀級(Frame-level)特征來刻畫語音信號.然而,語音信號具有時變性與上下文相關性,這些與時間相關的動態特性中往往蘊含著豐富的說話人個性信息,從而使得此信息具有長時統計特性[7],而只對幀級特征序列進行簡單的取均值操作無法有效獲取語音段的統計特性[8-9].因此,如何合理利用一段語音的幀級特征序列,從中提取出包含說話人個性信息的句級 (Utterance-level)特征則顯得尤為重要.同時,句級特征提取能夠對不同時長的語音信號進行整合,從而使不定長語音信號能用固定維度的特征表示.因此,其可與大多數常用的模式識別算法相結合,具有更強的可操作性.目前的方法在進行句級特征提取時,一般會具有階段性目標或只具有一個統一目標,本文將根據此分類依據對句級特征提取方法進行分類.其中,第1 類方法由于具有多個階段,且各階段均具有獨立的優化目標 (任務),本文稱其為基于任務分段式學習策略的特征提取方法;而第2 類方法由于只具有統一的優化目標,因此本文稱其為基于任務驅動式學習策略的特征提取方法.
基于上述分析,本文總結并介紹與文本無關說話人識別中具有代表性的句級特征提取方法,試圖為進一步深入研究特征提取方法奠定理論基礎.第1 節簡要概述進行句級特征提取之前的前端處理過程;第2 節和第3 節分別介紹基于任務分段式與驅動式策略的句級特征提取方法;第4 節對后端處理的相關內容進行介紹;第5 節對未來研究趨勢進行分析;第6 節對全文進行總結.
在介紹句級特征提取方法之前,這里先簡要介紹語音信號的前端處理過程,包括語音活動檢測 (Voice activity detection,VAD)、幀級特征提取以及特征規整 (Feature normalization)三部分.
語音活動檢測能夠區分出語音信號中的語音部分與非語音部分,從而為后續的特征提取部分提供有效的語音段.語音活動檢測的功能示意圖如圖1(a)所示,其所對應的語譜圖如圖1(b)所示,從圖中可以看出,語音部分與非語音部分所對應的語譜圖具有明顯差異,如直接對未進行語音活動檢測的語音信號進行特征提取,將引入大量的無效內容.因此,進行語音活動檢測對于有效特征的提取具有十分重要的作用.過去常采用基于能量與過零率的雙門限方法,其雖然簡單易行,能夠快速確定出語音部分的起始點與結束點,但在尋找結束幀時并不穩定.目前的方法大多采用窗能量或帶上下文的幀能量檢測方法.

圖1 語音活動檢測的功能示意圖Fig.1 Schematic diagram of voice activity detection
當語音信號的信噪比較低時,噪聲會增加語音部分檢出的難度,純噪聲部分更會引入大量的無效內容,此時檢測出有效語音片段則顯得更為重要.針對以上問題,目前的語音活動檢測方法可以劃分為兩類.一類主要利用特征的頻譜-時間特性(Spectro-temporal property)來檢測含噪語音信號中的語音片段,這類特征主要包括能量特征[10]、周期性特征[11]、高階統計特征[12]及融合特征[13]等.另一類則主要通過學習統計模型來進行語音活動檢測,例如:決策指導參數估計方法[14]、統計似然比檢驗方法[15]、平滑似然比檢測方法[16]等.近年來隨著神經網絡方法的發展,一系列以其為基礎的方法相繼出現,文獻[17]對這類方法進行了系統對比.
進行語音活動檢測后,即可對語音片段進行幀級特征提取.幀級特征所對應的語音幀時長一般在20~40 ms 之間,常用的特征有梅爾頻率倒譜系數(Mel-frequency cepstral coefficients,MFCC)[18]、線性預測倒譜系數 (Linear predictive cepstral coefficients,LPCC)[19]、感知線性預測系數 (Perceptual linear predictive coefficients,PLPC)[20]等.本節將以最為常用的MFCC 特征為例,介紹其提取過程.
圖2 為25 ms 語音幀所對應的MFCC 特征提取過程的示意圖,其中圖2(a)為語音幀的原始波形.在進行MFCC 特征提取前,首先需要對語音信號進行分幀、預加重、加窗等預處理.當采樣頻率已知時,可以將N個采樣點當作一個觀測單位,幀移一般取N的1/3~1/2,圖中取10 ms,圖2 中語音信號的采樣頻率為8 000 Hz,因此一幀語音 (25 ms)對應的采樣點數為200.預加重的目的則在于消除口唇輻射的影響,對語音信號中受到發音系統壓制的高頻部分進行補償,預加重系數一般設置為0.9~1.而加窗操作則可以使信號兩端趨于平滑,從而防止信號發生畸變,常用的窗函數有漢明窗、漢寧窗或矩形窗等.圖2(b)為經過預加重與加漢明窗操作后的語音波形,可以明顯觀察到語音信號的兩端變得更加平滑.然后,對加窗后的各幀信號進行快速傅里葉變換 (Fast Fourier transform,FFT)即可得到各幀的頻譜,對頻譜取模便可得到功率譜,其取對數后的結果如圖2(c)所示.由于聲音在內耳的基底膜上以縱波的形式進行傳播,而三角濾波器組可以有效模擬基底膜對聲音的頻響特性,因此可以采用三角濾波器組對語音信號進行濾波.同時,三角濾波器組在實際物理頻率上呈不均勻分布、在梅爾頻率上服從均勻分布,因此可以將物理頻率轉換到梅爾頻率上進行計算.基于此,三角濾波器組也可以稱作梅爾頻率濾波器組.圖2(d)為具有24 個通道的梅爾頻率濾波器組,圖2(e)為在其上進行濾波并取對數的輸出結果.濾波器組的設計使其對圖2(c)中對數功率譜下端的頻率變化更加敏感,對數運算則能夠進一步擴展系數的取值范圍.最后,對濾波器組對數能量進行離散余弦變換 (Discrete cosine transform,DCT)并保留前F個系數作為MFCC特征,F一般取13~21,圖2(f)中展示了保留20 個系數的MFCC 特征.值得注意的是,標準的MFCC參數只反映了語音的靜態特性,語音的動態特性可以用這些靜態特征的差分譜來描述:通過計算靜態MFCC 特征的一階差分 (Delta)與二階差分 (Deltadelta),并與靜態MFCC 特征拼接即可組成具有動態特性的聲學特征.

圖2 MFCC 特征提取過程示意圖Fig.2 Schematic diagram of MFCC extraction
在MFCC 特征的提取過程中,也可以獲得一些其他特征,例如:語譜圖特征[21]、對數濾波器組(Filter banks,FBank)特征[18]等.其中,語譜圖特征是由對數功率譜按幀拼接而成的特征.其所對應的語音段時長更長,因此其中包含的信息更多;隨著卷積神經網絡 (Convolutional neural network,CNN)[22-23]在說話人識別領域的應用,作為二維特征的語譜圖特征也逐漸成為能夠利用的說話人特征.對數FBank 特征則為濾波器組輸出的對數能量,與MFCC 特征相比,對數FBank 特征并未進行離散余弦變換,其中包含的信息更多,也可以作為說話人特征進行使用;隨著深度神經網絡的發展,對數FBank 特征的應用也正在逐漸增多.
受語音信號的時變性影響,無法保證幀級特征在不同語音信號上的一致性.因此,需要采用特征規整技術以最小化上述問題所產生的影響.在眾多特征規整技術中,最常用的方法為倒譜均值規整(Cepstral mean normalization,CMN)[24]與特征彎折 (Feature warping)[25],它們均能夠在一定程度上消減幀級特征序列中的不一致性信息.其中,CMN方法具有很多擴展形式,例如:倒譜均值與方差規整 (Cepstral mean and variance normalization,CMVN)[26]、加窗倒譜均值與方差規整 (Windowed cepstral mean and variance normalization,WCMVN)[26]等.圖3 展示了原始聲學特征與分別經過CMVN、WCMVN 以及特征彎折方法進行特征規整后所得到特征的直方圖,從圖中可以看出:經CMVN 方法規整后,聲學特征整體分布的形狀沒有發生改變,改變的只有特征參數的動態數值范圍;經WCMVN 方法規整后,聲學特征的整體分布則近似映射到高斯分布上;經特征彎折方法規整后,聲學特征也被近似映射到高斯分布上,但彎折后的特征在數值上更加集中.

圖3 幀級特征序列經特征規整后的直方圖對比Fig.3 Histogram comparison of frame-level feature sequences after feature normalization
前端處理能夠去除語音信號中的部分無效內容,并提取出具有一定區分性的幀級特征,但幀級特征所攜帶的信息量有限,且需要考慮不同時長語音如何轉化為統一維度特征的問題,因此需要對幀級特征序列進行進一步的特征提取,以獲取信息量更全面且維度統一的句級特征.其中,構建均值超矢量(Mean supervector)[27]是句級特征提取方法中最基礎的方法之一,因此本節將以均值超矢量的構建為起點,并以任務分段式策略為線索,根據不同階段的任務,展開介紹從均值超矢量發展而來的一系列方法.
在說話人識別研究中,如何表示具有不定時長的語音信號一直是主要研究問題之一.在早期的研究中,主要通過對幀級特征取均值的方式來獲取不同時長語音信號的固定維度特征表示[8].該方法雖然計算速度很快,但識別性能較差.自1980 年以來,研究的主要趨勢則轉為通過構建從數據到模型的訓練方式,來對幀級特征進行整合.例如:高斯混合模型 (Gaussian mixture model,GMM)[28]、高斯混合模型-通用背景模型 (Gaussian mixture model—universal background model,GMM-UBM)[29]、高斯混合模型-支持向量機 (Gaussian mixture model—support vector machine,GMM-SVM)[27]、基于字典學習的方法[30-33]等.以上方法大多通過統計學習的方式來獲取說話人特征的統計特性,且為首個句級特征 ——GMM 均值超矢量的出現奠定了理論基礎.
GMM 均值超矢量是通過合并GMM 各高斯分量中的均值矢量而獲得的超高維特征矢量,其具有維度固定、攜帶信息量充足、易與眾多模式識別算法結合等優點.GMM 均值超矢量的提取方法一經提出,迅速吸引了研究者們的注意,均值超矢量也成為了不可替代的句級特征.本文以具有2 個高斯分量的GMM-UBM 系統為例,在圖4 中展示GMM均值超矢量的提取過程.首先,如圖4(a)所示,利用大量背景說話人語音數據 (也稱為開發集數據)來訓練UBM.本質上,UBM 是一個能夠近似描述全部說話人語音共性的大型GMM,它由若干個高斯概率密度函數的加權和構成,具有以下形式:

圖4 GMM 均值超矢量提取過程示意圖Fig.4 Schematic diagram of GMM mean supervector extraction

其中,xs,h,t∈RF表示開發集數據中第s位說話人的第h段語音中的第t幀聲學特征,一般可以采用MFCC 特征,F為聲學特征的維度;λ={πc,μc,Σc}(c=1,2,···,C)為UBM 的參數集,3 個參數分別為權重、均值矢量與協方差矩陣,C為高斯分量總數;Pc(xs,h,t;μc,Σc)表示高斯函數.通過利用開發集數據,經過期望最大化(Expectation maximization,EM)算法[34]的反復迭代,便可得到UBM的參數集λ.
然后,如圖4(b)所示,將UBM 作為初始化模型,通過利用最大后驗概率 (Maximum a posteriori,MAP)估計[35],對每段語音進行自適應以求出其對應的GMM.具體而言,對于說話人s第h段語音的全部特征序列Xs,h={xs,h,t;t=1,2,···,Ts,h},每幀特征xs,h,t由UBM 中第c個高斯分量產生的概率為


然后利用上述統計參數即可得到說話人s第h段語音所對應GMM 參數的更新公式,即

其中,β為縮放因子,用于確保全部的和為1;αc則具有以下形式:

其中,r為相關因子,用于調控GMM 參數受Xs,h的影響程度.在實際應用中,更新均值矢量對整體性能的提升具有更大的價值,因此UBM 的權值與協方差矩陣往往可以在全部說話人之間共享,從而使得不同語音段所對應的GMM 之間的差異僅體現在均值矢量上.基于此,可以將GMM 中的全部均值矢量拼接為GMM 均值超矢量,并以此作為GMM 的唯一表示.
這種將說話人模型與背景模型相結合的形式,提供了比獨立訓練GMM 更好的性能,并為后續方法的提出奠定了理論基礎.然而,GMM 均值超矢量中仍然包含很多與說話人個性信息無關的信息,需要考慮對這些冗余信息進行補償.同時,均值超矢量的超高維度也會產生計算量龐大的問題.例如,對于維度為60 維的聲學特征與具有1 024 個高斯分量的GMM,其均值超矢量的維度將達到61 440維 (CF=60×1 024).因此,需要考慮如何獲取維度適中且能夠繼承GMM 均值超矢量大多數優點的特征矢量.基于以上分析,下文將介紹能夠對GMM均值超矢量進行有效補償與降維的一系列方法.
由于GMM 均值超矢量中包含與說話人相關和與說話人無關的信息,因此可以對GMM 均值超矢量的成分進行分解,假設其可以表示為4 個分量線性組合的形式


表1 不同特征空間學習方法匯總信息Table 1 Information of different feature space learning methods
2.2.1 經典MAP 方法
由于GMM-UBM 系統中的MAP 自適應技術[29]與式 (6)具有一定的關聯性,因此本節將首先對其進行討論.根據式 (4)可以發現,的更新公式由兩個分量組成,分別為與說話人相關的項及與說話人無關的 (1-αc)μc項.可以用更通用的形式將其表示為

其中,D∈RCF×CF為對角矩陣,用于描述不同語音段變化信息;zs,h∈RCF為說話人因子,是服從標準正態分布的隨機隱變量.結合式 (6)可知,Dzs,h對應于ms+mh+mr項.由此可見,與第2.1 節的討論一致,經典MAP 方法的Ms,h中含有與說話人信息無關的冗余信息.
2.2.2 本征音模型
本征音 (Eigenvoice)模型[37]最初是語音識別中的說話人自適應方法[36].本質上其屬于MAP 的擴展方法,與經典MAP 方法中采用對角矩陣的方式不同,其將參數限制在由本征音矩陣的列所定義的較低維子空間中,因此能夠獲得更低維的特征表示.其具有以下形式:

其中,V∈RCF×R(R ?CF)為低秩本征音矩陣,它的列能夠張成說話人子空間;ys,h∈RR為具有標準正態分布的說話人因子;Vys,h與ys,h均可以作為句級特征進行使用.
值得注意的是,此方法中不存在噪聲殘差假設,因此其在本質上與主成分分析 (Principal component analysis,PCA)[41]等效,模型中GMM 均值超矢量的協方差矩陣為VVT.然而,均值超矢量具有較高的維度,難以在有限的數據量下估計出滿秩的協方差矩陣.因此,無法直接通過最大似然估計(Maximum likelihood estimation)得到參數,需要采用EM 算法來進行參數估計.同時,從式 (8)中也可以看出,GMM 均值超矢量Ms,h經由UBM均值超矢量m加上一定的位移Vys,h而獲得.因此,在進行GMM 自適應時,GMM 會受到潛在本征音矩陣V的限制.此外,此方法的缺點也顯而易見,與經典MAP 方法類似,其無法進行信道補償.
2.2.3 本征信道模型
從同一說話人不同語音數據中所提取的GMM均值超矢量無法保證完全相同,尤其當這些數據來自不同的錄音設備時,信道變化信息必然會增加均值超矢量之間的差異.因此,必須進行信道補償以確保能夠對來自不同信道的語音數據進行正確評分.類似于本征音模型,本征信道模型[37]假設信道信息存在于信道子空間中,其通過對信道信息進行建模,將注冊集語音自適應到測試集語音所在的信道上.當本征信道模型與經典MAP 方法結合時,其具有以下形式:

其中,D∈RCF×CF為對角矩陣;zs∈RCF為說話人因子;U∈RCF×K(K ?CF)為低秩本征信道矩陣,它的列能夠張成信道子空間;xh∈RK~N(0,I)為信道因子.由于需要對信道信息進行建模,因此訓練數據中需要包含同一說話人不同信道下的語音數據,可見該方法在數據獲取上具有一定的難度.同時,結合式 (6)可知,Dzs對應于ms+mr項.由此可見,Dzs中仍然包含一定的殘差信息,該信息會對模型的有效性產生影響.
2.2.4 聯合因子分析模型
聯合因子分析 (Joint factor analysis,JFA)模型[38]是本征音模型與本征信道模型的結合方法,該方法假設說話人信息與信道信息均能夠在GMM均值超矢量所在空間的低維子空間中得到表示,且這些低維子空間分別是由本征音矩陣V與本征信道矩陣U的列所張成的空間.基于此,GMM 均值超矢量便能夠表示為說話人信息、信道信息與殘差信息的線性組合形式.對于說話人s第h段語音所對應的GMM 均值超矢量Ms,h,其具有以下形式:

其中,V∈RCF×R為低秩本征音矩陣,ys∈RR為說話人因子,U∈RCF×K為低秩本征信道矩陣,xh∈RK為信道因子,D∈RCF×CF為對角的殘差負荷矩陣,zs,h∈RCF為殘差因子.
在式 (10)中,V,U與D均為JFA 模型的超參數,目前存在兩種超參數的估計方法,分別為聯合估計方法與獨立估計方法.利用它們估計出的結果相差不大,但后者的計算復雜度更小.在參數學習過程中,獨立估計方法需要先估計V,再估計U與D,然后即可估計出因子ys,xh與zs,h,最后通過保留說話人相關部分Vys,并丟棄信道相關部分Uxh與殘差相關部分Dzs,h,來達到信道補償的目的.由于JFA 模型需要學習信道信息,因此也需要提供每位說話人在不同信道下的語音數據.與上述4 種方法相比,只有JFA 模型同時考慮了式 (6)中的全部4 個分量,這也使得JFA 模型能夠獲得比上述方法更優的性能.然而,由于JFA 模型需要對不同成分進行建模,因此其計算復雜度較高.
2.2.5 總變化空間模型
聯合因子分析模型雖然是一種有效的句級特征提取方法,但其模型假設中仍然存在一些問題:說話人信息與信道信息并非完全相互獨立,因此獨立地學習說話人本征音空間與本征信道空間會造成說話人信息損失.此外,信道種類多、難以預測,無法通過窮舉的方法來學習全部的信道信息,且信道標簽信息的采集也具有一定的難度.針對以上問題,可以通過學習一個包含均值超矢量中主要信息的總變化空間 (Total variability space,TVS)[39-40],來代替獨立學習的本征音空間與本征信道空間.該方法稱為身份-向量 (Identity-vector,I-vector)方法[40],它通過學習高維GMM 均值超矢量與低維特征之間的映射關系,來獲取前者的低維特征表示 ——I-vector 特征.而對于I-vector 特征中包括信道信息在內的與說話人身份無關的會話變化(冗余)信息,則可以采用會話補償的方式對其進行削減.
與JFA 方法不同,I-vector 方法不需要區分說話人與信道.它直接通過學習總變化空間來對GMM均值超矢量進行降維,且提取的I-vector 特征能夠繼承GMM 均值超矢量的大多數優點.同時,由于I-vector 特征的維度較低,使得一些在高維數據上不適用的傳統補償策略得以適用,具有更高的可操作性.擁有以上優點的I-vector 方法更是由于其優良的識別性能,而受到了廣泛關注,并成為說話人識別領域中的主流方法之一,總變化空間學習更是作為I-vector 方法中的關鍵研究內容之一而備受關注.根據類別信息的利用情況,目前的總變化空間學習方法可以分為兩類:無監督方法與有監督方法,下面將從這兩方面展開介紹.
2.2.5.1 無監督方法
在無監督的總變化空間學習方面,根據總變化空間模型中假設側重點的不同,其可以劃分為兩類:一類將側重點放在從GMM 均值超矢量映射到I-vector 特征后所剩的殘差上,通過對殘差引入不同的先驗假設,來進行總變化空間的學習;另一類則對從GMM 均值超矢量到I-vector 特征的映射關系進行改進.
1)殘差假設
首先介紹基于不同殘差假設的無監督I-vector 特征提取方法,最早出現的方法為前端因子分析 (Front-end factor analysis,FEFA)方法[40].在此之后,一系列通過直接或間接對GMM 均值超矢量進行降維處理來學習總變化空間的方法相繼出現.它們大多均屬于前端因子分析方法的變形方法,例如:基于EM 算法的PCA 方法[42]、概率主成分分析 (Probabilistic principal component analysis,PPCA)[43-44]以及因子分析 (Factor analysis,FA)[44-45]等.這類方法認為:GMM 均值超矢量之間的差異不僅來自于其對應的隱變量I-vector 特征,還來自于進行映射之后所剩的殘差.此類方法通過對殘差中所剩成分的分析,來幫助總變化空間的學習.
a)前端因子分析 (FEFA).作為I-vector 方法的基礎,其沒有直接對GMM 均值超矢量進行處理,而是通過建立Baum-Welch 統計量與隱變量I-vector 特征之間的映射關系來學習總變化空間.由于無法顯式地展示Baum-Welch 統計量與I-vector 特征之間的關系,且Baum-Welch 統計量與GMM 均值超矢量具有等效性[44],因此這里仍然以GMM 均值超矢量的形式給出FEFA 方法的表達式

其中,T=(T1T,···,TcT,···,TCT)T∈RCF×R(R ?CF)為低秩的總變化矩陣 (Total variability matrix),Tc∈RF×R為總變化矩陣的子塊,ws,h∈RR~N(0,I)為待求的I-vector 特征,Baum-Welch 統計量的計算過程可以參見式 (3).由式 (11)可以看出,FEFA 方法的模型假設中不包含殘差項,因此該模型的I-vector 特征中包含了全部變化信息.與前文所述的特征空間學習方法類似,FEFA方法也需要利用EM 算法來進行參數與隱變量估計,在E 步需要估計出ws,h在條件下的后驗協方差矩陣L、后驗均值E以及后驗相關矩陣Υ

其中,μc與Σc分別為UBM第c個高斯分量的均值矢量與協方差矩陣.
在M 步,首先需要計算Baum-Welch 統計量與I-vector 的聯合似然函數,然后求取其對參數T的偏導數并令其為0,便可得到參數T的更新公式

經E 步與M 步的反復迭代后,模型最終會趨于收斂.然后,將T代入式 (12)中,即可得到I-vector特征的后驗均值E,將其用作待求的I-vector 特征即可.基于EM 算法的PCA 方法[42]與FEFA 方法類似,也不具有殘差假設.
b)概率主成分分析 (PPCA).與FEFA 方法不同,PPCA 方法[43-44]具有殘差假設,其可以表示為以下形式:

其中,εs,h∈RCF~N(0,σ2I)為殘差矢量,且它的協方差矩陣各向同性 (Isotropic),因此εs,h各維之間的離散程度相同.也正是由于εs,h的協方差矩陣各向同性,因此在進行最大似然估計時各參數具有閉式解[43,46].但采用EM 算法進行求解時的模型計算復雜度更低,且經過若干次迭代后參數一定會收斂于全局最優解,因此大多數情況下仍然采用EM算法進行PPCA 方法的參數估計.
c)因子分析 (FA).因子分析方法[44-45]具有與式 (14)相同的表達式,但它對殘差協方差矩陣的定義更加自由:其定義εs,h~N(0,Φ),其中 Φ 為各向異性的對角協方差矩陣.其參數估計方法與PPCA 類似,也需要利用EM 算法來完成參數更新.
以上即為3 種基于不同殘差假設的總變化空間學習方法,它們在性能方面的差異不大[44],但計算復雜度具有一定差異.考慮到在說話人識別領域中,模型訓練過程一般采取離線模式,可以訓練好模型后再利用其進行相應的特征提取操作,因此訓練階段一般對效率的要求不高,特征提取過程的時間復雜度則受到更多的關注.基于此,本節將總結與上述3 種方法相應的特征提取過程的時間復雜度,并給出其他匯總信息,如表2 所示.其中,tr(·)表示跡運算,⊙表示哈達瑪 (Hadamard)乘積.

表2 基于不同殘差假設的無監督總變化空間模型Table 2 Unsupervised TVS model based on different residual assumptions
2)映射關系假設
這類總變化空間學習方法大多針對總變化空間學習過程中GMM 均值超矢量 (或Baum-Welch 統計量)與I-vector 特征的映射關系來進行方法改進,并根據其存在的具體問題給出解決方法.這類方法一般從以下三個角度出發:對映射關系的改進、對不理想數據庫的改善,以及對學習速度的提升
a)對于映射關系改進問題,局部變化模型 (Local variability modeling)[47]通過利用GMM 均值超矢量中各高斯分量與I-vector 特征之間的局部可變性,來學習高斯分量與I-vector 特征間的映射關系;基于稀疏編碼 (Sparse coding,SC)的方法[48]則利用字典學習來壓縮總變化矩陣,從而減少數據所占用的存儲空間;廣義變化模型 (Generalized variability model)[49]則針對GMM 均值超矢量與I-vector 特征映射關系中高斯分布假設較簡單的問題,通過將該分布擴展到高斯混合分布,來更魯棒地擬合二者之間的映射關系.
b)對于不理想數據庫改善問題,針對不同數據庫中存在源變化信息 (Source variable),從而導致開發集數據與評估集數據映射關系不一致的問題,基于最小散度標準 (Minimum divergence criterion)的先驗補償方法[50]通過對不同數據庫中的先驗信息進行建模,來學習能夠對其進行補償的映射關系;針對語音數據中存在噪聲與混響的問題,基于不確定性傳播 (Uncertainty propagation)的方法[51]則對Baum-Welch 統計量與I-vector 特征的映射關系中不確定性因素所產生的影響進行建模,從而降低環境失真對I-vector 特征表示的影響.
c)對于學習速度提升問題,廣義 I-vector 估計(Generalizing I-vector estimation)方法[52]利用子空間正交先驗 (Subspace orthogonalizing prior)來替換經典I-vector 方法中的標準高斯先驗,從而通過正交屬性來提高計算速度;而基于隨機奇異值分解 (Randomized singular value decomposition)的方法[53]則通過近似估計的方式來提升計算速度.上述方法的匯總信息如表3 所示.

表3 基于不同映射關系假設的無監督總變化空間模型Table 3 Unsupervised TVS model based on different mapping relations
2.2.5.2 有監督方法
無監督方法雖然能夠獲取有效的I-vector 特征,但在學習過程中未利用類別信息.這里將介紹基于有監督學習策略的總變化空間學習方法,它們均能夠有效利用類別信息來指導總變化空間學習,主要包括偏最小二乘 (Partial least squares,PLS)方法[54]、概率偏最小二乘 (Probabilistic partial least squares,PPLS)方法[55]、有監督主成分分析(Supervised probabilistic principal component analysis,SPPCA)[56]、基于最小最大策略 (Minimax strategy)的方法[57-58]等,下面將展開介紹上述4 種方法.
a)偏最小二乘 (PLS).PLS 方法能有效利用類別信息進行總變化空間學習,它主要通過構建GMM 均值超矢量與類別標簽的公共子空間來獲取它們之間的關聯信息,并以此來增加模型對不同數據的區分能力,而此公共子空間正是總變化空間.定義開發集數據中的全部GMM 均值超矢量可以表示為數據矩陣M=(M1,···,Mn,···,MN)T∈RN×CF,其中Mn為第n段語音所對應的GMM 均值超矢量,n=1,2,···,N,N為開發集數據的樣本總數.同時,PLS 方法對類別標簽采用one-hot編碼的形式,即yn=(0,···,0,1,0,···,0)T∈RK,其中,K為開發集數據的總類別數.定義開發集中全部數據的類別標簽可以表示為矩陣Y=(y1,···,yn,···,yN)T∈RN×K.基于以上符號定義,經過標準化后的GMM 均值超矢量矩陣M(1)與類別標簽矩陣Y(1)的關系可以表示為以下形式:

其中,R(R ≤K)為模型求解時的迭代次數,也是總變化空間的維度;在每次迭代過程中,均可求得一組wr,tr,ur與qr;T=(t1,···,tr,···,tR)∈RCF×R為總變化矩陣;W=(w1,···,wr,···,wR)∈RN×R為I-vector 特征組成的矩陣,每行對應一個I-vector 特征,在每次迭代中,均可以求得一個得分矢量wr,對應于當前數據矩陣M(r)在總變化空間當前所求基上的投影;Q=(q1,···,qr,···,qR)∈RK×R為負荷矩陣;U=(u1,···,ur,···,uR)∈RN×R為得分矩陣,與W類似,每次迭代均可以求得一個得分矢量ur;E,F為殘差矩陣.
在上述總變化空間學習過程中,需要保證GMM均值超矢量與類別標簽在公共子空間中投影包含的有效信息最多,從而減少投影過程中的信息損失;同時,還需要保證它們投影的相關性最大,從而建立起均值超矢量與標簽之間的強聯系.以上需求可以表示為以下優化問題:

式(16)為第r次迭代時的目標函數,對其進行求解即可得到當前迭代下的tr與qr.然后,需要對數據矩陣M(r)與類別信息矩陣Y(r)進行縮減,并從縮減后的M(r+1)與Y(r+1)中繼續尋找下一組滿足目標函數Jr+1的參數tr+1與qr+1.當進行R次迭代后,即可得到總變化矩陣T,而GMM 均值超矢量在總變化空間上的投影即為I-vector 特征,可由未縮減的數據特征矩陣M(1)進行表示.
b)概率偏最小二乘 (PPLS).概率偏最小二乘方法[55]是偏最小二乘 (PLS)方法的概率擴展形式,它的模型規模、計算復雜度、識別性能均優于PLS方法.PPLS 方法假設GMM 均值超矢量Ms,h與類別標簽Ys,h均由公共隱變量ws,h經過一定的線性變換而獲得,此過程通過Ys,h來指導Ms,h的產生過程,從而增強Ms,h與Ys,h之間的聯系.通過公共隱變量ws,h的聯系,Ms,h與Ys,h的關系可以表示為

其中,m∈RCF為GMM 均值超矢量產生過程中的偏置;μY∈RK為類別標簽產生過程中的偏置;T∈RCF×R為總變化矩陣,亦為由ws,h向Ms,h轉換的變換矩陣,T的列張成了數據空間的一個線性子空間,對應于總變化空間;Q∈RK×R為負荷矩陣;ws,h∈RR~N(0,I)為公共隱變量,亦為待求的I-vector 特征;εs,h∈RCF~N(0,ΦM|w)與ζs,h∈RK~N(0,ΦY|w)為殘差矢量,ΦM|w與ΦY|w為誤差擾動εs,h與ζs,h的協方差矩陣;且εs,h,ζs,h與ws,h兩兩之間相互獨立.在進行參數求解時,式 (17)可以整合為一個等式

c)有監督主成分分析 (SPPCA).有監督主成分分析方法[56]與概率偏最小二乘 (PPLS)方法類似,但它們對類別標簽的處理方式不同.SPPCA 方法并未直接采用GMM 均值超矢量作為輸入,而是采用與前端因子分析 (FEFA)類似的方法,將Baum-Welch 統計量作為輸入來學習總變化空間.SPPCA 方法具有以下形式:

其中,Ss為長時GMM 均值超矢量,是同一說話人s的全部語音所對應的GMM 均值超矢量.與PPLS方法相比,SPPCA 方法并未顯式地使用類別標簽,而是隱式地將同類數據聚集在一起,并用于GMM均值超矢量的提取.在參數估計過程中,SPPCA 方法也采用EM 算法進行參數更新.
d)最小最大策略.針對開發集數據與評估集數據的映射關系不一致問題,將最小最大策略 (Minimax strategy)[57]引入到總變化空間的學習過程中,該方法[57]通過這一準則來最小化最大風險,從而獲得潛在風險最小的映射關系.這里給出上述不同方法的匯總信息,如表4 所示.

表4 不同有監督總變化空間模型匯總信息Table 4 Information of different supervised TVS models
GMM 均值超矢量向I-vector 特征映射后,所獲得的原始I-vector 特征中仍然存在與說話人身份無關的信息,如語音內容差異性信息、語音時長差異性信息、信道差異性信息、環境噪聲等,這些與說話人身份無關的信息被統稱為會話變化信息 (Session variable)[59].對于上述信息,需要采用會話補償方法來對其進行削減.本節將對基于任務分段式策略的會話補償方法進行總結,將其劃分為兩類:一類方法通過尋找最佳的投影子空間來進行會話補償特征空間學習,而另一類方法則通過特征重構的方式進行會話補償.這里給出上述兩類會話補償方法的匯總信息,如表5 所示.

表5 不同會話補償方法匯總信息Table 5 Information of different session compensation methods
2.3.1 子空間投影
這類方法大多通過子空間學習的方式,來尋找更能夠表征說話人個性信息的投影方向,從而將原始I-vector 特征投影到更具有區分性的子空間中.在眾多方法中,最為常用的方法為線性判別分析(Linear discriminant analysis,LDA)[60],其能夠學習具有類內散度最小且類間散度最大的子空間,從而有效增強同類數據之間的共性、異類數據之間的區分性.此外,很多其他基于子空間投影思想的會話補償方法也能獲得較為理想的結果.例如:類內協方差規整 (Within-class covariance normalization,WCCN)[61]將降低預期錯誤率作為子空間學習的優化目標;擾動屬性投影 (Nuisance attribute projection,NAP)[62]則以消除擾動方向為優化目標;非參數判別分析 (Nonparametric discriminant analysis,NDA)[63]通過使用最近鄰規則,來學習原始I-vector 特征在子空間中的局部類間區分性信息與類內共性信息,進而使得其能夠處理非高斯分布的原始I-vector 特征;而局部權重線性判別分析(Locally weighted linear discriminant analysis,LWLDA)[64-65]則以成對的方式來獲取說話人類內散度,并通過關聯矩陣對其進行縮放,從而既能夠解決非高斯分布對會話補償的限制問題,又能夠保留原始I-vector 特征內的局部結構.
上述方法在學習到原始I-vector 特征的投影子空間后,需要將原始I-vector 特征進行投影表示.定義原始I-vector 特征為w,則投影后的I-vector 特征可以表示為

其中,A為投影矩陣,w? 為會話補償 (投影)后的I-vector 特征.
2.3.2 特征重構
第二類方法則需要學習原始I-vector 特征中能夠表示說話人個性信息的本質內容,并利用其對原始I-vector 特征進行重構,進而在重構過程中通過引入更多的約束條件來消除與本質內容無關的會話變化信息.這類方法大多以字典學習的方式來進行本質內容學習,它們的目標函數通常能夠表示為

其中,‖·‖表示求模運算 (L2 范數),D為待求字典,g(α)為約束項,可以具有多種形式,也可以為多個約束項的累加形式;λ為約束項系數.
在這類方法中,基于稀疏編碼 (Sparse coding,SC)的會話補償方法[66]在重構原始I-vector 特征時加入稀疏約束,從而將會話變化信息以殘差的方去除掉;基于塊稀疏貝葉斯學習 (Block sparse Bayesian learning,BSBL)的方法[67]通過利用塊內相關性對I-vector 特征進行稀疏重構;基于Fisher 判別字典學習 (Fisher discrimination dictionary learning,FDDL)的方法[68]則通過引入Fisher 正則項來增加字典對不同類別的區分性.
在獲得字典D后,即可利用其進行原始I-vector 特征的重構,而重構后的特征Dα與稀疏表示α均可以作為說話人的句級特征進行使用.
說話人句級特征的另一類提取方法為基于任務驅動式策略的方法,這類方法通常具有統一的優化目標,能夠在統一任務的驅動下進行特征表示學習.這類方法的輸入特征可以是幀級特征,例如:MFCC特征、對數FBank 特征等;也可以是對應語音段時長更長的段級特征,例如:對當前MFCC 或對數FBank 特征前后若干幀進行拼接的段級特征、語譜圖特征等.在輸入原始特征后,即可在任務驅動式策略的指導下進行句級特征提取.這類方法主要從兩個角度開展研究:一是基于神經網絡方法進行特征映射,并將網絡的上層輸出作為句級特征進行使用;二是基于聯合優化思想,對分段式策略的各階段進行聯合優化,從而提取出面向任務的句級特征.下面將分別從以上兩個角度展開介紹不同的句級特征提取方法.
自21 世紀初期以來,神經網絡方法在自然語言處理、圖像處理、語音識別等領域的研究均取得了巨大進展,但其在說話人識別領域一直無法取得理想的性能,且性能一直遠遠低于I-vector 方法,因此神經網絡方法并不像在其他領域一樣廣受研究者們的重視.直到2014 年隨著深度-向量 (Deepvector,D-vector)方法[69]的出現,神經網絡方法在說話人識別領域才暫露頭角.然而,D-vector 方法為幀級特征提取方法,需要對幀級特征序列求取均值來獲取句級的特征表示 ——D-vector 特征,且其識別性能仍然明顯低于I-vector 方法.慶幸的是,其與I-vector 特征的融合特征能夠取得相對理想的識別性能,這一突破性進展終于將神經網絡方法帶入到研究者的視線中,而這類從網絡架構中所提取出的說話人特征則稱作嵌入 (Embedding)特征.在此之后,一系列基于神經網絡方法的說話人句級特征提取方法相繼出現,這類方法主要通過學習原始數據與類別標簽的映射關系,進行特征的表示學習.它們主要從兩方面開展研究:一是網絡結構,二是目標函數,本節也將從這兩個角度展開介紹.
3.1.1 網絡結構
本節將以說話人句級特征的發展順序為線索,介紹5 種具有代表性的網絡結構,分別為D-vector 方法[69]、X-vector 方法[70-71]、視覺幾何組-中等(Visual geometry group-medium,VGG-M)網絡[72-73]、深度殘差網絡 (Residual network,ResNet)[74-75]以及對生成抗網絡 (Generative adversarial network,GAN)[76].
1)D-vector 方法.最初D-vector 方法用于與文本相關的說話人幀級特征提取,其將上下文相關的若干幀對數FBank 特征進行拼接并用作網絡的輸入,然后通過構建全連接 (Full-connected)深度神經網絡 (Deep neural network,DNN)來進行幀級特征映射,激活函數采用maxout 函數,目標函數則采用softmax 損失,并從網絡最后一個隱藏層中提取出幀級特征,最后對整段語音的幀級特征求取均值以獲取句級特征,其網絡結構如圖5(a)所示.值得注意的是,D-vector 方法中幀級特征的上下文相關性僅體現在人工選擇當前幀的前后若干幀,即通過增加輸入層節點的數目來覆蓋相關的上下文信息,并未引入需要額外標注的音素 (Phone)或三音素 (Triphone)信息,因此將其擴展為與文本無關的特征提取方法并不困難.
以D-vector 方法為基礎,一系列基于神經網絡的特征提取方法相繼出現,這些方法主要從兩方面開展研究.一方面,部分方法延續D-vector 方法的幀級特征提取架構,并設計描述能力更強的神經網絡架構來進行幀級特征提取,然后以求取幀級特征均值的方式來獲取句級特征.例如:瓶頸 (Bottleneck feature,BNF)特征[77-78]、基于CNN 的幀級特征表示網絡[79-80]等.另一方面,其余方法則更關注幀級特征與句級特征之間的關系,它們將句級特征的提取過程嵌入于整個網絡中,通過引入統計池化(Statistical pooling)、平均池化(Average pooling)等編碼機制,將幀級特征序列轉化為句級特征.這類方法包括X-vector 方法、具有平均池化層的VGG-M 網絡與ResNet 等,且上述3 種方法均由于優良的識別性能而廣受研究者們的關注.
2)X-vector 方法.從語音信號的動態特性可知,語音信號具有時序相關性,因此上下文語音內容的不同會導致同一發音模式的改變,而在原始聲學特征中加入一些時序同態特征 (例如:一階、二階差分)能夠有效提升說話人識別系統的性能.Xvector 方法正是繼承了這一思想,為了捕捉到說話人個性信息的長時統計特性,其將能夠有效描述語音信號動態特性的時延神經網絡 (Time-delay neural network,TDNN)[22]引入到網絡架構中.具體而言,X-vector 方法將前端提取的對數FBank特征送入時延神經網絡中,然后通過統計池化層來計算幀級特征的統計量,再將這些統計量傳至全連接層,激活函數采用修正線性單元 (Rectified linear unit,ReLU)函數,目標函數則采用softmax 損失.一般統計池化層后需要連接兩個全連接層,遠離輸出層的Embedding 特征用于概率線性判別分析 (Probabilistic linear discriminative analysis,PLDA)[81]建模,靠近輸出層的Embedding 特征則用于余弦距離打分 (Cosine distance scoring,CDS)方法[39],整個過程的網絡結構如圖5(b)所示.

圖5 兩種網絡結構對比Fig.5 Comparison of two different network structures
與D-vector 方法相比,X-vector 方法在處理上下文關系時具有更加簡單有效的結構.具體而言,Dvector 方法中全連接的DNN 在處理具有上下文關系的長時語音段時,輸入層需要覆蓋全部的上下文信息.而X-vector 方法中的TDNN 則能夠將具有時序關系的上下文信息放置于不同的隱藏層,從而更高效地利用時序關系與網絡參數,因此其比DNN 具有更好的長時描述能力[82].此外,TDNN 也能夠很好地繼承深度神經網絡的前向反饋結構,并且可以通過在時域上的權值共享機制 (相當于在時域上的一維CNN)來實現網絡的并行訓練.
X-vector 方法由于其優良的性能,一經提出后迅速發展為說話人識別領域的主流方法之一.一系列基于它的神經網絡方法也隨之出現,其中應用最為廣泛的是基于分解TDNN (Factorized TDNN,F-TDNN)[83-84]與擴展TDNN (Extended TDNN,E-TDNN)[85]的X-vector 特征提取方法.前者通過將每個TDNN 層的權重矩陣分解為兩個低秩矩陣的乘積來減少參數量,同時還限制其中一個矩陣為半正交矩陣來確保信息的完整性.后者則對卷積層的時域上下文結構進行拓寬,并在卷積層之間交織放射層來增加網絡的寬度.此外,還有一些其他X-vector 的擴展方法,例如:基于X-vector 方法的短語音特征提取方法[86]、長時語音特征提取方法[87]、加強上下文關系的特征提取方法[88]等.與此同時,隨著全球最大規模說話人識別數據庫VoxCeleb[73,75,89]的發布,兩個作為此數據庫基線系統的神經網絡方法,也相繼成為研究者們的關注熱點,它們分別為VGG-M 網絡與ResNet.
3)VGG-M 網絡.VGG-M 網絡最初由文獻[72]提出,后被文獻[73]加以修改并引入到說話人的特征提取應用中.VGG-M 網絡主要通過多個卷積層、池化層與全連接DNN 層的組合疊加來增加網絡的深度與寬度,并以此來提升網絡的學習能力.其中,卷積層能夠對卷積核覆蓋范圍內的數據進行加權疊加,因此可以學習到局部的上下文相關內容;而池化層能夠對數據進行壓縮,從而對輸入池化層的數據進行降采樣.同時,也正是由于VGG-M 網絡龐大的參數量,使得其必須依賴大量的開發集數據來完成網絡的訓練.
VGG-M 網絡以語譜圖特征作為輸入,然后經過多個卷積層與池化層的組合來進行特征表示,池化層采用最大池化(Maximum pooling),激活函數采用ReLU 函數.經過多組卷積層與池化層的組合特征表示后,數據傳向平均池化層 (Average pooling),并最終傳向全連接層進行特征表示學習,目標函數則采用softmax 函數,最終全連接層的輸出可以作為說話人特征進行使用.值得注意的是,雖然輸入網絡的前端特征采用的是具有固定長度的語譜圖特征,但平均池化層能夠對任意時長的數據進行均值求取,因此VGG-M 網絡最終可以獲得句級特征.
4)深度殘差網絡 (ResNet).當網絡的層數增加時,模型的表示能力會隨之增強,但同時梯度的優化也會變得更加困難,由此會導致層數多的網絡性能卻低于層數少的網絡這一退化(Degradation)問題.針對這一問題,ResNet 通過殘差學習單元(Residual unit)將當前層的殘差直接傳遞給后面的層,使得淺層數據在傳輸過程中可以跳過一部分網絡層,直接傳遞給更深的網絡層,從而解決梯度優化難題.這種方式能夠有效避免信號失真,極大地加快了網絡的訓練效率.
文獻[75]給出了兩種ResNet 結構,分別為Res-Net-34 與ResNet-50,它們分別具有34 層與50 層的權重層.在此基礎上,一系列基于ResNet 結構的說話人特征提取方法相繼出現,例如:ResNet-20[90]、Thin-ResNet[91]等.更有一系列方法[92-94]在Res-Net 網絡架構的基礎上,探究不同目標函數對網絡表示能力的影響.
5)生成對抗網絡(GAN).隨著GAN[76]在圖像處理領域的取得巨大成功,其在說話人識別領域中的研究也逐漸成為熱點之一.GAN 具有一種對抗博弈的學習方式,由生成器 (Generator)與判別器(Discriminator)構成.其中,生成器用于生成盡可能服從真實數據分布的樣本,而判別器則用于對數據來源進行分類判別.基于這種博弈思想,一系列用于句級特征提取的方法相繼出現.例如:多任務三元組生成對抗網絡 (Multitasking triplet generative adversarial network,MTGAN)[95]通過聯合利用生成對抗機制與多任務優化來改進Embedding 特征的編碼過程;另一個基于多任務生成對抗網絡[96]的方法則通過構建Embedding 編碼器、分類器與判別器3 個部分來進行句級Embedding 特征的提取.此外,由于GAN 具有生成數據的功能,其也可用于數據增強[97].
3.1.2 目標函數
目標函數代表了整個網絡的統一優化目標,其對網絡描述能力的提升起著重要的指導作用.因此,設計出有的放矢的目標函數,能夠使所提取的特征更適用于當前任務.目前的目標函數的相關設計與研究主要從兩方面開展:一是以多分類為目標,二是以度量特征之間的相似度為目標.
1)以多分類為目標
這一類目標函數主要以最小化分類錯誤損失為目標,常用的目標函數有softmax 損失、交叉熵(Cross entropy)損失等.其中,softmax 損失的應用最為廣泛,且擁有一系列對其進行擴展的改進方法.例如:中心 (Center)損失[98]、大間隔softmax(Large margin softmax,L-softmax)損失[99]、角softmax (Angular softmax,A-softmax)損失[100],以及加性間隔softmax (Additive margin softmax,AM-softmax)損失[101]等,下面分別展開介紹.
a)Softmax 損失.傳統的softmax 損失具有各個節點輸出的概率密度累加和的形式

其中,N為樣本總數,K為類別數,xn為網絡輸入層的第n個輸入特征,yn為xn的類別標簽,f(xn)為softmax 層前一層的輸入數據,θk為前一層的權重.
b)中心損失.針對softmax 損失中類間距離較小、類內距離較大的問題,中心損失[98]對每類數據定義一個質心,并使每類數據盡量貼近其所屬類的質心,從而最小化類內距離.其具有以下形式:

其中,cyn為數據f(xn)所屬類的質心.值得注意的是,由于Lc只對類內距離進行約束,因此當將傳統softmax 損失與中心損失相結合時,會得到同時對類內距離與類間距離進行約束的目標函數

c)L-softmax 損失.L-softmax 損失[99]首次將角的概念引入到softmax 損失中,對于softmax 損失中的f(xn),可以表示為

其中,αyn,n為f(xn)與θyn的夾角,只有當αyn,n小于f(xn)與其他任意權重θk(k≠yn)的夾角時,f(xn)才屬于第yn類.由于余弦函數為遞減函數,因此需要保證 cos(αyn,n)>cos(αk,n)(k≠yn).此時,如果將αyn,n改為mαyn,n,則能夠使f(xn)與其所在類別權重θyn的夾角比其他夾角小m倍以上,從而使得不同類別決策面之間的距離更遠,進而增加特征間的區分性.其中,m≥2且為整數,m取整數的目的是為了更方便地利用倍角公式對其進行展開求解.基于此,L-softmax 損失可以表示為

在L-softmax 損失的基礎上,A-softmax 損失[100]添加了對權重θk的標準化;而AM-softmax 損失[101]則在A-softmax 損失的基礎上添加了對數據的標準化,并將角度上的倍數關系 (mαyn,n)直接改為相減的關系 (αyn,n-m).
2)以度量相似度為目標
這一類目標函數主要以度量學習 (Metric learning)為基礎,通過計算特征間的相似度來控制它們的關系.常用的目標函數有對比損失 (Contrastive loss)[102]、三元組損失 (Triplet loss)[103]等.
a)對比損失.對比損失主要用于訓練孿生(Siamese)網絡,網絡輸入為成對的數據,其網絡結構示意圖如圖6(a)所示.當成對的數據屬于同一類別時,類別標簽y=1,反之則y=0.對比損失主要通過歐氏距離來度量樣本之間的相似度,用其他距離進行度量,例如:內積距離、余弦距離等.基于此,對比損失具有以下形式:

圖6 兩種目標函數對應網絡的結構示意圖對比Fig.6 Comparison of the structure of the networks corresponding to the two different objective functions

其中,d[f(x1),f(x2)]表示f(x1)與f(x2)的距離,m為間隔.在對比損失這一目標的指導下,當輸入的數據對屬于同一類別時,距離d[f(x1),f(x2)]會逐漸減小,同類數據會持續在特征空間中形成聚類;當輸入的數據對屬于異類時,距離則會逐漸變大,直到超過設定的間隔m.
c)三元組損失.用三元組損失訓練的網絡則稱作三元組網絡 (Triplet network),其結構示意圖如圖6(b)所示.三元組損失從對比損失發展而來,但網絡的輸入為三元組,分別為固定 (Anchor)樣本xa、正例 (Positive)樣本xp與負例 (Negative)樣本xn,因此它們可以組成一對正樣本與一對負樣本.基于上述符號定義,三元組損失可以表示為

三元組損失的目標是使得同類樣本在數據空間中盡可能靠近,異類數據盡可能遠離;同時,為了避免樣本在數據空間中聚合到一個非常小的空間中,要求負例樣本對的距離d[f(xa),f(xn)]應該比正例樣本對的距離d[f(xa),f(xp)]至少大m.
本小節介紹了神經網絡方法中若干常用的目標函數,表6 展示了上述目標函數的匯總情況.

表6 不同目標函數匯總信息Table 6 Information of different objective functions
另一類基于任務驅動策略的方法為聯合優化方法,它們通過將原本獨立優化的若干個階段進行聯合優化,從而實現在統一任務驅動下進行各個階段子目標優化的目的.與神經網絡方法相比,聯合優化方法也具有統一的優化目標 (任務);且這類方法由于在各階段具有自身的優化目標,因此對各階段的解釋性更強.
這類方法大多以I-vector 方法為基礎,并將I-vector 方法中的各階段與后端分類器進行聯合優化.典型的方法有:將會話補償階段與后端分類器進行聯合優化的深度神經網絡-概率線性判別分析(Deep neural network-probabilistic linear discriminative analysis,DNN-PLDA)方法[104]、基于雙層(bilevel)結構的方法[105],將總變化空間 (TVS)學習階段與后端分類器進行聯合優化的任務驅動變化模型 (Task-driven variability model,TDVM)[106],以及將I-vector 方法的全部階段進行聯合優化的特征-統計量-身份-向量 (Feature-to-statistics-to-Ivector,F2S2I)方法[107]、任務驅動多層框架 (Taskdriven multilevel framework,TDMF)[108]等.聯合優化方法由于能夠在分類器的指導下進行不同階段的聯合學習,因此在得到說話人句級特征之后,可以直接采用聯合學習的分類器進行識別任務.上述方法的匯總信息如表7 所示,下面將以bilevel 優化方法與TDMF 方法為例,分別展開介紹.

表7 聯合優化方法匯總信息Table 7 Information of different joint optimization methods
1)雙層 (Bilevel)優化方法.基于雙層結構的方法[105]能夠有效地聯合優化會話補償階段與分類器學習階段,其中會話補償階段對應于雙層結構的下層,而分類器學習階段則對應于上層.該方法能夠將分類器根據輸入數據及其類別標簽學習到的區分性信息反饋回會話補償的優化過程中,從而進行更有利于識別任務的會話補償.在這一結構中,下層以字典學習的形式進行會話補償;而上層分類器在考慮自身識別目標的同時,也會兼顧下層字典學習的目標,將其作為約束條件.定義原始I-vector 特征用w∈W ?RR表示,其對應的說話人類別標簽為y∈Y ?R1.其中,W為原始I-vector 特征所在集合,Y為標簽所在集合.用于會話補償的字典D∈RR×P與分類器參數 Θ 可以通過求解以下聯合優化問題獲得:

其中,fU(α*,y;D,Θ)為上層分類器的目標函數;fL(w;D)為下層字典學習的目標函數,具有式 (21)的形式;D為滿足凸約束的字典所在集合;Θ 為分類器參數所在凸集;α*(w;D)為原始I-vector 特征w在字典D上的最優表示.通過下層目標函數與上層目標函數的反復迭代優化,最終即可求得參數D與Θ.
2)TDMF 方法.TDMF 方法[108]采用任務驅動多層聯合優化的方式,對I-vector 方法中的各階段進行聯合學習,并將分類器學到的區分性信息反饋回各階段,從而使得各階段的學習更具有目的性.這些階段包括UBM 學習、GMM 自適應、總變化空間學習以及分類器學習,TDMF 方法具有多層(Multilevel)結構[109],能夠將以上4 個階段分別置于不同層中,其示意圖如圖7 所示.

圖7 TDMF 方法示意圖Fig.7 Schematic diagram of TDMF method
定義開發集數據中的聲學特征可以表示為集合X={xs,h,t∈RF;s=1,2,···,S;h=1,2,···,Hs;t=1,2,···,Ts,h},則TDMF 方法可以表示為以下優化問題:

在獲取說話人句級特征后,需要對特征進行識別.本節將分別介紹說話人識別所常用的后端分類器與性能評估指標.
在識別階段,需要計算測試語音與目標說話人語音的相似度,并以此相似度作為識別得分.目前主要有兩種常用的識別方法:一種是直接利用余弦距離打分 (CDS)方法[40]計算兩個特征之間的余弦相似度,其優點是能夠快速獲得識別結果;另一種是利用概率線性判別分析 (PLDA)模型[81]進行識別,其優點在于能夠進一步提升句級特征的區分性.下面將對以上兩種方法展開介紹.
1)余弦距離打分 (CDS).在識別階段,CDS 方法將測試與目標說話人語音所對應的句級特征的余弦距離作為得分.設目標說話人與測試說話人的特征分別為we與wt,則余弦距離得分的形式為

其中,〈·〉表示內積運算.
2)概率線性判別分析 (PLDA).在實際應用中,受信道畸變等因素的影響,句級特征無法嚴格服從高斯分布.因此,最初的PLDA 模型對I-vector 特征采用重尾先驗 (Heavy-tailed priors)假設[110],來避免非高斯分布對于PLDA 模型的影響.不久之后,經長度規整 (Length normalization,LN)[111]后的I-vector 特征被證明可以近似服從高斯分布,而基于高斯先驗假設的PLDA 模型 (長度規整后)的性能也與基于重尾先驗假設的 PLDA 模型 (未進行長度規整)的性能相仿.對說話人s第h段語音段的句級特征ws,h∈RR進行長度規整,可以表示為

其中,RR為長度規整后的句級特征;μ為開發集ws,h的均值矢量.除了采用長度規整方法外,也可以采用Kullback-Leibler (KL)散度對特征進行規整[112],其也能起到明顯的規整效果.
經規整后的句級特征即可用于訓練PLDA 分類器,其假設每位說話人s的不同語音段h所對應的特征s,h均能夠由同一個說話人隱變量zs∈RZ表示為

在進行說話人識別時,定義目標說話人與測試說話人經過長度規整后的特征分別為則PLDA 分類器下的說話人匹配得分可以表示為

其中,Q與P為中間變量,可以由變量 Σtot與Σac表示,以上4 個變量可以表示為

上述方法為基于產生式訓練方式的PLDA 分類器.由式 (35)可以看出,PLDA 分類器能夠計算兩個句級特征在不同度量下的相似度,這種處理方式類似于SVM 中核函數的學習過程,故也可采用判別式的訓練方式來進行PLDA 分類器學習[113].
在上述研究的基礎上,一系列PLDA 模型的改進方法也相繼出現,這些方法大多針對會話差異性問題.對于語音內容差異性問題,非線性PLDA (Nonlinear PLDA)模型[114]與非線性束縛PLDA (Nonlinear tied-PLDA)模型[115]先將原始I-vector 特征進行非線性映射,映射到服從高斯分布的空間中,然后聯合學習這種非線性映射關系以及PLDA 模型的參數,從而使得經過非線性映射后的I-vector 特征更加服從高斯分布,以消除語音中的差異性內容.對于語音時長差異性問題,基于不確定性傳播 (Uncertainty propagation)的方法[116]主要通過對與原始I-vector 特征中不確定性相關的部分進行建模,來學習不同時長語音中的不確定性信息,從而對其進行削減;而孿生PLDA (Twin model PLDA)模型[117-118]則通過建立兩個聯立的 PLDA模型,來分別學習短語音與長語音中的說話人信息.對于信道與領域差異性問題,多信道簡化PLDA(Multi-channel simplified PLDA)模型[119]通過計算每個信道的類內協方差矩陣來學習信道信息并對其進行削減,從而得到只與說話人相關的部分;基于最大后驗概率 (MAP)的PLDA 模型[120-121]則通過領域自適應的方法消除不同領域中的差異;而基于貝葉斯聯合概率 (Bayesian joint probability)的PLDA 模型[122]則將源域與目標域之間的KL 散度作為正則項約束,從而幫助尋找針對目標域的最佳PLDA 參數.對于噪聲問題,基于信噪比 (Signalto-noise ratio,SNR)不變的PLDA 模型[123]將原始I-vector 特征劃分為說話人相關、信噪比相關以及信道相關三部分,并對后兩部分進行消減,從而得到只與說話人相關的部分;而混合PLDA (mixture of PLDA)模型[124]則以多個PLDA 模型加權和的形式,同時學習原始 I-vector 特征中的說話人相關信息;基于貝葉斯網絡 (Bayesian network)的PLDA 模型[125]則從有向圖模型的角度出發,研究如何從不利環境中分離出理想環境中PLDA 分數的分布情況.
在得到了特征的匹配得分之后,即可對特征的所屬類別進行判決.不同的說話人識別任務,其所對應的判決方法與評估指標也不相同.說話人識別按照識別任務分類,可以分為說話人確認 (Speaker verification)與說話人辨認 (Speaker identification)[4].其中,前者的識別任務為確定某兩段語音是否來自同一位說話人,為 “一對一”的判別問題;后者為判斷某段語音來自于哪位說話人,為 “一對多”的分類問題.
在介紹評估指標之前,本節先對說話人識別中不同數據集劃分的命名與作用進行簡要介紹.數據庫中全部數據可以劃分為開發集數據與評估集數據,有的數據庫還會劃分出驗證集數據.其中,開發集數據用于模型訓練,驗證集數據用于模型參數有效性驗證與參數調節,評估集數據用于性能測試.針對說話人確認任務,評估集數據又可以繼續劃分為注冊集與測試集兩部分:注冊集數據來自于目標說話人,其對應于待確認的兩段語音中的前一段語音,測試集數據則對應于后一段語音.這兩段語音共同作為測試語音,用于確認它們是否來自同一位說話人.當兩段語音屬于同一說話人時,測試語音所對應的說話人被認定為目標說話人,此次測試稱作目標測試 (Target trial);當不屬于同一說話人時,測試語音所對應的說話人被認定為冒認說話人,此次測試稱作非目標測試 (Nontarget trial).針對說話人辨認任務,某些數據庫中開發集與評估集數據的類別沒有交叉,因此在評估集中也需要劃分出注冊集與測試集;而另一些數據庫則直接將開發集數據中的說話人當作目標說話人,全部評估集數據則直接當作測試集進行使用.考慮到數據庫的選擇與使用對于說話人識別系統性能的評估具有很大參考價值,本文將對說話人識別領域中常用的數據庫及其相關信息進行總結,詳情如表8 所示.

表8 常用數據庫信息Table 8 Information of common databases
1)說話人確認
在說話人確認系統中,需要對待識別語音的輸出得分進行判定,以獲得最終的識別結果.一般將得分與一定的閾值進行比較,若大于此閾值,則接受其為目標說話人,否則判定其為冒認說話人 (拒絕).對應于以上兩類判定,即接受與拒絕,存在兩種錯誤率,分別為錯誤接受率 (False acceptance rate,FAR)與錯誤拒絕率 (False rejection rate,FRR).當設置不同閾值時,會存在不同的FAR 與FRR,對于二者之間的關系,可以通過檢測錯誤權衡 (Detection error trade-off,DET)曲線[5]來進行直觀的展示.DET 曲線上的每一個點對應一個判定閾值,越接近原點的DET 曲線識別性能越好.對于閾值的選取,比較常用的方法為等錯誤率 (Equal error rate,EER)與最小檢測代價函數 (Minimum detection cost function,MinDCF)[5].其中,評估指標EER 為FAR 與FRR 相等時的錯誤率,EER 越小說明說話人識別系統的性能越好.而評估指標MinDCF 則綜合考慮以上兩類錯誤發生的不同代價,以及目標說話人與冒認說話人出現的先驗概率,每個閾值對應的DCF 可以表示為

其中,Cmiss為錯誤拒絕代價,Cfa為錯誤接受代價,PFRR為錯誤拒絕率,PFAR為錯誤接受率,Ptarget為目標說話人出現的先驗概率,1-Ptarget為冒認說話人出現的先驗概率.取式 (37)中的最小DCF即為MinDCF,其越小說明說話人識別系統的性能越好.在不同的說話人評測中,式 (37)中代價與先驗概率往往需要設置不同的數值.
2)說話人辨認
在說話人辨認系統中,通常采用正確率 (Accuracy,ACC)進行評估

其中,PACC為正確率,Ntest為測試集樣本總數,Ncorrect為測試集中測試正確的樣本數.
前文總結了說話人句級特征提取研究從任務分段式策略到任務驅動式策略的演進歷程.隨著技術的進步,說話人識別系統的性能不斷提升,與實際應用的要求也越來越接近.然而,該領域的研究仍未結束,目前仍有一些關鍵性的難題亟待解決.如何有效解決這些問題,將是未來發展的主要方向,本節將對一些挑戰性問題進行介紹,并總結未來研究發展趨勢.
近年來,說話人識別的研究趨勢正朝著端到端模型的方向快速發展,其中最典型的趨勢就是,如何通過一體化的形式將時長不等的語音信號轉化為具有固定長度且區分性強的句級特征.在這類研究中,大多數方法主要通過不同結構神經網絡的疊加,來實現數據從幀級特征到句級特征的轉換.這些方法雖然能夠取得較為理想的性能,但其解釋性并不強,而如何打開深度學習的黑箱問題,將是未來研究的一個重要發展趨勢.考慮到先驗信息中包含了人類對于相關領域的認知,因此可以通過引入更多的先驗信息來對模型進行設計,從而增強它們的解釋性.這類研究可以從3 個角度開展:前端幀級特征表示、幀級特征向句級特征轉換的編碼機制,以及后端句級特征表示,它們分別對應了數據從信號級輸入到幀級特征、幀級特征到句級特征,以及句級特征提取3 個數據轉換過程.
1)前端幀級特征表示
在前端特征提取時,目前的方法大多直接采用傳統的聲學特征,例如:MFCC 特征、FBank 特征與語譜圖特征等,它們的前端幀級特征提取階段與模型學習階段仍然屬于分段式的學習策略,前端特征提取與后端模型學習的目標不一致,這將導致前端所提取的幀級特征不具有任務針對性.因此,需要將前端特征提取階段與模型學習階段進行有效關聯,這將需要對傳統的前端提取過程進行改造,將其設計為能夠與后面的模型學習階段進行有效連接的模型結構.面對這樣的需求,需要引入更多的先驗信息來設計前端幀級特征提取階段的模型結構,從而依據語音信號的特性來設計出具有足夠表達能力的模型.
2)編碼機制
在編碼機制方面,能否將幀級特征序列有效轉化為句級特征,將嚴重影響到整個說話人識別系統的性能,因此編碼機制的設計不應止步于簡單的統計池化或均值池化[133].針對這一問題,可以從幀級特征的時序保持、注意力機制、字典學習等角度,來對幀級特征之間的關系進行編碼,從而有效改進幀級特征序列與句級特征之間的映射關系.在未來的研究工作中,對于編碼機制的改進仍然存在很多值得研究的問題,可以通過引入更多先驗信息來對幀級特征之間的關系進行約束,從而設計出更具有解釋性的編碼機制,進而提升模型在長時識別場景下的學習能力.
3)后端句級特征表示
在后端句級特征表示方面,目前的方法大多只采用簡單的全連接DNN 來進行句級特征的映射表示,這使得句級特征表示缺乏解釋性.因此,如何利用先驗信息來對句級特征進行進一步表示,也具有一定的研究意義.
在實際應用中,復雜環境迫使說話人識別系統不得不對模型的魯棒性提出很高的需求.具體而言,復雜環境包括環境噪聲與信道失配等問題,能夠對這些干擾性信息進行有效補償一直是說話人特征提取研究領域面臨的巨大困難與挑戰.
在環境噪聲方面,錄音環境中總是無法避免地包含各類噪聲,例如:白噪聲、音樂播放、車輛行駛的聲音等.這些噪聲均會在一定程度上淹沒語音信號中所蘊含的說話人個性信息,從而使得系統無法準確獲取說話人特征.同時,環境噪聲通常無法提前預知,這往往使得系統性能具有極大的不確定性.為了解決這一問題,可以從提高特征對噪聲的魯棒性、建立抗噪模型兩個角度開展研究.在信道失配方面,語音信號可以通過各種不同的錄音設備獲得,如手機、麥克風、固定電話、錄音筆等.不同的錄音設備會直接導致語音信號傳輸信道的變化,從而使得語音信號發生頻譜畸變,進而嚴重影響到特征對說話人特性的表示能力,造成測試語音特征與說話人模型在聲學空間分布上的失配.目前的方法主要從分段式學習策略的角度對信道失配問題進行補償.
隨著神經網絡方法的興起,信道失配問題往往不再需要單獨解決,而可以與環境噪聲問題合二為一,這些問題均可以通過學習具有強魯棒性的神經網絡模型來得到補償.因此,如何設計出具有高抗干擾能力的網絡模型,則成為未來研究的重點內容之一.同時,也可以通過數據增強的方式為模型提供更多數據,從而增強模型對不同數據的魯棒性.
隨著說話人識別研究的發展,一些相關領域也取得了相應的發展.其中,說話人電子欺詐 (Speaker spoofing)與說話人分割聚類 (Speaker diarization)是說話人識別研究中聯系最密切的擴展應用.
1)說話人電子欺詐
隨著人們對電子設備依賴程度的增加,不同的說話人電子欺詐手段陸續出現,例如:聲音模仿、語音合成、聲音轉換與錄音重放等.這些隨著科技進步而產生的詐騙手段迫使研究者們不得不加強對會話變化信息的重視[134],以往那些需要被削弱的信息(背景噪聲、信道、錄音距離等)卻成為了檢測出電子欺詐語音的重要依據.
2)說話人分割聚類
在進行語音錄制時,往往會摻雜多位說話人的語音,如果不將多位說話人的語音信號進行分離,將會直接影響到系統的識別性能.這時便需要通過獲取語音信號中各時間點所對應的說話人信息,來對多說話人的混合語音進行分割與聚類處理[135-136].根據分割聚類過程的不同,可以分為同步語音分割與異步語音分割.前者指在分割語音片段的同時判斷語音片段所對應的說話人類別;后者是將多說話人的混合語音分割成若干個獨立的說話人語音片段,然后再將同一說話人的語音片段聚集在一起進行每個說話人身份認證.
隨著人工智能相關領域的快速發展,越來越多的類腦架構相繼出現.此類架構受大腦多尺度信息處理機制啟發,能夠使系統實現多種認知能力并高度協同.對于說話人識別領域,也可以借鑒類腦架構進行相應的推廣,使其能夠適應于不同的說話人識別任務,對不同的語音環境 (噪聲、信道、語種、身體狀態、語音時長等)也具有適應能力,并逐漸逼近于具有學習能力與進化能力,且能與其他模式識別應用相結合的通用智能.
句級特征提取是從語音信號中捕獲說話人信息的重要過程,其能夠有效、全面地表示一段語音信號,因此其對說話人身份的鑒別起著至關重要的作用.鑒于此,本文對具有代表性的說話人句級特征提取方法進行了整理與綜述,分別從前端處理、基于任務分段式與驅動式策略的特征提取方法,以及后端處理等幾方面進行論述,并探索了各類方法之間、同類方法之間的差別與聯系,還橫向統計了各類方法的實施細節.最后還對未來的研究趨勢展開了探討與分析.在當前研究的主要發展趨勢方面,本文拋磚引玉,希望能夠幫助相關科研人員了解說話人特征提取問題,并為相關工作開展起到推動的作用.