对抗样本(一)以综述入门

文章目录

一、论文相关信息

  1.论文题目

    Adversarial Examples: Attacks and Defenses for Deep Learning

  2.论文时间

    2017年

  3.论文文献

    https://arxiv.org/abs/1712.07107

二、论文背景及简介

  随着深度学习的快速发展与巨大成功,深度学习被应用在许多对安全有严格要求的环境中。然而,深度神经网络近来被发现,对于精心设计好的输入样本,其是脆弱的,这种样本就被称为对抗样本。对抗样本对人类是很容易分辨的,但却能在测试或部署阶段,很容易的糊弄深度神经网络。当应用深度神经网络到对安全有严格要求的环境中时,处理对抗样本造成的脆弱性变成已成了一个重要的任务。因此对抗样本的攻击防御吸引了很大的注意。

​ 这是一篇17年的对抗样本的综述,用来对对抗样本领域的基本知识进行一定程度的了解。

​ 注:篇幅较长。

三、论文的主要内容

     1、系统的分析生成对抗样本的方法,在不同的维度对攻击方法进行分类,并用易懂的直观的方式展现出来

     2、观察近来的一些生成对抗样本的方法以及他们的变量,使用已经提供的分类法来比较它们。同时,展示了强化学习、生成建模、人脸识别、目标检测、语义分割、自然语言处理和恶意软件检测等领域的应用实例

    3、基于对抗性实例的可转移性、对抗性实例的存在性和深度神经网络的健壮性评价,概述了对抗性实例的主要挑战和潜在的未来研究方向。

    PS:对抗样本的迁移性的含义:能够迷惑一个模型的对抗样本通常也能够迷惑另外一种结构的模型,即便那个模型用不同的训练集训练,甚至用不同的训练方法(CNN的对抗样本也能迷惑决策树)。

    对抗样本的迁移效应使得黑箱对抗攻击成为可能。

四、论文的安排

      Section Ⅱ:介绍了深度学习的技术、模型、数据集的背景,讨论了传统的机器学习中的对抗样本例子

      Section Ⅲ:阐述了对抗样本的分类方法(对抗样本术语介绍)

      Section Ⅳ:详尽阐述了这些生成对抗样本的方法(对抗攻击方法)

      Section Ⅴ:讨论了对抗样本例子的应用(一些其他领域的对抗样本例子)

      Section Ⅵ:相应的对抗样本例子的对策被讨论(对抗防御)

      Section Ⅶ:讨论了目前的挑战和潜在的解决方案

      Section Ⅷ:总结了工作

五、论文的主要内容

 Section Ⅱ 简介

    A. 简要的介绍了深度学习,包括深度学习的概念、结构、数据集

    B. 简要的陈述了ML中的对抗样本及解决方案


 Section Ⅲ 术语介绍

     将生成对抗样本的方法按三个维度进行分类,威胁模型(threat model), 扰动(perturbation), 基准( benchmark)

    A.Threat model

      对其又分成四个方面adversarial falsification, adversary’s knowledge, adversarial specificity, and attack frequency

      1、Adversarial Falsification

          分成假正例攻击(False positive attacks)和假反例攻击(False negative attacks)

          假正例攻击是生成一个反例,让模型误认为正例

          假反例攻击是生成一个正例,让模型误认为反例

      2、Adversary’s Knowledge

          分成白盒攻击(White-box attacks)和黑盒攻击(Black-box attacks)

          白盒攻击假定攻击者可以完全访问他们正在攻击的神经网络模型的结构和参数,包括训练数据,模型结构,超参数情况,层的数目,激活函数,模型权重等。

          黑盒攻击假定攻击者不能访问他们正在攻击的神经网络模型的结构和参数,只知道模型的输出(label or condidnece)。白盒攻击样本可以通过一些方法转换成黑盒攻击的方式。

      3、Adversarial Specificity

          分成有目标攻击(Targeted attacks)和无目标攻击(Non-targeted attacks)

          目标攻击是神经网络将生成的对抗样本分类成一个特定的类。目标攻击通常最大化目标类的可能性。

          无目标攻击,只要神经网络判定的label与原label不同即认为攻击成功。无目标攻击中的对抗样本生成方式大致有两种,一为运行几个目标攻击,取最小的扰动的那一个为对抗样本;二为最小化正确的类的分类可能性。

      4、Attack Frequency

          分成有单步攻击(One-time attacks)和迭代攻击(Iterative attacks)

          单步攻击,只需优化一次即可生成对抗样本

          迭代攻击,迭代的进行优化来生成对抗样本。比单步攻击效果更好,但花费更多的计算时间。


    B.Perturbation

      分析了扰动的三个方面perturbation scope, perturbation limitation, and perturbation measurement

      1、Perturbation scope

          分成个体攻击(Individual attacks)和普适性攻击(Universal attacks)

          个体攻击对于每一个不同的原始输入应用不同的扰动

          普适性攻击对整个数据集应用一个通用的扰动

          现在大多数的攻击策略都是个体攻击,但是普适性攻击会让部署到现实世界更加容易。

      2、Perturbation limitation

          分成优化扰动(Optimized Perturbation)和普适性攻击(Constraint Perturbation)

          优化扰动是把扰动作为优化问题的目标。为了最小化扰动来让人类无法辨别出扰动

          普适性攻击是将扰动作为优化问题的约束条件。只要求扰动足够小。

      3、Perturbation measurement

          分成lp measure和Psychometric perceptual adversarial similarity score (PASS)

          l0 l2 l∞,是三种常用的评价标准。l0计算对抗样本中改变的像素的数目。l2测量对抗样本与原始样本的欧氏距离。l∞表示对抗样本中所有像素的最大改变值

          PASS是一种新的评价标准,符合人类的感知


    C.Perturbation

      1、Datasets

          MNIST, CIFAR-10, and ImageNet是3中最常用的数据集。MNIST, CIFAR-10因为简单且数目少,所以比较容易去攻击和防御。ImageNet是至今最好的数据集去评价对抗攻击。

      1、Victim Models

          LeNet, VGG, AlexNet, GoogLeNet, CaffeNet, and ResNet. 比较常用。


 Section Ⅳ 对抗攻击方法

      本节阐述了几个典型的生成对抗样本方法。通过这些方法来说明对抗攻击如何被提升,以及当时的SOTA的对抗攻击能达到什么程度。
在 以 下 的 公 式 中 , x 代 表 原 始 图 像 。 x ′ 代 表 对 抗 样 本 。 l 代 表 原 始 标 签 , l ’ 代 表 对 抗 样 本 的 标 签 。 η 代 表 扰 动 在以下的公式中,x代表原始图像。x'代表对抗样本。\\ l代表原始标签,l’代表对抗样本的标签。\\ \eta代表扰动 xxllη

      1、L-BFGS

        Szegedy 等人在2014年首次提出了使用对抗样本攻击深度神经网络。他们通过L-BFGS 方法产生对抗样本,方法如下:
m i n   x ′    c ∣ ∣ η ∣ ∣ + J θ ( x ′ , l ′ ) s . t .       x ′ ∈ [ 0 , 1 ] min\ x'\ \ c||\eta||+J_\theta(x',l') \\ s.t. \ \ \ \ \ x' \in[0,1] min x  cη+Jθ(x,l)s.t.     x[0,1]
        为了找到适合的常量C,L-BFGS算法通过线性搜索C > 0的所有情况,找到C 的近似值。实验表明,生成的对抗样本也可以推广到不同的模型和不同的训练数据集中。


      2、Fast Gradient Sign Method (FGSM)

        L-BFGS方法中使用的线性搜索方法代价很高并且是不切实际的。Goodfellow等人提出了一种快速的方法,叫做FGSM。他们在每一个像素上仅仅执行了一步沿着梯度符号方向上的梯度更新。他们的扰动形式为
η = ϵ s i g n ( ▽ x J θ ( x , l ) )     ϵ 代 表 扰 动 的 大 小 \eta = \epsilon sign(\bigtriangledown_xJ_\theta(x,l)) \ \ \ \epsilon代表扰动的大小\\ η=ϵsign(xJθ(x,l))   ϵ
        最后    x ′ = x + η \ \ x' = x + \eta   x=x+η 。这个扰动,是通过反向传播过程来计算的

在这里插入图片描述

        作者发现,高维神经网络的线性部分无法抵抗对抗样本。因此,一些正则化可以被用于深度神经网络。且,预训练不能够增加网络的鲁棒性。FGSM是一种无目标攻击。


        1、FGSM的改进方法之Fast Gradient Value method

          在该改进方法中用   η = ▽ x J ( θ , x , l ) \ \eta=\bigtriangledown_x J(\theta,x,l)  η=xJ(θ,x,l) 替换原来的扰动。由于该方法没有常量,所以会生成具有较大差异的图像。


        2、FGSM的改进方法之One-step Target Class Method (OTCM)

          在该方法中,作者认为单步攻击是很容易迁移但是也很容易防御。所以将动量的思想放入FGSM中,来迭代的生成对抗样本。每次迭代的梯度计算公式为:
g t + 1 = μ g t + ▽ x J θ ( x t ′ , l ) ∣ ∣ ▽ x J θ ( x t ′ , l ) ∣ ∣ g_{t+1} = \mu g_t + \frac{\bigtriangledown_xJ_\theta(x'_t,l)}{||\bigtriangledown_xJ_\theta(x'_t,l)||} gt+1=μgt+xJθ(xt,l)xJθ(xt,l)
          然后,对抗样本通过公式   x t + 1 ′ = x t ′ + ϵ s i g n ( g t + 1 ) \ x'_{t+1} = x'_t + \epsilon sign(g_{t+1})  xt+1=xt+ϵsign(gt+1) 获得。该方法通过引入动量提高了攻击的有效性,通过使用单步攻击和压缩方法提高了其迁移性

          同时,该方法将FGSM拓展到了目标攻击,其公式如下:
x ′ = x − ϵ s i g n ( ▽ x J θ ( θ , x , l ′ ) ) x' = x - \epsilon sign(\bigtriangledown_xJ_\theta(\theta,x,l')) x=xϵsign(xJθ(θ,x,l))

        3、FGSM的改进方法之RAND-FGSM

          作者发现,因为gradient masking,FGSM对白盒攻击的鲁棒性更好。所以,作者提出了随机FGSM,在更新对抗样本时,对样本增加随机值来进行对抗样本的防御。公式如下:
x t m p = x + α ⋅ s i g n ( N ( 0 d , I d ) ) , x ′ = x t m p + ( ϵ − α ) ⋅ s i g n ( ▽ x t m p J ( x t m p , l ) ) 在 这 里 α , ϵ 时 变 量 , 并 且 α < ϵ x_{tmp} = x + \alpha·sign(N(0^d,I^d)),\\ x' = x_{tmp} + (\epsilon - \alpha)·sign(\bigtriangledown_{x_{tmp}}J(x_{tmp},l))\\ 在这里\alpha,\epsilon时变量,并且\alpha<\epsilon xtmp=x+αsign(N(0d,Id)),x=xtmp+(ϵα)sign(xtmpJ(xtmp,l))α,ϵα<ϵ

      3、Basic Iterative Method (BIM)

        之前的方法是假定数据能够直接被送入神经网络中。然而,在很多情况下,人们只能依靠一些设备例如照相机、传感器来传送数据。Kurakin等人将对抗样本应用到现实世界中。他们对FGSM做了一点点小的改变,使用了一个更好的优化方式(多次迭代)。在每次迭代过程中,他们会限制像素值来避免过大。
C l i p x , ξ { x ′ } = m i n { 255 , x + ξ , m a x { 0 , x − ϵ , x ′ } } Clip_{x,\xi} \{x'\} = min\{255,x+\xi,max\{0,x-\epsilon,x'\}\} Clipx,ξ{ x}=min{ 255,x+ξ,max{ 0,xϵ,x}}
        在这里   C l i p x , ξ { x ′ } \ Clip_{x,\xi} \{x'\}  Clipx,ξ{ x} 函数限制了在每次迭代过程中的对抗样本的改变的大小。对抗样本通过多次迭代产生:
x 0 = x , x n + 1 = C l i p x , ξ { x n + ϵ s i g n ( ▽ x J ( x n , y ) ) } x_0 = x,\\ x_{n+1} =Clip_{x,\xi} \{x_n + \epsilon sign(\bigtriangledown _xJ(x_n,y))\}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值