Paper Reading(1) : ICLR2015_Explaining and Harnessing Adversarial Examples
目錄
0x01.論文概要
0x02.主要內(nèi)容
1.前期工作
2.對(duì)抗樣本的線性解釋
3.非線性模型的線性擾動(dòng)
4.線性模型的對(duì)抗訓(xùn)練VS權(quán)重衰減
5.深層網(wǎng)絡(luò)的對(duì)抗性訓(xùn)練
6.不同類型的模型容量
6.對(duì)抗樣本泛化的原因
7.對(duì)抗樣本的其他假設(shè)
0x03.主要結(jié)論
因?yàn)橛⒄Z(yǔ)翻譯能力和在本專業(yè)的基礎(chǔ)欠佳,在寫這篇整理的時(shí)候參照了很多前輩們的博客,已在參考文獻(xiàn)中說(shuō)明,感謝前輩們的總結(jié)。
0x01.論文概要
Goodfellow I J , Shlens J , Szegedy C . Explaining and Harnessing Adversarial Examples[J]. Computer Science, 2014.
?
摘要:包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的幾種機(jī)器學(xué)習(xí)模型都會(huì)存在對(duì)對(duì)抗樣本錯(cuò)誤分類的情況,早期認(rèn)為這種是因?yàn)榉蔷€性和過(guò)擬合導(dǎo)致的,本文認(rèn)為神經(jīng)網(wǎng)絡(luò)對(duì)對(duì)抗樣本的脆弱性的根本原因是其線性特征,這也解釋了對(duì)抗樣本在結(jié)構(gòu)和訓(xùn)練集上的泛化性,并在此基礎(chǔ)上提出了FSGM(Fast Gradient Sigh Method)算法用來(lái)生成對(duì)抗樣本,將產(chǎn)生的樣本用于對(duì)抗訓(xùn)練可以提升模型的測(cè)試性能(通過(guò)在訓(xùn)練樣本中加入一定的對(duì)抗樣本(隨機(jī)生成),可以對(duì)模型起到一定的正則化作用)。
?
?
0x02.主要內(nèi)容
這篇文章由Goodfellow等人發(fā)表在ICLR'2015會(huì)議上,是對(duì)抗樣本領(lǐng)域的經(jīng)典論文。這篇文章主要提出與之前論文不同的線性假設(shè)來(lái)解釋對(duì)抗樣本的存在性。同時(shí),論文提出了一種簡(jiǎn)單的對(duì)抗樣本生成方法——FGSM,并且再利用該攻擊方法產(chǎn)生的對(duì)抗樣本進(jìn)行對(duì)抗訓(xùn)練。總得來(lái)說(shuō),這篇文章主要說(shuō)明的對(duì)抗樣本的三個(gè)方面:1.存在性、2.攻擊方法、3.防御方法。
1.前期工作
Szegedy et al. (2014b)的文章[Intriguing properties of neural networks]中,發(fā)現(xiàn)通過(guò)在原圖是加入一些不可察覺(jué)的非隨機(jī)擾動(dòng),可以極大改變網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果。這些擾動(dòng)是通過(guò)最大化預(yù)測(cè)誤差來(lái)訓(xùn)練獲得輸入的,稱這種輸入為對(duì)抗樣本。這表明,對(duì)抗樣本暴露了我們訓(xùn)練算法中的基本盲點(diǎn)。
對(duì)抗樣本是相對(duì)魯棒的,即神經(jīng)網(wǎng)絡(luò)A生成的對(duì)抗樣本,在神經(jīng)網(wǎng)絡(luò)B下仍然是,即使B有不同的網(wǎng)絡(luò)結(jié)構(gòu)、超參和訓(xùn)練數(shù)據(jù)。因此,神經(jīng)網(wǎng)絡(luò)含有一些內(nèi)在的盲點(diǎn)和非顯示的特征,其結(jié)構(gòu)與數(shù)據(jù)分布相關(guān)。具體介紹可見生成對(duì)抗網(wǎng)絡(luò) - Adversarial Examples 對(duì)抗樣本
?
Szegedy et al. (2014b)的文章還闡述了神經(jīng)網(wǎng)絡(luò)和其它相關(guān)模型的一些有趣的特性,和本篇文章相關(guān)的有:
?
Szegedy 在文章中闡述如何找到對(duì)抗樣本(使用Box-constrained L-BFGS),但是沒(méi)有分析為什么能找到。本文就是想探討對(duì)抗樣本出現(xiàn)成的本質(zhì)。
現(xiàn)在已經(jīng)有人開始設(shè)計(jì)抵抗模型,但是還沒(méi)有任何一個(gè)模型保持在clean inputs上的高準(zhǔn)確率的同時(shí)具有抵抗力。
?
2.對(duì)抗樣本的線性解釋
?
后來(lái)在這篇論文Kurakin A , Goodfellow I , Bengio S . Adversarial examples in the physical world[J]. 2016.中證明真實(shí)數(shù)據(jù)在物理世界是存在的
?
未來(lái)的工作,就是希望不只是用打印的圖片作為對(duì)抗樣本,而是真是的物理世界中的object,已經(jīng)希望研發(fā)出有效的防御系統(tǒng)
?
3.非線性模型的線性擾動(dòng)
非線性模型的線性擾動(dòng)就是一個(gè)非線性微分線性化的過(guò)程,利用梯度下降的方式來(lái)實(shí)現(xiàn)。基于此,作者提出了一個(gè)快速生成對(duì)抗樣本的方法,即fast gradient sign method(FGSM).
方法的實(shí)現(xiàn):假設(shè)一個(gè)模型參數(shù)θ,x是輸入,y是標(biāo)簽(目標(biāo)輸出),損失函數(shù)J(θ, x, y),可以在θ的附近線性化這個(gè)損失函數(shù)獲得一個(gè)最佳正則限制擾動(dòng),η =?esign (?xJ(θ, x, y)) .梯度可以通過(guò)反饋的方式得到。一組實(shí)現(xiàn)如下圖所示:
0.07 = 1/128
實(shí)驗(yàn)表明,FGSM這個(gè)簡(jiǎn)單廉價(jià)的算法確實(shí)可以生成對(duì)抗樣本,這也證明了對(duì)抗樣本是由線性特性引起的。
Szegedy發(fā)現(xiàn)用對(duì)抗樣本和clean樣本混合進(jìn)行訓(xùn)練可以有正則的效果,這是不同于數(shù)據(jù)增廣的,數(shù)據(jù)增廣是產(chǎn)生的數(shù)據(jù)是有可能出現(xiàn)在測(cè)試集里的,而對(duì)抗樣本是不可能出現(xiàn)在測(cè)試集中的。這個(gè)方法提升的效果是比不上droupout的,作者說(shuō)這可能是使用要的對(duì)抗樣本范圍有限。
快速生成對(duì)抗樣本:Fast Gradient Sign Method
?
Fast Gradient Sign Method方法雖然簡(jiǎn)單,但是因?yàn)閿_動(dòng)是根據(jù)w來(lái)計(jì)算的,故而生成的對(duì)抗樣本不會(huì)說(shuō)100%使得網(wǎng)絡(luò)進(jìn)行誤分類。作者表示,除此之外也可以通過(guò)其他方法產(chǎn)生對(duì)抗樣本,如使x繞著梯度方向旋轉(zhuǎn)一定的角度,不過(guò)文章后面提到這樣生成的對(duì)抗訓(xùn)練泛化性能并不佳,可能是因?yàn)樾D(zhuǎn)等操作比較容易學(xué)習(xí)到(旋轉(zhuǎn)矩陣的結(jié)構(gòu)比較簡(jiǎn)單,這些生成的對(duì)抗樣本反過(guò)來(lái)又證明了對(duì)抗樣本的線性解釋。
假定神經(jīng)網(wǎng)絡(luò)足夠的線性化,導(dǎo)致其也不能抵抗對(duì)抗樣本。(線性結(jié)構(gòu)、非線性結(jié)構(gòu)的非飽和,線性區(qū)域)
攻擊樣本的思想:追求以微小的修改,通過(guò)激活函數(shù)的作用,對(duì)分類結(jié)果產(chǎn)生最大化的變化。
如果我們的變化量與梯度的變化方向完全一致,那么將會(huì)對(duì)分類結(jié)果產(chǎn)生最大化的變化。sign函數(shù)用來(lái)保持變化量方向,此時(shí)的最優(yōu)攻擊樣本是,也即FGSM(fast gradient sign method)
但之后作者給出的?\epsilon?并不是小于圖像精度的,所以擾動(dòng)幅度并不算特別小。
兩個(gè)標(biāo)準(zhǔn):
錯(cuò)誤率(error rate)是說(shuō)誤判的百分比,
置信率(confidence):是指分類器認(rèn)為該圖像是錯(cuò)誤類別的百分比,錯(cuò)誤率和置信率越高,則說(shuō)明生成的對(duì)抗樣本越強(qiáng)勢(shì)
正是因?yàn)榫€性響應(yīng),使得他們?cè)谟?xùn)練數(shù)據(jù)分布中未出現(xiàn)的數(shù)據(jù)保持過(guò)度自信
其他生成對(duì)抗樣本的方式:如沿梯度方向旋轉(zhuǎn)原圖像x一個(gè)小的角度
LSTM、ReLU、maxout網(wǎng)絡(luò)都是線性的,sigmoid也大多工作在線性區(qū)域,所有這些具有線性性質(zhì)的模型都能以下FGSM方法簡(jiǎn)單獲得對(duì)抗樣本:η(x)=?sign(?xJ(θ,x,y))\eta(x)=\epsilon sign(\nabla_x J(\theta,x,y))η(x)=?sign(?x?J(θ,x,y))
這很容易理解:在輸入空間中把樣本朝著增加成本函數(shù)的方向移動(dòng)。這一方案在實(shí)驗(yàn)中也取得了很好的效果。
?
4.線性模型的對(duì)抗訓(xùn)練VS權(quán)重衰減
考慮在最簡(jiǎn)單的邏輯回歸(Logistics Regression)模型上應(yīng)用FGSM方法,從而理解在一個(gè)簡(jiǎn)單的設(shè)置中如何生成對(duì)抗樣本。
作者通過(guò)實(shí)現(xiàn)一個(gè)二分類的邏輯回歸(MNIST中的3和7),查看模型參數(shù)w、擾動(dòng)n,以及對(duì)比生成對(duì)抗樣本前后的圖片分析,如下所示
?
除了生成對(duì)抗樣本來(lái)攻擊神經(jīng)網(wǎng)絡(luò)以外,對(duì)抗訓(xùn)練神經(jīng)網(wǎng)絡(luò)從而有效防止對(duì)抗樣本的攻擊也是一個(gè)值得考慮的問(wèn)題。?
我們先考慮最簡(jiǎn)單的邏輯回歸模型:如果我們訓(xùn)練一個(gè)簡(jiǎn)單的模型來(lái)識(shí)別標(biāo)記 y∈{?1,+1},并且?
注意這里與文中相同,選擇的標(biāo)記為{?1,+1}并不是我們平時(shí)常用的{0,1},我們可以簡(jiǎn)單推導(dǎo)一下該情況下的損失函數(shù):?
我們對(duì)x求梯度可以得到 :
?
因此通過(guò)FGSM得到的對(duì)抗樣本為
?,對(duì)于對(duì)抗樣本的損失函數(shù),有:
?
?
?
對(duì)于學(xué)到足夠的置信度的模型來(lái)說(shuō),即?y(wTx+b)足夠小時(shí),?||w||1幾乎不起作用。而對(duì)于欠擬合的模型來(lái)說(shuō),則會(huì)使得模型更加欠擬合。(還是剛剛那個(gè)原因,高維情況下很小的擾動(dòng)都會(huì)使得內(nèi)積產(chǎn)生很大的變化,而對(duì)于L1范數(shù)的變化卻是極小的,所以很容易就忽略了||w||1)。?
進(jìn)一步的,作者基于FGSM生成的對(duì)抗樣本提出了一個(gè)高效的對(duì)抗訓(xùn)練方法:
?
?這看起來(lái)似乎和將對(duì)抗樣本和原始樣本同時(shí)放入訓(xùn)練類似,不過(guò)作者的實(shí)驗(yàn)表明該方法還是有效的降低了欺騙成功率。?
對(duì)于為什么會(huì)有如此大量的對(duì)抗樣本,Goodfellow的解釋是,只要選擇的擾動(dòng)方向正確,并且有足夠大的?,則產(chǎn)生的擾動(dòng)就足夠大,就會(huì)改變?cè)鹊臉颖緲?biāo)記。我們可以跟蹤不同的 ?值,可以發(fā)現(xiàn)對(duì)抗樣本出現(xiàn)在不同的連續(xù)區(qū)域。這就解釋了為什么對(duì)抗性的例子非常豐富,為什么一個(gè)分類器錯(cuò)誤分類的例子具有相當(dāng)高的被另一個(gè)分類器錯(cuò)誤分類的可能性。?
為了解釋為什么多個(gè)分類器將同一個(gè)類分配給敵對(duì)的例子,作者假設(shè)用當(dāng)前方法訓(xùn)練的神經(jīng)網(wǎng)絡(luò)都類似于在相同訓(xùn)練集上學(xué)習(xí)的線性分類器。分類器在訓(xùn)練集的不同子集上訓(xùn)練時(shí)能夠?qū)W習(xí)大致相同的分類權(quán)重,這僅僅是因?yàn)闄C(jī)器學(xué)習(xí)算法具有泛化能力。但是基礎(chǔ)分類權(quán)重的穩(wěn)定性反過(guò)來(lái)又會(huì)導(dǎo)致對(duì)抗性例子的穩(wěn)定性。?
這個(gè)式子與L1正則化公式非常相似。不同之處在于,這里是加上e||w||1,而L1正則化是減去。這也導(dǎo)致了最抗訓(xùn)練最終的損失是有可能完全消失的,只要模型的學(xué)習(xí)對(duì)預(yù)測(cè)足夠自信。在低擬合度的情況下,對(duì)抗訓(xùn)練會(huì)使擬合度更低。因此,我們可以認(rèn)為L(zhǎng)1權(quán)重衰減相對(duì)于對(duì)抗訓(xùn)練是傾向于最壞情況,因?yàn)樗诤玫倪呺H情況下是不能起作用的(這一段沒(méi)怎么理解)。下面還例舉了對(duì)抗訓(xùn)練與權(quán)重?fù)p失的對(duì)比實(shí)驗(yàn),試驗(yàn)中,L1損失總是過(guò)分評(píng)估了對(duì)抗樣本的損失,所以L1的權(quán)重系數(shù)不能太大,太大訓(xùn)練效果很差,但是權(quán)重太小又不能起到很好的正則化的作用。
5.深層網(wǎng)絡(luò)的對(duì)抗性訓(xùn)練
作者在文中表明,相比于線性模型,深度網(wǎng)絡(luò)至少可以在訓(xùn)練網(wǎng)絡(luò)過(guò)程中來(lái)抵御對(duì)抗擾動(dòng)攻擊。文章給一種利用FGSM進(jìn)行對(duì)抗訓(xùn)練的方法:
對(duì)抗訓(xùn)練可以對(duì)應(yīng)于如下的正則化【這里的等價(jià)是要求這里的θ的參數(shù)是已經(jīng)是訓(xùn)練好的模型下的】,其中在本文實(shí)驗(yàn)中α=0.5(隨意測(cè)試的值,其他值或許更好),通過(guò)有dropout網(wǎng)絡(luò)的對(duì)抗訓(xùn)練,能夠比單純的dropout的錯(cuò)誤率低(from94% to 0.84%):
通過(guò)上式的訓(xùn)練不僅能降低overfit并提高準(zhǔn)確率,同時(shí)還能抵御對(duì)抗樣本(對(duì)抗樣本錯(cuò)誤率從89.4%降低到17.9%)。前面提到,對(duì)抗樣本有遷移能力,對(duì)不同的模型同樣有效,通過(guò)對(duì)對(duì)抗正則化訓(xùn)練得到的新模型卻能很好的降低這個(gè)問(wèn)題:通過(guò)原模型和新模型的參數(shù)分別產(chǎn)生兩種對(duì)抗樣本,分別交叉放入新模型和舊模型中,錯(cuò)誤率為19.6%和40.9%,不過(guò)對(duì)于誤分類的樣本的confidence依舊很高,平均達(dá)81.4%。而且作者發(fā)現(xiàn)通過(guò)對(duì)抗訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)更加局部化,解釋性更強(qiáng)。
文章后來(lái)也提到說(shuō)是否有必要對(duì)隱藏層進(jìn)行擾動(dòng),Szegedy的表明將其應(yīng)用在隱藏層的時(shí)候得到一個(gè)最好的正則效果。不過(guò)這里的實(shí)驗(yàn)發(fā)現(xiàn)隱藏單元的激活值為明確的情況下,沒(méi)有必要去擾動(dòng),這樣只是單純讓某些激活值更大,并且實(shí)驗(yàn)正則效果并不理想,甚至不如直接在輸入層加入的擾動(dòng)
?
這種對(duì)抗訓(xùn)練的方法意味著在訓(xùn)練過(guò)程中不斷更新對(duì)抗樣本,從而使得當(dāng)前模型可以抵御對(duì)抗樣本。但是作者表示在訓(xùn)練集上對(duì)抗訓(xùn)練的錯(cuò)誤率error rate沒(méi)有達(dá)到過(guò)0%,作者主要從以下兩個(gè)方面解決:
文章表明,在不進(jìn)行對(duì)抗訓(xùn)練的情況下,模型識(shí)別FGSM攻擊方法生成樣本的錯(cuò)誤率是89.4%,但是通過(guò)對(duì)抗訓(xùn)練,同樣的模型識(shí)別對(duì)抗樣本的錯(cuò)誤率下降到17.9%。
作者還探討了在模型中加零均值零方差的實(shí)驗(yàn),實(shí)驗(yàn)表明,這種方式對(duì)于抵抗對(duì)抗樣本效果不好。
6.不同類型的模型容量
所謂模型容量就是指其擬合各種函數(shù)的能力。容量低的模型很難擬合訓(xùn)練集,容量高的模型容易過(guò)擬合。模型的容量對(duì)于對(duì)抗樣本的敏感度是不一樣的。低容量的模型對(duì)于對(duì)抗樣本有一種天然的抗性(畢竟擬合度差)。文中用RBF做了一個(gè)實(shí)驗(yàn),發(fā)現(xiàn)它對(duì)于誤分類的樣本信心非常低(1.2%)。但是RBF的不變性對(duì)于其他變換的適應(yīng)性并不好。作者認(rèn)為線性單元與RBF單元實(shí)際是一個(gè)precision與recall的權(quán)衡。為此,作者想要設(shè)計(jì)一個(gè)復(fù)雜的模型,包含二次單元和RBF網(wǎng)絡(luò),但是這個(gè)任務(wù)比較困難。
?
6.對(duì)抗樣本泛化的原因
我們都知道很多論文都表明,對(duì)抗樣本具有Transferability。具體來(lái)說(shuō),在一個(gè)特定模型上產(chǎn)生的對(duì)抗樣本通常也容易被其他模型誤分類,即使這些模型的結(jié)構(gòu)不同或者模型在不同的訓(xùn)練集上訓(xùn)練。甚至,不同的模型對(duì)對(duì)抗樣本誤分類的結(jié)果相同!作者表明,非線性或者過(guò)擬合的假設(shè)不能解釋上述的現(xiàn)象,即, 為什么擁有無(wú)限能力的極度非線性模型會(huì)以相同的方式標(biāo)注數(shù)據(jù)分布點(diǎn)?在本文提出的線性解釋下,作者認(rèn)為對(duì)抗樣本在廣泛的子空間存在。
上圖表明,在不同的?下,可以看到FGSM可以在一維的連續(xù)子空間內(nèi)產(chǎn)生對(duì)抗樣本,而不是特定的區(qū)域(為什么誤分類仍有比較高的置信度)。這就解釋了為什么對(duì)抗樣本特別多,以及對(duì)抗樣本transferability存在的原因。
該方法在[Adversarial Machine Learning at Scale]這篇文章中進(jìn)行了一些改進(jìn),將one-shot變成了迭代的方式求解;并且將增大原類別標(biāo)記的損失函數(shù)改成減小目標(biāo)類別標(biāo)記的損失函數(shù)。即:?
其中α是迭代步長(zhǎng)。這樣增加了FGSM的攻擊成功率,稱為BIM方法。
?
另外,為了解釋為什么不同的分類器將對(duì)抗樣本誤分類到同一個(gè)類,作者假設(shè)目前的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò)都類似于在同一個(gè)訓(xùn)練集上學(xué)習(xí)的線性分類器。由于機(jī)器學(xué)習(xí)算法的泛化能力,所以線性分類器可以在訓(xùn)練集的不同子集上訓(xùn)練出大致相同的分類權(quán)重。底層分類權(quán)重的穩(wěn)定性反過(guò)來(lái)又會(huì)導(dǎo)致對(duì)抗樣本中的穩(wěn)定性。
?
7.對(duì)抗樣本的其他假設(shè)
假設(shè)1:生成訓(xùn)練可以在訓(xùn)練過(guò)程中提供更多的限制,或者是的模型學(xué)習(xí)如何分辨"real"或者"fake"的數(shù)據(jù),并且對(duì)"real"的數(shù)據(jù)更加自信。
文章表明,某些生成訓(xùn)練并不能達(dá)到假設(shè)的效果,但是不否認(rèn)可能有其他形式的生成模型可以抵御攻擊,但是確定的是生成訓(xùn)練的本身并不足夠。
假設(shè)2:對(duì)抗樣本存在于單個(gè)奇怪的模型(models with strange quirks),因此多個(gè)模型的平均可以使得模型防御性更好。
文章通過(guò)實(shí)驗(yàn)說(shuō)明,模型融合對(duì)于對(duì)抗樣本的防御能力非常有限。
?
0x03.主要結(jié)論
- 對(duì)抗樣本的存在是因?yàn)槟P瓦^(guò)于線性,而不是因?yàn)槟P瓦^(guò)于非線性。
- 對(duì)抗樣本在不同模型之間的泛化能力可以解釋為對(duì)抗樣本擾動(dòng)與模型權(quán)重變量步調(diào)高度一致的結(jié)果,而不同的模型在執(zhí)行相同的任務(wù)的時(shí)候,學(xué)習(xí)的都是相似的函數(shù)。
- 擾動(dòng)的方向比擾動(dòng)的具體值重要。因?yàn)樘卣骺臻g并不像實(shí)數(shù)里面到處嵌入了無(wú)理數(shù)一樣,到處都存在對(duì)抗樣本。
- 正是因?yàn)閿_動(dòng)在正確的方向才起作用,所以可以在不同的原始干凈樣本中進(jìn)行泛化。
- 介紹了一種生成對(duì)抗樣本的方法。
- 對(duì)抗樣本可以起到正則化的作用,甚至比 dropout 的效果還好。
- L1 weight decay 加噪音起到的正則化效果沒(méi)有對(duì)抗樣本的正則化效果好。
- 越容易優(yōu)化的模型,越容易遭受擾動(dòng)。
- 線性模型缺乏抵抗對(duì)抗樣本擾動(dòng)的?capacity。只有含有隱含層的結(jié)構(gòu)才能被用于訓(xùn)練來(lái)抵抗擾動(dòng)(不確定意思get的對(duì)不對(duì))。
- RBF 網(wǎng)絡(luò)可以抵抗對(duì)抗樣本。
- Models trained to model the input distribution are not resistant to adversarial examples.(不好翻譯)
- 集成多個(gè)模型也并不能抵抗對(duì)抗樣本。
參考:
https://www.cnblogs.com/lainey/p/8568581.html
https://blog.csdn.net/m0_38011344/article/details/80262570
https://blog.csdn.net/SYSU_BOND/article/details/79785989
https://blog.csdn.net/Evabook/article/details/89461984
https://blog.csdn.net/kearney1995/article/details/79638389
https://blog.csdn.net/wuye999/article/details/83347113
https://blog.csdn.net/tfcy694/article/details/80614399
https://blog.csdn.net/weixin_38298363/article/details/84574230
https://blog.csdn.net/qq_24974989/article/details/88914086
?
總結(jié)
以上是生活随笔為你收集整理的Paper Reading(1) : ICLR2015_Explaining and Harnessing Adversarial Examples的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: lable标签的宽度_html中的lab
- 下一篇: [pytorch学习笔记] 3.Data