0
本文作者: 楊文 | 2018-01-30 10:54 |
雷鋒網(wǎng)AI研習(xí)社按:對(duì)抗樣本是一類(lèi)被惡意設(shè)計(jì)來(lái)攻擊機(jī)器學(xué)習(xí)模型的樣本。它們與真實(shí)樣本的區(qū)別幾乎無(wú)法用肉眼分辨,但是卻會(huì)導(dǎo)致模型進(jìn)行錯(cuò)誤的判斷。本文就來(lái)大家普及一下對(duì)抗樣本的基礎(chǔ)知識(shí),以及如何做好對(duì)抗樣本的攻與防。
在近期雷鋒網(wǎng)AI研習(xí)社舉辦的線(xiàn)上公開(kāi)課上,來(lái)自清華大學(xué)的在讀博士生廖方舟分享了他們團(tuán)隊(duì)在 NIPS 2017 上一個(gè)對(duì)抗樣本攻防大賽中提到的兩個(gè)新方法,這兩個(gè)方法在大賽中分別獲得了攻擊方和防守方的第一名。點(diǎn)擊可視頻回放
廖方舟,清華大學(xué)化學(xué)系學(xué)士,生醫(yī)系在讀博士。研究方向?yàn)橛?jì)算神經(jīng)學(xué),神經(jīng)網(wǎng)絡(luò)和計(jì)算機(jī)視覺(jué)。參加多次 Kaggle 競(jìng)賽,是 Data Science Bowl 2017 冠軍,NIPS 2017 對(duì)抗樣本比賽冠軍。Kaggle 最高排名世界第10。
分享主題:
動(dòng)量迭代攻擊和高層引導(dǎo)去噪:產(chǎn)生和防御對(duì)抗樣本的新方法
分享內(nèi)容:
大家好,我是廖方舟,今天分享的主題是對(duì)抗樣本的攻和防。對(duì)抗樣本的存在會(huì)使得深度學(xué)習(xí)在安全敏感性領(lǐng)域的應(yīng)用收到威脅,如何對(duì)其進(jìn)行有效的防御是很重要的研究課題。 我將從以下幾方面做分享。
什么是對(duì)抗樣本
傳統(tǒng)的攻擊方法
傳統(tǒng)的防守方法
動(dòng)量迭代攻擊
去噪方法
高層引導(dǎo)去噪方法
什么是對(duì)抗樣本
對(duì)抗樣本的性質(zhì)不僅僅是圖片所擁有的性質(zhì),也不僅僅是深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)獨(dú)有的性質(zhì)。因此它是把機(jī)器學(xué)習(xí)模型應(yīng)用到一些安全敏感性領(lǐng)域里的一個(gè)障礙。
當(dāng)時(shí),機(jī)器學(xué)習(xí)大牛Good fellow找了些船、車(chē)圖片,他想逐漸加入一些特征,讓模型對(duì)這些船,車(chē)的識(shí)別逐漸變成飛機(jī),到最后發(fā)現(xiàn)人眼觀測(cè)到的圖片依然是船、車(chē),但模型已經(jīng)把船、車(chē)當(dāng)做飛機(jī)。
我們之前的工作發(fā)現(xiàn)樣本不僅僅是對(duì)最后的預(yù)測(cè)產(chǎn)生誤導(dǎo),對(duì)特征的提取也產(chǎn)生誤導(dǎo)。這是一個(gè)可視化的過(guò)程。
當(dāng)把一個(gè)正常樣本放到神經(jīng)網(wǎng)絡(luò)后,神經(jīng)元會(huì)專(zhuān)門(mén)觀察鳥(niǎo)的頭部,但我們給它一些對(duì)抗樣本,這些對(duì)抗樣本也都全部設(shè)計(jì)為鳥(niǎo),就發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)提取出來(lái)的特征都是亂七八糟,和鳥(niǎo)頭沒(méi)有太大的關(guān)系。也就是說(shuō)欺騙不是從最后才發(fā)生的,欺騙在從模型的中間就開(kāi)始產(chǎn)生的。
下圖是最簡(jiǎn)單的攻擊方法——Fast Gradient Sign Method
除了FGSM單步攻擊的方法,它的一個(gè)延伸就是多步攻擊,即重復(fù)使用FGSM。由于有一個(gè)最大值的限制,所以單步的步長(zhǎng)也會(huì)相應(yīng)縮小。比如這里有一個(gè)攻擊三步迭代,每一步迭代的攻擊步長(zhǎng)也會(huì)相應(yīng)縮小。
產(chǎn)生圖片所用的CNN和需要攻擊的CNN是同一個(gè),我們稱(chēng)為白盒攻擊。與之相反的攻擊類(lèi)型稱(chēng)為黑盒攻擊,也就是對(duì)需要攻擊的模型一無(wú)所知。
以上所說(shuō)的都是Non Targeted, 只要最后得到的目標(biāo)預(yù)測(cè)不正確就可以了。另一種攻擊Targeted FGSM,目標(biāo)是不僅要分的不正確,而且還要分到指定的類(lèi)型。
一個(gè)提高黑盒攻擊成功率行之有效的辦法,是攻擊一個(gè)集合。
而目前為止一個(gè)行之有效的防守策略就是對(duì)抗訓(xùn)練。在模型訓(xùn)練過(guò)程中,訓(xùn)練樣本不僅僅是干凈樣本,而是干凈樣本加上對(duì)抗樣本。隨著模型訓(xùn)練越來(lái)越多,一方面干凈圖片的準(zhǔn)確率會(huì)增加,另一方面,對(duì)對(duì)抗樣本的魯棒性也會(huì)增加。
下面簡(jiǎn)單介紹一下NIPS 2017 上的這個(gè)比賽規(guī)則
比賽結(jié)構(gòu)
兩個(gè)限制條件:容忍范圍不能太大;不能花太長(zhǎng)時(shí)間產(chǎn)生一個(gè)對(duì)抗樣本,或者防守一個(gè)對(duì)抗樣本
FGSM算法結(jié)果
圖中綠色模型為攻擊范圍,最后兩欄灰色是黑盒模型,隨著迭代數(shù)量的增加, 攻擊成功率反而上升。這就給攻擊造成了難題。
我們解決的辦法就是在迭代與迭代中間加入動(dòng)量
加入動(dòng)量之后,白盒攻擊變強(qiáng)了,而且對(duì)黑盒模型攻擊的成功率也大大提升了。
總結(jié):
以前方法(iterative attack)的弱點(diǎn)是在迭代數(shù)量增多的情況下,它們的遷移性,也就是黑盒攻擊性會(huì)減弱,在我們提出加入動(dòng)量之后,這個(gè)問(wèn)題得到了解決,可以很放心使用非常多的迭代數(shù)量進(jìn)行攻擊。
在NIPS 2017 比賽上得到最高的分?jǐn)?shù)
需要提到的一點(diǎn),上面提到的都是Non-targeted , 在Targeted攻擊里面,這個(gè)策略有所不同。在Targeted攻擊里面,基本沒(méi)有觀察到遷移性,也就是黑盒成功率一直很差,即便是加入動(dòng)量,它的遷移程度也非常差。
下面講一下防守
首先想到的就是去噪聲,我們嘗試用了一些傳統(tǒng)的去噪方法(median filter 、BM3D)效果都不好。之后我們嘗試使用了兩個(gè)不同架構(gòu)的神經(jīng)網(wǎng)絡(luò)去噪。一個(gè)是 Denoising Autoencoder,另一個(gè)是Denoising Additive U-Net。
我們的訓(xùn)練樣本是從ImageNet數(shù)據(jù)集中取了三萬(wàn)張圖片 ,使用了七個(gè)不同的攻擊方法對(duì)三萬(wàn)張圖片攻擊,得到21萬(wàn)張對(duì)抗樣本圖片以及三萬(wàn)張對(duì)應(yīng)的原始圖片。除了訓(xùn)練集,我們還做了兩個(gè)測(cè)試集。一個(gè)白盒攻擊測(cè)試集和一個(gè)黑盒攻擊測(cè)試集。
訓(xùn)練效果
我們發(fā)現(xiàn)經(jīng)過(guò)去噪以后,正確率反而有點(diǎn)下降。我們分析了一下原因,輸入一個(gè)干凈圖片,再輸入一個(gè)對(duì)抗圖片,然后計(jì)算每一層網(wǎng)絡(luò)在這兩張圖片上表示的差距,我們發(fā)現(xiàn)這個(gè)差距是逐層放大的。
圖中藍(lán)線(xiàn)發(fā)現(xiàn)放大的幅度非常大,圖中紅線(xiàn)是去噪過(guò)后的圖片,仍然在放大,導(dǎo)致最后還是被分錯(cuò)。
為了解決這個(gè)問(wèn)題,我們提出了經(jīng)過(guò)改良后的網(wǎng)絡(luò) HGD
HGD 的幾個(gè)變種
和之前的方法相比,改良后的網(wǎng)絡(luò) HGD防守準(zhǔn)確率得到很大的提升
HGD 有很好的遷移性
最后比賽中,我們集成了四個(gè)不同的模型,以及訓(xùn)練了他們各自的去噪, ,最終把它們合并起來(lái)提交了上去。
HGD網(wǎng)絡(luò)總結(jié)
優(yōu)點(diǎn):
效果顯著比其他隊(duì)伍的模型好。
比前人的方法使用更少的訓(xùn)練圖片和更少的訓(xùn)練時(shí)間。
可遷移。
缺點(diǎn):
還依賴(lài)于微小變化的可測(cè)量
問(wèn)題并沒(méi)有完全解決
仍然會(huì)受到白盒攻擊,除非假設(shè)對(duì)手不知道HGD的存在
雷鋒網(wǎng)AI慕課學(xué)院提供了本次分享的視頻回放:http://www.mooc.ai/open/course/383
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。