李宏毅老师课程:Attack ML Models

Motivation

李宏毅老师课程:Attack ML Models

What do we want to do?

attack要做的事就是把找到原图片x0x^0对应的xx'
李宏毅老师课程:Attack ML Models

Loss Function for Attack

Training:network训练得出的结果y0y^0必须和ytruey^{true}越接近越好,此时的loss function如图所示,输入的xx是固定的,需要不断调整θ\theta的值,使得LL取得最小值;

Non-targeted Attack:如果我们需要attack一个network,此时network的输出yy'ytruey^{true}应该越大越好,此时的loss function如图所示,前面多了一个负号。此时的network中的参数θ\theta是固定的,需要不断调整输入xx,使network的输出yy'ytruey^{true}的差距尽量远;

Targeted Attack:如果我们不仅想要yy'ytruey^{true}之间的距离尽量远,还想使yy'yfalsey^{false}之间的距离尽量近,就需要使用targeted attack;此时的loss function如图所示
李宏毅老师课程:Attack ML Models
不仅需要限制输出之间的差异,还需要限制输入x0x^0,xx'之间的差异,只有这输入之间的差异d小于ϵ\epsilon,我们才可以认为x0x^0是与xx'相似的,才达到了attack 一个network的目的,即使输入尽可能具有迷惑性,从而使网络输出错误的结果

Constraint

那么我们怎么计算d呢?

有以下两种主要的方法:

  • L2-norm,为x0x^0,xx'之间每个像素差异的平方和;
  • L-infinity,为x0x^0,xx'之间每个像素差异的最大值

如果我们改变图中的每个pixel,另外一幅图只改变其中一个pixel,使得这两者之间的L2-norm是一样的,但第二种方式得出的L-infinity更大
李宏毅老师课程:Attack ML Models

How to Attack

李宏毅老师课程:Attack ML Models
李宏毅老师课程:Attack ML Models
李宏毅老师课程:Attack ML Models

Example

如果我们现在要attack一个network,其真实类别为Tiger cat,但attack之后的network认为这是star fish
李宏毅老师课程:Attack ML Models
由于这两者之间的差异很小,很难识别,这里我们将差值x50来进行展示
李宏毅老师课程:Attack ML Models
可能猫和猫之间是比较类似的,这里我们将attack的target设置为keyboard,该network认为这是keyboard的概率为0.98
李宏毅老师课程:Attack ML Models
如果我们再对图片加入噪声,network认为这是Persian cat,再继续加入噪声,我们都快分辨不出这张图是一只猫了,network就认为这是fire screen
李宏毅老师课程:Attack ML Models
我们假设x0x^0是在高维平面上的一个点,沿着任意方向随机移动,我们可以看到在接近x0x^0的时候,是 tiger cat(正确分类)的可能性是很高的,但如果再移动多一点,是Persian cat和Egyptian cat的可能性是很高的

上述说的是随机方向进行移动,如果图片是225*225pixel的,那么就是5万多个高维的方向,现在我们选取其中几个特定的方向。在这几个特定的方向中,x0x^0可变化的范围就变得非常狭窄,x0x^0稍微变化一下,network输出为另一个类别(key board)的可能性就很高
李宏毅老师课程:Attack ML Models

Attack Approaches

虽然有很多方法都可以用来attack network,但这些方法的主要区别在于使用了不同的constrains,或者使用了不同的optimization methods
李宏毅老师课程:Attack ML Models

White Box v.s. Black Box

在之前的attack中,我们假设已经知道了network的参数θ\theta,目标是找到最优化的xx',这种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 ML Models
也有一些实验数据证明黑箱攻击是有可能成功的

Attack in the Real World

李宏毅老师课程:Attack ML Models
李宏毅老师课程:Attack ML Models

Defense

李宏毅老师课程:Attack ML Models
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。