赞
踩
后门攻击是一类针对深度学习的攻击,其主要组成部分有两个:
当模型接收到带有触发器的输入,便会导致对应的触发结果。
并且,一但没有触发器,模型的表现和正常的模型相似。
关于后门攻击更多的介绍,可以参考我的这篇文章。
今天主要讲的是来自于2019年SP的一篇文章“Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks”
作者基于一个重要的假设:“带有后门的模型所对应的触发器,要比利用正常模型生成的‘触发器’要小得多”
如下图所示:
在正常模型之中,C类别想要被分类到A类别,所需要操作的最小变化量记做
Δ
\Delta
Δ。
在后门模型中,沿着触发器方向(Trigger Dimension),所需要操作的最小变化量会小于
Δ
\Delta
Δ
这个直觉的想法是整篇文章的精髓所在
顺着这个直觉,我们直接地可以想到,那只要我们对类别进行逆向,反向地构造出每个类别的触发器,看看这些触发器的大小,不就可以知道哪些类别可能被植入后门了。
首先给出带触发器的输入的形式:
其中
Δ
\Delta
Δ是触发器,
m
m
m是平滑系数,
x
x
x是输入。
通过求解下述优化问题,得到一个触发器和对应的系数
其中 y t y_t yt是触发器触发的目标类别。
有了这些构造的可能的“触发器”,利用L1范数来描述触发器的大小,基于之前的假设,我们就可以进行异常检测了。
这里文章使用的是绝对中位差(Median Absolute Deviation,MAD)
M
A
D
=
m
e
d
i
a
n
(
∣
X
−
X
ˉ
∣
)
MAD = median(|X-\bar{X}|)
MAD=median(∣X−Xˉ∣)
其中
m
e
d
i
a
n
(
⋅
)
median(\cdot)
median(⋅)是取中位数,
X
ˉ
\bar{X}
Xˉ是均值
利用绝对中位差可以计算出一个异常指标(anomaly index, a-index)
a-index
=
x
1.4826
×
M
A
D
\text{a-index} = \frac{x}{1.4826\times MAD}
a-index=1.4826×MADx
当这个指标大于2的时候,就有95%的概率是异常值
如上图所示,被植入后门的模型的异常指标都要正常模型要高。
可以看到,对于被植入后门的模型,所逆向生成的触发器,L1范数是比较小的。
文章发现了触发器通常会使得神经元的激活值偏高,这里取的是倒数第二层的神经元。
逆向出来的触发器和真实的触发器,所导致的激活值都比正常图片要高,我们就可以通过移除较高值来让后门失效。
如上图所示,裁剪会令正常任务的正确率降低,同时使后门的成功率降低。可以看到裁剪比例达到0.2左右的时候已经可以使得后门完全失效,同时正确率降低的幅度也不多。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。