方 昕,黃澤鑫,張聿晗,高 天*,潘 嘉,付中華,高建清,劉俊華,鄒 亮
(1.語音及語言信息處理國家工程實驗室(中國科學技術大學),合肥 230027;2.科大訊飛股份有限公司 AI研究院,合肥 230088;3.中國礦業大學 信息與控制工程學院,江蘇 徐州 221116;4.西安訊飛超腦信息科技有限公司,西安 710000)
文獻[1-2]中已將聲紋識別分支下的自動說話人驗證(Automatic Speaker Verification,ASV)系統應用到身份識別系統等領域。隨著語音技術的發展,特別是高效語音合成、語音轉換等算法的提出,高質量的虛假語音讓人很難分辨真偽。Das 等[3]針對ASV 系統的各種欺騙攻擊進行概述,認為現有的ASV 系統的安全性面臨極大挑戰。虛假語音攻擊在詐騙、向公眾傳播負面信息等方面具有潛在威脅,因此研究虛假語音攻擊檢測技術具有迫切需求和重大意義。
虛假語音產生方法主要包括邏輯形式以及物理形式。邏輯形式包含有語音合成、音色轉換等技術,這類偽造方式通常是通過參數合成、深度學習模型等生成聲學特征,并通過聲碼器制造出虛假的語音信號進行攻擊;物理形式包含有捕獲和重放語音信號等技術,這類偽造方式通常使用錄音設備在暗處對目標人進行錄音,再由揚聲器播放目標人的錄音進行攻擊。自動說話人確認欺騙攻擊與防御對策挑戰賽(Automatic Speaker Verification spoofing and countermeasures challenge,ASVspoof)在2015 年第一次舉辦,文獻[4-5]中概述了最近兩屆ASVspoof 挑戰賽的相關結果,學術界對假音檢測任務研究的熱度也越來越高。虛假語音檢測任務主流方法是對語音信號進行預處理以后,提取人工設計的相關聲學特征并利用分類器判斷是否為真實語音,即利用測試語音在檢測系統上的得分與某個閾值比較的結果,判斷測試語音的真假。一般來說,語音相關的任務都需要在前端提取聲學特征,傳統的聲學特征包含有幅頻特征(如對數頻譜幅度特征和殘差對數頻譜幅度特征);相頻特征(如相對相移特征、群延遲特征、修正群延遲特征、基帶相差特征等)[6]。另外,在許多語音處理任務(例如語音識別、說話人識別)中被廣泛使用的倒譜特征(如線頻倒譜系數特征、梅爾倒譜系數特征,以及余弦正則相位倒譜系數特征與修正群延遲濾波器組倒譜系數特征等)和局部二值模式特征、i-vector 特征,以及調制特征等也被嘗試用來解決虛假語音檢測任務[7]。
現有技術針對特征提取進行了大量的實驗,嘗試尋求一種能夠有效區分虛假語音與自然語音的聲學特征。Patel等[8]在首屆ASVspoof 挑戰賽提出了一種基于耳蝸濾波器倒頻譜系數和瞬時頻率變化相結合的檢測器,用于檢測自然語音和欺騙語音。Witkowski 等[9]在ASVspoof2017 年的挑戰中提出了基于微調的常數Q 倒譜系數特征的檢測器,盡管該系統仍不能完全檢測出欺騙語音,但對未知語音數據表現出更強的泛化能力。一些研究發現相比靜態聲學特征,動態聲學特征更適用于虛假語音檢測任務。近年來,基于深度神經網絡(Deep Neural Network,DNN)的特征提取算法被應用于多個領域并取得成功。Tom 等[10]假設隨著錄音和回放設備的進步,傳統特征的辨別能力下降,而采用端到端DNN 直接建模聲譜圖來代替手工的特征提取,實驗結果表明將原始波形應用于虛假語音檢測較為有效。Zeinali 等[11]采用一個具有單通道對數功率譜圖特征的VGG(Visual Geometry Group)網絡,在開發集上表現優異,然而在未知的測試集上的性能顯著下降。Jung 等[12]提出了一個端到端系統,由兩個深度神經網絡組成,一個前端用于說話人原始波形嵌入特征的提取,另一個用于后端分類。
現有的假音檢測方法性能仍有待提高,面臨以下問題:1)人工設計的特征往往有較強的針對性,在面對不同領域的虛假語音時,檢測器效果往往不能令人滿意。多數研究基于頻域人工特征而設計的卷積神經網絡不能對語音的時域特性進行捕捉,訓練過程中缺少局部特征之間的信息整合,可能造成關鍵性鑒別信息丟失,從而影響檢測效果。2)隨著虛假語音生成方式的多樣化和復雜化,訓練模型所需的大量有標注樣本較難獲取,以ASVspoof2019 為例,模型的生成需要50 224 條真音和已知類型的假音數據。現有語音數據庫中存在大量無標注樣本,僅利用有標注的數據訓練模型會導致檢測器在面對訓練集域外的攻擊時泛化能力顯著下降。為了解決以上問題,本文提出一種基于時域波形的半監督端到端虛假語音檢測方法,主要工作內容如下:
1)提出一種以原始語音為輸入的一維卷積時域網絡結構,該結構中的雙路徑Res2Net(Dual-Path Res2Net,DP-Res2Net)基礎塊能夠擴大感受野,整合局部信息,從而提升模型性能。該方法不提取人工聲學特征,而使用原始語音采樣數據作為輸入,最大限度地保留了數據中的關鍵鑒別信息。
2)將無標注語音數據加入訓練過程,利用標記數據和額外的未標記數據來增強檢測器領域遷移能力,擴大訓練數據域的多樣性,從而使模型在面對未知的虛假語音攻擊時仍具有一定的有效性。實驗結果表明本文方法與僅利用標注數據訓練的模型相比,泛化能力有較大提升。
3)將基于角度距離的損失函數與交叉熵損失函數結合,以AM-softmax 損失函數主導訓練,以Cross-entropy 偽標簽損失函數輔助訓練,使類內距離更小且學到的深層表征更有區分性,從而提高模型泛化能力。
本文提出的系統及訓練策略主要包含三個方面:一是時域網絡結構,整個網絡由淺層卷積模塊、特征融合模塊、全局平均池化組成,保留原始語音信息的完整性并增大了感受野,能大幅提升模型的泛化能力;二是結合基于附加邊際(Additive Margin,AM)的softmax 損失函數[13],增大類間距離、減小類內距離;三是結合交叉偽標簽半監督訓練方法[14],利用未標注數據訓練模型,以進一步提高模型泛化能力。
受文獻[15-16]中關于殘差網絡(Residual Network,ResNet)、Res2Net 相關研究的啟發,本文結合最近的雙路徑DP(Dual Path)-Res2Net 結構[17],提出一種基于時域波形的端到端虛假語音檢測方法,其框架如圖1 所示。

圖1 基于一維卷積的DP-Res2Net結構Fig.1 Structure of DP-Res2Net based on one-dimensional convolution
本文系統的輸入為原始語音波形(96 000采樣點);淺層卷積模塊由數個一維卷積層(Conv1d)、一維最大池化層(Maxpool1d)、一維批歸一化層(Batch Normalization,BN)以及帶泄露修正線 性單元(Leaky Rectified Linear Unit,LeakyReLU)激活函數組成,可從原始語音信號提取淺層特征;該網絡結構的特征融合模塊由DP-Res2Net-basic-block和一維最大池化層交替組成,其中,基礎塊的結構如圖2[17]所示。

圖2 DP-Res2Net-basic-block結構Fig.2 DP-Res2Net-basic-block structure
每個塊的輸入經過1 維卷積層后分成4 份,即xi(i∈{1,2,3,4})。除了x4外都經過一個卷積核大小為1 的Ki以及一個卷積核大小為3 的Li卷積濾波器處理,并且xi會加上L(i-1)再送入Ki,計算公式如式(1):

將基礎塊的輸入與融合了z1~z4的特征圖相加得到基礎塊的輸出這種雙路徑的殘差式連接增加了可能的接受域,融合了多個特征圖的信息,在面對未知的虛假語音攻擊方式時可以提高網絡的性能。
AM-softmax-loss 在人臉識別以及說話人識別任務中表現較為優異。本文系統引入AM-softmax-loss,并與交叉熵進行融合。其中,AM-softmax-loss 定義如下:

其中:cos為樣本i輸出特征向量與模型權重向量的余弦角度;m為角度余量;s為尺度因子用以加速收斂;N為當前minibatch 的大小。通過控制角度余量m,來達到使同類相似度比最大的非同類相似度更大的目的。
在測試過程中,此處假設第0 類為虛假語音,第1 類為真實語音。從最后一層全連接層中得到cos,該變量的最大值即為樣本i的得分,最大值所對應的索引即為樣本i的預測類別。
給定N個標記語音的集合DL和M個未標記圖像的集合DU,半監督虛假語音任務旨在通過探索標記和未標記語音來學習判別網絡。本文分別利用Kaiming Initialization[18]和Xavier Initialization[19]兩種不同的網絡初始化對檢測網絡的參數進行初始化。本文方法由兩個并行的檢測模型組成:

如圖3 所示,這兩個網絡具有相同的結構,但二者的權重θ1和θ2初始化不同。輸入input(x)具有相同的特征處理,score1 和score2 是判別后的置信概率,是softmax 歸一化后的網絡輸出。所用方法邏輯說明如下:

圖3 交叉標簽半監督訓練流程Fig.3 Cross-label semi-supervised training process

這里Pseudo label 是預測的one-hot 偽標簽。訓練目標包含兩個損失:有監督學習損失Ls(Supervised Learning Loss)和半監督學習損失Lssl(Semi-supervised Learning Loss)。Ls是使用兩個并行判別網絡上標記語音的AM-softmax-loss:

未標記數據上的交叉Lssl為:

整個訓練程中的總損失是標記和未標記數據損失的組合:

其中λ是權衡權重。

其中:length為超參數;epoch為當前訓練周期。
本文所用數據集來源于ASVspoof2019 中的邏輯訪問Logical Access,LA)和深度偽造(Deep Fake,DF)公開數據集,ASVspoof2019LA 數據集中虛假語音包含文本語音合成以及音色轉換等邏輯層面的造假方式。其中,訓練集與開發集包含了相同的造假方式(2 種音色轉換和4 種文本語音合成),測試集1 則包含了除此之外的其他造假方式。為了進一步測試所提系統的泛化能力,本文引入了其他未知類型的語音數據,如VCC(Voice Conversion Challenge)作為測試集2。數據集具體構成如表1 所示。

表1 實驗數據集Tab.1 Experimental datasets
本文對訓練集進行速度擾動處理,從而實現了數據增強。特征使用96 000 時域采樣點(16 kHz 進行采樣),針對采樣點不足和多于96 000 點的樣本,采用復制擴充和截取的方式,以保證相同的特征維度。
本節將本文提出的半監督方法與ASVspoof2021 DF 比賽中官方公布的4 個基線系統進行比較,評價指標為等錯誤率(Equal Error Rate,EER)。EER 是指錯誤接受的比例等于錯誤拒絕的比例時的概率值,對比結果如表2 所示。四個基線系統中,B03 和B04 性能較好,EER 分別為23.48% 和22.38%。本文提出的半監督DP-Res2Net 系統EER 得分為19.97%,相較于官方公布的基線效果有了較大提升。

表2 基線系統和DP-Res2Net系統的對比Tab.2 Comparison between baseline systems and DP-Res2Net system
鑒于假音樣本較多,本文以1∶1 的真音假音比例在ASVspoof2021DF 數據集上隨機采樣,并利用t 分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)對中間特征進行可視化,如圖4 所示。其中:bona 代表真音樣本,spoof 代表假音樣本。可見,針對兩類樣本,網絡所提取的特征分布存在較大差異,特征對真假音檢測具有一定的區分能力。

圖4 在ASVspoof2021DF數據集上隨機采樣的t-SNE可視化Fig.4 Visualization of t-SNE randomly sampled on ASVspoof2021DF dataset
對采用不同訓練策略(監督學習和半監督學習策略)的DP-Res2Net 進行對比,結果如表3 所示。從表3 中可以看出,基于半監督策略下訓練得到的模型SSL-DP-Res2Net 性能在不同測試集上均有較大提升。從表3 中還可以看出,采用VCC 數據進行測試時,訓練數據和測試數據的分布存在較大的差異,本文提出的半監督檢測網絡取得的EER 為30.60%,雖然弱于使用ASVspoof2021DF 數據為測試集時的性能(19.97%),但顯著優于有監督學習方法(38.11%)。可見,本文所提出的基于時域波形的半監督虛假語音檢測方法具有較好的泛化能力;然而,檢測器性能仍有待提高,跨域的虛假語音檢測仍是一項具有挑戰性的工作。

表3 不同訓練策略在不同測試集上的EER對比 單位:%Tab.3 EER comparison of different training strategies on different test sets unit:%
虛假語音攻擊在詐騙、向公眾傳播負面信息等方面具有潛在威脅,研究虛假語音攻擊檢測技術具有迫切需求和重大意義。本文提出一種不依賴于人工特征的、基于原始音頻時域波形的半監督學習端到端虛假語音檢測方法,主要包括:其一,提出一種以原始語音為輸入的基于一維卷積的時域網絡結構,該結構中的DP-Res2Net 基礎塊能夠擴大感受野,實現信息融合;其二,將無標簽語音數據加入訓練過程,擴大訓練數據的多樣性使模型在面對未知類型的虛假語音攻擊時仍具有有效性;其三,在訓練過程中將基于角度距離的損失函數與交叉熵損失函數結合,以AM-softmax 損失函數主導訓練,以交叉熵偽標簽損失函數輔助訓練,以減小類內距離、增大類間距離,提高模型的泛化能力。本文在公開數據集ASVspoof2021 及VCC 上的表現驗證了算法的有效性。但本文系統也存在一定不足,在Deep Fake 任務中,系統所表現出的檢測性能仍有很大提升空間,如何更好地利用無標簽跨域數據是提升檢測器性能的關鍵;另一方面,可以對提取的時域語音特征進一步挖掘處理,提高檢測性能。