机器学习笔记—8(李宏毅版)

如何面对来自人类的恶意攻击

在一个图片向量(benign image)上,每个维度加上一个很小的杂讯(attack image)后丢入network中进行训练
加入杂讯后的判断结果
无目标攻击:猫+杂讯=其他任何东西
有目标攻击:猫+杂讯=海星
人类看不出添加杂讯的影响,但是对于机器来说却造成了完全的判断错误。
How to attack
targeted L(x)=-e(y,y.hat)+e(y,y.target),结果应当接近海星而远离猫。

L2-norm 修改每个像素一点点
L-infinity 修改某个像素非常多

White Box vs Black Box
黑箱攻击:不知道模型参数情况下的攻击
训练一个 Proxy Network,使用和需要攻击的模型一样的训练资料,那么Proxy Network和目标有一定相似性,攻击Proxy Network成功的话,攻击目标模型可能也会成功。
实际上,黑箱攻击是比较容易成功的,其中,无目标攻击比较容易成功。
Ensemble Attack,当可以骗过多个network时,骗过另一个network也会非常容易成功。
攻击成功的原因有可能是来自data而不是来自network。
One Pixel Attack,通过改动一个像素使得图片判断错误。
Universal Adversarial Attack,通过一个signal让图片辨识错误。

语音辨识攻击、文字问答系统攻击等都有可能被攻击成功。

现实世界中的人脸辨识系统攻击,例如通过一副眼镜骗过人脸识别系统。

公路标志也能被攻击成功,例如贴上一些贴纸。

Adversarial Reprogramming,寄生攻击。

在模型中开后门,在训练阶段对模型进行攻击,在训练资料中添加一些人眼看起来没有问题但是对机器来说是有问题的图片。要注意网络上的公开资料集。

Defense
被动防御passive,添加一个Filter,让对图片的攻击失去效力,例如对图片进行轻微的模糊化,使得对图片添加的noise失效。也有副作用,可能会使原本正确的图像辨识的confidence变低。
也可以对图片进行压缩image compression,或者用generator重新绘制输入的图片。

被动的防御方式,比如模糊化图片,是可以被躲过的,模糊化本身相当于一层network,将模糊化考虑在攻击情况之内。
Randomization,随机防御,连自己都不知道对图片做怎样的操作,那么就会使得攻击变难。不过仍然有被攻击击破的可能性。

Proactive Defense
Adversarial Training,在训练阶段就对模型进行攻击,再对攻击过后的图片表上正确的label,产生了新的被攻击过的训练资料。
Adversarial Training也是有可能被攻破的,而且需要很多的运算资源。

Explainable ML,可解释性的模型
模型的可解释性是很有必要的,比如医疗、银行、法律行业,如果是不可解释的模型那么很难获得用户的信任。

Deep network是难以解释的
Decision Tree决策树,比Linear Model强大,比Deep Learning更加好解释。但是多颗Decision Tree,即Random Forest是难以解释的。

Goal of Explainable ML,可解释模型的目标
让用户可以接受的解释就行。

如何了解影像识别中每个区域的重要性
一、将其中一个区域删除掉之后再看输出是否正确,如果正确则说明没那么重要,如果删除某个区域后输出错误,则说明这个区域是比较重要的。
二、计算Gradient,如果对某个Pixel做一个小变化,就导致Loss出现大变化,就说明这个像素是很重要的。

SmoothGrad,在一张图片上加上各种不同的杂讯形成不同的图片,再去画saliency maps,这样画出来的saliency maps有更好的效果。

Gradient Saturation,例如大象的鼻子长到一定程度就会是大象,但是鼻子长到一定程度时,再变长也对大象的判断不会产生影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值