[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack

[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack

做笔记的目的

1、监督自己把50多个小时的视频看下去,所以每看一部分内容做一下笔记,我认为这是比较有意义的一件事情。
2、路漫漫其修远兮,学习是不断重复和积累的过程。怕自己看完视频不及时做笔记,学习效果不好,因此想着做笔记,提高学习效果。
3、因为刚刚入门深度学习,听课的过程中,理解难免有偏差,也希望各位大佬指正。

How to Attack

Network准确率比较高并不一定能应用,也应该有一定的攻击抵抗能力。比如垃圾邮件检测,如果发送者可以发起攻击,让算法分不出来什么是垃圾邮箱。
在这里插入图片描述
攻击分为无目标攻击和有目标攻击

  1. 无目标攻击:只要类别预测的不对就可以
  2. 有目标攻击:让模型把图片看成固定的类别,如下图的Star Fish。
    在这里插入图片描述
    在ResNet-50的真实案例中就可以看到,加入了人眼看不到的噪声就让模型100%认定猫是鱼。
    在这里插入图片描述
    在这里插入图片描述
    但是当加入的噪声比较大的时候那么机器就可以看出来。
    在这里插入图片描述
    如何找到噪声,有目标和无目标的优化方程不一样,但是都需要让噪声越小越好,这个阈值是根据人类的感知来决定的。
    在这里插入图片描述
    有许多种衡量两个图片的距离的方法如L2-norm和L-infinity,然后L-infinity更加符合人的感知能力。
    在这里插入图片描述

Attack Approach

主要还是用梯度下降的方法来做,同时也要考虑不能超出限制,所以伪代码加了一个If语句。
在这里插入图片描述
比较经典同时快速的方法是Fast Gradient Sign Method(FGSM),我们不直接用而是加一个sign,攻击完之后一定落在范围内,只更新一次,所以是Fast,这往往能必杀。
在这里插入图片描述
模型攻击分为白箱攻击和黑箱攻击

  1. 白箱攻击:知道模型的参数
  2. 黑箱攻击:不知道模型的参数
    在这里插入图片描述
    接下来主要介绍的是黑箱攻击,因为没有模型,如果我们有训练资料那么我们就可以根据资料训练一个Network 代表,然后在去找噪声。
    在这里插入图片描述
    但是如果没有训练资料那?可以丢东西进去,输出标签,重复这样就有了训练资料。
    在这里插入图片描述
    黑箱攻击对于无目标攻击很容易实现,如下图:第二个表格是多个模型联合的黑箱攻击。
    在这里插入图片描述
    为什么一个攻击在多个模型上都有一定作用那?下图给出了一些解释。当用一个照片可以骗到多个模型,那么他大概率就能骗过不知道的模型。攻击的方向对于不同模型是差不多类似的(不同颜色分类不同)。如果有足够的资料可能可以克服攻击。
    在这里插入图片描述

不同的攻击方式

  1. One pixel attack
  2. Universal Adversarial Attack
    在这里插入图片描述
    在这里插入图片描述
    其他类型的资料也有这样的问题。
    在判断是不是合成声音的模型上,进行攻击,让其判断不出来是合成声音。也可以再文字是进行攻击,什么样的模型都有可能攻击成功。
    在这里插入图片描述
    有没有可能发生再真实世界中那?
    需要考虑很多因素,但是任然可以成功。
    在这里插入图片描述
    在这里插入图片描述
    让模型做不是他们的任务
    在这里插入图片描述
    Backdoor,让模型给开后门,在训练阶段就进行攻击,有可能在训练资料里面加入噪声,让模型对某一个图片走后面其他都正常,开后门这种方法要成果后果非常恐怖
    在这里插入图片描述

Defense

  1. 被动
  2. 主动

Passive Defense

加一个滤波器平滑一下就可以达成不错的效果。
在这里插入图片描述
但是如果模型模糊的太过头会影响效果
在这里插入图片描述
也可以把图片压缩,或者用Generator生成图片。因为Generator没有见过噪声,所以就也不会把噪声复现出来。
在这里插入图片描述
但是被动防御一旦别人知道了,他们被动防御就没有用了,所以可以加上噪声,改变的方式连自己都不知道,就增加了攻击的难度。感觉和隐私保护一样。所以如果别人知道随机的防御还是有可能突破
在这里插入图片描述

Proactive Defense

在训练的时候就进行攻击,然后就能防御了。简单的说就是制造新的训练资料,这个资料都被攻击过,模型学习到了这些被攻击的资料就可以抵抗了。感觉像是找模型的漏洞,然后补丁。这个可以看成Data Augmentation。如果train的时候没有考虑的攻击,用没有考虑的攻击进行攻击,那么可能模型就抵抗不了了。同时需要很多计算资料。计算量很大,所以在大的训练资料上用的比较少
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值