Adversarial Transformation Networks: Learning to Generate Adversarial Examples
在现有的许多方法中,利用梯度信息进行攻击的方法占绝大多数,本文另辟蹊径,提出了另一种方法:训练一个深度网络,将原图作为输入,输出为对抗样本。
其优化目标为:
arg
min
θ
∑
X
i
∈
χ
β
L
χ
(
g
f
,
θ
(
X
i
)
,
X
i
)
+
L
Y
(
f
(
g
f
,
θ
(
X
i
)
)
,
f
(
X
i
)
)
\mathop{\arg\min}\limits_{\theta} \sum_{X_i \in \chi} {\beta L_{\chi}(g_{f,\theta}(X_i),X_i)+L_{Y}(f(g_{f,\theta}(X_i)),f(X_i))}
θargminXi∈χ∑βLχ(gf,θ(Xi),Xi)+LY(f(gf,θ(Xi)),f(Xi))
其中
f
(
X
)
f(X)
f(X)是训练好用于分类的网络,也就是我们要攻击的网络。
g
f
,
θ
(
X
)
g_{f,\theta}(X)
gf,θ(X)就是我们需要产生的深度网络,输入原图像
X
X
X,输出对抗图像
X
′
X'
X′
g
f
,
θ
(
X
)
:
X
∈
χ
→
X
′
g_{f,\theta}(X): X \in \chi \rightarrow X'
gf,θ(X):X∈χ→X′
L
χ
L_{\chi}
Lχ是一个损失函数,文中为
L
2
L
o
s
s
L_2 \ Loss
L2 Loss,
β
\beta
β是比例系数,
L
Y
,
t
(
y
′
,
y
)
L_{Y,t}(y', y)
LY,t(y′,y)定义为
L
Y
,
t
=
L
2
(
y
′
,
r
(
y
,
t
)
)
L_{Y,t} = L_2(y', r(y, t))
LY,t=L2(y′,r(y,t))
其中r(y,t)
是reranking公式,其表达式为
其作用就是把输出的每一类的得分进行修改,对于我们想要网络误判我们的对抗样本为某个类
t
t
t,就把其在原网络中的得分乘以一个倍数,且
α
>
1
\alpha > 1
α>1,而其他类的得分保持不变。因此该目标其实是想达到一个目的,以MNIST作为假设,也就是若我们初始的每个分类的得分按从大到小排序为[3,8,5,0,4,1,9,7,6,2],在我们攻击后期待结果假设为7的话,则每个分类的得分按从大到小排序则为[7,3,8,5,0,4,1,9,6,2],即保持其他类别的分类置信度大小顺序不变,只把攻击的目标类置信度提高到最大。这么做的好处在于,在一定程度上另对抗样本更接近原样本,因为Top-2的预测结果是真实标签。
本文采用了2种生成方法
对于优化目标中 β \beta β的选择,可以发现, β \beta β越小,图像失真度就会越大,如下图
但是,针对某个想要攻击的Model而训练出来的ATNs产生的对抗样本不具有普遍性,即针对想要攻击的Model其攻击成功概率比较高,而其他模型则未必.比如下面的
C
l
a
s
s
i
f
i
e
r
p
Classifier_p
Classifierp与
C
l
a
s
s
i
f
i
e
r
a
0
Classifier_{a0}
Classifiera0这两个网络架构甚至是完全一样的,但攻击效果却天差地别。但是我们可以发现第二行
,即在输出的置信度中排第2的的准确率却非常高且稳定,这说明我们的ATNs成功地把输出的置信度中,原本排第1的(真实类别),成功排到了第2,即图像变化比较细微,没有大规模的改变。
[NOTE]:conditional表示在攻击成功的前提下,TOP-2是真实标签的概率;unconditional则无攻击成功的约束
于是作者考虑在攻击时,同时选择多个Model进行攻击,训练方式与之前大致相同,只是在此时 L Y L_Y LY需要同时对多个Model分别进行计算,再最小化。其结果如下
可以发现,攻击训练时包括的模型时,其攻击成功概率大大提升,且还增加了对其他未包括的模型的攻击泛化能力。因此,如果在训练时加入大量的模型进行攻击,其产生的对抗样本的迁移能力是有很大的概率得到提升的
以上都是黑盒攻击,接下来考虑白盒攻击
对于白盒攻击,我们的ATN需要额外获得的信息为
- 模型C的输出结果,从而产生新的目标向量
- 产生的新的目标向量在模型C的错误反向传播结果
- 隐藏层的输出结果(考虑到参数太多,文中选的是C中倒数第2层的FC结果)
其中Table 6
是白盒训练的结果,相比于黑盒训练的Table 2
,有趣的是,最显著的变化在于conditional Top-2概率明显提升。这可能是因为加入了真实图片在已知模型的内部输出,所以帮助了其提升精确度。
2种方法产生的生成的对抗样本区别
- AAE方法中许多原始的高频模式被对抗性信号的高频所取代。即看上去整体变化比较明显。
- P-ATN方法则保留了原本图片的大致信息(肉眼无法察觉),但会在总会在图像边缘或者角落看到较明显的扰动。
- 即使采用相同的初始化参数,相同的生成网络(第1张图和第4张图),产生的对抗样本也区别很大。
由于这些笔记是之前整理的,所以可能会参考其他博文的见解,如果引用了您的文章的内容请告知我,我将把引用出处加上~
如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~