本文已同步到作者博客:http://xungejiang.com/2017/11/29/translate-blog2/,轉(zhuǎn)載請(qǐng)注明出處疫稿!
原文:Is attacking machine learning easier than defending it?
原文寫作日期:2017年3月15日
譯文寫作日期:2017年11月29日
本文為cleverhans-blog的第二篇博客无牵,作者為 Ian Goodfellow 和 Nicolas Papernot巍沙,主要講解對(duì)抗性訓(xùn)練和防御性蒸餾兩種防御方法之間的優(yōu)勢(shì)與不足辅愿。譯者水平有限竿报,存在錯(cuò)誤何吝,還望指出溉委。
轉(zhuǎn)載請(qǐng)注明出處!
在我們的第一篇文章中岔霸,我們提出了幾種攻擊者可以打破當(dāng)前機(jī)器學(xué)習(xí)系統(tǒng)的方式薛躬,比如通過(guò)毒化學(xué)習(xí)算法使用的數(shù)據(jù)[BNL12],或者制作對(duì)抗性樣本迫使模型做出錯(cuò)誤的預(yù)測(cè)[SZS13]呆细。在本文中型宝,我們將以對(duì)抗性樣本為例說(shuō)明為什么攻擊機(jī)器學(xué)習(xí)似乎比防御更容易八匠。換句話說(shuō),我們將詳細(xì)介紹為什么我們還沒(méi)有完全有效的防御對(duì)抗性樣本的一些原因趴酣,并推測(cè)我們是否能夠進(jìn)行防御梨树。
對(duì)抗性樣本是機(jī)器學(xué)習(xí)模型的輸入,它是由攻擊者設(shè)計(jì)岖寞,用來(lái)欺騙模型產(chǎn)生不正確的輸出抡四。例如,我們給一個(gè)熊貓圖片添加一個(gè)經(jīng)過(guò)計(jì)算的小擾動(dòng)仗谆,使圖像被認(rèn)為是一個(gè)高可信度的長(zhǎng)臂猿[GSS14]:
到目前為止指巡,設(shè)計(jì)出這種欺騙模型的方法要比設(shè)計(jì)出不能欺騙模型的方法容易得多。
我們?nèi)绾问筂L模型面對(duì)對(duì)抗性樣本時(shí)更加強(qiáng)壯隶垮? (How have we tried to make ML models more robust to adversarial examples?)
我們先介紹下兩種防御方法:對(duì)抗性訓(xùn)練和防御性蒸餾藻雪。防御者如何試圖使機(jī)器學(xué)習(xí)模型更加強(qiáng)壯并減輕對(duì)抗性樣本的攻擊效果。
對(duì)抗性訓(xùn)練旨在訓(xùn)練時(shí)主動(dòng)產(chǎn)生對(duì)抗性樣本狸吞,在測(cè)試時(shí)提取對(duì)抗性樣本來(lái)改進(jìn)模型的泛化勉耀。這個(gè)想法是由Szegedy等人首次提出的[SZS13],但由于產(chǎn)生對(duì)抗性樣本的成本太高而不實(shí)用蹋偏。 Goodfellow等人展示了如何利用快速梯度符號(hào)方法低成本地產(chǎn)生對(duì)抗性樣本便斥,并且使得在訓(xùn)練過(guò)程中高計(jì)算效率地產(chǎn)生大批對(duì)抗性樣本 [GSS14]。然后該模型被訓(xùn)練成將相同的標(biāo)簽分配給相對(duì)于原始樣本的對(duì)抗性樣本威始。例如:我們拍攝一張貓的照片枢纠,并對(duì)其進(jìn)行擾動(dòng)以欺騙模型,使其認(rèn)為它是禿鷲黎棠,然后告訴模型這張照片仍然是一只貓京郑。對(duì)抗訓(xùn)練的一個(gè)開(kāi)源實(shí)現(xiàn)可以在cleverhans 庫(kù)中找到,其使用方法在下面的教程 中有說(shuō)明葫掉。
防御性蒸餾平滑模型的決策表面在對(duì)抗方向被攻擊者利用些举。蒸餾是一種訓(xùn)練過(guò)程,其中一個(gè)模型被訓(xùn)練以預(yù)測(cè)由先前訓(xùn)練的另一個(gè)模型輸出的概率俭厚。蒸餾最初由Hinton等人提出户魏。在[HVD15]中,其目標(biāo)是用一個(gè)小模型來(lái)模擬一個(gè)大型的挪挤、計(jì)算成本很高的模型叼丑。防御性蒸餾有一個(gè)不同的目標(biāo),即簡(jiǎn)單地使最終模型的反應(yīng)更加平滑扛门,所以即使兩個(gè)模型的大小相同也能起作用鸠信。訓(xùn)練一個(gè)模型來(lái)預(yù)測(cè)另一個(gè)具有相同架構(gòu)的模型輸出看起來(lái)是違反直覺(jué)的。它的工作原理是论寨,第一個(gè)模型是用“硬”標(biāo)簽(圖像100%概率是狗而不是貓)訓(xùn)練星立,然后第二個(gè)模型用“軟”標(biāo)簽(圖像95%概率是狗而不是貓)訓(xùn)練爽茴。第二個(gè)蒸餾模型對(duì)于諸如快速梯度符號(hào)法[PM16]或基于雅可比行列式顯著圖法[PMW16]的攻擊更為魯棒。這兩種攻擊的實(shí)現(xiàn)也分別在這里 和這里的cleverhans 上提供绰垂。(已經(jīng)404 室奏。。2333)
一個(gè)失敗的防御:“梯度掩蔽” (A failed defense: “gradient masking”)
大多數(shù)對(duì)抗性樣本構(gòu)建技術(shù)使用模型的梯度來(lái)進(jìn)行攻擊劲装。換句話說(shuō)胧沫,一張飛機(jī)的照片,他們測(cè)試在圖像空間中往哪個(gè)方向移動(dòng)使得圖片識(shí)別為“貓”的概率增加占业,然后他們往那個(gè)方向進(jìn)行移動(dòng)(換句話說(shuō)绒怨,擾亂了輸入)。這樣新修改后的圖像被誤認(rèn)為是貓谦疾。
但是窖逗,如果沒(méi)有梯度,如果對(duì)圖像進(jìn)行微小的修改不會(huì)導(dǎo)致模型的輸出發(fā)生變化呢餐蔬?這似乎提供了一些防御,因?yàn)楣粽卟恢涝鯓尤ァ巴啤眻D像佑附。
我們可以很容易想到一些非常微不足道的方法來(lái)擺脫梯度樊诺。例如,大多數(shù)圖像分類模型可以以兩種模式運(yùn)行:一種模式是輸出最可能類別的標(biāo)識(shí)音同,另一種模式是輸出概率词爬。如果模型的輸出是“99.9%的飛機(jī),0.1%的貓”权均,那么輸入的一個(gè)微小的變化會(huì)給輸出帶來(lái)一個(gè)微小的變化顿膨,梯度告訴我們哪些變化會(huì)增加“貓”類的概率。如果我們?cè)谳敵瞿J街皇恰帮w機(jī)”的模式下運(yùn)行模型叽赊,那么對(duì)輸入的一個(gè)微小的變化根本不會(huì)改變輸出恋沃,而梯度不會(huì)告訴我們?nèi)魏问虑椤W屛覀冏鲆粋€(gè)思考實(shí)驗(yàn)必指,如何通過(guò)以“最有可能的類”模式而不是“概率模式”運(yùn)行它來(lái)防御對(duì)抗性樣本囊咏。攻擊者再也不能找到分類為貓的擾亂輸入,所以我們可能會(huì)有一些防御塔橡。不幸的是梅割,之前被歸類為貓的圖片現(xiàn)在仍被歸類為貓。如果攻擊者可以猜測(cè)哪些點(diǎn)是對(duì)抗性樣本葛家,這些點(diǎn)將仍然會(huì)被錯(cuò)誤的分類户辞。我們并沒(méi)有使模型更加魯棒,我們只是給了攻擊者更少的線索來(lái)找出模型防御的漏洞癞谒。更不幸的是底燎,事實(shí)證明攻擊者有一個(gè)非常好的策略來(lái)猜測(cè)防御漏洞的位置刃榨。攻擊者可以訓(xùn)練他們自己的模型,一個(gè)具有梯度的光滑模型书蚪,為他們的模型制作對(duì)抗性樣本喇澡,然后將這些對(duì)抗性樣本用于我們的非光滑模型。很多時(shí)候殊校,我們的模型也會(huì)錯(cuò)誤地分類這些樣本晴玖。最后,我們的思想實(shí)驗(yàn)表明为流,隱藏梯度并沒(méi)有達(dá)到我們的目的呕屎。
因此,我們稱之為有缺陷的防御策略梯度掩蔽敬察,這個(gè)術(shù)語(yǔ)在[PMG16]中有介紹秀睛。執(zhí)行梯度掩蔽的防御策略通常導(dǎo)致在特定方向和訓(xùn)練點(diǎn)的鄰域中模型變得非常平滑,這使得攻擊者難以找到攻擊方向的梯度去擾亂輸入莲祸。然而蹂安,攻擊者可以訓(xùn)練一個(gè)替代模型:一個(gè)模仿防御模型的副本,通過(guò)觀察防御模型分配給攻擊者輸入的標(biāo)簽锐帜。[PMG16]中介紹了執(zhí)行這種模型提取攻擊的過(guò)程田盈。然后攻擊者可以使用替代模型的梯度來(lái)找到被防御模型錯(cuò)誤分類的對(duì)抗性樣本。在下面的圖中缴阎,我們?cè)佻F(xiàn)[PMS16]中對(duì)梯度掩蔽的討論允瞧,我們用一維ML問(wèn)題來(lái)說(shuō)明這種攻擊策略。對(duì)于高維問(wèn)題蛮拔,梯度掩蔽現(xiàn)象會(huì)加劇述暂,但難以描述。
令人驚訝的是建炫,我們發(fā)現(xiàn)對(duì)抗性訓(xùn)練和防御性蒸餾都意外地表現(xiàn)出一種梯度掩蔽畦韭。如果我們將對(duì)抗性樣本從一個(gè)模型轉(zhuǎn)移到另一個(gè)模型,并且用這些防御之一進(jìn)行訓(xùn)練肛跌,即使對(duì)第二個(gè)模型的直接攻擊會(huì)失敗廊驼,攻擊通常也會(huì)成功[PMG16]。這表明兩種訓(xùn)練方法都能使模型變平滑和消除梯度惋砂,而不是確保對(duì)多個(gè)點(diǎn)進(jìn)行正確地分類妒挎。
打“地鼠”游戲 (Playing a game of “whack-a-mole”)
在“隱藏梯度”的游戲中,我們看到梯度掩蔽并不是很好的防御西饵。它防御使用梯度的攻擊者酝掩,但是如果攻擊者知道我們正在使用這種防御,那么他們只需要切換到移植攻擊眷柔。在安全術(shù)語(yǔ)中期虾,這意味著梯度掩蔽不是一種自適應(yīng)防御原朝。
迄今為止提出的大多數(shù)針對(duì)對(duì)抗性樣本的防御措施根本不起作用,但是有效的那些并不是自適應(yīng)的镶苞。這意味著就像他們?cè)谕嬉粋€(gè)打地鼠游戲一樣:他們關(guān)閉了一些漏洞喳坠,但是讓其他人打開(kāi)。
對(duì)抗訓(xùn)練需要選擇算法來(lái)產(chǎn)生對(duì)抗性樣本茂蚓。通常情況下壕鹉,這個(gè)模型被訓(xùn)練成可以抵抗在一個(gè)步驟中產(chǎn)生的低成本對(duì)抗性樣本,例如快速梯度符號(hào)方法一樣聋涨。經(jīng)過(guò)訓(xùn)練能抵制這些低成本對(duì)抗性樣本晾浴,這個(gè)模型通常能成功地抵制同類低成本的新對(duì)抗性樣本。如果我們使用高成本的牍白、迭代的對(duì)抗性樣本脊凰,就像[SZS13]中的那些例子,那么模型通常就會(huì)被愚弄茂腥。
保證適應(yīng)性是具有挑戰(zhàn)性的狸涌。靈感可以從差異隱私的框架中得到,它提供了隨機(jī)算法不會(huì)暴露個(gè)人用戶隱私的正式保證最岗。這一保證不會(huì)對(duì)攻擊者的知識(shí)或能力做出假設(shè)帕胆,因此能夠面對(duì)未來(lái)由攻擊者設(shè)計(jì)的假想攻擊。
為什么很難防御對(duì)抗性樣本仑性? (Why is it hard to defend against adversarial examples?)
對(duì)抗性樣本很難防御,因?yàn)楹茈y構(gòu)建對(duì)抗性樣本制定過(guò)程的理論模型右蹦。對(duì)抗性樣本是許多ML模型(包括神經(jīng)網(wǎng)絡(luò))的非線性和非凸的優(yōu)化問(wèn)題的解決方案诊杆。由于我們沒(méi)有很好的理論工具去描述這些復(fù)雜的優(yōu)化問(wèn)題的解決方案,所以很難做出任何一種防御理論來(lái)排除一系列對(duì)抗性樣本何陆。
從另一個(gè)角度來(lái)看晨汹,對(duì)抗性樣本很難防御,因?yàn)樗鼈冃枰獧C(jī)器學(xué)習(xí)模型來(lái)為每一個(gè)可能的輸入生成好的輸出贷盲。大多數(shù)情況下淘这,機(jī)器學(xué)習(xí)模型工作得很好,但只能處理遇到所有可能輸入中的很少一部分巩剖。
由于可能的輸入的量非常巨大铝穷,設(shè)計(jì)出真正自適應(yīng)的防御是非常困難的。
其他攻擊和防御方法 (Other attack and defense scenarios)
其他幾種對(duì)機(jī)器學(xué)習(xí)的攻擊也是難以防御佳魔。在本文中曙聂,我們專注于試圖混淆機(jī)器學(xué)習(xí)模型測(cè)試過(guò)程的輸入。但是其他類型的攻擊是可能的鞠鲜,例如基于暗中修改訓(xùn)練數(shù)據(jù)的攻擊宁脊,使得模型學(xué)習(xí)攻擊者希望它進(jìn)行的行為断国。
對(duì)抗性機(jī)器學(xué)習(xí)的一個(gè)亮點(diǎn)是差分隱私,我們實(shí)際上有理論上的觀點(diǎn)榆苞,即某些訓(xùn)練算法可以防止攻擊者從訓(xùn)練好的模型中恢復(fù)關(guān)于訓(xùn)練集的敏感信息稳衬。
將機(jī)器學(xué)習(xí)與攻擊和防御都可能的其他場(chǎng)景進(jìn)行比較是有趣的。
在密碼學(xué)中坐漏,防御者似乎有優(yōu)勢(shì)薄疚。給定一系列合理的假設(shè),例如加密算法的正確實(shí)現(xiàn)仙畦,防御者可以可靠地發(fā)送攻擊者無(wú)法解密的消息输涕。
在物理沖突中,攻擊者似乎有優(yōu)勢(shì)慨畸。建造核彈比建造一個(gè)能夠承受核爆的城市要容易得多莱坎。熱力學(xué)的第二定律似乎意味著,如果防御要求將熵維持在某個(gè)閾值以下寸士,那么即使沒(méi)有明確的攻擊者有意引起這種熵的增加檐什,防御者也必然隨著時(shí)間熵增加而最終失去。
監(jiān)督學(xué)習(xí)的“沒(méi)有免費(fèi)午餐定理”[W96]指出弱卡,在所有可能的數(shù)據(jù)集進(jìn)行平均乃正,沒(méi)有任何機(jī)器學(xué)習(xí)算法在測(cè)試時(shí)間的新點(diǎn)上比其他算法更好。乍一看婶博,這似乎表明瓮具,所有的算法都同樣容易受到對(duì)抗性樣本。然而凡人,“沒(méi)有免費(fèi)午餐定理”只適用于我們對(duì)問(wèn)題結(jié)構(gòu)不作假設(shè)的情況名党。當(dāng)我們研究對(duì)抗性樣本時(shí),我們假設(shè)輸入的小擾動(dòng)不應(yīng)該改變輸出類別挠轴,所以一般形式的“沒(méi)有免費(fèi)午餐定理”并不適用传睹。
正式揭露攻擊者的魯棒性和對(duì)清潔數(shù)據(jù)的模型表現(xiàn)之間的矛盾關(guān)系仍然是一個(gè)活躍的研究問(wèn)題。在[PMS16]中岸晦,針對(duì)機(jī)器學(xué)習(xí)的對(duì)抗性樣本的第一個(gè)“沒(méi)有免費(fèi)午餐定理”表明欧啤,在從有限的數(shù)據(jù)中學(xué)習(xí)時(shí)存在這樣的矛盾。結(jié)果表明启上,防御者可以通過(guò)轉(zhuǎn)向更豐富的假設(shè)類別來(lái)阻撓對(duì)抗性樣本邢隧。然而,這種矛盾關(guān)系是由于沒(méi)有合適的數(shù)據(jù)和學(xué)習(xí)算法來(lái)學(xué)習(xí)高保真模型所面臨的挑戰(zhàn)冈在。
總結(jié)
對(duì)抗性樣本的研究是令人興奮的府框,因?yàn)樵S多最重要的問(wèn)題在理論和應(yīng)用方面都是開(kāi)放的。在理論上,還沒(méi)有人知道防御對(duì)抗性樣本是否是一個(gè)理論上沒(méi)有希望的努力(如試圖找到一個(gè)通用的機(jī)器學(xué)習(xí)算法)迫靖,或者是否存在一個(gè)最優(yōu)策略會(huì)使防御者更有利院峡。(如在密碼學(xué)和差分隱私)。在應(yīng)用方面系宜,還沒(méi)有人設(shè)計(jì)出真正強(qiáng)大的防御算法照激,可以抵抗各種對(duì)抗性樣本的攻擊算法。我們希望我們的讀者能夠得到啟發(fā)盹牧,解決其中的一些問(wèn)題俩垃。
References
[BNL12] Biggio, B., Nelson, B., & Laskov, P. (2012). Poisoning attacks against support vector machines. arXiv preprint arXiv:1206.6389.
[GSS14] Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572.
[HVD15] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. “Distilling the knowledge in a neural network.” arXiv preprint arXiv:1503.02531 (2015).
[PM16] Papernot, N., & McDaniel, P. (2016). On the effectiveness of defensive distillation. arXiv preprint arXiv:1607.05113.
[PMG16] Papernot, N., McDaniel, P., Goodfellow, I., Jha, S., Berkay Celik, Z., & Swami, A. (2016). Practical Black-Box Attacks against Deep Learning Systems using Adversarial Examples. arXiv preprint arXiv:1602.02697.
[PMS16] Papernot, N., McDaniel, P., Sinha, A., & Wellman, M. (2016). Towards the Science of Security and Privacy in Machine Learning. arXiv preprint arXiv:1611.03814.
[PMW16] Papernot, N., McDaniel, P., Wu, X., Jha, S., & Swami, A. (2016, May). Distillation as a defense to adversarial perturbations against deep neural networks. In the 2016 IEEE Symposium on Security and Privacy (pp. 582-597).
[SZS13] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., & Fergus, R. (2013). Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199.
[W96] Wolpert, David H. (1996). The lack of a priori distinction between learning algorithms. Neural Computation