- abstract
- 主要探討了對抗性範例的產生原因和如何利用它們來提高機器學習模型的魯棒性。文章的核心貢獻可以總結為以下幾點:
- 對抗性範例的解釋:文章首先解釋了對抗性範例的產生原因,指出即使是最先進的機器學習模型(包括深度神經網絡)也容易被輕微但有意圖的輸入擾動所欺騙。作者提出,這種現象主要是由於模型的線性特性所導致的,而不是先前認為的模型過於非線性或者過度擬合。
- 快速生成對抗性範例的方法:文章提出了一種稱為“快速梯度符號方法”(Fast Gradient Sign Method, FGSM)的技術,這是一種簡單且高效的生成對抗性範例的方法。通過這種方法,可以快速產生能夠導致模型錯誤預測的對抗性輸入。
- 對抗性訓練的效益:作者展示了如何通過對抗性訓練來增強模型的魯棒性。對抗性訓練涉及在訓練過程中包含對抗性範例,以此來提升模型對於類似擾動的抵抗能力。實驗結果顯示,這種訓練方法不僅可以使模型更加抵抗對抗性攻擊,還能提供額外的正則化效益,進而改善模型在一般測試數據上的性能。
- 實驗和討論:文章通過一系列實驗,證明了對抗性訓練在多個數據集和模型架構上的有效性。同時,作者討論了對抗性範例的泛化特性以及不同模型容量對對抗性訓練效果的影響。
- background
- 這篇文章《Explaining and Harnessing Adversarial Examples》在介紹對抗性範例及其對深度學習模型影響的研究中,提到了對抗性範例的概念最初是由Szegedy et al. 在2013年的一篇研究中提出的。因此,這篇文章的研究是直接從Szegedy et al. 的工作中延伸而來的。下面列出了這篇文章所基於的關鍵背景論文: Szegedy et al., 2013 – “Intriguing properties of neural networks”
- 論文重點:這是首次提出對抗性範例的概念,發現即使是微小的輸入擾動也能導致深度神經網絡以高信心做出錯誤的預測。這項工作開創了對抗性機器學習研究的新領域,對後續的許多研究產生了深遠影響。
- Goodfellow et al. 的這篇文章延伸了Szegedy et al. 的工作,不僅進一步探討了對抗性範例的產生原因,還提出了一種有效的對抗性範例生成方法(快速梯度符號方法),並展示了如何通過對抗性訓練來提升模型對這類攻擊的魯棒性。
- method
- 主要使用了一種稱為快速梯度符號方法(Fast Gradient Sign Method, FGSM)來生成對抗性範例,並進行對抗性訓練以提高模型的魯棒性。以下是這種方法的基本描述和公式:
- 基礎原理想法→原本神經網路訓練的方式都是找到最小化loss的方向,也就是(loss對權重的微分),這篇論文的想法是相反的,作者沒有想要找最小化loss的方向,反而是想找最大化loss的方向,因此作者才會採用**加** 雜訊的方式實現這個想法,因此本論文的方法是為了找出對圖片擾動最大的方向,藉由將這個方向的雜訊也就是(loss對輸入圖片的微分)僅僅取正負方向不拿數值,然後乘上一個很小的數(控制雜訊大小)加回原本的圖片中,以期待製造出像上圖的效果
- 快速梯度符號方法(FGSM)
- FGSM的目的是通過對輸入數據施加細小的擾動來生成對抗性範例,這些擾動足以導致模型做出錯誤的預測。擾動的方向是根據輸入對損失函數梯度的符號來決定的,以確保擾動會增加損失,這樣生成的對抗性範例最可能欺騙模型。
- 給定一個模型的參數 \(θ\)、一個輸入樣本 \(x\) 和其對應的標籤 \(y\),對抗性範例 \(x′\) 可以通過以下公式生成:
- \(x′=x+ϵ⋅sign(∇xJ(θ,x,y))\)
- 其中:
- \(J(θ,x,y)\) 是模型對於輸入 \(x\) 和標籤 $y$ 的損失函數。
- \(∇xJ(θ,x,y)\) 是損失函數相對於輸入 $x$ 的梯度。
- \(sign(⋅)\) 是符號函數,用於取梯度的符號。
- \(ϵ\) 是一個小的常數,用來控制擾動的大小。
- 這種方法的關鍵在於\(sign(∇xJ(θ,x,y))\),它確定了每個輸入維度上擾動的方向(增加或減少),而$ϵ$ 確保這個擾動是小幅度的,從而使得生成的對抗性範例對人類來說在視覺上幾乎無法與原始樣本區分,但能夠誤導模型做出錯誤的預測。
- 對抗性訓練
- 為了提高模型對對抗性範例的魯棒性,文章中還使用了對抗性訓練,即在訓練過程中同時使用原始樣本和對抗性範例來更新模型參數。對抗性訓練的目標函數可以表示為原始損失和對抗性損失的加權和:
- \(Jadv(θ,x,y)=αJ(θ,x,y)+(1−α)J(θ,x′,y)\)
- 其中,$x′$ 是使用FGSM生成的對抗性範例,$α$ 是一個介於0到1之間的權重參數,用於平衡原始樣本和對抗性樣本在損失函數中的貢獻。
- 通過這種方法,模型不僅學習到從原始數據中進行正確預測的能力,也增強了對潛在對抗性攻擊的抵抗能力,從而提升了模型整體的魯棒性。
- experiments
- 在這篇論文中,作者通過一系列的實驗來展示他們提出的對抗性訓練方法的效果。以下是對這些實驗數據的總結:
- 對抗性範例的生成和效果
- 使用快速梯度符號方法(Fast Gradient Sign Method, FGSM),作者成功地在多種模型上生成了對抗性範例,這些範例導致模型以高信心錯誤分類。
- 在MNIST數據集上,將ε設為0.25時,一個淺層的Softmax分類器對於對抗性範例的錯誤率達到了99.9%,平均信心度為79.3%。在同樣的設置下,一個Maxout網絡對這些對抗性範例的錯誤率為89.4%,平均信心度達到了97.6%。
- 對抗性訓練的效果
- 通過對抗性訓練,作者展示了模型在原始測試集上的錯誤率顯著降低。例如,在MNIST數據集上使用Maxout網絡,不進行對抗性訓練時的錯誤率為0.94%,而進行對抗性訓練後降低到了0.84%。
- 此外,對抗性訓練使模型對生成的對抗性範例更加魯棒。在沒有對抗性訓練的情況下,模型對FGSM生成的對抗性範例的錯誤率高達89.4%,而經過對抗性訓練後,錯誤率下降到了17.9%。
- 模型容量和對抗性範例的關係
- 作者指出,增加模型的容量(例如,增加隱藏單元的數量)可以進一步提高對抗性訓練的效果。通過擴大模型(使用1600個單位而不是240個),他們觀察到模型對原始測試集的錯誤率有所增加,但對抗性訓練後的錯誤率進一步降低。
- 通用性和對抗性範例的跨模型轉移
- 對抗性訓練後的模型對於原始模型生成的對抗性範例的錯誤率為19.6%,而對於新模型生成的對抗性範例,原始模型的錯誤率為40.9%。這顯示對抗性訓練提高了模型對對抗性攻擊的魯棒性。
- 這些實驗結果強調了對抗性訓練在提高深度學習模型對抗性攻擊魯棒性方面的潛力。透過對抗性訓練,不僅可以改進模型在標準測試集上的表現,還可以增強其對未知攻擊的抵抗能力。
- question
- 為什麼要設計sign
- 作者選擇使用
**sign**
函數而不是直接使用梯度的原因,主要是為了提高生成對抗性樣本的效率和有效性。這種方法基於幾個關鍵考慮: - 1. 控制擾動大小
- 如果直接使用梯度值可能會導致對輸入的擾動過大,尤其是當梯度值很大時。通過取梯度的符號(
**sign**
),可以確保每個維度上的擾動大小是固定的(\(ε\)),這有助於生成微小且均勻的擾動,使得對抗性樣本在人類觀察者看來與原始樣本幾乎沒有差別,同時足以欺騙模型。 - 2. 簡化計算
- 採用
**sign**
函數簡化了對抗樣本生成的計算。因為**sign**
僅關心梯度的方向而不關心其大小,這意味著所有維度上的擾動都具有相同的量級。這種方法不需要對梯度值進行縮放或歸一化處理,從而降低了計算複雜性。 - 3. 提高魯棒性
- 在高維空間中,使用
**sign**
函數生成的擾動可以更有效地探索模型的弱點。因為在高維空間中,即使是非常小的擾動也可能導致模型預測的顯著變化。**sign**
方法通過在每個維度上施加固定大小的最優擾動,增加了找到能夠欺騙模型的對抗樣本的概率。 - 4. 實踐中的效果
- 研究和實驗表明,儘管
**sign**
方法相對簡單,但它非常有效,能夠生成能使神經網絡誤分類的對抗性樣本。與直接使用梯度相比,使用梯度的符號來生成擾動通常能更快地找到有效的對抗性樣本,同時保持擾動的微妙性,這是生成對抗性樣本時通常希望達到的效果。 - 總的來說,採用梯度的符號而不是梯度本身是一種實現上的折衷,旨在生成實用、高效且難以檢測的對抗性樣本。
- 作者選擇使用
- 為什麼要設計sign
- conclution
- 本篇論文是創造GAN 的大神Ian Goodfellow 所創作,追了它的前一作論文Intriguing properties of neural networks,應該是大神還在Montreal 讀書的時候與Google、Facebook 這些研究員一起開發研究的工作,之後大神自己把它延伸並創造了第一個對抗性樣本的產生方法FGSM,這是在2014年非常前沿的一篇研究,對後續的對抗性訓練產生了一個根深蒂固的基礎,可以看到後續許多研究論文都是基於這篇基礎論文展開研究改進的
- 使用best target weight attack (BTWA)的方法,試驗效果發現沒有比較好
- 參考資料
- blog.csdn.net/u014380165/article/details/90723948
- 【機器學習2021】來自人類的惡意攻擊 (Adversarial Attack) (上) – 基本概念 – YouTube
- torchattacks — torchattacks v3.5.1 documentation
- [2010.01950] Torchattacks: A PyTorch Repository for Adversarial Attacks
- Adversarial attack — CS筆記. Adversarial… | by Jimmy Hsieh | Medium
- Adversarial attacks with FGSM (Fast Gradient Sign Method) – PyImageSearch
解鎖魯棒性:使用FGSM強化模型防禦
Subscribe
Login
0 Comments
Oldest