廖俊帆,顧益軍,張培晶,廖 茜
(1.中國人民公安大學 信息網絡安全學院,北京 102600;2.中國人民公安大學 網絡信息中心,北京 100038)
語音是人與人之間最自然直接的交流方式,也是具有最大信息容量的信息載體。目前,說話人識別技術已在人們日常生活中得到了廣泛的應用,說話人辨認技術作為其重要分支在公安司法等領域具有較好的發展前景。隨著人工智能和大數據時代的到來,同時得益于計算機計算能力的不斷提高,深度學習技術已經成為各界研究的熱點,其可應用于說話人辨認系統的后端,使聲學特征更具區分性,從而更有利于區分說話人,而端到端網絡架構使用一個神經網絡連接輸入端和輸出端,能將特征訓練和分類打分進行聯合優化[1-3]。因此,結合基于深度學習的端到端網絡的說話人辨認技術能克服復雜環境干擾,具有易構建、強泛化的特點。機器學習算法是人工智能中的重要部分,給人們帶來便利的同時也帶來了諸多安全問題。機器學習模型的攻擊方式一般為破壞其機密性、完整性和可用性,主要包括隱私攻擊、針對訓練數據的攻擊以及針對算法模型的攻擊[4-5]三類方式。對抗樣本是能輕易地引發模型分類錯誤的針對算法模型的攻擊方式[6-7],隨著對抗樣本在圖像、自動駕駛等領域被證實可使攻擊者逃避模型檢測,研究人員發現機器學習模型面對對抗樣本表現出的脆弱性問題是普遍存在的,而基于深度學習的端到端說話人辨認模型也可能受到對抗樣本的攻擊。
為準確全面地評估端到端說話人識別技術面臨的安全問題,本文系統地分析端到端說話人辨認系統和目前多種經典的白盒算法和黑盒算法,以基于卷積結構的端到端說話人辨認模型作為實驗對象,通過實驗比較評估這些對抗樣本對端到端說話人辨認系統的攻擊性能。
說話人辨認是多分類問題[8],即判斷某段語音是由若干人中哪個人所說。端到端說話人辨認系統由深度神經網絡組成,深度神經網絡將不同長度的語段映射為一定維度的特征向量,即深度嵌入,再將不同說話人的語音特征映射到超球面的不同區域,最終通過各區域之間的差異實現分類。在識別過程中需要先在語音數據中提取聲學特征,使用X?Rd表示聲學特征向量的域,聲學特征表示為向量序列x=(x1,x2,…,xT),其中xi?X且1≤i≤T,由于輸入信號長度不固定,因此T值也不固定。將特征向量x輸入深度神經網絡生成幀級別的特征,幀級別的特征被激活后輸入平均池化層得到話語級別的特征,再利用仿射層進行維度轉換得到固定維度的深度說話人嵌入,最終輸出層將固定維度的深度說話人嵌入映射到訓練說話人類別。
針對端到端說話人辨認系統的對抗攻擊,需要運用對抗樣本生成算法制作針對端到端說話人辨認模型的對抗樣本。對抗樣本可以誘導模型算法出現誤判或漏判,從而躲避系統的識別實現攻擊。本文將在白盒和黑盒設置下對端到端說話人辨認模型進行攻擊。在白盒設置下,攻擊者可以完全訪問說話人辨認系統,根據獲取到的梯度信息制作噪聲,并且能最大程度地減少擾動提高成功率。在黑盒設置下,攻擊者只能有限制地訪問模型,并且僅獲得端到端說話人辨認模型的輸出,無法直接獲取輸入與輸出之間的梯度。與在聲學特征上生成對抗樣本的方法[9-10]不同,本文是在音頻上直接制作對抗樣本,具備更好的隱蔽性。如圖1所示,一段音頻經攻擊者添加噪聲后被輸入目標說話人辨認系統中,攻擊者根據模型反饋信息反復對噪聲進行修改,最終制作出對抗樣本,實現端到端說話人辨認系統的錯誤識別。

圖1 攻擊步驟Fig.1 Attack steps
利用深度神經網絡訓練得到的模型在輸入和輸出之間的映射通常為非線性,因此在輸入數據中通過故意添加不易察覺的細微擾動來生成的對抗樣本,能夠導致模型以高置信度給出一個錯誤的輸出。對抗樣本能夠找出機器學習模型的弱點,在網絡安全領域主要用于模型安全評估和對抗魯棒性強化。
目前,關于攻擊的分類有很多種,按照是否獲得目標模型的具體結構和參數可分為白盒攻擊和黑盒攻擊。白盒攻擊指攻擊者能獲取目標模型的所有信息,對抗樣本較多,如FGSM[11]、JSMA[12]、BIM[13]、C&W[14]、PGD[15]等;黑盒攻擊指攻擊者無法直接獲取模型的任何信息,只能通過訪問模型來獲取反饋信息對黑盒模型進行估計,從而使得攻擊成功,如ZOO[16]、HSJA[17]等。此外,按照是否需要指定攻擊類目可分為無目標攻擊和有目標攻擊。無目標攻擊不指定具體類目,只需使識別模型出現錯誤,如Deepfool[18]等。有目標攻擊比無目標攻擊更困難,不僅需要識別模型出現錯誤,還需模型輸出指定的結果,如C&W 等。現有的對抗樣本生成算法并不都能適應音頻數據中復雜的時間域信息和計算復雜度,因此難以在端到端說話人辨認系統中進行實現,如Deepfool。本文僅選取可用于端到端說話人辨認系統的FGSM、JSMA、BIM、C&W、PGD 這5 種白盒算法和ZOO、HSJA 這2 種黑盒算法進行對抗樣本攻擊實驗。
2.1.1 FSGM 算法
在一般情況下,給定分類網絡F和輸入x,通過求優化問題式(1)生成對抗樣本,即在允許的最大擾動量ε的約束下,擾動δ的p范數能實現最大化網絡預測F(x+δ)和真實標簽y的損失函數L。


FSGM[8]是根據高維空間下深度神經網絡的線性行為會導致對抗樣本的產生而設計得到,并利用損失函數梯度解決優化問題式(1),計算公式如下:其中,?L(F(x),y))表示損失函數的偏導數。若是目標攻擊,則將y換成目標標簽t。FSGM 攻擊需要考慮損失函數相對于輸入梯度的符號,適用于端到端說話人辨認的非線性模型。本文采用的分類模型F包含特征提取模塊,對應輸入音頻x無需進行過多預處理,僅將擾動噪聲添加到測試音頻中。FGSM對抗樣本生成速度快,但攻擊性較弱,對模型防御能力提升小。
2.1.2 JSMA 算法
JSMA[12]算法利用顯著性映射,能夠表征分類器的輸出與輸入之間的關聯,僅在樣本x的關鍵分量上添加擾動,能夠得到使分類器輸出指定類目的對抗樣本。因為分類器的結果受輸入樣本x某些分量的影響較大,不同于FGSM 的梯度通過對損失函數求導獲得,JSMA算法的前向導數是神經網絡的logit層的輸出Z(˙)對輸入特征的偏導,所以在端到端說話人辨認網絡中實現分類器對樣本x的顯著性映射如下:

其中,i表示對應的輸入分量,t表示分類器對應目標標簽的輸出分量,j表示輸出的其他分量。根據最大化顯著性效果獲得輸入的關鍵分量k,因此在迭代過程中對其添加擾動:

在獲得的特征上添加擾動獲得對抗樣本,擾動方式分為正向擾動和反向擾動。不同于圖像數值全為正值,音頻的波形數值是正負值并存,實現結果可能有所差異。JSMA 是基于梯度的迭代算法,僅對樣本的部分分量進行修改,與原樣本的相似度高,但是每次迭代均需要重新計算顯著圖,因此生成速度較慢,不適用于部分大規模數據集。
2.1.3 BIM 算法
由于FGSM 算法僅涉及單次梯度更新,對于大規模數據出錯概率較高,因此KURAKIN 等人[13]提出快速梯度符號法的改進迭代算法。迭代梯度符號法的對抗樣本生成算法如下:

其中,clip 表示將溢出的數值用邊界值代替,這是因為在迭代更新中,隨著迭代次數的增加,部分元素可能會溢出,只有代替這些數值原有的邊界值,才能生成有效的對抗樣本。相比FGSM,BIM 能夠在音頻信號中尋找更精準有效的噪聲點,實現性能更優的對抗音頻。
2.1.4 C&W 算法
C&W[14]算法在式(1)的優化問題上添加歐幾里得距離來量化對抗樣本x'和原始樣本x之間的差異。為消除x'?[0,1]p區間約束,將x'替換為(tanhω+1),ω?Rp,由此將優化問題轉化為無約束的最小化問題,如式(6)所示:

通過映射到tanh 空間,對抗樣本能在(-∞,+∞)上進行變換,其中f(x,t)表示損失函數,反映了對抗攻擊的不成功概率,t表示目標類別。損失函數一般表示為:

其中:k≥0 表示攻擊傳遞性的調整參數,k確保了的恒定距離,隨著k值的增大,攻擊成功率越高;Z(˙)表 示logit 層的輸 出。C&W 算法生成的擾動極小,但消耗時間較長。CARLINI 等人[19]將C&W 算法應用在語音識別模型中,并使語音識別模型能將任意音頻輸出為特定目標句子,因此C&W 算法也可應用在說話人辨認模型中。
2.1.5 PGD 算法
PGD[15]算法是一種迭代算法,可看作是在BIM 的基礎上添加一層隨機化處理,其允許在范數球內的隨機點上初始化,然后進行基本迭代,每次迭代均會將擾動投影到規定范圍內,但能產生比BIM 更好的攻擊效果。在迭代過程中,將對抗音頻進行如下操作:

其中,S=r?R(d‖r‖2≤ε)表示擾動的約束空間,α表示擾動修改的步長,Πx+S表示在范數球上進行投影。在迭代過程中,若添加的擾動幅度過大,則將其拉回范數球的邊界。通過一階梯度得到的樣本被稱為一階對抗樣本,而PGD 是一階對抗樣本中最優的對抗樣本生成算法。PGD 可看作是FGSM 的拓展,能夠在端到端說話人辨認模型上進行實現。
2.2.1 ZOO 算法
ZOO[16]算法基于C&W 算法并修改其損失函數實現黑盒設置下的攻擊,而無需替代模型[20],其使用有限差分法獲取近似梯度來解決黑盒設置下無法獲取模型梯度的問題。受C&W 算法啟發,CHEN[16]等人提出一種新的類似鉸鏈的損失函數,具體為:

其中,t0表示x的原始標簽,表示除t0之外最可能的預測類別。
對數運算符對黑盒攻擊至關重要,因為DNN 通常會在輸出F上產生偏斜的概率分布,此類的置信度得分顯著地支配另一類的置信度得分。因此,使用對數運算可減少主導效應,并保留由于單調性而導致的置信度得分順序,同時采用對稱差商[21]或Hessian 估計來估計梯度:

梯度評估是將黑盒轉化為白盒的過程。兩種估計方式分別對應ZOO 的兩種變體,即ZOO-ADAM和ZOO-Newton,并對應ADAM 和Newton 求解器以找到最佳的坐標進行更新。ZOO 采用隨機坐標下降來替代梯度下降方法,在每次迭代中隨機選擇一個變量(坐標),通過沿該坐標近似最小化目標函數進行更新,實現更快速有效的更新過程。ZOO 適用于端到端說話人辨認模型,但對目標模型的訪問次數較多,查詢效率較低。
2.2.2 HSJA 算法
HSJA[17]算法在決策邊界使用二進制信息對目標模型的梯度方向進行預估,利用L2和L∞的相似性指標進行優化的無目標和有目標攻擊。與邊界攻擊[22]相比,HSJA 需要的模型查詢更少,在攻擊多種廣泛使用的防御機制時,具有一定優勢。HSJA 引入布爾值函數?x*:[0,1]d→{-1,1}作為成功擾動的指標,對抗樣本的目標是生成對抗樣本x′,使得?x*(x′)=1,同時保持x′接近原始樣本x,從而將對抗樣本制作問題轉化為最優化問題,如式(12)所示:

其中,d是量化相似度的距離函數,HSJA 為迭代算法,每次迭代均涉及梯度方向估計、通過幾何級數進行步長搜索以及利用二分搜索將最后一次迭代推向邊界這3 個步驟。HSJA 查詢效率高,具有收斂性分析,適用于端到端說話人辨認模型,但對于限制邊界查詢的目標模型的攻擊效果較差。
本文選用百度的DeepSpeaker[23]作為目標模型,包括ResCNN 和GRU 兩種模型,它們是目前最具代表性的基于深度學習的端到端說話人識別模型。在聲學特征提取階段,為保留更豐富的原始音頻信息,將語音信號利用幀長25 ms、幀移10 ms 的滑動窗口轉化為64 維FBank(FilterBank)特征。每個樣本隨機截取多個約1.5 s 的語音段,生成160×64 的特征矩陣。ResCNN 和GRU 網絡結構見表1 和表2,其中,“—”表示該層網絡不涉及相應參數。

表1 ResCNN 網絡結構Table 1 ResCNN network structure

表2 GRU 網絡結構Table 2 GRU network structure
ResCNN 網絡中兩個卷積核為3×3、步長為1×1的卷積層組成1 個殘差塊,實現低層輸出到高層輸入的直接連接。ResCNN 網絡具有4 種殘差塊,每種殘差塊有3 個。同時,殘差塊后的一個卷積核為5×5、步長為2×2 的卷積層使頻域的維度在輸出通道數增加時保持不變。經過多個卷積層和殘差塊提取到的幀級別特征進入時間平均池化層(average)。GRU 網絡使用和ResCNN 網絡相同的卷積層來降低時域和頻域的維度。卷積層之后是3 個前向的GRU層。時間平均池化層對特征在時域上整體取均值,得到話語級別的特征,使得構建的網絡在時間位置上具有不變性,再經過仿射層(affine)將語音級別的特征映射成512 維的深度說話人嵌入。最后輸入Softmax 層進行分類。
實驗使用中文語音數據庫AISHELL-1(簡記為AISHELL)[24]和英文語音數據庫LIBRISPEECH(簡記 為LIBRI)[25]。AISHELL 的錄音文本涉及智能家居、無人駕駛和工業生產等,并且在安靜室內同時使用3 種不同設備總共錄制178 h,其中包含400 個說話人。LIBRI 數據集包含1 000 h 的16 kHz 英語語料。實驗訓練了400 個說話人和10 個說話人的端到端說話人識別模型,分別用于無目標的對抗攻擊和有目標的對抗攻擊。
實驗平臺及環境:Intel?XeonTMGold 5118 CPU@2.30 GHz(CPU),Tesla-V100-SXM2-32 GB(GPU),32 GB memory,Ubuntu 18.04.3 LTS(OS),Python 3.6,Tensorflow 2.10。
本文使用攻擊成功率(Attack Success Rate,ASR)、擾動大小、置信度、對抗樣本生成時間來評價各生成算法對端到端說話人識別模型的性能。
攻擊成功率:成功逃避模型識別的樣本數占測試樣本總數的比例,計算公式如下:

其中,ssumNum(˙)表示樣本數量,x表示原音頻,x′表示對抗樣本,llabel(˙)表示模型輸出標簽,y0表示真實說話人標簽;若有目標攻擊時,分母改為ssumNum(llabel(x′)=yt),yt是目標說話人標簽。
生成時間:生成一定數量的對抗樣本所需的時間。為了準確地評估各算法的生成速度,實驗設置的算法生成批次大小均為1,即每批次只生成一個對抗樣本。
擾動大小:樣本修改前后的變化量,衡量樣本被處理前后的變化程度,計算公式如下:

其中,N為樣本個數,‖˙‖1為1 范數。
信噪比(Signal to Noise Ratio,SNR):信號功率與噪聲功率的比值,通常用來評估音頻質量,計算公式如下:

其中,Psignal為信號功率,Pnoise為噪聲功率,Asignal為信號幅度,Anoise為噪聲幅度。較大的SNR 值表示較小的噪聲等級。在本文實驗中,SNR 用來衡量對抗音頻相對于原始音頻的失真,比較生成算法生成的對抗性音頻的差異。
置信度:在無目標攻擊實驗中,樣本魯棒性使用原類標置信度表示,對抗樣本被識別為原類標的置信度越低,表示該樣本越魯棒。在有目標攻擊的實驗中,樣本魯棒性使用目標類標置信度表示,對抗樣本被識別成目標類別的置信度越高,表示該樣本越魯棒。
表3 和表4 表明FGSM、BIM、PGD 的ASR 和擾動隨參數ε增加而增大,C&W 在范數L2和L∞下的ASR 隨k變化不大,而擾動隨之增大。但是,JSMA、ZOO 和HSJA 參數多樣,難以統一比較。為在相似的攻擊強度下對生成算法進行比較,在后續實驗中:FGSM、BIM、PGD 的度量單位均為L∞且ε=0.001(描述可修改的L∞范圍大小);JSMA 的度量單位為L2;C&W 和ZOO 使用置信度參數k來描述擾動大小且設置為0.0,其中C&W 分別使用L2和L∞兩種度量單位進行實驗;JSMA 設置每步修改的擾動量為0.1,最大特征分數為1.0。HSJA 的初次和最大評估次數分別設置為100 和1 000。

表3 不同ε下FGSM、BIM和PGD算法的ASR和擾動大小Table 3 The ASR and perturbation size of FGSM,BIM and PGD algorithms under different ε

表4 不同k 和范數下C&W 算法的ASR 和擾動大小Table 4 The ASR and and perturbation size of C&W algorithm under different k and norms
3.5.1 無目標攻擊實驗結果分析
在無目標攻擊的實驗中,對于不同的生成算法,使用相同的100 段音頻,各自分別對不同網絡結構和數據庫訓練的模型生成100 個對抗樣本。
表5 給出了無目標攻擊時各生成對抗樣本算法的ASR、擾動大小和生成時間。對于說話人辨認的無目標攻擊,8 種算法均能躲避系統識別。平均擾動的值越小,噪聲越小,這樣能使對抗音頻對人類的聽力更加難以察覺,各算法均具有較小的擾動。FGSM 無需進行迭代,生成速度最快,但ASR 劣于其他算法。從生成時間而言,黑盒攻擊明顯比白盒攻擊花費更多的生成時間。

表5 無目標攻擊時各生成對抗樣本算法的ASR、擾動大小和生成時間Table 5 The ASR,perturbation size and generation time of each algorithm for generating adversarial samples with non-targeted attacks
表6 給出了無目標攻擊時各生成對抗樣本算法的信噪比,各算法得到的對抗樣本都有較好的平均信噪比,但JSMA、C&W(L∞)和ZOO 的最低信噪比接近0,甚至負值。這說明音頻信息完全丟失,無法完成攻擊,C&W(L2)和HSJA 的平均信噪比在白盒和黑盒攻擊時均最高,幾乎能夠躲避人聽力的察覺。

表6 無目標攻擊時各生成對抗樣本算法的信噪比Table 6 The SNR of each algorithm for generating adversarial samples with non-targeted attacks dB
表7 給出了無目標攻擊中對抗樣本被端到端說話人辨認模型識別為真實類目的置信度??梢钥闯觯鎸Χ说蕉苏f話人辨認模型,每種算法均能使對抗樣本偏離真實類目,但C&W(L2)、C&W(L∞)和ZOO 高低差異較大,穩定性較差。PGD、BIM 真實類目的置信度最低,對抗樣本最具魯棒性且穩定性較強。

表7 無目標攻擊時各生成對抗樣本算法的置信度Table 7 The confidence of each algorithms for generating adversarial samples with non-targeted attacks
3.5.2 有目標攻擊實驗結果分析
在有目標攻擊的實驗中,隨機抽取10 段不同說話人的音頻,每段音頻以與該音頻的真實標簽不同的說話人為目標,生成9 個對抗樣本。
表8 給出了有目標攻擊中對抗樣本的攻擊成功率以及成功對抗樣本的平均信噪比、置信度、擾動大小和生成時間??梢钥闯?,JSMA、BIM 和PGD 的ASR 較高,但JSMA 的SNR 和置信度較低,表現劣于BIM 和PGD。在黑盒攻擊中,ZOO 和HSJA 表現較差,但HSJA 在信噪比、置信度和擾動三方面優于ZOO。圖2 給出了對抗樣本對目標說話人的置信度的熱力圖,其中,橫坐標Source Speaker 表示真實說話人,縱坐標Target Speaker 表示目標說話人,置信度從高到低進行分布。

圖2 有目標攻擊時各算法置信度的矩陣熱力圖Fig.2 The matrix heat map of the confidence of each algorithms with target attack

表8 有目標攻擊時各生成對抗樣本算法的ASR 以及平均SNR、置信度、擾動大小和生成時間Table 8 The ASR and average SNR,confidence,perturbation size and generation time of each algorithm for generating adversarial samples with targeted attacks
BIM 和PGD 將10 個音頻都生成相應目標的魯棒性對抗樣本,表現最優。在ZOO 和HSJA 的熱力圖上可以看出,以說話人S0163 為目標的不同對抗樣本的置信度都較高,推測模型存在部分薄弱的類目,較容易被算法估計出特征。
3.5.3 不同網絡結構下的生成算法實驗結果分析
在ResCNN 和GRU 網絡結構模型的測試結果中,大部分算法在GRU 模型測試的ASR 較低、生成時間較長。這表明對GRU 模型進行無目標攻擊較為困難,其中JSMA 的生成難度最大。而ResCNN 和GRU 網絡結構的平均信噪比和真實類目的平均置信度相差不大。在有目標攻擊時,其他算法對GRU模型的ASR 較低(除了JSMA 和HSJA 之外),生成時間較長(除ZOO 之外)。由此得出,對抗樣本生成算法的性能會受端到端說話人辨認系統的網絡結構限制,并且生成算法對GRU 的攻擊效果較差。
3.5.4 不同語種下的生成算法實驗結果分析
上述實驗結果顯示,在相同的網絡結構下,JSMA 和ZOO 在LIBRI 英文數據集訓練的模型和AISHELL 中文數據集訓練的模型上的生成時間差異較大,其他指標相近,這可能是因為模型訓練差異,而其他算法的各項指標測試結果差異不大。由此得出,各對抗樣本生成算法對模型攻擊效果受不同語種的影響較小。
3.5.5 隱蔽性測試結果分析
為驗證對抗音頻與原始音頻的區別,本文對30 個聽眾進行3 項測試:1)判斷每種對抗音頻是否為噪聲(每種隨機抽取1 個);2)確認能否聽清對抗音頻的內容(每種隨機抽取1 個);3)聽1 對音頻(原始音頻和相應的對抗音頻),找出對抗音頻,屬于ABX 測試。每項都設置對照組,測試結果見表9,其中,測試結果A 表明感覺音頻沒有噪聲的聽眾比例,測試結果B 表明能聽清音頻內容的聽眾比例,測試結果C 表明能正確找出對抗音頻的聽眾比例。測試1 的實驗結果表明大部分聽眾認為JMSA 和ZOO的對抗音頻有明顯的噪聲,測試2 的實驗結果表明聽眾基本都能聽清音頻的內容,測試3 的實驗結果表明ABX 測試中BIM、C&W(L2)和PGD 正確找出對抗音頻的聽眾比例接近50%,可以認為其對抗音頻與原始音頻無法被人耳區分。

表9 隱蔽性測試結果Table 9 Concealment test results %
上述實驗結果表明,FGSM、JSMA、BIM、C&W、PGD、ZOO 和HSJA 這6 種生成算法都能生成針對端到端說話人辨認模型識別的對抗樣本,實現逃避攻擊,但只有BIM、C&W(L2)、PGD 能實現無法被人耳察覺的對抗音頻。在無目標攻擊時,HSJA 黑盒算法能達到白盒攻擊的較好水平。在有目標攻擊時,BIM 和PGD 白盒算法面對不同說話人音頻都能很好地生成高置信度的目標對抗樣本,ZOO 和HSJA黑盒算法只能對模型的薄弱目標生成對抗樣本,但質量不高,對抗樣本生成算法的實現會受網絡結構的限制。
為探究語音領域的對抗樣本,本文基于端到端說話人辨認系統對現有經典的對抗樣本生成算法在音頻領域進行實現與比較研究。實驗結果表明:在無目標攻擊時,各類對抗樣本在白盒和黑盒設置下均能逃避說話人辨認系統的識別,在整體性能表現上,BIM 和PGD 在白盒設置下表現最佳,在黑盒設置下HSJA 表現較好;在有目標攻擊時,BIM 和PGD同樣具有很好的性能表現,但在黑盒攻擊方面,ZOO和HSJA 在有目標攻擊時均未能達到其作用在圖像數據上的攻擊性能表現。由于端到端說話人辨認模型存在安全脆弱性、實驗數據局限于較短音頻等問題,因此下一階段將探索更具實際意義的語音對抗樣本以及端到端說話人辨認的安全學習機制,提高深度學習模型防御對抗攻擊的能力。