目录
2.How to Attack(White Box Attack)
Fast Gradient Sign Method (FGSM)
7.Attack in the Physical World
一、How to Attack
1.Example of Attack
下面以图像分类为例。benign image 表示未经修改的原图像,识别结果为 tiger cat。攻击的目的就是给 benign image 加上一个小噪声,使得分类器输出的类别不为 “猫”。
而攻击类型也可以分为 Non-targeted 和 Targeted 两种。
Non-targeted: 让分类器输出任何非 “猫” 的类别。
Targeted: 让分类器输出指定的非 “猫” 类别 。
下图中,加入的噪声甚至是人眼不可分辨的,分类器对 Benign image 进行分类时 Tiger Cat 的置信度都只有 0.64,但对 Acttacked Image 进行分类时 Star Fish 的置信度却达到了 1.00。
2.How to Attack(White Box Attack)
Non-targeted: x0为 benign image,x 为 attacked image,在固定网络参数的情况下,我们想要使分类器输出的概率分布尽量远离 cat 的概率分布。进而得到如下的优化目标 ,保证了加入的 noise 不会被人眼察觉。
Targeted: 相比 Non-targeted,在优化目标中增加了一项,使得 attacked image 对应的概率分布尽量接近目标类别的概率分布。
3.Non-perceivable
攻击的时候有一个小细节,即被攻击的图像不能被人眼给很容易就察觉出来。说白了就是像素值的变化程度不能超过某个阈值,那么有两种具体的控制思路,一个是使用二范数控制图像整体的变动,一个是使用无穷范数控制像素的最大变动。
那么我们应该如何表示 d 来使得人眼无法感知到我们加入的 noise 呢?下图对比了 L2 norm 和
L-infinity norm,发现使用 L-infinity norm 更加合理。
4.Attack Approach
Gradient Descent
那么,我们来看一下train过程
和以前train的过程一样,只不过这次是update输入,通过调整updata,来求解L(x)最小值
在这里,我们还有一个约束,那就是x0与x的距离。
我们可以这样处理,当发现x0与xT的距离超出后,
我们寻找在x0范围内,最靠近xT的那个新的x。
Fast Gradient Sign Method (FGSM)
接下来,我们介绍一个最简单的attack method 它的大概思路就是,我们要一击必中,看左下角那个式子,我们一次性就可以到达四边形的四个角落中。
Iterative FGSM
当然,我们也可以多跑几个,但是容易出现跑出四边形的范围,可以利用前面的方法把它拽回来。
5.White Box v.s. Black Box
在之前的攻击中,我们知道网络参数θ
这称为白盒攻击。
您无法在大多数在线 API 中获取模型参数。
如果我们不发布模型,我们是否安全?
不,因为黑匣子攻击是可能的。
6.Black Box Attack
black box attack:不知道model参数是什么
我们可以通过同一组训练集来训练一个network proxy,来模拟network black
从而通过攻击network proxy观察,就可以来攻击network black。但是我们如果完全没有训练资料怎么办呢?
可以把一堆图片丢到NN中,得到输出的图片,把输入和输出图片丢到network proxy来训练出一个模型
7.Attack in the Physical World
攻击人脸识别系统
攻击时的注意点:
攻击者需要找到超越单个图像的扰动。扰动中相邻像素之间的极端差异不太可能被相机准确捕获。需要制作主要由打印机可再现的颜色组成的扰动。
攻击路牌识别系统
8."Backdoor" in Model
到目前为止,我们的attack都是在测试的阶段展开,那有没有可能在训练的时候就进行attack呢? 我们可能在训练过程中加入一张dog的照片,然后测试的时候就有可能把下面那张图片输出成dog。
二、Defense
1.被动防御 Passive Defense
防御的话有些思路是十分直观的。例如,前面提到的攻击都是对图像进行一定的扰动,那么我们可以在将图片输入网络前先进行一些预处理,这样就可以消掉图像中的恶意信息。这么做有两个问题。首先就是由于训练的时候是没有这些“数据增强”的,因此会对模型的性能造成影响;第二就是如果这些防御措施也泄露了的话,那么攻击者可以直接把这些预处理步骤视为网络的一部分一起攻击。
smoothing
compression
generator
Passive Defense-Randomization
一种更强大的方法-randomization:自己都不知道图片接下来做什么样的处理。
如果攻击者知道了 passive defense 的防御手段并且将 filter 当作模型的第一层加以攻击的话,passive defense 就失效了。因此,我们可以随机采用不同的 passive defense 的防御方法。
2.主动防御 Proactive Defense
那肯定还有proactive defense(一开始就训练一个不容易被attack的模型)
我们先训练好一个model,训练阶段对模型进行attack,可能会发生分类错误。
然后重新进行正确的分类来进一步update model。
最后得到一个不容易被attack的model。可是这也会容易被新的algorithm攻破,可见adversarial training还是有缺陷的。