999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向語音識別系統的黑盒對抗攻擊方法

2020-05-14 07:09:24陳晉音葉林輝鄭海斌楊奕濤俞山青
小型微型計算機系統 2020年5期
關鍵詞:模型

陳晉音,葉林輝,鄭海斌,楊奕濤,俞山青

(浙江工業大學 信息工程學院,杭州 310023)

E-mail:chenjinyin@zjut.edu.cn

1 引 言

隨著深度學習模型在語音識別應用中取得的成功,語音識別控制系統如Amazon Alexa,谷歌語音助手,蘋果siri,微軟Cortana和科大訊飛等商業產品在人機交互中獲得廣泛應用,并在移動設備、智能家居等多個領域取得成功,尤其在自動駕駛、聲紋身份認證等安全級別較高的應用場景中實現了關鍵應用.

傳統語音識別模型多數采用隱馬爾科夫高斯混合模型(HMM-GMM)[1],建立在似然概率基礎上,利用區分度訓練在一定程度上擬合了模式類之間的差異性.深度學習的引入使語音識別系統原有的技術框架得到徹底改變[2-5].深度神經網絡可以充分利用特征之間的關聯性,將連續幀的語音特征合并后進行訓練,使語音識別系統的識別率大幅度提高.

由于深度神經網絡的優異性能,已有較多基于深度神經網絡模型的語音識別系統.然而,Goodfellow[6]和Szegedy[7]發現深度神經網絡容易受到對輸入數據添加細微擾動形式的對抗攻擊.例如在自動駕駛領域,車載語音識別系統在輸入時被外加的細微擾動所攻擊,語音識別系統將錯誤地識別乘客的指令,這給自動駕駛系統帶來了極大的安全隱患.

隨著圖像領域對抗攻擊的研究深入,音頻領域的對抗攻擊也逐步提出.兩種攻擊存在差異,首先,語音識別系統需要處理時間域上的信息變化,這比圖像分類系統更復雜;其次,音頻的采樣率通常都非常高.例如:采樣率為16kHz的音頻,每秒采樣16000個數據點,相比于圖像分類,這意味著要處理更大的數據量.因此,語音識別領域對抗樣本的生成過程更加復雜.

Carlini[8],Cisse[9]和Iter[10]提出了語音識別對抗攻擊生成方法,在已知識別模型結構的前提下基于梯度信息生成對抗樣本,屬于白盒攻擊方法,Carlini指定了攻擊的目標短語,屬于目標攻擊,而Cisse和Iter的攻擊方法未指定特定攻擊目標短語,屬于無目標攻擊(逃逸攻擊).而在實際應用中,通常攻擊者很難獲得識別模型的結構信息,且攻擊是為了達到特定目標(例如,使得某一段語音識別成特定的指令),因此黑盒的目標攻擊在實際應用中更具有攻擊性與隱蔽性.

為實現面向語音識別系統的黑盒目標攻擊,本文提出了一種面向語音識別系統的黑盒攻擊方法,主要工作包括:

1)提出了一種基于布谷鳥搜索優化算法的黑盒對抗攻擊方法,實現對語音識別系統的黑盒攻擊;

2)通過設定攻擊目標指令,可將任意正常樣本通過布谷鳥搜索算法自動生成對抗樣本,實現了黑盒設置下的目標對抗攻擊,驗證了提出方法具有較強的目標攻擊能力與樣本生成能力;

3)將本文提出的方法在多個實際數據集展開驗證,包括:公共語音數據集、谷歌語音命令數據集、GTZAN數據集和LibriSpeech數據集,驗證提出方法的有效性.并分析了生成對抗樣本的攻擊遷移性,驗證其對其他語音識別模型具有遷移性攻擊,并對對抗樣本進行了主觀評測,探究了其隱蔽性.

2 相關工作

2.1 語音識別深度模型

基于隱馬爾可夫模型(HMM)的語音識別模型是常用方法之一,Baum[11]率先使用最大似然原則對HMM模型進行訓練.Macherey[12]把比最大似然原則更優的判別訓練應用在HMM上,采用了最小分類誤差優化模型的參數并取得較好結果.Zheng[13]提出了一種新的判別訓練標準,使用最小通話幀誤差加速了模型的訓練,并且使得模型的準確率有所提高.Wu[14]提出了基于最小代誤差的HMM訓練方法,提高了模型的識別精度.

在基于HMM的語音識別模型基礎上,利用高斯混合模型(GMM)狀態觀測概率進行建模.Yu[15,16]用上下文相關的深度神經網絡模型(DNN)來替代高斯混合模型,并取得了良好的效果.Mohamed[17]使用深度置信網絡代替高斯混合模型來提高模型的識別率.Yao[18]將自適應的方法引入DNN-HMM的模型中,使詞錯誤率進一步降低.

近幾年,提出了較多基于深度學習模型的語音識別方法,端到端的語音識別方法直接將輸入的聲學特征序列映射到輸出的詞序列.Graves[19]利用連接主義時間分類(CTC)來建立端到端的語音識別模型.隨后,百度拓展了這項工作,利用大量的數據訓練得到能成功商用于英語和普通話的語音識別模型[3].Zhang[20]將深度卷積網絡引入端到端模型,進一步增強了模型的表達和泛化能力.谷歌的DeepMind團隊推出了可以生成音頻的深度神經網絡WaveNet模型[5],WaveNet不僅能作為一種生成模型,而且可以完成語音識別的任務.Chan[21]提出了一種端到端的語音識別注意力模型,進一步提高識別準確率.

2.2 對抗攻擊與防御方法

受到圖像領域對抗攻擊研究的啟發,音頻領域的對抗攻擊正在受到越來越多的關注.Gong[22]使用2%大小的擾動使得基于深度神經網絡的語音識別系統誤識別,實現了無目標攻擊.Carlini[23]提出了一種通過MFC層傳遞梯度的方法,并將其應用到DeepSpeech模型[2]中,通過從一個梯度連接到原始輸入,其攻擊絕大多數情況下能夠成功.Wang[24]利用快速梯度符號法(FGSM),對基于注意力機制的深度關鍵詞識別模型生成了對抗樣本.Sch?nherr[25]利用心理聲學原理,基于梯度信息構建了隱蔽性良好的對抗樣本,實現了目標攻擊.Qin[26]同樣利用了心理聲學原理和梯度信息實現了目標攻擊,與Sch?nherr[25]不同的是,Qin[26]構建的對抗樣本具有更好的隱蔽性和更強的魯棒性.Yakura[27]在對抗樣本生成過程中引入了脈沖響應和高斯白噪聲,提高了生成的對抗樣本對回聲和環境噪聲的魯棒性.而這些攻擊的方法均在已知模型結構前提下展開攻擊,屬于白盒攻擊.

在黑盒攻擊方面,Alzantot[28]已經證明,實現針對自動語音識別系統的黑盒目標攻擊是可行的.Zhang[29]通過調制超聲波載波的命令并利用麥克風的漏洞提出了海豚攻擊.Du[30]提出了SirenAttack,利用粒子群優化算法,分別在白盒和黑盒設置下成功生成了對抗樣本,他們在多種語音識別模型上進行了實驗,并取得了較好結果.Khare[31]在黑盒設置下使用多目標進化優化的方法對DeepSpeech[2]和Kaldi-ASR(Automatic Speech Recognition)[4]模型進行目標攻擊,成功實現黑盒攻擊.Gong[32]在黑盒設置下,利用強化學習實現了實時對抗攻擊,但是只攻擊了指令識別模型,實現的是無目標攻擊,且存在計算資源消耗大的問題.Abdullah[33]使用在語音信號處理階段加噪聲的方法,通過將目標指令隱藏在噪聲中實現了黑盒攻擊,該方法生成的對抗樣能夠使模型識別,而人聽起來就像噪聲,無法獲取對抗樣本中隱藏的內容.但現實中,當人聽到揚聲器傳來噪聲時,很有可能會引起警覺發現異樣,也就是說該方法生成的對抗樣本隱蔽性不夠高.

針對語音識別系統的攻擊,也提出了一些防御方法用于消除攻擊帶來的影響.這些方法的一個共同特點就是檢測收到的信號是否來自于一個正在說話的人.Lei[34]提出了一種利用無線信號來檢測人體運動的虛擬按鈕,只有在檢測到人體運動時才能接受語音命令.Feng[35]提出了VAuth(Vee-Auth),這是第一個為語音助手提供連續和可用身份驗證的系統.通過可穿戴設備采集用戶的體表振動,并將其與語音助手的麥克風接收到的語音信號相匹配,以此來驗證語音命令是用戶發出的.然而,這些方法都是有限的,因為語音命令不一定伴隨可檢測的運動,可穿戴設備(例如眼鏡)也不方便.Zhang[29]提出了利用超聲波和麥克風漏洞攻擊的方法,同時也提出了相應的防御方法,利用一種能抑制超聲載體信號的增強型麥克風來防御.在對抗性聲學系統的防御方面,Szegedy[7]提出了對抗訓練,Wang[24]利用生成的對抗樣本和原樣本對關鍵詞識別模型進行重訓練,提高了模型的魯棒性,但對抗訓練的局限性在于,經過重訓練的模型可實現相應攻擊的防御,在實際中,攻擊者可以更改參數來繞過防御.Du[30]提出了滑動平均濾波的防御方法,即把某個采樣點的前K-1個和后K-1個采樣點作為參考點,用參考點的平均值代替這個采樣點的方式進行防御,具有一定的防御效果.針對語音識別系統的防御研究,本文提出了兩種防御對抗攻擊的策略,嘗試實現語音識別模型的防御.

2.3 群優化搜索算法

智能優化算法如遺傳算法[36]、蟻群算法[37]、粒子群算法[38]、布谷鳥搜索算法[39]等,通過模擬生物的行為或自然界的現象求解目標優化問題.

布谷鳥搜索算法是Yang[39]提出的一種模仿自然界中布谷鳥育雛行為的啟發式算法.布谷鳥本身不筑巢、不孵卵、不育雛,而是通過將卵產在其他鳥(宿主)的鳥巢中,由宿主代為孵化和育雛的方式進行繁衍.布谷鳥趁宿主外出時將自己的卵產入宿主的鳥巢中.為了不被宿主察覺,布谷鳥在產卵之前會把宿主鳥巢中的一枚或多枚卵移走,來保持鳥巢中原有的卵數量.一旦布谷鳥的寄生卵被發現,這個卵便會被宿主移走或者宿主丟棄這個鳥巢去建立新的鳥巢,布谷鳥寄生繁殖失敗.

布谷鳥通過萊維飛行搜尋鳥巢.萊維飛行屬于隨機行走的一種,行走的步長滿足一個重尾的穩定分布,在這種形式的行走中,高頻率的短距離飛行和低頻率的長距離飛行相間.

由于布谷鳥搜索算法的操作簡單、收斂速度快、具有較強的空間搜索能力,因而本文選用布谷鳥搜索算法優化擾動,生成對抗樣本.在實際尋優過程中,鳥巢就是解,鳥巢的數量作為種群大小,根據具體優化問題而設定,通過萊維飛行更新鳥巢位置.宿主以一定的概率Pa發現異常卵,在實際問題中則以概率Pa剔除適應度低的解.

3 基于布谷鳥搜索算法的黑盒對抗攻擊方法

本文提出基于布谷鳥搜索算法的對抗攻擊方法,輸入原始音頻樣本,通過布谷鳥搜索算法尋找近似最優對抗擾動,并生成相應的對抗樣本,樣本的攻擊效果通過輸入目標模型(DeepSpeech)判定其輸出結果作出評價,最終將搜索得到的最優解輸出,即為有效對抗樣本,其系統框架如圖1所示.

本文利用布谷鳥搜索算法優化擾動生成對抗樣本.首先,原始音頻復制至設定鳥巢數量后通過添加隨機噪聲擴大鳥巢之間的差異形成初步解;其次,通過萊維飛行產生新解,通過適應度函數,比較新舊解的優劣,更新鳥巢.在優化過程中,發現當適應度函數值低于一定值時,布谷鳥算法不再高效,因此設定閾值ψ.當適應度函數值小于閾值ψ時,在布谷鳥算法的基礎上添加變異操作,擴大搜索范圍.最后,判斷對抗樣本是否識別為目標短語或達到最大迭代次數,若未產生對抗樣本并未達到最大迭代次數,繼續迭代優化對抗樣本.

圖1 系統框架

3.1 鳥巢初始化

將原始音頻復制至設定鳥巢數量,由于復制后的各個解之間不存在差異,無法確定最優解,因此不能直接通過布谷鳥搜索算法優化.通過添加隨機噪聲的方法擴大各個鳥巢之間的差異性,完成初始化.例如:DeepSpeech模型的輸入為采樣率為16kHz的音頻文件,恢復為模擬信號后的音頻文件的最高頻率為8kHz.根據Reichenbach[40]的研究表明,人耳對低頻比高頻更敏感,因此對噪聲使用截止頻率fcutoff=7kHz的高通濾波器,將噪聲限制在高頻范圍內,使人耳更難察覺.初始化后的鳥巢通過適應度函數進行評分,確定初始種群的最優解,并記錄最優適應度值.

3.2 適應度函數

連結主義時間分類(CTC)是Graves[41]提出的一種端到端的循環神經網絡(RNN)訓練方法.傳統的語音識別模型中,對語音模型進行訓練之前,需將文本與語音進行嚴格對齊,即需要將每一幀對應到標簽,而CTC不需要對齊語音和文本.CTC的損失函數CTCLoss可以解釋為給定樣本后輸出正確label的概率之和.本文使用CTCLoss作為適應度函數FCTCLoss(x),一方面得益于CTC不要求對齊,另一方面是CTCLoss可較好衡量對抗樣本與目標短語之間的接近程度.

假定x為DeepSpeech的輸入,其輸出序列π為可能解碼為對應文本T的序列,定義集合Z=(a,z)∪(_)∪(-),其中“_”表示空格,“-”為CTC引入的特殊字符,這個字符可以避免CTC解碼器在解碼過程中刪除序列π中可以解碼為對應文本的字符,其中π∈Z.

DeepSpeech模型定義為y=F(x),其中x∈X,為輸入音頻X的某一幀,其輸出y為字符的概率分布,由此概率分布可以確定輸出序列為π的概率.對于輸入X,CTC解碼器在解碼時,對序列π進行移除相鄰重復字母和移除特殊字符“-”的操作.例如對輸入為10幀的音頻X,若其對應文本T為“apple”,則對序列π1-“-aappp-ple”與序列π2-“ap-p-l-eee”進行移除相鄰重復字母和特殊字符的操作,則序列π1和π2均可解碼為“apple”.因此對于一個輸入音頻X,其輸出預測序列π是不唯一的.因此在輸入X下,其輸出為序列π的概率為:

(1)

(2)

而CTCLoss定義如下:

CTCLoss(f(x),T)=-logP(T|f(x))

(3)

可以發現,在模型訓練時,當解碼為T的概率P(T|f(x))越大,CTCLoss越小,由此本文定義適應度函數FCTCLoss(x)如下:

FCTCLoss(x)=-CTCLoss(f(x),t)

(4)

其中,t為設置的目標短語,可見,當對抗樣本解碼為目標短語t的概率越大,FCTCLoss(x)越大,則評分越高.

3.3 布谷鳥搜索算法實現

布谷鳥搜索算法通過萊維飛行機制和隨機游走尋找鳥巢,萊維飛行是一種由小步長的短距離飛行和偶爾大步長的長距離飛行組成的隨機游走過程,因此布谷鳥搜索的尋窩路徑容易在不同的搜索區域間跳躍,導致布谷鳥搜索算法的局部精細搜索能力較差,在算法迭代后期容易在全局最優解附近的區域出現震蕩現象,造成算法效率偏低.因此本文在達到一定條件后,在布谷鳥搜索算法中加入變異操作,提高算法尋找最優解的效率.

3.3.1 萊維飛行

在自然界中,布谷鳥搜索以隨機或者類似隨機的飛行方式來尋找適合自己產卵的鳥巢位置,為了便于模擬布谷鳥搜索的繁殖策略,Yang等[39]將布谷鳥搜索算法假設為以下三個理想狀態:

1)每只布谷鳥搜索一次只產一個卵,并隨機選擇一個位置的鳥巢進行孵化.

2)在隨機選擇的一組鳥巢中,優質的鳥巢將會被保留到下一代.

3)可利用的鳥巢數量固定,宿主鳥發現外來鳥蛋的概率為Pa∈[0,1].當宿主鳥發現外來的布谷鳥蛋的時候,它會將布谷鳥蛋丟棄或者重新建立新的鳥巢.

基于以上三個理想狀態,使用Mentegna算法[42]實現萊維飛行.萊維飛行更新如下:

(5)

(6)

其中,u,v是兩個服從高斯分布的變量,β是常數,其值由具體問題決定,σ2由公式(7)計算:

(7)

利用萊維飛行,對除最優鳥巢以外的鳥巢的位置和狀態進行更新,產生新鳥巢.比較每個新鳥巢與舊鳥巢的適應度,將舊鳥巢中適應度差的解替換為新鳥巢中適應度優的解,并找出當前種群中適應度最優的鳥巢,保存至下一代.

3.3.2 局部隨機游走

局部隨機游走定義為宿主鳥以一定的概率Pa發現外來鳥后重新建窩的路徑.產生的鳥窩的位置采用偏好隨機游動的方式,即利用了其它鳥窩的相似性.新建的鳥窩的位置公式定義如下:

Xt+1=Xt+γ*Heaviside(Pa-ε)*(Xi-Xj)

(8)

其中,γ和ε是服從均勻分布的隨機數,相互獨立,Heaviside(x)是跳躍函數,Xi,Xj是其它任意的兩個鳥巢.局部隨機游走產生的新鳥巢同樣需要與舊鳥巢比較,將舊鳥巢中適應度低的解替換為新鳥巢中適應度高的解,并記錄當前種群中適應度函數最優的鳥巢,保存至下一代.

3.4 變異

當CTCLoss減小到一定范圍時,對抗樣本接近目標擾動,此時的萊維飛行由于種群個體太過相似而容易陷入局部最優,無法產生更優解.因此,本文設計了變異操作拓展搜索空間,提高搜索效率.通過對所有解添加隨機噪聲的方式進行變異,同時,這個噪聲會通過一個截止頻率為fcutoff=7kHz的高通濾波器,將噪音限制在高頻范圍內.若變異操作產生比原來解中更優的解,通過替換舊解更新鳥巢,最優解將會被保留到下一代.變異算法在增加種群的多樣性的同時,用變異概率限制或擴大變異的程度.若變異概率太低,可能產生不了新的更好的最優解,而變異概率過大,可能會錯過最優解.因此設置了動量更新公式更新突變概率:

(9)

其中,pold表示種群原來的突變率,pnew表示種群新的突變率,currScore表示當前種群的得分,preScore表示上一代種群的得分.μ和γ是相關系數,μ值越大,新的突變率pnew越接近pold;γ越大,pnew變化的范圍越大.μ的取值應比較大,γ應較小,這是為了控制pnew的變化幅度,若變化幅度太大,可能會使原有解的較好形態的消失.動量更新增加了突變概率的加速度,當種群優化停滯時,通過保持高的突變概率,使得突變的部位累積并隨迭代次數而相加.變異操作將增加種群的多樣性,與萊維飛行結合,將更加高效的獲得最優解.

3.5 算法基本流程

布谷鳥搜索算法

輸入:原始音頻X,目標短語t,迭代次數itr,最大迭代次數Max

輸出:對抗樣本Xadv

初始化鳥巢:產生n個寄主鳥巢,添加噪聲擴大差異,形成初始解Xn

計算初始鳥巢最優適應度值Fbest,確定最優解Xbest

while (itr

萊維飛行產生新解X′n

比較新舊解適應度值F′n,Fn

ifF′i>Fi(i=1…n)

Xi=X′i

IfF′best>Fbest

Xbest=X′best

ifF″i>Fi(i=1…n)

Xi=X″i

ifF″best>Fbest

Xbest=X″best

ifCTCLoss<ψ

加入變異操作

end while

returnXadv=Xbest

4 實驗與結果分析

4.1 數據集

為驗證本文方法的有效性,在四個數據集上展開實驗,包括:公共語音數據集(1)https://voice.mozilla.org/zh-CN/datasets,谷歌語音命令數據集(2)http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz,GTZAN音樂數據集(3)http://marsyas.info/downloads/datasets.html和LibriSpeech數據集(4)http://www.openslr.org/12/.其中,公共語音數據集是Mozilla開源的大型語音數據集,它由用戶朗讀來自于博客,書籍,電影等多個公共信息源的文本收集而成.它擁有超過500小時的樣本,大約有20000名志愿者提供了40000多份樣本.谷歌語音命令數據集是由谷歌的TensorFlow團隊創建的語音數據集.該數據集包含30種短單詞的命令,總共有65000個時長為1秒的,只包含一個單詞的命令語音.GTZAN音樂數據集包含了10種音樂風格的總量為1000個的30秒長的音樂片段.LibriSpeech語音數據集包含了1000小時采樣率為16kHz的有聲錄音,并且經過切割和整理成每條10秒左右的、經過文本標注的音頻文件.

4.2 評價指標

為了確定對抗樣本和原始樣本之間的擾動大小,引入了分貝(dB).用分貝來衡量單個音頻樣本的相對強度:

dB(X)=max(20log10X)

(10)

其中,X表示輸入音頻.在本次實驗中,在dB級別上,將生成的對抗樣本Xadv和原始音頻X比較,以此確定相對擾動的強度:

dBX(Xadv)=|dB(Xadv)-dB(X)|

(11)

為了比較生成的對抗樣本和原音頻的相似度,引入了皮爾遜相關系數來衡量對抗樣本和原音頻的相似度,皮爾遜相關系數公式如下:

(12)

其中cov(X,Y)是矩陣X,Y的協方差,δX,δY分別表示矩陣X,Y的標準差.

為了比較生成樣本的解碼結果與目標短語的差距,引入了編輯距離.編輯距離是用來度量兩個序列相似程度的指標,指的是在兩個序列之間,由其中一個序列w1轉換為另外一個序列w2所需的最少單字符編輯操作次數.單字符編輯操作有且僅有三種:插入,刪除,替換.

4.3 目標模型

本文設計攻擊的目標模型為百度的DeepSpeech模型[2].DeepSpeech是一個開源的基于CTC的端到端深度語音識別模型(5)https://github.com/carlini/audio_adversarial_examples,其核心是一個循環神經網絡(RNN),由五層隱藏單元組成.如圖2所示,網絡的前三層不是循環神經元,第一層的輸出取決于每個時間的輸入xt以及xt左右相鄰的C幀音頻,第二、三層的輸入為前一層的輸出,對于每一時間步,前3層可以計算為:

(13)

第四層是雙向遞歸層,這一層有兩類神經元,一類是前向遞歸h(f),另一類是后向遞歸h(b):

(14)

(15)

若輸入音頻的總幀數為T,則h(f)必須從t=1到t=T依次計算,同時h(b)神經元從t=T到t=1反向依次計算.

第五層將第四層中的前向和后向單元的輸出作為輸入:

(16)

(17)

模型通過CTCLoss計算預測誤差.DeepSpeech使用Switchboard(SWB)數據集和Fisher(FSH)數據集進行訓練,數據集總時長為2300小時.模型通過數據并行和模型并行的方式訓練,能在數小時內完成2300小時的音頻數據的訓練,并在300小時的Switchboard的數據集上進行了評價,在Hub500S數據集上進行了測試.實驗結果表明在使用可比較的數據量進行訓練時,DeepSpeech與現有最佳ASR系統相比具有競爭力[2].另外DeepSpeech向Wall Street Journal(WSJ)數據集,Switchboard(SWB)數據集,Fisher(FSH)數據集和Baidu數據集加入噪聲,將加入噪聲后的數據集對模型進行訓練,并將所有數據重新采樣到16khz,數據集總時長超過10萬小時.DeepSpeech的測試結果表明,其在噪音環境下的識別率優于Bing,Apple等語音識別系統[2].

4.4 攻擊的有效性實驗結果分析

為了驗證本文提出的基于布谷鳥搜索算法的黑盒攻擊的有效性,在上述數據集上進行了語音的黑盒攻擊.初始化40個鳥巢,最大迭代次數設為3000,參數β設為2.當CTCLoss大于55時,采用布谷鳥算搜索法優化擾動.當CTCLoss小于55時,在布谷鳥算法的基礎上加入變異操作,變異率設為0.005.對于公共語音數據集和LibriSpeech數據集,分別從中隨機挑選50個訓練樣本生成對抗樣本.對于谷歌語音命令數據集,隨機挑選5個指令,在每個指令中隨機挑選10條作為訓練樣本.對于GTZAN數據集,隨機從5種風格的音樂樣本中隨機挑選10條,截取為5秒后作為訓練樣本.由于DeepSpeech模型的輸入為采樣率為16kHz的wav文件,因此將所選音頻樣轉化為采樣率為16kHz的wav格式的音頻文件.對于從每個數據集中隨機選出的50條樣本,隨機以10個音頻文件為1組,分成5組,共20組,分別設置不同的目標短語.為了模擬自動駕駛時的場景,對于從公共語音數據集,GTZAN音樂數據集和LibriSpeech語音數據集選出的15組樣本,將目標短語設置為“turn left”,“turn right”,“speed up”等自動駕駛時常用的短語.若在自動駕駛時,語音識別系統將“stop”識別為“go”,這很有可能帶來巨大風險,考慮到這個場景,將谷歌語音命令數據集的目標短語設置為與其相反的短語,如音頻的對應文本為“on”,則目標短語設置為“off”.另外,分別從4個數據集中,隨機挑選2個音頻文件作為樣本,每個樣本隨機設置10條不同的目標短語,分析攻擊效果.根據上述4個語音數據集的實驗結果分析本文攻擊方法的有效性.

圖2 DeepSpeech模型結構

定義攻擊成功,當生成的對抗樣本被識別為目標短語,則視為攻擊成功,否則失敗.表1列出了在各個數據集上的攻擊成功率,擾動的相對強度的平均值和對抗樣本與原音頻相似度的平均值.對比公共語音數據集,谷歌語音命令數據集和LibriSpeech數據集的結果可以發現,樣本詞長度越長,攻擊的成功率越低,所添加的擾動越大,對抗樣本與原音頻的相似度越小.而對谷歌語音命令數據集的高攻擊成功率可以反映出在自動駕駛領域,使簡單的指令誤識別為目標指令是相對容易的,對自動駕駛領域的語音控制系統的攻擊是存在較大可能性的.從擾動相對強度和平均相似度上可以發現,所添加擾動的相對強度小,對抗樣本與原音頻有著較高的相似度.對于GTZAN音樂數據集的成功攻擊反映出可以將目標短語嵌入到音樂中,而由于音樂能夠使人放松等特性,所加的噪聲將更難被發現.

表1 基于布谷鳥算法的黑盒攻擊方法在不同數據集上的攻擊情況

Table 1 Black-box attack based on cuckoo algorithm on different data sets

數據集樣本平均詞長目標短語平均詞長攻擊效果成功率相對擾動強度(dB)平均相似度公共語音數據集5.482.851.43%0.18493.07%谷歌語音命令數據集1.00188.57%0.10895.07%GTZAN數據集/3.645.71%0.25496.16%LibriSpeech數據集8.06235.71%0.24594.12%

本文比較了布谷鳥搜索算法與Taori[43]提出的遺傳算法的攻擊成功率,平均編輯距離和平均相似度.從上述4個數據集中,每個數據集隨機挑選50條音頻作為樣本,將目標短語設置為1000個最常用英語短語中詞長度為2的短語,每個樣本迭代3000代,分別用遺傳算法和布谷鳥搜索算法生成對抗樣本.如表2所示,本文提出的布谷鳥搜索算法的攻擊成功率和平均編輯距離要優于遺傳算法,但布谷鳥搜索算法生成的對抗樣本在平均相似度上低于遺傳算法.布谷鳥搜索算法的核心是萊維飛行和局部隨機游走,而遺傳算法的核心是種群間的交叉變異.相比于布谷鳥搜索算法,遺傳算法的種群間的交叉變異可以把添加的擾動限制在更小的范圍內.但通過萊維飛行和局部隨機游走,布谷鳥搜索算法可以搜索更大的空間,因此布谷鳥搜索算法的攻擊成功率要高于遺傳算法,但由于添加的擾動比遺傳算法大,因此平均相似度要略低于遺傳算法.

為進一步分析對抗樣本與原樣本之間的相似性,本文在每個數據集上,成功生成的對抗樣本中,隨機選取4條樣本進行比較,并將原始波形和對抗樣本波形疊加以可視化擾動.表3列出了所選的樣本的對應文本,目標短語,擾動相對強度等結果,為了比較所加的噪聲對原音頻的影響,將表3的結果用波形圖的形式呈現,如圖3~圖6所示.其中,表3中的音頻文件的命名只是為了與圖3~圖6中的波形圖對應,與樣本的選擇無關.如圖3~圖6所示,其中淺色波形表示原音頻,深色波形表示對抗樣本,將原音頻與對抗樣本疊加后進行比較.首先,從圖3~圖6可以發現所有擾動幾乎都加在原音頻波形幅值較小的位置,而這個部分通常被視為環境噪聲,這使所加擾動不易被發現.其次,從圖中可以發現,在音頻的語音部分,所加的擾動很小,因此此攻擊方法對音頻的語音部分的影響小,隱蔽性高.從圖5可以發現,對于GTZAN音樂數據集,所添加的擾動在各個位置的幅值都很小,這說明該攻擊方法對GTZAN音樂數據集的改動小,把指令嵌入到音樂中有極高的隱蔽性.

表2 布谷鳥搜索算法與遺傳算法比較

Table 2 Comparison of cuckoo search algorithms and genetic algorithms

數據集攻擊方法成功率平均相似度平均編輯距離公共語音數據集布谷鳥搜索算法45%93.07%1.6遺傳算法35%94.6%2.3谷歌語音命令數據集布谷鳥搜索算法92%94.86%0.12遺傳算法92%99.07%0.08GTZAN數據集布谷鳥搜索算法48%96.75%1遺傳算法48%99.16%1.26LibriSpeech語音數據集布谷鳥搜索算法34%92.84%10.1遺傳算法32%93.45%10.32

表3 原始音頻與對抗樣本相似度比較

Table 3 Similarity comparison between original audio and adversarial examples

數據集音頻文件對抗樣本原音頻對應文本目標短語擾動相對強度相似度1.wav1adv.wavthen I saw the way.start the engine0.10360.9143公共語音數據集2.wav2adv.wavshe half closed her eyes.0.21970.95753.wav3-1adv.wavno one notice herno one like her0.03610.95693-2adv.wavturn left0.12910.93664.wav4adv.wavnogo0.01310.9961谷歌語音命令數據集5.wav5adv.wavoff 0.01420.99246.wav6-1adv.wavoffyes0.01920.99456-2adv.wavok0.01260.99847.wav7adv.wav/turn off the air conditioner0.03410.9983GTZAN語音數據集8.wav8adv.wav/0.12960.99369.wav9-1adv.wav/slow down0.06420.96479-2adv.wavno one see her0.02890.998610.wav10adv.wavcomfortable dearturn left0.15160.9721LibriSpeech數據集11.wav11adv.wavvery characteristic perfectly tyfical0.25310.918312.wav12-1adv.wavyes not at all wellnot all bed0.07330.991912-2adv.wavthank you0.08590.9869

圖3 公共語音數據集的音頻文件與相應的對抗樣本的波形比較

圖4 谷歌語音命令數據集的音頻文件與相應的對抗樣本的波形比較

圖5 GTZAN音數據集的音頻文件與相應的對抗樣本的波形比較

圖6 LibriSpeech語音數據集的音頻文件與相應的對抗樣本的波形比較

進一步把在4個數據集上生成的對抗樣本的識別結果與目標短語進行比較,用編輯距離衡量對抗樣本與目標短語間的差距.如圖7所示,可以發現大部分樣本分布在編輯距離較小的這一側,說明即使攻擊失敗,但對抗樣本已經十分接近目標短語,只有少部分對抗樣本與目標短語相差很遠,若增加迭代次數,攻擊的成功率將會更高.

圖7 3000次迭代后樣本的編輯距離所占的比例

本文進一步在谷歌語音命令數據集上的命令做相互轉換.隨機選出10種指令,在每種指令中都隨機挑選10條作為原始音頻,將原始音頻的目標短語依次設置為其他9種指令.圖8比較的是在谷歌語音命令數據集上做命令相互轉換后的結果.由于語音命令是單個單詞,目標短語的長度也是單個單詞,與在另外三個語音數據集上的攻擊相比,攻擊的難度降低.可以發現不同的語音指令之間進行對抗攻擊的成功率很高.從現實角度看,在自動駕駛領域,這也說明語音識別控制系統是存在漏洞的.如簡單的“Stop”在加入擾動后就能被識別為“Go”,這將導致汽車識別錯誤的指令,造成危險.

4.5 參數敏感性

本文對布谷鳥搜索算法的關鍵參數鳥巢個數n和參數β進行研究,分別分析兩個參數對對抗樣本的影響,通過參數敏感性分析算法的穩定性.

圖8 谷歌語音命令數據集實驗結果

4.5.1 鳥巢個數對對抗樣本生成時間與相似度的影響

為了研究鳥巢個數對對抗樣本生成時間以及對抗樣本與原音頻相似度的影響,在不同的鳥巢個數下生成對抗樣本.從上述四個數據集中,每個數據集隨機挑選5條音頻作為樣本,在不同的鳥巢個數下生成對抗樣本,統計在不同鳥巢個數下生成對抗樣本的平均時間和平均相似度.實驗結果如圖9所示,對抗樣本的平均生成時間隨著鳥巢個數的增加而增加,因為鳥巢個數越大,計算機需要處理的數據越多,生成對抗樣本的時間會越長.鳥巢個數與平均相似度間沒有明顯的關系,但是注意到鳥巢個數設定為40時,平均相似度達到最大值.

4.5.2β值對相似度的影響

為了比較β值對對抗樣本相似度的影響,在不同的β值設置下,生成對抗樣本.從上述4個數據集中,每個數據集隨機挑選5條音頻作為樣本,在不同的β值設置下生成對抗樣本.迭代次數設置為500,使生成的樣本不能完全被解碼為目標短語.迭代次數設置較大時,對抗樣本可以成功生成,成功生成的對抗樣本間的迭代次數可能不同,所加的擾動大小會存在較大差異.為了只比較β對對抗樣本的影響,將迭代次數設為500,排除迭代次數不同而帶來的差異.從圖10可以發現,當β<1.8時,對抗樣本與原音頻間的相似度很低.β與萊維飛行的步長有關,其值越小,步長越大,對原音頻加的噪聲就會越大.一方面過大的噪聲使對抗樣本不具有隱蔽性,另一方面添加的噪聲過大會造成模型無法識別音頻,導致攻擊失敗.β=2時,步長很小,對原音頻添加的擾動就小,對抗樣本與原音頻的相似度就高.

圖9 鳥巢個數實驗結果

圖10 β值實驗結果

4.6 攻擊的遷移性

本文提出的基于布谷鳥搜索算法的黑盒攻擊生成的對抗樣本具有攻擊的遷移性.分別從公共語音數據集,LibriSpeech語音數據集,谷歌語音命令數據集和GTZAN數據集中隨機挑選50條音頻作為訓練樣本,對于GTZAN音樂數據集,對于每個樣本,截取其中的5秒作為訓練樣本.在DeepSpeech上生成對抗樣本.選取用來做攻擊的遷移性的語音識別模型為2016年,主要由Google的Deepmind團隊推出的一種用于生成音頻的深度神經網絡,WaveNet模型[5].WaveNet模型的主要成分是因果卷積,它利用卷積來學習t時刻之前的輸入數據,預測t+1時刻的輸出.雖然該模型是作為一種生成模型設計的,但通過在擴展后的卷積層之后添加平均池層,它可以直接適應諸如語音識別等區別于生成音頻的任務.將原音頻輸入WaveNet模型,計算對原音頻的識別率.由于對抗樣本是對DeepSpeech模型進行攻擊生成的,因此只在WaveNet上統計對抗樣本的識別率.對于識別率,定義如下:

(18)

只要WaveNet識別的對抗樣本與原音頻識別結果不同,就視為遷移成功.則遷移成功率:

(19)

表4是本文提出的基于布谷鳥搜索算法的黑盒攻擊生成的對抗樣本的遷移性實驗結果.從表4可以看出,WaveNet模型對對抗樣本的識別率相比原音頻的識別率下降了一半以上,而極高的遷移成功率說明了本文提出的黑盒攻擊方法產生的對抗樣本能極大的影響其他語音識別模型的識別結果.

表4 對抗樣本遷移性實驗結果

Table 4 Experiments on migration of adversarial examples

數據集原音頻識別率對抗樣本識別率遷移成功率公共語音數據集71.5%21.9%100%谷歌語音命令數據集78%14%92%GTZAN數據集//80%LibriSpeech數據集78.7%37.84%98%

4.7 主觀評價

為了驗證本文提出的基于布谷鳥搜索算法的黑盒攻擊生成的對抗樣本具有一定的隱蔽性,本文對生成的對抗樣本進行了主觀評價.從上述4個數據集中,每個數據集中隨機挑選5條音頻作為樣本,生成對抗樣本,共20條對抗樣本.在進行主觀評價的實驗中,一共召集了30個聽眾,他們都是浙江工業大學與語音識別領域、對抗攻防領域無關的在讀本科生.在安靜的教室使用揚聲器播放音頻,在聽完每個音頻后,每個聽眾將會做一些問答(如你聽到的音頻存在任何的噪聲嗎;若存在噪聲你認為噪聲來自哪里).為了更加接近現實環境,首先單獨播放了對抗樣本,因為一個攻擊者對語音識別模型進行攻擊時,只會通過對抗樣本對模型進行攻擊,不會播放原音頻,對于聽眾來說,原音頻是接觸不到的,因此通過對對抗樣本進行主觀評價來探究對抗樣本的隱蔽性.然后,將對抗樣本和原始音頻先后播放,打亂播放順序,即對于對抗樣本和原音頻,先播放哪一個是隨機的,以此探究對抗樣本與原音頻在聽覺上的差異性.同樣的,在聽完每對對抗樣本和原音頻后,每個聽眾同樣會做一些問答(如你聽到的前后樣本是否有差異;若有差異你認為差異來自哪里).圖11(a)是對對抗樣本進行主觀評價的結果;圖11(b)是在聽出對抗樣本中存在噪聲的聽眾中,對噪聲來自于哪里的主觀評價;圖11(c)是對抗樣本與原音頻相似性的主觀評價結果.從圖11(a)中可以發現大部分的聽眾未從音頻中發現噪聲,只有20%的聽眾認為音頻中有明顯噪聲;而從圖11(b)中可以發現在聽出噪聲的聽眾中,超過一半的聽眾認為噪聲來自于揚聲器;從圖11(c)中可以發現,認為對抗樣本與原音頻完全不同的聽眾低于15%.由此可以說明基于布谷鳥搜索算法的黑盒攻擊生成的對抗樣本不易引起聽眾的察覺,在聽覺上與原音頻相差不大,具有一定的隱蔽性.

圖11 對對抗樣本,對抗樣本中的噪聲以及對抗樣本與原音頻相似性的主觀評價結果

5 語音攻擊的魯棒性測試

對于本文提出的基于布谷鳥搜索算法的黑盒攻擊生成的對抗樣本,嘗試找到防御這類對抗攻擊的方法.針對擾動的分布特點,采用了兩種方法:重采樣和降噪.

為了更好的區分攻擊是否失效,從公共語音數據集中隨機挑選100個原始音頻樣本為大于6個詞以上的句子,生成對抗樣本的目標短語設為2個詞.將對抗樣本音頻的識別結果與目標短語結果不一致定為失效,則失效率:

(20)

將完全失效定義為處理后的對抗樣本識別結果的詞長度大于4且總字母數大于目標短語的總字母數,則完全失效率:

(21)

5.1 重采樣

從上圖3~圖6可以發現擾動幾乎在音頻的每個時刻都會出現.考慮到語音的識別是逐幀進行檢測的,具有連續性,通過實驗希望驗證擾動對于模型的攻擊是否是通過持續的干擾起到的作用.對此,對對抗樣本進行重采樣.

對抗樣本的音頻格式為采樣率16kHz的wav文件.首先,通過下采樣將其降為8kHz的音頻.下采樣是一個將音頻的采樣率降低的過程,設原始音頻格式的采樣率為Q,目標原始音頻的采樣率為P,則下采樣就是對于原始音頻中的采樣點每隔P/Q-1個取一次點,在本次實驗中,每隔一個采樣點取一個點.當下采樣完成時,與原對抗樣本相比,少了一半的采樣點.

通過插值法進行上采樣,將音頻重新通過兩個采樣點插值的方法重新擴為16kHz,這是為了符合語音識別模型的要求.重新擴充后的音頻文件與原對抗樣本相比,雖然每秒采樣點數相同,但其中一半的采樣點是通過重新插值而成,不再是原來的點.從表5中可以發現,重采樣的失效率較高,經過重采樣后的對抗樣本幾乎不能被識別為目標短語.但是重采樣的完全失效率較低,這說明黑盒攻擊雖然失效,但是其長度依然接近于目標短語的長度,也就是說語音識別模型依然把它識別為和目標短語相近的句子.從中可以發現由布谷鳥搜索算法得到的黑盒攻擊具有較強的魯棒性.

5.2 降噪

使用經典的譜減法[44]對包括擾動在內的所有噪聲進行降噪處理.譜減法假設的情況十分簡單,如果原音頻中只有加性噪聲時,用原始音頻的頻譜減去噪聲的頻譜,剩下的就是純粹的語音.將一段音頻的前5幀視為無語音的背景噪聲部分,將這5幀的噪聲進行取平均值,原音頻的各個部位都減去這個平均值.這個方法可以對音頻各個時間的噪聲都做出相減,在整體上對攻擊擾動進行干擾.

表5 不同防御方法的防御情況

Tabel 5 Defense situation of different defense methods

防御方法失效率(%)完全失效率(%)重采樣94%23%降噪100%100%

表5是降噪下對抗樣本的失效率和完全失效率.從結果來看,降噪法比起重采樣法對于對抗樣本的防御效果更強.因為相比于重采樣,降噪方法在整段音頻的各個位置上都做了處理,都減去了估計的噪聲.但是降噪法的不足在于對噪聲的估計是基于前幾幀估計的,這些噪聲的估計不足以表征各個位置所加噪聲的準確值.在整段音頻中,有些位置的噪聲去除的多了,有些位置未完全去除,這會造成原音頻的失真,去噪后的識別結果也變的不理想.

6 總 結

本文提出了面向語音識別系統的黑盒對抗攻擊方法,從實驗結果來看,本文提出的基于布谷鳥搜索算法的黑盒攻擊方法能夠攻擊語音識別系統,所產生的對抗樣本具有攻擊的遷移性.在實際應用中,如果攻擊者針對某一車載語音識別系統進行攻擊,所產生的對抗樣本會影響其他車載語音識別系統,這給車載語音識別系統帶來了安全隱患.針對這一問題,提出了兩個防御方法,并取得了一定的效果.我們希望本次設計的攻擊以及防御方法可以幫助研究者改善這方面的風險,提高車載語音識別系統的安全性.但是我們的攻擊方法存在著對抗樣本生成時間較長,攻擊的精度不夠高,對于對抗樣本的隱蔽性還有提高的空間等問題.所以在接下來的工作中,我們將測試更多語音識別模型,優化訓練方法,提高攻擊的效率和精度,進一步提高對抗樣本的隱蔽性.我們也希望找到這種攻擊方法的弱點,提出相應的防御方案,提高車載語音識別系統的安全性.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久中文无码精品| 亚洲三级成人| 自拍亚洲欧美精品| 婷婷色婷婷| 国产免费a级片| 国产一二三区在线| 国产福利免费视频| 精品久久香蕉国产线看观看gif| 夜夜拍夜夜爽| 草逼视频国产| 一级毛片免费不卡在线 | 美女亚洲一区| 久久不卡精品| 一本久道久综合久久鬼色| 又大又硬又爽免费视频| 国产成人福利在线| 黄色在线网| 中文无码日韩精品| 伦伦影院精品一区| 国产成人精品一区二区| 美女免费黄网站| 玖玖精品视频在线观看| 精品久久777| 国产成人精品一区二区三区| 午夜福利无码一区二区| 免费视频在线2021入口| 99草精品视频| 国产精品尤物在线| 五月激情婷婷综合| 中文字幕一区二区视频| 真实国产精品vr专区| 92精品国产自产在线观看 | 国产草草影院18成年视频| 动漫精品啪啪一区二区三区| 日日拍夜夜操| 91www在线观看| 亚洲男人的天堂久久香蕉网| 亚洲性一区| 国内精品小视频在线| 国产网站免费看| 91亚洲视频下载| 伊人91在线| 欧美人在线一区二区三区| 亚洲有无码中文网| 国产亚洲欧美在线人成aaaa| 欧美日韩精品一区二区视频| 国产欧美性爱网| 91色老久久精品偷偷蜜臀| 中文一级毛片| a色毛片免费视频| 中文字幕欧美日韩高清| 久久综合AV免费观看| 91久久天天躁狠狠躁夜夜| 午夜精品福利影院| 国产精品高清国产三级囯产AV| 国产一级毛片网站| 美女被操91视频| 中文字幕亚洲精品2页| 国产网友愉拍精品| 免费又黄又爽又猛大片午夜| 欧美影院久久| 国产精品一线天| 久久久无码人妻精品无码| 伊人久久久久久久| 免费毛片全部不收费的| 国产流白浆视频| 亚洲第一天堂无码专区| 亚洲人人视频| 国产精品尤物铁牛tv | 国产熟睡乱子伦视频网站| 免费在线a视频| 国产黄色爱视频| 国产无码网站在线观看| 一区二区三区国产精品视频| 伊伊人成亚洲综合人网7777| 亚洲国产系列| 国产日韩欧美在线播放| 真人免费一级毛片一区二区| 无码久看视频| AV网站中文| 真人免费一级毛片一区二区 | 中文字幕有乳无码|