劉佳瑋,張文輝,寇曉麗,李雁妮
(西安電子科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安 710071)
近年來,深度神經(jīng)網(wǎng)絡(luò)模型(Deep Neural Networks,DNNs)已被成功應(yīng)用于很多應(yīng)用領(lǐng)域,如:計算機視覺、語音識別、自然語言處理等等。但DNNs極易受到一種被添加了細微的惡意擾動信息的樣本,稱之為對抗樣本(Adversarial Example,AE)的攻擊。由于對抗樣本的擾動非常細微,以致人眼及深度神經(jīng)網(wǎng)絡(luò)模型均難以察覺辨識,從而導(dǎo)致深度神經(jīng)網(wǎng)絡(luò)模型產(chǎn)生錯誤的分類/預(yù)測結(jié)果,即深度神經(jīng)網(wǎng)絡(luò)模型防御對抗樣本的魯棒性(Adversarial Robustness,AR)大大降低[1-2]。因此,研究高效的深度對抗樣本防御算法,以提高深度模型的魯棒性是當(dāng)前深度學(xué)習(xí)面臨的一個極具挑戰(zhàn)性問題。SZEGEDY等[3]首次提出深度神經(jīng)網(wǎng)絡(luò)模型中存在對抗樣本的概念,通過深度攻擊算法在原始輸入的干凈樣本上添加細微擾動后以產(chǎn)生對抗樣本,從而攻擊深度模型的魯棒性。防御算法的核心目標(biāo)是讓深度模型有效抵御對抗樣本的攻擊,以提高其魯棒性。近年來,已產(chǎn)生了一些較好的深度對抗防御算法[4-16]?,F(xiàn)有對抗防御算法主要分為以下兩類:對抗訓(xùn)練算法[4-9]與對抗樣本去噪算法[10-16]。對抗樣本去噪算法通過在目標(biāo)深度神經(jīng)網(wǎng)絡(luò)模型中添加一個預(yù)訓(xùn)練好的去噪模型,從而消除對抗樣本中的擾動信息。對抗樣本去噪算法簡單、高效,但它在去除對抗樣本噪聲的同時,也損傷了原始干凈樣本上的一些有用信息,導(dǎo)致最終訓(xùn)練的深度模型對干凈樣本的分類/預(yù)測精度下降。對抗訓(xùn)練算法通過優(yōu)化損失函數(shù)[17]、修改目標(biāo)模型結(jié)構(gòu)、更新網(wǎng)絡(luò)參數(shù)等形式訓(xùn)練出具有更強的對抗魯棒性的深度模型。但該類算法相對復(fù)雜,模型訓(xùn)練收斂緩慢且模型不穩(wěn)定。
針對現(xiàn)有的對抗樣本去噪算法的上述缺陷,筆者提出了一種基于輸入去噪與隱層信息恢復(fù)的新的增強型深度對抗樣本防御算法。主要貢獻有以下3點。(1)針對現(xiàn)有深度去噪算法精度有待于提高,對干凈樣本去噪時產(chǎn)生信息損失的缺陷,提出了基于U-net[21]網(wǎng)絡(luò)模型,以及對抗樣本與增強型干凈樣本聯(lián)合訓(xùn)練模型的一種新的增強型對抗樣本輸入去噪方法。基于凸包理論,將對抗樣本與預(yù)測/分類錯誤的干凈樣本的隱層向量進行凸組合以訓(xùn)練并修正模型對干凈樣本有損信息的恢復(fù)策略。(2)在此基礎(chǔ)上,提出了一種高效的增強型深度對抗樣本防御算法(Input Denoising and Hidden Information Restoring,ID+HIR)。(3)在多個基準(zhǔn)數(shù)據(jù)集上與現(xiàn)有代表性的深度對抗樣本去噪算法進行了性能對比仿真實驗,理論分析與實驗結(jié)果表明筆者所提出的ID+HIR算法的對抗防御性能優(yōu)于現(xiàn)有代表性的對抗去噪防御算法。筆者提出的算法ID+HIR源碼及附錄(包含相關(guān)部分實驗及分析、訓(xùn)練算法偽碼及定理證明)的下載地址為:https://github.com/xd-1307/ID-HIR。
近年來,由于對抗樣本去噪算法的簡單高效性,它已成為深度防御對抗樣本攻擊的主流算法。DAE[13]是最早提出的對抗樣本去噪算法,它使用去噪自編碼器網(wǎng)絡(luò)結(jié)構(gòu),通過輸入僅疊加了高斯噪音的原始樣本,以抵御對抗樣本的噪音;ComDefend算法[10]通過壓縮的卷積神經(jīng)網(wǎng)絡(luò)ComCNN以及重構(gòu)卷積神經(jīng)網(wǎng)絡(luò)RecCNN來實現(xiàn)對抗樣本的去噪;HGD算法[11]將對抗樣本輸入所提出的去噪模型中,通過將原始圖像與去噪圖像在CNN的距離作為損失以指導(dǎo)模型的優(yōu)化;PixelDefend[12]通過特定的去噪模型以實現(xiàn)圖像灰度級的對抗防御;FS算法[14]通過濾波器平滑數(shù)據(jù)的方式去除對抗擾動信息;JPEG和TVM算法[15]將圖像進行壓縮,壓縮失真后的圖像在一定程度上抵御了對抗樣本;NRP算法[16]利用對抗訓(xùn)練的思想來訓(xùn)練模型;FD特征去噪算法[18]輸入對抗樣本,通過在模型的隱層對特征向量進行均值濾波來抵御對抗樣本的噪聲;DS去噪平滑算法[19]輸入干凈樣本并疊加特殊噪音,通過最小化噪聲樣本和干凈樣本的誤差來訓(xùn)練模型。上述對抗去噪類算法思想及缺陷如圖1所示。
(a)已有大多數(shù)對抗去噪算法缺陷示意圖 (b)文中ID+HIR對抗去噪算法示意圖
按照慣例,將完成特定預(yù)測/分類任務(wù)的深度網(wǎng)絡(luò)模型稱為目標(biāo)模型。已有的對抗樣本去噪算法均面臨如下挑戰(zhàn)性問題:(1)由于在目標(biāo)模型的前端加入了對抗樣本的去噪模型,故算法在提升目標(biāo)模型對抗魯棒性的同時,會損失干凈樣本的有用信息,造成目標(biāo)模型對干凈樣本的識別精度下降;(2)對干凈樣本有用信息的改變/損壞會被目標(biāo)深度神經(jīng)網(wǎng)絡(luò)逐層放大,即導(dǎo)致干凈樣本的分類/預(yù)測結(jié)果誤差會隨著網(wǎng)絡(luò)模型的加深而逐步放大。
不同于現(xiàn)有的對抗樣本去噪算法,筆者提出的ID+HIR算法由兩部分構(gòu)成:即由輸入去噪模型(Input Denoiser,ID)及隱層信息恢復(fù)模型(Hidden Information Restorer,HIR)構(gòu)成。ID+HIR算法首先在目標(biāo)模型輸入前端插入ID模型,以去除對抗樣本的擾動信息。之后在目標(biāo)模型的隱層后插入HIR模型,以恢復(fù)干凈樣本上受損的有用信息,以進一步提高目標(biāo)模型的對抗魯棒性和識別精度,并避免現(xiàn)有算法對原始干凈樣本信息的損失缺陷。
與現(xiàn)有的對抗去噪算法不同,筆者提出的算法在目標(biāo)模型Tθ(·)中插入了兩個相互獨立的模型:即輸入ID模型和隱層HIR信息恢復(fù)模型。其中,ID模型負責(zé)去除輸入樣本上可能存在的對抗性擾動信息。ID模型的輸入為待分類樣本,輸出為去除擾動對抗信息(亦稱為噪聲)后的樣本。HIR模型負責(zé)在目標(biāo)模型的隱層恢復(fù)干凈樣本受損的信息,該模型輸入為樣本在目標(biāo)模型的隱層輸出向量,輸出為被修復(fù)的隱層向量。在對HIR模型進行訓(xùn)練時,通過構(gòu)建對抗樣本和干凈樣本的隱層向量凸包作訓(xùn)練數(shù)據(jù),以有效提升HIR模型對干凈樣本有損信息的恢復(fù)。該機制使得目標(biāo)模型在具有良好的對抗魯棒性的前提下,維持了對干凈樣本的識別能力。ID和HIR兩模型的功能與訓(xùn)練相互獨立,兩者協(xié)同完成輸入樣本(對抗樣本和/或干凈樣本)的去噪及受損信息的恢復(fù)功能,以最終實現(xiàn)深度目標(biāo)模型的正確預(yù)測/分類任務(wù)。
ID+HIR算法首先將ID插入到目標(biāo)模型Tθ(·)的前端,然后將深度目標(biāo)模型Tθ(·)進行切分,在切分點處插入HIR模型。由于在圖像識別領(lǐng)域的目標(biāo)模型通常選擇卷積神經(jīng)網(wǎng)絡(luò)CNNs,故切分點可以選在卷積層之后與分類層之間,在切分點處添加HIR模型。筆者提出算法的網(wǎng)絡(luò)模型結(jié)構(gòu)示意圖如圖2所示。
2.2.1 ID模型
筆者提出的輸入層ID模型結(jié)構(gòu)采用U-net[21]網(wǎng)絡(luò)結(jié)構(gòu)。由于U-net結(jié)構(gòu)含有的殘差結(jié)構(gòu),可以有效提取圖像的高維語義信息并融合低維空間信息,并善于提取細微的數(shù)據(jù)信息,避免了傳統(tǒng)DAE對于彩色圖和大尺寸圖擬合能力較差的弊端,使模型具有更強的去噪能力。ID網(wǎng)絡(luò)模型結(jié)構(gòu)如圖 2所示。
圖2 ID模型結(jié)構(gòu)示意圖
2.2.2 ID模型的訓(xùn)練
ID模型記為Iw(·),其中,w為ID模型的參數(shù)。設(shè)ID模型的輸入為對抗樣本x′和/或干凈樣本x,期望其輸出為去除對抗樣本擾動信息后的樣本,故可給出ID模型的優(yōu)化目標(biāo)損失函數(shù)為
(1)
其中,Iw(·)為指示函數(shù),滿足條件為1,否則為0。由于指示函數(shù)I(·)是0-1函數(shù),在采用反向傳播算法優(yōu)化深度模型參數(shù)時會存在梯度消失問題,故文中將指示函數(shù)I(·)替換為交叉熵損失函數(shù)來訓(xùn)練ID模型。故ID模型的損失函數(shù)式(1)可轉(zhuǎn)化為
LID=arg min(-∑ylogTθ(Iw(x,x′))) 。
(2)
值得注意的是:由于訓(xùn)練好的ID模型的輸入為對抗樣本和/或干凈樣本,故在ID模型訓(xùn)練時,采用對抗樣本和干凈樣本同時進行訓(xùn)練,以避免ID模型過擬合對抗樣本;另外,當(dāng)對抗樣本中的擾動(噪聲)較大時,為了避免訓(xùn)練出的ID模型過度擬合對抗樣本,而對干凈樣本的擬合能力降低的問題,可首先采用多輪的高斯擾動數(shù)據(jù)增強方法[20],對干凈樣本進行數(shù)據(jù)增強處理,得到增強的干凈樣本數(shù)據(jù)集XE。然后,采用X′∪XE聯(lián)合訓(xùn)練Iw(·),以提高其去噪及泛化能力。
2.3.1 HIR模型
如前文所述,傳統(tǒng)的去噪算法會導(dǎo)致干凈樣本的信息損失,使干凈樣本的特征分布偏離目標(biāo)模型Tθ(·)的分類器所能正確識別的分布空間。為了恢復(fù)信息受損的干凈樣本,將目標(biāo)模型Tθ(·)進行拆分為特征提取層(即隱空間層,簡稱隱層)和分類層,其中,用φ(·)表示隱層的函數(shù)映射,用g(·)表示分類層的函數(shù)映射。文中算法在隱層后增加HIR模型,以恢復(fù)干凈樣本的受損信息,并保證對去噪后的對抗樣本不產(chǎn)生負面影響。即目標(biāo)模型的輸入的干凈樣本x和對抗樣本x′經(jīng)過Iw(·)和φ(·)后,其隱層輸出為xh。xh在經(jīng)過HIR模型的函數(shù)映射Hπ(·)(π為HIR模型參數(shù))得到的隱層表示將能被g(·)正確識別。與ID模型相同,本文的HIR模型的網(wǎng)絡(luò)結(jié)構(gòu)也采用U-net網(wǎng)絡(luò)模型。
2.3.2 HIR模型的訓(xùn)練
在對HIR模型進行訓(xùn)練時,需保證:(1)輸入若是有損的干凈樣本的隱層向量,則HIR模型需要對其進行恢復(fù)并輸出,以使目標(biāo)模型能夠?qū)崿F(xiàn)正確分類;(2)若輸入為經(jīng)過ID模型去噪后的對抗樣本的隱層向量,則該隱層向量已經(jīng)能夠被分類器正確分類,故HIR模型不能對該向量造成任何不良的負面影響,以此為目標(biāo)并指導(dǎo)HIR模型的訓(xùn)練。在測試階段,HIR模型確保無需預(yù)知當(dāng)前樣本是干凈樣本或?qū)箻颖镜碾[層輸出,可自適應(yīng)地選擇是否應(yīng)恢復(fù)受損信息。為了達到上述目標(biāo),基于凸包理論,構(gòu)建對抗樣本和干凈樣本的隱層向量凸包作為訓(xùn)練數(shù)據(jù),以此來有效訓(xùn)練HIR模型。需要注意的是,所構(gòu)建的凸包僅用于指導(dǎo)HIR模型的訓(xùn)練,并不參與模型的測試。
干凈樣本經(jīng)過去噪模型ID處理后,其樣本上的有用信息可能會遭到破壞,造成目標(biāo)模型對干凈樣本的預(yù)測/分類錯誤。該問題的本質(zhì)是:干凈樣本在經(jīng)過ID模型及目標(biāo)模型后,其隱層向量可能會偏移到目標(biāo)模型錯誤的預(yù)測/分類分布空間中。
為了更清楚地論述HIR訓(xùn)練數(shù)據(jù)的思想,引入如下助記符及定理。
圖3 干凈樣本與對抗樣本隱層向量凸包示意圖,其內(nèi)部的向量是xh和x′h的線性組合
HIR模型希望使P1和P2分布內(nèi)的數(shù)據(jù)均能處于分類器能夠正確分類的空間P1中。因此,為了使無法被正確分類的數(shù)據(jù)(處于P2空間中)能夠被HIR模型恢復(fù),定義HIR的P2交叉熵損失函數(shù)如下:
(3)
其中,Hπ(·)為HIR模型的映射函數(shù)。
同理,為了維持正確分類的數(shù)據(jù)(處于P1空間中),定義HIR的P1損失函數(shù)如下:
LP1=-∑ylogg(Hπ(xhi)) 。
(4)
為保證訓(xùn)練得到的HIR模型能夠使P1、P2中的數(shù)據(jù)均處于正確的分布空間中,定義訓(xùn)練HIR模型的損失函數(shù)如下所示:
LHIR=LP1+LP2。
(5)
(6)
(1)實驗環(huán)境與模型超參設(shè)置
實驗環(huán)境為:Intel(R)Xeon(R)Gold 5115 CPU @2.40 GHz,97 GB RAM,NVIDIA Tesla P40 22 GB GPU。文中算法ID+HIR及對比基準(zhǔn)算法均基于Python 3.7實現(xiàn),并在Pytorch 1.6.0下進行了測試。中文算法模型所設(shè)置的超參為:學(xué)習(xí)率λ=η=0.01,訓(xùn)練次數(shù)T=50,優(yōu)化器選擇Adam。實驗對比的基準(zhǔn)算法的模型超參嚴(yán)格遵循論文原文的超參設(shè)置。
(2)對抗防御性能度量標(biāo)準(zhǔn)
在對抗學(xué)習(xí)領(lǐng)域,通常用兩個性能指標(biāo)來衡量一個防御算法的優(yōu)劣。第1個指標(biāo)為添加防御算法后目標(biāo)模型對原始干凈樣本的分類/預(yù)測準(zhǔn)確率;第2個指標(biāo)為防御算法對目標(biāo)模型魯棒性的提升,即目標(biāo)模型分類/預(yù)測準(zhǔn)確率的提升程度。筆者亦采用上述兩個通用的度量標(biāo)準(zhǔn)來衡量本文算法及對比算法的對抗防御性能。
實驗采用CIFAR-10、CIFAR-100、MNIST和SVNH標(biāo)準(zhǔn)數(shù)據(jù)集。CIFAR-10數(shù)據(jù)集是一個用于識別普適物體的小型數(shù)據(jù)集,由10個類別的32×32彩色圖像組成,共60 000張。CIFAR-100數(shù)據(jù)集是基于CIFAR-10的擴展,共有100個類別,顏色尺寸與CIFAR-10的相同。MNIST數(shù)據(jù)集由70 000張28×28的手寫數(shù)字的灰度圖片組成。SVNH數(shù)據(jù)集來源于谷歌街景門牌號碼圖片,每張圖片尺寸為32×32的RBG圖片。
首先,將CIFAR-10、CIFAR-100數(shù)據(jù)集以5∶1的比例劃分為訓(xùn)練集和測試集,分別在ResNet56模型[24],采用FGSM[25]、CW[26]、BIM[27]攻擊算法制作了3種不同類別的對抗樣本,分別簡記為FGSM/CW/BIM(對抗樣本)。其中,對抗擾動閾值ε分別為4、8、16,ε表示p范數(shù)的對抗擾動閾值δ的上限,即‖δ‖p≤ε。
ID+HIR算法的訓(xùn)練數(shù)據(jù)為訓(xùn)練集的3種對抗樣本的集合。測試數(shù)據(jù)為測試集下的各種對抗樣本以及干凈樣本。目標(biāo)模型采用典型的卷積神經(jīng)網(wǎng)絡(luò)模型VGG16[28]和ResNet18[24]。另外,對比算法中額外增加了Fast AT[29]算法,該算法是一種對抗訓(xùn)練算法,以驗證文中算法在分類精度和魯棒性上優(yōu)于該對抗訓(xùn)練算法。實驗結(jié)果如表1所示。
表1 ID+HIR算法在CIFAR-10較小圖像數(shù)據(jù)集對抗魯棒性對比結(jié)果 %
表1的實驗結(jié)果表明,在CIFAR-10數(shù)據(jù)集上,筆者提出的ID+HIR算法在目標(biāo)模型VGG16與ResNet18上展現(xiàn)了近似的對抗魯棒性,且具有以下3種特性:
(1)目標(biāo)模型(VGG16和ResNet18模型)在不采取任何防御手段的場景下,有較差的對抗魯棒性;而當(dāng)使用文中的ID+HIR防御算法加入到目標(biāo)模型后,其目標(biāo)模型均對對抗樣本有較高的分類精度。
(2)ID+HID算法對原始樣本的識別精度為91.2%和92.1%,雖然相比無防御場景下目標(biāo)模型對干凈樣本92.6%和93.2%的分類精度有所降低,但是相比其他的對抗樣本去噪類算法,如ComDefend算法對干凈樣本的分類精度為85.2%,文中算法均有著較大的精度提升,且它在各種對抗樣本上的分類精度也遠高于ComDefend等去噪算法。
(3)在ResNet18模型上,ID+HIR算法對原始樣本識別精度略低于FS算法,但是FS算法對FGSM、CW和BIM等對抗樣本展現(xiàn)出的對抗魯棒性均大幅度低于文中算法。JPEG-Compression、TVM等算法同樣在干凈樣本和對抗樣本上的分類精度低于本文算法。本實驗選擇的對抗訓(xùn)練類算法Fast AT在面對BIM對抗樣本時略優(yōu)于文中算法,其原因在于BIM算法是一種迭代攻擊的算法,對模型具有更強的干擾性,對抗訓(xùn)練算法在訓(xùn)練模型時直接更新目標(biāo)模型的參數(shù),具有更好的適應(yīng)能力,但是在面對FGSM和CW對抗樣本時,ID+HIR算法具有更好的性能。
表2的實驗結(jié)果表明:在CIFAR-10數(shù)0據(jù)集上,筆者提出的IHD算法在VGG16模型與ResNet18模型上展現(xiàn)了近似的對抗魯棒性。從上述實驗結(jié)果得出以下結(jié)論:
表2 ID+HIR算法在CIFAR-100數(shù)據(jù)集上的對抗魯棒性對比結(jié)果表 %
在CIFAR-100數(shù)據(jù)集上,VGG16和ResNet18模型均有著類似于CIFAR-10數(shù)據(jù)集上的效果,IHD算法面對各類對抗樣本時,分類精度均強于其他的去噪算法,證明了IHD算法在面臨類別數(shù)為100的更多分類的問題時,仍能展現(xiàn)出更優(yōu)的對抗魯棒性。
上述實驗結(jié)果充分表明,筆者所提出的ID+HIR算法不僅能在小尺寸圖像數(shù)據(jù)集上(CIFAR-10和CIFAR-100)表現(xiàn)出較好的去噪性能,在很大程度上去除對抗樣本上的擾動信息,而且能維持目標(biāo)模型對原始干凈樣本的分類精度。這充分證明了文中算法的有效性及在各種數(shù)據(jù)集上良好的普適性。
為進一步測試與驗證筆者提出的ID+HIR對干凈樣本的受損信息的恢復(fù)能力,故進行了消融實驗,即移除該算法中的HIR模型以測試目標(biāo)模型的性能,并與完整的ID+HIR算法進行性能對比。同時,為了驗證算法的ID模型在面對高擾動對抗樣本訓(xùn)練時,會加劇對干凈樣本的損失,本實驗對防御模型的訓(xùn)練在具有不同擾動的對抗樣本下獨立訓(xùn)練,并驗證模型的對抗魯棒性以及對干凈樣本的魯棒性。ID+HIR消融實驗結(jié)果均表明了ID及HIR模型的有效性及正確性。
訓(xùn)練數(shù)據(jù)為對抗擾動閾值ε分別采用4、8、16的FGSM和CW對抗樣本,目標(biāo)模型選擇ResNet56模型。該模型對CIFAR-10干凈樣本的識別精度為92.6%,對SVHN的識別精度為96.5%。針對MNIST數(shù)據(jù)集選擇具有4層卷積層的卷積神經(jīng)網(wǎng)絡(luò),識別精度為99.1%。目標(biāo)模型對對抗樣本的識別精度以及兩種防御場景下的實驗結(jié)果如表3所示。
表3 HIR模型消融實驗結(jié)果表 %
表3實驗結(jié)果表明:
(1)在CIFAR-10數(shù)據(jù)集中,在僅使用ID模型做對抗防御的情況下,均能大幅提升模型對對抗樣本的識別精度,說明ID模型有效地去除了對抗樣本上的擾動噪聲;
(2)選用CW作為訓(xùn)練數(shù)據(jù)時,可以看到本文算法下目標(biāo)模型對對抗樣本識別精度為90.0%,而ID為73.2%,證明了HIR模型在隱層的凸包訓(xùn)練方式同時可以有效地將對抗樣本的隱層向量拉回到分類器所能正確識別的空間中;
(3)在SVHN數(shù)據(jù)集上的實驗,有著和CIFAR-10數(shù)據(jù)集相似的特點,但是針對該數(shù)據(jù)集訓(xùn)練得到的模型在對抗樣本上均有著比CIFAR-10更高的精度。通過MNIST數(shù)據(jù)集上的實驗可以發(fā)現(xiàn),在本文ID+HIR算法防御下,目標(biāo)模型對對抗樣本的識別精度維持在98.7%,與之前的99.2%相差無幾,證明HIR防御模型幾乎不影響模型的分類精度。
防御對抗樣本的攻擊,是當(dāng)前深度模型面臨的一個嚴(yán)峻挑戰(zhàn)性難題。針對現(xiàn)有對抗樣本去噪算法損失干凈樣本信息,導(dǎo)致目標(biāo)模型預(yù)測/分類精度下降的缺陷,基于增強型輸入去噪模型ID,以及基于凸包理論所構(gòu)建的隱層有損失信息恢復(fù)器HIR,筆者提出了一種新的高效深度對抗樣本攻擊防御算法ID+HIR。在多個基準(zhǔn)數(shù)據(jù)集上的大量對比仿真實驗表明,所提出的算法優(yōu)于當(dāng)前典型優(yōu)良的對抗樣本去噪算法。