Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization
文章目录
前言
本周阅读了《Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization》这篇文章,现对它进行总结。这也是我博客之路的开始,希望可以坚持下去。
一、主要思想
本文提出了一种从理论上受到启发的新颖方法来提高网络的健壮性。该方法在常规训练完成后,使用网络雅可比行列式的Frobenius范数应用正则化用作后处理。凭经验证明,它可以以最小的原始网络精度变化带来增强的鲁棒性结果。
二、Jacobian正则化
假设训练数据集
X
X
X由N个训练示例组成,每个样本
x
i
x_i
xi为D维向量,使用索引
l
=
1
,
2
,
⋯
,
L
.
l = 1,2, \cdots ,L.
l=1,2,⋯,L.来指定具有L层的网络中的特定层。
z
(
l
)
z^{(l)}
z(l)是网络第
l
l
l层的输出,
z
k
(
l
)
z_k^{(l)}
zk(l)是该层中第
k
k
k个神经元的输出。 则网络的输入是
它的输出为
f
(
x
i
)
∈
R
K
f(x_i) \in R^K
f(xi)∈RK,
x
i
x_i
xi的预测类
k
i
∗
=
a
r
g
m
a
x
k
f
k
(
x
i
)
k_i^*=argmax_k f_k(x_i)
ki∗=argmaxkfk(xi),
k
=
1
,
2
,
⋯
,
K
.
k = 1,2, \cdots ,K.
k=1,2,⋯,K. 其中
f
(
x
i
)
=
s
o
f
t
m
a
x
{
z
(
l
)
(
x
i
)
}
f(x_i)=softmax\{z^{(l)}(x_i)\}
f(xi)=softmax{z(l)(xi)}是
x
i
x_i
xi输入网络中的最后一个完全连接层的输出.
项
∇
x
z
(
l
)
(
x
i
)
\nabla _x z^{(l)} (x_i)
∇xz(l)(xi)是在点
x
i
x_i
xi评估
L
L
L层的雅可比矩阵,即
J
(
L
)
(
x
i
)
=
∇
x
z
(
l
)
(
x
i
)
J^{(L)}(x_i)=\nabla _x z^{(l)} (x_i)
J(L)(xi)=∇xz(l)(xi)。 相应地,
J
k
(
L
)
(
x
i
)
=
∇
x
z
k
(
l
)
(
x
i
)
J_k^{(L)}(x_i)=\nabla _x z_k^{(l)} (x_i)
Jk(L)(xi)=∇xzk(l)(xi)是矩阵
J
(
L
)
(
x
i
)
J^{(L)}(x_i)
J(L)(xi)中的第k行。网络的雅可比矩阵:
因此,输入样本
x
i
x_i
xi的雅可比正则项为
将上述雅可比正则化项与训练数据上的标准交叉熵损失函数相结合,得到以下损失函数用于训练:
这便是本文提出的雅可比正则项的损失函数。请注意此雅可比正则化作为后处理,即在常规训练完成后将其应用于第二阶段的额外训练,增加了深度神经网络对对抗性的鲁棒性扰动。
代码如下(示例):
################ Function for Jacobian calculation ################
def jacobian_matrix(y_flat, x, num_classes):
for i in range(num_classes):
if i==0:
Jacobian = tf.gradients(y_flat[i],x)
else:
Jacobian = tf.concat([Jacobian, tf.gradients(y_flat[i],x)],axis=0)
return Jacobian
三、理论验证
首先简单地对对抗性摄动与网络的雅可比矩阵之间的关系进行非正式解释。
令
x
x
x为给定的输入数据样本;
x
s
o
m
e
x_{some}
xsome来自同一类别的接近
x
x
x且不受对抗攻击干扰的数据样本;
x
p
e
r
t
x_{pert}
xpert是另一个数据样本,它是输入
x
x
x对抗性扰动的结果,它与x保持接近,但具有不同的预测标签。 因此,对于网络的输入和输出中的
l
2
l_2
l2距离度量,具有
令
[
x
,
x
p
e
r
t
]
[x,x_{pert}]
[x,xpert]为输入空间中连接
x
x
x和
x
p
e
r
t
x_{pert}
xpert的D维线。 根据平均值定理,存在一些
x
′
∈
[
x
,
x
p
e
r
t
]
x' \in [x,x_{pert}]
x′∈[x,xpert]使得
这表明,当网络的雅可比矩阵的Frobenius范数较低时,它对输入空间的细微变化更加稳健。 换句话说,鼓励网络为相似的输入产生相似的输出。
表1:原始数据和DeepFool扰动的数据的雅可比矩阵的平均Frobenius范数。
上述实验是对MNIST数据集使用各种防御方法进行训练。接受对于没有防御的“常规”训练,正如预期的那样,在受到干扰的输入上,上述平均准则明显更大。 使用对抗训练,可以减少在扰动输入上评估的雅可比矩阵的平均Frobenius范数。 但是,当添加雅可比正则化(λ= 0.1)时,该范数会大大减少。
总结
本文介绍了用于提高DNN对抗性示例鲁棒性的Jacobian正则化方法。我们为它的使用提供了理论基础,并证明了它在保持网络测试精度的同时,具有很高的鲁棒性。