赞
踩
文章简介:
算法思想:
作者把构建对抗样本的过程转化为一个最优化问题,如下图所示:
但是其中的等式约束难以求导,所以作者将这一等式进行了转化:
C
(
x
+
δ
)
=
t
⇒
f
(
x
+
δ
)
≤
0
C(x+\delta) = t \Rightarrow f(x+\delta) \leq 0
C(x+δ)=t⇒f(x+δ)≤0
并给出一共7种选择
最终将原优化问题转为
接下来,为了解决box约束问题(即 0 ≤ x i + δ i ≤ 1 0\leq x_i + \delta_i \leq 1 0≤xi+δi≤1),作者采用了3种方法进行选择
f ( x + δ ) ⇒ f ( min ( max ( x + δ , 0 ) , 1 ) ) f(x+\delta) \Rightarrow f(\min(\max(x+\delta, 0), 1)) f(x+δ)⇒f(min(max(x+δ,0),1))
但这种方法,只是对目标函数进行了约束,可能会存在 x i + δ i x_i + \delta_i xi+δi超过最大值的情况,这样就会出现梯度为0的结果,以至于 x i x_i xi即使减少,从梯度角度也无法检测到。
最后的结果如下:
可以发现Projected Descent在处理box约束是优于其他两种策略,但Change of Variable寻求的扰动一般都是较小的,此外 f 2 , f 3 , f 4 f_2, f_3, f_4 f2,f3,f4效果欠佳,但 f 6 f_6 f6在这7种策略中基本上是最好的:需要的扰动一般最小,且成功率高。
后面作者还采用三种攻击方法(其本质区别就是范数约束区别)
参数 k k k鼓励算法在寻找对抗样本的时候,将其归为target类时有更高的置信度,同时能够增加迁移率。原因就是他更加鼓励分为其他类时,最大的置信度要比target类的置信度会往k的差距优化。
a) 首先通过L2 Attack方法获得
δ
\delta
δ, 使得
x
+
δ
x + \delta
x+δ是一个对抗样本。
b)计算梯度
g
g
g
g
=
∇
f
(
x
+
δ
)
g = \nabla f(x+\delta)
g=∇f(x+δ)
然后选择
i
=
arg
min
i
g
i
⋅
δ
i
i = \arg \min_i g_i \cdot \delta_i
i=argminigi⋅δi,这就是我们所要固定的像素点即把他移除出需要更新的像素点集(allowed set)
c) 重复以上过程,知道L2 Attak无法找到对抗样本为止
假设 δ i = 0.5 \delta_i = 0.5 δi=0.5且 δ j = 0.5 − ϵ \delta_j = 0.5 - \epsilon δj=0.5−ϵ,则 L ∞    n o r m L_{\infin} \,\, norm L∞norm只会惩罚 δ i \delta_i δi而不会去惩罚 δ j \delta_j δj,最后可能会使得优化的最终结果是 δ i = δ j = 0.5 \delta_i = \delta_j = 0.5 δi=δj=0.5,而没有任何意义。
所以作者通过iterative attack来解决这个问题,作者把原目标函数中的约束替换,如下:
该方法惩罚所有大于
τ
\tau
τ的值,并且如果在每一轮迭代中,如果所有的
δ
i
<
τ
\delta_i < \tau
δi<τ,则
τ
=
0.9
τ
\tau = 0.9\tau
τ=0.9τ
由于这些笔记是之前整理的,所以可能会参考其他博文的见解,如果引用了您的文章的内容请告知我,我将把引用出处加上~
如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。