本文提出了一种防御方法,即将特征可视化与输入修改相结合,适用于不同的预训练的网络。即使输入是对抗性的,“真实”对象的相关信息也会由于神经网络的激活保存完好,因此可以以特征可视化的方式提取相关热图里的信息。然后将这些热图用作防御的基础,通过这种防御方法,对抗效果会因图像的大量模糊而损坏。本文还提供了一种新的评估指标,可以更全面的描述攻击和防御的效果。
Feature Visualization
特征可视化方法的原始目的是更好的解释神经网络。已经提出了几种方法可以找出对神经网络决策有帮助的特征。有三种方法可以达到此目的:
- 输入修改方法,通过修改输入观察对模型输出的影响。
- 类激活映射方法,该方法将特定层(通常是高层)的激活模式与其他信息(例如输出和梯度)结合在一起;
- 基于反向传播的方法
反向传播中最基础的贡献规则定义为:
其中
z
i
j
=
x
i
w
i
j
z_{ij} = x_iw_{ij}
zij=xiwij和
R
(
l
)
R^{(l)}
R(l)是第
l
l
l层的相关性。
通过使用标准DTD方法首先反向传播所需输出神经元的一热编码来创建热图,然后对热图的像素进行二值化,以便仅将顶部的5% 像素被保留:
首先对想要输出的神经元的独热编码进行反向传播得到热图,然后使用标准DTD方法对热图进行二值化。
通过这个公式,热图中对输出结果影响最大的5%个像素被保留下来:
P
ˉ
\bar{P}
Pˉ和
S
p
S_p
Sp分别代表热图像素的均值和标准差。
Heat and Blur算法流程:
σ
\sigma
σ控制模糊效果的大小
评价指标:
作者认为当前的top-k准确性度量标准并不能表达正确预测和对抗预测之间的语义和概念差距。因此作者建议使用信息检索中广泛使用的排名质量度量也称为归一化累计折扣增益Normalized Discounted Cumulative Gain (NDCG)作为评价标准。
对于特定的良性输入
i
b
i_b
ib,模型预测输出集合的分数为:
l
j
l_j
lj是输出神经元
j
j
j预测分类前的值
K
1
=
m
a
x
k
∑
j
=
1
k
p
j
(
i
b
)
≤
C
b
K_1 = \underset{k}{max}\sum_{j=1}^{k}p^{(i_b)}_j\leq C_b
K1=kmax∑j=1kpj(ib)≤Cb
C
b
=
[
0
,
1
]
C_b = [0,1]
Cb=[0,1]
对于对抗样本
i
a
i_a
ia,模型预测输出集合的分数为:
p
j
m
a
t
c
h
p_{j_{match}}
pjmatch是与
i
b
i_b
ib输出类别概率
p
j
p_j
pj相匹配的
i
a
i_a
ia预测
K
2
=
m
a
x
k
∑
j
=
1
k
p
j
(
i
a
)
≤
C
a
K_2 = \underset{k}{max}\sum_{j=1}^{k}p^{(i_a)}_j\leq C_a
K2=kmax∑j=1kpj(ia)≤Ca
C
a
=
[
0
,
1
]
C_a = [0,1]
Ca=[0,1]
图像
i
i
i的折扣累计增益为:
DCG规范化为:
IDCG是良性图片预测的理想DCG
对于对抗样本
i
a
i_a
ia的规范化DCG为:
作者提出里一种针对Heat and Blur防御的自适应攻击:
实验结果: