沈 宜,楊 捍,石 珺,賈 宇
(深圳市網(wǎng)聯(lián)安瑞網(wǎng)絡(luò)科技有限公司,廣東 深圳 518042)
語音鑒偽是為了檢測偽造音頻,隨著深度學(xué)習(xí)技術(shù)的應(yīng)用,說話人驗(yàn)證被廣泛地應(yīng)用在人機(jī)交互領(lǐng)域,其準(zhǔn)確率也在不斷地提升。然而,基于深度學(xué)習(xí)的文字到語音的轉(zhuǎn)換技術(shù),以及聲音轉(zhuǎn)換技術(shù)也能夠生產(chǎn)足以媲美真實(shí)語音的合成音頻,以至于人耳也難以鑒別,因此,對現(xiàn)有的說話人聲真?zhèn)悟?yàn)證應(yīng)用造成了安全威脅,而檢測利用深度合成技術(shù)生成的音頻也逐漸引起工業(yè)界和學(xué)術(shù)界的重視。為了提高語音鑒偽在面臨不斷更新的合成與轉(zhuǎn)換技術(shù)攻擊時(shí)的有效性和準(zhǔn)確率,在2019 年的ASVspoof挑戰(zhàn)賽上,官方放出了2 類數(shù)據(jù),分別為LA 數(shù)據(jù)集和PA 數(shù)據(jù)集。LA 數(shù)據(jù)集是由不同的語音合成技術(shù)和語音轉(zhuǎn)換技術(shù)生成的合成語音,而PA 數(shù)據(jù)集是通過錄音、物理回放等手段合成的語音片段。本文主要針對利用語音合成技術(shù)與轉(zhuǎn)換技術(shù)合成的語音進(jìn)行鑒偽。
語音鑒偽的整體流程大致如圖1 所示,具體可以分為數(shù)據(jù)增強(qiáng)、音頻提取前端、特征提取主干網(wǎng)絡(luò)、損失函數(shù)等流程。數(shù)據(jù)增強(qiáng)是為了讓模型具有更好的泛化性,從而設(shè)計(jì)的不同方法;音頻前端處理是針對原始語音片段所設(shè)計(jì)的音頻特征的提取方法;特征提取主干網(wǎng)絡(luò)是在音頻前端提取的特征的基礎(chǔ)上,進(jìn)行后續(xù)特征提取處理,目的是提取信息更加豐富的高層次特征;最小化損失函數(shù)則是為了讓所設(shè)計(jì)的語音鑒偽網(wǎng)絡(luò)學(xué)習(xí)到更強(qiáng)大的鑒別能力。
圖1 語音鑒偽流程
通常音頻處理前端提取的音頻大多是長度較長的一維的音頻向量,此外,根據(jù)音頻的采樣率的不同,每1 s 中包含的語音采樣點(diǎn)數(shù)不同,例如,16 kHz采樣率的音頻在1 s 內(nèi)有16 000 個(gè)采樣數(shù)值。為了減少音頻處理的長度,針對音頻文件常采樣壓縮后的特征,如梅爾倒譜系數(shù)特征(Mel-Frequency Cepstral Coefficients,MFCC)、線性頻率倒譜系數(shù)(Linear Frequency Cepstral Coefficient,LFCC)、常量q 系數(shù)(Constant Q Cepstral Coefficient,CQCC)等基于人工設(shè)計(jì)的倒譜系數(shù),然而人工設(shè)計(jì)的特征并不能完全代表各領(lǐng)域中分類的顯著特征,尤其是可學(xué)習(xí)的特征,該特征在最近的分類任務(wù)[1]中表現(xiàn)得比人工設(shè)計(jì)的特征更為出色。
語音鑒偽中,特征網(wǎng)絡(luò)提取目前使用的主流方案仍是基于卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。但在最近幾年里,圖神經(jīng)網(wǎng)絡(luò)的出現(xiàn)吸引了大量的注意,尤其是圖卷積網(wǎng)絡(luò)[2]和圖注意力網(wǎng)絡(luò)[3],比如在一些工作中已經(jīng)出現(xiàn)了利用圖神經(jīng)網(wǎng)絡(luò)來建模語音相關(guān)的任務(wù)[4–7],例如,文獻(xiàn)[4]將圖注意網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)應(yīng)用于說話人驗(yàn)證中;文獻(xiàn)[5]在少樣本音頻分類任務(wù)上,利用圖卷積神經(jīng)網(wǎng)絡(luò)來提高鑒別不同類別語音的能力;文獻(xiàn)[7]利用圖卷積神經(jīng)網(wǎng)絡(luò)來建模不同聲道的空間關(guān)系,從而提高音頻的質(zhì)量。語音鑒偽屬于二分類任務(wù),常用的損失函數(shù)為分類交叉熵?fù)p失。
針對語音鑒偽,本文從語音數(shù)據(jù)增強(qiáng)、語音特征提取、特征提取網(wǎng)絡(luò)主干、損失函數(shù)這4 個(gè)方面進(jìn)行實(shí)驗(yàn)。本文設(shè)計(jì)方案整體流程如圖2 所示。圖中SCL 為單中心損失(Single Center Loss),BCE 為二分類交叉熵?fù)p失(Binary CrossEntropy),SincNet 為利用SincNet[8]提取音頻特征的方法,ResBlock 為殘差模塊
圖2 基于圖注意力和單中心損失語音鑒偽流程
為了提高語音鑒偽模型的泛化能力,本文采用了增加高通濾波器、增加背景噪聲、增加隨機(jī)的音頻剪切這3 種不同的數(shù)據(jù)增強(qiáng)方式。圖3 展示了原始的音頻頻譜和語音波形,以及利用3 種不同方式進(jìn)行數(shù)據(jù)增強(qiáng)后的頻譜和語音波形。
針對語音提取前端,區(qū)別于只采用人工設(shè)計(jì)的音頻特征的方案,本文將1D 卷積神經(jīng)網(wǎng)絡(luò)直接作用于音頻波形轉(zhuǎn)換后的梅爾倒譜頻率系數(shù)[8],這種方法在收斂和穩(wěn)定性方面具有一定的優(yōu)勢。本文將音頻波形轉(zhuǎn)換為梅爾特征后,利用SincNet[8]進(jìn)行特征提取,對梅爾特征進(jìn)行特征提取的1D 卷積部分在整個(gè)網(wǎng)絡(luò)是可學(xué)習(xí)的,而SincNet[8]的輸出特征在增加一個(gè)維度后,轉(zhuǎn)換為結(jié)合了時(shí)域和頻域的初級特征表示。后續(xù)采用殘差模塊對初級特征進(jìn)一步提取,從而得到高層次特征H(S,F,T),S表示特征的通道數(shù),F(xiàn)表示頻域長度,T表示時(shí)域長度,每個(gè)殘差塊包含批量歸一化(Batch Norm,BN)模塊和ReLU 激活函數(shù),以及最大池化。
針對特征網(wǎng)絡(luò)主干部分,區(qū)別于常用的卷積神經(jīng)網(wǎng)絡(luò)等方法,本文采用基于自注意力機(jī)制的圖注意力網(wǎng)絡(luò)進(jìn)行特征提取,具體是利用圖注意力模塊,并將高層次特征作為注意力模塊的輸入,從而挖掘語音信號(hào)中更豐富的鑒別信息。本文采用2 個(gè)圖注意力模塊分別從高層次特征中挖掘頻域和時(shí)域信息,并利用圖注意力的結(jié)構(gòu),提取不同頻域和時(shí)域特征間的聯(lián)系,再對經(jīng)過圖注意力模塊后的頻域和時(shí)域特征進(jìn)行融合得到融合特征。針對不同的損失函數(shù),對融合特征進(jìn)行后續(xù)操作。
如圖4 所示,圖注意力網(wǎng)絡(luò)會(huì)從自注意力機(jī)制中學(xué)習(xí)到圖中相鄰2 個(gè)節(jié)點(diǎn)的信息,并分配對應(yīng)的權(quán)重。假設(shè)圖網(wǎng)絡(luò)中有6 個(gè)節(jié)點(diǎn),δ表示不同節(jié)點(diǎn)間的權(quán)重,如δ12表示節(jié)點(diǎn)h1和節(jié)點(diǎn)h2之間的權(quán)重。具有更豐富信息的節(jié)點(diǎn)間通過自注意力機(jī)制,會(huì)得到更大的權(quán)重值,而權(quán)重越大,表示相鄰節(jié)點(diǎn)間聯(lián)系越緊密,即有更豐富的信息。
圖4 節(jié)點(diǎn)h1 與各節(jié)點(diǎn)權(quán)重關(guān)系
經(jīng)過圖注意力后,圖節(jié)點(diǎn)根據(jù)最小化損失函數(shù)被映射成其他特征表示,其表達(dá)式為:
式中:Mout為將每個(gè)節(jié)點(diǎn)向量映射為標(biāo)量的映射矩陣;σn為圖注意力網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的輸出特征;?表示整個(gè)圖。σn的計(jì)算公式為:
式中:BN表示批量歸一化[9];Matt為將每個(gè)節(jié)點(diǎn)聚合后的信息映射到固定維度的映射矩陣;Mres為將殘差輸入映射到固定維度的殘差映射矩陣;βn為通過自注意力機(jī)制整合的相鄰節(jié)點(diǎn)信息。βn的計(jì)算公式為:
式中:G(n)為圖中節(jié)點(diǎn)的鄰接節(jié)點(diǎn)集合,當(dāng)圖中節(jié)點(diǎn)數(shù)為6 時(shí),如圖4 所示,節(jié)點(diǎn)n,v可為h1到h6中的任意節(jié)點(diǎn);δv,n為2 節(jié)點(diǎn)間的注意力權(quán)重;εv為節(jié)點(diǎn)v的輸出特征。注意力權(quán)重的計(jì)算方式如下[3]:
式中:Mmap為可學(xué)習(xí)的點(diǎn)乘矩陣;⊙表示逐元素點(diǎn)乘。
經(jīng)過自注意力圖計(jì)算以及圖池化后,頻域特征和時(shí)域特征的節(jié)點(diǎn)數(shù)以及節(jié)點(diǎn)對應(yīng)的維度都將減小,如圖5 所示,圖特征中節(jié)點(diǎn)數(shù)量,以及每個(gè)節(jié)點(diǎn)對應(yīng)的特征維度都將減少。自注意力機(jī)制的圖計(jì)算將減少每個(gè)節(jié)點(diǎn)中的維度,圖池化操作減少圖中的節(jié)點(diǎn)數(shù)量,o1表示節(jié)點(diǎn)h1經(jīng)過圖計(jì)算、圖池化操作后得到的特征。同理,o3和o5分別表示節(jié)點(diǎn)h3和節(jié)點(diǎn)h5。GAT(N,D)表示整個(gè)圖,N表示節(jié)點(diǎn)個(gè)數(shù),D表示每個(gè)節(jié)點(diǎn)對應(yīng)的特征維度。poolout(Nout,Dout)表示自注意力圖計(jì)算以及圖池化后的輸出。
圖5 圖網(wǎng)絡(luò)中特征維度變化
通過篩選掉部分圖節(jié)點(diǎn),圖池化操作能產(chǎn)生更具有判別性的圖節(jié)點(diǎn),可通過設(shè)置圖池化中的減少比率來控制圖節(jié)點(diǎn)的減少數(shù)量。
本文中采用的圖池化操作來自文獻(xiàn)[10],圖池化操作流程描述如圖6 所示,用一個(gè)可學(xué)習(xí)的映射向量q(D,1),高層次特征經(jīng)過頻域或時(shí)域網(wǎng)絡(luò)時(shí),得到圖特征feature,與映射向量q做乘積后得到圖中每個(gè)節(jié)點(diǎn)的scores,大小為(N,1),N表示圖特征feature中節(jié)點(diǎn)的數(shù)量。如圖5 中有6 個(gè)節(jié)點(diǎn)。根據(jù)設(shè)置的減少率,選取topk個(gè)最大得分的圖節(jié)點(diǎn)。圖中減少率設(shè)置為0.5,則對應(yīng)設(shè)置的topk數(shù)為3,得到scores′(topk,1),根據(jù)topk對應(yīng)的節(jié)點(diǎn)id選取feature中對應(yīng)的節(jié)點(diǎn)特征featuretopk,與經(jīng)過激活函數(shù)sigmod的scores′矩陣逐元素做點(diǎn)積得到圖池化的輸出poolout。
圖6 圖池化操作流程
本文中整個(gè)音頻鑒偽流程是端到端的,從音頻特征提取模塊到高層次特征提取模塊、圖注意力模塊、時(shí)域和頻域模塊以及到最后的全連接層,整個(gè)網(wǎng)絡(luò)都是端到端的。
對于常用的二分類問題,采用的損失函數(shù)常見于交叉熵?fù)p失函數(shù),但由于隨著音頻合成技術(shù)的不斷突破,出現(xiàn)了越來越多的新興合成技術(shù),使得鑒別的難度也越來越大。因此,為了提高模型的泛化性,除了音頻的特征提取,主干網(wǎng)絡(luò)的選取和損失函數(shù)的選擇也至關(guān)重要。本文除了采用二分類交叉熵?fù)p失,還采用了文獻(xiàn)[11]針對人臉鑒偽采用的SCL 函數(shù),如圖7 所示。該損失函數(shù)將網(wǎng)絡(luò)提取的真人特征拉近一個(gè)中心,將假的人臉、合成的人臉特征遠(yuǎn)離真人特征中心。因此無論采用哪種方式合成的人臉,只要是假的都會(huì)被單中心損失拉遠(yuǎn)與單中心間的距離,針對未在訓(xùn)練集出現(xiàn)過的合成人臉方式,則具有更高的泛化性。
圖7 單中心損失
本文將該損失函數(shù)引入音頻鑒偽領(lǐng)域。同樣的,將真實(shí)的語音經(jīng)過圖注意力網(wǎng)絡(luò)提取后得到的頻率域特征與時(shí)域特征融合,此時(shí)將會(huì)匯集到一個(gè)中心,而通過合成技術(shù)得到的語音音頻所提取的特征將被推離該中心。在一批量訓(xùn)練數(shù)據(jù)中,包含了N個(gè)語音樣本,xi∈X,對應(yīng)的標(biāo)簽yi∈{0,1}。這N個(gè)語音樣本,會(huì)通過頻域特征和時(shí)域特征融合后得到D維度特征,fi表示第i個(gè)樣本經(jīng)過融合后的D維度特征。單中心損失的計(jì)算公式為:
式中:Mgenuine為在一批量數(shù)據(jù)中真實(shí)的音頻特征與單中心C之間的平均歐式距離;Mfake為一個(gè)批量數(shù)據(jù)中合成語音特征與單中心C之間的平均歐式距離;Ωfake和Ωgenuine分別為批量數(shù)據(jù)中虛假音頻的集合和批量數(shù)據(jù)中真實(shí)音頻的集合。單中心損失使得提取的真實(shí)音頻聚焦在單中心C中,同時(shí)也使得提取的假音頻特征最大限度地遠(yuǎn)離單中心C。
最后將融合后的特征輸入到單中心損失中,由于融合后特征經(jīng)過全連接層再結(jié)合交叉熵?fù)p失,因此整個(gè)損失函數(shù)部分包含了單中心損失和交叉熵?fù)p失,其表達(dá)式為:
式中:Lsoftmax為二分類損失;Ltotal為總的損失;λ為損失函數(shù)的平衡系數(shù),設(shè)定為0.05。
實(shí)驗(yàn)數(shù)據(jù)集為ASVspoof2019 中的LA[12]數(shù)據(jù)集,該數(shù)據(jù)集包含了3 個(gè)部分,分別為訓(xùn)練集、驗(yàn)證集、測試集。虛假音頻采用了不同的語音合成技術(shù)和聲音轉(zhuǎn)換技術(shù),使用指標(biāo)串聯(lián)檢測代價(jià)函數(shù)(Tandem Detection Cost Function,t-DCF)[13-14]和等錯(cuò)誤率(Equal Error Rate,EER)[15]作為衡量指標(biāo),兩種指標(biāo)均是越小代表性能越好。
實(shí)驗(yàn)中,本文選用了LFCC 特征結(jié)合混合高斯模型(Gaussian Mixture Model,GMM)的LFCCGMM[16]方案,以及與本文一致的特征前端提取方法Rawnet2[17]作為對比。實(shí)驗(yàn)結(jié)果如表1 所示,表中加粗的方法是本文提出的試驗(yàn)方案,其中GAT表示采用基于圖注意力的網(wǎng)絡(luò)、BCE 表示損失函數(shù)中采用了二分類交叉熵?fù)p失、FS 表示采用隨機(jī)遮擋的數(shù)據(jù)增強(qiáng)方式、BS 表示采用增加背景噪聲的數(shù)據(jù)增強(qiáng)方式、HPF 表示采用高通濾波的數(shù)據(jù)增強(qiáng)方式、SCL[11]表示單中心損失。
表1 實(shí)驗(yàn)結(jié)果
通過對比實(shí)驗(yàn)可知,基于圖注意力網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合3 種數(shù)據(jù)增強(qiáng)、單中心損失函數(shù),以及二分類交叉熵?fù)p失的方案實(shí)現(xiàn)了最佳的效果。對比基準(zhǔn)方法LFCC+GMM[16],該方案在EER 指標(biāo)上低1.66,在t-DCF 指標(biāo)上低0.044。
本文通過端到端的形式直接對原始語音進(jìn)行鑒偽,利用提取的高層次特征,在基于圖注意力的基礎(chǔ)上,分別得到頻域特征和時(shí)域特征,經(jīng)過特征融合后,結(jié)合單中心損失以及二分類交叉熵?fù)p失,同時(shí)在原始語音數(shù)據(jù)上,新增3 種數(shù)據(jù)增強(qiáng)的組合。相較于其他方案,所提方案在ASVspoof2019 中的LA 數(shù)據(jù)集上實(shí)現(xiàn)了更好的指標(biāo)。