博客專欄

        EEPW首頁 > 博客 > 對抗性攻擊的原理簡介

        對抗性攻擊的原理簡介

        發布人:數據派THU 時間:2022-01-16 來源:工程師 發布文章

        由于機器學習算法的輸入形式是一種數值型向量(numeric vectors),所以攻擊者就會通過設計一種有針對性的數值型向量從而讓機器學習模型做出誤判,這便被稱為對抗性攻擊。和其他攻擊不同,對抗性攻擊主要發生在構造對抗性數據的時候,該對抗性數據就如正常數據一樣輸入機器學習模型并得到欺騙的識別結果。

        什么是對抗樣本?

        這些數據樣本看起來像正常樣本,但以某種方式受到干擾以欺騙機器學習系統。例如在給定的圖像中,并非所有像素都具有相同的重要性,如果可以識別最重要的像素(用于 ML 系統做出分類決策)并更改它們,那么算法決策也會發生變化,樣本的結果也會發生變化,但是從肉眼看起來它還是正常的。

        1.png

        右邊的熊貓在加入對抗性噪聲后看起來仍然像熊貓,但現在它會被原來的分類器分類到一個完全不同的類中。

        2.png

        所有圖片都可以通過這樣一種方式受到干擾,以至于所有的圖片都被預測為一架飛機。

        為什么會發生對抗性攻擊?

        在我們指出它們發生的原因之前,我們再次強調無論是邏輯回歸、softmax 回歸、SVM、決策樹、最近鄰還是深度學習模型,沒有任何 ML 算法可以免受對抗性攻擊。對抗性示例的發生是因為系統中的excessive linearity(過度線性?)造成的。你可能認為深度學習很容易形成非線性決策邊界,是的整體上是這樣的,但幾乎每一個深度學習架構都是分段線性的(想想激活函數)。所以當一個點靠近線性邊界時,即使是少量的噪聲也能將其推到決策邊界的另一側。從下圖中還可以看到,在實踐中深度學習分類器具有非常線性的響應。

        3.png

        深度學習架構是分段線性的

        4.png

        通常這些類的類間距離很小,因此使用快速符號梯度法FGSM(Fast Gradient Sign Method)可以輕松更改給定對象的類。FGSM通過向圖像添加線性量的不可感知噪聲并導致模型對其進行錯誤分類。這個噪聲是通過將梯度的符號與我們想要擾動的圖像乘以一個小的常數 epsilon 來計算的。隨著 epsilon 的增加模型更有可能被愚弄,但擾動也變得更容易識別。對抗噪聲可能看起來像隨機噪聲,但它肯定不是。它會根據像素在最終分類結果中的重要性,為每個像素添加不同數量的噪聲。

        它們如何被用來破壞機器學習系統?

        Andrej karpathy在他的論文中展示了如何打破ImageNet數據集上的線性分類器。但這并不僅限于圖像,甚至可以欺騙表格數據,這在金融領域是非常致命的。對抗性攻擊是我們不信任自治系統(autonomous system)的原因。我們需要能夠處理噪音并能在不同環境中保持穩定的系統。

        5.png

        對抗性魯棒性工具集(ART)是用于機器學習安全性的Python庫。ART提供的工具可 幫助開發人員和研究人員針對以下方面捍衛和評估機器學習模型和應用程序:逃逸,數據污染,模型提取和推斷的對抗性威脅,有興趣的可以看看。

        https://github.com/Trusted-AI/adversarial-robustness-toolbox

        對抗樣本非常危險的另一個關鍵領域是人工智能醫療。僅 5 個像素就足以使模型變得毫無用處, 這表明模型不是整體的,并且以完全錯誤的方式在查看數據。盡管從結果來看它看起來很聰明,但在所有結果的背后只是一種數字運算技術并且缺乏上下文的支持,這就是為什么對抗性攻擊的風險如此之高。

        有哪些防御措施?

        正如我們之前確定的那樣,對抗樣本的存在是因為系統中的線性度,如果我們能以某種方式減少這種線性度會怎樣。先談談 VC維(Vapnik–Chervonenkis dimension),vc理論(Vapnik–Chervonenkis theory )是由 Vladimir Vapnik 和 Alexey Chervonenkis發明的,該理論試圖從統計學的角度解釋學習的過程。而VC維是VC理論中一個很重要的部分。對一個指示函數集,如果存在h個樣本能夠被函數集中的函數按所有可能的2^h種形式分開,則稱函數集能夠把h個樣本打散;函數集的VC維就是它能打散的最大樣本數目h.若對任意數目的樣本都有函數能將它們打散,則函數集的VC維是無窮大. VC維反映了函數集的學習能力,VC維越大則學習機器越復雜(容量越大).學習能力越強。

        6.png

        現在,你是否知道一種具有非常高 VC 維度的算法,這意味著它可以在非常高的維度上分離點?我所知道的唯一算法是 SVM 的高斯或 RBF 核,它的 VC 維數為無窮大,這意味著理論上它甚至可以在神經網絡無法做到的無窮維中分離點。正是因為這個原因,RBF-SVM 對對抗樣本具有魯棒性。對于除 RBF-SVM 之外的任何其他分類器,研究人員都可以生成任何被預測為 0、1、2….、9 的數字并且無論從人還是從機器角度看輸入中也沒有任何明顯的噪聲。下圖顯示,當他們嘗試為 RBF-SVM 生成對抗樣本時,數字實際上發生了很大變化。RBF-SVM 將數據推向無限維度,因此每個類之間的類間距離很大。

        7.png

        對于神經網絡,可以使用對抗性示例訓練網絡,這往往會增加網絡的魯棒性。對抗訓練提供正則化和半監督學習 ,下圖顯示了對抗樣本訓練的性能提升。其他想法是訓練模型使其不可微。此外對抗性攻擊不會因為傳統的正則化技術而消失。

        8.png

        以下都是對于對抗性攻擊沒有任何作用的一些方法

        9.png

        最初研究人員認為GAN可以解決這個問題,他們認為如果我們知道輸入的真實分布,我們就可以避免這個問題,但事實證明,識別對抗樣本仍然非常困難。看看下面的圖片,一組是好的,另一組是壞的,但是對人類的眼睛來說,它們看起來是一樣的。

        10.png

        線性模型:支持向量機/線性回歸不能學習階躍函數,所以對抗訓練的用處不大,作用非常類似于權值衰減

        k-NN:對抗訓練容易過度擬合。

        結論

        神經網絡實際上可以變得比其他模型更安全。對抗性訓練的神經網絡在任何機器學習模型的對抗性示例上都具有最佳的經驗成功率。

        對抗訓練提供正則化和半監督學習

        進攻很簡單

        防守很困難

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 深度學習

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泽普县| 黑龙江省| 黄浦区| 炉霍县| 罗江县| 九江市| 涞源县| 株洲市| 吴旗县| 枣庄市| 罗定市| 平昌县| 天柱县| 三亚市| 盐亭县| 巴东县| 界首市| 泰兴市| 昆山市| 襄垣县| 绥德县| 绵阳市| 黑河市| 基隆市| 莱阳市| 太仓市| 博客| 铜梁县| 海门市| 宜州市| 嵊州市| 武山县| 上高县| 商南县| 乌海市| 慈利县| 砚山县| 云南省| 元谋县| 阿合奇县| 文化|