EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES 论文笔记
EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES 論文筆記
EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
原論文鏈接
摘要
包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的許多機器學習模型都很容易受到對抗樣本(adversarial examples)的攻擊導致誤分類,對抗性樣本指通過刻意的給輸入增加一些輕微的惡意擾動,從而使系統(tǒng)以高置信度對樣本進行錯誤的分類。之前的一些觀點認為這種現(xiàn)象是由于非線性性質(zhì)和過擬合導致的,但是本文認為神經(jīng)網(wǎng)絡(luò)對于對抗性干擾的易損性(vulnerability)的本質(zhì)原因是他們在高維空間的線性性質(zhì)。而最有趣的現(xiàn)象在于他們具有跨架構(gòu)和訓練集的泛化能力,本文是最先對這種現(xiàn)象給出解釋的論文,并且這個解釋得到了新的定量結(jié)果的支持。此外,本文還提供了一種簡單而快速的方法來生成對抗樣本,使用這種方法來提供對抗性訓練的樣本,可以減少 MNIST 數(shù)據(jù)集上的測試誤差。
簡介
對抗樣本易損性:通過刻意的給輸入增加一些輕微的惡意擾動,就可以使機器學習模型以高置信度對樣本進行錯誤的分類。在很多情況下,同一個對抗樣本可以讓使用不同架構(gòu),在不同訓練集下訓練的不同模型做出誤判,這說明對抗樣本暴露了訓練算法中的一些共通的基礎(chǔ)盲點。
這些現(xiàn)象的原因是一個謎,一種推測認為這是由于深度神經(jīng)網(wǎng)絡(luò)的極端非線性,可能使模型均值化不充分以及純監(jiān)督學習的正規(guī)化不充分相結(jié)合。但本文證明這種猜測是不成立的,高維空間的線性性質(zhì)足以導致對抗性樣本產(chǎn)生,這種觀點使得我們可以設(shè)計一種快速的方法來產(chǎn)生對抗樣本以及進行對抗性訓練。對抗性樣本可以產(chǎn)生比 dropout 更優(yōu)秀的正則化收益,通用的正則化策略并不能顯著的降低模型的對抗樣本易損性,而將模型轉(zhuǎn)變?yōu)榉蔷€性模型族就有可能做到,例如 RBF 網(wǎng)絡(luò)。
本文展示了一種權(quán)衡,是將模型訓練為容易訓練的線性模型,還是訓練為復雜的非線性模型以抵御對抗樣本的干擾。長遠來看,設(shè)計更多訓練非線性模型的更強大的優(yōu)化方法可以避免這種問題。
相關(guān)工作
Szegedy 等人在論文 Intriguing properties of neural networks 中展示了神經(jīng)網(wǎng)絡(luò)的一些有趣的性質(zhì),本文涉及的有:
- Box-constrained L-BFGS 可以有效的找出對抗性樣本
- 在一些數(shù)據(jù)集中,對抗性樣本和原樣本非常相似,人眼難以找出差別
- 在很多情況下,同一個對抗樣本可以讓使用不同架構(gòu),在不同訓練集下訓練的不同模型做出誤判
- 淺層的 softmax 回歸模型也具有對抗樣本易損性
- 使用對抗性樣本進行訓練可以使模型正則化,但是這種方法需要在內(nèi)循環(huán)中進行約束性優(yōu)化,時間成本非常高昂,在實踐中難以實現(xiàn)。
這些性質(zhì)就表明即使是在測試集上表現(xiàn)優(yōu)異的分類模型,實際上也并沒有學習到真正決定正確類別的內(nèi)在概念。恰恰相反,這些算法就像一個 Potemkin village,在自然發(fā)生的數(shù)據(jù)中表現(xiàn)良好,但是當出現(xiàn)概率非常低的數(shù)據(jù)的時候,就會產(chǎn)生虛假的輸出。這點尤其讓人感到失望,因為計算機視覺的主流方法就是使用CNN的特征空間上用歐氏距離近似感知距離,但是如果感知距離非常小的圖像對應(yīng)于網(wǎng)絡(luò)表征中的完全不同的類,那么這種相似性顯然是有缺陷的。但是,這種缺陷在某種程度上也正好是用來修復這個問題的方式。
對抗樣本的線性解釋
因為樣本輸入特征(input feature)的精度(precision)是有限的,比如一般圖像的每個像素是8 bits, 那么樣本中所有低于1/2551/2551/255 的信息都會被丟棄,所以當樣本 xxx 中每個元素值添加的擾動值 η\etaη 小于樣本輸入特征精度時,分類器無法將樣本 xxx 和對抗樣本 x~=x+η\tilde{\boldsymbol{x}}=\boldsymbol{x}+\boldsymbol{\eta}x~=x+η 區(qū)分開。因此,對一個區(qū)分良好的類別而言,如果 ?\epsilon? 是一個足夠小以至于被舍棄掉的值,那么只要 ∥η∥∞<?\|\eta\|_{\infty}<\epsilon∥η∥∞?<?,分類器就會將 xxx 和 x~\tilde{x}x~ 分為同一個類。
思考一下權(quán)重向量 www 和對抗樣本 x~\tilde{x}x~ 的點積(dot product):
w?x~=w?(x+η)=w?x+w?ηw^{\top} \tilde{x}=w^{\top}(x+\eta)=w^{\top} x+w^{\top} \eta w?x~=w?(x+η)=w?x+w?η
對抗性干擾導致 activation 增加了 w?ηw^{\top} \etaw?η,本文指出可以使用最大范數(shù)約束(maxnorm constraint)將 η\etaη 賦值為 η=sign?(w)\eta=\operatorname{sign}(\boldsymbol{w})η=sign(w) 從而使 w?η\boldsymbol{w}^{\top} \boldsymbol{\eta}w?η 最大化。如果 www 有 nnn 維且元素均值為 mmm,那么 activation 將增加 ?mn\epsilon mn?mn,雖然 ∥η∥∞\|\eta\|_{\infty}∥η∥∞? 不會隨著維度改變,但是由 η\etaη 導致的 activation 的增加量 ?mn\epsilon mn?mn 會隨著維度 nnn 線性增長。那么對于一個高維度的問題,一個樣本中大量維度的無限小的干擾加在一起就可以對輸出造成很大的變化。這說明如果具有足夠高的維度,即使是一個簡單的線性模型也具有對抗樣本易損性。
非線性模型的線性擾動
我們認為神經(jīng)網(wǎng)絡(luò)過于線性以至于不能抵抗對抗樣本的干擾,而這種觀點引出了一種生成對抗樣本的快速方法,即 Fast Gradient Sign Method (FGSM) 方法。
讓 θ\thetaθ 作為模型的參數(shù),xxx 作為模型的輸入,yyy 是模型對應(yīng)的 label 值,J(θ,x,y)J(\theta,x,y)J(θ,x,y) 是訓練神經(jīng)網(wǎng)絡(luò)的損失函數(shù),對某個特定的模型參數(shù) θ\thetaθ 而言,FGSM方法將損失函數(shù)近似線性化,從而獲得保證無窮范數(shù)限制的最優(yōu)的擾動 ∥η∥∞<?\|\eta\|_{\infty}<\epsilon∥η∥∞?<?,可以使用反向傳播有效地計算所需的梯度。擾動值具體為:
η=?sign?(?xJ(θ,x,y))\boldsymbol{\eta}=\epsilon \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J(\boldsymbol{\theta}, \boldsymbol{x}, y)\right) η=?sign(?x?J(θ,x,y))
實驗表明,FGSM 這種簡單的算法確實可以產(chǎn)生誤分類的對抗樣本,從而證明了作者假設(shè)的對抗樣本的產(chǎn)生原因是由于模型的線性特性。同時,這種算法也可作為一種加速對抗訓練的方法。
線性模型與權(quán)重衰減的對抗訓練
通過對最簡單的邏輯回歸(logistic regression)模型上應(yīng)用 FGSM 方法,理解如何在簡單的設(shè)置中生成對抗樣本。
如果我們訓練了一個單一模型來對 P(y=1)=σ(w?x+b)P(y=1)=\sigma\left(\boldsymbol{w}^{\top} \boldsymbol{x}+b\right)P(y=1)=σ(w?x+b) 區(qū)分標簽 y∈{?1,1}y \in\{-1,1\}y∈{?1,1},其中 σ(z)\sigma(z)σ(z) 是 logistic sigmoid 函數(shù) σ(z)=11+e?z\sigma(z)=\frac{1}{1+e^{-z}}σ(z)=1+e?z1?,使用梯度下降訓練的損失函數(shù)為:
Ex,y~pdata?ζ(?y(w?x+b))\mathbb{E}_{\boldsymbol{x}, y \sim p_{\text { data }}} \zeta\left(-y\left(\boldsymbol{w}^{\top} \boldsymbol{x}+b\right)\right) Ex,y~p?data???ζ(?y(w?x+b))
其中 ζ(z)\zeta(z)ζ(z) 為 softplus 函數(shù) ζ(z)=log(1+ez)\zeta(z)=log(1+e^z)ζ(z)=log(1+ez)。
對該模型使用 FGSM 方法,擾動量 η\etaη 為:
KaTeX parse error: \cr valid only within a tabular/array environment
并且:
w?sign?(w)=∥w∥1\boldsymbol{w}^{\top} \operatorname{sign}(\boldsymbol{w})=\|\boldsymbol{w}\|_{1} w?sign(w)=∥w∥1?
因此邏輯回歸模型的對抗形式為最小化下列損失函數(shù):
Ex,y~pdataζ(?y(w?x~+b))=?x~=x+η,η=??sign?(w)Ex,y~pdata?ζ(y(?∣∣w∣∣1?w?x?b))E_{x, y \sim p_{\text {data}}} \zeta\left(-y\left(w^{\top} \tilde{x}+b\right)\right) \underbrace{=}_{\tilde{x}=x+\eta, \eta=\epsilon-\operatorname{sign}(w)} E_{x, y \sim p_{\text { data }}} \zeta\left(y\left(\epsilon| | w| |_{1}-w^{\top} x-b\right)\right) Ex,y~pdata??ζ(?y(w?x~+b))x~=x+η,η=??sign(w)=??Ex,y~p?data???ζ(y(?∣∣w∣∣1??w?x?b))
這就跟 L1L^1L1 正則化類似,但不同的是對抗形式是在訓練過程中減去 L1L^1L1 懲罰項,而不是加上 L1L^1L1 懲罰項。也就是說如果模型學會了以足夠高的置信度做出 ζ\zetaζ 飽和的預測,那么懲罰項最終會消失。 這不一 定會發(fā)生,因為在欠擬合的場景下,對抗性訓練只會加劇欠擬合。
深度網(wǎng)絡(luò)的對抗訓練
人們通常誤以為深度學習的方法更容易受到對抗攻擊,但是實際上跟淺層線性模型相比,深度網(wǎng)絡(luò)至少可以在訓練網(wǎng)絡(luò)過程中抵御對抗擾動攻擊。因為只有深度學習有能力去擬合一個非線性模型,而這是淺層模型所無法處理的。The universal approximator theorem 表明,只要隱藏層擁有足夠多的的神經(jīng)元,具有至少一個隱藏層的神經(jīng)網(wǎng)絡(luò)可以表示任意精度的任何函數(shù),因此深度學習能夠?qū)W習到一個函數(shù)能夠抵御對抗攻擊而其他淺層模型不行。淺層模型不能做到說在不同輸入給出不同輸出的同時還要給臨近的輸入得到相同的輸出。當然了,也沒有理論證明算法是否能發(fā)現(xiàn)一個能夠完全符合我們期望的函數(shù),就像標準的有監(jiān)督訓練并不能保證能夠?qū)W習到能夠抵御對抗樣本的函數(shù),這個過程需要顯式的在訓練過程體現(xiàn)。
對抗樣本的訓練與其他數(shù)據(jù)擴充方案有些不同,通常,人們通過轉(zhuǎn)換來擴充數(shù)據(jù),例如預期在測試集中實際發(fā)生的轉(zhuǎn)換,而對抗樣本的擴充需要轉(zhuǎn)換為自然情況下不太可能出現(xiàn)的輸入,從而暴露出模型的缺陷。這種情況下,dropout 并不能在前沿基準中做出提升,這在一定程度上也是因為基于 L-BFGS 的對抗性例子成本太高,很難廣泛地進行實驗。
本文提出了一種利用 FGSM 進行對抗訓練的方法,目標函數(shù)為:
J~(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?xJ(θ,x,y))\tilde{J}(\theta,x,y)=\alpha J(\theta,x,y)+(1-\alpha)J(\theta,x+\epsilon sign(\nabla{x}J(\theta,x,y)) J~(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?xJ(θ,x,y))
本文的實驗中用的 α\alphaα 值為 0.5,這種對抗訓練的方法意味著在訓練過程中不斷更新對抗樣本,從而使得當前模型可以抵御對抗樣本。
但是作者表示在訓練集上對抗訓練的錯誤率error rate沒有達到過0%,作者主要從以下兩個方面解決:
- 增大模型,即使用1600個unit代替240個unit
- 在對抗訓練中,驗證集錯誤率會隨著時間逐漸平穩(wěn),但是雖然驗證集錯誤率比較小,但是對抗驗證錯誤率并不小,因此在對抗驗證錯誤率 adversarial validation set error 上也使用early stopping算法
文章表明,在不進行對抗訓練的情況下,模型識別 FGSM 攻擊方法生成樣本的錯誤率是89.4%,但是通過對抗訓練,同樣的模型識別對抗樣本的錯誤率下降到17.9%。然而,當模型對對抗樣本誤分類的時候,置信度依然很高,平均置信度為81.4%。本文還發(fā)現(xiàn),學習模型的權(quán)重發(fā)生了顯著的變化,而對抗訓練模型的權(quán)重具有顯著的本地化和可解釋性。
對抗性訓練過程可以被看作是在數(shù)據(jù)受到對抗干擾時最小化 worst-case 錯誤率,這可以被解釋為進行了一場對抗游戲,或者是最小化把 U(??,?)U(-\epsilon,\epsilon)U(??,?) 加入輸入時的噪聲樣本上的損失上界。對抗訓練也可以被認為是一種主動學習 (active learning) 的形式,這種情況下,模型可以在新的點上請求標簽,人工標簽機 (human labeler)被一個啟發(fā)式的標簽機(heuristic labeler)所取代,該標簽機從附近的點復制標簽。
對抗樣本泛化原因
很多論文都表明對抗樣本具有Transferability。具體來說,在一個特定模型上產(chǎn)生的對抗樣本通常也容易被其他模型誤分類,即使這些模型的結(jié)構(gòu)不同或者模型在不同的訓練集上訓練。甚至,不同的模型對對抗樣本誤分類的結(jié)果相同!這種泛化特征意味著如果有人希望對模型進行惡意攻擊,攻擊者根本不必訪問需要攻擊的目標模型,就可以通過訓練自己的模型來產(chǎn)生對抗樣本,然后將這些對抗樣本部署到他們需要攻擊的模型中。作者表明,非線性或者過擬合的假設(shè)不能解釋為何擁有無限能力的極度非線性模型會以相同的方式標注數(shù)據(jù)分布點。
在本文提出的線性解釋下,作者認為對抗樣本在廣泛的子空間存在。
上圖表明,在不同的 ?\epsilon? 下,可以看到FGSM可以在一維的連續(xù)子空間內(nèi)產(chǎn)生對抗樣本,而不是特定的區(qū)域。這就解釋了為什么對抗樣本特別多,以及為什么對抗樣本transferability存在。
另外,為了解釋為什么不同的分類器將對抗樣本誤分類到同一個類,作者假設(shè)目前的方法訓練神經(jīng)網(wǎng)絡(luò)都類似于在同一個訓練集上學習的線性分類器。由于機器學習算法的泛化能力,所以線性分類器可以在訓練集的不同子集上訓練出大致相同的分類權(quán)重。底層分類權(quán)重的穩(wěn)定性反過來又會導致對抗樣本中的穩(wěn)定性。
對抗樣本存在性的其他假設(shè)
作者通過實驗及分析,反駁了其他兩種對抗樣本存在性的假設(shè)。
假設(shè)1:生成訓練可以在訓練過程中提供更多的限制,或者是的模型學習如何分辨"real"或者"fake"的數(shù)據(jù),并且對"real"的數(shù)據(jù)置信度更高。
文章表明,某些生成訓練并不能達到假設(shè)的效果,但是不否認可能有其他形式的生成模型可以抵御攻擊,但是確定的是生成訓練的本身并不足夠。
假設(shè)2:對抗樣本存在于單個奇怪的模型(models with strange quirks),因此多個模型的平均可以使得模型防御性更好。
文章通過實驗說明,模型融合對于對抗樣本的防御能力非常有限。
總結(jié)
以上是生活随笔為你收集整理的EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES 论文笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java九宫格游戏实践
- 下一篇: uap 自动生成场景代码