張 強 楊吉斌 張雄偉 曹鐵勇 李毅豪
(陸軍工程大學指揮控制工程學院 南京 210007)
在過去幾十年里,環境聲音分類(Environmental Sound Classification, ESC)在音視頻審查、安全監控、自動駕駛等許多應用中發揮著越來越重要的作用。ESC50[1], UrbanSound8K[2]和Audio Set[3]等音頻數據集的出現促進了ESC研究的進一步發展,基于深度學習的分類方法[4-8]逐漸成為該領域的主流方法。然而,基于深度學習的ESC模型很容易受到來自對抗樣本的攻擊[9],產生誤判。
目前ESC模型防御對抗樣本攻擊的方法可以分為主動防御、被動防御兩類。主動防御方法在訓練階段使用對抗樣本、噪聲樣本等[10-12]增強樣本對模型進行訓練,增強模型自身的魯棒性。被動防御方法在測試階段檢測或者破壞對抗樣本,降低對抗樣本攻擊模型的可能,使用的檢測手段包括與類別相關的對抗樣本檢測器[13],使用的破壞手段包括添加噪聲、重采樣、壓縮等[14]。但目前的ESC防御只能抵御訓練中使用的特定類型攻擊,對未見過的其他類型攻擊依然很脆弱[15],并且會降低模型在真實樣本上的性能表現。
作為一種對抗博弈模型,生成對抗網絡(Generative Adversarial Networks, GAN)被廣泛應用在防御對抗樣本攻擊的研究中。基于GAN的主動防御方法利用生成器產生對抗樣本對分類模型進行訓練[16-19]。基于GAN的被動防御方法利用生成器對輸入進行重構,以消除對抗性擾動;或者利用判別器來檢測輸入是否是對抗樣本[20,21]。然而目前該類方法生成的對抗樣本攻擊性能較弱,需要單獨訓練分類模型,資源與時間消耗較大,不利于進一步提高模型防御對抗樣本攻擊的能力。此外,增強特征判別性有利于提升分類模型的對抗魯棒性[22,23],但僅僅通過判別性訓練得到的分類模型防御對抗樣本攻擊的表現并不理想。
為改善ESC模型防御對抗攻擊的性能,本文從系統防御的角度出發,基于GAN實現了一種結合主動防御、被動防御和判別性特征學習的組合對抗防御方法。該方法基于GAN框架同時對ESC模型和對抗樣本檢測器(Adversarial Example Detector,AED)進行對抗訓練,并將判別性損失函數引入ESC模型的訓練中;測試時,只有通過AED檢測的對抗樣本才能進入ESC模型進行分類處理。與使用單一防御方法相比,該方法能夠同時增強模型自身的對抗魯棒性、降低模型被攻擊的可能,更有利于提高ESC模型防御對抗樣本攻擊的能力。實驗表明,該方法能夠在不同的ESC模型上,針對不同攻擊類型和不同的攻擊場景,實現可靠的對抗攻擊防御。本文的主要貢獻如下:
(1)所提方法基于GAN框架生成對抗樣本,對ESC模型和判別器一起實施對抗訓練,同時將判別器作為AED使用,實現了對抗訓練和對抗檢測的組合,利于提升ESC模型的對抗魯棒性,以及AED鑒別真假的能力。同時,該方法無需對每個類別單獨訓練一個檢測器,有利于提高訓練效率。
(2)所提方法將判別性損失函數用于ESC模型的對抗訓練,能夠增強模型學習到的特征的判別性,進一步提高ESC模型的對抗魯棒性。此外,使用欺騙損失、對抗損失和對抗樣本多樣性損失的組合損失函數訓練GAN的生成器,能夠生成類型多樣、攻擊能力強的對抗樣本,有利于訓練得到對抗魯棒性更好的ESC模型和鑒別性能更強的AED。
(3)在不同ESC數據集和模型上的綜合防御對比實驗表明,該方法可以有效提高ESC模型防御對抗樣本攻擊的能力。同時,實驗表明,該方法中的對抗訓練、對抗檢測、判別性特征學習在提升模型防御性能方面的作用是互補的,并且所提方法不存在混淆梯度假象[24]。
在ESC模型的主動防御方法中,Esmaeilpour等人[10]通過增強特征的魯棒性來改善分類模型的對抗魯棒性。他們采用取對數、顏色補償、高通濾波、奇異值分解、卷積去噪平滑等方法對音頻信號的離散小波變換(Discrete Wavelet Transformation, DWT)譜圖進行預處理,使用加速魯棒特征算法、Kmeans++算法提取預處理DWT譜圖的特征,最后使用提取的特征來訓練分類模型。該方法數據處理方式復雜,并且在提升模型對抗魯棒性方面的表現并不理想。其他學者則重點關注采用不同的方法生成對抗樣本,將對抗樣本和真實樣本一起作為輸入,對分類模型進行對抗訓練。比如Olivier等人[11]認為高頻對抗性擾動是產生對抗樣本的關鍵因素。因此,他們使用高斯噪聲的移動平均差分(Moving Average Difference, MAD)模擬高頻對抗性擾動,并將擾動與真實樣本相加得到對抗樣本。Sallo等人[12]使用快速梯度符號法(Fast Gradient Sign Method, FGSM)[25]生成對抗樣本。該類方法生成的對抗樣本攻擊性能較弱,訓練得到的模型依然容易被其他類型、攻擊性能更強的對抗樣本攻擊,很難防御基于迭代的白盒攻擊[24]。
在ESC模型的被動防御方法中,Esmaeilpour等人[13]發現在廣義舒爾分解向量空間中,同一類的真實樣本和其對應的對抗樣本的特征值之間的弦距離較遠。因此,他們在同一類的真實樣本和其對應的對抗樣本上,使用邏輯回歸訓練一個二值分類器,以區分真實樣本和對抗樣本。對于多類別數據集,該方法需要訓練多個二值分類器,復雜度較高。同時,對于類內相似性較小的類別,該方法鑒別真實樣本和對抗樣本的性能并不理想,很難適用于數據分布復雜的多類別數據集。此外,Subramanian等人[14]實驗驗證了在測試階段,將樣本進行加噪、編解碼等處理后再輸入分類模型,也可以防御針對ESC模型的對抗樣本攻擊。
研究者首先在計算機視覺領域,開展了如何借鑒GAN的生成對抗思想來防御對抗樣本攻擊的探索。在主動防御方面,一些學者將生成器(Generator, G)與分類模型納入同一個對抗訓練框架中,以真實樣本,以及G生成的對抗樣本一起作為輸入,對分類模型進行訓練,只是G的輸入不同。比如,Lee等人[16]將分類模型的分類邏輯值對真實樣本的梯度作為G的輸入,這導致G的參數更新依賴分類模型的參數更新,更新過程較復雜。Jang等人[17]以原始樣本、樣本標簽、高斯噪聲、上一輪迭代產生的擾動,以及分類損失對真實樣本的梯度作為G的輸入,依然存在G的參數更新過程復雜的問題。Wang等人[18]將G的輸入簡化為真實樣本,但生成的對抗樣本缺乏多樣性、攻擊性能較弱。此外,孔銳等人[19]使用CW[26]、隨機梯度下降(Project Gradient Descent, PGD)[27]等多種方法生成的對抗樣本代替真實樣本作為輸入,來訓練預設的分類模型。在測試時,使用預設模型代替原來的分類模型對輸入進行分類。該方法需要訓練額外的預設模型,通用性不強,消耗的資源較多。雖然上述方法通過對抗訓練來強化分類模型自身的對抗魯棒性,但不能鑒別并拒絕對抗樣本以減少被攻擊的可能性。在被動防御方面,Samangouei等人[20]提出稱為防御GAN的方法。該方法利用基于GAN的對抗訓練,使G學習如何將隨機噪聲映射到真實樣本。測試時,利用G生成一個與輸入樣本相似的重構樣本。該方法為了對重構樣本進行分類,需要單獨訓練分類模型,消耗較多的資源與時間[19]。此外,該方法很容易被白盒攻擊打破[24]。在說話人驗證領域,Wu等人[21]利用平行波形GAN對輸入樣本進行重構,通過比較輸入樣本、重構樣本與注冊樣本之間相似性的差異,來鑒別輸入樣本是否是對抗樣本。但是,Lan等人[28]指出,該方法仍然會影響模型對真實樣本的驗證性能。
已有研究表明,使分類模型進行判別性特征學習,有利于增強其自身魯棒性。Agarwal等人[22]初步分析驗證了中心損失函數[29]與Softmax損失函數一起監督模型訓練,可以提高分類模型的對抗魯棒性。Mustafa等人[23]提出了一種基于深度判別性監督的訓練方法。該方法將判別性損失函數(比如中心損失函數、三元組損失函數[30]、原型一致性損失函數[23])與Softmax損失函數結合使用,計算模型的隱層和輸出層損失,共同監督模型訓練,增強其對抗魯棒性。但是,在上述方法中,三元組損失函數需要篩選訓練樣本,篩選樣本的質量會影響模型的對抗魯棒性。中心損失函數和原型一致性損失函數需要和Softmax損失函數一起使用,增加了計算成本。張強等人[31]提出的余弦相似性Softmax(Cosine Similarity Softmax, CS-Softmax)損失函數,單獨使用就可以增強模型學習到的特征的判別性,不僅不需要篩選樣本,也減少了計算成本,更適用于模型的判別性特征學習,增強模型的對抗魯棒性。
本節首先介紹ESC組合對抗防御方法總體框架,然后介紹聯合對抗訓練采用的損失函數。
所提ESC組合對抗防御方法總體框架如圖1所示。圖1(a)是該方法在測試時,集成了AED的ESC處理流程圖。將環境聲音信號的幅度譜樣本x輸入給AED, AED輸出其為真實樣本的概率。只有當概率大于檢測閾值(Threshold, TR)時,AED將x判為真實樣本,允許其輸入ESC模型進行分類判決。否則,判斷為對抗樣本,并拒絕其進入ESC模型。圖1(b)是該方法在訓練時,AED和ESC模型聯合對抗訓練示意圖,其利用GAN同時對AED和ESC模型進行對抗訓練。AED作為GAN的判別器使用。
圖1 ESC組合對抗防御方法總體框架
在GAN中,G以真實環境聲音信號的幅度譜樣本x和變量z為輸入,輸出擾動δ=G(x,z)。其中,z~N(0,I)是為增加生成對抗樣本的多樣性而引入的隨機變量,其符合標準正態分布。z允許G通過各種優化路徑生成多樣化的擾動,從而獲得多樣化的對抗樣本來訓練ESC模型,使得ESC模型對各種對抗樣本攻擊變得更加魯棒。將擾動δ與x相加得到對抗樣本幅度譜xadv,即
與基本的GAN不同,所提方法中使用ESC模型F來判斷xadv的類別,使用隨機變量z來生成多樣化的擾動,共同指導G生成攻擊能力強、類型多樣的對抗樣本對F進行對抗訓練。與其他基于GAN的對抗防御方法不同,訓練中將AED作為GAN的判別器,與F一道進行訓練。以上闡述假定ESC模型以音頻信號的幅度譜為輸入,但值得注意的是,所提方法也適用于以音頻波形為輸入的ESC模型。此時,只需利用短時傅里葉逆變換將幅度譜轉換為波形,并依據ESC模型對輸入的波形進行相應處理即可。因此,在使用GAN對不同ESC模型進行對抗訓練時,不需要改變G的網絡結構。
在對抗訓練過程中,ESC模型、AED和G分別使用分類損失LF、對抗樣本檢測器損失LD和生成器損失LG進行訓練。將判別性損失函數引入LF的設計,使ESC模型進行判別性特征學習。
3.2.1 分類損失LF
訓練ESC模型時,使用CS-Softmax損失函數來增強模型的對抗魯棒性。CS-Softmax是一種判別性損失函數。考慮類別為i的樣本x,ESC模型以其為輸入,輸出特征e,利用式(2)計算e與第k類分類器權重向量wk的余弦相似性sk。
其中,C是樣本類別數。e與wi的余弦相似性si稱為類內相似性,與wj(j ?=i) 的相似性sj稱為類間相似性。和普通的Softmax損失函數僅追求最小化類間和類內相似性的差值sj-si(即僅追求增加類間遠離性)不同,CS-Softmax損失函數通過分別優化類內相似性和類間相似性,同時追求增加類間遠離性和類內緊湊性。其公式為
其中,λ是尺度因子,m是縮放因子。類內相似性si的優化目標為1,類間相似性sj的優化目標為0,即同類特征要高度正相關,而異類特征不相關[31]。
在對抗訓練中,向ESC模型分別輸入真實樣本和對抗樣本,其損失函數LF為
其中,LCS(x),LCS(xadv)分別是真實樣本和對抗樣本的分類損失,q是權衡兩者之間重要性的超參數,經驗地設置為0.5。由于LF同時考慮真實樣本和對抗樣本的損失,學習到的決策邊界更加接近樣本的真實分布邊界。
3.2.2 AED損失LD
其中,AED(x),AED(xadv)∈[0,1]表示AED將輸入x或xadv判斷為真實樣本的概率。最小化LD,相當于追求 AED(x) 接近于1,AED(xadv)接近于0,即提升AED正確區分x和xadv的能力。
3.2.3 生成器損失LG
本文希望G既能夠學習真實樣本的分布,又能夠生成攻擊能力強、類型多樣的對抗樣本來訓練AED和ESC模型,這更有利于使AED和ESC模型學習到更加豐富的數據分布信息,以提高AED鑒別真假的能力,以及ESC模型的對抗魯棒性。所以,G的損失函數LG采用由鑒別損失Ldis、對抗損失Ladv和對抗樣本多樣性損失Ldiv構成的組合形式,如式(6)所示。
其中,α,β,γ是衡量這3個損失相對重要性的權重。
(1)鑒別損失Ldis。Ldis衡量G學習真實樣本分布的能力,應能使G學習的對抗樣本分布更加接近真實樣本分布,為AED的訓練提供逼真的對抗樣本,欺騙AED的能力更強。Ldis的計算公式為
可以看出,最小化Ldis等價于使 AED(xadv)接近于1,這本質上是引導對抗樣本分布模擬真實樣本分布,以生成對AED欺騙性能更強的對抗樣本。
(2)對抗損失Ladv。Ladv衡量對抗樣本攻擊ESC模型的能力,應能夠度量對抗樣本的參考標簽與真實標簽之間的區別。直觀地,使用ESC模型對xadv的預測邏輯值之間的差異來定義Ladv,計算公式為
其中,y是x的真實標簽,y*是不同于y的參考標簽。l=(l1,...,lj,...,lC)是ESC模型關于對抗樣本的預測邏輯值向量,lj表示對抗樣本屬于第j類的可能性。可以看出,最小化Ladv鼓勵ESC模型將對抗樣本判斷為參考標簽y* ,并且屬于類y*的可能性至少比屬于真實類別的可能性大n。實驗中,n經驗地設置為10。
(3)多樣性損失Ldiv。雖然本文在G的輸入中引入隨機變量z,希望G采樣不同的z產生多樣化的隨機輸出,但是在G訓練過程中,容易出現模式坍塌問題[32]。因此,將Yang等人[33]提出的增強G的輸出對隨機變量z敏感度的方法運用于Ldiv的設計,來增強對抗樣本的多樣性,計算公式為
觀察式(9)可知,當G坍塌到單一模式時,僅基于x生成的擾動近似相等,即G(x,z1)≈G(x,z2),?z1,z2∈N(0,I) 成立,此時Ldiv接近其最大值0。通過最小化Ldiv,強制G根據不同的隨機變量z生成不同的輸出,增加擾動的多樣性。
通過上述3個損失函數的線性組合,LG期望G既能學習到樣本特征的真實分布,又能生成攻擊性強、類型多樣的對抗樣本,以保證訓練得到的AED鑒別能力更強,ESC模型對抗魯棒性更強。若α過高,β和γ過低,雖然G生成的對抗樣本更容易欺騙AED,但攻擊性變弱、多樣性不足,造成ESC模型的對抗魯棒性不佳。同理,若β和γ過高,α過低,雖然生成的對抗樣本攻擊性變強、多樣性增加,但由于未能充分學習到樣本特征的真實分布,造成AED對真實樣本的鑒別能力變弱,從而也會影響ESC模型的分類性能。實驗中,這3個超參數均經驗地設為1。
為了評估所提方法的有效性,選取典型的環境聲音數據集ESC50[1]和UrbanSound8K[2]作為實驗數據集,并將數據重采樣至16 kHz,保留單聲道。數據集簡要信息如表1所示。
表1 典型ESC數據集簡要信息
選取經典的SoundNet8[5], VGGish[6], EnvNetv2[7], GoogLeNet[34], AlexNet[35], ResNet18[36]模型作為分類模型。各模型訓練方式如下:與Aytar等人[5]保持一致,截取長度為1 s的音頻片段(不足1 s的樣本通過復制-拼接-截取的方式補足1 s)作為輸入,以預訓練的SoundNet8模型作為骨干網絡提取特征,并使用LeNet[37]模型作為后端分類器,對特征進行分類,批大小為32。與Hershey等人[6]保持一致,截取0.96 s的音頻片段,并使用短時傅里葉變換(Short Time Fourier Transformation, STFT)計算其幅度譜特征(256×64,幀×頻率段)作為輸入,訓練VGGish模型,批大小為32。與Tokozume等人[7]保持一致,截取1.6 s的音頻波形片段作為輸入,訓練EnvNet-v2模型,批大小為32。對于GoogLeNet,AlexNet, ResNet18模型,參考Sallo等人[12]的工作,截取4 s的音頻片段,使用STFT計算其幅度譜特征(256×256,幀×頻率段),復制并堆疊成形狀為3×256×256(卷積通道×幀×頻率段)的特征作為輸入,對模型進行訓練,批大小為128。在訓練上述模型時,使用SGD優化器、Softmax損失函數,訓練150輪。VGGish模型的全連接層和最后一個卷積層,初始學習率設為0.01,其余各層初始學習率設為0.001;其余分類模型,初始學習率均設為0.01。在第40, 80和120輪,學習率降為之前的0.1倍,權重衰減設為0.000 1。各模型分類準確率如表2所示。
表2 不同模型在典型ESC數據集上的分類準確率(%)
(1)GAN的網絡結構。G采用基于U-Net結構的卷積編解碼網絡,AED采用類似VGG[6]的網絡結構,具體結構信息見https://github.com/zhangtzq/CADefense-ESC。G以幅度譜圖x和隨機變量z在卷積通道維度上的拼接作為輸入,輸出擾動δ。將δ與x疊加得到對抗樣本幅度譜xadv。AED以x或xadv作為輸入,輸出樣本為真實樣本的概率。其中,x是利用STFT對長度為1.6 s的音頻片段進行變換,得到的幅度譜圖(256×100,幀×頻率段)。z的形狀與x一致。
(2)參數設置。G和AED使用Adam優化器訓練80輪,初始學習率設置為0.001,每10輪減少為原來的一半,權重衰減設置為0.000 1,1階矩估計和2階矩估計分別設為0.6和0.9。ESC模型使用SGD優化器訓練80輪,初始學習率為0.01,在第20, 40和60輪,降為之前的0.5倍,動量為0.9,權重衰減為0.000 1。批大小設為64。CS-Softmax損失函數的超參數設置參照原始文獻[31],縮放因子m設為0.1,尺度因子λ設為2。AED的TR設為0.5。此外,本文在消融實驗部分,探究了TR對所提方法性能的影響。
(3)度量標準。本文使用模型在對抗樣本上的分類準確率來衡量模型的對抗樣本防御能力。此外,也列出了模型面對各種攻擊時的最低分類準確率來衡量模型在最壞情況下的對抗樣本防御能力[38]。
首先在白盒攻擊、自適應白盒攻擊和黑盒攻擊條件下,分別評估了所提方法的對抗樣本防御能力。在白盒攻擊中,攻擊者擁有模型的參數、結構等信息,并默認使用Softmax損失函數作為模型的分類損失來構造對抗樣本。與白盒攻擊唯一不同的是,自適應白盒攻擊使用分類模型訓練時采用的損失函數來生成對抗樣本。由于該攻擊知道模型的更多信息,其攻擊能力通常比白盒攻擊更強。在黑盒攻擊中,攻擊者在不知道被攻擊模型參數、結構等信息的條件下生成對抗樣本,并在測試時向其輸入對抗樣本。最后,分析了經所提方法訓練的AED和ESC模型的收斂性能。
4.3.1 白盒攻擊威脅
在UrbanSound8K數據集上,以GoogLeNet,AlexNet為ESC模型,在白盒攻擊條件下,將所提方法與已有ESC防御方法[11,12,14]的性能進行對比。為了公平對比,采用與原始文獻相同的方法復現相關ESC防御工作。對于MAD[11],用于增強真實樣本的高斯噪聲的標準差設為0.15。對于基于FGSM的對抗訓練防御方法[12],設置擾動閾值ε=0.02。對于在測試時向輸入樣本添加白噪聲(White Noise Addition, WNA)的方法,噪聲大小設為20 dB。為了驗證各種方法的防御效果,使用FGSM, CW,PGD和基本迭代法(Basic Iterative Method, BIM)[39]等4種攻擊方法對原始ESC模型和經過防御的ESC模型進行攻擊實驗。這4種攻擊方法均基于Torchattacks庫[40]實現。其中,FGSM, BIM和PGD的擾動閾值設為0.02。BIM和PGD的迭代次數設為100,迭代步長設為0.002。CW的迭代次數設為1 000,學習率lr設為0.01,箱式約束c設為1。各種防御方法的性能表現如表3所示。其中,各種攻擊方法對應的最高分類準確率用粗體標注,Nature表示僅使用Softmax損失函數訓練的原始模型。
表3 在UrbanSound8K數據集上不同防御方法在白盒攻擊場景下的性能比較(%)
觀察可知,與已有工作[11,12,14]相比,采用所提方法得到的ESC模型,不僅在真實樣本上具有更高的分類準確率,而且在各種攻擊條件下也可以保持較高的分類準確率。同時,經所提方法防御的GoogLeNet, AlexNet模型在最差情況下(對應“最小值”一行),對應的分類準確率依然比其他表現最好的方法(MAD)高16.7%和19.7%。
4.3.2 自適應白盒攻擊威脅
在自適應白盒攻擊場景中,攻擊者通過最大化ESC模型訓練用的CS-Softmax損失函數,來生成對抗樣本。表4展示了不同攻擊方法在Urban-Sound8K數據集上,對經過所提方法防御的ESC模型的自適應白盒攻擊結果。除最大化的損失函數不同外,FGSM, BIM, PGD, CW方法設置與4.3.1節相同。對比表4和表3可知,在自適應白盒攻擊設置下,所提方法對應ESC模型的分類準確率幾乎沒有下降。同時,不論采用何種攻擊方法,所提方法對應ESC模型的分類準確率依然高于其他方法對應模型的分類準確率,展現出更強的對抗樣本防御能力。
表4 在UrbanSound8K數據集上所提方法在自適應白盒攻擊場景下的性能表現(%)
4.3.3 黑盒攻擊威脅
研究表明,對抗樣本攻擊在不同模型之間具有遷移性[41]。因此采用遷移攻擊對經所提方法防御的ESC模型進行黑盒攻擊測試。實驗以ResNet18為代理模型,在ESC50數據集上,使用FGSM, BIM,PGD, CW方法生成對抗樣本,并攻擊經過各種方法防御的SoundNet8, VGGish和EnvNet-v2模型。其中,作為對比的防御方法包括基于PGD, CW的對抗訓練防御。FGSM, BIM, PGD, CW方法設置與4.3.1節相同。各種防御方法在黑盒攻擊下的性能表現如表5所示。觀察可知,在黑盒攻擊下,所提方法對應的ESC模型的分類準確率仍高于其他方法對應模型的分類準確率,展現出更強的對抗樣本防御能力。同時,在最壞情況下,所提方法對應的SoundNet8, VGGish和EnvNet-v2模型的分類準確率要比經過PGD對抗訓練防御的對應模型的分類準確率分別高13.7%, 14.3%和12.1%。
表5 在ESC50數據集上不同防御方法在黑盒攻擊場景下的性能比較(%)
4.3.4 所提方法收斂性能分析
在UrbanSound8K數據集上,以EnvNet-v2為ESC模型,分析了所提方法在訓練過程中,AED和ESC模型的損失值隨訓練迭代次數的變化趨勢,結果如圖2所示。觀察可知,總體趨勢上,AED和ESC模型的損失持續下降,并且隨著訓練的進行,下降趨勢由快變慢。同時,相鄰迭代輪次的損失存在較大抖動,即使在訓練后期依然比較顯著。這種抖動是由G和AED、ESC模型在訓練時相互對抗導致的,在整個訓練過程中都存在。但經過訓練,AED和ESC模型的真假鑒別能力和防御對抗樣本攻擊的能力都得到了提高,損失的整體趨勢保持下降。
圖2 經所提方法訓練的AED和ESC模型損失值隨迭代次數的變化
本部分著重研究了判別性特征學習、對抗訓練、AED、檢測閾值TR對所提方法性能的影響。
4.4.1 判別性特征學習、對抗訓練和AED對所提方法性能的影響
在ESC50數據集上,對GoogLeNet, AlexNet模型采用不同的攻擊和防御方法,對比分析了判別性特征學習、對抗訓練和AED這3個要素對所提方法性能的影響,實驗結果如圖3所示。采用的PGD,CW攻擊方法設置與4.3.1節相同。從圖3可以看出:
圖3 所提方法中不同要素組合對應的模型分類準確率(%)
(1)使用對抗訓練,會降低無攻擊條件下模型對真實樣本的分類準確率[42],但可以大幅提升模型對各種攻擊的防御能力。同時,不論是否使用判別性特征學習,模型經過對抗訓練后的防御性能都顯著高于無對抗訓練時的防御性能:無AED條件下,ESC模型在PGD, CW攻擊下的平均分類準確率分別提升54.3%和53.1%;有AED條件下,ESC模型在PGD, CW攻擊下的平均分類準確率分別提升27.0%和24.9%。對抗訓練在無AED時的防御增益效果更為明顯,本文認為這是因為在無AED條件下,對抗訓練對模型的防御性能增益作用得到了充分的發揮;而在有AED條件下,由于AED會檢測并拒絕部分對抗樣本進入ESC模型,對抗訓練對模型的防御性能增益作用未能得到充分發揮。
(2)使用判別性特征學習,不僅可以提升無攻擊條件下ESC模型對真實樣本的分類準確率,也可以提升其對各種攻擊的防御能力。不論是否使用對抗訓練,模型經過判別性特征學習后的防御性能都要好于不使用判別性特征學習時的防御性能:無AED條件下,ESC模型在PGD, CW攻擊下的平均分類準確率分別提升7.7%和8.4%;有AED條件下,ESC模型在PGD, CW攻擊下的平均分類準確率分別提升8.4%和8.3%。通過對比可以發現,判別性特征學習提升模型防御性能的表現遠不如對抗訓練。本文認為這是因為:在未經過對抗訓練的情況下,模型學習到的決策邊界與特征的真實分布邊界存在較大偏差。雖然判別性特征學習可以學習到類內更加緊湊、距離決策邊界更遠的特征,但是這些特征可能仍然距離特征的真實分布邊界較近,很容易被攻擊。而對抗訓練可以使模型學習到的決策邊界更加接近特征的真實分布邊界,使得經過對抗訓練后的模型不容易被成功攻擊。
(3)不論是哪種ESC模型,使用AED均有助于提升無攻擊條件下模型對真實樣本的分類準確率。同時,在不同的要素組合和對抗攻擊條件下,使用AED也均有助于提升模型對各種攻擊的防御能力。
(4)結合了判別性特征學習、對抗訓練和AED的組合對抗防御方法取得了最佳的對抗樣本防御能力。本文認為對抗訓練、對抗檢測和判別性特征學習這3者的作用是互補的。對抗訓練使ESC模型學習到的決策邊界更加接近特征的真實分布邊界,減少了對抗樣本存在的空間。此時,判別性特征學習使ESC模型學習到的特征分布類內更加緊湊,距離決策邊界更遠,距離特征的真實分布邊界也更遠,要實施成功攻擊所需的擾動強度也更大,模型防御對抗樣本攻擊的能力進一步增強。而AED可以鑒別并拒絕部分對抗樣本進入ESC模型,有利于減少ESC模型受攻擊的可能,增強模型防御對抗樣本攻擊的能力。與無任何防御的模型的分類準確率相比,結合了3者的組合對抗防御方法對應的模型在PGD攻擊條件下的分類準確率提升了63.8%(Goog-LeNet)和64.1%(AlexNet),在CW攻擊條件下的分類準確率提升了63.3%(GoogLeNet)和64.3%(AlexNet)。
4.4.2 檢測閾值對所提方法性能的影響
在UrbanSound8K數據集上,采用PGD方法對SoundNet8模型進行攻擊,分析不同TR對所提方法性能的影響。PGD方法設置與4.3.1節相同。表6展現了在不同TR下,AED的對抗樣本檢測正確率、真實樣本檢測正確率,以及ESC模型對真實樣本和對抗樣本的分類準確率。觀察可知,隨著TR的增加,AED的對抗樣本檢測正確率不斷提高,但真實樣本檢測正確率不斷降低,而當TR=0.5時,ESC模型對真實樣本和對抗樣本的分類準確率最高,取得了最佳防御性能。本文認為,隨著TR的增加,ESC模型對真實樣本和對抗樣本的分類準確率均呈現先增后減的原因主要在于:在AED損失LD中,AED(x) 和AED(xadv)的學習目標分別是1和0,它們二者的判決中值為0.5。因此在實際檢測時,當TR>0.5時,未被檢測出來的對抗樣本滿足AED(xadv)>0.5,更相似于真實樣本,這種欺騙性更強的樣本對ESC模型的攻擊性也更強,容易造成ESC模型的誤分類;而AED檢測真實樣本的錯誤率增加,使得能夠進入ESC模型進行分類處理的真實樣本數減少,ESC模型對這些真實樣本的分類準確率會有波動甚而會小幅下降。
表6 檢測閾值對所提方法防御性能的影響
已有研究表明,部分防御方法會呈現出虛假的對抗樣本防御能力,在特定白盒攻擊條件下失去作用[24],這種現象被定義為梯度混淆。本節實驗驗證所提方法是否存在梯度混淆現象。
(1)對模型實施迭代攻擊的性能優于單步攻擊。在ESC50和UrbanSound8K數據集上,在白盒攻擊設置下,研究了經過所提方法防御的VGGish模型在不同擾動幅度ε的迭代攻擊(BIM, PGD)和單步攻擊(FGSM)條件下取得的分類準確率,結果如圖4所示。除ε外,BIM, PGD, FGSM方法設置與4.3.1節相同。觀察可知,當擾動大小相同時,在任何數據集上,迭代攻擊方法對應的模型分類準確率下降均更為顯著。這說明,在攻擊所提方法防御的模型時,迭代攻擊的攻擊性能優于單步攻擊。
(2)增加攻擊的擾動幅度會降低防御的魯棒性。觀察圖4可知,不論采用何種攻擊方法,隨著擾動幅度逐步增加,被攻擊模型的分類準確率越來越小。這說明,增加攻擊的擾動幅度之后,攻擊方法的成功率逐漸增加,經所提方法防御的模型對攻擊的魯棒性逐漸降低。
(3)模型對黑盒攻擊的魯棒性高于白盒攻擊。在白盒攻擊中,攻擊者完全了解模型,因此更容易成功實施攻擊。如果防御不受混淆梯度的影響,則模型對白盒攻擊的魯棒性應低于黑盒攻擊,即白盒攻擊下的模型分類準確率應低于黑盒攻擊下的模型分類準確率。在ESC50數據集上,對SoundNet,VGGish, EnvNet-v2模型進行了白盒攻擊實驗,結果如表7所示。對比表5和表7所提方法對應模型分別在黑盒和白盒攻擊條件下的分類準確率,可以發現,所提方法符合這條性質。綜上,所提方法不受混淆梯度影響。
表7 在ESC50數據集上所提方法在白盒攻擊場景下的性能表現(%)
為了增強ESC模型防御對抗樣本攻擊的能力,本文提出了一種結合了判別性特征學習、對抗檢測和對抗訓練的ESC組合對抗防御方法。該方法集成了對抗檢測和對抗訓練的優勢,只有通過對抗檢測的樣本才能輸入經過對抗訓練的ESC模型進行分類。通過基于GAN的對抗訓練,同時優化AED和ESC模型。此外,從優化模型學習到的特征分布的角度出發,在對抗訓練中引入判別性特征學習,進一步增強模型的防御能力。在典型ESC數據集上開展了大量的白盒攻擊、自適應白盒攻擊和黑盒攻擊對比實驗。實驗結果表明,與其他防御方法相比,在多種典型方法的攻擊下,所提方法依然可以保持較高的分類準確率,進一步提升ESC模型防御對抗樣本攻擊的能力。同時,通過實驗驗證了所提方法防御對抗樣本攻擊的魯棒性不是由混淆梯度造成的。因此,所提方法可以為針對深度網絡的對抗樣本攻擊提供顯著的安全性。雖然所提方法在不同攻擊場景下,對各種攻擊展現出較好的防御能力,但在實驗中需要通過網格搜索這一經驗做法來選擇超參數,這限制了所提方法性能的進一步提高。下一步,將通過超參數自適應搜索等方式來優化超參數的設置,并進一步探索所提方法在說話人驗證等音頻分類任務上的通用性與有效性。