編者按:近年來,許多智能語音技術服務商開始布局聲紋識別領域,聲紋識別逐漸進入大眾視野。隨著技術的發(fā)展和在產(chǎn)業(yè)內的不斷滲透,聲紋識別的市場占比也逐年上升,但目前聲紋識別需要解決的關鍵問題還有很多。本文中,百分點感知智能實驗室梳理了聲紋識別技術的發(fā)展歷史,并分析了每一階段的關鍵技術原理,以及遇到的困難與挑戰(zhàn),希望能夠讓大家對聲紋識別技術有進一步了解。
聲紋(Voiceprint),是用電聲學儀器顯示的攜帶言語信息的聲波頻譜。人類語言的產(chǎn)生是人體語言中樞與發(fā)音器官之間一個復雜的生理物理過程,不同的人在講話時使用的發(fā)聲器官(舌、牙齒、喉頭、肺、鼻腔)在尺寸和形態(tài)方面有著很大的差異,所以任何兩個人的聲紋圖譜都是不同的。
每個人的語音聲學特征既有相對穩(wěn)定性,又有變異性,不是絕對的、一成不變的。這種變異可來自生理、病理、心理、模擬、偽裝,也與環(huán)境干擾有關。
盡管如此,由于每個人的發(fā)音器官都不盡相同,因此在一般情況下,人們仍能區(qū)別不同的人的聲音或判斷是否是同一人的聲音。因此聲紋也就成為一種鑒別說話人身份的識別手段。
圖一 發(fā)聲器官示意圖
所謂聲紋識別,是生物識別技術的一種,也叫做說話人識別,是一項根據(jù)語音波形中反映說話人生理和行為特征的語音參數(shù),自動識別語音說話者身份的技術。首先需要對發(fā)音人進行注冊,即輸入發(fā)音人的一段說話音頻,系統(tǒng)提取特征后存入模型庫中,然后輸入待識別音頻,系統(tǒng)提取特征后經(jīng)過比對打分從而判斷所輸入音頻中說話人的身份。
從功能上來講,聲紋識別技術應有兩類,分別為“1:N”和“1:1”。前者是判斷某段音頻是若干人中的哪一個人所說;后者則是確認某段音頻是否為某個人所說。因此不同的功能適用于不同的應用領域,比如公安領域中重點人員布控、偵查破案、反電信欺詐、治安防控、司法鑒定等經(jīng)常用到的是“1:N”功能,即辨認音頻若干人中的哪一個人所說;而“1:1”功能則更多應用于金融領域的交易確認、賬戶登錄、身份核驗等。
從技術發(fā)展角度來說,聲紋識別技術經(jīng)歷了三個大階段:
第一階段,基于模板匹配的聲紋識別技術;
第二階段,基于統(tǒng)計機器學習的聲紋識別技術;
第三階段,基于深度學習框架的聲紋識別技術。
一、模板匹配的聲紋識別
下圖是最早的聲紋識別技術框架,是一種非參數(shù)模型。
特點:基于信號比對差別,通常要求注冊和待識別的說話內容相同,屬于文本相關,因此局限性很強。
圖二 兩人對于同一數(shù)字發(fā)音與譜圖
此方法將訓練特征參數(shù)和測試的特征參數(shù)進行比較,兩者之間的失真(Distortion)作為相似度。例如VQ(Vector Quantization矢量量化)模型和動態(tài)時間規(guī)整法DTW(Dynamic Time Warping)模型。
DTW 通過將輸入待識別的特征矢量序列與訓練時提取的特征矢量進行比較,通過最優(yōu)路徑匹配的方法來進行識別。而VQ 方法則是通過聚類、量化的方法生成碼本,識別時對測試數(shù)據(jù)進行量化編碼,以失真度的大小作為判決的標準。
二、基于統(tǒng)計機器學習的技術框架
但由于第一階段只能用于文本相關的識別,即注冊語音的內容需要跟識別語音內容一致,因此具有很強的局限性,同時受益于統(tǒng)計機器學習的快速發(fā)展,聲紋識別技術也迎來了第二階段。此階段可細分為四個小階段,即GMM > GMM-UBM/GMM-SVM > JFA > GMM-iVector-PLDA。
1. 高斯混合模型(GMM)
特點:采用大量數(shù)據(jù)為每個說話人訓練(注冊)模型。注冊要求很長的有效說話人語音。
高斯混合模型(Gaussian Mixture Model, GMM)是統(tǒng)計學中一個極為重要的模型,其中機器學習、計算機視覺和語音識別等領域均有廣泛的應用,甚至可以算是神經(jīng)網(wǎng)絡和深度學習普及之前的主流模型。
GMM之所以強大,在于其能夠通過對多個簡單的正態(tài)分布進行加權平均,從而用較少的參數(shù)模擬出十分復雜的概率分布。
在聲紋識別領域,高斯混合模型的核心設定是:將每個說話人的音頻特征用一個高斯混合模型來表示。采用高斯混合模型的動機也可以直觀的理解為:每個說話人的聲紋特征可以分解為一系列簡單的子概率分布,例如發(fā)出的某個音節(jié)的概率、該音節(jié)的頻率分布等。這些簡單的概率分布可以近似的認為是正態(tài)分布(高斯分布)。但是由于GMM規(guī)模越龐大,表征力越強,其負面效應也會越明顯:參數(shù)規(guī)模也會等比例膨脹,需要更多的數(shù)據(jù)來驅動GMM的參數(shù)訓練才能得到一個更加通用(或泛化)的GMM模型。
假設對維度為50的聲學特征進行建模,GMM包含1024個高斯分量,并簡化多維高斯的協(xié)方差為對角矩陣,則一個GMM待估參數(shù)總量為1024(高斯分量的總權重數(shù))+1024×50(高斯分量的總均值數(shù))+1024×50(高斯分量的總方差數(shù))=103424,超過10萬個參數(shù)需要估計。
這種規(guī)模的變量就算是將目標用戶的訓練數(shù)據(jù)量增大到幾個小時,都遠遠無法滿足GMM的充分訓練要求,而數(shù)據(jù)量的稀缺又容易讓GMM陷入到一個過擬合(Over-fitting)的陷阱中,導致泛化能力急劇衰退。因此,盡管一開始GMM在小規(guī)模的文本無關數(shù)據(jù)集合上表現(xiàn)出了超越傳統(tǒng)技術框架的性能,但它卻遠遠無法滿足實際場景下的需求。
2. 高斯混合背景模型(GMM-UBM)和支持向量機(GMM-SVM)
特點:使用適應模型的方法減少建模注冊所需要的有效語音數(shù)據(jù)量,但對跨信道分辨能力不強。
UBM的一個重要優(yōu)勢在于它是通過最大后驗估計(Maximum A Posterior,MAP)的算法對模型參數(shù)進行估計,避免了過擬合的發(fā)生。MAP算法的另外一個優(yōu)勢是我們不必再去調整目標用戶GMM的所有參數(shù)(權重、均值、方差),只需要對各個高斯成分的均值參數(shù)進行估計,就能實現(xiàn)最好的識別性能。這樣待估的參數(shù)一下減少了一半多(103424 -> 51200),越少的參數(shù)也意味著更快的收斂,不需要那么多的目標用戶數(shù)據(jù)即可完成對模型的良好訓練。
GMM-UBM系統(tǒng)框架,是GMM模型的一個推廣,是用于解決當前目標說話人數(shù)據(jù)量不夠的問題的一種方式。通過收集其他說話人數(shù)據(jù)來進行一個預先的訓練。通過MAP算法的自適應,將預先訓練過的模型向目標說話人模型進行微調。這種方式可以大大減少訓練所需要的樣本量和訓練時間(通過減少訓練參數(shù))。
但是GMM-UBM缺乏對應于信道多變性的補償能力,因此后來WM Campbell將支持向量機(Support Vector Machine,SVM)引入了GMM-UBM的建模中,通過將GMM每個高斯分量的均值單獨拎出來,構建一個高斯超向量(Gaussian SuperVector,GSV)作為SVM的樣本,利用SVM核函數(shù)的強大非線性分類能力,在原始GMM-UBM的基礎上大幅提升了識別的性能,同時基于GSV的一些規(guī)整算法,例如擾動屬性投影(Nuisance Attribute Projection, NAP),類內方差規(guī)整(Within Class Covariance Normalization,WCCN)等,都在一定程度上補償了由于信道易變形對聲紋建模帶來的影響。
3. 聯(lián)合因子分析法(JFA)
特點:分別建模說話人空間、信道空間以及殘差噪聲,但每一步都會引入誤差。
在傳統(tǒng)的基于GMM-UBM的識別系統(tǒng)中,由于訓練環(huán)境和測試環(huán)境的失配問題,導致系統(tǒng)性能不穩(wěn)定。于是Patrick Kenny在05年左右提出了一個設想:既然聲紋信息可以用一個低秩的超向量子空間來表示,那噪聲和其他信道效應是不是也能用一個不相關的超向量子空間進行表達呢?
基于這個假設,Kenny提出了聯(lián)合因子分析(Joint Factor Analysis,JFA)的理論分析框架,將說話人所處的空間和信道所處的空間做了獨立不相關的假設,在JFA的假設下,與聲紋相關的信息全部可以由特征音空間(Eigenvoice)進行表達,并且同一個說話人的多段語音在這個特征音空間上都能得到相同的參數(shù)映射,之所以實際的GMM模型參數(shù)有差異,這個差異信息是由說話人差異和信道差異這兩個不可觀測的部分組成的公式如下:
M=s+c
其中,s為說話人相關的超矢量,表示說話人之間的差異;c為信道相關的超矢量,表示同一個說話人不同語音段的差異;M為GMM均值超矢量,表述為說話人相關部分s和信道相關部分c的疊加。
圖五 均值超矢量
如上圖所示,聯(lián)合因子分析實際上是用GMM超矢量空間的子空間對說話人差異及信道差異進行建模,從而可以去除信道的干擾,得到對說話人身份更精確的描述。
JFA定義公式如下:
s = m + Vy + dZ
c = Ux
其中,s為說話人相關的超矢量,表示說話人之間的差異;m為與說話人以及信道無關的均值超矢量;V為低秩的本征音矩陣;y為說話人相關因子;D為對角的殘差矩陣;z為殘差因子;c為信道相關的超矢量,表示同一個說話人不同語音段的差異;U為本征信道矩陣;x為與特定說話人的某一段語音相關的因子。這里的超參數(shù)集合{V,D,U}即為需要評估的模型參數(shù)。有了上面的定義公式,我們可以將均值超矢量重新改寫為如下形式:
M = m + Vy + Ux + Dz
為了得到JFA模型的超參數(shù),我們可以使用EM算法訓練出UBM模型,使用UBM模型提取Baum-Welch統(tǒng)計量。
盡管JFA對于特征音空間與特征信道空間的獨立假設看似合理,但絕對的獨立同分布的假設是一個過于強的假設,這種獨立同分布的假設往往為數(shù)學的推導提供了便利,卻限制了模型的泛化能力。
4. 基于GMM的i-vector方法及PLDA
特點:統(tǒng)一建模所有空間,進一步減少注冊和識別所需語音時長,使用PLDA分辨說話人特征,但噪聲對GMM仍然有很大影響。
N.Dehak提出了一個更加寬松的假設:既然聲紋信息與信道信息不能做到完全獨立,那就用一個超向量子空間對兩種信息同時建模。即用一個子空間同時描述說話人信息和信道信息。這時候,同一個說話人,不管怎么采集語音,采集了多少段語音,在這個子空間上的映射坐標都會有差異,這也更符合實際的情況。這個既模擬說話人差異性又模擬信道差異性的空間稱為全因子空間(Total Factor Matrix),每段語音在這個空間上的映射坐標稱作身份向量(IdentityVector, i-vector),i-vector向量通常維度也不會太高,一般在400-600左右。
i-vector方法采用一個空間來代替這兩個空間,這個新的空間可以成為全局差異空間,它既包含了說話人之間的差異又包含了信道間的差異。所以i-vector的建模過程在GMM均值超矢量中不嚴格區(qū)分說話人的影響和信道的影響。這一建模方法動機來源于Dehak的又一研究:JFA建模后的信道因子不僅包含了信道效應也夾雜著說話人的信息。
i-vector中Total Variability的做法(M = m + Tw),將JFA復雜的訓練過程以及對語料的復雜要求,瞬間降到了極致,尤其是將Length-Variable Speech映射到了一個fixed- andlow-dimension的vector(IdentityVector,即i-vector)上。于是,所有機器學習的算法都可以用來解決聲紋識別的問題了。
現(xiàn)在,主要用的特征是i-vector。這是通過高斯超向量基于因子分析而得到的。是基于單一空間的跨信道算法,該空間既包含了說話人空間的信息也包含了信道空間信息,相當于用因子分析方法將語音從高位空間投影到低維。
可以把i-vector看作是一種特征,也可以看作是簡單的模型。最后,在測試階段,我們只要計算測試語音i-vector和模型的i-vector之間的consine距離,就可以作為最后的得分。這種方法也通常被作為基于i-vector說話人識別系統(tǒng)的基線系統(tǒng)。
i-vector簡潔的背后是它舍棄了太多的東西,其中就包括了文本差異性,在文本無關識別中,由于注冊和訓練的語音在內容上的差異性比較大,因此我們需要抑制這種差異性。但在文本相關識別中,我們又需要放大訓練和識別語音在內容上的相似性,這時候牽一發(fā)而動全身的i-vector就顯得不是那么合適了。雖然i-vector在文本無關聲紋識別上表現(xiàn)非常好,但在看似更簡單的文本相關聲紋識別任務上,i-vector表現(xiàn)得卻并不比傳統(tǒng)的GMM-UBM框架更好。
i-vector的出現(xiàn)使得說話人識別的研究一下子簡化抽象為了一個數(shù)值分析與數(shù)據(jù)分析的問題:任意的一段音頻,不管長度怎樣,內容如何,最后都會被映射為一段低維度的定長i-vector。只需要找到一些優(yōu)化手段與測量方法,在海量數(shù)據(jù)中能夠將同一個說話人的幾段i-vector盡可能分類得近一些,將不同說話人的i-vector盡可能分得遠一些。并且Dehak在實驗中還發(fā)現(xiàn)i-vector具有良好的空間方向區(qū)分性,即便上SVM做區(qū)分,也只需要選擇一個簡單的余弦核就能實現(xiàn)非常好的區(qū)分性。
i-vector在大多數(shù)情況下仍然是文本無關聲紋識別中表現(xiàn)性能最好的建??蚣?學者們后續(xù)的改進都是基于對i-vector進行優(yōu)化,包括線性區(qū)分分析(Linear DiscriminantAnalysis,LDA),基于概率的線性預測區(qū)分分析(Probabilisticlinear Discriminant Analysis,PLDA)甚至是度量學習(Metric Learning)等。
概率線性判別分析(PLDA)是一種信道補償算法,被用于對i-vector進行建模、分類,實驗證明其效果最好。因為i-vector中,既包含說話人的信息,也包含信道信息,而我們只關心說話人信息,所以才需要做信道補償。我們假設訓練數(shù)據(jù)語音由 i 個說話人的語音組成,其中每個說話人有 j 段自己不同的語音。那么,我們定義第 i 個人的第 j 條語音為 Xij 。根據(jù)因子分析,我們定義 Xij 的生成模型為:
如上公式中,n1和n2分別是兩個語音的i-vector矢量,這兩條語音來自同一空間的假設為Hs,來自不同的空間的假設為Hd。
其中p(n1, n2 | hs)為兩條語音來自同一空間的似然函數(shù);p(n1 | hd),p(n2 | hd)分別為n1和n2來自不同空間的似然函數(shù)。通過計算對數(shù)似然比,就能衡量兩條語音的相似程度。
比值越高,得分越高,兩條語音屬于同一說話人的可能性越大;比值越低,得分越低,則兩條語音屬于同一說話人的可能性越小。
三、基于深度神經(jīng)網(wǎng)絡的技術框架
隨著深度神經(jīng)網(wǎng)絡技術的迅速發(fā)展,聲紋識別技術也逐漸采用了基于深度神經(jīng)網(wǎng)絡的技術框架,目前有DNN-iVector-PLDA和最新的End-2-End。
1. 基于深度神經(jīng)網(wǎng)絡(DNN)的方法(D-Vector)
特點:DNN可以從大量樣本中學習到高度抽象的音素特征,同時它具有很強的抗噪能力,可以排除噪聲對聲紋識別的干擾。
在論文《Deep Neural Networks for SmallFootprint Text-Dependent Speaker Verification》中,作者對DNN在聲紋識別中的應用做了研究。
conv64-s:單純的卷積層。
卷積核尺寸為5*5(卷積核實際上是5*5*c,其中c為輸入數(shù)據(jù)的通道數(shù));個數(shù)為64,也就代表著輸出數(shù)據(jù)的第三維了;步長為2*2,會改變數(shù)據(jù)維度的前2維,也就是高和寬。
res64:是一個ResBlock(殘差塊),并不是一層網(wǎng)絡,實際層數(shù)是這個ResBlock中包含的層數(shù),這里殘差塊中包含2個卷積層:卷積核尺寸3*3;個數(shù)64;步長為1*1(也就是上文的 Cov+ReLU+Cov,也就是2層,中間激活不算)。后面的乘3是指有三個ResBlock。所以說這個res64部分是指經(jīng)過3個ResBlock,而且每一個ResBlock中包含2個卷積層,其實是6層網(wǎng)絡。
Average層,本來數(shù)據(jù)是三維的,分別代表(時間幀數(shù) * 每幀特征維度 * 通道數(shù)),通道數(shù)也就是經(jīng)過不同方式提取的每幀的特征(Fbank或MFCC這種)。將時間平均,這樣一段語音就對應一段特征了,而不是每一幀都對應一段特征。
Affine層:仿射層,就是將維度2048的特征變?yōu)?12維。
ln層(length normalization layer):標準化層,特征標準化之后,得到的向量來表示說話者語音。
關于dim 維度這一列,開始時輸入語音數(shù)據(jù)是三維:(時間幀數(shù) * 每幀特征維度 * 通道數(shù))。本文中,時間幀數(shù)根據(jù)語音長度可變,每幀特征維度為64,通道數(shù)為3(代表Fbank、一階、二階)。所以輸入維度:時間幀數(shù) * 64 * 3。經(jīng)過第一層conv64-s后:因為卷積層步長2*2,所以時間幀數(shù) 和每幀特征維度都減半了,特征維度變?yōu)榱?2,通道數(shù)變?yōu)榱司矸e核個數(shù)64。32*64=2048,也就是dim的值。所以,這里的dim維度指的是除去時間維的頻率特征維度。
訓練的時候,使用Triplet loss作為損失函數(shù)。通過隨機梯度下降,使得來自同一個人的向量相似度盡可能大,不是同一個說話者的向量相似度盡可能小。
總結
從聲紋識別技術發(fā)展綜述中,我們不難看出,聲紋識別的研究趨勢正在快速朝著深度學習和端到端方向發(fā)展,其中最典型的就是基于句子層面的做法。在網(wǎng)絡結構設計、數(shù)據(jù)增強、損失函數(shù)設計等方面還有很多的工作去做,還有很大的提升空間,此外,聲紋識別系統(tǒng)在保持高性能的情況下對語音長度的需求在不斷減小。
聲紋識別是百分點科技一直關注和研究的技術領域之一。目前,百分點科技的聲紋識別系統(tǒng)使用大規(guī)模數(shù)據(jù)訓練,準確度可達95%以上,1:N支持萬級以上聲紋庫建設,在國內數(shù)字政府、公共安全等多個領域已有實際項目落地。未來,我們將繼續(xù)朝著聲紋識別技術的深度學習方向進行重點研究。
(免責聲明:本網(wǎng)站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內容可能涉嫌侵犯其知識產(chǎn)權或存在不實內容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )