zoukankan      html  css  js  c++  java
  • 李宏毅机器学习课程笔记-12.2对抗攻击进阶

    Universal Adversarial Attack

    Attack可以是分别为每个输入(x^0)找到对应的攻击信号(Delta x),还可以是找到一个适用于所有输入的攻击信号(Delta x),这就是Universal Adversarial Attack,详见:Universal adversarial perturbations(https://arxiv.org/abs/1610.08401)。

    One Pixel Attack

    One Pixel Attack就是攻击时的constraint为只能修改图片中一个pixel,即(d(x^0,x')=||x^0-x'||_0=||Delta x||_0leq1),其中可以将L0范数理解为非零元素的个数。

    如何确定要攻击哪个像素呢?暴力求解速度会很慢。还有个问题是我们是否需要最佳的攻击方案?如果能够使用Loss梯度下降找到最佳的攻击方案,那当然是好的,但其实我们只需攻击成功即可,因为攻击的目标主要是使模型失效,只要可以攻击成功就行。比如原模型对某图片的分类结果是置信度为16.48%的Cup,我们能找到一个方案使模型分类结果是置信度为16.74%的Soup Bowl即可而不需要必须使得置信度为100%。同理,我们只要能找到某个可以击破的像素就行而并不需要找到最薄弱的像素。

    那如何找到一个攻击方案呢?用Differential Evolution就行。Differential Evolution的好处是有较大的概率得到全局最优解并且不需要计算梯度也就不需要被攻击模型的参数。Differential Evolution与遗传算法非常类似,都包括变异、杂交和选择操作,但这些操作的具体定义与遗传算法有所不同。

    详见One pixel attack for fooling deep neural networks(https://arxiv.org/abs/1710.08864)。

    Adversarial Reprogramming

    我们可以在不改变模型参数的情况下,通过Attack来修改模型的“功能”,比如将一个图片分类模型的功能改为方块计数(方块数量对应某种种类),详见:

    Attack in the Physical World

    有一个问题是,我们说的这些攻击在物理世界中会失效吗?比如相机等设备会不会像人一样无法识别那些攻击信号呢?答案是不一定。有人做了相关实验,将扰动得到的图片(x')打印出来,然后用手机、相机等拍照再做分类或识别,仍然可以成功攻击模型,详见:Adversarial examples in the physical world(https://arxiv.org/abs/1607.02533v4)、https://www.youtube.com/watch?v=zQ_uMenoBCk&feature=youtu.be

    攻击还可以用在人脸识别领域,比如我戴一个实体眼镜(用于攻击)之后可能就会被人脸识别系统识别为其他人,详见:https://www.cs.cmu.edu/~sbhagava/papers/face-rec-ccs16.pdf

    攻击还可以用在自动驾驶中,假如汽车在自动驾驶时需要看红绿灯等标志物,那在这些标志物上贴一些攻击信号也许就会导致车辆“失控”,详见:https://arxiv.org/abs/1707.08945

    Attack Text & Audio

    攻击并不仅限于Image,还可以攻击Text,可参考:https://arxiv.org/pdf/1707.07328.pdf

    攻击并不仅限于Image和Text,还可以攻击Audio,可参考:

    Hidden Voice Attack

    Hidden Voice Attack就是生成一段人类无法听懂的audio但仍然可以骗过你的模型,比如用一段人类听不懂但被模型判定为“Hey, Siri”的audio启动你的苹果手机。

    详见:https://arxiv.org/abs/1904.05734

    如下图所示,处理audio的步骤为Preprocessing、Signal Processing、Model Inference,Hidden Voice Attack就是在Signal Processing阶段进行攻击。

    img

    如下图所示,对audio的扰动方式有4种,具体不再详细介绍。

    img

    Time Domain Inversion

    Time Domain Inversion简称TDI,它利用了magnitude FFT多对一的性质(两个不同的signal经过mFFT可以得到相同结果),所以我们可以将time domain中的signal进行处理,处理之后会影响人听懂但不影响模型。

    Random Phase Generation

    FFT返回了一个复数(a+bi),而(magnitude=sqrt{a^2+b^2}),不同的(a)(b)可以计算得到相同的magnitude,所以可以对(a)(b)进行修改,修改后会影响人听懂但不影响模型。

    High Frequency Addition

    High Frequency Addition简称HFA。

    在Preprocessing过程中会使用low-pass filter过滤掉比人声高很多的频段以增加Voice Processing System的准确率,那我们就可以在audio中加入高频段audio,这样会影响人听懂但不影响模型。

    Time Scaling

    将audio缩短到model能正确辨识但人听不懂。


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    linux格式化新硬盘并挂载,设置开机自动挂载
    各大名企的笔试面试题
    web2.0 Color
    选调生面试题
    网站流量概要分析
    css下拉菜单演示
    子查询
    技巧
    CMM与软件生命周期
    学习方法之PHP
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14713118.html
Copyright © 2011-2022 走看看