One Pixel Attack(對(duì)抗攻擊) —— 使用差分進(jìn)化算法尋找最優(yōu)解

論文原文:One pixel attack for fooling deep neural networks

論文鏈接:https://arxiv.org/abs/1710.08864
代碼:https://github.com/Hyperparticle/one-pixel-attack-keras

Adversarial Attack

在這里插入圖片描述
對(duì)抗攻擊不過多闡述,如上圖所示,在原圖像x0上加上一些perturbations得到x`,可以誤導(dǎo)識(shí)別網(wǎng)絡(luò)的識(shí)別結(jié)果。

AdvGAN

論文鏈接:https://arxiv.org/abs/1801.02610

在這里插入圖片描述
簡單回顧一下對(duì)抗樣本領(lǐng)域經(jīng)典之作——advGAN,將origin image x放入生成器g產(chǎn)生perturbations即g(x),產(chǎn)生的perturbations加在x上從而產(chǎn)生對(duì)抗樣本用來誤導(dǎo)識(shí)別網(wǎng)絡(luò)。

在實(shí)際的訓(xùn)練過程中:

?????advGAN的損失函數(shù):
AdvGAN的損失函數(shù)
Ladv是誤導(dǎo)錯(cuò)誤分類損失,值越小,說明誤導(dǎo)對(duì)抗樣本的誤導(dǎo)性越強(qiáng);Lgan是GAN的損失函數(shù),用來提升圖像的質(zhì)量;Lhinge是用來控制穩(wěn)定性,將perturbations限制在一定范圍內(nèi)。通過選取合適的α和β的值,D與G之間博弈進(jìn)行梯度下降。

One Pixel Attack

image.png
可以看到,圖像的實(shí)用性很強(qiáng),肉眼難以察覺。
在這里插入圖片描述
如圖所示,這個(gè)4×4的表格代表著加在origin image上的perturbations,一般的attack是相當(dāng)于改變整張圖片的像素值來產(chǎn)生對(duì)抗樣本,而該方法僅改變one pixel即可實(shí)現(xiàn)對(duì)抗攻擊。如果改變的這一個(gè)pixel整好與背景顏色相差不大,那圖像會(huì)非常棒。

通過損失函數(shù)來看,兩者區(qū)別就是約束部分:

一般的attack:
在這里插入圖片描述
是讓產(chǎn)生的perturbations小于L或者L-infinity normal必須要小于某個(gè)值

而one pixel attack:
在這里插入圖片描述

是讓產(chǎn)生的perturbations的L0范數(shù)小于d(d=1),即perturbations種只有一個(gè)像素點(diǎn)不為0,也就是對(duì)抗樣本實(shí)際上只改變了一個(gè)像素點(diǎn)。

現(xiàn)在問題來了,How do we find the exact pixel and value?有一種笨拙的辦法,將224*224個(gè)像素點(diǎn)一一更改,找到最優(yōu)的那個(gè)值。但是時(shí)間會(huì)很長,因?yàn)槟忝看胃淖兡愕南袼刂担家诺絤odel里去檢測(cè)一下。下面作者很聰明,將差分進(jìn)化算法應(yīng)用了進(jìn)來。

Differential Evolution

差分進(jìn)化算法一共分為4部分:

初始化種群:
在這里插入圖片描述
變異:
在這里插入圖片描述

交叉:
在這里插入圖片描述
挑選:
在這里插入圖片描述
初始化種群之后,變異-挑選三個(gè)過程反復(fù)進(jìn)行。初始種群內(nèi)產(chǎn)生變異,變異種群與原種群進(jìn)行交叉,再對(duì)交叉后產(chǎn)生的種群與原種群進(jìn)行對(duì)比。會(huì)使種群不斷的淘汰差的個(gè)體,留下優(yōu)良個(gè)體,由優(yōu)良個(gè)體組成的新一代種群繼續(xù)進(jìn)行此操作。大約進(jìn)行6次,即可得到較好的種群,可從中挑選最優(yōu)的值作為最終的結(jié)果。

使用DE 有什么好處:
1.有更高的幾率可以找到全局最優(yōu)點(diǎn)。因?yàn)樽儺惍a(chǎn)生的種群具有多樣性的特點(diǎn)且至少使用了一組候選方案。
2.需要目標(biāo)模型很少的信息,相比于FGSM來說,DE不需要梯度信息,因此不需要model太多細(xì)節(jié)。

DE具體到one pixel attack上要如何應(yīng)用?

在這里插入圖片描述
即初始化種群的時(shí)候,我們種群中的每個(gè)個(gè)體都是(x,y,R,G,B)這樣一個(gè)5維的向量,去進(jìn)行種群的一代又一代的進(jìn)化。

文章圖片部分來源于李宏毅YouTube視頻。

如有問題,或論文下載,請(qǐng)關(guān)注公眾號(hào)和qq群,歡迎大家進(jìn)行技術(shù)交流,我們還有一些”黑“技術(shù)待你探索:

公眾號(hào).png
qq群.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容