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的目的:
Δ(x;k^):=rmin∥r∥2subjecttok^(x+r)=k^(x),(1)
其中k^(x)为对x的标签的一个估计.
二分类模型
当模型是一个二分类模型时,
k^(x)=sign(f(x)),
其中f:Rn→R为分类器, 并记F:={x:f(x)=0}为分类边界.
f为线性
即f(x)=wTx+b:

假设x0在f(x)>0一侧, 则
r∗(x0)=−∥w∥22f(x0)w.
f为一般二分类
此时, 我们f的一阶近似为
f(x0+r)≈f(x0)+∇Tf(x0)r,
此时分类边界为F={x:f(x0)+∇Tf(x0)(x−x0)=0},此时w=∇f(x0),b=f(x0), 故
r∗(x0)≈−∥∇f(x0)∥22f(x0)∇f(x0).(4)
所以, 每次
ri=−∥∇f(xi)∥22f(xi)∇f(xi),xi+1=xi+ri,
直到k^(xi)=k^(x0)是停止, 算法如下

多分类问题
f:Rn→Rc, 此时
k^(x)=argkmaxfk(x).(5)
f仿射
即f(x)=WTx+b, 设W的第k行为wk,
P=∩k=1c{x:fk^(x0)(x)≥fk(x)},(7)
为判定为k^(x0)的区域, 则x+r应落在Pc, 而
Δ(x0;f)=dist(x0,Pc).
当f为仿射的时候, 实际上就是找x0到各分类边界(与x0有关的)最短距离,
l^(x0)=argk=k^(x0)min∥wk−wk^(x0)∥2∣fk(x0)−fk^(x0)(x0)∣,(8)
则
r∗(x0)=∥wl^(x0)−wk^(x0)∥22∣fl^(x0)(x0)−fk^(x0)(x0)∣(wl^(x0)−wk^(x0)),(9)
f为一般多分类
P~i=∩k=1c{x:fk^(x0)(xi)+∇Tfk^(x0)(xi)(x−xi)≥fk(xi)+∇Tfk(xi)(x−xi)},(10)
则
ri(xi)=∥∇fl^(xi)(xi)−∇fk^(x0)(xi)∥22∣fl^(xi)(xi)−fk^(x0)(xi)∣(∇fl^(xi)(xi)−∇fk^(x0)(xi)).

lp
p∈(1,∞)的时候
考虑如下的问题
mins.t.∥r∥ppwT(x+r)+b=0,
利用拉格朗日乘子
rmin∥r∥pp+c(wT(x+r)+b),
由KKT条件可知(这里的rk表示第k个元素)
p∣rk∣p−1=ckwk,
注: 这里有一个符号的问题, 但是可以把符号放入ck中进而不考虑,
故
r∗=c⊙wq−1,
其中q=p−1p为共轭指数, 并c=[c1,…]T,且∣ci∣=∣cj∣, 记wq−1=[∣w1∣q−1,…]T,又
wT(x+c⊙wq−1)+b=0,
故
∣c∣=∥w∥qq∣wTx+b∣,
故
r∗=−∥w∥qqwTx+bwq−1⊙sign(w).
p=1, 设w的绝对值最大的元素为wm, 则
r∗=−wmwTx+b1m,
1m为第m个元素为1, 其余元素均为0的向量.
p=∞,
r∗=−∥w∥1∣wTx+b∣sign(w).
故:
p∈[1,∞):

p=∞:

注: 因为, 仅仅到达边界并不足够, 往往希望更进一步, 所以在最后(?)x=x+(1+η)r, 文中取η=0.02.