DeepFool: a simple and accurate method to fool deep neural networks


Moosavidezfooli S, Fawzi A, Frossard P, et al. DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks[C]. computer vision and pattern recognition, 2016: 2574-2582.

@article{moosavidezfooli2016deepfool:,
title={DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks},
author={Moosavidezfooli, Seyedmohsen and Fawzi, Alhussein and Frossard, Pascal},
pages={2574--2582},
year={2016}}

本文從幾何角度介紹了一種簡單而有效的方法.

主要內容

adversarial的目的:

\[\tag{1} \Delta(x;\hat{k}):= \min_{r} \|r\|_2 \: \mathrm{subject} \: \mathrm{to} \: \hat{k}(x+r) \not = \hat{k}(x), \]

其中\(\hat{k}(x)\)為對\(x\)的標簽的一個估計.

二分類模型

當模型是一個二分類模型時,

\[\hat{k}(x) = \mathrm{sign}(f(x)), \]

其中\(f:\mathbb{R}^n \rightarrow \mathbb{R}\)為分類器, 並記\(\mathcal{F}:= \{x: f(x)=0\}\)為分類邊界.

\(f\)為線性

\(f(x)=w^Tx+b\):
在這里插入圖片描述
假設\(x_0\)\(f(x)>0\)一側, 則

\[r_*(x_0)= -\frac{f(x_0)}{\|w\|_2^2}w. \]

\(f\)為一般二分類

此時, 我們\(f\)的一階近似為

\[f(x_0+r)\approx f(x_0)+\nabla^T f(x_0) r, \]

此時分類邊界為\(\mathcal{F} =\{x:f(x_0)+\nabla^T f(x_0) (x-x_0)=0\}\),此時\(w=\nabla f(x_0),b=f(x_0),\)

\[\tag{4} r_*(x_0) \approx -\frac{f(x_0)}{\|\nabla f(x_0)\|_2^2} \nabla f(x_0). \]

所以, 每次

\[r_i = -\frac{f(x_i)}{\|\nabla f(x_i)\|_2^2} \nabla f(x_i), \\ x_{i+1} = x_i+r_i, \]

直到\(\hat{k}(x_i) \not= \hat{k}(x_0)\)是停止, 算法如下
在這里插入圖片描述

多分類問題

\(f:\mathbb{R}^n \rightarrow \mathbb{R}^c\), 此時

\[\tag{5} \hat{k}(x) = \arg \max_k f_k(x). \]

\(f\)仿射

\(f(x) = W^Tx + b\), 設\(W\)的第\(k\)行為\(w_k\),

\[\tag{7} P=\cap_{k=1}^c \{x: f_{\hat{k}(x_0)}(x) \ge f_k(x)\}, \]

為判定為\(\hat{k}(x_0)\)的區域, 則\(x+r\)應落在\(P^{c}\), 而

\[\Delta (x_0;f)= \mathbf{dist} (x_0, P^c). \]

\(f\)為仿射的時候, 實際上就是找\(x_0\)到各分類邊界(與\(x_0\)有關的)最短距離,

\[\tag{8} \hat{l}(x_0) = \arg \min _{k \not = \hat{k}(x_0)} \frac{|f_k(x_0) - f_{\hat{k}(x_0)}(x_0)|}{\|w_k-w_{\hat{k}(x_0)}\|_2}, \]

\[\tag{9} r_*(x_0)= \frac{|f_{\hat{l}(x_0)}(x_0) - f_{\hat{k}(x_0)}(x_0)|}{\|w_{\hat{l}(x_0)}-w_{\hat{k}(x_0)}\|_2^2}(w_{\hat{l}(x_0)}-w_{\hat{k}(x_0)}), \]

\(f\)為一般多分類

\[\tag{10} \tilde{P}_i=\cap_{k=1}^c \{x: f_{\hat{k}(x_0)}(x_i) + \nabla^T f_{\hat{k}(x_0)}(x_i) (x-x_i)\ge f_k(x_i) + \nabla^Tf_k(x_i)(x-x_i)\}, \]

\[r_i(x_i)=\frac{|f_{\hat{l}(x_i)}(x_i) - f_{\hat{k}(x_0)}(x_i)|}{\|\nabla f_{\hat{l}(x_i)}(x_i) - \nabla f_{\hat{k}(x_0)}(x_i)\|_2^2}(\nabla f_{\hat{l}(x_i)}(x_i) - \nabla f_{\hat{k}(x_0)}(x_i)). \]

在這里插入圖片描述

\(l_p\)

\(p \in (1, \infty)\)的時候
考慮如下的問題

\[\begin{array}{ll} \min & \|r\|_p^p \\ \mathrm{s.t.} & w^T(x+r)+b=0, \end{array} \]

利用拉格朗日乘子

\[\min_r \: \|r\|_p^p + c(w^T(x+r)+b), \]

由KKT條件可知(這里的\(r_k\)表示第\(k\)個元素)

\[p\: |r_k|^{p-1} = c_kw_k, \]

注: 這里有一個符號的問題, 但是可以把符號放入\(c_k\)中進而不考慮,

\[r_*= c \odot w^{q-1}, \]

其中\(q=\frac{p}{p-1}\)為共軛指數, 並\(c=[c_1,\ldots]^T\),且\(|c_i|=|c_j|,\)\(w^{q-1}=[|w_1|^{q-1},\ldots]^T\),又

\[w^T(x+c\odot w^{q-1})+b=0, \]

\[|c|=\frac{|w^Tx+b|}{\|w\|_q^q} , \]

\[r_*=-\frac{w^Tx+b}{\|w\|_q^q} w^{q-1} \odot \mathrm{sign}(w). \]

\(p=1\), 設\(w\)的絕對值最大的元素為\(w_{m}\), 則

\[r_*=-\frac{w^Tx+b}{w_m} \mathrm{1}_m, \]

\(\mathrm{1}_m\)為第\(m\)個元素為1, 其余元素均為0的向量.
\(p=\infty\),

\[r_*=-\frac{|w^Tx+b|}{\|w\|_1} \mathrm{sign} (w). \]

故:

\(p \in [1, \infty)\):

在這里插入圖片描述
\(p=\infty\):
在這里插入圖片描述

注: 因為, 僅僅到達邊界並不足夠, 往往希望更進一步, 所以在最后(?)\(x=x+ (1+\eta) r\), 文中取\(\eta=0.02\).


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM