王辛晨, 蘇秋旸, 楊鄧奇, 陳本輝, 李曉偉
大理大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 大理 中國(guó) 671000
隨著人工智能的高速發(fā)展, 深度學(xué)習(xí)被廣泛的應(yīng)用到了自然語(yǔ)言處理、語(yǔ)音識(shí)別、計(jì)算機(jī)視覺(jué)等多個(gè)領(lǐng)域并展現(xiàn)出良好的效果。特別是計(jì)算機(jī)視覺(jué)方面, 在圖像識(shí)別和圖像分類中, 深度學(xué)習(xí)具備非常高的準(zhǔn)確性, 甚至在一些特殊情況下表現(xiàn)出超出人類的工作能力。因此越來(lái)越多的研究人員將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到各個(gè)生產(chǎn)生活領(lǐng)域。由于深度神經(jīng)網(wǎng)絡(luò)對(duì)于數(shù)據(jù)的分析理解方式與人類存在明顯差異,模型的神經(jīng)元數(shù)量大, 參數(shù)多, 且層次之間連接方式眾多, 許多時(shí)候深度學(xué)習(xí)的工作原理和工作方式仍然缺乏可解釋性[1]。因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,其最終的結(jié)果有時(shí)候會(huì)與預(yù)期的結(jié)果存在差距, 甚至遠(yuǎn)超人們的預(yù)想。這就導(dǎo)致了一些“奇怪的”事情發(fā)生。2014年在Szegedy等人的論文中提到, 對(duì)于一些加入特殊擾動(dòng)的圖像, 深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)出很高的脆弱性, Szegedy將這樣的圖像稱作“對(duì)抗樣本”。對(duì)于圖像來(lái)說(shuō), 這樣的擾動(dòng)通常很小, 難以察覺(jué), 但它們完全欺騙了深度學(xué)習(xí)模型[2]。如圖1所示, 將沒(méi)被加入擾動(dòng)的圖片輸入模型, 模型可以正確將其分類; 將加入特定擾動(dòng)的圖片輸入模型, 模型將其錯(cuò)誤分類。同時(shí)這種對(duì)抗樣本的圖像與正常圖像在人眼看來(lái)并沒(méi)有什么太大的變換。
圖1 生成對(duì)抗攻擊樣本Figure 1 Generates a counter attack sample
與傳統(tǒng)的機(jī)器學(xué)習(xí)模型存在的漏洞不同, 對(duì)抗樣本的攻擊并不是由于模型編寫代碼時(shí)的失誤或是錯(cuò)誤造成的。對(duì)抗樣本是一種人為加入特定擾動(dòng)的數(shù)據(jù)樣本, 這些加入特殊擾動(dòng)的數(shù)據(jù)樣本在被輸入到機(jī)器學(xué)習(xí)模型之后, 模型將其錯(cuò)誤的分類, 但是這些特殊擾動(dòng)是人類無(wú)法通過(guò)自身感知力察覺(jué)的。
目前, 已經(jīng)有很多學(xué)者在對(duì)抗樣本的圖像領(lǐng)域做了研究。一方面, 一些研究人員將主要的擾動(dòng)信息添加在了圖片的重點(diǎn)區(qū)域, 以期望減少擾動(dòng)信息,做到更好的隱蔽性。但是圖片的重點(diǎn)關(guān)注區(qū)域同樣也是人眼的主要關(guān)注區(qū)域, 這些添加的擾動(dòng)信息同樣也容易被人眼所察覺(jué), 隱蔽性也大打折扣。另一方面, 一些研究人員做到了擾動(dòng)信息的隱蔽性, 添加這些擾動(dòng)信息的圖片很難被人眼所察覺(jué), 但是生成這些對(duì)抗樣本的圖片所消耗的時(shí)間相對(duì)較長(zhǎng), 不利于大規(guī)模生成對(duì)抗樣本。本文提出了一種聚焦圖片邊緣區(qū)域的攻擊算法:
(1) 通過(guò)YOLO目標(biāo)檢測(cè)模型提取卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像的重點(diǎn)關(guān)注區(qū)域;
(2) 以MIFGSM為基礎(chǔ), 結(jié)合Curls先梯度下降再梯度上升的思想, 對(duì)這些重點(diǎn)關(guān)注區(qū)域之外的區(qū)域進(jìn)行擾動(dòng)信息的添加;
(3) 為避免模型整體速度降低, 采用固定次數(shù)進(jìn)行梯度下降優(yōu)化, 最后形成局部擾動(dòng)的圖像對(duì)抗樣本。
在探索深度學(xué)習(xí)可解釋性的研究過(guò)程中, Szegedy等人[3]證明了深度學(xué)習(xí)模型對(duì)加入特定擾動(dòng)的輸入樣本表現(xiàn)出極強(qiáng)的脆弱性, 并由此發(fā)現(xiàn)了對(duì)抗樣本的存在,提出了第一個(gè)針對(duì)深度學(xué)習(xí)的對(duì)抗攻擊方案Box-constrained L-BFGS。Goodfellow等人[4]設(shè)計(jì)了快速梯度對(duì)抗攻擊的方法, 即FGSM。他們認(rèn)為由于深度神經(jīng)網(wǎng)絡(luò)存在高維線性特征, 導(dǎo)致高維線性模型存在對(duì)抗樣本。通過(guò)調(diào)整修改幅度的大小來(lái)提高對(duì)抗樣本攻擊的成功率, 但是過(guò)大的修改幅度在提高攻擊成功率的同時(shí)也容易被人眼所察覺(jué)。基于FGSM衍生出了BIM攻擊方法[5]。Papernot等人[6]提出了JSMA攻擊, 不同于之前的添加全局?jǐn)_動(dòng),JSMA選擇對(duì)抗顯著值最大的像素進(jìn)行擾動(dòng)。Moosavi-Dezfooli等人[7]提出了DeepFool方法, 通過(guò)每一次迭代, 沿著決策邊界方向進(jìn)行擾動(dòng), 逐步地將分類結(jié)果向決策邊界另一側(cè)移動(dòng), 使得分類器分類錯(cuò)誤。隨后Moosavi-Dezfooli等人[8]又提出了Universal Perturbation攻擊, 不同于針對(duì)單張圖片進(jìn)行對(duì)抗攻擊, Universal Perturbation生成的擾動(dòng)具有很強(qiáng)的泛化能力, 能夠跨數(shù)據(jù)集、跨模型實(shí)施對(duì)抗攻擊。One-Pixel攻擊通過(guò)僅改變?cè)紙D像中一個(gè)像素點(diǎn)實(shí)現(xiàn)針對(duì)深度神經(jīng)網(wǎng)絡(luò)的對(duì)抗攻擊, 是一種基于前向傳播的攻擊方案[9]。Xiao等人[10]提出以生成對(duì)抗網(wǎng)絡(luò)為基礎(chǔ)的對(duì)抗樣本生成方法, 這種方法通過(guò)對(duì)抗網(wǎng)絡(luò)(GAN)生成可用于攻擊的對(duì)抗樣本。Huang等人[11]提出了一種中間層攻擊的方法, 從而使對(duì)抗樣本更具有遷移性。Han等人[12]提出了一種多目標(biāo)攻擊的對(duì)抗樣本生成網(wǎng)絡(luò), 可以將一個(gè)圖片生成多種類型的對(duì)抗樣本。Zhou等人[13]提出了一種利用GAN來(lái)替代模型的方法, 這種方法不需要真實(shí)數(shù)據(jù)即可生成對(duì)抗樣本。
對(duì)抗樣本攻擊不只單純存在于計(jì)算機(jī)內(nèi)部, 通過(guò)物理世界的設(shè)備和語(yǔ)音識(shí)別、自然語(yǔ)音處理方面也可以進(jìn)行對(duì)抗樣本攻擊。Kurakin等人[14]將對(duì)抗樣本的圖片打印出來(lái)后, 讓手機(jī)攝像頭對(duì)加入擾動(dòng)的圖片進(jìn)行識(shí)別, 結(jié)果顯示, 即使通過(guò)攝像頭輸入, 模型識(shí)別的結(jié)果仍然可能出現(xiàn)錯(cuò)誤。Sharif等人[15]將擾動(dòng)加入到眼鏡框上, 制作出一副特殊的對(duì)抗樣本眼鏡, 佩戴者戴上這副眼鏡后, 人臉識(shí)別系統(tǒng)將其識(shí)別成其他人, 甚至出現(xiàn)性別識(shí)別錯(cuò)誤的情況。Eykholt等人[16]在交通標(biāo)志上進(jìn)行涂抹或貼圖, 僅改變交通標(biāo)志一小部分區(qū)域的像素, 導(dǎo)致汽車的識(shí)別系統(tǒng)產(chǎn)生判斷錯(cuò)誤, 從而對(duì)自動(dòng)駕駛系統(tǒng)進(jìn)行攻擊。JunchengB等人[17]在物理世界的攝像頭上貼上一張?zhí)厥馓幚淼耐该鲌D片, 當(dāng)攝像頭拍攝到物體時(shí), 拍攝的圖片會(huì)呈現(xiàn)出褪色或者眩光的效果, 這種方法依然可以產(chǎn)生對(duì)抗樣本, 使模型識(shí)別錯(cuò)誤。Brown等人[18]將一張?zhí)刂频膱D片放到真實(shí)物體旁邊, 然后通過(guò)攝像頭拍攝物體, 分類模型將其分為其他物體。Schonherr等人[19]在語(yǔ)音中加入特殊噪聲, 人耳識(shí)別時(shí)只會(huì)聽到一些細(xì)微的電流聲音, 但是語(yǔ)音識(shí)別系統(tǒng)對(duì)這種加入人為擾動(dòng)的語(yǔ)音進(jìn)行了錯(cuò)誤的翻譯。Jia等人[20]在文本中加入幾個(gè)多余字符, 使文本閱讀理解系統(tǒng)產(chǎn)生錯(cuò)誤回答。
圖像分類是神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)方面最常見的應(yīng)用, 神經(jīng)網(wǎng)絡(luò)的應(yīng)用使得圖像分類任務(wù)的效率得到了大幅提升。除了簡(jiǎn)單的進(jìn)行分類任務(wù), 在圖像分類的基礎(chǔ)上產(chǎn)生了更高級(jí)、更復(fù)雜的任務(wù), 比如目標(biāo)檢測(cè)。目標(biāo)檢測(cè)被廣泛應(yīng)用在人臉識(shí)別、自動(dòng)駕駛、工業(yè)檢測(cè)、醫(yī)學(xué)影像等領(lǐng)域。
由Ross Girshick等人[21]首次在目標(biāo)檢測(cè)任務(wù)上使用了卷積神經(jīng)網(wǎng)絡(luò)的方法, 提出了區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN), 這個(gè)模型取得了巨大的成功并影響深遠(yuǎn)。在此基礎(chǔ)上, 又形成了Fast R-CNN模型, 相比于R-CNN, 其計(jì)算量大大減少, 提高了處理速度,并且引入了回歸方法來(lái)調(diào)整目標(biāo)物體的位置, 進(jìn)一步提高了物體識(shí)別的準(zhǔn)確性[22]。Joseph Redmon等人[23]又提出YOLO(You Only Look Once, YOLO)模型, 相比于R-CNN, YOLO使用單個(gè)網(wǎng)絡(luò)結(jié)構(gòu), 且預(yù)測(cè)框少很多, 在速度上快的多, 能夠達(dá)到實(shí)時(shí)響應(yīng)的水平。經(jīng)過(guò)不斷地迭代升級(jí), 至今YOLO模型仍有很強(qiáng)的競(jìng)爭(zhēng)力[24]。
我們將局部擾動(dòng)對(duì)抗樣本與其它全局?jǐn)_動(dòng)和重點(diǎn)區(qū)域擾動(dòng)添加對(duì)抗樣本進(jìn)行對(duì)比, 我們將對(duì)FGSM、MIFGSM、PGD全局?jǐn)_動(dòng)方法和PS-MIFGSM重點(diǎn)區(qū)域擾動(dòng)方法進(jìn)行介紹:
FGSM[4]: 該算法是Goodfellow等人提出的經(jīng)典對(duì)抗樣本算法, 是一種基于梯度生成對(duì)抗樣本的快速梯度下降算法, 依據(jù)損失函數(shù)上升方向, 采用一個(gè)步長(zhǎng)進(jìn)行優(yōu)化, 因此使對(duì)抗樣本產(chǎn)生的速率極快。
MIFGSM[25]: 該算法是在2018年提出的對(duì)抗樣本攻擊算法, 與FGSM算法相比, MIFGSM加入了動(dòng)量因子, 具體表現(xiàn)形式如下:
其中損失函數(shù)J, 真實(shí)樣本x, 真實(shí)樣本類別y, 擾動(dòng)大小μ, 迭代次數(shù)T, 衰減系數(shù)u。延梯度方向計(jì)算矢量更新gt+1,sign函數(shù)更新
該算法是基于動(dòng)量的迭代方法, 迭代的方向?yàn)樘荻鹊姆捶较颉M瑫r(shí)在動(dòng)量的迭代過(guò)程中為了穩(wěn)定更新并且避免局部最值, 在損失函數(shù)的梯度方向上不斷積累速度矢量, 以此提高生成對(duì)抗樣本的攻擊成功率。
PS-MIFGSM[26]: 該算法主要原理是借助Grad-CAM算法得到樣本關(guān)注區(qū)域, 分為攻擊區(qū)域和非攻擊區(qū)域, 通過(guò)MI-FGSM計(jì)算得到干擾信息,根據(jù)攻擊與非攻擊區(qū)域?qū)_動(dòng)添加至原圖像中, 該算法就是對(duì)圖像的重點(diǎn)區(qū)域進(jìn)行攻擊。
PGD[27]: 該攻擊是一次次的迭代攻擊, 與FGSM的一步優(yōu)化相比, 該算法更側(cè)重于多次迭代,能夠在迭代中不斷調(diào)整方向, 從而找出最優(yōu)解。
受到上述方法對(duì)抗樣本攻擊和目標(biāo)檢測(cè)啟發(fā)。本文提出了一種生成局部擾動(dòng)對(duì)抗樣本的方法。以yolo_v3作為目標(biāo)檢測(cè)模型, 先對(duì)圖片進(jìn)行目標(biāo)檢測(cè),對(duì)圖片中物體的區(qū)域進(jìn)行標(biāo)記, 返回相應(yīng)的位置信息。然后以MIFGSM為基礎(chǔ)的對(duì)抗樣本攻擊方法, 對(duì)目標(biāo)物體之外的區(qū)域進(jìn)行擾動(dòng)信息添加。同時(shí), 為了提高對(duì)抗樣本生成速度, 采用與Curls相似的方法,先梯度下降再梯度上升, 越過(guò)決策邊界, 生成對(duì)抗樣本。
相比于全局?jǐn)_動(dòng), 局部擾動(dòng)因?yàn)楫a(chǎn)生的擾動(dòng)信息較少, 不容易被察覺(jué)。Liu等人[28]證明在局部添加擾動(dòng)的對(duì)抗樣本攻擊方法是有效的。然而大多數(shù)添加局部擾動(dòng)的對(duì)抗樣本擾動(dòng)區(qū)域雖然相對(duì)較小, 但是與周圍區(qū)域相比較依然容易觀察。同樣以圖片為例, 添加局部擾動(dòng)的區(qū)域與周圍區(qū)域的對(duì)比度較高,色彩差異較大, 因此在局部添加擾動(dòng)生成對(duì)抗樣本的工作仍需進(jìn)一步完善。
在Lu等人[29]的論文中提到, 在測(cè)試對(duì)抗樣本攻擊效果的實(shí)驗(yàn)時(shí), 如果將對(duì)抗樣本圖片中路標(biāo)的背景裁剪掉, 路標(biāo)被正確識(shí)別出的概率會(huì)大大提高。因此在被裁剪下的背景中, 存在著一定的擾動(dòng)信息,這些擾動(dòng)信息對(duì)于圖片的識(shí)別和分類起到一定的影響。受此啟發(fā), 如果在圖片目標(biāo)區(qū)域之外加入擾動(dòng)信息, 同樣也可以生成具有對(duì)抗攻擊效果的對(duì)抗樣本,并且因?yàn)閿_動(dòng)信息在圖片目標(biāo)物體之外, 可以相對(duì)降低擾動(dòng)信息被發(fā)現(xiàn)的概率。同時(shí)利用一些生成全局?jǐn)_動(dòng)的方法, 可以快速的生成擾動(dòng)信息。因此, 最終設(shè)計(jì)思路是通過(guò)目標(biāo)檢測(cè)確定圖片非重點(diǎn)區(qū)域,結(jié)合其他對(duì)抗樣本攻擊生成擾動(dòng)信息的方法, 形成局部擾動(dòng)的對(duì)抗樣本攻擊方法。具體的方法如圖2所示。通過(guò)目標(biāo)檢測(cè)部分確定添加擾動(dòng)信息的位置,然后再通過(guò)擾動(dòng)生成部分生成擾動(dòng)信息, 最后將擾動(dòng)信息添加在合適的位置上, 生成最終的對(duì)抗樣本。
圖2 算法結(jié)構(gòu)Figure 2 Algorithm structure
為了實(shí)現(xiàn)擾動(dòng)的添加, 首先要獲取添加擾動(dòng)的具體位置信息。目標(biāo)檢測(cè)技術(shù)可以找出圖片中的目標(biāo)物體, 確定他們的位置和類別。得到圖片中物體的位置信息后, 根據(jù)目標(biāo)位置信息確定擾動(dòng)信息添加的位置, 從而實(shí)現(xiàn)對(duì)抗樣本的生成。所以使用目標(biāo)檢測(cè)是算法的第一步。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型分為兩大類。一類是以R-CNN為代表的Two Stage的目標(biāo)檢測(cè)模型;另一類是以YOLO、SSD為代表的One Stage的目標(biāo)檢測(cè)模型。Joseph Redmon等人在2015年提出了YOLO(You Only Look Once, YOLO)模型。YOLO開創(chuàng)性地將候選區(qū)和目標(biāo)識(shí)別兩個(gè)階段合二為一, 實(shí)現(xiàn)了端到端的目標(biāo)檢測(cè)。YOLO先將整個(gè)圖片劃分為S*S個(gè)方格區(qū)域, 如果一個(gè)物體落在一個(gè)方格內(nèi),這個(gè)方格負(fù)責(zé)預(yù)測(cè)物體。方格對(duì)B個(gè)邊界框進(jìn)行置信度的預(yù)測(cè), 置信度通過(guò)是否包含物體和交并比(IOU)計(jì)算。
其中邊界框(bounding box)包括了邊界框的中心位置x和y, 邊界框的寬度和高度w和h。為了預(yù)測(cè)出物體的具體類別, 還需要再置信度的基礎(chǔ)上乘以物體類別的概率, 最終的置信度預(yù)測(cè)為:
通過(guò)訓(xùn)練最終實(shí)現(xiàn)模型對(duì)目標(biāo)物體的檢測(cè)。使用YOLO模型對(duì)圖片進(jìn)行目標(biāo)檢測(cè), 結(jié)果如圖3所示。可以看出YOLO模型可以很好的將圖片中的目標(biāo)物體進(jìn)行識(shí)別和分類。
在使用目標(biāo)檢測(cè)模型進(jìn)行位置信息檢測(cè)時(shí), 并不需要模型返回的圖片中物體的標(biāo)簽名稱, 只需要物體的具體坐標(biāo), 即邊界框左上、左下、右上、右下四個(gè)像素點(diǎn)的坐標(biāo)。為了避免圖片的縮放導(dǎo)致擾動(dòng)信息錯(cuò)誤的添加在其他位置, 將原有的四點(diǎn)具體坐標(biāo)轉(zhuǎn)化成相對(duì)位置信息, 從而可以適應(yīng)圖片縮放旋轉(zhuǎn)等問(wèn)題。由于目標(biāo)檢測(cè)模型不能達(dá)到100%的識(shí)別準(zhǔn)確率, 因此可能存在識(shí)別不到圖片中物體的情況。可以通過(guò)調(diào)小識(shí)別置信度來(lái)提高識(shí)別準(zhǔn)確率。同時(shí),對(duì)于識(shí)別不出目標(biāo)位置的圖片, 采用返回整張圖片位置信息的方法, 即將邊界框左上、左下、右上、右下四個(gè)像素點(diǎn)設(shè)置為圖片4個(gè)頂點(diǎn)。另外, 一些圖片在進(jìn)行目標(biāo)檢測(cè)時(shí), 預(yù)測(cè)邊界框的頂點(diǎn)坐標(biāo)可能會(huì)出現(xiàn)在圖片之外。對(duì)于這種超出圖片本身的預(yù)測(cè)框,將其頂點(diǎn)強(qiáng)制限制在圖片內(nèi)部, 避免出現(xiàn)錯(cuò)誤。圖3展示了目標(biāo)檢測(cè)部分如何得到重點(diǎn)區(qū)域位置信息。
圖3 YOLO目標(biāo)檢測(cè)結(jié)果Figure 3 YOLO target detection results
在確定擾動(dòng)信息添加的位置后, 需要對(duì)樣本進(jìn)行擾動(dòng)信息的添加。對(duì)抗樣本攻擊的方法有很多種,包括局部擾動(dòng)對(duì)抗樣本和全局?jǐn)_動(dòng)對(duì)抗樣本、特定目標(biāo)攻擊樣本和非特定攻擊目標(biāo)樣本、通用擾動(dòng)攻擊樣本和非通用擾動(dòng)攻擊樣本。常用的對(duì)抗樣本攻擊的方法包括FGSM、BIM、MIFGSM、DeepFool等方法。
MIFGSM是Dong等人[30]提出的基于FGSM算法的改進(jìn), 該算法加入了動(dòng)量因子。
MIFGSM算法如下所示:
輸入 分類模型f及損失函數(shù)J, 真實(shí)樣本x, 真實(shí)樣本類別y, 擾動(dòng)大小μ, 迭代次數(shù)T, 衰減系數(shù)u。
輸出 對(duì)抗樣本x*
其中1)中的a=μ/T是為了控制每次迭代的擾動(dòng)大小, 避免每次迭代過(guò)程擾動(dòng)過(guò)大。
通過(guò)MIFGSM算法可以看出, MIFGSM的迭代方向?yàn)樘荻认喾吹姆较虿⑶沂腔趧?dòng)量的迭代方法。在此種動(dòng)量迭代過(guò)程中在損失函數(shù)梯度方向上不斷積累速度矢量來(lái)穩(wěn)定更新并且避免局部最值, 提高生成對(duì)抗樣本成功率。因MIFGSM方法的優(yōu)良表現(xiàn), 研究人員在此方法的基礎(chǔ)上也提出了很多相近算法。
在Shi等人[31]的論文中提出了Curls方法。該方法認(rèn)為, 如果直接使用迭代的方法, 圖片向著梯度上升的方向形成一條迭代路徑, 最終越過(guò)決策邊界。這樣的路徑是單調(diào)的, 且不一定是最優(yōu)的。可能還存在著更短的可以越過(guò)決策邊界的迭代路徑。因此,Curls算法通過(guò)兩條不同的路徑尋找越過(guò)決策邊界的最短路徑。一條路徑是傳統(tǒng)的梯度向上的路徑, 另一條是先梯度向下再梯度向上的路徑。
Curls算法如下:
輸入 目標(biāo)神經(jīng)網(wǎng)絡(luò)模型N(x), 可替代模型Sub(x), 真實(shí)樣本x, 真實(shí)樣本類別y, 初始噪音大小ε, 迭代次數(shù)T, 高斯擾動(dòng)噪音方差s, 步幅大小α, 決策邊界搜索步數(shù)bs
輸出 對(duì)抗樣本x*
而算法的第14~16步中提到的對(duì)*x進(jìn)行二分搜索實(shí)際上是指, 在x與*x之間通過(guò)二分搜索的方式查找一個(gè)剛好越過(guò)決策邊界的對(duì)抗樣本。這樣便可以在固定迭代長(zhǎng)度中尋找更接近決策邊界的對(duì)抗樣本。
通過(guò)算法描述可以發(fā)現(xiàn), Curls算法是一種尋找最短擾動(dòng)路徑的方法。一條路徑是沿著梯度向上的方向?qū)ふ覍?duì)抗樣本。另一條路徑是先沿著梯度向下的方向?qū)ふ覔p失函數(shù)最低點(diǎn), 然后再延梯度向上的方向?qū)ふ覍?duì)抗樣本。最后比較兩條路徑找到的對(duì)抗樣本與原樣本的距離大小, 選擇最短距離(最小擾動(dòng))的對(duì)抗樣本為最終的對(duì)抗樣本。
受到Curls方法的啟發(fā), 在使用MIFGSM進(jìn)行梯度上升添加擾動(dòng)信息前, 先將圖片沿著梯度下降的方向進(jìn)行優(yōu)化, 然后再沿著梯度上升的方向添加擾動(dòng)信息。為了避免多次迭代的梯度下降優(yōu)化導(dǎo)致模型整體速度降低, 可以采用固定的次數(shù)進(jìn)行梯度下降優(yōu)化。在保證模型整體速度的同時(shí), 使模型生成的對(duì)抗樣本的擾動(dòng)信息更少。
對(duì)加入Curls方法的MIFGSM進(jìn)行了測(cè)試。表1描述了加入Curls方法的MIFGSM和常規(guī)的MIFGSM之間的差別。
表1 加入Curls方法的對(duì)比Table 1 Comparison of peer peer peer detection methods
采用兩種方法對(duì)1000張圖片進(jìn)行了測(cè)試, 在加入Curls方法的MIFGSM算法中, 前3次迭代均沿著梯度下降的方向進(jìn)行的。從第4次迭代到最后結(jié)束,迭代方向均沿著梯度上升的方向進(jìn)行的。
通過(guò)對(duì)比容易觀察到, 在迭代次數(shù)相同的情況下, 加入Curls方法的MIFGSM與常規(guī)的MIFGSM攻擊成功率相比幾乎一致。但是提高迭代次數(shù)后, 加入Curls方法的MIFGSM與常規(guī)MIFGSM迭代攻擊次數(shù)相同時(shí)(不算延梯度下降的3次迭代), 加入Curls方法的攻擊成功率更高。但是不排除因?yàn)榭偟螖?shù)增加導(dǎo)致的成功率提高。另外, 測(cè)試時(shí)發(fā)現(xiàn)加入Curls方法后, 生成對(duì)抗樣本的時(shí)間增加了, 原因是強(qiáng)制進(jìn)行了前3步的梯度下降操作。部分圖片因?yàn)樵谝淮位驇状蔚缶涂梢栽竭^(guò)決策邊界, 變成對(duì)抗樣本, 強(qiáng)制加入前3步后, 總體迭代次數(shù)增加, 最終導(dǎo)致總時(shí)間增加。
前文分析了此方法在位置信息檢測(cè)和對(duì)抗擾動(dòng)信息生成兩個(gè)部分的實(shí)現(xiàn)形式和方案選擇。第1步通過(guò)目標(biāo)檢測(cè)模型獲取圖片中目標(biāo)物體的位置信息, 第2步通過(guò)MIFGSM方法生成對(duì)抗擾動(dòng)信息。最后將兩步得到的結(jié)果相結(jié)合, 生成局部擾動(dòng)的對(duì)抗樣本。
算法描述如下:
輸入 分類模型f及損失函數(shù)J, 真實(shí)樣本x, 真實(shí)樣本類別y, 擾動(dòng)大小μ, 迭代次數(shù)T, 衰減系數(shù)u,目標(biāo)檢測(cè)模型L。
輸出 對(duì)抗樣本xadv
1) 輸入x到y(tǒng)olo_v3中, 得到目標(biāo)物體位置信息:
2) 使用引入Curls方法的MIFGSM攻擊x, 得到原始對(duì)抗樣本:
3) 將原始對(duì)抗樣本目標(biāo)物體位置設(shè)置為0, 其余位置不變:
4) 將原圖x與步驟3)修改過(guò)的對(duì)抗樣本結(jié)合,得到最終樣本:
其中2)中引入Curls方法的MIFGSM算法如下所示:
校園安全管理注重過(guò)程、實(shí)踐、落實(shí)相關(guān)制度、抓好安全教育、關(guān)注安全工作的所有環(huán)節(jié),及時(shí)的發(fā)現(xiàn)問(wèn)題解決問(wèn)題。建立和完善校園安全管理制度需做好以下幾點(diǎn):一是建立和落實(shí)校園安全責(zé)任制,將各項(xiàng)安全工作責(zé)任到人,且要狠抓落實(shí);二是構(gòu)建校園安全教育體系,將安全教育融入日常教學(xué)和工作中,形成人人參與的模式;三是完善學(xué)校安全應(yīng)急預(yù)案和培養(yǎng)應(yīng)急人才,建立風(fēng)險(xiǎn)評(píng)估體系。既能確保應(yīng)急處置工作有序開展,又能降低校園師生生命財(cái)產(chǎn)安全風(fēng)險(xiǎn)。
輸入 分類模型f及損失函數(shù)J, 真實(shí)樣本x, 真實(shí)樣本類別y, 擾動(dòng)大小μ, 迭代次數(shù)T, 衰減系數(shù)u。
輸出 對(duì)抗樣本x*
算法第1步為目標(biāo)物體位置檢測(cè), 通過(guò)目標(biāo)檢測(cè)模型L返回圖片中物體的位置信息。第2步為擾動(dòng)信息的添加, 擾動(dòng)信息的添加以MIFGSM為基礎(chǔ),引入Curls先梯度下降再梯度上升的思想, 即算法的第8步。這里只在前三步進(jìn)行梯度下降, 從第3步開始一直到最后延用傳統(tǒng)的迭代梯度上升。第3步為清空目標(biāo)物體位置之外位置信息, 被清空的位置將添加生成的擾動(dòng)信息。最后一步是將對(duì)抗擾動(dòng)信息添加在相應(yīng)的位置上, 生成最終的對(duì)抗樣本。
實(shí)驗(yàn)中本文所提出的算法以及實(shí)驗(yàn)對(duì)比均在百度的AI Studio平臺(tái)上實(shí)現(xiàn)的, 內(nèi)含的框架為百度的PaddlePaddle 2.1.2版本。
本文實(shí)驗(yàn)環(huán)境如表2所示。
表2 實(shí)驗(yàn)環(huán)境描述Table 2 Description of experimental environment
同時(shí)進(jìn)行實(shí)驗(yàn)對(duì)比時(shí), 算法參數(shù)保持一致, 其中部分參數(shù)設(shè)置如表3所示。
表3 參數(shù)設(shè)置Table 3 Parameter settings
其中:
Epsilon是指擾動(dòng)大小, 為了確保對(duì)抗樣本與真實(shí)樣本之間差異不大, 擾動(dòng)大小應(yīng)選擇合理。擾動(dòng)大小越大, 對(duì)抗樣本與真實(shí)樣本差異越大。
Num_iters是指迭代次數(shù)。FGSM算法迭代次數(shù)為1, 不存在多次迭代, 本文則迭代次數(shù)為10。
Decay_factor是指衰減因子。衰減因子只在MIFGSM和本文方法中出現(xiàn)。
使用的數(shù)據(jù)集為ILSVRC2012 ImageNet數(shù)據(jù)集。對(duì)比實(shí)驗(yàn)所使用的vgg16, resnet50, googlenet作為被攻擊的對(duì)象同樣是在ImageNet數(shù)據(jù)集上訓(xùn)練好的,這三個(gè)被攻擊模型作為PaddlePaddle自帶的內(nèi)置模型, 可以在測(cè)試時(shí)直接使用。實(shí)驗(yàn)過(guò)程中使用的原始圖片是ILSVRC2012 ImageNet中選取的1000張圖片。為了保證目標(biāo)檢測(cè)模型進(jìn)行目標(biāo)物體識(shí)別時(shí)可以返回較為準(zhǔn)確的結(jié)果, 選擇的1000張圖片基本上是只包含一類物體, 并且圖片不存在多個(gè)相同物體。同時(shí),為了避免被攻擊樣本在原始狀態(tài)就分類錯(cuò)誤, 對(duì)抗樣本攻擊的成功率是建立在原始圖片識(shí)別正確的前提下。
本文提出的局部擾動(dòng)的對(duì)抗樣本攻擊方法與PGD、MIFGSM、FGSM、PS-MIFGSM 4種對(duì)抗樣本攻擊方法進(jìn)行了對(duì)比。用五種方法對(duì)ImageNet數(shù)據(jù)集中選出的1000張圖片進(jìn)行了對(duì)抗擾動(dòng)信息的添加, 再用五種方法生成的對(duì)抗樣本對(duì)3種圖像分類模型進(jìn)行了攻擊。3種圖像分類模型分別是vgg16, googlenet, resnet50。實(shí)驗(yàn)圖片因?yàn)榇笮〔煌?均進(jìn)行了歸一化的處理。像素值擾動(dòng)的最大值為40,其中迭代攻擊中, 迭代次數(shù)為10, 衰減系數(shù)為1。評(píng)估標(biāo)準(zhǔn)為對(duì)抗樣本對(duì)圖像分類模型攻擊成功率。另外, 為了測(cè)試白盒攻擊和黑盒攻擊的差異, 以vgg16模型為白盒攻擊測(cè)試模型, googlenet和resnet50為黑盒攻擊測(cè)試模型, 觀察白盒攻擊和黑盒攻擊的攻擊效果。
表4展示了幾種對(duì)抗樣本攻擊方法的比較。表格的每一行表示的是1種攻擊方法對(duì)于3種不同網(wǎng)絡(luò)結(jié)構(gòu)的圖像分類模型的攻擊效果。其中最后一行為本文提出的對(duì)抗樣本攻擊方法。3種圖像分類模型中, vgg16為白盒攻擊測(cè)試模型, googlenet和resnet50為黑盒攻擊測(cè)試模型。
表4 攻擊成功率對(duì)比Table 4 Comparison of attack success rates (%)
對(duì)于白盒攻擊, 除了FGSM方法以外, 另外四種方法的攻擊成功率都很高, PGD、MIFGSM與PS-MIFGSM方法成功率達(dá)到100%。本文提出的方法攻擊的成功率也為100%, 與MIFGSM、PSMIFGSM成功率相同。在數(shù)據(jù)一致的情況下, 與同類型的PS-MIFGSM方法相比, 在攻擊成功率與生成對(duì)抗樣本時(shí)間上保持一致。而本文中提出的局部擾動(dòng)方法避開了圖像中人眼重點(diǎn)關(guān)注區(qū)域, 因此對(duì)抗擾動(dòng)信息更具有隱蔽性, 不易被人眼所察覺(jué)。一方面證明了添加局部擾動(dòng)的對(duì)抗樣本一樣可以達(dá)到和全局?jǐn)_動(dòng)對(duì)抗樣本一樣的攻擊效果。另一方面也證明了圖片中關(guān)鍵位置之外的區(qū)域也存在特征信息,在圖像分類模型訓(xùn)練時(shí)被模型學(xué)習(xí), 從而使對(duì)抗擾動(dòng)方法可以在這些區(qū)域添加擾動(dòng)信息, 最終形成具有攻擊性的對(duì)抗樣本, 影響圖片分類模型的分類效果。
對(duì)于黑盒攻擊, 除了PGD方法攻擊成功率較高以外, 另外3種方法的攻擊成功率都不高, 在30%左右。本文提出的方法在有些情況下甚至優(yōu)于其余方法。
探究此種原因, 實(shí)驗(yàn)又在不同擾動(dòng)大小的條件下進(jìn)行了對(duì)比測(cè)試。將擾動(dòng)大小epsilon的值分別調(diào)至4和1時(shí)發(fā)現(xiàn), FGSM的黑盒攻擊成功率基本保持不變, 其他4種方法均有所下降, 但是本文方法與另外三種方法相比依舊較高。表5展示了在不同擾動(dòng)大小下幾種方法的黑盒攻擊成功率。
通過(guò)表5所展示的不同情況下成功率對(duì)比, 可以看出本文方法在黑盒攻擊中成功率明顯下降, 主要原因有兩個(gè), 一是局部擾動(dòng)的方法添加的擾動(dòng)信息相對(duì)于全局?jǐn)_動(dòng)較少, 較少的擾動(dòng)信息不易于產(chǎn)生攻擊性, 因此無(wú)法達(dá)到很強(qiáng)的攻擊性。二是因?yàn)椴煌膱D像分類模型之間的網(wǎng)絡(luò)結(jié)構(gòu)有所差異, 分類的決策邊界在不同模型間不盡相同。因此在白盒攻擊越過(guò)決策邊界的對(duì)抗樣本不一定可以越過(guò)其他黑盒攻擊模型的決策邊界, 最終導(dǎo)致黑盒攻擊效果較差。另外在幾種方法生成的對(duì)抗樣本圖片中,MIFGSM和PGD方法為了達(dá)到很高的攻擊成功率,在對(duì)抗樣本上添加的擾動(dòng)信息非常多, 以至于部分圖片擾動(dòng)信息可以肉眼識(shí)別到。特別是PGD方法加入的隨機(jī)化操作, 使這些擾動(dòng)信息更加明顯。
表5 不同擾動(dòng)大小在黑盒攻擊下的對(duì)比Table 5 Comparison of different disturbance sizes under black box attack
除此之外, 還進(jìn)行了對(duì)抗樣本生成速度的測(cè)試。在未加入目標(biāo)檢測(cè)前本文提到的方法與MIFGSM方法生成單個(gè)對(duì)抗樣本的時(shí)間基本一致, 加入目標(biāo)檢測(cè)后本文方法生成單個(gè)對(duì)抗樣本的時(shí)間增加了200 ms。綜合比較下, 本文提出的方法與PS-MIFGSM、MIFGSM方法生成對(duì)抗樣本時(shí)間基本一致, 可以快速的生成對(duì)抗樣本。同時(shí)我們也比較了此方法與DeepFool方法生成對(duì)抗樣本的速度。此方法速度是DeepFool方法速度的4倍左右。因此, 本文方法在生成對(duì)抗樣本的速度上具有一定的優(yōu)勢(shì)。擾動(dòng)區(qū)域與擾動(dòng)大小也是一個(gè)重要的評(píng)價(jià)指標(biāo)。本方法平均擾動(dòng)區(qū)域的大小比MIFGSM方法擾動(dòng)區(qū)域減少了36%。同時(shí)對(duì)擾動(dòng)大小進(jìn)行了比較。如果對(duì)抗樣本*x攻擊成功, 采用L2距離來(lái)計(jì)算對(duì)抗樣本*x與原始樣本x之間的擾動(dòng)距離。比較時(shí)采用攻擊成功的樣本的平均值進(jìn)行比較。表6展示了此方法與PGD和MIFGSM方法擾動(dòng)區(qū)域與擾動(dòng)大小的比較。
表6 擾動(dòng)區(qū)域與擾動(dòng)距離對(duì)比Table 6 Comparison of disturbance area and disturbance distance
并且對(duì)四種攻擊方法生成的攻擊樣本進(jìn)行了比較, 如圖四所示。其中第1行為未加入任何擾動(dòng)信息的原始圖片, 第2行為使用 FGSM 攻擊方法生成的對(duì)抗樣本, 第3行為使用 PGD 攻擊方法生成的對(duì)抗樣本, 第4行為使用MIFGSM 攻擊方法生成的對(duì)抗樣本, 第5行為使用本文提出方法生成的對(duì)抗樣本。其中通過(guò) FGSM 和 PGD 方法生成的對(duì)抗樣本相對(duì)于后兩種方法生成的對(duì)抗樣本, 圖片中的噪點(diǎn)更明顯, 更容易被人眼所發(fā)現(xiàn)。MIFGSM 與本文提出的方法在圖片中產(chǎn)生的噪點(diǎn), 從肉眼上來(lái)看,更加趨于原圖, 同時(shí)擾動(dòng)有效。而本文所添加擾動(dòng)信息區(qū)域相對(duì)于其他方法更少, 距離更短。同時(shí)實(shí)驗(yàn)發(fā)現(xiàn), 因?yàn)楸痉椒ㄊ窃趫D片中目標(biāo)物體之外的非重點(diǎn)區(qū)域加入的對(duì)抗擾動(dòng)信息, 所以在對(duì)抗樣本的分類結(jié)果上與其他幾種方法生成的對(duì)抗樣本分類結(jié)果有些許差異。這也說(shuō)明了背景中加入的擾動(dòng)信息與圖片目標(biāo)中加入的擾動(dòng)信息對(duì)圖片特征的影響有所差別。
本文提出了一種聚焦于圖像重點(diǎn)區(qū)域之外的對(duì)抗樣本攻擊方法, 引入YOLO模型作為目標(biāo)檢測(cè),結(jié)合MIFGSM方法與Curls先梯度下降再梯度上升的思想, 在圖像目標(biāo)區(qū)域之外的其他區(qū)域生成擾動(dòng)信息, 從而實(shí)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)模型的攻擊。在攻擊模型的實(shí)驗(yàn)中發(fā)現(xiàn), 該算法生成的對(duì)抗樣本在白盒攻擊下能保持很高的攻擊成功率, 在黑盒攻擊下與全局?jǐn)_動(dòng)的對(duì)抗攻擊算法基本保持一致, 一些情況下甚至優(yōu)于已有方法。
本文所提出的局部擾動(dòng)對(duì)抗樣本攻擊方法在保證較高的攻擊成功率的前提下, 通過(guò)減少圖像的擾動(dòng)區(qū)域?qū)崿F(xiàn)對(duì)抗擾動(dòng)信息的隱蔽性, 使對(duì)抗樣本更接近真實(shí)樣本。本文的方法在黑盒攻擊中的表現(xiàn)相對(duì)較差, 下一步的工作我們將思考如何提高該方法的黑盒攻擊成功率。