劉欣剛,江浩楊,蘇 鑫,馮 晶
(電子科技大學(xué)信息與通信工程學(xué)院 成都 611731)
深度神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種機(jī)器學(xué)習(xí)領(lǐng)域,包括圖像識別[1-2]、圖像與視頻目標(biāo)檢測領(lǐng)域[3-4]、音頻數(shù)據(jù)處理[5]和自然語言處理領(lǐng)域[6-7]等。深度神經(jīng)網(wǎng)絡(luò)模型在許多任務(wù)上都取得了成功。
然而研究發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)模型容易受到一種虛假樣本的攻擊[8]。這種樣本通常是在真實數(shù)據(jù)樣本上進(jìn)行一定程度的輕微修改而生成的。當(dāng)這種虛假樣本輸入到神經(jīng)網(wǎng)絡(luò)中,神經(jīng)網(wǎng)絡(luò)會產(chǎn)生與原始真實數(shù)據(jù)完全不同的輸出。這樣的虛假樣本通常被稱為對抗樣本。
對抗樣本被發(fā)現(xiàn)存在于許多領(lǐng)域。在圖像處理領(lǐng)域,被輕微修改的圖像可以使得神經(jīng)網(wǎng)絡(luò)對圖像給出錯誤的分類[9-11],也可以使得語義分割模型完全無法識別圖像上的人物[12];在自然語言處理領(lǐng)域,Seq2Sick 攻擊可以生成對抗性的文本,使得基于序列的神經(jīng)網(wǎng)絡(luò)翻譯模型無法正確理解文本的語義[13-15];在音頻數(shù)據(jù)領(lǐng)域,文獻(xiàn)[16]提出了一種算法,將一個噪音嵌入到正常音頻中,可以使得音頻語義識別網(wǎng)絡(luò)輸出想要的任意結(jié)果。
對抗樣本的生成技術(shù)也被廣泛研究。文獻(xiàn)[17]指出對抗樣本的存在與神經(jīng)網(wǎng)絡(luò)的高度線性性質(zhì)有關(guān),并提出了一種快速梯度下降法(fast gradient sign attack, FGSM)來生成對抗樣本,這種方法針對非魯棒性模型非常有效,并且對抗樣本的生成速度也非???。文獻(xiàn)[10]提出了一種有效生成最小化L2度量距離的對抗樣本技術(shù),其所生成對抗樣本的擾動相比FGSM 更加隱蔽。文獻(xiàn)[9]通過求解優(yōu)化問題的方式找到對抗樣本,該方法可以計算任意p范數(shù)的最小化Lp的對抗樣本。文獻(xiàn)[18-19]提出了尋找稀疏形式對抗樣本的攻擊,可以只改變少量的像素點即可達(dá)成攻擊。文獻(xiàn)[20]利用對抗生成網(wǎng)絡(luò)框架,提出使用神經(jīng)網(wǎng)絡(luò)生成對抗樣本,這種方法可以針對目標(biāo)模型快速生成對抗樣本。然而,這些方法大都使用類似梯度函數(shù)方向更新的方法,計算真實樣本點附近的梯度,尋找可以使損失函數(shù)增大的對抗樣本,而沒有考慮沿著決策函數(shù)的邊界進(jìn)行搜索以尋找擾動最小的樣本。
本文提出了一種基于神經(jīng)網(wǎng)絡(luò)決策邊界搜索的對抗樣本生成算法。該算法首先使用線性搜索或二分搜索在數(shù)據(jù)空間中找到一個處于決策邊界的數(shù)據(jù)點,并計算該點相對于決策函數(shù)的法向量方向,基于決策平面局部平滑的假設(shè),利用法向量的正交空間,尋找一個更接近真實樣本的數(shù)據(jù)點,通過多步迭代的方式最終找到最優(yōu)對抗樣本。本文將該過程進(jìn)行數(shù)學(xué)建模,然后將該數(shù)學(xué)問題轉(zhuǎn)化為一個標(biāo)準(zhǔn)的優(yōu)化問題。為了求解該優(yōu)化問題,首先推導(dǎo)出當(dāng)神經(jīng)網(wǎng)絡(luò)決策函數(shù)為仿射函數(shù)時的解析解,然后給出在更一般情況下的迭代式求解算法。
圖1 是典型的白盒攻擊模式,一個訓(xùn)練良好的分類器F(·)對 正常樣本x進(jìn)行預(yù)測,得到其正確的標(biāo)簽y。攻擊方通過觀測分類器的預(yù)測過程,得到輸入x對于分類器的梯度信息及最終的分類置信度等信息,根據(jù)這些信息生成對抗樣本x′,如果分類器F(·)對 輸入x′做 出錯誤的預(yù)測y′,則攻擊成功。
圖1 典型白盒攻擊流程
該過程可以用數(shù)學(xué)語言進(jìn)行如下描述。
對給定的分類器F(·)和 輸入x,對應(yīng)于該輸入x的最優(yōu)對抗樣本x′可以通過求解以下優(yōu)化問題獲得:
式中,fk(x)是 網(wǎng)絡(luò)對應(yīng)第k類的輸出;//r//p表 示Lp距離,定義為:
在對抗樣本攻擊領(lǐng)域,通常研究生成最小化L2與L∞的對抗樣本。
由于原問題不屬于標(biāo)準(zhǔn)的優(yōu)化問題,需要將該問題轉(zhuǎn)化為標(biāo)準(zhǔn)形式才能使用優(yōu)化算法進(jìn)行求解。
原問題可以轉(zhuǎn)化為另一個等價的形式,即:
雖然將原優(yōu)化問題轉(zhuǎn)化成為了標(biāo)準(zhǔn)形式,但因為函數(shù)L(·)是一個高度非凸函數(shù),無法使用如牛頓法及拉格朗日乘子法等對該問題求解。
L(x′)>0表 明輸入x′與x是 相同的類,L(x′)?0表明輸入x′與x分屬不同類,對抗樣本只可能存在于決策邊界,且滿足L(x′)=0。
通常而言,直接得到一個輸入x0滿 足L(x0)=0是困難的,但是利用函數(shù)L(·)的連續(xù)性質(zhì),可以有效找到該初始點。
假設(shè)輸入x為正常樣本,且滿足L(x)>0。隨機(jī)生成輸入數(shù)據(jù)xˉ , 直至滿足L(xˉ)<0。 因為L(·)為連續(xù)函數(shù),則必定存在初始點x0=θxˉ+(1?θ)x,滿足L(x0)=0, 其中,0 <θ<1。
實驗發(fā)現(xiàn),以固定概率分布隨機(jī)生成的數(shù)據(jù)xˉ,通常會以高概率被判別為某一類。因此,更有效的方法是直接在數(shù)據(jù)集中挑選一個標(biāo)簽不同的樣本xˉ。θ則可以使用線性搜索或者二分搜索來得到。使用二分搜索的初始點搜索由算法1 給出。
算法 1 基于二分搜索法的初始攻擊點查找算法
搜索到的初始點x0通 常與樣本x相差較大,因此,需要通過迭代的方式找到新的對抗樣本xi,使得xi與x越 來越接近,即使得其對抗擾動ri=xi?x的范數(shù)減小。
1) 線性決策器。給定一個線性函數(shù)L(x)=wTx+b, 和一個已知的起始擾動r0, 滿足L(x+r0)=0。r0可 以分解為兩個部分,即r0=ropt+rstep,其中ropt存 在閉式解,且ropt為全局最優(yōu)解:
式中,w為L(·)在r0處 的梯度,w可以使用現(xiàn)有的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)框架計算得出。
如 圖2 所 示,ropt是r0在 梯度 方向 ?L(x+r0)的投影,rstep是r0在 決策方向上的投影,注意到rstep和ropt是 相互正交的,所以對于任意r1=ropt+αrstep,0 ?α<1,可得出:
圖2 線性決策器
2) 非線性決策器。對于大多數(shù)的深度神經(jīng)網(wǎng)絡(luò),L(x)是高度非凸函數(shù),但可以從線性情況的推導(dǎo)中得出。每次迭代得到的擾動ri+1會比上一個擾動ri更 優(yōu),因此,最后ri會收斂至一個較小的值。
迭代公式由下式得出:
式中, ( 1?α) 表 示學(xué)習(xí)率,0 <(1?α)<1。學(xué)習(xí)率大可能導(dǎo)致不收斂;學(xué)習(xí)率小,則收斂速度慢。
圖3 給出了在非線性決策器形況下,該方法的幾何說明。首先利用二分搜索法選擇一個接近決策邊界的起始點,然后使用迭代求解,直到//ri//2收斂。
圖3 非線性決策器
上述推導(dǎo)中給出了針對L2范數(shù)的對抗樣本攻擊迭代公式,本文所提出的攻擊方法也可以應(yīng)用于最小化L∞范 數(shù)的對抗樣本攻擊。對于最小化L∞范數(shù)的對抗樣本生成,ri的迭代公式為:
算法2 展示了決策邊界搜索攻擊算法的攻擊流程:首先,需要通過線性(或二分)方法定位到模型的決策邊界;然后,計算該點相對分類模型的梯度信息,利用梯度信息更新對抗樣本。新的對抗樣本依然處于模型的決策邊界,且更接近真實的數(shù)據(jù)點。當(dāng)所找到的對抗樣本滿足范數(shù)要求或者對抗擾動收斂時,停止迭代并輸出最后一個找到的對抗樣本。
為了測試本文算法的有效性,將所提出的算法應(yīng)用于3 個圖像數(shù)據(jù)集與3 種圖像分類模型架構(gòu)上,測試在受到攻擊的狀態(tài)下,5 個圖像分類神經(jīng)網(wǎng)絡(luò)的分類性能下降程度。
1) 數(shù)據(jù)集與分類模型。將使用3 個圖像數(shù)據(jù)集與3 種圖像分類模型用于受攻擊測試。
MNIST[21]:手寫體數(shù)字圖像數(shù)據(jù)集,數(shù)據(jù)集中包含70 000 張圖像,其中10 000 張為測試圖像。對于該數(shù)據(jù)集,使用兩個分類模型,分別為一個多層全連接神經(jīng)網(wǎng)絡(luò)與一個兩層結(jié)構(gòu)的LeNet 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。
FashionMNIST[22]:MNIST 數(shù) 據(jù) 集 的 一 個 變體,包括10 類不同商品的圖像,數(shù)據(jù)格式與MNIST完全一致。對于該數(shù)據(jù)集,考慮使用兩個分類模型,即一個兩層結(jié)構(gòu)的LeNet 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)和一個ResNet 架構(gòu)模型。
CIFAR10[23]:普適物體的圖像數(shù)據(jù)集,包括飛機(jī)、車輛、船只等一共10 種類別。對于該數(shù)據(jù)集,使用一個ResNet 架構(gòu)模型進(jìn)行分類。
其中,MNIST 與FashionMNIST 數(shù)據(jù)集的數(shù)據(jù)格式完全一致,因此所使用的LeNet 網(wǎng)絡(luò)架構(gòu)完全一致。
本文實驗使用Pytorch 深度學(xué)習(xí)框架[24]訓(xùn)練圖像分類模型,表格1 列出5 個圖像分類模型對3 個數(shù)據(jù)集的分類精度。
表1 受攻擊模型參數(shù)
2)最大可允許擾動 ρ與對抗樣本分類率。一個有效的對抗樣本x′被定義為:其預(yù)測標(biāo)簽與原數(shù)據(jù)x的真實標(biāo)簽y不同,且x與x′必須足夠相似,即F(x′)y且//x?x′//p<ρ。
對一個對抗樣本攻擊算法而言,越大的 ρ表示可允許的攻擊范圍越大,代表其可允許的攻擊強(qiáng)度越大。因此,分類模型對其生成的對抗樣本的分類率越低。對多個攻擊算法進(jìn)行對比,在相同的 ρ下實施攻擊,分類模型對攻擊算法所生成的對抗樣本的分類率越低,說明該攻擊算法越有效。
3)對比方案。在5 個訓(xùn)練良好的圖像分類模型上,使用本文所提出的對抗樣本攻擊算法,分別針對L2與L∞范數(shù)生成對抗樣本。在多個最大可允許擾動 ρ值下,生成對抗樣本,然后使用分類模型對對抗樣本進(jìn)行分類,記錄在不同攻擊強(qiáng)度下的對抗樣本分類精度。本文使用3 個經(jīng)典的攻擊算法進(jìn)行對比。
1)快速梯度方向算法(fast gradient sign method,FGSM)和 快 速 梯 度 算 法(fast gradient method,FGM)[17]:FGSM 是經(jīng)典的對抗樣本生成方法,主要針對于生成最小化L∞范數(shù)的對抗樣本,F(xiàn)GM為FGSM 的最小化L2范數(shù)版本。
2)梯度投影下降算法(projected gradient descent,PGD)[25]:FGSM 的多次迭代版本,并在此基礎(chǔ)上加入了初始點隨機(jī)化以增加攻擊成功率。
3) DeepFool[10]:基于超平面分類決策器假設(shè)的攻擊算法,可以生成對抗擾動較小的對抗樣本。
除了本文外算法,其余的攻擊算法由通用對抗樣本攻擊工具箱Foolbox[26]實現(xiàn)。
圖4 展示了在3 個網(wǎng)絡(luò)模型(FC-MNIST, LeNet-FashionMNIST, ResNet-CIFAR10)上使用4 種攻擊算法在不同攻擊強(qiáng)度下的攻擊效果。當(dāng)最大可允許擾動ρ 為 0 時,縱坐標(biāo)值表示該模型對正常圖像的分類精度。圖4 表明,這4 種攻擊方法針對L2與L∞指標(biāo)所生成的對抗樣本,都可以有效地使得神經(jīng)網(wǎng)絡(luò)分類錯誤。
圖4 對抗樣本攻擊算法在3 個模型上的攻擊結(jié)果
從實驗結(jié)果中可以看出,本文所提出的對抗樣本生成算法的攻擊效果最佳。在每一組實驗中,在同一個最大可允許擾動ρ 下,圖像分類模型對本文算法生成的對抗樣本的分類率都是最小的。而DeepFool算法與PGD 算法效果在大多數(shù)情況下相近,而在MNIST 與FashionMNIST 數(shù) 據(jù) 集 中,DeepFool 算法相比PGD 算法生成的最小化L2對抗樣本更優(yōu)。FGSM 為4 種算法中計算效率最高的,但攻擊效果最差。
本實驗所使用的3 個數(shù)據(jù)集都有10 個圖像類別,可以認(rèn)為對于一個完全無分類能力的模型(隨機(jī)分類模型)而言,其圖像分類精度應(yīng)為10%。表2~表4 分別記錄了使用4 種攻擊方式對5 個圖像分類模型進(jìn)行攻擊,圖像分類模型對對抗樣本的分類精度達(dá)到10%時,每種攻擊方法所需要的最大可允許擾動值。
表2 MNIST 數(shù)據(jù)集攻擊實驗
表3 Fashion-MNIST 數(shù)據(jù)集攻擊實驗
表4 CIFAR10 數(shù)據(jù)集攻擊實驗
從表中可以看出,在每組實驗中本文算法所需要的最大可允許擾動 ρ都最小。并且,在MNIST與FashionMNIST 實驗中,本文所提出的算法相較于其他3 種有較大提升,而在CIFAR10 的實驗中,本文算法與PGD,DeepFool 算法效果相近,但是,F(xiàn)GSM 在多個攻擊實驗中無法使得圖像分類模型的對抗樣本分類精度下降至10%。
實驗分析認(rèn)為本文算法在3 個數(shù)據(jù)集上的性能不同的主要原因是數(shù)據(jù)集的數(shù)據(jù)分布存在差異。MNIST 與FashionMNIST 的圖像為單通道灰度圖,圖像尺寸較小。而CIFAR10 數(shù)據(jù)集為三通道圖像,尺寸相對MNIST 稍大,圖像內(nèi)容更加豐富。因此,在CIFAR10 數(shù)據(jù)集上,使用線性搜索尋找攻擊初始點,與有效對抗樣本存在的空間距離較遠(yuǎn),后續(xù)的迭代無法有效找到最優(yōu)的對抗樣本。
設(shè)計實驗對該假設(shè)進(jìn)行驗證。在所提出的攻擊算法的第一步中,將線性搜索的方法替換為使用DeepFool 算法生成初始攻擊點,以此為基礎(chǔ)進(jìn)行對抗樣本搜索。表5 中列出了改進(jìn)的算法在攻擊模型至10%精度所需要的ρ 值。
表5 使用DeepFool 作為初始點攻擊效果
可以看出相較使用隨機(jī)初始點搜索的方法,使用DeepFool 攻擊所找到的對抗樣本作為初始點,在所有對比實驗中攻擊圖像分類模型至10%時所需要的ρ 值都要更小。
改進(jìn)后的攻擊算法本質(zhì)上是在使用DeepFool搜索到一個有效的對抗樣本后,使用迭代的方法進(jìn)一步縮小對抗樣本與原樣本的距離。這表明了使用本文算法與其他對抗攻擊算法結(jié)合,可以找到擾動更小的對抗樣本。
本文提出了一種新的對抗攻擊算法,即基于分類模型決策函數(shù)邊界的對抗樣本搜索算法。該算法是基于現(xiàn)有的神經(jīng)網(wǎng)絡(luò)圖像分類模型的全局連續(xù)性與可導(dǎo)性,使用多步迭代的方式在分類模型的決策邊界尋找一個與原數(shù)據(jù)點距離相近的對抗樣本。
實驗證明在數(shù)據(jù)分布簡單的數(shù)據(jù)集上,本文方法可以取得最優(yōu)的攻擊效果。而在復(fù)雜數(shù)據(jù)集上,需要使用更有效的方式找到攻擊初始點,以保證整體的攻擊性能。這表明本文算法可以有效地優(yōu)化其他對抗攻擊算法所生成的對抗樣本。因此,在后續(xù)設(shè)計其他對抗樣本生成技術(shù)時,可以將本文提出的迭代的搜索方法作為優(yōu)化手段,提升其他攻擊算法的性能。