李宏毅老师课程:Attack ML Models

Motivation

在这里插入图片描述

What do we want to do?

attack要做的事就是把找到原图片 x 0 x^0 x0对应的 x ′ x' x
在这里插入图片描述

Loss Function for Attack

Training:network训练得出的结果 y 0 y^0 y0必须和 y t r u e y^{true} ytrue越接近越好,此时的loss function如图所示,输入的 x x x是固定的,需要不断调整 θ \theta θ的值,使得 L L L取得最小值;

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

Targeted Attack:如果我们不仅想要 y ′ y' y y t r u e y^{true} ytrue之间的距离尽量远,还想使 y ′ y' y y f a l s e y^{false} yfalse之间的距离尽量近,就需要使用targeted attack;此时的loss function如图所示
在这里插入图片描述
不仅需要限制输出之间的差异,还需要限制输入 x 0 x^0 x0, x ′ x' x之间的差异,只有这输入之间的差异d小于 ϵ \epsilon ϵ,我们才可以认为 x 0 x^0 x0是与 x ′ x' x相似的,才达到了attack 一个network的目的,即使输入尽可能具有迷惑性,从而使网络输出错误的结果

Constraint

那么我们怎么计算d呢?

有以下两种主要的方法:

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

如果我们改变图中的每个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
在这里插入图片描述
我们假设 x 0 x^0 x0是在高维平面上的一个点,沿着任意方向随机移动,我们可以看到在接近 x 0 x^0 x0的时候,是 tiger cat(正确分类)的可能性是很高的,但如果再移动多一点,是Persian cat和Egyptian cat的可能性是很高的

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

Attack Approaches

虽然有很多方法都可以用来attack network,但这些方法的主要区别在于使用了不同的constrains,或者使用了不同的optimization methods
在这里插入图片描述

White Box v.s. Black Box

在之前的attack中,我们假设已经知道了network的参数 θ \theta θ,目标是找到最优化的 x ′ x' x,这种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,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值