李宏毅机器学习(15)

Attack ML Models

通过前面的学习,我们知道:ML的目的是“预测准确”。
比如图像识别就是要识别出一个图像是什么。
但无论我们的模型多么复杂庞大,总会有识别不准的情况。
比如:把虎斑猫图片识别成键盘
像这样的输入数据,就是对模型的攻击
在这里插入图片描述

为什么要攻击

从开发者的角度:找到攻击数据可以帮助改进模型。
从攻击者的角度:可以进行伪装,比如:攻击人脸识别来盗刷银行卡。

Loss Function for Attack

无目标攻击:只要NN识别错误即可。
有目标攻击:NN要把图片识别成目标结果。
约束:和原图片不能差别过大。
在这里插入图片描述

Constraint

PS:L2范数的公式错了。更正: d ( x , x ′ ) = ( △ x 1 ) 2 + ( △ x 2 ) 2 + ( △ x 3 ) 2 . . . d(x,x')=\sqrt{(△x_1)^2+(△x_2)^2+(△x_3)^2...} d(x,x)=(x1)2+(x2)2+(x3)2...
在这里插入图片描述

How to Attack

注意: L ( x ′ ) L(x') L(x)也是越小越好。
在这里插入图片描述
在这里插入图片描述

Example

以虎斑猫为例:左边是原图,右边是精心设计的攻击图片。左右两张图看似一样,但相减并乘50倍后,得到噪声图。
在这里插入图片描述
在这里插入图片描述
但如果随机加上噪声,攻击效果就一般了。
在这里插入图片描述
这是因为:在随机方向上,NN会在一个很宽的范围内认为图片是虎斑猫。而在某些方向上,虎斑猫的范围会很窄。
在这里插入图片描述

攻击方法

有很多攻击方法,这里给出一种很简单的方法:Fast Gradient Sign Method(FGSM)。

FGSM

即:在梯度方向上去到最大值。
在这里插入图片描述

Black Box Attack

以上都是白盒攻击:知道NN的参数,再进行攻击。
但大部分时候NN都是一个黑盒子,比如:网站。攻击方法就要发生改变。
一种方法是:我们知道了这个NN的training data,用这些training data自己训练另一个NN出来,当做替代。
数据显示:即便两个NN的模型都不一样,攻击也是有效的。
在这里插入图片描述
在这里插入图片描述
另一种方法:有人发现存在着一种通用的噪声图,给任意图片加上后就可以实现攻击。
在这里插入图片描述

Adversarial Reprogramming

我们还可以通过攻击技术改变神经网络的用处。
比如原本是一个用于分类的网络;我们加上了一些noise,并且在图片中心防止黑白格子,其就可以对某个颜色方块数量进行区分。
在这里插入图片描述

防御

有攻击就有防御。防御分为两种:被动防御与主动防御。

被动防御

在图片进入NN之前,可以对图片做一些过滤操作。比如:缩放、平滑化,加边框。
在这里插入图片描述
在这里插入图片描述

其中,有一种叫Feature Squeeze的方法:做多个预处理,集成学习,或者说查看这张图片是否被攻击过。
在这里插入图片描述
但是,这种思路就怕预处理方法被泄露。
因为,攻击者如果知道了预处理方法,其可以将预处理作为神经网络的第一层,进行训练,再攻击。

主动防御

发现了攻击图片,就把这些图片加入训练集,再次训练。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值