概
利用Jacobian矩陣構造adversarial samples,計算量比較大.
主要內容
目標:
簡而言之, 在原圖像\(X\)上加一個擾動\(\delta_X\), 使得\(F\)關於\(X+\delta_X\)的預測為\(Y^*\)而非\(Y\).
若\(Y \in \mathbb{R}^M\)是一個\(M\)維的向量, 類別由下式確定
\(F(X)=Y\)關於\(X\)的Jacobian矩陣為
注意, 這里作者把\(X\)看成一個\(N\)維向量(只是為了便於理解).
因為我們的目的是添加擾動\(\delta_X\), 使得\(X+\delta_X\)的標簽為我們指定的\(t\), 即我們希望
作者希望改動部分元素, 即\(\|\delta_X\|_0\le \Upsilon\), 作者是構造了一個saliency_map來選擇合適的\(i\), 並在其上進行改動, 具體算法如下:
saliency_map的構造之一是:
可以很直觀的去理解, 改變標簽, 自然希望\(F_t(X)\)增大, 其余部分減少, 故 \(\frac{\partial{F_t(X)}}{\partial X_i} <0 \:or \: \sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i} >0\)所對應的\(X_i\)自然是不重要的, 其余的是重要的, 其重要性用\(\frac{\partial{F_t(X)}}{\partial X_i} |\sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i}|\)來表示.
alg2, alg3
作者順便提出了一個更加具體的算法, 應用於Mnist, max_iter 中的\(784\)即為圖片的大小\(28 \times 28\), \(\Upsilon=50\), 相當於圖片中\(50\%\)的像素發生了改變, 且這里采用了一種新的saliency_map, 其實質為尋找倆個指標\(p,q\)使得:
其實際的操作流程根據算法3. \(\theta\)是每次改變元素的量.
一些有趣的實驗指標
Hardness measure
其中\(\epsilon(s,t,\tau)\)中, \(s\):圖片標簽, \(t\):目標標簽, \(\tau\):成功率, \(\epsilon\)為改變像素點的比例. (12)是(11)的一個梯形估計, \(\tau_k\)由選取不同的\(\Upsilon_k\)來確定, \(H(s, t)\)越大說明將類別s改變為t的難度越大.
Adversarial distance
\(A(X,t)\)越大, 說明將圖片\(X\)的標簽變換至\(t\)的難度越大, 而一個模型的穩定性可以用下式衡量