楊家輝 朱镕潔
(寧波大學(xué) 浙江省寧波市 315211)
聲紋識別是生物識別中的一種。相比于指紋識別和面部識別,語音的采集和識別成本更低,因而國內(nèi)外已經(jīng)有不少公司引入聲紋識別系統(tǒng)來提升客戶密碼認(rèn)證的體驗感。聲紋識別的所面臨的安全性的挑戰(zhàn)之一則是說話人的錄音回放攻擊。但語音采集成本低同時也意味著盜取錄音的成本也不高。況且當(dāng)下主流智能手機(jī)的聲音錄制和播放的質(zhì)量不斷增強(qiáng),其作為入侵設(shè)備的成本以及攻擊便捷性的優(yōu)勢遠(yuǎn)高于其他生物識別。
在對市場上有聲紋識別的常用手機(jī)應(yīng)用程序的錄音回放攻擊測試中發(fā)現(xiàn),微信的聲音鎖登錄功能中,在正常不吵鬧環(huán)境下用手機(jī)錄制使用聲音鎖成功登錄的說話人聲音,說話人的錄音回放可成功登錄微信。故對錄音回放檢測的研究十分必要。
2011年,王志鋒[1]等人對錄音回放數(shù)據(jù)和原始語音數(shù)據(jù)的信道噪聲的差異進(jìn)行研究,對信道特征分析以識別是否為錄音回放。2016年,陳亞楠[2]等人提出基于低頻區(qū)信息分布的錄音回放檢測方法,實驗結(jié)果表明該方法對不同入侵設(shè)備都能很好的識別出錄音回放,是對錄音回放特征的有效提取。
本次實驗的數(shù)據(jù)集是基于《AISHELL-ASR0009-OS1 開源普通話語料庫》(后文簡稱AISHELL-1),隨機(jī)抽取若干人聲進(jìn)行錄音回放。AIshell-1 包含了400 名來自中國不同口音區(qū)域的參與錄制,整個錄音被放置在安靜的室內(nèi)環(huán)境中。我們隨機(jī)選取了四百多個不同的中文短句音頻,不少于兩百五十種聲音,單個音頻時長為3-7秒。取其中111 個音頻錄制回放,并將原音頻刪除。將這些音頻隨機(jī)分成兩部分,其數(shù)量分布如表1所示。
回放設(shè)備使用的是華碩筆記本電腦,入侵設(shè)備使用的是華為智能手機(jī),錄制空間為相對安靜的室內(nèi)環(huán)境中,入侵設(shè)備與回放設(shè)備間隔一米。文件儲存標(biāo)準(zhǔn)均為48000HZ、16 位深度、雙聲道的wav文件。儲存文件夾如圖1所示。
聲紋識別之所以具有可行性,是因為人說話時的發(fā)聲器官在尺寸和形態(tài)上大有不同。只要獲得發(fā)聲器官工作時的信息,就可以準(zhǔn)確描述出說話人獨有的音素特征。梅爾頻率倒譜系數(shù)就是可以準(zhǔn)確描述聲音在短時功率譜的包絡(luò)特征。以下即是對梅爾頻率倒譜系數(shù)的提取過程。
提取MFCC 特征參數(shù)過程如圖2所示。
將語音信號以2048 的幀長、512 的幀移分幀得到s(n)。我們將每一幀加窗,使全局更加連續(xù),避免出現(xiàn)吉布斯效應(yīng)。每一幀聲音信號加窗后為:
其中w(n)選取漢明窗:
表1:數(shù)據(jù)集音頻數(shù)量分布
表2:最優(yōu)模型驗證結(jié)果
圖1:數(shù)據(jù)集文件存放分類
圖2:MFCC 特征參數(shù)提取過程
對x(n)進(jìn)行傅里葉變換得到信號頻譜X(k):
對信號頻譜取絕對值在平方以后得到能量譜,將能量譜通過Mel 濾波器組得到更接近人耳的梅爾頻率。
梅爾頻率可以反映人耳與聽到的聲音頻率之間的非線性關(guān)系。其與物理頻率的關(guān)系式為:
由于人耳對聲音響度的有“對數(shù)式”特性,故我們可以得到每個Mel 濾波器輸出的對數(shù)能量譜:
其中M 為通過的Mel 濾波器數(shù)量。
最后對對數(shù)能量譜作離散余弦變換即得到MFCC 特征參數(shù)C(n)。
圖3:ReLU 函數(shù)
圖4:訓(xùn)練集和測試集在100 次迭代中的準(zhǔn)確率
我們將所有的音頻轉(zhuǎn)換為MFCC 特征參數(shù)C(n),以C(n)作為輸入數(shù)據(jù)進(jìn)參與深度學(xué)習(xí)運算。
BP 神經(jīng)網(wǎng)絡(luò)是一種十分常用的深度學(xué)習(xí)模型,它可以擬合任何復(fù)雜非線性函數(shù)。BP 神經(jīng)網(wǎng)絡(luò)包括輸入層、中間層和輸出層。本次實驗使用三層中間層,每層都以ReLU 函數(shù)作為激活函數(shù)。
ReLU 函數(shù)圖像如圖3。
ReLU 函數(shù)具有相當(dāng)好的性質(zhì),任何函數(shù)都可以近似地采用ReLU 函數(shù)的組合表示。而且ReLU 會使一部分神經(jīng)元的輸出為0,這樣就造成了網(wǎng)絡(luò)的稀疏性,減少了參數(shù)之間互相依存的關(guān)系,緩解了過擬合的發(fā)生。
在輸出層將神經(jīng)元數(shù)量減少到2,并采用softmax 函數(shù)得到音頻分類的概率,即
softmax 函數(shù)十分適合用于分類模型的輸出層。其計算得到的函數(shù)值h(x,y)即為音頻是錄音回放的概率,1-h(x,y)則為音頻是原始錄音的概率。
損失函數(shù)選擇交叉熵?fù)p失。當(dāng)預(yù)測是錄音回放的概率為h,標(biāo)簽值為p,交叉熵?fù)p失即為:
預(yù)測概率越偏離標(biāo)簽值,損失函數(shù)值越大,反之則越小。
當(dāng)損失函數(shù)較大時,輸出層就將交叉熵?fù)p失反向傳播到中間層,并分?jǐn)偨o所有中間層的神經(jīng)單元。中間層的神經(jīng)單元通過調(diào)整自身權(quán)重和閾值以使得交叉熵?fù)p失沿梯度方向下降。經(jīng)過反復(fù)學(xué)習(xí),確定最小的交叉熵?fù)p失,并記錄下所有神經(jīng)單元的權(quán)重和閾值。
在BP 神經(jīng)網(wǎng)絡(luò)中,將迭代次數(shù)設(shè)定為100 次。由于每次學(xué)習(xí)的其隨機(jī)的初值不同,因而每次得到的結(jié)果均有差異。故多次將模型初始化后重新學(xué)習(xí),直到獲得較好的結(jié)果。
本次實驗采用誤識率和拒識率對模型進(jìn)行評價,表2是實驗中運行結(jié)果最優(yōu)的模型的結(jié)果。
表2表明,該模型能準(zhǔn)確識別出所有的錄音回放,對原始語音的拒識率有2.33%。
但對于實驗仍有改進(jìn)空間。首先是語音數(shù)據(jù)集不夠完善。錄音回放數(shù)據(jù)僅有111 條,錄音噪聲較為單一,即僅在一個入侵環(huán)境、一個入侵設(shè)備下獲得錄音回放數(shù)據(jù)。在樣本數(shù)據(jù)不充分的情況下錄音回放識別的魯棒性有待觀察。其次對于噪聲環(huán)境更復(fù)雜的回放錄音,需要更多的ReLU 激活函數(shù)的中間層去擬合。
由于采用了ReLU 激活函數(shù),加快了收斂的速度,使模型在迭代20 次左右的時候就達(dá)到了過擬合狀態(tài),如圖4訓(xùn)練集和測試集在100 次迭代中的準(zhǔn)確率。
本次實驗的語音數(shù)據(jù)集還不夠充分和完善。一是數(shù)據(jù)量,沒有充分的訓(xùn)練集和驗證集使得最后得到的實驗結(jié)果誤差較大;二是環(huán)境因素,在安靜的環(huán)境下獲得的說話人原始音頻和入侵音頻,沒有考慮到噪聲干擾和實際應(yīng)用場景下的實現(xiàn);三是入侵設(shè)備單一,基于單一的入侵設(shè)備獲得的數(shù)據(jù)集無法判斷本實驗采用的算法是對入侵設(shè)備源檢測,還是對聲音本質(zhì)特征的有效提取。
以ReLU 為激勵函數(shù)的BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的模型對錄音回放的檢測的準(zhǔn)確率很高,同時對原始語音的拒識率僅2.33%。故在對不約束檢測文本內(nèi)容的情況下,BP 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果顯著,對深入研究有一定參考價值。
雖然本次實驗有一定的局限性,但對于聲紋系統(tǒng)防錄音回放攻擊的角度上提出了較為簡單、計算量較少的實現(xiàn)的思路。且作為獨立的模型,可以較容易的疊加到聲紋識別系統(tǒng)中。