深度學習之對抗樣本問題

jopen 9年前發布 | 19K 次閱讀 深度學習 機器學習

 

2006 年,Geoffrey Hinton 提出了深度學習。受益于大數據的出現和大規模計算能力的提升,深度學習已然成為最活躍的計算機研究領域之一。深度學習的多層非線性結構使其具備強大的特征表達能力和對復雜任務的建模能力。最近幾年,深度學習的發展也帶動了一系列的研究。尤其是在圖像識別領域,在一些標準測試集上的試驗表明,深度模型的識別能力已經可以達到人類的水平。但是,人們還是會產生一個疑問,對于一個非正常的輸入,深度模型是否依然能夠產生滿意的結果。的確,最近有研究者開始關注深度模型抗干擾能力的研究,也就是關于深度學習對抗樣本的問題。對于這一新的問題,本文對它進行一個簡單的介紹。文章由黃立威、張天雷整理。

什么是深度學習對抗樣本

Christian Szegedy 等人在ICLR2014發表的 論文 中,他們提出了對抗樣本(Adversarial examples)的概念,即在數據集中通過故意添加細微的干擾所形成的輸入樣本,受干擾之后的輸入導致模型以高置信度給出一個錯誤的輸出。在他們的論文中,他們發現包括卷積神經網絡(Convolutional Neural Network, CNN)在內的深度學習模型對于對抗樣本都具有極高的脆弱性。他們的研究提到,很多情況下,在訓練集的不同子集上訓練得到的具有不同結構的模型都會對相同的對抗樣本實現誤分,這意味著對抗樣本成為了訓練算法的一個盲點。Anh Nguyen等人在CVPR2015上發表的 論文 中,他們發現面對一些人類完全無法識別的樣本(論文中稱為Fooling Examples),可是深度學習模型會以高置信度將它們進行分類。這些研究的提出,迅速抓住了公眾的注意力,有人將其當做是深度學習的深度缺陷,可是 kdnuggets 上的一篇文章 (Deep Learning’s Deep Flaws)’s Deep Flaws 指出,事實上深度學習對于對抗樣本的脆弱性并不是深度學習所獨有的,在很多的機器學習模型中普遍存在,因此進一步研究有利于抵抗對抗樣本的算法實際上有利于整個機器學習領域的進步。

深度學習對于對抗樣本表現的脆弱性產生的原因

是什么原因造成了深度學習對于對抗樣本表現出脆弱性。一個推斷性的解釋是深度神經網絡的高度非線性特征,以及純粹的監督學習模型中不充分的模型平均和不充分的正則化所導致的過擬合。 Ian Goodfellow 在ICLR2015年的 論文 中,通過在一個線性模型加入對抗干擾,發現只要線性模型的輸入擁有足夠的維度(事實上大部分情況下,模型輸入的維度都比較大,因為維度過小的輸入會導致模型的準確率過低),線性模型也對對抗樣本表現出明顯的脆弱性,這也駁斥了關于對抗樣本是因為模型的高度非線性的解釋。相反深度學習的對抗樣本是由于模型的線性特征。

深度學習對抗樣本泛化的原因

很多的時候,兩個模型即使有不同的結構并在不同的訓練集上被訓練,一種模型的對抗樣本在另一個模型中也同樣會被誤分,甚至它們還會將對抗樣本誤分為相同的類。這是因為對抗樣本與模型的權值向量高度吻合,同時為了訓練執行相同的任務,不同的模型學習了相似的函數。這種泛化特征意味著如果有人希望對模型進行惡意攻擊,攻擊者根本不必訪問需要攻擊的目標模型,就可以通過訓練自己的模型來產生對抗樣本,然后將這些對抗樣本部署到他們需要攻擊的模型中。

深度學習的對抗訓練

所謂深度學習對抗訓練,就是通過在對抗樣本上訓練模型。既然深度學習的對抗樣本是由于模型的線性特征所導致,那就可以設計一種快速的方法來產生對抗樣本進行對抗訓練。Szegedy等人的研究認為對抗樣本可以通過使用標準正則化技術解決,可是Goodfellow等人使用常見的正則化方法,如 dropout, 預訓練和模型平均進行測試,并沒能顯著地提高深度模型對于對抗樣本的抗干擾能力。根據神經網絡的 Universal Approximation Theory ,至少擁有一個隱層的神經網絡只要擁有足夠的隱層單元,就可以任意逼近任何一個非線性函數,這是淺層模型所不具備的。因此,對于解決對抗樣本問題,Goodfellow等人認為深度學習至少有希望的,而淺層模型卻不太可能。Goodfellow等人通過利用對抗樣本訓練,對抗樣本上的誤分率被大大降低。同時他們發現選擇原始模型產生的對抗樣本作為訓練數據可以訓練得到具有更高抵抗力的模型。此外,他們還發現,對于誤分的對抗樣本,對抗訓練得到的模型的置信度依然很高。所以通過對抗訓練能夠提高深度學習的對于對抗樣本的抗干擾能力。

幾個深度學習對抗樣本的事實

對于深度學習對抗樣本,Ian Goodfellow認為目前存在一些誤解,為了對這些誤解進行進一步澄清,Kdnuggets網站的編輯邀請Goodfellow撰文 Deep Learning Adversarial Examples – Clarifying Misconceptions 。文章指出對抗樣本在實際當中是經常可能出現的,而且在小的數據當中也能夠經常被發現,例如試圖騙過垃圾郵件檢測系統的垃圾郵件。Goodfellow還指出識別一個對抗樣本,然后拒絕對它進行分類并不是一個最佳的選擇,通過有效的算法,能夠克服數據干擾,正確識別對抗樣本中的信息才是最終目的。此外,Goodfellow指出,人類并不會像現代機器學習算法那樣被對抗樣本所影響。如果我們的大腦會和機器學習模型一樣犯同樣的錯誤,那么由于對抗樣本的在不同模型上的泛化屬性,機器學習模型的對抗樣本將會使我們產生視覺錯亂。

總之,對抗樣本是一個非常難的問題,研究如何克服它們可以幫助避免潛在的安全問題,并且幫助機器學習算法提高解決問題的準確性。某種意義上來說,設計一個易于訓練的線性模型和設計一個能夠抵御對抗干擾的非線性模型之間存在根本的矛盾,從長遠來看,設計更強大的優化方法以訓練更加非線性的模型是未來需要努力的方向。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!