科技

Pig 變飛機?AI 為什麼這麼蠢!

【編者按】這篇文章的起意有兩點:一是由剛剛過去的 315 打假日,智慧語音機器人在過去一年撥出的超 40 億電話,聯想到前一段時間引起大家熱烈討論的 StyleGAN 生成假臉,明年的打假日 AI 是否又會有“新作品”?二是即將到來的 April Fool's Day,隨著 AI 不斷智慧化,哪天是不是也可以捉弄一下 AI?要如何攻擊強大又複雜的神經網路呢?有什麼方法和策略?由此,本文就想在本文中與大家一起探討關於“機器學習 Adversarial Attack”的那些事兒。

視覺有多重要?對於我們人類來說,獲取的外界資訊中有 80% 都是通過視覺通道接收的,是第一大感覺資訊通道。可是,人的視覺不僅能為我們帶來這些資訊,也容易讓我們受到欺騙,有一些錯覺是我們無法避免的。現在,除了要被自己的錯誤知覺“欺騙”,還要被 AI 欺騙。

前一段時間,一項AI 成果讓不少國內外的小夥伴都覺得非常的 “Amazing”、“Unbelievable”,甚至有些“Creepy”、“Terrible”,沒錯就是那個利用 StyleGAN 做的網站,俗稱“沒有這個人”。你在這個網站上每重新整理一次,都會顯示一張人臉,但是每張臉都是假的。比如:

這麼帥的小哥哥真的是假的嗎?怎麼就是覺得“似曾相識”呢!

一些照片還是有明顯的穿幫痕跡,也有一些照片非常逼真,看多了真是覺得“神奇”又“瘮得慌”。得益於 GAN 模型的發展,除了假人像,還有假視訊、假畫,都讓我們難以分辨,難道只有我們被騙的份兒?想要在機器視覺現有的能力範圍內欺騙 AI,可以怎麼做?

一個最經典的例子:

一開始給模型識別左圖,AI 的模型可以判別是“panda”,置信度 57.7%,然後加一點“干擾”,把右面的圖再讓模型判別(哈哈哈~)這隻萌萌噠的熊貓就變成了“gibbon”(長臂猿),天吶,對這樣的結果還自信心爆棚呢,置信度有“99.3”,這還真是驚呆了營長。

還有這隻”會飛的豬“~

Pig 變飛機,看到這個結果,天蓬元帥怕是要來找你了~

這樣迷之自信的例子還有很多,營長略加分類整理了一下,下面的這些內容很“逗樂”,建議反覆觀看。

不同領域/場景下的 Fool Time

計算機視覺領域

最開始這類有趣的例子多是在影象分類任務中發現的,後來拓展到分割與檢測任務研究中,再到一些重要的應用場景中,都發現了漏洞。

1、影象分類:Attacks for classification

左圖:給 Origami 列的影象加上一點 Perturbation(干擾),結果就變成了 Adversarial 列中紅字的結果:“ostrich, Struthio,camelus”(鴕鳥和駱駝)。

右圖:每個影象下方都標註了原始標籤和處理後的分類結果,真是五花八門,重新整理了認知。

上面的每個圖處理後分別讓 CaffeNet、VGG-F 和 GoogLeNet 三個網路模型做判別得到的結果。

2、語義分割與目標檢測:Attacks on Semantic Segmentation and Object Detection

用於分割和檢測的模型:FCN 和 Faster-RCNN 。左列第三個圖的分割和檢測識別的結果都非常好,加入干擾後的樣本,無論是分割還是識別結果都出現了懸殊差異,有“人,有“火車......

3、3D 列印

2017 年,MIT 通過一隻 3D 列印烏龜的不同姿勢,徹底騙倒了 ImageNet 模型。被識別成 rifle(手槍),也是沒誰了!

前一段時間,Google Brain 的研究員發現,在一根香蕉的旁邊放了一張貼紙,模型就不認識這根香蕉了,硬要說人家是麵包機。

4、自動駕駛

試想上面的這些如果應用到我們實際生活中,這樣的“error”可不是玩笑,兒戲了。例如,在自動駕駛中,最常見的場景:識別交通路牌。不同距離、不同角度這些都還算不上特殊情況,但僅在分類模型上取得高精準度是遠遠不夠的。

5、人臉識別攻擊:FaceID

現在的手機都有面部識別功能,尤其是用 FaceID 支援一系列涉及安全與隱私等功能時,如支付、轉賬。如果這麼容易被攻擊.......

還有,在醫療影像輔助診療系統中,一個小陰影會產生怎樣的結果,不敢深想。(內心充滿了拒絕)

除了計算機視覺領域,還有在其他技術領域不同場景的研究:

NLP 領域: QA 對話

論文:《Adversarial Examples for Evaluating Reading Comprehension Systems》

語音識別的攻擊

論文《Targeted Adversarial Examples for Black Box Audio Systems》:對語音識別系統進行黑盒、定向樣本攻擊

論文《Audio Adversarial Examples: Targeted Attacks on Speech-to-Text》:對百度 DeepSpeech 進行白盒、定向攻擊。

對圖網路、知識圖譜領域的攻擊

《Adversarial Attack on Graph Structured Data》(ICML 2018)

《Adversarial attacks on neuralnetworks for graph data》

安全領域

在 AAAI 2019 安全領域接收論文中, Adversarial Attacks 的研究成果也比以往有所增加,如《Distributionally Adversarial Attack 》《Non-Local Context Encoder: Robust Biomedical Image Segmentation against Adversarial Attacks 》等。

什麼是對抗攻擊

GAN 的不斷髮展,創造了很多讓我們難辨真偽的神奇、虛假的結果,同樣,GAN 也是機器學習與深度學習中網路模型的“試金石”。這就是我們上面那些例子發揮的作用:對抗攻擊。

什麼是對抗攻擊?上面列出的例子中大多屬於有目標攻擊,通過對抗性樣本進行攻擊模型,導致模型出錯,進而產生潛在危險。2014 年 Szegedy 等人[1]率先在影象分類任務中發現了深度學習的一些弱點,論文中通過一些“有趣的例子”,向大家闡述即使再魯棒,準確性再高的神經網路,也都是非常容易受到攻擊的。([1]論文《Intriguing properties of neural networks》可以說是對抗攻擊領域的開山之作了)

除了不同場景下,通過對抗性樣本進行攻擊方法,還有對模型本身的攻擊,如對 RNN、強化學習等模型的攻擊。ICML 2018 的一篇論文《Adversarial Attack on Graph Structured Data》試圖探討對 GNN 網路進行對抗攻擊,並嘗試了多種演算法。

雖然深度學習在計算機視覺、語音識別、NLP等領域中的很多工都取得了顯著的突破性成果,深度神經網路模型也越來越完善,但是這些技術是否真正成熟,產品是否足夠安全、可靠?這些將成為以後越來越被重視的問題,這也是對抗攻擊越來越重要的原因。

重要術語

為了便於大家在接下來的閱讀過程中容易理解,這裡先提前為大家對一些重要的術語做簡單解釋:

1、對抗樣本:上面營長做了簡單、通俗的解釋。在原本影象中(Origanal)加入一些 Perturbation(擾動),這些干擾,或是噪聲都是極小、輕微的,我們人眼是無法覺察到的,機器模型接收這些資料作為輸入,產生錯誤的結果。構造攻擊性樣本分為定向和非定向兩種型別。

非定向對抗性樣本攻擊:模型識別錯誤即為攻擊成功,如將貓識別成鱷梨醬……

定向對抗性樣本攻擊:目標更明確,讓模型錯誤識別到某結果;如目標是讓模型把貓識別成狗,只有這種情況才算攻擊成功。

2、攻擊模型:主要分為黑盒攻擊與白盒攻擊兩種方法

黑盒攻擊:攻擊者並不知道模型所使用的演算法和引數,但仍能與深度模型網路有所互動。比如可以通過傳入任意輸入觀察輸出,判斷輸出。

白盒攻擊:攻擊者知道模型所使用的演算法,以及演算法所使用的引數。如果給定一個網路引數,白盒攻擊是最成功的方法,如 L-BFGS、FGSM。

3、防禦方法:有三個主要方向,其中為大家重點介紹兩個思路:

混淆梯度(Obfuscated gradients):讓攻擊者找不到有用的梯度。

膠囊網路(Capsules network):CapsNet 模型的原作者有 Sabour、Frosst 以及 Hinton。

攻擊演算法的發展

根據採用黑盒/白盒攻擊、定向/非定向等分類,將生成對抗性樣本的方法歸納總結了 12 類:

L-BFGS 方法是 Szegedy等人率先提出的,隨後,Ian Goodfellow 在論文《Explaining and Harnessing Adversarial Examples》中提出 FGSM(Fast Gradient Sign Method),一種白盒、定向攻擊方法,通過發現對抗樣本擾動的線性解釋,提出對擾動進行有效計算。

One Pixel 提出的差分進化方法不同於以往通過改變畫素值來進行攻擊,採用黑盒攻擊方法,在不知道網路引數等資訊下,通過迭代擇優進行攻擊,達到了顯著的效果。DeepFool是一種白盒、非定向的攻擊方法,作者在研究中表示比 FGSM 方法生成的擾動更小。論文《Breaking High Performance Image Classifiers》中提出兩種黑盒、定向的攻擊方法:UPSET 和 ANGRI,UPSET 可以生成為特定類別生成對抗擾動。

而 ICLR 2018 的最佳論文《Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples》提出了 Backwards Pass Differentiable Approximation(BPDA),攻擊了 7 篇論文中提出的基於混淆梯度防禦方法,並表示成功攻擊了 6 篇,另外一篇部分被攻擊。

防禦方法

“來而不往非禮也”,你攻我守。隨著對抗攻擊的不斷深入研究,防禦方法也需要不斷的研究。NIPS 2017 會上,由 Ian Goodfellow 牽頭舉辦了第一屆 Adversarial Attacks and Defences(對抗攻擊防禦)比賽。在這次比賽中,清華組成的團隊在三個比賽專案中得到了冠軍。

在防禦上的主要思路、方法有下面這三類:在學習中修改訓練過程或輸入樣本資料,例如把對抗樣本加入模型訓練中,修改網路,或者利用附加網路。

其中,針對利用梯度下降方法生成對抗性樣本的進行防禦的混淆梯度(Obfuscated gradients)方法主要分三類:離散梯度、隨機梯度與梯度爆炸(或梯度消失)。

BPDA 方法作者稱已經成功攻擊了上面的大多數方法。這項結果的發表也引起了 Ian Goodfellow 的迴應與質疑,“在《Ensemble Adversarial Training: Attacks and Defenses》研究中已經解決相關問題”,但攻擊之法不斷,對抗樣本防禦方法也還有很長的路要走。

而膠囊網路(CapsNet 模型的原作者有 Sabour、Frosst 以及 Hinton,論文《Dynamic Routing Between Capsules》)近期在此方面也有新進展,論文《DARCCC: Detecting Adversaries by Reconstruction from Class Conditional Capsules》(Nicholas Frosst、Sara Sabour、Geoffrey Hinton 等人)指出,CapsNet 不僅可以對影象分類,還可以結合重建過程,利用 DARCCC 技術有效地檢測對抗攻擊樣本。(準確來說,這是一種自動檢測技術,還不等同於防禦方法。)不過,這種方法在黑盒攻擊方法,以及白盒攻擊方法 FGSM 上的檢測效果都還不錯,但在更強大的白盒攻擊方法上還不能攻破。

未來研究新趨勢

2018 年 GeekPwn CAAD(對抗樣本挑戰賽)上,戰隊[IYSWIM] 用傳統的黑盒攻擊方法,僅 21 分鐘就破解了亞馬遜名人鑑別系統 Celebrity Recognition。AI 模型本身以及應用模型的產品的安全性問題再一次引發我們的深思與更深入的研究。

現在 AI 在各領域不斷取得研究突破,並被廣泛應用,之前便有言論稱“AI 已經超越人類”?此時也許還不是給“ !”的時候,越是在看似已經取得良好成果的時候,越是要深思是否真的這麼好?接下來要做什麼?深度學習網路模型需要對抗攻擊更完善自己,進一步提高安全性。語音助手也不該是 Liar,自動駕駛更不能是 Killer。我們可以針對特定的場景進行對抗樣本攻擊與防禦,但是一張圖片可以放到不同模型中,如何用新演算法對抗不同領域、不同場景、不同模型的攻擊?機器學習的下一城,相信有 Adversarial Attack!

注:本文論點與材料主要依據綜述論文《Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey》,閱讀提取後整理,並參考文中引用的一些重點論文;後續內容主要參考 ICLR 2018 相關接收論文整理。

主要參考連結:

【完】

熱 文 推 薦

System.out.println("點個在看吧!");

console.log("點個在看吧!");

print("點個在看吧!");

printf("點個在看吧!\n");

cout Console.WriteLine("點個在看吧!");

Response.Write("點個在看吧!");

alert("點個在看吧!")

echo "點個在看吧!"

喜歡就點選“好看”吧!

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題