首先,我們看一下這個論文的内容:這篇文章由Goodfellow等人發表在ICLR'2015會議上,是對抗樣本領域的經典論文。這篇文章主要提出與之前論文不同的線性假設來解釋對抗樣本的存在性。同時,論文提出了一種簡單的對抗樣本生成方法——FGSM,并且再利用該攻擊方法産生的對抗樣本進行對抗訓練。總得來說,這篇文章主要說明的對抗樣本的三個方面:1.存在性、2.攻擊方法、3.防禦方法。
簡介
目前機器學習已經被廣泛應用在日常生活各個領域,但是Szegedy等人于2014年首先發現目前的機器學習模型包括神經網絡等模型容易受到對抗樣本(Adversarial Examples)的攻擊。所謂對抗樣本,即攻擊者通過輕微地擾動正常樣本産生對抗樣本,在且保證該攻擊不影響人眼的識别的情況下,達到誤導分類器的目的。在目前的研究中,對抗樣本的原因産生的原因仍是一個謎。之前很多假設推測對抗樣本的産生是因為深度神經網絡的極度非線性,可能還結合了監督學習中正則化和模型均化不足等原因。但是本文的作者認為,這種非線性(Nonlinear)的推測解釋沒有必要,高維空間的線性(Linear Behavior)足夠産生對抗樣本。根據這個觀點,作者設計了一種新的快速産生對抗樣本的方法,并且使得對抗學習(Adversarial Training)更實用。這種對抗學習方法提供除了傳統正則化方法(dropout, pre-training, model averaging等)外另外一種"正則化方法"。
對抗樣本的線性解釋
論文介紹了對抗樣本存在的線性解釋。
因為樣本輸入特征(input feature)的精度有限(一般圖像的每個像素是8bits, 樣本中所有低于1/255的資訊都會被丢棄),是以當樣本

中每個元素值添加的擾動值
小于樣本輸入特征精度時,分類器無法将樣本

和對抗樣本
區分開。也就是對一個分類良好的分類器而言,如果
是一個足夠小以至于被舍棄掉的值,那麼隻要
,分類器将認為

和
屬于同一個類。下面考慮權重向量
和對抗樣本
的點積為
。可以看出,對抗擾動使得activation增加了
,作者提出讓
進而使
最大化。假設權重向量
有
個次元,且權重向量中元素的平均量值是
,那麼activation将增加
。雖然
不會随着次元
的變化而變化,但是由
導緻的activation的增加量
會随着次元
線性增長。那麼對于一個高次元的問題,一個樣本中大量次元的無限小的幹擾加在一起就可以對輸出造成很大的變化。是以對抗樣本的線性解釋表明,對線性模型而言,如果其輸入樣本有足夠大的次元,那麼線性模型也容易受到對抗樣本的攻擊。
非線性模型的線性擾動
作者利用對抗樣本的線性解釋提出了一個快速産生對抗樣本的方式,也即Fast Gradient Sign Method(FGSM)方法。
假設模型的參數值為
,模型的輸入是

,
是模型對應的label值,
是訓練神經網絡的損失函數。對某個特定的模型參數
而言,FGSM方法将損失函數近似線性化,進而獲得保證無窮範數限制的最優的擾動(即
),擾動值具體為:
圖1 FGSM攻擊算法在ImageNet資料上的展示[1]
實驗表明,FGSM這種簡單的算法确實可以産生誤分類的對抗樣本,進而證明了作者假設的對抗樣本的産生原因是由于模型的線性特性。同時,這種算法也可作為一種加速對抗訓練的方法。
線性模型的對抗訓練
考慮在最簡單的邏輯回歸(Logistics Regression)模型上應用FGSM方法,進而了解在一個簡單的設定中如何生成對抗樣本。
除了生成對抗樣本來攻擊神經網絡以外,對抗訓練神經網絡進而有效防止對抗樣本的攻擊也是一個值得考慮的問題。
我們先考慮最簡單的邏輯回歸模型:如果我們訓練一個簡單的模型來識别标記 y∈{−1,+1},并且
注意這裡與文中相同,選擇的标記為{−1,+1}并不是我們平時常用的{0,1},我們可以簡單推導一下該情況下的損失函數:
我們對x求梯度可以得到 :
是以通過FGSM得到的對抗樣本為
,對于對抗樣本的損失函數,有:
對于學到足夠的置信度的模型來說,即−y(wTx+b)足夠小時,ϵ||w||1幾乎不起作用。而對于欠拟合的模型來說,則會使得模型更加欠拟合。(還是剛剛那個原因,高維情況下很小的擾動都會使得内積産生很大的變化,而對于L1範數的變化卻是極小的,是以很容易就忽略了||w||1)。
進一步的,作者基于FGSM生成的對抗樣本提出了一個高效的對抗訓練方法:
這看起來似乎和将對抗樣本和原始樣本同時放入訓練類似,不過作者的實驗表明該方法還是有效的降低了欺騙成功率。
對于為什麼會有如此大量的對抗樣本,Goodfellow的解釋是,隻要選擇的擾動方向正确,并且有足夠大的ϵ,則産生的擾動就足夠大,就會改變原先的樣本标記。我們可以跟蹤不同的 ϵ值,可以發現對抗樣本出現在不同的連續區域。這就解釋了為什麼對抗性的例子非常豐富,為什麼一個分類器錯誤分類的例子具有相當高的被另一個分類器錯誤分類的可能性。
為了解釋為什麼多個分類器将同一個類配置設定給敵對的例子,作者假設用目前方法訓練的神經網絡都類似于在相同訓練集上學習的線性分類器。分類器在訓練集的不同子集上訓練時能夠學習大緻相同的分類權重,這僅僅是因為機器學習算法具有泛化能力。但是基礎分類權重的穩定性反過來又會導緻對抗性例子的穩定性。
上圖表明,在不同的
下,可以看到FGSM可以在一維的連續子空間内産生對抗樣本,而不是特定的區域。這就解釋了為什麼對抗樣本特别多,以及對抗樣本transferability存在的原因。另外,為了解釋為什麼不同的分類器将對抗樣本誤分類到同一個類,作者假設目前的方法訓練神經網絡都類似于在同一個訓練集上學習的線性分類器。由于機器學習算法的泛化能力,是以線性分類器可以在訓練集的不同子集上訓練出大緻相同的分類權重。底層分類權重的穩定性反過來又會導緻對抗樣本中的穩定性。
該方法在[Adversarial Machine Learning at Scale]這篇文章中進行了一些改進,将one-shot變成了疊代的方式求解;并且将增大原類别标記的損失函數改成減小目标類别标記的損失函數。即:
其中α是疊代步長。這樣增加了FGSM的攻擊成功率,稱為BIM方法。
對抗樣本存在性的其他假設
這一部分,作者通過實驗及分析,反駁了其他兩種對抗樣本存在性的假設。
假設1:生成訓練可以在訓練過程中提供更多的限制,或者是的模型學習如何分辨"real"或者"fake"的資料,并且對"real"的資料更加自信。
文章表明,某些生成訓練并不能達到假設的效果,但是不否認可能有其他形式的生成模型可以抵禦攻擊,但是确定的是生成訓練的本身并不足夠。
假設2:對抗樣本存在于單個奇怪的模型(models with strange quirks),是以多個模型的平均可以使得模型防禦性更好。
文章通過實驗說明,模型融合對于對抗樣本的防禦能力非常有限。
轉載:https://blog.csdn.net/kearney1995/article/details/79638389
https://zhuanlan.zhihu.com/p/32784766