對抗性攻擊的原理簡介
由于機器學習算法的輸入形式是一種數(shù)值型向量(numeric vectors),所以攻擊者就會通過設(shè)計一種有針對性的數(shù)值型向量從而讓機器學習模型做出誤判,這便被稱為對抗性攻擊。和其他攻擊不同,對抗性攻擊主要發(fā)生在構(gòu)造對抗性數(shù)據(jù)的時候,該對抗性數(shù)據(jù)就如正常數(shù)據(jù)一樣輸入機器學習模型并得到欺騙的識別結(jié)果。
什么是對抗樣本?
這些數(shù)據(jù)樣本看起來像正常樣本,但以某種方式受到干擾以欺騙機器學習系統(tǒng)。例如在給定的圖像中,并非所有像素都具有相同的重要性,如果可以識別最重要的像素(用于 ML 系統(tǒng)做出分類決策)并更改它們,那么算法決策也會發(fā)生變化,樣本的結(jié)果也會發(fā)生變化,但是從肉眼看起來它還是正常的。
右邊的熊貓在加入對抗性噪聲后看起來仍然像熊貓,但現(xiàn)在它會被原來的分類器分類到一個完全不同的類中。
所有圖片都可以通過這樣一種方式受到干擾,以至于所有的圖片都被預(yù)測為一架飛機。
為什么會發(fā)生對抗性攻擊?
在我們指出它們發(fā)生的原因之前,我們再次強調(diào)無論是邏輯回歸、softmax 回歸、SVM、決策樹、最近鄰還是深度學習模型,沒有任何 ML 算法可以免受對抗性攻擊。對抗性示例的發(fā)生是因為系統(tǒng)中的excessive linearity(過度線性?)造成的。你可能認為深度學習很容易形成非線性決策邊界,是的整體上是這樣的,但幾乎每一個深度學習架構(gòu)都是分段線性的(想想激活函數(shù))。所以當一個點靠近線性邊界時,即使是少量的噪聲也能將其推到?jīng)Q策邊界的另一側(cè)。從下圖中還可以看到,在實踐中深度學習分類器具有非常線性的響應(yīng)。
深度學習架構(gòu)是分段線性的
通常這些類的類間距離很小,因此使用快速符號梯度法FGSM(Fast Gradient Sign Method)可以輕松更改給定對象的類。FGSM通過向圖像添加線性量的不可感知噪聲并導致模型對其進行錯誤分類。這個噪聲是通過將梯度的符號與我們想要擾動的圖像乘以一個小的常數(shù) epsilon 來計算的。隨著 epsilon 的增加模型更有可能被愚弄,但擾動也變得更容易識別。對抗噪聲可能看起來像隨機噪聲,但它肯定不是。它會根據(jù)像素在最終分類結(jié)果中的重要性,為每個像素添加不同數(shù)量的噪聲。
它們?nèi)绾伪挥脕砥茐臋C器學習系統(tǒng)?
Andrej karpathy在他的論文中展示了如何打破ImageNet數(shù)據(jù)集上的線性分類器。但這并不僅限于圖像,甚至可以欺騙表格數(shù)據(jù),這在金融領(lǐng)域是非常致命的。對抗性攻擊是我們不信任自治系統(tǒng)(autonomous system)的原因。我們需要能夠處理噪音并能在不同環(huán)境中保持穩(wěn)定的系統(tǒng)。
對抗性魯棒性工具集(ART)是用于機器學習安全性的Python庫。ART提供的工具可 幫助開發(fā)人員和研究人員針對以下方面捍衛(wèi)和評估機器學習模型和應(yīng)用程序:逃逸,數(shù)據(jù)污染,模型提取和推斷的對抗性威脅,有興趣的可以看看。
https://github.com/Trusted-AI/adversarial-robustness-toolbox
對抗樣本非常危險的另一個關(guān)鍵領(lǐng)域是人工智能醫(yī)療。僅 5 個像素就足以使模型變得毫無用處, 這表明模型不是整體的,并且以完全錯誤的方式在查看數(shù)據(jù)。盡管從結(jié)果來看它看起來很聰明,但在所有結(jié)果的背后只是一種數(shù)字運算技術(shù)并且缺乏上下文的支持,這就是為什么對抗性攻擊的風險如此之高。
有哪些防御措施?
正如我們之前確定的那樣,對抗樣本的存在是因為系統(tǒng)中的線性度,如果我們能以某種方式減少這種線性度會怎樣。先談?wù)?VC維(Vapnik–Chervonenkis dimension),vc理論(Vapnik–Chervonenkis theory )是由 Vladimir Vapnik 和 Alexey Chervonenkis發(fā)明的,該理論試圖從統(tǒng)計學的角度解釋學習的過程。而VC維是VC理論中一個很重要的部分。對一個指示函數(shù)集,如果存在h個樣本能夠被函數(shù)集中的函數(shù)按所有可能的2^h種形式分開,則稱函數(shù)集能夠把h個樣本打散;函數(shù)集的VC維就是它能打散的最大樣本數(shù)目h.若對任意數(shù)目的樣本都有函數(shù)能將它們打散,則函數(shù)集的VC維是無窮大. VC維反映了函數(shù)集的學習能力,VC維越大則學習機器越復(fù)雜(容量越大).學習能力越強。
現(xiàn)在,你是否知道一種具有非常高 VC 維度的算法,這意味著它可以在非常高的維度上分離點?我所知道的唯一算法是 SVM 的高斯或 RBF 核,它的 VC 維數(shù)為無窮大,這意味著理論上它甚至可以在神經(jīng)網(wǎng)絡(luò)無法做到的無窮維中分離點。正是因為這個原因,RBF-SVM 對對抗樣本具有魯棒性。對于除 RBF-SVM 之外的任何其他分類器,研究人員都可以生成任何被預(yù)測為 0、1、2….、9 的數(shù)字并且無論從人還是從機器角度看輸入中也沒有任何明顯的噪聲。下圖顯示,當他們嘗試為 RBF-SVM 生成對抗樣本時,數(shù)字實際上發(fā)生了很大變化。RBF-SVM 將數(shù)據(jù)推向無限維度,因此每個類之間的類間距離很大。
對于神經(jīng)網(wǎng)絡(luò),可以使用對抗性示例訓練網(wǎng)絡(luò),這往往會增加網(wǎng)絡(luò)的魯棒性。對抗訓練提供正則化和半監(jiān)督學習 ,下圖顯示了對抗樣本訓練的性能提升。其他想法是訓練模型使其不可微。此外對抗性攻擊不會因為傳統(tǒng)的正則化技術(shù)而消失。
以下都是對于對抗性攻擊沒有任何作用的一些方法
最初研究人員認為GAN可以解決這個問題,他們認為如果我們知道輸入的真實分布,我們就可以避免這個問題,但事實證明,識別對抗樣本仍然非常困難??纯聪旅娴膱D片,一組是好的,另一組是壞的,但是對人類的眼睛來說,它們看起來是一樣的。
線性模型:支持向量機/線性回歸不能學習階躍函數(shù),所以對抗訓練的用處不大,作用非常類似于權(quán)值衰減
k-NN:對抗訓練容易過度擬合。
結(jié)論
神經(jīng)網(wǎng)絡(luò)實際上可以變得比其他模型更安全。對抗性訓練的神經(jīng)網(wǎng)絡(luò)在任何機器學習模型的對抗性示例上都具有最佳的經(jīng)驗成功率。
對抗訓練提供正則化和半監(jiān)督學習
進攻很簡單
防守很困難
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。