李俊杰,王 茜
重慶大學(xué) 計(jì)算機(jī)學(xué)院,重慶 400044
隨著計(jì)算能力與數(shù)據(jù)量的提升,深度神經(jīng)網(wǎng)絡(luò)在各個(gè)領(lǐng)域都得到了廣泛應(yīng)用[1-3],如圖像分類、文本分析、語音處理等。在一些安全敏感的領(lǐng)域,深度神經(jīng)網(wǎng)絡(luò)同樣被廣泛使用,比如自動(dòng)駕駛、智能醫(yī)療、人臉識(shí)別等。然而,近年來的研究工作發(fā)現(xiàn):在輸入數(shù)據(jù)上增加微小的修改與擾動(dòng),可以輕松造成主流深度神經(jīng)網(wǎng)絡(luò)模型的誤判,這些造成深度神經(jīng)網(wǎng)絡(luò)模型誤判的樣本稱為對(duì)抗樣本。對(duì)抗樣本的出現(xiàn),顯示出深度神經(jīng)網(wǎng)絡(luò)抵御攻擊的脆弱性,這為深度神經(jīng)網(wǎng)絡(luò)在安全敏感領(lǐng)域的應(yīng)用帶來不確定性,比如經(jīng)過修改的交通標(biāo)志對(duì)抗樣本會(huì)被自動(dòng)駕駛系統(tǒng)中的分類模型錯(cuò)誤識(shí)別,繼而做出錯(cuò)誤駕駛判斷,造成嚴(yán)重后果[4]。因此,需要通過研究對(duì)抗樣本來進(jìn)一步認(rèn)識(shí)現(xiàn)有主流深度神經(jīng)網(wǎng)絡(luò)模型的脆弱性,進(jìn)而提高模型對(duì)對(duì)抗樣本的魯棒性。
近年來,出現(xiàn)了越來越多生成對(duì)抗樣本的方法。其中一類方法是迭代修改輸入圖像的像素值,直到輸入圖像被分類器錯(cuò)誤分類。這種基于迭代修改原圖來生成對(duì)抗樣本的方法,雖然可以最大程度限制修改的像素?cái)?shù)量與像素幅度值,從而生成人眼觀察難與原圖做分辨的對(duì)抗樣本,但是每一次迭代都需要大量的計(jì)算,如梯度計(jì)算、雅各比矩陣計(jì)算等,這些龐大的計(jì)算量極大地增加了生成一個(gè)對(duì)抗樣本的時(shí)間,如Carlini 和Wagner 在文獻(xiàn)[5]中提出的生成對(duì)抗樣本的方法,可以成功攻擊具有防御能力的深度神經(jīng)網(wǎng)絡(luò)模型,并且其生成的對(duì)抗樣本與原圖相比難以被人眼察覺,但是該方法生成一個(gè)對(duì)抗樣本需要數(shù)分鐘的時(shí)間,這在時(shí)間要求較高的應(yīng)用場(chǎng)景中是不可用的。
基于生成器來生成對(duì)抗樣本的方法有效減少了生成對(duì)抗樣本的時(shí)間,其只需訓(xùn)練生成器生成一個(gè)擾動(dòng),然后將生成的擾動(dòng)疊加到輸入圖像上,就可以得到一個(gè)對(duì)抗樣本。雖然訓(xùn)練需要一定時(shí)間,但是當(dāng)模型訓(xùn)練完成后,利用模型生成對(duì)抗樣本的時(shí)間僅為幾毫秒。該類方法通過Lp范數(shù)來限制生成器生成的擾動(dòng)的幅度,以使生成的擾動(dòng)疊加在原圖之上人眼不易識(shí)別。雖然限制Lp范數(shù)為很小的距離可以降低對(duì)抗樣本與原圖的差異,但同時(shí)也會(huì)降低攻擊成功率;而減小對(duì)Lp范數(shù)限制以保持攻擊成功率,則會(huì)使生成的擾動(dòng)具有明顯的紋理特征,當(dāng)這些擾動(dòng)被疊加到原圖上時(shí),這些紋理會(huì)極易被人眼觀察到。
現(xiàn)有的基于生成器生成的對(duì)抗樣本易被人眼察覺的原因有兩點(diǎn):首先,對(duì)抗樣本是在原圖上疊加一個(gè)生成器生成的擾動(dòng),也就是原圖加上紋理,分類器通過這個(gè)紋理的特征做出錯(cuò)誤分類,而疊加的紋理易被人眼觀察到。實(shí)際上,除了疊加擾動(dòng),對(duì)原圖的變換、旋轉(zhuǎn)、顏色改變等都可以使分類器分類失誤[6-7]。其次,基于Lp范數(shù)來評(píng)價(jià)對(duì)抗樣本與原圖的相似性與人眼觀察上兩張圖像的相似性有相當(dāng)?shù)膮^(qū)別。使用Lp范數(shù)來限制生成擾動(dòng)只是限制了像素內(nèi)容上的差異和距離,但在多數(shù)情況下,這并不能有效避免生成的擾動(dòng)易被人眼察覺的問題。
本文在圖像分類領(lǐng)域的對(duì)抗樣本生成任務(wù)中,主要做出以下創(chuàng)新與改進(jìn)來提高生成對(duì)抗樣本的效率,并在保持對(duì)抗樣本攻擊成功率的基礎(chǔ)上,有效提升對(duì)抗樣本與原圖之間人眼觀察的相似性。
(1)提出了一個(gè)基于深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)生成器生成對(duì)抗樣本的模型GPAE
(generative perceptual adversarial example)。GPAE模型以原圖作為輸入,生成器直接生成可以攻擊分類模型的對(duì)抗樣本。相比于其他基于生成器的對(duì)抗樣本生成模型,GPAE 模型將對(duì)抗樣本生成看作是對(duì)原圖進(jìn)行圖像增強(qiáng)操作,而不再看作是對(duì)原圖疊加擾動(dòng)的操作,這使得GPAE 盡可能將對(duì)原圖的改動(dòng)分布在圖像結(jié)構(gòu)邊緣等人眼不易察覺的區(qū)域,因此在保持對(duì)抗攻擊成功率的基礎(chǔ)上,GPAE 有效提升了對(duì)抗樣本與原圖的結(jié)構(gòu)相似性指標(biāo)(structural similarity index,SSIM),使人眼觀察不易察覺出區(qū)別。同時(shí)GPAE引入生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN),保證了生成對(duì)抗樣本圖像的真實(shí)性。
(2)為進(jìn)一步提高對(duì)抗樣本與原圖之間人眼觀察相似性,GPAE 模型引入感知損失,并進(jìn)行了改進(jìn)。使用激活函數(shù)之前的數(shù)據(jù)作為特征圖,并使用多個(gè)特征圖的均方誤差構(gòu)成最終的感知內(nèi)容損失,這讓感知損失同時(shí)表征了內(nèi)容空間與特征空間中對(duì)抗樣本與原圖的相似性,以此為優(yōu)化目標(biāo)減少了訓(xùn)練生成的對(duì)抗樣本與原圖之間視覺觀察上的差異,提升了SSIM 值。
(3)集成多個(gè)分類模型的分類損失為GPAE 模型訓(xùn)練時(shí)的損失函數(shù)中的一部分,實(shí)現(xiàn)了模型生成的一例對(duì)抗樣本可以攻擊多個(gè)深度神經(jīng)網(wǎng)絡(luò)分類器,有效提升了攻擊效率。
本章主要介紹對(duì)抗攻擊與對(duì)抗樣本在圖像分類領(lǐng)域的相關(guān)概念,對(duì)近幾年主要的生成對(duì)抗樣本的方法進(jìn)行簡(jiǎn)要介紹,并闡述其優(yōu)劣。針對(duì)文獻(xiàn)[8]提出的基于生成模型生成對(duì)抗樣本的方法GAP(generative adversarial perturbations)進(jìn)行具體介紹。最后,對(duì)判斷對(duì)抗樣本與原圖相似性的評(píng)價(jià)指標(biāo)進(jìn)行相關(guān)闡述。
使神經(jīng)網(wǎng)絡(luò)產(chǎn)生錯(cuò)誤輸出的輸入樣本稱為對(duì)抗樣本(adversarial examples)。文獻(xiàn)[9]首次提出圖像分類模型中的對(duì)抗樣本,Szegedy 等人在圖像上生成細(xì)小擾動(dòng)(perturbations),使添加擾動(dòng)的圖像在常規(guī)的基于深度神經(jīng)網(wǎng)絡(luò)的圖像分類模型上被錯(cuò)誤分類,并在錯(cuò)誤分類上取得較高置信度。這些擾動(dòng)很小,往往人眼難以察覺,但是這些添加了擾動(dòng)的對(duì)抗樣本卻可以造成分類器分類結(jié)果錯(cuò)誤,從而得到不正確的類別標(biāo)簽。
設(shè)分類器為f,x為輸入的原始圖像,基于x生成的對(duì)抗樣本為x′,對(duì)抗攻擊的形式化描述如式(1)。
其中,l與l′分別表示輸入圖像x與對(duì)抗樣本x′的分類結(jié)果,||?||代表對(duì)抗樣本與原始圖像之間的差異距離,x′-x則是加在原始圖像上的擾動(dòng)。
生成對(duì)抗樣本并攻擊分類模型稱為對(duì)抗攻擊(adversarial attack),對(duì)抗攻擊根據(jù)對(duì)抗樣本的分類結(jié)果l′是否被限制為具體的類別,分為有目標(biāo)攻擊(targeted attacks)與無目標(biāo)攻擊(non-targeted attacks)。有目標(biāo)攻擊生成的對(duì)抗樣本被錯(cuò)誤分類為指定類別,無目標(biāo)攻擊則僅要求對(duì)抗樣本被錯(cuò)誤分類。在測(cè)試集上,對(duì)抗樣本能實(shí)現(xiàn)對(duì)抗攻擊的樣本占測(cè)試集總樣本的比例為攻擊成功率(fooling ratio)。本文主要研究已知攻擊模型(即白盒攻擊)下的無目標(biāo)攻擊。
通過多次迭代修改原始圖像像素值來生成對(duì)抗樣本的方法被廣泛用于生成對(duì)抗樣本。Papernot等人在文獻(xiàn)[10]中提出的JSMA(Jacobian-based saliency map attack)基于雅克比矩陣,每次迭代僅修改少量最影響分類結(jié)果的像素,減少了需要修改的像素?cái)?shù)量。Moosavi-Dezfooli 等人提出DeepFool[11],通過迭代將深度神經(jīng)網(wǎng)絡(luò)分類模型每次迭代近似為線性模型,克服了分類器非線性的問題,每次迭代將輸入樣本推至分類器分類超平面邊緣,直至分類器分類錯(cuò)誤,進(jìn)一步減少修改量。Carlini 和Wagner 提出的生成對(duì)抗樣本的方法[5],可以有效攻擊具有防御能力的模型,并減少對(duì)原圖像素的修改,從而使人眼難以察覺對(duì)抗樣本與原圖的區(qū)別。
基于迭代方式生成對(duì)抗樣本的每次迭代都需要大量的計(jì)算,導(dǎo)致生成對(duì)抗樣本需要大量的時(shí)間,如Carlini 和Wagner 提出的方法生成一個(gè)對(duì)抗樣本需要數(shù)分鐘。在對(duì)對(duì)抗攻擊時(shí)間要求較高的情況下,如要求在短時(shí)間內(nèi)生成大量對(duì)抗樣本,基于迭代生成對(duì)抗樣本的方式是不可用的。
Goodfellow 等人在文獻(xiàn)[12]中提出的FGSM(fast gradient sign method)僅通過迭代一次來生成對(duì)抗樣本,極大減少了生成對(duì)抗樣本的時(shí)間,但其在原圖上增加了明顯擾動(dòng),人眼易察覺,并且攻擊成功率低。近年來,一些文獻(xiàn)提出基于生成模型來生成對(duì)抗樣本[8,13],一旦訓(xùn)練好生成模型,在產(chǎn)生對(duì)抗樣本的階段只需要很短的時(shí)間。
Zhao 等人提出基于DNN 生成器直接生成對(duì)抗樣本[13],在訓(xùn)練生成器的同時(shí)訓(xùn)練一個(gè)Inverter,將原圖映射到特征編碼空間(latent space),使用經(jīng)原圖對(duì)應(yīng)的特征編碼修改得到的噪聲向量生成的圖像作為對(duì)抗樣本。然而生成器直接生成的對(duì)抗樣本與原圖差異很大,且受限于生成器的結(jié)構(gòu),生成的圖像并不真實(shí),無法應(yīng)用于實(shí)際攻擊。其結(jié)構(gòu)如圖1。
Fig.1 Structure of directly generating adversarial examples by DNN generator圖1 基于DNN 生成器直接生成對(duì)抗樣本的模型結(jié)構(gòu)圖
Poursaeed 等人提出一系列基于深度神經(jīng)網(wǎng)絡(luò)生成器的生成對(duì)抗樣本的模型GAP[8],生成的對(duì)抗樣本可用于圖像分類任務(wù)與自然圖像語義分割任務(wù)的對(duì)抗攻擊,其中生成器生成擾動(dòng),疊加在原始圖像上合成為一個(gè)對(duì)抗樣本。GAP 中的模型支持有目標(biāo)攻擊與無目標(biāo)攻擊,且除了根據(jù)輸入的原始圖像生成對(duì)抗擾動(dòng),GAP 還可以生成可疊加在任意輸入圖像實(shí)現(xiàn)對(duì)抗攻擊的通用對(duì)抗擾動(dòng),一旦生成器訓(xùn)練完成,只需要很短的時(shí)間就可以生成大量對(duì)抗樣本,甚至通用擾動(dòng),提高了對(duì)抗攻擊的效率。這里僅討論GAP中基于輸入圖像的無目標(biāo)攻擊模型,其結(jié)構(gòu)如圖2 所示。
輸入的原始圖像x經(jīng)過深度神經(jīng)網(wǎng)絡(luò)生成器f生成的擾動(dòng),并不能直接疊加在原始圖像之上,為了控制生成的擾動(dòng)的大小,使其不至過大,需通過L∞來限制,即將生成器生成的擾動(dòng)縮放至L∞限制的范圍之間,然后疊加到原圖上,之后將所有非法像素值截?cái)嗟胶戏ǚ秶?,最后生成一個(gè)對(duì)抗樣本。GAP 模型使用對(duì)抗樣本與原圖在待攻擊的圖像分類模型中分類結(jié)果的交叉熵?fù)p失作為損失函數(shù)來訓(xùn)練生成器模型。
盡管GAP 通過縮放擾動(dòng)至限制范圍來減少對(duì)抗樣本與原圖的區(qū)別,然而其生成的擾動(dòng)具有明顯紋理,人眼易分辨,失去了對(duì)抗攻擊的意義。如圖3 所示是限制L∞為10 的對(duì)抗樣本,人眼可在短時(shí)間內(nèi)輕易觀察到明顯的紋理。
盡管GAP 生成的對(duì)抗樣本在人眼感知上與原圖相比有明顯紋理,但是其基于DNN 生成器生成圖像分類任務(wù)對(duì)抗樣本的思路,完全區(qū)別于之前基于迭代修改原圖的方法,并且有效提升了生成對(duì)抗樣本的效率,因此本文將主要與GAP 模型進(jìn)行對(duì)比。
在對(duì)抗攻擊中,要求對(duì)抗樣本與原圖的差別盡可能小,以達(dá)到人眼觀察難以察覺的目的。大多數(shù)的研究都采用了Lp范數(shù)來評(píng)價(jià)對(duì)抗樣本與原始圖像的區(qū)別,Lp范數(shù)表示為式(2)。
其中,D為數(shù)據(jù)x的維度。L0、L2和L∞是三種最常用的Lp范數(shù)。L0用于評(píng)價(jià)對(duì)抗樣本對(duì)原始圖像修改的像素的數(shù)量。根據(jù)式(2)可知均方誤差(mean squared error,MSE)與L2是正相關(guān)的,因此歐式距離、MSE 與L2常被視為相同意義的評(píng)價(jià)指標(biāo),MSE 也常用于判斷圖像間的相似性。L∞則表征對(duì)抗樣本像素值的最大改變幅度。
在評(píng)價(jià)對(duì)抗樣本與輸入圖像的相似性上,Lp范數(shù)并不是完美的評(píng)價(jià)指標(biāo)。Wang 等人在文獻(xiàn)[14]中指出使用Lp范數(shù)來評(píng)價(jià)兩張圖像的相似性與人眼觀察有很大不同。文獻(xiàn)[14]的研究表明,人眼觀察對(duì)結(jié)構(gòu)模式的改變更加敏感,基于此,Wang 等人提出了SSIM 評(píng)價(jià)指標(biāo),從亮度、對(duì)比度與結(jié)構(gòu)信息三方面來評(píng)價(jià)兩張圖像之間的相似性,以更接近人眼觀察的效果。圖4 來自于Wang 等人的實(shí)驗(yàn),其清楚表明在同樣的MSE 下,不同SSIM 的圖像與原圖的差異不同。
具體的,圖像x與圖像y之間的SSIM 值計(jì)算如式(3):
Fig.2 GAP structure圖2 GAP 結(jié)構(gòu)圖
Fig.3 Adversarial examples generated by GAP圖3 GAP 模型生成的對(duì)抗樣本
Fig.4 Comparison between images with different SSIM but the same MSE圖4 相同MSE 值下不同SSIM 的圖像對(duì)比
式(4)、式(5)、式(6)分別比較圖像x與y之間的亮度、對(duì)比度與結(jié)構(gòu)信息。其中,μx及μy、σx及σy分別為圖像x、y的平均值和標(biāo)準(zhǔn)差,σxy為協(xié)方差。α>0,β>0,γ>0 分別為調(diào)整l(x,y)、c(x,y)、s(x,y)的相對(duì)重要性參數(shù);C1、C2、C3為常數(shù),用以維持l(x,y)、c(x,y)、s(x,y)的穩(wěn)定,實(shí)際使用時(shí),將參數(shù)設(shè)置為α=β=γ=1,同時(shí)C3=C2/2,從而得到式(7):
其中,C1=(k1L)2,C2=(k2L)2,L是像數(shù)值的動(dòng)態(tài)范圍,k1=0.01,k2=0.03。
基于迭代的模型生成一例對(duì)抗樣本需要多次迭代進(jìn)行模型的反向梯度計(jì)算與前向分類結(jié)果計(jì)算,基于生成器的GPAE 模型僅進(jìn)行一次前向計(jì)算即可快速生成一例對(duì)抗樣本;并且,GPAE 模型中多分類器損失函數(shù)的引入,使其生成的一例對(duì)抗樣本可以攻擊多個(gè)分類器,提高了攻擊效率。
為了解決現(xiàn)有基于生成器的模型產(chǎn)生的對(duì)抗樣本與原圖在人眼觀察上區(qū)別明顯的問題,GPAE 模型不再使用擾動(dòng)疊加的方式,而是將對(duì)抗樣本生成作為生成器對(duì)原圖進(jìn)行圖像增強(qiáng)的操作,采用殘差網(wǎng)絡(luò)結(jié)構(gòu)讓生成器G直接根據(jù)原圖生成對(duì)抗樣本,這使得對(duì)原圖的修改盡可能被隱藏在原圖的邊緣等人眼不易察覺的區(qū)域;GPAE 模型還使用了生成對(duì)抗網(wǎng)絡(luò)損失函數(shù)與改進(jìn)的感知損失函數(shù)作為模型訓(xùn)練的優(yōu)化目標(biāo),以確保生成的對(duì)抗樣本是真實(shí)的自然圖像,并且與原圖在人眼觀察上更加相似。
設(shè)(x,y)是數(shù)據(jù)集中的數(shù)據(jù)樣本,其中x∈X,X是所有輸入圖像數(shù)據(jù)樣本組成的集合,并且x~Pnature是符合自然圖像數(shù)據(jù)分布的圖像;y∈Y表示輸入圖像樣本對(duì)應(yīng)的在分類器中的真實(shí)分類類別標(biāo)簽。被攻擊的深度神經(jīng)網(wǎng)絡(luò)分類器f:X→Y通過訓(xùn)練,能夠根據(jù)輸入的圖像得到其對(duì)應(yīng)的類別標(biāo)簽。設(shè)一個(gè)輸入的原始圖像x∈X,對(duì)抗攻擊的目的是生成一個(gè)對(duì)抗樣本x′,使得f(x)≠f(x′)(無目標(biāo)攻擊),或者使得f(x′)≠t,t為任意指定的目標(biāo)類別(有目標(biāo)攻擊),生成的x′與x在人眼觀察上應(yīng)盡可能相近,即SSIM(x,x′)盡可能高,做到人眼不易察覺。
圖5 給出了GPAE 的總體結(jié)構(gòu),其主要由四部分組成:生成對(duì)抗樣本的生成器G、判別真實(shí)樣本與對(duì)抗樣本的判別器D、被攻擊的目標(biāo)分類器f(其用來計(jì)算分類損失Lclf)以及一個(gè)用來計(jì)算對(duì)抗樣本與輸入原圖之間的感知損失Lperceptual的結(jié)構(gòu)。
Fig.5 GPAE structure圖5 GPAE 總體結(jié)構(gòu)
與GAP 模型采用擾動(dòng)疊加的方式不同,在GPAE模型中,生成器G將原始圖像x作為模型的輸入,直接生成對(duì)抗樣本。這樣生成的對(duì)抗樣本在亮度、顏色、形變等方面進(jìn)行了細(xì)微的變換,相比于GAP 模型生成的對(duì)抗樣本,顯著提高了SSIM 指標(biāo),從而有效提升了人眼感知的相似性。
從圖5 可以看到,GPAE 模型與其他基于生成器的模型,如GAP 模型相比,未采用擾動(dòng)疊加策略來生成對(duì)抗樣本,而是直接使用生成器生成對(duì)抗樣本圖像,這在運(yùn)算效率上僅減少了擾動(dòng)疊加至原圖的時(shí)間。生成器生成對(duì)抗樣本的時(shí)間不取決于輸入數(shù)據(jù)的規(guī)模,是固定次數(shù)的浮點(diǎn)運(yùn)算,因此GPAE 模型與GAP 模型等運(yùn)算效率相當(dāng)。因?yàn)镚PAE 與GAP 模型等均基于生成器,相比于基于迭代的模型,可以有效降低對(duì)抗樣本生成的時(shí)間。
一旦GPAE 模型的生成器G訓(xùn)練完成,在對(duì)抗樣本生成階段,每次只需要將原圖輸入生成器進(jìn)行一次前向計(jì)算就可以生成一例對(duì)抗樣本?;诘膶?duì)抗樣本生成模型每次迭代修改原圖后,都需要將修改的圖像輸入分類器進(jìn)行一次前向計(jì)算以判斷當(dāng)前攻擊是否成功,并且不同的模型每次迭代還需要對(duì)梯度、分類超平面等進(jìn)行計(jì)算。以梯度計(jì)算為例,每次迭代就需要一次分類器的反向計(jì)算。因此基于迭代修改的對(duì)抗樣本構(gòu)造模型與基于生成器的GPAE相比,在對(duì)抗樣本生成時(shí)間復(fù)雜度上,前者始終是后者的n倍(n指迭代次數(shù))。
生成器G生成的對(duì)抗樣本x′=G(x)被輸入至判別器D,通過訓(xùn)練判別器D,使其能夠盡可能地將真實(shí)樣本與對(duì)抗樣本分辨出來;同時(shí)訓(xùn)練生成器G,盡可能生成讓判別器D無法正確判別的生成圖像,其損失函數(shù)如式(8)。
式(8)中E代表期望,x~Pr表示輸入的原始圖像。在優(yōu)化Lgan時(shí),通過對(duì)抗的方式同時(shí)訓(xùn)練G與D的生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu),使生成器G生成的對(duì)抗樣本符合輸入圖像的分布,以使對(duì)抗樣本與輸入的原始圖像具有相同分布,進(jìn)而生成自然圖像。
為了提高對(duì)抗樣本與原圖在人眼觀察上的相似性,GPAE 將均方誤差MSE 與改進(jìn)的感知內(nèi)容損失集成為訓(xùn)練生成器G的損失函數(shù)的一部分,即感知損失Lperceptual。通過訓(xùn)練模型降低感知損失,從而使經(jīng)過訓(xùn)練的生成器G生成的對(duì)抗樣本在人眼觀察上高度接近原圖。
對(duì)抗樣本x′=G(x)輸入到被攻擊的分類模型f,將對(duì)抗樣本在DNN 分類器中的分類結(jié)果與指定的分類目標(biāo)之間的交叉熵作為分類損失Lclf,并作為訓(xùn)練G的損失函數(shù)的一部分。形式化描述分類損失為式(9)。
其中,H為交叉熵函數(shù)。通過優(yōu)化分類損失使對(duì)抗樣本能成功攻擊目標(biāo)模型,同時(shí)GPAE 集成多個(gè)分類損失,以生成能攻擊多個(gè)DNN 分類器的對(duì)抗樣本,進(jìn)而提高攻擊效率。
最終訓(xùn)練GPAE 中生成器的損失函數(shù)由上述各部分組成,如式(10)。
其中,a、b、c為實(shí)數(shù),用來調(diào)整各部分損失的權(quán)重。通過優(yōu)化損失函數(shù)來訓(xùn)練生成器G,從而得到可以生成與原圖在視覺上極為相似的對(duì)抗樣本,并具備同時(shí)攻擊多個(gè)分類模型的能力。
GPAE 基于生成對(duì)抗網(wǎng)絡(luò)GAN 結(jié)構(gòu)[15],同時(shí)訓(xùn)練生成器G與判別器D,進(jìn)而利用G直接生成對(duì)抗樣本。與直接使用GAN 根據(jù)輸入的噪聲向量生成一個(gè)自然圖像不同,GPAE 的對(duì)抗樣本生成是一個(gè)圖像增強(qiáng)的過程,G對(duì)輸入的原始圖像進(jìn)行增強(qiáng)從而得到對(duì)抗樣本,這非常符合殘差網(wǎng)絡(luò)(residual networks,ResNets)[16]的設(shè)計(jì),因此GPAE 采用殘差網(wǎng)絡(luò)來構(gòu)造生成器G,其結(jié)構(gòu)如圖6。其中每一個(gè)殘差塊(residual block)的結(jié)構(gòu)如圖7。
Fig.6 Structure of GPAE generator圖6 GPAE 生成器結(jié)構(gòu)
Fig.7 Structure of Residual Block圖7 Residual Block 的結(jié)構(gòu)
在圖6與圖7中,k代表卷積核大小(kernel size),n代表輸出的特征圖(feature map)的層數(shù),s代表卷積步長(stride),p代表填充的大?。╬adding);PRelu表示帶參數(shù)的線性整流函數(shù)(parametric rectified linear unit);BN 表示批歸一化(batch normalization);⊕操作表示按位疊加。
判別器D用來判別其輸入是對(duì)抗樣本還是原始圖像,在GPAE 中D被設(shè)計(jì)為一個(gè)最常見的卷積神經(jīng)網(wǎng)絡(luò),通過sigmoid 函數(shù)輸出一個(gè)0 至1 的值,其值越小,D越傾向于將樣本判別為對(duì)抗樣本;反之,其值越大D越傾向于將樣本判別為原始圖像。其結(jié)構(gòu)如圖8 所示。
其中各參數(shù)的含義與上述生成器一致。每個(gè)灰色塊表示的是由卷積塊、BN 層與激活函數(shù)層組成的塊。本文使用的Leaky Relu 激活函數(shù)中的非零斜率為0.2。
為了提高對(duì)抗樣本與原圖之間視覺上的相似性(perceptual similarity),GPAE 設(shè)計(jì)了改進(jìn)的感知損失函數(shù)Lperceptual以同時(shí)優(yōu)化對(duì)抗樣本與原圖在內(nèi)容空間與特征空間的相似性,并將其作為訓(xùn)練G的損失函數(shù)的一部分。Lperceptual由均方誤差MSE和文獻(xiàn)[17]中SRGAN(super resolution generative adversarial network)的感知損失函數(shù)組成,并對(duì)SRGAN 中的感知損失進(jìn)行了優(yōu)化改進(jìn),Lperceptual的結(jié)構(gòu)如圖9 所示。
感知損失主要由均方誤差MSE 與VGG 損失兩部分構(gòu)成,并根據(jù)不同權(quán)重組合為Lperceptual,如式(11)。
其中,MSE 主要用來描述對(duì)抗樣本與原圖之間像素值內(nèi)容(pixel-wise)上的相似性,MSE 越低就越相似。并且,MSE 越低,對(duì)抗樣本與原圖之間的峰值信噪比(peak signal-to-noise ratio,PSNR)就越高,從而確保兩者之間的內(nèi)容空間上的相似性。單通道圖像的MSE 均方誤差如式(12)。
其中,x′為對(duì)抗樣本,x為原圖,n、m分別用來指定圖像中像素的坐標(biāo)。
Fig.8 Structure of discriminator圖8 判別器的結(jié)構(gòu)
Fig.9 Perceptual loss composition圖9 感知損失構(gòu)成
MSE 僅表征了對(duì)抗樣本與原圖在圖像空間上內(nèi)容的相似性,優(yōu)化MSE 值可以有效提高PSNR 指標(biāo),但是PSNR 指標(biāo)高不完全表示對(duì)抗樣本與原圖在人眼觀察上的相似性就高。在訓(xùn)練模型時(shí),MSE 會(huì)對(duì)幅度改變大的像素有更強(qiáng)的懲罰,而對(duì)于幅度改變小的像素懲罰較低,最終使生成的對(duì)抗樣本與原圖之間像素值改變小,范圍改變較大,這樣的改變會(huì)影響圖像局部的結(jié)構(gòu)信息、亮度與顏色等,實(shí)際上人眼對(duì)圖像無紋理區(qū)域的結(jié)構(gòu)、顏色、亮度等改變更為敏感,這些改變會(huì)降低SSIM 指標(biāo)。而在特征空間中包含了對(duì)圖像提取的結(jié)構(gòu)特征信息與紋理特征信息,因此GPAE 增加了在特征空間中的計(jì)算相似性的損失函數(shù),從而進(jìn)一步提升對(duì)抗樣本與原圖的相似性:GPAE 基于VGG16 模型,使用原圖與對(duì)抗樣本在同一個(gè)預(yù)訓(xùn)練的VGG16 模型上的特征圖(feature map)上的相似性作為損失函數(shù),為了方便表述,稱該損失函數(shù)為VGG 損失LVGG。
文獻(xiàn)[18]通過比較輸入激活函數(shù)之前與之后的特征的類激活映射圖(activation map),發(fā)現(xiàn)輸入激活函數(shù)之前的特征圖與經(jīng)過激活函數(shù)之后的特征圖相比擁有更多影響分類結(jié)果的像素。這說明隨著VGG模型深度加深,絕大多數(shù)經(jīng)過激活函數(shù)之后的特征變得非活躍,且激活函數(shù)之前輸出的特征相比激活函數(shù)之后輸出的特征具有更多信息。這些代表特征空間中的特征信息,包含了結(jié)構(gòu)信息、紋理信息,而特征圖經(jīng)過激活函數(shù)后會(huì)減少特征信息的輸出,因此計(jì)算激活函數(shù)之前的特征圖之間的相似性要比計(jì)算特征圖之后的相似性更加全面準(zhǔn)確?;诖?,GPAE使用線性整流函數(shù)(rectified linear unit,ReLU)之前的特征圖來計(jì)算誤差。因?yàn)椴煌瑢拥木矸e層提取的特征信息不同,為了讓損失函數(shù)包含更多特征空間中的相似性損失,進(jìn)而更好地訓(xùn)練生成器生成與原圖在結(jié)構(gòu)信息、紋理信息上更相似的對(duì)抗樣本,本文使用多個(gè)卷積層的輸出特征圖進(jìn)行損失函數(shù)計(jì)算,具體在GPAE 模型中選擇了不同通道(channel)數(shù)的三個(gè)卷積層計(jì)算對(duì)抗樣本與原圖在特征空間中的相似性,加權(quán)求和得到VGG 損失,結(jié)構(gòu)如圖10 所示。
將原圖與對(duì)抗樣本同時(shí)輸入預(yù)訓(xùn)練好的VGG16模型中,在圖中灰色卷積層中,其在激活函數(shù)之前輸出的特征圖之間的均方誤差分別為MSE128、MSE256、MSE512。最終的VGG 損失為上述三項(xiàng)的加權(quán)求和,如式(13)所示。
其中,i、j、k分別為不同項(xiàng)的權(quán)重。不同卷積層輸出的特征圖信息都不盡相同,通過文獻(xiàn)[19]提出的Network Inversion以及文獻(xiàn)[20]提出的Network Dissection等卷積神經(jīng)網(wǎng)絡(luò)可視化技術(shù)對(duì)卷積層輸出特征圖的研究可知,較淺層的卷積層會(huì)更偏向于提取位置與顏色信息,而較深層的卷積層則偏向于提取類別紋理、目標(biāo)等更加影響人眼感知的信息,因此為了提升生成的對(duì)抗樣本與原圖在人眼觀察與感知上的相似性,較深層的卷積層輸出的特征圖相似性應(yīng)該具有更高的權(quán)重。此外,隨著深度的增加,卷積層輸出的特征圖也更加抽象,而較淺層卷積層輸出的特征圖包含更多輸入圖像的內(nèi)容信息,由于GPAE 模型已經(jīng)在感知損失函數(shù)中使用了MSE 來保證對(duì)抗樣本與原圖內(nèi)容上的相似性,因此在VGG 損失中,越深的特征圖相似性損失項(xiàng)應(yīng)該具有更高的權(quán)重,即上述三個(gè)權(quán)重參數(shù)i、j、k應(yīng)該是逐漸增加的。根據(jù)上述分析,如果要求對(duì)抗樣本與原圖在顏色等信息上更相近,可增加淺層卷積層輸出特征圖的相似性損失項(xiàng)權(quán)重。
Fig.10 VGG loss composition圖10 VGG 損失構(gòu)成
GPAE模型通過將多個(gè)分類模型的分類損失集成為最終訓(xùn)練生成器G的分類損失函數(shù),以支持生成器G生成能攻擊多個(gè)分類模型的對(duì)抗樣本。形式化描述為:設(shè)被攻擊的分類模型為f1,f2,…,fm,通過GPAE生成的對(duì)抗樣本x′=G(x)可以同時(shí)使這些分類器分類錯(cuò)誤,以無目標(biāo)攻擊為例,即f1(G(x))≠f1(x),f2(G(x))≠f2(x),…,fm(G(x))≠fm(x)。實(shí)現(xiàn)攻擊多個(gè)分類模型的結(jié)構(gòu)如圖11 所示。
Fig.11 Attack multiple classifiers圖11 攻擊多個(gè)分類器
生成器G生成的對(duì)抗樣本x′被輸入多個(gè)預(yù)訓(xùn)練好的分類器f1,f2,…,fm。最終的分類損失是各個(gè)分類模型的損失函數(shù)的線性組合,如式(14)。
其中,{λ1,λ2,…,λm}?R 是不同分類器的權(quán)值,該權(quán)值依賴于被攻擊的模型的復(fù)雜度,越復(fù)雜的模型其權(quán)重越高,結(jié)構(gòu)越簡(jiǎn)單的模型權(quán)重越低。在本文中,同時(shí)攻擊預(yù)訓(xùn)練好的VGG16、VGG19 兩個(gè)DNN 分類器。
盡管從結(jié)構(gòu)上看GPAE 模型除了生成器與判別器包含DNN 網(wǎng)絡(luò)結(jié)構(gòu),在損失函數(shù)中,分類損失函數(shù)與改進(jìn)的感知損失函數(shù)也具有DNN 網(wǎng)絡(luò)結(jié)構(gòu),但實(shí)際上因?yàn)閾p失函數(shù)中的DNN 結(jié)構(gòu)都是預(yù)訓(xùn)練好的模型,因此在參數(shù)訓(xùn)練過程中,GPAE 模型僅需要訓(xùn)練生成器G與判別器D的參數(shù)。與其他基于生成器的對(duì)抗樣本生成模型相比,GPAE 模型增加的參數(shù)量實(shí)際僅為判別器的參數(shù)。判別器參數(shù)的訓(xùn)練方式與GAN 中訓(xùn)練方式一致,不會(huì)影響導(dǎo)致的收斂。
與生成器僅生成疊加在原圖的擾動(dòng)不同,GPAE模型中的生成器G需要直接根據(jù)輸入的原圖生成對(duì)抗樣本,這就需要G的結(jié)構(gòu)具備更高的復(fù)雜度來完成圖像生成任務(wù)。因此,GPAE 模型需要增加生成器G的深度,在深度神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練時(shí),通過反向傳播的方式來計(jì)算損失函數(shù)對(duì)每層神經(jīng)網(wǎng)絡(luò)中各參數(shù)的梯度,進(jìn)而更新模型參數(shù)。如文獻(xiàn)[21]所述,根據(jù)鏈?zhǔn)角髮?dǎo)規(guī)則計(jì)算損失函數(shù)對(duì)模型中某層網(wǎng)絡(luò)的參數(shù)的梯度,實(shí)際上是計(jì)算該層網(wǎng)絡(luò)之后的每層網(wǎng)絡(luò)的輸出對(duì)輸入的偏導(dǎo)數(shù)的連乘結(jié)果,因此,當(dāng)模型深度加深時(shí),模型中淺層梯度就會(huì)通過更多項(xiàng)偏導(dǎo)數(shù)的連乘計(jì)算得到,當(dāng)偏導(dǎo)數(shù)小于1 時(shí),連乘結(jié)果就會(huì)變得很小,導(dǎo)致反向傳播時(shí)淺層網(wǎng)絡(luò)中參數(shù)的梯度很小,進(jìn)而淺層參數(shù)更新緩慢,以致模型難以收斂,出現(xiàn)梯度消失問題[21];當(dāng)偏導(dǎo)數(shù)大于1 時(shí),連乘的結(jié)果就會(huì)很大,導(dǎo)致淺層梯度大,進(jìn)而淺層參數(shù)更新幅度大,模型訓(xùn)練不穩(wěn)定,出現(xiàn)梯度爆炸問題[22]。換句話說,模型深度的加深會(huì)加劇連乘效應(yīng),導(dǎo)致淺層梯度過小或過大,最終導(dǎo)致模型難以訓(xùn)練。
GPAE 模型中采用的殘差網(wǎng)絡(luò)塊結(jié)構(gòu)[16],通過跳連的方式將淺層的輸出跳連至深層的輸出,殘差塊僅輸出殘差,與輸入相加后成為最終的輸出。因此在反向傳播時(shí),損失函數(shù)的梯度通過跳連的結(jié)構(gòu)直接傳遞到淺層網(wǎng)絡(luò),減少淺層梯度的計(jì)算受模型深度的影響,使得在訓(xùn)練時(shí)較淺層的梯度不會(huì)異常,有效避免了模型深度加深對(duì)收斂性的影響。
GPAE 模型中使用了Batch Normalization 操作,對(duì)輸入卷積層的批數(shù)據(jù)進(jìn)行歸一化,使其均值與方差規(guī)范,從而有效避免在訓(xùn)練時(shí)產(chǎn)生的梯度爆炸與梯度消失問題,使模型訓(xùn)練可以更快收斂;因?yàn)閷?duì)數(shù)據(jù)都進(jìn)行了歸一化操作,也減少了模型對(duì)輸入的初始參數(shù)的依賴,使得模型更容易訓(xùn)練,更易收斂。
分別對(duì)GPAE 生成器生成的對(duì)抗樣本與輸入原圖的人眼感知相似性、GPAE 中改進(jìn)的感知內(nèi)容損失的有效性以及GPAE 同時(shí)攻擊多個(gè)DNN 分類器的能力進(jìn)行實(shí)驗(yàn)。
使用了ImageNet ILSVRC 2012 數(shù)據(jù)集[23]與Tiny ImageNet數(shù)據(jù)集[24],這兩個(gè)數(shù)據(jù)集均為自然圖像數(shù)據(jù)集。ImageNet ILSVRC 2012數(shù)據(jù)集的訓(xùn)練集一共包含128萬張圖像,驗(yàn)證集包含50 000張圖像,測(cè)試集包含100 000 張圖像。Tiny ImageNet 數(shù)據(jù)集與ImageNet ILSVRC 數(shù)據(jù)集相似,但數(shù)據(jù)量規(guī)模較小,其訓(xùn)練集包含100 000 張大小為64×64 的自然圖像,每個(gè)分類有500 張圖像用于訓(xùn)練、50 張圖像用于驗(yàn)證、50 張圖像用于測(cè)試。
經(jīng)過多次實(shí)驗(yàn),發(fā)現(xiàn)GPAE 各部分損失函數(shù)參數(shù)設(shè)置如圖12 所示可以取得最好的實(shí)驗(yàn)效果。
Fig.12 Settings and composition of loss function圖12 損失函數(shù)參數(shù)設(shè)置與構(gòu)成
根據(jù)圖12,訓(xùn)練GPAE 生成器的損失函數(shù)如式(15)所示。
在GPAE 模型訓(xùn)練中,每一個(gè)mini-batch 的batchsize 為15,epoch 設(shè)置為30,同時(shí)設(shè)置在驗(yàn)證集上攻擊成功率改變小于0.05 時(shí)停止訓(xùn)練。
實(shí)驗(yàn)在上述參數(shù)設(shè)置下進(jìn)行。
為了測(cè)試GPAE 模型對(duì)不同深度神經(jīng)網(wǎng)絡(luò)分類器的攻擊效果,以及對(duì)抗樣本與原圖的人眼觀察相似性,本實(shí)驗(yàn)每次僅攻擊一個(gè)DNN 分類模型。使用ImageNet ILSVRC 2012 數(shù)據(jù)集,并將在ImageNet ILSVRC 2012 數(shù)據(jù)集上預(yù)訓(xùn)練的VGG16、VGG19 和Inception-V3模型作為需要攻擊的DNN分類器。GPAE生成器生成的對(duì)抗樣本將與GAP 模型生成的對(duì)抗樣本進(jìn)行對(duì)比,以驗(yàn)證GPAE 模型是否能在保持攻擊成功率的基礎(chǔ)上提高對(duì)抗樣本與原圖的SSIM 值,從而提高人眼觀察相似性。其中,作為對(duì)比的GAP 模型生成的對(duì)抗樣本與原圖的差異L∞被設(shè)置為10。
在上述設(shè)置下訓(xùn)練GPAE 與GAP 模型生成器。將測(cè)試集的圖像作為原圖分別輸入GPAE 與GAP 生成器,得到對(duì)抗樣本,用生成的對(duì)抗樣本攻擊分類器。實(shí)驗(yàn)得到的對(duì)抗樣本與原圖的SSIM 值及對(duì)抗樣本的攻擊成功率如表1 所示。
Table 1 Comparison of SSIM and fooling ratio表1 結(jié)構(gòu)相似性與攻擊成功率對(duì)比
為了展示人眼觀察下實(shí)驗(yàn)結(jié)果對(duì)抗樣本的差異,這里羅列出部分GPAE 和GAP 模型生成的對(duì)抗樣本對(duì)比圖,如圖13 所示。進(jìn)一步地,為了更清楚展現(xiàn)細(xì)節(jié)區(qū)別,局部放大對(duì)比圖如圖14 所示。
Fig.13 Comparison of adversarial examples generated by GPAE and GAP圖13 GPAE 和GAP 模型生成的對(duì)抗樣本對(duì)比圖
Fig.14 Local enlarged comparison圖14 局部放大對(duì)比圖
由表1 可見,GPAE 模型生成的對(duì)抗樣本,相比于GAP 模型生成的對(duì)抗樣本,能夠在保持攻擊成功率的基礎(chǔ)上,提升與原圖的SSIM 值。觀察GPAE 與GAP 生成的對(duì)抗樣本發(fā)現(xiàn):GPAE 生成的對(duì)抗樣本相比GAP 生成的對(duì)抗樣本,與原圖在人眼視覺感知上更加相似,GAP 生成的對(duì)抗樣本與原圖相比,明顯可見疊加了紋理;而GPAE 生成的對(duì)抗樣本與原圖的差異較小,人眼不易察覺出區(qū)別。觀察GPAE 模型與GAP 模型生成的對(duì)抗樣本與原圖的差異可以發(fā)現(xiàn),使用GPAE 模型生成的擾動(dòng)會(huì)更加依賴原始圖像,幅度較大的擾動(dòng)信號(hào)主要分布在原始圖像的一些結(jié)構(gòu)邊緣,這樣生成的擾動(dòng)減少了對(duì)原圖結(jié)構(gòu)信息的改變,而GAP 生成的擾動(dòng)則是非常明顯的紋理整體疊加在原圖上。
為了驗(yàn)證GPAE模型中改進(jìn)的感知內(nèi)容損失LVGG能否有效提高對(duì)抗樣本與原圖的相似性,提高兩者間的SSIM 值,分別對(duì)以下三種情況下的對(duì)抗樣本的生成情況進(jìn)行了實(shí)驗(yàn):
(1)未使用感知內(nèi)容損失。
(2)未改進(jìn)的感知內(nèi)容損失:即SRGAN 中使用的感知內(nèi)容損失,僅使用VGG 模型的最后一層激活函數(shù)之后輸出的特征圖來計(jì)算感知內(nèi)容損失。
(3)改進(jìn)的感知內(nèi)容損失。本部分實(shí)驗(yàn)在Tiny ImageNet 數(shù)據(jù)集上完成,攻擊的分類模型為預(yù)訓(xùn)練的VGG16 分類模型,實(shí)驗(yàn)結(jié)果如表2 所示。
Table 2 Experimental results of different perceptual loss functions表2 不同的感知損失函數(shù)實(shí)驗(yàn)結(jié)果
為了驗(yàn)證表2 中的實(shí)驗(yàn)結(jié)果數(shù)據(jù),圖15 展示了三組生成的對(duì)抗樣本與原圖對(duì)比情況。
Fig.15 Adversarial examples comparison with different perceptual losses圖15 不同感知損失的對(duì)抗樣本對(duì)比
實(shí)驗(yàn)結(jié)果表明:使用改進(jìn)的感知內(nèi)容損失,能在保持攻擊成功率的基礎(chǔ)上,有效提升對(duì)抗樣本與原圖的SSIM 值。觀察生成的對(duì)抗樣本可見:使用改進(jìn)的感知內(nèi)容損失訓(xùn)練生成器,能增加對(duì)抗樣本的細(xì)節(jié),減少對(duì)原圖的擾動(dòng),提升對(duì)抗樣本與原圖之間在人眼觀察上的相似性,相比于未使用感知內(nèi)容損失的模型,減少了對(duì)抗樣本上的紋路,圖像更加自然。未改進(jìn)的感知內(nèi)容損失對(duì)結(jié)構(gòu)相似性指標(biāo)SSIM 效果提升有限,相比于改進(jìn)的感知內(nèi)容損失,在與原圖的對(duì)比中,仍然有較為明顯的紋路擾動(dòng)添加,人眼易察覺。
本文通過集成多個(gè)分類器損失函數(shù)實(shí)現(xiàn)對(duì)多個(gè)分類模型的攻擊。本部分對(duì)攻擊多個(gè)模型的效果進(jìn)行相關(guān)實(shí)驗(yàn)。使用ImageNet ILSVRC 2012 數(shù)據(jù)集作為訓(xùn)練、驗(yàn)證與測(cè)試數(shù)據(jù)集,實(shí)現(xiàn)對(duì)VGG16、VGG19模型的同時(shí)攻擊。
使用LVGG16、LVGG19兩個(gè)分類模型的分類損失函數(shù)構(gòu)成總的分類損失函數(shù)Lclf,因?yàn)閂GG19 模型相比VGG16 更加復(fù)雜,經(jīng)過多次實(shí)驗(yàn),將各部分的權(quán)值設(shè)置如式(16),取得最好的實(shí)驗(yàn)結(jié)果。
為了進(jìn)行對(duì)比實(shí)驗(yàn),首先分別單獨(dú)使用LVGG16、LVGG19作為分類損失對(duì)GPAE 模型生成器進(jìn)行訓(xùn)練,再使用LVGG16、LVGG19集成的分類損失對(duì)生成器進(jìn)行訓(xùn)練。表3 分別對(duì)這三個(gè)生成器生成的對(duì)抗樣本在不同分類器上的對(duì)抗攻擊成功率進(jìn)行展示。
Table 3 Comparison of single and multiple attack表3 攻擊單個(gè)與多個(gè)模型對(duì)比實(shí)驗(yàn)
從表3 可看出:當(dāng)僅使用VGG16 或者VGG19 單個(gè)分類器的損失函數(shù)來訓(xùn)練生成器,其生成的對(duì)抗樣本在攻擊另一個(gè)預(yù)訓(xùn)練的分類器時(shí),其攻擊成功率都會(huì)大幅下降,而使用集成的分類損失函數(shù)訓(xùn)練生成器,其生成的對(duì)抗樣本在兩個(gè)分類器上都取得了較高的攻擊成功率。實(shí)驗(yàn)結(jié)果表明:通過將多個(gè)DNN 分類器的分類損失函數(shù)集成為訓(xùn)練GPAE 生成器的損失函數(shù),相比僅使用單個(gè)分類器損失函數(shù)進(jìn)行訓(xùn)練的生成器,能有效提升生成的對(duì)抗樣本在不同模型上的攻擊成功率,驗(yàn)證了該結(jié)構(gòu)生成的對(duì)抗樣本能攻擊多個(gè)DNN 分類器,有效提高生成對(duì)抗樣本的效率。
本文提出了一種基于生成器生成對(duì)抗樣本的模型,相比基于迭代的對(duì)抗攻擊樣本生成的方法,能夠快速生成大量對(duì)抗樣本。相比于其他基于生成器的對(duì)抗攻擊模型,本文提出的模型在保持攻擊成功率的前提下,有效提升了對(duì)抗樣本與原圖之間人眼觀察的相似性,從生成對(duì)抗樣本的時(shí)間與對(duì)抗樣本與原圖的相似性兩方面保證了可用性。
本文的核心點(diǎn)主要有三個(gè):
(1)使用GAN,并基于殘差網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)了一個(gè)生成器模型,直接依據(jù)輸入原圖生成對(duì)抗樣本,不采用疊加擾動(dòng)來生成對(duì)抗樣本的方式,避免了使用擾動(dòng)疊加方式生成的對(duì)抗樣本與原圖具有明顯不同的問題,GAN 同樣讓GPAE 生成的對(duì)抗樣本圖像更加真實(shí)。
(2)引入改進(jìn)的感知損失,從圖像內(nèi)容空間與特征空間優(yōu)化對(duì)抗樣本與原圖的相似性,不僅保證了像素值內(nèi)容相似,也優(yōu)化了紋理、結(jié)構(gòu)信息等相似性,進(jìn)一步提升了對(duì)抗樣本從人眼觀察上與原圖的相似性。
(3)通過集成多個(gè)分類模型的損失函數(shù),使生成的對(duì)抗樣本能攻擊多個(gè)主流深度神經(jīng)網(wǎng)絡(luò)分類模型,提高了對(duì)抗攻擊的效率。
實(shí)驗(yàn)結(jié)果表明,相比于其他基于生成器的對(duì)抗攻擊模型,本文提出的模型取得了較高的攻擊成功率,并且有效提升了對(duì)抗樣本與原圖之間的相似性,更加不易被人眼察覺。
本文的后續(xù)工作可以在以下方面開展:
(1)修改模型中的分類損失函數(shù),從而實(shí)現(xiàn)有目標(biāo)攻擊。
(2)改進(jìn)殘差網(wǎng)絡(luò)塊的結(jié)構(gòu),以生成更自然精細(xì)的圖像。