林龍晉,高 勇
(四川大學(xué) 電子信息學(xué)院,四川 成都 610065)
聲紋識別又稱自動說話人識別(Automatic Speaker Verification,ASV),是生物識別中的關(guān)鍵技術(shù)。但隨著ASV系統(tǒng)的普及,針對ASV系統(tǒng)的欺騙語音攻擊也日益增多,如果欺騙語音成功通過ASV系統(tǒng),會對系統(tǒng)的安全性能造成巨大破壞,ASV系統(tǒng)的安全性亟待加強。
國際上,每兩年舉辦一次的ASVspoof大賽是目前檢測欺騙語音規(guī)模最大、覆蓋最全面的挑戰(zhàn)賽,參賽者提交的反欺騙算法為欺騙語音檢測系統(tǒng)提供了大量創(chuàng)新工作。目前,對于欺騙語音的檢測,大部分的工作都集中于前端特征提取以及后端分類器設(shè)計兩個方面。在前端特征提取上,Todisco M等人受音樂處理中的常數(shù)Q變換(Constant Q Transform,CQT)啟發(fā),提出了常數(shù)Q倒譜系數(shù)(Constant Q Cepstral Coefficients,CQCC)[6],該特征在低頻段的頻率分辨率高,在高頻段的時間分辨率高,可以有效檢測ASVspoof2015中的單元選擇算法[7]產(chǎn)生的欺騙語音。Lantian Li等人使用逆梅爾倒譜系數(shù)(Inverse Mel Frequency Cepstral Coefficients,IMFCC)特征強調(diào)頻譜高頻區(qū)域的分析[8],在ASVspoof2017上獲得了不錯的效果。在后端分類器設(shè)計上,近幾年的工作大多集中于神經(jīng)網(wǎng)絡(luò)分類器改進。Cheng-I Lai等人搭建了注意力機制擴張殘差網(wǎng)絡(luò)(Dilated ResNet)[9],在ASVspoof2017和ASVspoof2019上都取得了很好的效果。Moustafa Alzantot等人[10]使用了帶dropout層的殘差塊構(gòu)建的殘差網(wǎng)絡(luò),將梅爾頻率倒譜系數(shù)(Mel Frequency Cepstral Coefficients,MFCC)[11]、常數(shù)Q倒譜系數(shù)與短時傅里葉變換對數(shù)譜在殘差網(wǎng)絡(luò)上的結(jié)果進行融合,有效降低了欺騙檢測系統(tǒng)的錯誤率。
本文使用了三角濾波器組的3種不同形式,每種形式的三角濾波器組對頻域的側(cè)重點不同,并使用了更大的分幀幀長以及幀移,增加快速傅里葉變換點數(shù),增大了頻率分辨能力,更容易發(fā)現(xiàn)真實語音與欺騙語音的不同點。后端分類器采用高斯混合模型(Gaussian Mixture Models,GMM)與殘差網(wǎng)絡(luò)模型(Residual Network,ResNet),通過組合不同前端特征與后端分類器構(gòu)建不同的欺騙語音檢測模型并將結(jié)果融合。相對單一特征、單一分類器設(shè)計的反欺騙語音系統(tǒng),本文提出的方法更有效,錯誤率也更低。
在提取語音信號的特征前,需要對語音信號進行預(yù)處理,包括預(yù)加重、分幀與加窗3個步驟。
由于人的發(fā)聲器官的特殊性,在發(fā)聲過程中語音會受到聲門激勵與口唇輻射的影響,頻率越高,語音信號的功率譜衰減越嚴(yán)重。預(yù)加重的目的是消除這些影響,補償語音信號中被抑制的高頻成分。語音信號可以通過一個高通濾波器完成預(yù)加重處理:
H(Z)=1-0.97Z-1。
(1)
語音信號具有短時平穩(wěn)性,因此,需要通過分幀處理將語音信號分成較短的語音幀。在分幀前,通過截斷、復(fù)制填充的方式將語音信號歸一化到4 s的長度,然后采用2 048點的幀長,512點的幀移進行分幀處理,并加上漢明窗使語音信號獲得周期性。幀長越大意味著頻域分辨能力越強[12],這使得檢測系統(tǒng)更容易發(fā)現(xiàn)欺騙語音與真實語音的不同。
基于三角濾波器組的特征提取是語音識別領(lǐng)域中的常用方法,比如MFCC就廣泛應(yīng)用于說話人識別中。提取MFCC的過程中使用的梅爾濾波器組是一組低頻分布密集、高頻稀疏的三角濾波器,可以將線性頻率映射到符合人耳聽覺感知的梅爾頻率上,對語音信號的低頻信息更加敏感。梅爾頻率與線性頻率的關(guān)系為:
fmel=2595×lg(1+f/700),
(2)
式中,f為真實頻率;fmel為梅爾頻率??紤]到欺騙語音與真實語音的差異可能不僅僅只存在于低頻段,頻域的其他區(qū)域也有可能發(fā)現(xiàn)這些差異信息。因此,對相同的一條語音信號,同時提取它的線性倒譜系數(shù)(Linear-Frequency Cepstral Coefficients,LFCC)以及逆梅爾倒譜系數(shù)(Inverse Mel-Frequency Cepstral Coefficients,IMFCC)特征以進行對比試驗,相比MFCC,LFCC與IMFCC的差異在于分別使用了線性濾波器組與逆梅爾濾波器組,進行了不同的頻率尺度變換:
flinear=f,
(3)
(4)
式中,flinear為線性濾波器組變換后的頻率;fi-mel為逆梅爾頻率;fmax為語音信號處理中的最高采樣頻率,根據(jù)奈奎斯特定理,一般設(shè)為8 000 Hz。線性濾波器組只是對原始線性頻率的均勻細分,變換后的頻率與原來的相等;逆梅爾濾波器組則是梅爾濾波器組的反轉(zhuǎn),低頻分布稀疏、高頻分布密集。3種濾波器組的結(jié)構(gòu)如圖1所示。
(a) 線性濾波器組
文獻[13-14]表明,采用更多的濾波器個數(shù)可以顯著增加檢測性能,因此,對于梅爾濾波器組與逆梅爾濾波器組,本文使用120個濾波器進行實驗,線性濾波器組則采用40個濾波器。
語音信號提取特征的過程如圖2所示。
圖2 特征提取過程Fig.2 Feature extraction process
語音信號在預(yù)處理后,通過快速傅里葉變換得到頻譜:
(5)
式中,xi為語音幀,i指語音幀的序號;N為傅里葉變換的點數(shù),為2 048點,和語音幀長度相同;k為頻譜上的頻率序號。得到的頻譜取絕對值后,送入不同的三角濾波器組中進行濾波,結(jié)果取對數(shù):
(6)
式中,1≤m≤M,M為濾波器的個數(shù),梅爾濾波器組與逆梅爾濾波器組的濾波器個數(shù)為120,線性濾波器組的濾波器個數(shù)為40。得到的濾波對數(shù)信號pi(k)通過離散余弦變換(Discrete Cosine Transform,DCT)完成特征提?。?/p>
(7)
式中,1≤n≤L,L表示倒譜系數(shù)個數(shù),在本文提取的MFCC與IMFCC中L設(shè)置為23,在LFCC中設(shè)置成與濾波器個數(shù)相同的值,為40。
提取倒譜系數(shù)的一階差分與二階差分系數(shù),并加入語音幀的對數(shù)能量參數(shù),與原系數(shù)進行拼接得到最終的語音特征。
在語音識別領(lǐng)域,常用的分類模型可以分成淺層模型與深層模型,淺層模型包括高斯混合模型(Gaussian Mixture Models,GMM)、支持向量機(Support Vector Machine,SVM)等,深層模型則是基于各種不同神經(jīng)網(wǎng)絡(luò)的分類器。本文在淺層模型中選擇比較常用的GMM,在深層模型中選擇殘差網(wǎng)絡(luò)(Residual Network,ResNet)作為分類器,對前端提取的MFCC、LFCC、IMFCC特征進行判別分類,并做對比實驗。
在訓(xùn)練階段,所有的真實語音全部用來訓(xùn)練真實語音的GMM模型,記為GMMB,相對地,偽造語音全部用來訓(xùn)練偽造語音的GMM模型,記為GMMS。隨即在測試階段,計算提取的語音幀特征Xi在2個GMM模型上的對數(shù)似然比(Log-likelihood ratio,LLR),如下所示:
LLR(Xi)=ln(p(Xi|GMMB))-ln(p(Xi|GMMS))。
(8)
每條語音在GMM上得到的打分結(jié)果通過計算所有語音幀的對數(shù)似然比并進行等權(quán)值加權(quán)平均得到。整個過程如圖3所示。
圖3 GMM模型的訓(xùn)練與測試Fig.3 Training and testing of GMM model
由于預(yù)處理步驟中進行了語音分幀,一條語音提取到的特征是一個二維矩陣的形式,類似于一幅圖像,可以用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)進行處理。一般而言,網(wǎng)絡(luò)越深,學(xué)習(xí)的參數(shù)越多,對目標(biāo)的判決也越精準(zhǔn),但過深的網(wǎng)絡(luò)會造成梯度消失,使網(wǎng)絡(luò)性能下降。殘差網(wǎng)絡(luò)能通過跳躍連接的方式解決這個問題,因此,本文參考了文獻[10]中的網(wǎng)絡(luò)設(shè)置,采用ResNet設(shè)計網(wǎng)絡(luò)模型,結(jié)構(gòu)如圖4所示。
圖4 ResNet結(jié)構(gòu)Fig.4 The structure of ResNet
輸入的語音特征在經(jīng)過初始卷積層處理后通過4個ResNet基礎(chǔ)塊,每個基礎(chǔ)塊包括主支路與分支路。在主支路,對特征矩陣進行2次卷積處理,在分支路,只加深特征矩陣深度以使2條支路的矩陣大小匹配,2條支路求和后通過池化層輸出,在這一過程中特征矩陣不斷加深并降維。特征矩陣最后通過2個全連接層并使用Logsoftmax函數(shù)分別輸出語音的真實概率與欺騙概率的對數(shù)值,兩值相減就是ResNet模型的打分結(jié)果,這一過程類似GMM模型中的對數(shù)似然比的計算,如下:
Score(X)=ln(p(X|bonafide))-ln(p(X|spoof))。
(9)
以處理MFCC為例,ResNet模型參數(shù)如表1所示。
表1 ResNet模型詳細參數(shù)Tab.1 The parameters of ResNet model
網(wǎng)絡(luò)使用LeakyRelu函數(shù)替代傳統(tǒng)的Relu函數(shù),前者比起后者有更好的學(xué)習(xí)能力;在2個全連接層中使用了dropout層,比率設(shè)置為0.5,隨機丟棄隱藏神經(jīng)元來防止網(wǎng)絡(luò)過擬合。
淺層、深層模型的學(xué)習(xí)參數(shù)不同,對特征學(xué)習(xí)的著重也不同,由于2種模型最后給出的打分都是針對測試語音的對數(shù)似然比,可以將深淺層模型的打分結(jié)果通過等權(quán)重融合[15]的方式融合在一起;提取的MFCC、IMFCC與LFCC特征對語音頻譜的側(cè)重不同,在分類器模型中的表現(xiàn)也不同,通過打分融合的方式結(jié)合3種不同特征能達到特征互補的效果。多特征多模型的打分結(jié)果融合流程如圖5所示。
圖5 多特征多模型打分結(jié)果融合Fig.5 Fusion of multi-feature and multi-model score results
實驗采用Asvspoof2019大賽的邏輯訪問(Logical Access,LA)數(shù)據(jù)集[5]驗證不同模型以及多特征多模型融合后的效果。Asvspoof2019的LA數(shù)據(jù)集基于VCTK[16]語料庫,采用了108個說話人的語音樣本產(chǎn)生欺騙語音,欺騙語音由文語轉(zhuǎn)換(Text to Speech,TTS)以及語音轉(zhuǎn)換(Voice Conversion,VC)中最先進的算法產(chǎn)生得到。所有說話人的真實語音與欺騙語音樣本被互不相交地分配到訓(xùn)練集、開發(fā)集與評估集,其中,訓(xùn)練集與開發(fā)集使用了相同的6種欺騙語音產(chǎn)生算法(A01~A06),評估集中使用了13種欺騙語音產(chǎn)生算法(A07~A19)。評估集中的A16與A04、A19與A06是兩對相同的算法,其余11種算法相對訓(xùn)練集而言是未知的算法。數(shù)據(jù)集中的語音樣本采樣率均為16 kHz,采樣位數(shù)均為16 bit,詳細設(shè)置如表2所示。
表2 Asvspoof2019LA數(shù)據(jù)集詳情Tab.2 The detail of ASvspoof2019LA data set
T、D、E分別表示訓(xùn)練集、開發(fā)集與評估集。
錯誤拒絕率(False Rejected Ratio,F(xiàn)RR)與錯誤接受率(False Accepted Ratio,F(xiàn)AR)是衡量檢測系統(tǒng)的2個關(guān)鍵指標(biāo),前者指錯誤拒絕真實語音樣本的概率,后者指錯誤接受欺騙語音樣本的概率。一般使用等錯誤率(Equal Error Rate,EER)來代表檢測系統(tǒng)的性能:
EER=Pmiss(θEER)-Pfa(θEER),
(10)
式中,θEER表示錯誤拒絕率Pmiss與錯誤接受率Pfa相等時的檢測系統(tǒng)閾值。
Asvspoof2019大賽設(shè)置了參數(shù)固定的自動說話人識別(ASV)系統(tǒng),與反欺騙語音系統(tǒng)(Counter Measures,CM)結(jié)合使用。為了表征整個系統(tǒng)的性能,Asvspoof2019使用了最小串聯(lián)代價成本檢測函數(shù)(tandem Detection Cost Function,t-DCF)[17]指標(biāo),t-DCF為:
(11)
(12)
以第2節(jié)的方法提取訓(xùn)練數(shù)據(jù)集的MFCC、IMFCC與LFCC特征,并分別訓(xùn)練GMM模型與ResNet模型。其中,GMM模型的混合度為512,ResNet的初始學(xué)習(xí)率為0.000 05,batch大小為32,一共訓(xùn)練100個epoch。模型訓(xùn)練完成后,分別在開發(fā)集與評估集上測試并獲得打分結(jié)果。使用比賽官方的工具包計算模型的EER與t-DCF,如表3所示。
其中,CQCC-GMM-B與LFCC-GMM-B是比賽提供的2個基線系統(tǒng),本文使用的LFCC-GMM模型相比LFCC-GMM-B使用了更大的幀長、幀移以及濾波器個數(shù),增加了頻率分辨能力,相比基線系統(tǒng)有一定的提升。從實驗結(jié)果可以看出,6個模型融合的結(jié)果Fusion-6models表現(xiàn)良好,EER是所有模型中最低的,但在t-DCF指標(biāo)上不如MFCC-ResNet模型,原因可能是其他表現(xiàn)較差的模型影響了最終融合的結(jié)果。
表3 不同模型在開發(fā)集與評估集上的EER與t-DCFTab.3 EER and t-DCF of different models on development set and evaluation set
為了觀察模型在面對已知與未知欺騙算法時的效果,單獨提取評估集中的A07~A19產(chǎn)生的欺騙語音與真實語音混合,并計算t-DCF,結(jié)果如表4和圖6所示。
表4 不同模型在不同算法上的t-DCFTab.4 t-DCF of different models on different algorithms
圖6 不同模型在不同算法上的t-DCFFig.6 t-DCF of different models on different algorithms
可以看出,對于大部分未知欺騙算法,深層模型ResNet比淺層模型GMM表現(xiàn)更好,但在欺騙算法A17與A18上,淺層模型反而表現(xiàn)更佳。除了MFCC-GMM,其余5個模型都能很好地識別已知欺騙算法A16與A19,說明欺騙語音可以很容易地騙過傳統(tǒng)說話人識別系統(tǒng)中常用的MFCC-GMM模型。所有模型在基于波形濾波與變分自編碼器(Variational AutoEncoder,VAE)[18]的A17欺騙算法上表現(xiàn)都比較差,雖然文獻[5]中的結(jié)果說明A17算法對于ASV系統(tǒng)的威脅并不大,但這種算法仍需重點關(guān)注。實驗結(jié)果表明,融合后的模型在大部分欺騙算法中的效果都是最優(yōu)的,這說明了打分結(jié)果融合是提升CM系統(tǒng)檢測性能的有效方法之一。
從表3的結(jié)果可以看出,融合所有模型可以有效降低EER,卻會使t-DCF升高,可能是部分模型影響了最終結(jié)果。因此,使用窮舉的方法測試所有模型融合組合的效果,其中,表現(xiàn)最好的是MFCC-ResNet、MFCC-GMM、IMFCC-GMM與LFCC-GMM的融合模型,記為Fusion-4models。為了驗證深淺層模型融合可以起到互補作用,對比Fusion-4models與只融合3種GMM模型和3種ResNet模型的結(jié)果,并測試在不同欺騙算法上的表現(xiàn),如表5所示。
表5 融合模型在不同算法上的t-DCFTab.5 t-DCF of fusion models on different algorithms
只融合GMM模型的Fusion-GMM在A17與A18欺騙算法上效果不錯,但在其他大部分欺騙算法中表現(xiàn)較差。只融合ResNet模型的Fusion-ResNet恰好相反。Fusion-4models則均衡了2種模型的t-DCF值。最終的模型融合結(jié)果與其他人提出的M1[9]與M2[10]模型進行對比,結(jié)果如表6所示。
表6 融合模型在開發(fā)集與評估集上的EER與t-DCFTab.6 EER and t-DCF of fusion models on development set and evaluation set
其中,M1模型使用CQCC、MFCC與對數(shù)短時頻譜特征,后端分類器采用ResNet;M2模型使用CQCC、MFCC與短時傅里葉變換對數(shù)譜特征,后端分類器則采用壓縮獎懲網(wǎng)絡(luò)(Squeeze-and-Excitation Networks,SENet)[9]與擴張殘差網(wǎng)絡(luò),并引入注意力機制。2種模型都使用了融合打分結(jié)果的方法。相較而言,本文使用的融合淺層模型的方法效果更好。對比表6與表3,在t-DCF上,F(xiàn)usion-4models相比基線系統(tǒng)LFCC-GMM-B降低了約47%;在次要指標(biāo)EER上,相比LFCC-GMM-B降低約35%。
在前端特征提取上,采用了3種基于三角濾波器組的特征;在后端分類器設(shè)計上,本文采用傳統(tǒng)的GMM模型作為淺層模型,ResNet模型作為深層模型,一共測試了6組模型的效果;結(jié)果表明,在總體上,深層模型比淺層模型效果更好,但在欺騙算法A17與A18上不如淺層模型。使用打分結(jié)果進行的模型融合可以權(quán)衡不同模型的優(yōu)缺點,提升系統(tǒng)的性能,但仍然無法有效檢測A17算法產(chǎn)生的欺騙語音。此外,本文對語音前端特征以及后端分類器的選取并不全面,后續(xù)工作將會進行其他特征與分類器的實驗,同時,也會重點研究針對A17的反欺騙算法,提升反欺騙語音系統(tǒng)的泛用性。