對(duì)抗樣本的反思
雷鋒網(wǎng)AI科技評(píng)論編者按:對(duì)抗樣本是各種機(jī)器學(xué)習(xí)系統(tǒng)需要克服的一大障礙。它們的存在表明模型傾向于依賴不可靠的特征來(lái)最大限度的提高性能,如果受到干擾,可能會(huì)導(dǎo)致錯(cuò)誤分類,帶來(lái)潛在的災(zāi)難性后果。對(duì)抗性樣本的非正式定義可以認(rèn)為是,輸入被以一種人類難以察覺(jué)的方式修改后,機(jī)器學(xué)習(xí)系統(tǒng)會(huì)將它們錯(cuò)誤分類,而沒(méi)有修改的原始輸入?yún)s能被正確分類。下圖就說(shuō)明了這種情況:
圖 1:原始圖像(左),對(duì)抗噪聲(中間),被干擾的圖像被錯(cuò)誤地分類為 2(右)
左側(cè)的「7」是原始輸入,模型能夠正確地將它識(shí)別為「7」,但將它與中間的對(duì)抗噪聲疊加后,模型卻將它錯(cuò)誤地識(shí)別為「2」。
對(duì)抗樣本的正式定義如下:
圖 2:對(duì)抗性樣本的定義
其中 ? 是我們嘗試最大化的損失函數(shù),?_orig 是原始圖像,δ 是干擾因子,y 是基準(zhǔn)標(biāo)簽,選擇 ε 以確保被擾動(dòng)圖像看起來(lái)不太嘈雜,并且看起來(lái)仍然像是人類的原始圖像。一些攻擊(例如 FGS,IGS 和 PGD)會(huì)使用 L-∞ 范數(shù)來(lái)約束被擾動(dòng)的圖像和原始圖像之間的距離。在這篇文章中,我們將探討為 MNIST 數(shù)據(jù)集挑選合適 ε 的難點(diǎn)。我們還將研究「生成對(duì)抗樣本」的最新技術(shù),這種技術(shù)不依賴于擾動(dòng)原始圖像,但我認(rèn)為這種技術(shù)事實(shí)上并不嚴(yán)格符合對(duì)抗樣本的定義。
1.MNIST 距離分析
讓我們先來(lái)簡(jiǎn)單分析一下同類和不同類圖像之間的平均距離。也許這些距離可以幫助我們以一種更客觀的、量化的方式來(lái)選擇 ε 。(雷鋒網(wǎng))
我們從每一個(gè)類中抽取 100 個(gè)隨機(jī)圖像,并計(jì)算在不同范數(shù)下圖像之間的平均成對(duì)距離。下圖只顯示了 L-2 范數(shù)(以避免混亂),主要是因?yàn)?L-∞范數(shù)熱圖在每個(gè)單元格中只有一個(gè) 1,并沒(méi)有其它信息。
圖 3:L-2 規(guī)范訓(xùn)練集距離,相應(yīng)代碼可查看 ipynb 文件:http://bit.ly/2Q82Feo
一個(gè)合理的假設(shè)是,這個(gè)熱圖的對(duì)角線元素(類內(nèi)距離)應(yīng)該低于同一行或同一列中的非對(duì)角線元素(類間距離)。然而,與上面說(shuō)到的情況會(huì)有一些不同,類「2」更接近類「1」,而類「8」也更接近類「1」。這猛一看會(huì)讓人很吃驚,但它其實(shí)表明給定數(shù)字的樣式變化可能導(dǎo)致比在數(shù)字之間的切換造成更多的像素差異。我們可以這樣來(lái)理解,對(duì)于每一個(gè)數(shù)字,都會(huì)有一組像素不因該數(shù)字的不同樣式而改變,但當(dāng)兩個(gè)不同數(shù)字的不變組具有很高的重疊時(shí),就會(huì)出現(xiàn)上述的意外結(jié)果。
那么這對(duì) ε 的選擇有什么影響呢?
2.選擇 ε
根據(jù) Madry 等人[1]的研究,當(dāng)使用 L-∞范數(shù)時(shí),ε一般設(shè)置為 0.3;而當(dāng)使用 L-2 范數(shù)時(shí),一般設(shè)置為 4.5 這樣大的數(shù)值。
如果我們?cè)?L-∞范數(shù)下取極端值ε= 1.0,我們將無(wú)法控制被擾動(dòng)圖像的基本真值類,并可能最終生成一個(gè)無(wú)論對(duì)于人類還是我們的分類模型來(lái)說(shuō)都是不同類的圖像。
于是這就允許我們?cè)谟?xùn)練集和測(cè)試集圖像之間進(jìn)行插值:x'= rx_train *(1-r)x_test。如果我們的模型碰巧對(duì) x_test 進(jìn)行錯(cuò)誤分類,那么它將被標(biāo)記為對(duì)抗性的。因此,下面這兩個(gè)條件應(yīng)當(dāng)?shù)玫奖WC:
在將原始圖像 x 與其擾動(dòng)版本 x'并列比較時(shí),人類無(wú)法察覺(jué)到這種擾動(dòng);
擾動(dòng)不會(huì)導(dǎo)致相同數(shù)字的圖像之間進(jìn)行插值,否則會(huì)使對(duì)抗魯棒性與泛化性能相混淆。對(duì)于給定的數(shù)字 d 和測(cè)試集圖像 x_correct 和 x_false,我們的模型分別對(duì)它們進(jìn)行了正確和錯(cuò)誤的分類,一個(gè)簡(jiǎn)單的對(duì)抗攻擊就是將 x_correct 轉(zhuǎn)換為 x_false。
對(duì)于觀察者來(lái)講,條件(1)通常意味著條件(2)。那么,條件(2)是否意味著條件(1)呢?ε= 0.3 當(dāng)然滿足條件(2),因?yàn)樗袌D像的 L-inf 距離都接近 1.0。讓我們來(lái)看看如果生成如下 2 個(gè)類的組合的圖像會(huì)發(fā)生什么。
圖 4:在 L-∞距離約束下的平均圖像
將原始圖像和精制圖像之間的 L-∞距離限定為 ε ,但任何人類都可以輕松區(qū)分兩個(gè)圖像之間的差異,如下圖所示:
圖 5:在原始ε= 0.3 L-inf 距離內(nèi)制作的圖像
很明顯,最右邊的圖像有一些不足之處。事實(shí)上,如果沒(méi)有被告知這是一個(gè)由 0 和 1 組合而成的圖像,有些人可能會(huì)說(shuō)它只是一個(gè)抽象的符號(hào)。
因此,通過(guò)這個(gè)簡(jiǎn)單的例子,我們可以看出 ε= 0.3 違反條件(1)。其它較小的值如 ε= 0.2 也會(huì)得到類似的結(jié)果。MNIST 數(shù)據(jù)集允許輕松識(shí)別被擾動(dòng)的像素。在很多情況下,僅通過(guò)簡(jiǎn)單地檢查是否對(duì)背景像素進(jìn)行了修改,就可以為對(duì)抗樣本創(chuàng)建檢測(cè)機(jī)制。但如果攻擊者知道有這種檢測(cè)機(jī)制,那么他們可以繞過(guò)這種(Carlini and Wagner[ 2 ])。
那我們又該怎么選擇 ε 呢?
一種方案就是對(duì)不同的圖像使用不同的ε。對(duì)于某些類,很容易判斷在數(shù)字本身的邊界框內(nèi)是否已經(jīng)更改了像素,如上面的例子所示。對(duì)于這些類,ε 應(yīng)該設(shè)置為較小的值。
此外,當(dāng)用于計(jì)算圖像空間中的距離時(shí),諸如 L-2 或 L-∞的典型范數(shù)沒(méi)有語(yǔ)義相似性的概念。如果他們能夠在輸入空間中給出圖像之間的語(yǔ)義相似性,那么就有可能構(gòu)建一個(gè)簡(jiǎn)單的 KNN 圖像分類器,并能輕松超越過(guò)去 7 年中卷積神經(jīng)網(wǎng)絡(luò)的成就。
一個(gè)可能的方案是使用度量學(xué)習(xí)中的技術(shù)。通過(guò)學(xué)習(xí)嵌入,這些嵌入之間的 L-2 或 L-∞距離包含語(yǔ)義相似性的概念,那么我們可以在這個(gè)嵌入空間(而不是輸入空間)中調(diào)整ε。
圖 6:三重網(wǎng)絡(luò)的作用
有一種被稱為三重網(wǎng)絡(luò)(triplet networks)的技術(shù)使用的正式這種方案。三重網(wǎng)絡(luò)將 3 幅圖像同時(shí)傳遞給同一個(gè)嵌入網(wǎng)絡(luò)來(lái)并行運(yùn)行,并通過(guò)類 y 的錨,以及同一類的正例(+)和不同類 y'的負(fù)例(-)。損失函數(shù)確保了錨和正例之間的距離至少小于錨和負(fù)例之間的距離。
使用像三重網(wǎng)絡(luò)這樣的度量學(xué)習(xí)技術(shù)仍然需要手動(dòng)驗(yàn)證,以確保選擇的ε不會(huì)太大,以至于允許在類上發(fā)生變化。此外,我們必須考慮條件(2),它表示我們不應(yīng)該使用擾動(dòng)從數(shù)據(jù)集中的一個(gè)圖像跳轉(zhuǎn)到同一個(gè)類的另一個(gè)圖像。
PGD 的攻擊是在損失函數(shù)梯度方向上迭代增加損失,然后將得到的圖像投影到滿足原始圖像距離約束的輸入子空間上。在這里,我們可以不在輸入子空間上進(jìn)行投影,而是在剛才提到的使用度量學(xué)習(xí)算法的嵌入空間進(jìn)行投影。
3.生成對(duì)抗樣本
傳統(tǒng)上,對(duì)抗樣本都是通過(guò)使用反向制造噪音的方法干擾一些已經(jīng)存在的圖像。而 Song 等人[3]則提出了一種非??岬纳蓪?duì)抗樣本的方法,他們使用 GAN 直接從頭開(kāi)始生成能夠欺騙被攻擊模型的圖像。
具體來(lái)說(shuō)就是,他們使用了一個(gè)輔助分類器 GAN(AC-GAN),能夠?qū)D像類進(jìn)行條件設(shè)置,以便控制正在生成的圖像類型。這導(dǎo)致會(huì)生成「不受限制的對(duì)抗樣本」,因?yàn)闆](méi)有約束距離(圖像是從頭開(kāi)始生成的)。
不過(guò)這里需要強(qiáng)調(diào),他們的方法既不滿足前面提到的條件(1)也不滿足條件(2)。
雖然他們的技術(shù)非常有用,并且用生成能夠欺騙模型的新圖像可以進(jìn)行模型調(diào)試以及數(shù)據(jù)增強(qiáng),但他們的分析卻將泛化性能和對(duì)抗性魯棒性看做一回事。
事實(shí)上,若想正確分析模型的魯棒性,我們需要能夠?qū)⒎夯阅芎蛯?duì)抗魯棒性這兩個(gè)指標(biāo)分開(kāi),因?yàn)樗鼈儾⒉灰粯?,具體可以參看 Tsipras 等人[4]最新的研究工作。
因此,盡管人們可能會(huì)放棄「基于干擾的對(duì)抗樣本」的定義,但就目前而言,它們是唯一允許以獨(dú)立的、非混淆的方式研究對(duì)抗魯棒性的方法。
4. 總結(jié)
對(duì)于諸如 MNIST 這類的數(shù)據(jù)集,對(duì)抗樣本的當(dāng)前定義還存在著些許不足,但是對(duì)于類似 ImageNet 的內(nèi)容還是很有意義的,因?yàn)樵? ImageNet 中干擾因子很難被注意到,也不會(huì)使圖像看起來(lái)像是奇怪的組合。對(duì)每個(gè)圖像或每類圖像使用相同的閾值 ε 可能是一種懲罰性要求,因?yàn)檫@會(huì)更容易檢測(cè)特定類別圖像的噪聲。
圖像是一種可視化的數(shù)據(jù)類型,人類自然容易分析和判斷是否有可疑的東西存在。然而,在很多領(lǐng)域中,數(shù)據(jù)都是以數(shù)字的抽象向量的形式出現(xiàn),這些向量很難理解和可視化。在這些領(lǐng)域中定義什么是對(duì)抗可能已經(jīng)超出了我們想象的范圍,因?yàn)槲覀円婚_(kāi)始就無(wú)法理解原始數(shù)據(jù)。在這種情況下,提出 ε 的定量方法是必須的。
雷鋒網(wǎng)編輯。via:http://1t.click/akDc
參考文獻(xiàn):
[1]Madry et al. https://arxiv.org/pdf/1706.06083.pdf
[2] Carlini and Wagner,https://arxiv.org/pdf/1705.07263.pdf
[3] Song et al.https://arxiv.org/pdf/1805.07894.pdf
[4] Tsipras et al.https://arxiv.org/pdf/1805.12152.pdf
雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))報(bào)道