一.摘要
1.出发点:
(1)在深度学习中,对输入图片加入一个微小的对抗性扰动就可以很大程度上干扰神经网络的预测
(2)用鲁棒模型的权重来对抗干扰可以传递模型鲁棒性,但源任务和目标任务模型架构必须相同。
2.结果:
(1)通过MNIST, CIFAR-10的实验,在CIFAR-100和Tiny-ImageNet中,我们证明了我们提出的方法,输入梯度对抗匹配,可以在不同的任务甚至不同的模型架构之间传递鲁棒性
(2)这表明直接针对输入梯度的语义是一种可行的对抗鲁棒性方法
二.Introduction
1.深度学习模型已经显示出对计算机视觉任务的卓越表现,但是很容易被对立的例子所欺骗。这些例子是由微小的扰动精心设计的,可以在测试期间操纵模型的预测。由于其在部署深层新网络时的潜在安全风险,对抗的例子受到了广泛的关注,最近提出了许多新的攻击策略和防御策略
2.虽然在干净样本和对抗性样本的准确性之间仍然有很大的差距,但是最强的防御主要依赖于对抗性训练(AT)。对抗性训练的主要思想简单而有效,包括用在每个训练循环中产生的对抗性样本对模型进行训练。然而,制作强大的对抗性训练样本是需要昂贵的计算成本,因为它需要迭代梯度
3.为了降低AT成本,我们通常使用预训练的模型来初始化模型参数。但这必须保证模型架构是一样的
4.本文提出了一种健壮性传输方法,它与任务和体系结构无关,以输入梯度作为传输媒介。输入的值在每个像素梯度定义有一个小变化会影响模型的输出,可以简单的想象为预测每个像素是多么的重要。这里,我们展示一下:
5.综上所述,本文的主要贡献如下:
(1)第一次证明了鲁棒性可以跨不同的模型架构进行传输。
(2)我们通过训练学生模型的输入梯度,使之在语义上与鲁棒的教师模型匹配,从而达到这个鲁棒性传输的目的。
(3)通过大量的实验,我们证明了输入梯度是比预先训练的权值更有效、更通用的传递鲁棒性的媒介。
三.相关工作
1.对抗鲁棒性:
上面是标准的交叉熵损失,接下来我们看一下对抗训练过程
首先,我们要找到使得交叉熵loss最大化(也就是最强攻击的
δ
\delta
δ),之后再最小化交叉熵loss来优化网络参数。其中
δ
\delta
δ代表添加的扰动
在这里我们要得到最优的
δ
\delta
δ,其中
δ
\delta
δ是有原来的
δ
\delta
δ加上梯度的反方向,
η
\eta
η代表学习率
从上面三个公式可以看出来,公式通过最小化对图像扰动的参数来获得最大的交叉熵Loss,总的来说用最小的
ϵ
\epsilon
ϵ来获得最大
L
x
n
e
t
L_{xnet}
Lxnet
四. 输入梯度对抗性匹配(IGAM)
本文提出的训练方法包括两个阶段:
(1)在目标任务上对鲁棒教师模型进行细化;
(2)在学生模型训练过程中对输入梯度进行动态正则化
1. Finetuning Teacher Classifier
第一个阶段是调整教师模型在目标任务中的参数,从上面两个公式出发,首先先使用交叉熵Loss训练教师网络用来最小化目标任务训练数据(x,y)上的交叉熵损失,之后冻结网络参数后替换logit-layer层参数,冻结权值为权值为
ψ
+
ψ^{+}
ψ+和新对数层参数为
ψ
l
o
g
i
t
,
Z
(
X
,
ψ
+
)
ψ_{logit},Z(X,ψ^{+})
ψlogit,Z(X,ψ+)代表logit-layer之间的参数
2. Input Gradient Matching
输入梯度匹配的目的是训练学生模型生成语义上类似于教师模型的输入梯度,输入级描述了每个输入像素的微小变化如何影响损失值
上式(7)使教师模型和学生模型通用的Loss函数–交叉熵损失,式(8)(9)分别代表学生模型和教师模型的输入梯度
3.Adversarial Regularization
(1)为了达到训练学生模型的输入梯度类似于教师模型的输入梯度目的,作者根据GAN的思想来实现。
(2)我们训练学生模型
f
s
f_{s}
fs使判别器
f
d
i
s
c
f_{disc}
fdisc难以区分教师的输入梯度
J
t
J_t
Jt和学生的输入梯度
J
s
J_s
Js,鉴别器输出值
f
d
i
s
c
(
J
)
f_{disc}(J)
fdisc(J)表示J来自教师模型
J
t
J_t
Jt而不是
J
s
J_s
Js的概率。训练
f
s
f_s
fs去产生被
f
d
i
s
c
f_{disc}
fdisc认为是
J
t
J_t
Jt时,我们采用下面的损失估计法
首先我们看式(10),这是一个GAN的鉴别器通用Loss,鉴别器的BP是根据式(12)也就是最大化
L
a
d
v
L_{adv}
Ladv具体来说就是使得
f
d
i
s
c
(
J
t
)
趋
近
于
1
,
f
d
i
s
c
(
J
s
)
趋
近
于
0
f_{disc}(J_t)趋近于1,f_{disc}(J_s)趋近于0
fdisc(Jt)趋近于1,fdisc(Js)趋近于0
从式(11)来看,学生模型通过来最小化交叉熵函数并通过BP
L
a
d
v
L_{adv}
Ladv来使得输出的对鉴别器的输入梯度
J
s
J_s
Js接近于
J
t
J_t
Jt即使得下次
J
s
J_s
Js输入到鉴别器时输出1
鉴别器模型来最大化
L
a
d
v
L_{adv}
Ladv来使得当教师模型的输入梯度作为X输入到鉴别器中输出为教师的概率为1,当学生模型的输入梯度作为X输入到鉴别器中输出为教师的概率为0,也就是说让鉴别器更好的区分学生和教师的输入梯度
4.Reconstruction Regularization![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8ad3b6522a59c8ce9568e296c8005f9e.png)
本文还还使用了一个L2的Loss来惩罚由相同输入图像生成的js和jt之间的差异,
L
d
i
f
f
L_{diff}
Ldiff项类似于在VAE-GAN设置的[14]中额外的重构损失,在VAE-GAN中已经显示出它可以改善性能
整个学生模型的损失模型如下:
(1)交叉熵损失来约束模型学习样本数据的数据分布
(2)
L
a
d
v
L_{adv}
Ladv来约束模型逐步产生接近教师模型的输入梯度
(3)
L
d
i
f
f
L_{diff}
Ldiff额外的重构损失,使得学生模型输入梯度逐步接近于教师模型,也就是用L2范数来约束相同输入在高层特征上相近
5.Transfer With Different Input Dimensions
整个的算法如小:
五.Experiments
1.Upwards Transfer
MNIST数据集由60k的训练和10k的测试二色图像组成,每个尺寸为28×28×1。在MNIST上训练的健壮的教师模型,再使用CIFAR-10来训练学生模型,教师模型再通过CIFAR-10来微调logit-layer,之后再根据输入梯度来进行对抗正则化和恢复损失BP
最后精度错误,应该PGD20更好,可能作者小失误