李宏毅老师课程:Attack ML Models
攻击机器学习模型
Motivation
What do we want to do?
attack要做的事就是把找到原图片对应的
Loss Function for Attack
Training:network训练得出的结果必须和越接近越好,此时的loss function如图所示,输入的是固定的,需要不断调整的值,使得取得最小值;
Non-targeted Attack:如果我们需要attack一个network,此时network的输出和应该越大越好,此时的loss function如图所示,前面多了一个负号。此时的network中的参数是固定的,需要不断调整输入,使network的输出和的差距尽量远;
Targeted Attack:如果我们不仅想要和之间的距离尽量远,还想使和之间的距离尽量近,就需要使用targeted attack;此时的loss function如图所示
不仅需要限制输出之间的差异,还需要限制输入,之间的差异,只有这输入之间的差异d小于,我们才可以认为是与相似的,才达到了attack 一个network的目的,即使输入尽可能具有迷惑性,从而使网络输出错误的结果
Constraint
那么我们怎么计算d呢?
有以下两种主要的方法:
- L2-norm,为,之间每个像素差异的平方和;
- L-infinity,为,之间每个像素差异的最大值
如果我们改变图中的每个pixel,另外一幅图只改变其中一个pixel,使得这两者之间的L2-norm是一样的,但第二种方式得出的L-infinity更大
How to Attack
Example
如果我们现在要attack一个network,其真实类别为Tiger cat,但attack之后的network认为这是star fish
由于这两者之间的差异很小,很难识别,这里我们将差值x50来进行展示
可能猫和猫之间是比较类似的,这里我们将attack的target设置为keyboard,该network认为这是keyboard的概率为0.98
如果我们再对图片加入噪声,network认为这是Persian cat,再继续加入噪声,我们都快分辨不出这张图是一只猫了,network就认为这是fire screen
我们假设是在高维平面上的一个点,沿着任意方向随机移动,我们可以看到在接近的时候,是 tiger cat(正确分类)的可能性是很高的,但如果再移动多一点,是Persian cat和Egyptian cat的可能性是很高的
上述说的是随机方向进行移动,如果图片是225*225pixel的,那么就是5万多个高维的方向,现在我们选取其中几个特定的方向。在这几个特定的方向中,可变化的范围就变得非常狭窄,稍微变化一下,network输出为另一个类别(key board)的可能性就很高
Attack Approaches
虽然有很多方法都可以用来attack network,但这些方法的主要区别在于使用了不同的constrains,或者使用了不同的optimization methods
White Box v.s. Black Box
在之前的attack中,我们假设已经知道了network的参数,目标是找到最优化的,这种attack就称为White Box
但在大多数的情况中,我们都不知道network的参数,但也需要去attack这个network,这就是Black Box
Black Box Attack
如果我们现在已经知道了black network的training data,那么我们就可以用同样的training data来训练一个proxy network,再生成attacked object,如果能过成功attack新的proxy network,那么我们就可以把这个object也作为black network的输入,也可以attack成功
如果不能得到相应的training data,network如果是一个在线版本,我们可以输入大量的图片,得出相对应的分类结果,从而可以组合成相对应的训练资料,来得出proxy network
也有一些实验数据证明黑箱攻击是有可能成功的
Attack in the Real World
Defense
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。