丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給MrBear
發(fā)送

0

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

本文作者: MrBear 編輯:楊曉凡 2018-07-04 17:30
導(dǎo)語(yǔ):他山之石,可以攻玉。且看Machine Can See 2018 優(yōu)勝者的獨(dú)門秘籍!

雷鋒網(wǎng) AI 科技評(píng)論按:這篇文章來(lái)自俄羅斯數(shù)據(jù)科學(xué)家、機(jī)器學(xué)習(xí)愛(ài)好者、創(chuàng)業(yè)公司的計(jì)算機(jī)視覺(jué)研究員 Alexander Aveysov。他參加了 2018 年度的「Machine Can See」的對(duì)抗性樣本攻防大賽,并在比賽中獲得了第二名。這篇文章是他對(duì)這次比賽的個(gè)人感想以及經(jīng)驗(yàn)總結(jié)。雷鋒網(wǎng) AI 科技評(píng)論編譯如下。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

所有的對(duì)抗性攻擊的簡(jiǎn)單范式

全文梗概

前不久,我有幸參加了「Machine Can See 2018」的對(duì)抗性樣本攻防大賽。事實(shí)上,我參加比賽的時(shí)候已經(jīng)很晚了(幸運(yùn)的是,我在比賽結(jié)束時(shí)獲得了第二名),最終我們的隊(duì)伍由4 個(gè)人組成,其中包括我在內(nèi)的 3 個(gè)人為奪取勝利作出了突出的貢獻(xiàn)(去掉其中的任何一個(gè)人,我們都不會(huì)取得這樣的成績(jī))。

本次比賽旨在對(duì)人臉圖片進(jìn)行修改(結(jié)構(gòu)相似度 SSIM的下限為 0.95),從而使黑盒的 CNN 無(wú)法將源人像(source person)和目標(biāo)人像(target person)區(qū)分開(kāi)來(lái)。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

簡(jiǎn)而言之,比賽的要求就是:修改一張人臉圖像,使得黑盒模型不能將兩張人臉圖像區(qū)分開(kāi)來(lái)(至少?gòu)摹窵2 范數(shù)/歐氏距離」的層面上來(lái)說(shuō)是這樣)。

在對(duì)抗性攻擊中起作用的是什么?我們采用了哪些方法?

1. 快速梯度符號(hào)法(FGSM)確實(shí)有效。加入啟發(fā)式方法可以略微提升其性能;

2. 快速梯度值法(FGVM)。加入啟發(fā)式方法可以大幅度提升其性能;

3. 梯度差分進(jìn)化算法(這里為大家提供一篇關(guān)于該算法的精彩的文章:https://pablormier.github.io/2017/09/05/a-tutorial-on-differential-evolution-with-python/)+像素級(jí)攻擊;

4. 模型集成(將最優(yōu)秀的解決方案對(duì)疊起來(lái),例如 6 個(gè)ResNet-34);

5. 目標(biāo)圖像組合的智能化遍歷;

6. 在進(jìn)行 FGVM 攻擊時(shí)充分使用早停止(early stopping)技術(shù)。

對(duì)我們不起作用的做法是:

1. 為 FGVM 算法添加動(dòng)量(這種方法僅僅能夠提升排名較低的隊(duì)伍的模型性能。因此,也許僅僅使用模型集成+啟發(fā)式方法就能獲得比動(dòng)量更好的性能?);

2. C&W攻擊(本質(zhì)上是一種端到端的攻擊方法,他著眼于白盒模型中的「logits」(一個(gè)事件發(fā)生與該事件不發(fā)生的比值的對(duì)數(shù)),https://arxiv.org/abs/1705.07263);

3. 端到端的基于「Siamese」連接網(wǎng)絡(luò)(一種類似于 UNet 的架構(gòu),但是是基于 RenNet 開(kāi)發(fā)而來(lái))的方法。這種方法對(duì)于 WB 有效,但是不適用于 BB。

我們還沒(méi)有嘗試的做法(由于缺乏時(shí)間、努力或意志力):

1. 為學(xué)生網(wǎng)絡(luò)的學(xué)習(xí)適當(dāng)?shù)販y(cè)試數(shù)據(jù)增強(qiáng)(我們同時(shí)還需要修改描述符);

2. 在攻擊時(shí)進(jìn)行數(shù)據(jù)增強(qiáng);

競(jìng)賽概覽:

1. 競(jìng)賽提供的數(shù)據(jù)是一個(gè)由 1000 組 5+5(分別為source person 和 target person)的圖片組合組成的小型數(shù)據(jù)集;

2. 用來(lái)訓(xùn)練學(xué)生網(wǎng)絡(luò)的數(shù)據(jù)集規(guī)模相對(duì)較大——超過(guò) 1M的圖片;

3. BB 是作為許多預(yù)編譯好的 Caffe 模型提供的(由于BB在這種環(huán)境下運(yùn)行,這些模型當(dāng)然不能使用合適的最新的版本的軟件,這個(gè)問(wèn)題最終將由主機(jī)解決)。這個(gè)問(wèn)題確實(shí)有些令人痛苦,因?yàn)檫@個(gè)BB 并不接受圖像的批量處理;

4. 該比賽設(shè)置了一個(gè)極高的對(duì)比基線(老實(shí)說(shuō),我相信沒(méi)有這個(gè)基線就不會(huì)有人登上排行榜了);

核心資源:

1. 一個(gè)最終的模型副本的代碼倉(cāng)庫(kù)(https://github.com/snakers4/msc-2018-final  );

2. 我們的模型演示(https://drive.google.com/file/d/1P-4AdCqw81nOK79vU_m7IsCVzogdeSNq/view  );

3. 所有獲獎(jiǎng)?wù)叩哪P脱菔荆?a target="_blank" rel=nofollow>https://drive.google.com/file/d/1aIUSVFBHYabBRdolBRR-1RKhTMg-v-3f/view  );

詳細(xì)敘述 - 「Machine Can See 2018」大賽概覽,看我如何取得最終的成績(jī)

1. 比賽流程及解決方案

老實(shí)說(shuō),我被這項(xiàng)有趣的比賽所吸引了,比賽的獎(jiǎng)品為英偉達(dá) GTX 1080Ti 公版顯卡并且我認(rèn)為比賽的競(jìng)爭(zhēng)水平相對(duì)較低(它遠(yuǎn)遠(yuǎn)不能和那些有 4000 個(gè)參賽者的 Kaggle 比賽+整個(gè) ODS 團(tuán)隊(duì)相提并論)。

如上文所述,比賽的目標(biāo)是欺騙 BB 模型,使其無(wú)法區(qū)分連個(gè)不同的人的圖像(使用 L2范數(shù)或歐氏距離度量)。該比賽是一個(gè)「黑盒」競(jìng)賽,因此我們不得不利用比賽提供給我們的數(shù)據(jù)“蒸餾”(知識(shí)提取)出學(xué)生網(wǎng)絡(luò),并希望 BB 和 WB 模型的梯度能夠足夠相似,從而進(jìn)行攻擊。

事實(shí)上,如果你充分閱讀了學(xué)術(shù)文獻(xiàn)(例如,這一篇(https://arxiv.org/abs/1712.07107  )和這一篇(https://arxiv.org/abs/1801.00553  ),盡管這些論文并未討論真實(shí)生活中的情況如何)并且提煉出那些頂尖的團(tuán)隊(duì)所獲得的知識(shí),你可以很容易地發(fā)現(xiàn)下面的模式:

1. 最容易實(shí)現(xiàn)的攻擊手段(在現(xiàn)在流行的框架上)涉及白盒攻擊或者了解卷積神經(jīng)網(wǎng)絡(luò)(CNN)的內(nèi)部結(jié)構(gòu)(或僅僅是一個(gè)架構(gòu));

           1.1 有人在和我聊天時(shí)竟然建議我記錄黑盒模型進(jìn)行推斷的時(shí)間,從而反推它的架構(gòu),真是太搞笑了!

2. 如果能夠獲得足夠的數(shù)據(jù),你可以使用一個(gè)經(jīng)過(guò)恰當(dāng)訓(xùn)練的白盒模型對(duì)黑盒模型進(jìn)行模擬;

3. 根據(jù)推測(cè),目前最先進(jìn)的方法是:

           3.1 端到端的 C&W 攻擊(在這里效果并不好);

           3.2 巧妙的 FGSM 算法的擴(kuò)展(https://arxiv.org/pdf/1710.06081.pdf),例如:動(dòng)量+模型集成;

說(shuō)實(shí)話,我們?cè)欢认萑肜Щ笾?,因?yàn)槲覀儓F(tuán)隊(duì)中有兩個(gè)人實(shí)現(xiàn)了截然不同的兩套端到端的解決方案(而他們之間互相并不知道這一點(diǎn),也就是說(shuō)分別完成了兩套系統(tǒng)),而他們都沒(méi)有采用黑盒模型。這本質(zhì)上意味著在我們的任務(wù)中,我們的模型設(shè)定中漏掉了一些隱藏的因素,而我們沒(méi)有注意到這一點(diǎn)。正如許多現(xiàn)在流行的完全端到端的計(jì)算機(jī)視覺(jué)應(yīng)用一樣,它們要么為你提供非常好的結(jié)果(例如:風(fēng)格遷移,深度分水嶺算法(用于圖像分割),圖像生成,圖像去噪),要么就基本上不起作用。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得 

梯度方法是如何工作的

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

事實(shí)上,你可以利用知識(shí)蒸餾技術(shù)通過(guò)一個(gè)白盒模型模擬一個(gè)黑盒模型,接著你值用計(jì)算輸入圖像關(guān)于模型輸出的梯度。而這一切的奧秘都在啟發(fā)式算法中。

2. 目標(biāo)度量

目標(biāo)的度量標(biāo)準(zhǔn)是一個(gè)所有 25 種(5*5=25)源圖像和目標(biāo)圖像組合的平均 L2 范數(shù)(歐氏距離)。 

由于 CodaLab(賽事組織者)的限制,我認(rèn)為個(gè)人得分(以及團(tuán)隊(duì)分?jǐn)?shù)合并的過(guò)程)是由管理員手動(dòng)完成的,這就有些尷尬了。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

3. 團(tuán)隊(duì)

當(dāng)我比排行榜(AFAIK)上的其他人都取得了更好的學(xué)生網(wǎng)絡(luò)的訓(xùn)練結(jié)果,并且和 Atmyre(https://github.com/atmyre)進(jìn)行了一番討論之后(她幫助我使用了正確編譯的黑盒模型,因?yàn)樗约阂裁媾R這樣的問(wèn)題),我加入了現(xiàn)在的團(tuán)隊(duì)。在比賽結(jié)束前的 2-3 天,我們?cè)诓挥梅窒砦覀兊乃惴ê痛a的情況下共享了本地分?jǐn)?shù):

1. 我的端到端的模型失敗了(她的也是);

2. 我的學(xué)生模型性能更好;

3. 他們擁有更好的 FGVM 啟發(fā)式算法的變體(他們的代碼是基于基線修改而來(lái));

4. 起初,我開(kāi)始著手處理基于梯度的模型,并且獲得了大約 1.1 的本地分?jǐn)?shù)。一開(kāi)始,由于某些我個(gè)人的原因(認(rèn)為太沒(méi)有挑戰(zhàn))我不愿意使用基線的代碼;

5. 他們當(dāng)時(shí)不具備足夠的計(jì)算能力;

6. 在最后,我們賭了一把,將各自的策略結(jié)合了起來(lái)——我貢獻(xiàn)了我的 devbox 工作站/卷積神經(jīng)網(wǎng)絡(luò)/模型簡(jiǎn)化實(shí)驗(yàn)及觀測(cè)結(jié)果,他們貢獻(xiàn)了他們修改了好幾個(gè)星期的代碼。

這一次,她為她自己卓越的組織能力和無(wú)價(jià)的組隊(duì)建議而歡呼!我們?nèi)〉昧瞬诲e(cuò)的成績(jī)。

團(tuán)隊(duì)的成員包括:

1. https://github.com/atmyre   ——她是我們團(tuán)隊(duì)的隊(duì)長(zhǎng)(我從她的所作所為中推斷出來(lái)的)。她為我們最中提交的版本貢獻(xiàn)了基因差分進(jìn)化攻擊算法;

2. https://github.com/mortido  ——他用精妙的啟發(fā)式算法以及他利用基線代碼訓(xùn)練好的兩個(gè)模型實(shí)現(xiàn)了最佳的 FGVM 攻擊算法;

3. https://github.com/snakers4  ;除了一些模型簡(jiǎn)化測(cè)試,我還貢獻(xiàn)了 3 個(gè)具有領(lǐng)先的分?jǐn)?shù)的學(xué)生模型、計(jì)算能力,并且我還需要在模型演示和最終提交的階段不斷提升模型性能;

4. https://github.com/stalkermustang  ;

在最后,我們從彼此身上學(xué)到了很多東西,我很慶幸我們賭了這一把。如果缺少上述 3 個(gè)貢獻(xiàn)中的任意一項(xiàng),我們都不會(huì)勝出。

4. 學(xué)生卷積神經(jīng)網(wǎng)絡(luò)知識(shí)蒸餾

我在訓(xùn)練學(xué)生模型時(shí)獲得了最高的分?jǐn)?shù),因?yàn)槲沂褂昧俗约旱拇a而不是基線代碼。

關(guān)鍵點(diǎn)和起作用的因素:

1. 為每個(gè)架構(gòu)都分別開(kāi)發(fā)一個(gè)邏輯回歸(LR)模型體系;

2. 一開(kāi)始只需要使用 Adam 算法和 LR 衰減技術(shù)進(jìn)行訓(xùn)練;

3. 接下來(lái)使用折疊或/和其他甚至更巧妙的像循環(huán)學(xué)習(xí)率或權(quán)重集成等做法(我在這里并沒(méi)有這樣做);

4. 仔細(xì)監(jiān)控欠擬合、過(guò)擬合以及模型的容量;

5. 手動(dòng)調(diào)整你的訓(xùn)練進(jìn)度,不要依賴全自動(dòng)的方案。它們也可以正常工作,但是如果你合適地調(diào)整了所有的訓(xùn)練細(xì)節(jié),你的訓(xùn)練時(shí)間可以縮短 2-3 倍。特別是對(duì)于 DenseNet 這樣求解梯度過(guò)程很深的模型來(lái)說(shuō),這一點(diǎn)非常重要;

6. 最好的模型往往都很深;

7. 使用 L2 損失代替均方誤差損失(MSE)也是同樣有效的,但是這樣做卻不夠精確。在運(yùn)行使用均方誤差損失訓(xùn)練的測(cè)試模型時(shí),顯示出它與 BB 模型的輸出之間的 L2 距離小于使用 L2 損失訓(xùn)練的模型。這可能是因?yàn)榫秸`差,如果我們使用創(chuàng)造性的方法單獨(dú)處理每個(gè) batch 中的 B*512 的樣本(它允許更多的參數(shù)調(diào)優(yōu),并且共享圖像之間的信息),而 L2 范數(shù)則單獨(dú)處理每個(gè) 2*512 的向量組合。

不起作用的是:

1. 基于 inception 的架構(gòu)(由于高的下采樣率和更高需求的分辨率而不適用)。而不知為何,第三名的隊(duì)伍設(shè)法使用了 inception-v1 架構(gòu)和全分辨率圖像(大約 250*250);

2. 基于 VGG 模型的架構(gòu)(發(fā)生過(guò)擬合);

3.「輕量化」架構(gòu)(SqueezeNet / MobileNet——欠擬合);

4. 圖像增強(qiáng)(沒(méi)有修改描述符——盡管第三名隊(duì)伍的人努力實(shí)現(xiàn)了這一點(diǎn));

5. 使用全尺寸圖像;

6. 此外,我們?cè)诟?jìng)賽的主辦者提供的網(wǎng)絡(luò)的最后也加入了一個(gè)批量歸一化層。這并沒(méi)有對(duì)我的隊(duì)友起到幫助,我最后使用了自己的代碼,因?yàn)槲也惶靼诪槭裁磿?huì)出現(xiàn)這種情況。;

7. 同時(shí)使用顯著性映射(saliency maps)和單像素攻擊。假設(shè)這對(duì)于全尺寸圖像更有用(只需比較 112*112 的搜索空間和 299*299 的搜索空間);

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

我們最好的模型??梢钥吹?,最佳得分是 3*1e-4(越低越好)。根據(jù)模型的復(fù)雜度,你可以在某種程度上猜測(cè)出 BB 模型是 ResNet-34.在我的測(cè)試中,ResNet-50 的表現(xiàn)比 ResNet-34 要差。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得 

第一名的均方誤差損失示意圖

5. 最終得分和模型簡(jiǎn)化分析

我們的模型簡(jiǎn)化分析結(jié)果如下圖所示:

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

最佳的解決方案如下圖所示(是的,還有人開(kāi)玩笑說(shuō)要將 ResNet 堆疊起來(lái),他們猜測(cè) ResNet 就是黑盒模型架構(gòu)):

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

其它隊(duì)伍提供的其它的巧妙、使用的技術(shù):

1. 自適應(yīng)的 epsilon 參數(shù);

2. 數(shù)據(jù)增強(qiáng);

3. 訓(xùn)練時(shí)使用動(dòng)量;

4. Nesterov 動(dòng)量(http://ruder.io/optimizing-gradient-descent/index.html#momentum);

5. 攻擊鏡面翻轉(zhuǎn)圖像;

6. 修改數(shù)據(jù)——比賽中僅僅提供 5000 個(gè)圖像組合中的 1000 張獨(dú)特的圖像,你可以生成更多的訓(xùn)練數(shù)據(jù);

實(shí)用的 FGVM 啟發(fā)式算法:

1. Noise = eps * clamp(grad / grad.std(), -2, 2);

2. 通過(guò)梯度加權(quán)將幾個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)集成起來(lái);

3. 只在模型的平均損失減小時(shí)保存變化;

4. 使用目標(biāo)組合來(lái)實(shí)現(xiàn)更魯棒的目標(biāo)選擇;

5. 只使用比均值加標(biāo)準(zhǔn)差更大的梯度(對(duì)于 FGSM 算法來(lái)說(shuō));

簡(jiǎn)單概括一下:

1. 第一名是最「具有黑客精神的解決方案」;

2. 我們團(tuán)隊(duì)擁有最多樣化的解決方案;

3. 第三名的解決方案是最「漂亮」的;

6. 端到端的模型

盡管在這次比賽中,這種方法失敗了,但是它仍然值得在未來(lái)被嘗試。詳情請(qǐng)參閱上文提供的代碼倉(cāng)庫(kù),但是,簡(jiǎn)而言之我們嘗試了:

1. C&W 攻擊;

2. 有兩個(gè)目標(biāo)的,受到 Siamese 連接網(wǎng)絡(luò)啟發(fā)的模型;

 Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

端到端模型

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

端到端模型的工作流

7. 參考文獻(xiàn)及進(jìn)一步的閱讀資料

1. 競(jìng)賽官網(wǎng):https://competitions.codalab.org/competitions/19090#participate 

2. 我們的代碼倉(cāng)庫(kù):https://github.com/snakers4/msc-2018-final 

3. 關(guān)于變分自編碼器(VAE)的系列文章——看上去和這個(gè)主題十分相關(guān):https://habr.com/post/331552/ 

4. 關(guān)于結(jié)構(gòu)相似性的資料:

    4.1 維基百科:https://en.wikipedia.org/wiki/Structural_similarity 

    4.2「可用來(lái)反推概念」的 Pytorch 實(shí)現(xiàn):https://github.com/Po-Hsun-Su/pytorch-ssim 

5. 關(guān)于差分進(jìn)化算法的資料:

    5.1 精彩的博文:https://pablormier.github.io/2017/09/05/a-tutorial-on-differential-evolution-with-python/ 

    5.2 SciPy實(shí)現(xiàn):https://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.optimize.differential_evolution.html 

6. 模型演示

    6.1 我們的模型演示:https://drive.google.com/open?id=1P-4AdCqw81nOK79vU_m7IsCVzogdeSNq 

    6.2 所有的模型演示:https://drive.google.com/open?id=1aIUSVFBHYabBRdolBRR-1RKhTMg-v-3f 

7. 兩篇最有用的論文:

    7.1 https://arxiv.org/pdf/1710.06081.pdf 

    7.2 https://arxiv.org/abs/1708.03999 

8. 兩篇廣為推崇的論文:

    8.1 https://arxiv.org/abs/1712.07107 

    8.2 https://arxiv.org/abs/1801.00553 


via spark-in,雷鋒網(wǎng) AI 科技評(píng)論編譯

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

Machine Can See 2018 圖像對(duì)抗攻擊大賽比賽心得

分享:
相關(guān)文章

知情人士

當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)