深度學習的「警察」與「小偷」
最近一個月,人工智慧領域聽的最多的名詞之一,莫過於對抗樣本和對抗性網路,從最開始Yann LeCun在Quora上直播時表示生成對抗性網路近期人工智慧最值得期待的演算法之一,到近日生成對抗性網路的發明者Ian Goodfellow在Quora上直播講述自己的學習經歷和研究,而對比起LeCun, Ian Goodfellow的知名度可能沒有那麼高,但是Goodfellow是Yoshua Bengio的學生,前Google科學家,現在被Elon Musk招到OpenAI做科學家。
那到底什麼是對抗樣本?
深度學習對抗樣本(Adversarial Examples)的概念最早是Christian Szegedy 等人在ICLR2014發表的論文中提出來的,即在數據集中通過故意添加細微的干擾所形成輸入樣本,受干擾之後的輸入導致模型以高置信度給出了一個錯誤的輸出。在他們的論文中,他們發現包括卷積神經網路(Convolutional Neural Network, CNN)在內的深度學習模型對於對抗樣本都具有極高的脆弱性。他們的研究提到,很多情況下,在訓練集的不同子集上訓練得到的具有不同結構的模型都會對相同的對抗樣本實現誤分,這意味著對抗樣本成為了訓練演算法的一個盲點。Anh Nguyen等人在CVPR2015上發表的論文中,他們發現面對一些人類完全無法識別的樣本(論文中稱為Fooling Examples),可是深度學習模型會以高置信度將它們進行分類。這些研究的提出,迅速抓住了公眾的注意力,有人將其當做是深度學習的深度缺陷,可是kdnuggets上的一篇文章(Deep Learning』s Deep Flaws)』s Deep Flaws指出,事實上深度學習對於對抗樣本的脆弱性並不是深度學習所獨有的,在很多的機器學習模型中普遍存在,因此進一步研究有利於抵抗對抗樣本的演算法實際上有利於整個機器學習領域的進步。
如圖1示例,原始圖像以60%的置信度判斷為「熊貓」,但是加入了微小的干擾,在人眼完全看不出差別的情況下卻以99%的執行度歸為了長臂猿
圖1
而造成對抗樣本的原因是什麼呢?一個推斷性的解釋是深度神經網路的高度非線性特徵,以及純粹的監督學習模型中不充分的模型平均和不充分的正則化所導致的過擬合。Ian Goodfellow 在ICLR2015年的論文中,通過在一個線性模型加入對抗干擾,發現只要線性模型的輸入擁有足夠的維度(事實上大部分情況下,模型輸入的維度都比較大,因為維度過小的輸入會導致模型的準確率過低),線性模型也對對抗樣本表現出明顯的脆弱性,這也駁斥了關於對抗樣本是因為模型的高度非線性的解釋。相反深度學習的對抗樣本是由於模型的線性特徵。
而生成對抗網路又是什麼呢?
簡單來說,對抗網路有兩部分組成,一個是生成器(generator),一個是辨別器(discriminator),生成器好比一個小偷,而辨別器好比一個警察,小偷的目的是想方設法的欺騙欺騙警察(生成對抗樣本),而警察的目的就是想方設法的去不受欺騙,小偷和警察都在不斷的優化自己去達到目的,同時彼此都在對方的「監督」下而提升。
這種對抗訓練過程與傳統神經網路存在一個重要區別。一個神經網路需要有一個成本函數,評估網路性能如何。這個函數構成了神經網路學習內容以及學習情況的基礎。傳統神經網路需要一個人類科學家精心打造的成本函數。但是,對於生成式模型這樣複雜的過程來說,構建一個好的成本函數絕非易事。這就是對抗性網路的閃光之處。對抗網路可以學習自己的成本函數——自己那套複雜的對錯規則——無須精心設計和建構一個成本函數。
總所周知,機器學習中,無監督學習一直備受關注,而發展卻並不迅速,而生成對抗性網路正是通過深度學習本身的缺陷,利用「欺騙」和「反欺騙」的博弈,實現模型內部的監督學習。
生成對抗性網路本質還是很複雜,如需要詳細了解,可以查閱參考資料的內容。
參考資料:
[1]Karparthy博客 Breaking Linear Classifiers on ImageNet
[2]Christian等人在ICLR2014最先提出adversarial examples的論文 Intriguing properties of neural networks
[3]Ian Goodfellow對對抗樣本解釋的論文Explaining and Harnessing Adversarial Examples
[4]最近Bengio他們組發文表示就算是從相機自然採集的圖像,也會有這種特性 Adversarial examples in the physical world
[5]Anh Nguyen等人在CVPR2015上首次提出Fooling Examples的論文 Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images
[6]Yann LeCun在Quora上直播內容
[7]Ian Goodfellow在Quora上直播
最後,私人順一則廣播:
我司組織了一個計算機視覺的開發者交流微信群,目標是彙集【計算機視覺,圖像處理,3D圖像,視頻處理,深度學習,機器學習】的開發者,一起分享開發經驗,共同探討技術,有興趣入群的可以加我微信(微信號LaurenLuoYun, 二維碼如下),請註明「姓名-公司/學校-技術方向-加群」(純屬交流的不需要寫「加群」,以免誤會),謝謝。另外,也在招募有計算機視覺演算法的合作夥伴。推薦閱讀:
※《論文研讀系列》SSD-Single Shot Multibox Detector
※2017年歷史文章匯總|深度學習
※【小林的OpenCV基礎課 番外】卷積與濾波
※Learning to Segment Every Thing論文導讀
※【小林的OpenCV基礎課 10】Canny邊緣檢測
TAG:深度學習DeepLearning | 計算機視覺 | 無監督學習 |