** 2017iclr-adversarial examples in the physical world.
相對於fgsm的單步攻擊,i-fgsm分多步新增雜訊,更能擬合模型引數,因此通常表現出比fgsm更強的白盒能力。
fgsm裡面,每次尋找對抗樣本的時候,直接是x+ϵ
∗sig
n(∇x
j(x,
y))x+\epsilon*sign(∇_xj(x,y))
x+ϵ∗si
gn(∇
xj(
x,y)
),這樣是把每個畫素點都變化了ϵ
\epsilon
ϵ 這麼大。這個改動其實是挺大,因為每個畫素點都動了。
fgsm提出的理論假設:假設目標損失函式j(x
,y)j(x,y)
j(x,y)
與x
xx之間是近似線性的,即j(x
,y)≈
wtxj(x,y)≈w^tx
j(x,y)
≈wtx
,然後我們想往x
xx加上乙個小的擾動η
\eta
η,使得j(x
,y)j(x,y)
j(x,y)
變化最大。而j(x
+η,y
)−j(
x,y)
≈wtη
j(x+\eta,y)−j(x,y)≈w^t\eta
j(x+η,
y)−j
(x,y
)≈wt
η,要使最大,最好是直接η=ϵ
∗sig
n(∇x
j(x,
y))\eta=\epsilon*sign(∇_xj(x,y))
η=ϵ∗si
gn(∇
xj(
x,y)
)。然而,這個線性假設不一定正確,如果j
jj和x
xx不是線性的,那麼在(0,
ϵ∗si
gn(∇
xj(x
,y))
)(0,\epsilon*sign(∇_xj(x,y)))
(0,ϵ∗s
ign(
∇xj
(x,y
)))之間是否存在某個擾動,使得j
jj增加的也很大,此時x
xx的修改量就可以小於ϵ
\epsilon
ϵ。於是,作者就提出迭代的方式來找各個畫素點的擾動,而不是一次性所有畫素都改那麼多,即迭代式的fgsm,也就是i-fgsm(iterative fgsm)或bim(basic iterative method)。公式如下:
迭代的含義:每次在上一步的對抗樣本的基礎上,各個畫素增長α
\alpha
α(或者減少),然後再執行裁剪,保證新樣本的各個畫素都在x
xx的ϵ
\epsilon
ϵ 鄰域內。這種迭代的方法是有可能在各個畫素變化小於ϵ
\epsilon
ϵ 的情況下找到對抗樣本的,如果找不到,最差的效果就跟原始的fgsm一樣。
裁剪(clip):在迭代更新過程中,隨著迭代次數的增加,樣本的部分畫素值可能會溢位,比如超出0到1的範圍,這時需將這些值用0或1代替,最後才能生成有效的影象。該過程確保了新樣本的各個畫素在原樣本各畫素的某一領域內,不至於影象失真。
該演算法是i-fgsm的難度公升級版,將輸入影象分類成原本最不可能分到的類別,公式如下所示。原本no-targeted attacks只需要讓模型分類錯誤就算攻擊成功,而現在需要模型將攻擊影象分類成原本分類概率極低的類別,難度可想而知。當然,這部分內容其實是有targeted attacks的雛形,因為可以指定攻擊類別。從公式中可以看到和前面無目標攻擊公式的最大區別在於α
\alpha
α前面的加號變成減號,同時原本的真實標籤ytr
uey_yt
rue
變成y ll
y_yl
l,這2個修改使得模型優化的目標是最終對應類別為yll
y_yl
l的分類概率越來越大,這和常規的分類模型訓練類似,只不過監督資訊並不是真實標籤,而是指定的乙個標籤。
這個y ll
y_yl
l是原輸入影象在分類模型中分類概率最小的類別,可以通過如下式子計算得到:
當ϵ
\epsilon
ϵ比較小的,i-fgsm的攻擊效果比原始的fgsm好,而且ilcm的攻擊效果最好,從上也能看出ilcm的改動是最小的。
以往在機器學習的對抗樣本研究都是直接在影象本身上研究的。生成的對抗樣本通過直接呼叫api輸入到dnn中。然而,在現實中,影象都是基於感光裝置採集的。在其生成影象時,由於光線的影響、攝像頭位置的影響等等,使得引入雜訊,造成攻擊者千方百計在影象中新增的微小干擾被破壞掉。
作者直接對對抗進行拍照,讓模型對拍照結果進行分類,觀察被照相機拍照後是否還具有對抗效果。
實驗步驟:
實驗結果:
作者把這種感光裝置採集影象中引入雜訊的過程叫做 photo transformation,然後這些transformation又可以看作是改變光照、模糊、加入雜訊的這些子變化的合成,並做實驗量化這些transformation的影響。
從表中可以看到,photo transformation對對抗樣本的對抗性有一定的損失作用。其中fgsm的影響相對比較小,因為fgsm改動大。而對i-fgsm的影響比較大,這是因為它們的擾動值更小,比較容易被破壞。
對抗樣本生成演算法之C W演算法
c w演算法原理 2017oakland towards evaluating the robustness of neural networks.之前有人提出蒸餾網路,說是可以為目標網路模型提供很強的魯棒性,能夠把已出現的攻擊的成功率從95 銳減到0.5 作者提出了新的攻擊方法,成功攻擊了蒸餾網路...
對抗樣本生成的PGD和C W方法
projected.gradient algorithm 先記錄幾個常見的單詞 convex set 凸集convergence rate 收斂速率 convex 凸函式interpretation 理解l0範數是指向量中非0的元素的個數。l0範數很難優化求解 l1範數是指向量中各個元素絕對值之和 ...
CART生成演算法
輸入 訓練資料集 d 停止計算的條件 輸出 cart 決策樹。根據訓練資料集,從根結點開始,遞迴地對每個結點進行以下操作,構造二叉決策樹 1 設結點的訓練資料集為 d 計算現有特徵對該資料集的基尼指數。此時,對每乙個特徵 a,對其可能取得每個值 a 根據樣本點對 a a的測試為 是 或 否 將 d ...