神經網絡的準確率和魯棒性不能兼得?不,讓我們來仔細看看

2021-03-02 機器學習算法與自然語言處理

論文:A Closer Look at Accuracy vs. Rubustness(NeuIPS2020)

論文地址:https://arxiv.org/abs/2003.02460

論文代碼:https://github.com/yangarbiter/robust-local-lipschitz

引言

大量研究表明神經網絡極易受到對抗樣本的攻擊——輸入樣本上的微小擾動就能讓其預測錯誤。儘管目前已經湧現出許多抵禦對抗攻擊的方法,但這些方法一般都會造成模型準確率的下降。因此,大部分前人工作認為在分類任務上,必須對模型的準確率和魯棒性做一個折衷,兩者是無法兼得的。本文針對這個問題進行了進一步研究,發現真實圖像數據集一般是可劃分的,而利用數據集的可劃分屬性,神經網絡模型在一定條件下可以同時滿足高準確率和強魯棒性兩個要求。

論文貢獻

該論文的貢獻可以總結為以下三點:

作者通過實驗證明了常用的真實圖像數據集是自然可劃分的。

基於數據集的可劃分屬性,作者在理論上證明了利用局部利普西斯函數,神經網絡模型可以同時具有高準確率和強魯棒性,打破了以往認為兩者不能兼得的認知局限。

作者研究了現有訓練方法產生的分類器的平滑性和泛化差距(訓練集和測試集準確率的差距),發現一些能夠產生魯棒分類器的訓練方法,依然無法緩解模型具有很大泛化差距的問題。因此,作者提出將dropout技術應用到這些訓練方法中來縮小模型的泛化差距,本文實驗結果證明了該方法的有效性。

模型介紹

一、預備知識

魯棒性和機敏性(astuteness):

也就是說,模型的機敏性是對其魯棒性和準確率的一個綜合考量,因此我們的目標也就是獲得具有高機敏性的模型 [1]。

局部利普西斯性(Local Lipschitzness):給定樣本輸入空間

這裡

當兩個樣本

可劃分性(Seperation):假設輸入空間

該性質要求具有

二、真實圖像數據集的

在這裡,作者通過實驗驗證四種經常使用的真實圖像數據集是否具有

這裡距離度量函數

三、

作者從理論上證明了如果數據分布是

已知函數

然後定義分類器

也就是說分類器

於是作者給出如下引理:

若函數

證明過程如下:

由上文局部利普西斯性的定義可知,若函數

則當 

 

又因為對於任意的 

都有 

所以可得如下不等式:

因此當

作者在論文中進一步證明了當數據集具有

實驗結果

上文在理論上證明了模型的準確率和魯棒性兩者可以兼得(即足夠機敏),但是實際中大部分模型的準確率和魯棒性兩者之間往往不能互相協調,於是作者通過實驗研究這種現象背後的可能原因,並進一步提出可行的方法來緩解這個問題。

在本文中,作者主要通過兩個方面來對神經網絡模型進行分析,分別是(1)現有訓練方法產生的模型的局部利普西斯性(前人工作曾表明模型的利普西斯性和魯棒性緊密相關),(2)這些模型的泛化能力。

作者通過如下公式定義利普西斯常數來評估模型的局部利普西斯性:

利普西斯常數越小,表示模型越平滑。

而模型的泛化能力則用模型在訓練集和測試集上準確率的差距來評估。

上表顯示了兩種卷積神經網絡在不同的訓練方法Natural, GR, LLR, AT, RST, TRADES下的性能,包括在訓練集上的準確率,在測試集上的準確率,在測試集對抗樣本上的準確率(簡稱為對抗準確率),利普西斯常數,訓練集和測試集準確率的差,訓練集和測試集對抗準確率的差。我們發現(1)模型的利普西斯性和其對抗準確率密切相關,比如魯棒的訓練方法AT,RST,TRADES的利普西斯性比Natural, GR, LLR好(即利普西斯常數更小),它們的對抗準確率也較高;(2)儘管模型具有較小的利普斯西常數,更加平滑,但它們在訓練集和測試集上的泛化差距依然很大。

因此,作者提出採用經典的dropout技巧來縮小模型的泛化差距。如下圖所示,

可以看到,加了dropout的模型具有更小的泛化差距,同時模型變得更加平滑,利普西斯常數更小,而測試準確率和對抗準確率均有明顯的提升,說明dropout能夠有效提升模型的泛化能力和局部利普西斯性。

參考:

[1] Yizhen Wang, Somesh Jha, and Kamalika Chaudhuri. Analyzing the robustness of nearest neighbors to adversarial examples. In International Conference on Machine Learning, pages 5133--5142, 2018.

下載1:四件套

在機器學習算法與自然語言處理公眾號後臺回復「四件套」

即可獲取學習TensorFlow,Pytorch,機器學習,深度學習四件套!


下載2:倉庫地址共享

在機器學習算法與自然語言處理公眾號後臺回復「代碼」

即可獲取195篇NAACL+295篇ACL2019有代碼開源的論文。開源地址如下:https://github.com/yizhen20133868/NLP-Conferences-Code

重磅!機器學習算法與自然語言處理交流群已正式成立

群內有大量資源,歡迎大家進群學習!

額外贈送福利資源!pytorch官方中文教程,利用Python進行數據分析,機器學習學習筆記,pandas官方文檔中文版,effective java(中文版)等20項福利資源

獲取方式:進入群後點開群公告即可領取下載連結

注意:請大家添加時修改備註為 [學校/公司 + 姓名 + 方向]

例如 —— 哈工大+張三+對話系統。

號主,微商請自覺繞道。謝謝!

推薦閱讀:

保持高效論文寫作的10個原則!

深度剖析:針對深度學習的GPU共享

9個技巧讓你的PyTorch模型訓練變得飛快!

相關焦點

  • 《神經網絡和深度學習》系列文章七:實現我們的神經網絡來分類數字(下)
    e = np.zeros((10, 1)) e[j] = 1.0 return e我之前說過我們的程序得到了很好的結果。這意味著什麼?和什麼比較很好?和一些簡單的(非神經網絡)baseline相比是非常有意義的,可以來理解什麼樣意味著表現好。當
  • 直播 | 密西根州立大學助理教授劉思佳:深層神經網絡的魯棒性
    因此,深層神經網絡的魯棒性變成了一個在可信任人工智慧領域中的熱門研究主題。在本次報告中,劉思佳講者將首先向大家展示一個實用的、假設攻擊者只能對被攻擊模型進行查詢黑盒對抗攻擊。他將解釋為什麼這種攻擊方式會和可拓展的、理論上的零階優化方式相關。更進一步,我會探索對抗魯棒性和模型可解釋性之間的關係。他會展示一些可解釋性如何幫助對抗探索和對抗魯棒性的新穎發現。
  • 陳怡然團隊最新研究:用複數神經網絡提高梯度正則化準確度 | ICML 2021
    博雯 發自 凹非寺量子位 報導 | 公眾號 QbitAI現在,我們可以用虛數來幫助AI算法抵禦惡意攻擊了
  • 神經網絡-BP神經網絡
    戳藍色字關注我們喲!感知器作為初代神經網絡,具有簡單、計算量小等優點,但只能解決線性問題。
  • 讓神經網絡給符號AI「打工」,視覺判斷準確率將遠超人類?
    現在的AI是神經網絡的天下,科學家們正在嘗試將神經網絡與「老式AI」結合。幾年前,科學家從小鴨子身上學到了一樣不尋常的東西。如果小鴨子出生後先看到的是兩個相似的物體,那麼之後會對相似物體產生更多的偏好。小鴨毫不費力地做的事情對於人工智慧來說是很難的,尤其是深度神經網絡這一AI分支。如果交給符號AI,它會怎麼做?
  • 機器學習——神經網絡
    連接的神經元都有對應的權重;3、最左邊的層叫做輸入層,這層負責接收輸入數據;4、最右邊的層叫輸出層,我們可以從這層獲取神經網絡輸出數據;5、輸入層和輸出層之間的層叫做隱藏層。6、表示相鄰兩層不同神經元連接的強度叫權重。如果神經元1到神經元2有較大的值,則意味著神經元1對神經元2有較大影響。
  • 戲說魯棒性
    它是在異常和危險情況下系統生存的關鍵。比如說,計算機軟體在輸入錯誤、磁碟故障、網絡過載或有意攻擊情況下,能否不死機、不崩潰,就是該軟體的魯棒性。所謂「魯棒性」,是指控制系統在一定(結構,大小)的參數攝動下,維持其它某些性能的特性。根據對性能的不同定義,可分為穩定魯棒性和性能魯棒性。以閉環系統的魯棒性作為目標設計得到的固定控制器稱為魯棒控制器。
  • 神經網絡訓練trick
    說好的足夠多的數據(https://en.wikipedia.org/wiki/Occam's_razor),仔細設計的神經網絡都可以得到比其他算法更好的準確率和泛化性呢(當然不是我說的很直觀,因為神經網絡可以隨意設計,先驗假設較少,參數多,超參數更多,那模型的自由度就非常高了,精心設計對於新手就變得較難了。這裡講一些最簡單的trick,肯定不全面,歡迎大家留言補充。因為我也是新手!
  • 如何用Python和Tensorflow 2.0神經網絡分類表格數據?
    (結構化)數據的神經網絡分類模型。這篇文章裡面,我給你介紹,如何用 Tensorflow 2.0 ,來訓練神經網絡,對用戶流失數據建立分類模型,從而可以幫你見微知著,洞察風險,提前做好幹預和防範。數據你手裡擁有的,是一份銀行歐洲區客戶的數據,共有10000條記錄。客戶主要分布在法國、德國和西班牙。
  • . | 多層生物分子網絡的魯棒性研究
    作者構建了人體多層生物分子網絡模型並提出了一個框架來理解基因、蛋白質和代謝物之間的相互作用如何決定一個異質生物網絡的魯棒性。魯棒性定義為系統在外界擾動或內在噪聲存在的情況下仍保持自身功能的能力,這對大多數生物體的生存至關重要。以往的相關研究大多集中在孤立的分子網絡上,如基因調控網絡、蛋白質相互作用網絡和代謝網絡等。
  • 用一個大家都懂的方式來聊聊YouTube基於深度神經網絡的推薦系統
    整個模型的深度網絡配置大概需要學習十億個參數,並且使用了數千億的數據進行訓練。YouTube推薦系統主要由兩個深度神經網絡組成:第一個神經網絡用來生成候選視頻列表;第二個神經網絡用來對輸入視頻列表打分排名,以便將排名靠前的視頻推薦給用戶。候選視頻生成是依靠協同過濾算法產生一個寬泛的針對用戶的個性化推薦候選名單。
  • 神經網絡太難?學習如何用你擅長的 Java 庫來快速實現它!
    本文主要內容是首先介紹神經網絡的發展從McCulloch和Pitt的神經元開始,然後通過Hebb的發現,實現了Rosenblatt的感知器來增強它,並說明了它為什麼不能解決XOR問題。其次介紹了通過連接神經元,生成一個多層感知器,並通過應用反向傳播算法進行學習,從而實現XOR問題的解決方案。
  • 經典神經網絡 | 從Inception v1到Inception v4全解析
    例如AlexNet,GoogleNet、 VGG-Net、ResNet等都是通過加深網絡的層次和深度來提高準確率。Inception常見的版本有:Inception v2 和 Inception v3Inception v4 和 Inception-ResNet每個版本都是前一個版本的迭代進化。了解 Inception 網絡的升級可以幫助我們構建自定義分類器,優化速度和準確率。
  • 神經網絡理論基礎及 Python 實現
    如有好文章投稿,請點擊 → 這裡了解詳情一、多層前向神經網絡多層前向神經網絡由三部分組成:輸出層、隱藏層、輸出層,每層由單元組成;輸入層由訓練集的實例特徵向量傳入,經過連接結點的權重傳入下一層,前一層的輸出是下一層的輸入;隱藏層的個數是任意的,輸入層只有一層,輸出層也只有一層;除去輸入層之外,隱藏層和輸出層的層數和為n,則該神經網絡稱為
  • ​貝葉斯神經網絡最新綜述
    2.3 激活函數神經網絡中激活函數的作用是用來加入非線性因素以此來提高模型的表達能力,因為沒有激活函數神經網絡訓練出來的模型是一種線性模型,這樣對於回歸和分類任務來說其表達能力不夠。下圖為神經網絡中常用的激活函數示例,其中藍色線條為激活函數圖像,紅色線條為激活函數的導數圖像。
  • 使用 Keras搭建一個深度卷積神經網絡來識別 c驗證碼
    當然,在這裡我們還對生成的 One-Hot 編碼後的數據進行了解碼,首先將它轉為 numpy 數組,然後取36個字符中最大的數字的位置,因為神經網絡會輸出36個字符的概率,然後將概率最大的四個字符的編號轉換為字符串。
  • 深度學習和深度神經網絡
    這裡用  來表示。為了簡化記號,在示意圖裡,向量 b 就省略了。大數據和深度學習「深度學習」經常和「大數據」同時出現。大數據用在哪?大數據用來確定參數。我們用  來記 N 個數據。我們用一個記號 w 來簡化神經網絡用到的所有參數。注意 L 是 w 的函數。我們習慣了用 y = f(x) 來記函數,x 是變量。現在 x 代表數據,是給定的,不確定的是參數 w。 x 是要逼近函數 f 的自變量,但優化問題是最小化關於 w 的函數 L(w)。
  • 【復旦大學】神經網絡檢索
    大型MLaaS會為成千上萬用戶提供服務,很多用戶會遞交重複或者類似的任務。對此,我們提出了「神經網絡檢索」(Neural Network Retrieval, NNR)這個想法,設計了網絡檢索的方案,用於減少伺服器重複冗餘計算。
  • 人工智慧&機器學習怎麼學,深度學習和卷積神經網絡--交互er不能不懂的人工智慧硬知識
    在過去的幾年中,我們終於找到了一種使用深度卷積神經網絡進行物體識別的好方法。這聽起來像是William Gibson科幻小說中的一堆虛構詞,但這些想法現在是完全可以實現的。神經網絡是如何通過連接無數神經元來解決複雜問題的。我們創建了一個小型神經網絡,根據房屋的數量,房屋的大小以及房屋的所在區域來估算房屋的價格:
  • 機器學習與人工神經網絡(一)
    陸陸續續地,科學家和工程師製作出許多不同的程序,可以解決五花八門的問題,甚至在棋類和遊戲上表現比人類還要優異。但是這些程序有一個共通點:程序設計者必須要對特定問題進行深度的分析,歸納出一套準則讓計算機來運作。但當問題變得更難,除了計算機計算能力有限之外,程序設計者也難以歸納出一套規則處理極度複雜的問題。