運用對抗例攻擊深度學習模型(二)
本文同步刊登於 Trustable AI 部落格。
這是一系列針對對抗例(adversarial example)相關研究的綜合摘要的第二篇。本系列包括:
- 2017–08–29 運用對抗例攻擊深度學習模型(一)
- 2017–10–18 運用對抗例攻擊深度學習模型(二)
針對深度學習的對抗例在 2017 年有許多進展。這次的摘要涵蓋以下內容:
- 現實環境中的對抗例攻擊
- 一個針對強化學習的防禦手法
- 新的攻擊與防禦手法
- 通用對抗例
現實環境中的對抗例攻擊
2017 年 7 月有個比較特別的討論是,運用對抗例攻擊深度學習模型在現實環境中的效果如何。
類似的問題,之前其實已經有幾份論文討論過。Kuratin et al(2016)[1]曾經將對抗例列印出來用手機相機拍攝,看看是否能影響深度學習影像辨識的結果。他們用了幾個基於 FGSM 的對抗例演算法,把產生的對抗例列印在紙上,並且在角落加上影像校正用的 QR code。用手機的相機拍攝以後,程式會利用 QR code 把影像校正裁切到與原圖一樣大小,再交給模型進行分類。實驗結果顯示雖然有一些對抗例會失效,但多數(一般來說大於 2/3)的對抗例仍然能造成誤判。他們也釋出一份 demo 影片。
在另一個測試裡,Sharif et al(2016)[2]利用 gradient descent 製造出可以給真人配戴並欺騙過人臉辨識的眼鏡框。他們著重在可以實際上運用的攻擊方式,選擇用眼鏡框是因為成功率高,而且配戴時不容易令人起疑,可以避免被認出或是假冒另一個人的身份。
最近的討論則是 Lu et al(2017)[3]針對 Kuratin et al 的實驗做了進一步的測試,認為在自動車的情境下,對抗例的效果沒有那麼好。因為 Kuratin et al 在論文中只測試了亮度、反差等等的影像變化,而且影像經過了校正與裁切,大小與原圖相同。但在自動車的使用情境,例如辨識路標時,使用的影像可能不會經過這些處理,所以 Lu et al 測試了在不同距離與角度拍攝對抗例,發現大部份情況下可以正確辨識,因此對抗例可能影響不那麼大。
但是這個結果很快被反駁。Open AI 的 Athalye and Sutskever(2017)[4]幾天後提出一篇很短的報告,裡頭製造了一個不受縮放、平移、旋轉、雜訊、亮度所影響,都可以造成誤判的對抗例。Open AI 也為此發了一篇 blog。他們的作法是考慮所有這些影像變換的分佈 T,針對原圖被施加 T 以後取 loss function 的期望值最佳化,利用 projected gradient descent 找出可以用的對抗例。
Evtimov et al(2017)[5]的回應可能更完整一點。針對美國的道路標誌,他們所製造的對抗例可以印成局部遮罩(mask),貼在路標上,從不同距離、角度拍攝後,大部份都能造成誤判。為此他們搜集了各種距離、角度下所拍攝的路標影像,使用類似於 Athalye and Sutskever 的演算法,並且像 Sharif et al 一樣考慮到列印的可行性(printability)與限制演算法只能修改遮罩部份的像素。
有愈來愈多針對對抗例運用在不同情況的研究。下一節會簡短說明一個新的、針對強化學習的對抗例偵測手法。
一個針對強化學習的偵測手法
一個有趣的方式是利用連續多幅畫面(multiple frames)。Lin et al(2017)[6]研究機器人、遊戲(video game)所使用的強化學習模型。因為在這些情境裡,時序連續的兩幅畫面某種程度上是可以預測的,所以他們訓練了一個 visual foresight module 去預測下一幅畫面,並且把預測的畫面與實際接收到的下一幅畫面都丟進決策模型裡。如果兩個輸入的決策結果差太多,那就有可能是對抗例在搗亂。
不過初步看來他們是用遊戲來 demo 這個想法。我們覺得,因為預測下一幅畫面,在系統不容易建模的情況下可能蠻困難的,所以不是很清楚他們的辦法能不能成功運用到自動車的問題上。
可以看看他們的 project page。
新的攻擊與防禦手法
上一篇綜合摘要提到,到 2017 年中為止運用對抗例攻擊方略佔上風。單就產生對抗例與偵測對抗例的演算法而言,到 2017 年 6 月為止似乎也是如此。以下我們接著之前看到的 defensive distillation,整理一下近期看到的防禦與攻擊手法。
Feature squeezing 是 Xu et al(2017)[7]提出的偵測與防禦手法,簡單來說就是壓縮影像資料,讓製造對抗例時所加入的擾動(perturbation)被削弱。這個作法看起來簡單又有效,論文中測試了對 color depth 壓縮與影像平滑化,證實對 JSMA 與 FGSM 所產生的對抗例都有不錯的效果,可以提昇模型的辨識正確率。這個方法屬於被動防禦,好處是不用重新訓練模型,配合論文中提到的架構做過濾的話,理論上會有一定的 false positive 比率,但是過濾後的部份辨識準確率不會下降。稍後發表的 Liang et al(2017)[8]與 Xu et al(2017)[9]也可以偵測到用 DeepFool 與 Carlini/Wagner 演算法產生的對抗例。
Ensemble of specialists 則是 Abbasi and Gagné(2017)[10]稍早所提出的防禦方法,概念上是運用 Bendale and Boult(2016)[11]提到的 open set recognition,也就是模型應該要偵測出並且拒絕掉「認不得」(unknown)的資料,作法上則是用 ensemble of models。這樣的模型沒有針對任何對抗例做訓練,卻可以降低對於對抗例的預測信心。
不過 He et al(2017)[12]的結果可能削弱了上述兩個防禦手法的強度。He et al 所運用的威脅模型是「適應性對抗」(adaptive adversary),也就是假設攻擊方知道防禦手法為何,並且採取反制手段。在論文中他們討論了 feature squeezing 與 specialists+1 等防禦手法,如何製造出可以迴避這兩種過濾手法的對抗例。論文的另一個重點是說明把幾個比較弱的防禦手法組合起來,結果可能不會比較有效。例如在 feature squeezing 裡使用多個不同的 squeezer,或是在 specialists+1 裡使用多個分類器,對於知道防禦手法為何的攻擊方而言,仍然可以製造出成功的對抗例。當然愈複雜的防禦手法,理論上就愈難取得完整資訊,所以我們覺得目前這些防禦手法也並不是完全無效。
另一方面,黑箱攻擊的手法也有進展。上次提到 Papernot et al(2017)[13]的黑箱攻擊,利用的是對抗例的可移轉性(transferability)。最近 Chen et al(2017)[14]提出了「零階最佳化」(zeroth order optimization;ZOO)、Hayes and Danezis(2017)[15]提出 adversarial service,都是不用依靠移轉就可以達成的黑箱攻擊。
通用對抗例
通用對抗例(Universal adversarial perturbation)最早發表在 Moosavi-Dezfooli et al(2016)[16]。它特別的地方是,過去找對抗例的演算法是針對單一輸入資料找出可以用的擾動,讓資料加上擾動後,模型輸出的結果改變;通用對抗例則是要找出一個擾動,讓大部份的資料加上這個擾動都會被模型誤判,也就是算出一個擾動就可以給全部的資料使用的意思。
Moosavi-Dezfooli et al 在 2016 年提出來的通用對抗例基本上是在訓練資料上直接跑最佳化,有一點暴力的演算法。後來 Moosazi-Dezfooli et al(2017)[17]對這個現象做了一點數學分析,結論大致是說,如果一個模型的 decision boundary 在某些部份的法向量有高度相關性,那就比較容易找到通用對抗例。直覺上的解釋就是這種情況下,資料點位比較容易被同一個(擾動所帶來的)向量「推」到 decision boundary 的另一側去。
無論如何,這仍然是一個計算起來頗花時間的擾動,雖然可能算出一個就可以用在很多資料上。最近 Mopuri et al(2017)[18]發表的 Fast Feature Fool 則是一個不用取得訓練資料,而且比較快的演算法,但它仍然需要知道該模型的細節才能執行。
目前對於通用對抗例的研究成果看起來不多,不過這或許會成為重要的攻擊手段之一,值得關注。
參考文獻
- A. Kurakin, I. Goodfellow, and S. Bengio, “Adversarial examples in the physical world,” arXiv:1607.02533 [cs, stat], Jul. 2016.
- M. Sharif, S. Bhagavatula, L. Bauer, and M. K. Reiter, “Accessorize to a Crime: Real and Stealthy Attacks on State-of-the-Art Face Recognition,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, New York, NY, USA, 2016, pp. 1528–1540.
- J. Lu, H. Sibai, E. Fabry, and D. Forsyth, “NO Need to Worry about Adversarial Examples in Object Detection in Autonomous Vehicles,” arXiv:1707.03501 [cs], Jul. 2017.
- A. Athalye and I. Sutskever, “Synthesizing Robust Adversarial Examples,” arXiv:1707.07397 [cs], Jul. 2017.
- I. Evtimov et al., “Robust Physical-World Attacks on Deep Learning Models,” arXiv:1707.08945 [cs], Jul. 2017.
- Y.-C. Lin, M.-Y. Liu, M. Sun, and J.-B. Huang, “Detecting Adversarial Attacks on Neural Network Policies with Visual Foresight,” arXiv:1710.00814 [cs], Oct. 2017.
- W. Xu, D. Evans, and Y. Qi, “Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks,” arXiv:1704.01155 [cs], Apr. 2017.
- B. Liang, H. Li, M. Su, X. Li, W. Shi, and X. Wang, “Detecting Adversarial Examples in Deep Networks with Adaptive Noise Reduction,” arXiv:1705.08378 [cs], May 2017.
- W. Xu, D. Evans, and Y. Qi, “Feature Squeezing Mitigates and Detects Carlini/Wagner Adversarial Examples,” arXiv:1705.10686 [cs], May 2017.
- M. Abbasi and C. Gagné, “Robustness to Adversarial Examples through an Ensemble of Specialists,” arXiv:1702.06856 [cs], Feb. 2017.
- A. Bendale and T. E. Boult, “Towards Open Set Deep Networks,” presented at the Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 1563–1572.
- W. He, J. Wei, X. Chen, N. Carlini, and D. Song, “Adversarial Example Defenses: Ensembles of Weak Defenses are not Strong,” arXiv:1706.04701 [cs], Jun. 2017.
- N. Papernot, P. McDaniel, I. Goodfellow, S. Jha, Z. B. Celik, and A. Swami, “Practical Black-Box Attacks against Machine Learning,” arXiv:1602.02697 [cs], Feb. 2016.
- P.-Y. Chen, H. Zhang, Y. Sharma, J. Yi, and C.-J. Hsieh, “ZOO: Zeroth Order Optimization based Black-box Attacks to Deep Neural Networks without Training Substitute Models,” arXiv:1708.03999 [cs, stat], Aug. 2017.
- J. Hayes and G. Danezis, “Machine Learning as an Adversarial Service: Learning Black-Box Adversarial Examples,” arXiv:1708.05207 [cs, stat], Aug. 2017.
- S.-M. Moosavi-Dezfooli, A. Fawzi, O. Fawzi, and P. Frossard, “Universal adversarial perturbations,” arXiv:1610.08401 [cs, stat], Oct. 2016.
- S.-M. Moosavi-Dezfooli, A. Fawzi, O. Fawzi, P. Frossard, and S. Soatto, “Analysis of universal adversarial perturbations,” arXiv:1705.09554 [cs, stat], May 2017.
- K. R. Mopuri, U. Garg, and R. V. Babu, “Fast Feature Fool: A data independent approach to universal adversarial perturbations,” arXiv:1707.05572 [cs], Jul. 2017.