茅正沖 王俊俊 黃舒?zhèn)?/p>
(江南大學輕工過程先進控制教育部重點實驗室 無錫 214122)
說話人識別的任務(wù)是需要在說話人發(fā)表言語時就立即能識別出說話者的身份。該識別過程的魯棒性受到信道變化、語音持續(xù)時間、噪聲水平以及說話人情緒等諸多因素的影響。在過去的十年中,包括支持向量機(SVM)[1]、聯(lián)合因子分(Joint Factor Analysis,JFA)[2]和說話人身份矢量(I-Vector)[3]等技術(shù)被提出。
I-Vector 提供了一種將高維特征向量映射到一個低維的特征空間中,同時保留說話者特定的信息。使用聯(lián)合因子分析模型從大量數(shù)據(jù)集中學習低維子空間。然后將語音話語映射到該子空間中,并將其坐標向量表示為I-Vector[4]。這種表示的低維性吸引了許多學者,為探索說話人識別中的關(guān)鍵問題之一的新途徑打開了大門,即如何將語音信號分解成說話者特定的成分和信道成分。雖然非概率和概率方法都可能實現(xiàn)這個目標,但本文的重點是使用概率生成模型的i 向量分布進行說話人驗證。
許多學者對基于I-Vector 的說話人識別系統(tǒng)進行了大量的研究。馬平等為了提升說話人識別模型的系統(tǒng)性能,提出結(jié)合語音識別工具Kaldi 進行驗證,得出I-Vector 說話人識別算法的最佳參數(shù)[5];屈召貴等針對噪聲環(huán)境下的說話人識別性能不穩(wěn)定問題,提出一種基于不確定性前段因子分析的說話人識別方法[6];栗志意等利用自適應(yīng)算法更新總體變化子空間矩陣均以提高總體變化子空間矩陣T的有效準地估計[7]。林舒都等提出將深度神經(jīng)網(wǎng)絡(luò)模型成果與I-Vector 模型相結(jié)合準確的從語音信號中提取隱藏的信息[8]。
概率方法中的一個共同點是忽略了提取i向量的過程,假設(shè)它們是由規(guī)定的生成模型產(chǎn)生的。比如文獻[9]中提出的概率線性判別分析模型和文獻[10]中介紹的雙協(xié)方差模型都假設(shè)I-Vector 是由規(guī)定的模型產(chǎn)生。如果提供給分類器的特征滿足其假設(shè),則得出更好的結(jié)果是合理的。然而,文獻[11]已經(jīng)表明,在高斯PLDA 下的參數(shù)通過ML 估計不能產(chǎn)生用于i 向量的準確模型。因此,提出了先驗的重尾分布模型,然而這個模型在訓(xùn)練和測試中的計算都很昂貴。在文獻[12]中,作者提出了一種簡單的方法,試圖使I-Vector 的分布更像高斯分布,它多進行了一步歸一化處理,通過線性判別分析進一步降低I-Vector 維數(shù),所得到的特征受到長度歸一化的限制。使用歸一化后I-Vector 在訓(xùn)練和測試中都要快得多,長度歸一化的目的在于減少i 矢量的非高斯分布以及I-Vector 長度分布之間的不匹配。因此,針對I-Vector 不符合高斯分布首先利用特征彎折算法對特征參數(shù)矩陣進行處理,以消除背景噪聲以及線性信道的影響。然后對I-Vector 進行非線性轉(zhuǎn)換使其分布更適合用PLDA 模型區(qū)分說話人,以提高說話人識別系統(tǒng)的識別率。
在實際的生活中,語音的采集往往會受到周邊環(huán)境以及設(shè)備的多樣性的影響導(dǎo)致語音信道失配。說話人識別的系統(tǒng)的性能也會受到背景噪聲和信道因素的影響。從而引起說話人識別系統(tǒng)的信道失配,針對此本文首先對特征數(shù)據(jù)采用特征彎折技術(shù)進行處理,然后對獲得的I-Vector 作非線性變換是的其分布更符合高斯分布。基本系統(tǒng)框圖如圖1所示。
圖1 說話人識別系統(tǒng)框圖
特征彎折算法就是把提取的原始說話人的特征向量序列變成為符合標準分布的規(guī)則化特征序列。語音信號本身是一種多模態(tài)的,而我們所需要的理想目標分布也是多模態(tài)并且可以代表說話人特征的真實分布。首先我們假設(shè)各個頻譜特征之間是相互獨立的且對說話人的語音進行預(yù)處理再在進行排列,排列后的居中倒譜系數(shù)的位置變了L,則對應(yīng)的累計分布函數(shù)為[13]
進行彎折后的語音信號特征序列的中心位置變?yōu)閤′,滿足以下表達式:
式中,f(z)為標準正態(tài)分布的概率密度函數(shù):
特征折彎算法不僅補償了線性信道內(nèi)的短時均值干擾而且限制了特征噪聲的影響,加強了在不同環(huán)境下的適用性,為接下來的I-Vector 特征提取做預(yù)處理。
I-Vector 技術(shù)是將聯(lián)合因子分析算法的說話人因子空間和信道因子空間同時映射到高斯混合模型高維均值超矢量空間中的一個低維線性空間中。則:
其中,m 是UBM超向量,與說話人和信道都無關(guān),T是總變異空間,是一個低秩的全局差異空間矩陣,w 是具有標準正態(tài)先驗分布的隨機向量。
根據(jù)期望最大化(EM)算法對訓(xùn)練語音進行估計生成T 矩陣,然后再根據(jù)式(5)得到相應(yīng)的I-Vector。
式中,Σ 是在T 訓(xùn)練過程中產(chǎn)生的對角協(xié)方差矩陣,N 是高斯元件的狀態(tài)占有率,是一階Baum-Welch統(tǒng)計量,對應(yīng)的公式為
式中,L 是語音幀數(shù),yt是語音向量,c 是高斯元件下標,P(c|yt,Ω)是yt在元件c 下的混合后驗概率,是每個高斯元件的參數(shù)。
2.3.1 概率密度變換
我們的目的是將未知分布的I-Vector 矢量{x}的集合轉(zhuǎn)換成相應(yīng)的高斯分布的集合{y}。因此,已知給定的兩個概率密度函數(shù),我們需要一個能夠?qū)⒁粋€概率密度轉(zhuǎn)換成另一個概率密度的函數(shù)。我們可以將這個問題看做未知分布的隨機變量X的概率密度通過ML參數(shù)估計轉(zhuǎn)變?yōu)殡S機變量Y的高斯概率密度。這種方法不僅僅可以對樣本{x}進行變換,使其更好地符合高斯分布,而且還可以簡單地使用逆變換生成具有相同X分布的樣本。
假設(shè)函數(shù):
即
其 中,對 于 給 定 任 意 可 能 的θ( θ ∈P )值x( x ∈Q1)都 是 可 逆 的,Q1?RN,Q2?RN,P ?RM,N是x的維數(shù),M是參數(shù)矢量θ 的維數(shù)。
接下來利用歐拉法表示函數(shù)f 的偏導(dǎo)數(shù),則可得:
上式表示對函數(shù)f 求xj偏導(dǎo),xj表示變量x的第j 個分量。則函數(shù)f 相對于向量變量x 的梯度,可以利用下式表示:
最后,對于矢量值函數(shù)
關(guān)于x的偏導(dǎo)數(shù)的矩陣將被表示為
設(shè)Y 是概率密度函數(shù)Py(y)在Q2上的連續(xù)隨機變量,X 是函數(shù)f 對x 求逆變換得到的隨機變量則:
則X的概率密度函數(shù)為
其中|·|表示其行列式的絕對值。
參數(shù)θ 的最大似然估計可以用概率密度函數(shù)PX(x)為目標函數(shù),求其梯度值:
假設(shè)fi(x,θi), i=1,…,n 是一組連續(xù)可微可逆的函數(shù),則我們定義其級聯(lián)為fi+1(fi(x,?),?)。假設(shè)θ=(θ1,θ2,…,θn),是相應(yīng)的參數(shù)集合,則:
其中,xi=ψ0(x,θ)=fi(xi-1,θi) ,xi表示前i 個密度函數(shù)的聯(lián)級變換。
利用復(fù)合函數(shù)的鏈式法則求導(dǎo)得規(guī)則和式(13)可得X的對數(shù)概率密度函數(shù)為
為了估計優(yōu)化目標函數(shù)log PX(x)變換的參數(shù)θ,我們需要計算關(guān)于參數(shù)θ 的梯度,則
其中Φi(x,θi)=log|Dxfi(x,θi)|。
目標函數(shù)參數(shù)θ 的梯度作為參數(shù)與目標函數(shù)一起傳遞給L-BFGS 優(yōu)化器[14],以獲得參數(shù)的對數(shù)似然最大化。重復(fù)L-BFGS優(yōu)化,直到數(shù)據(jù)的對數(shù)似然性停止改善。
2.3.2 I-Vector變換
密度函數(shù)變換由仿射函數(shù)和非線性函數(shù)組成,目的是為了能夠估計通用提取模塊產(chǎn)生的i向量的概率密度函數(shù)。
首先,利用仿射變換對I-Vector 進行處理,定義為
其中,A 是滿秩矩陣,b 是一個偏移矢量。這個函數(shù)的梯度變化和雅可比行列式式表示如下:
其中vec(A)表示運算符疊加A 的行列式。值得注意的是,由于SAS和仿射變換的雅可比矩陣是對角線的,所以計算函數(shù)估計所需的所有變量參數(shù)可以通過矢量矩陣來表示。
由于G-PLDA 假定i 向量符合高斯分布,所以選擇標準正態(tài)分布作為Y 的概率密度函數(shù)是自然的。在文獻[15]中的sinh-arcsinh(SAS)分布符合我們的要求:
其中δ>0 控制分布的重尾,ε影響每個變量的偏度。且可以推廣到N維變量:
由于我們獨立地變換向量x 的每個分量,所以x的導(dǎo)數(shù)矩陣:
類似地導(dǎo)出關(guān)于δ和ε的導(dǎo)數(shù)的對角矩陣:
式(18)所要求的雅可比行列式的對數(shù)行列式為
其中,xi,δi,εi是x,δ,ε 變量的第i 個分量。對xi,δi,εi的導(dǎo)數(shù)由下式給出:
通過改變SAS函數(shù)的兩個參數(shù),可以執(zhí)行各種映射,從線性映射到對應(yīng)的半重尾對稱或偏斜分布的變換。在我們的定義式(24)中,向量x 的每個分量都是通過SAS 變換獨立處理的。這種基于元素的變換是次優(yōu)的,但它使得SAS參數(shù)估計更加簡單和可靠。事實上,它減少了估計迭代過程中可能出現(xiàn)的數(shù)字問題,也減少了過度擬合的問題。
所提出的方法的性能主要是在NIST SRE 2010擴展核心測試上進行一系列實驗。對于NIST SRE 2010 實驗,通過使用倒譜特征獲得,使用25ms 的Hamming窗口來提取,然后在對提取的特征進行特征彎折得到預(yù)處理后的特征,然后在訓(xùn)練成I-Vector 特征。特別是,每10ms 提取19 個Mel 頻率倒譜系數(shù)和對數(shù)能量。使用3s滑動窗口對這些20維特征向量進行短時均值和方差歸一化。然后使用給出50 維特征向量的5 個幀窗口計算一階MFCC 和二階MFCC 系數(shù)。訓(xùn)練UBM 模型時,采用男女通用型,高斯混合模型的混合度設(shè)為256。我們利用PLDA 分類器。所有實驗均使用維數(shù)為N=300 的I-Vector 進行。對于這組實驗,I-Vector 提取后處理還包括初步的歸一化、線性判別分析(LDA),其將矢量維度降低到120。該值根據(jù)之前的標準i 向量實驗的結(jié)果進行選擇,同時也降低了本文方法的復(fù)雜度。
這些實驗的開發(fā)和評估條件總結(jié)在表1 中。表2 總結(jié)了所有這些方法對NIST 2010 評估中所有擴展核心條件的女性部分的結(jié)果。識別準確性以等錯誤率(EER)和最小檢測代價函數(shù)(minDCF)為標準。第一行表示出了使用沒有LN 的I 矢量的G-PLDA 系統(tǒng)的性能。第二行使用歸一化的I-Vector的G-PLDA可見效果不錯。第三行顯示應(yīng)用獨立的線性轉(zhuǎn)換給原始I-Vector 的使用帶來了一定的效果但是效果并不明顯。在第四行中等錯誤率顯示出本文算法具有顯著的改善。這表明I矢量概率密度函數(shù)的高斯化對于PLDA 分類是有效的。對于表3 中NIST 2010 擴展核心條件的男性部分,與表2中相似也可以觀察到較大的改善。
表1 開發(fā)集和評估集的條件
表2 不同模型下的女性說話者NIST SRE 2010擴展測試集的性能
表3 不同模型下的男性說話者NIST SRE 2010擴展測試集的性能
在所有的表格中都強調(diào)了每個條件下表現(xiàn)最好的系統(tǒng)以及平均決策成本的結(jié)果。在某些情況下,標準的PLDA 比我們提出的方法提供了更好的結(jié)果,但值得注意的是它們的性能差異通常是微不足道的。相反,如果非線性方法是條件最好的系統(tǒng),則可以注意到關(guān)于標準PLDA 的顯著改進,平均決策成本的改善反映了這一點。
本文首先利用特征彎折算法對特征數(shù)據(jù)進行預(yù)處理,再利用一種變換I-Vector 的方法使得它們的分布變得更適合于使用PLDA 來區(qū)分說話者。我們的方法是計算昂貴的重尾PLDA 模型的替代方案,并且結(jié)合了長度歸一化的益處,這主要減少了開發(fā)集和評估集之間的不匹配。本文算法是基于一個生成模型,它將開發(fā)集I-Vector 的概率密度函數(shù)估計為標準正態(tài)概率密度函數(shù)。 I-Vector 變換通過一系列仿射和非線性函數(shù)來建模,其參數(shù)通過開發(fā)集上的最大似然估計來獲得。雖然本文的I-Vector 處理比LN 更復(fù)雜,但其計算成本被統(tǒng)計提取的復(fù)雜性所吸收,因此它不會對整個PLDA 分類成本產(chǎn)生明顯的影響。