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

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

  • 做笔记的目的
  • How to Attack
  • Attack Approach
  • 不同的攻击方式
  • Defense
    • Passive Defense
    • Proactive Defense

做笔记的目的

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

How to Attack

Network准确率比较高并不一定能应用,也应该有一定的攻击抵抗能力。比如垃圾邮件检测,如果发送者可以发起攻击,让算法分不出来什么是垃圾邮箱。
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第1张图片
攻击分为无目标攻击和有目标攻击

  1. 无目标攻击:只要类别预测的不对就可以
  2. 有目标攻击:让模型把图片看成固定的类别,如下图的Star Fish。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第2张图片
    在ResNet-50的真实案例中就可以看到,加入了人眼看不到的噪声就让模型100%认定猫是鱼。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第3张图片
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第4张图片
    但是当加入的噪声比较大的时候那么机器就可以看出来。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第5张图片
    如何找到噪声,有目标和无目标的优化方程不一样,但是都需要让噪声越小越好,这个阈值是根据人类的感知来决定的。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第6张图片
    有许多种衡量两个图片的距离的方法如L2-norm和L-infinity,然后L-infinity更加符合人的感知能力。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第7张图片

Attack Approach

主要还是用梯度下降的方法来做,同时也要考虑不能超出限制,所以伪代码加了一个If语句。
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第8张图片
比较经典同时快速的方法是Fast Gradient Sign Method(FGSM),我们不直接用而是加一个sign,攻击完之后一定落在范围内,只更新一次,所以是Fast,这往往能必杀。
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第9张图片
模型攻击分为白箱攻击和黑箱攻击

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

不同的攻击方式

  1. One pixel attack
  2. Universal Adversarial Attack
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第15张图片
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第16张图片
    其他类型的资料也有这样的问题。
    在判断是不是合成声音的模型上,进行攻击,让其判断不出来是合成声音。也可以再文字是进行攻击,什么样的模型都有可能攻击成功。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第17张图片
    有没有可能发生再真实世界中那?
    需要考虑很多因素,但是任然可以成功。
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第18张图片
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第19张图片
    让模型做不是他们的任务
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第20张图片
    Backdoor,让模型给开后门,在训练阶段就进行攻击,有可能在训练资料里面加入噪声,让模型对某一个图片走后面其他都正常,开后门这种方法要成果后果非常恐怖
    [2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第21张图片

Defense

  1. 被动
  2. 主动

Passive Defense

加一个滤波器平滑一下就可以达成不错的效果。
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第22张图片
但是如果模型模糊的太过头会影响效果
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第23张图片
也可以把图片压缩,或者用Generator生成图片。因为Generator没有见过噪声,所以就也不会把噪声复现出来。
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第24张图片
但是被动防御一旦别人知道了,他们被动防御就没有用了,所以可以加上噪声,改变的方式连自己都不知道,就增加了攻击的难度。感觉和隐私保护一样。所以如果别人知道随机的防御还是有可能突破
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第25张图片

Proactive Defense

在训练的时候就进行攻击,然后就能防御了。简单的说就是制造新的训练资料,这个资料都被攻击过,模型学习到了这些被攻击的资料就可以抵抗了。感觉像是找模型的漏洞,然后补丁。这个可以看成Data Augmentation。如果train的时候没有考虑的攻击,用没有考虑的攻击进行攻击,那么可能模型就抵抗不了了。同时需要很多计算资料。计算量很大,所以在大的训练资料上用的比较少
[2022]李宏毅深度学习与机器学习第十讲(必修)-Adversarial Attack_第26张图片

你可能感兴趣的:(深度学习,李宏毅深度学习笔记,深度学习,人工智能)