脆弱的神經網路:UC Berkeley詳解對抗樣本生成機制
用於「欺騙」神經網路的對抗樣本(adversarial example)是近期計算機視覺,以及機器學習領域的熱門研究方向。只有了解對抗樣本,我們才能找到構建穩固機器學習演算法的思路。本文中,UC Berkeley 的研究者們展示了兩種對抗樣本的製作方法,並對其背後的原理進行了解讀。
通過神經網路進行暗殺——聽起來很瘋狂吧?也許有一天,這真的可能上演,不過方式可能與你想像中不同。顯然,加以訓練的神經網路能夠駕駛無人機或操作其他大規模殺傷性武器。但是,即便是無害的(現在可用的)網路——例如,用於駕駛汽車的網路——也可能變成車主的敵人。這是因為,神經網路非常容易被「對抗樣本(adversarial example)」攻擊。
在神經網路中,導致網路輸出不正確的輸入被稱為對抗樣本。我們最好通過一個例子來說明。讓我們從左邊這張圖開始。在某些神經網路中,這張圖像被認為是熊貓的置信度是 57.7%,且其被分類為熊貓類別的置信度是所有類別中最高的,因此網路得出一個結論:圖像中有一隻熊貓。但是,通過添加非常少量的精心構造的雜訊,可以得到一個這樣的圖像(右圖):對於人類而言,它和左圖幾乎一模一樣,但是網路卻認為,其被分類為「長臂猿」的置信度高達 99.3%。這實在太瘋狂了!
上圖源自: Explaining and Harnessing Adversarial Examples,Goodfellow et al
那麼,對抗樣本如何進行暗殺呢?想像一下,如果用一個對抗樣本替換一個停車標誌——也就是說,人類可以立即識別這是停車標誌,但神經網路不能。現在,如果把這個標誌放在一個繁忙的交叉路口。當自動駕駛汽車接近交叉路口時,車載神經網路將無法識別停車標誌,直接繼續行駛,從而可能導致乘客死亡(理論上)。
以上只是那些複雜、稍顯聳人聽聞的例子之一,其實還會有更多利用對抗樣本造成傷害的例子。例如,iPhone X 的「Face ID」解鎖功能依賴神經網路識別人臉,因此容易受到對抗性攻擊。人們可以通過構建對抗圖像,避開 Face ID 安全功能。其他生物識別安全系統也將面臨風險:通過使用對抗樣本,非法或不合宜的內容可能會繞開基於神經網路的內容過濾器。這些對抗樣本的存在意味著,含有深度學習模型的系統實際上有極高的安全風險。
為了理解對抗樣本,你可以把它們想像成神經網路的「幻覺」。既然幻覺可以騙過人的大腦,同樣地,對抗樣本也能騙過神經網路。
上面這個熊貓對抗樣本是一個有針對性的 (targeted) 例子。少量精心構造的雜訊被添加圖像中,從而導致神經網路對圖像進行了錯誤的分類。然而,這個圖像在人類看來和之前一樣。還有一些無針對性 (non-targeted) 的例子,它們只是簡單嘗試找到某個能矇騙神經網路的輸入。對於人類來說,這種輸入看起來可能像是白雜訊。但是,因為我們沒有被限制為尋找對人而言類似某物的輸入,所以這個問題要容易得多。
我們可以找到將近所有神經網路的對抗樣本。即使是那些最先進的模型,有所謂「超人類」的能力,也輕微地受此問題困擾。事實上,創建對抗樣本非常簡單。在本文中,我們將告訴你如何做到。用於開始生成你自己的對抗樣本的所有所需代碼等資料都可以在這個 github 中找到:https://github.com/dangeng/Simple_Adversarial_Examples
上圖展示了對抗樣本的效果
MNIST 中的對抗樣本
這一部分的代碼可以在下面的鏈接中找到(不過閱讀本文並不需要下載代碼):https://github.com/dangeng/Simple_Adversarial_Examples
我們將試著欺騙一個普通的前饋神經網路,它已經在 MNIST 數據集上經過訓練。MNIST 是 28×28 像素手寫數字圖像的數據集,就像下面這樣:
6 張 MNIST 圖像並排擺放
※結合感知和概念思維,DeepMind提出可微歸納邏輯框架?ILP
TAG:機器之心 |