文章目录

  • 1 引入
  • 2 白盒攻击
    • 2.1 Biggio
    • 2.2 Szegedy's limited-memory BFGS (L-BFGS)
    • 2.3 Fast gradient sign method (FGSM)
    • 2.4 DeepFool
    • 2.5 Jacobian-based saliency map attack (JSMA)
    • 2.6 Basic iterative method (BIM) / Projected gradient descent (PGD) attack
    • 2.7 Carlini & Wagner′s attack (C&W′s attack)
    • 2.8 Ground truth attack
    • 2.9 其他lpl_plp​攻击
    • 2.10 全局攻击 (universal attack)
    • 2.11 空间转换攻击 (spatially transformed attack)
    • 2.12 无约束对抗样本
  • 3 物理世界攻击
    • 3.1 物理世界的对抗样本探索
    • 3.2 道路标志的Eykholt攻击
    • 3.3 Athaly的3D对抗对象
  • 4 黑盒攻击
    • 4.1 替换模型
    • 4.2 ZOO:基于零阶优化的黑盒攻击
    • 4.3 高效查询黑盒攻击
  • 5 灰盒攻击
  • 6 中毒攻击
    • 6.1 Biggio在SVM上的中毒攻击
    • 6.2 Koh的模型解释
    • 6.3 毒青蛙 (poison frogs)
  • 参考文献

1 引入

  相较于其他领域,图像领域的对抗样本生成有以下优势
  1)真实图像与虚假图像于观察者是直观的;
  2)图像数据与图像分类器的结构相对简单。
  主要内容:以全连接网络和卷积神经网络为例,以MNIST、CIFAR10,以及ImageNet为基础样本,研究基于逃避对抗,包括白盒、黑盒、灰盒,以及物理攻击的图像对抗样本生成。

2 白盒攻击

  攻击者接收到分类器CCC与受害样本 (victim sample) (x,y)(x,y)(x,y) 后,其目标是合成一张在感知上与原始图像相似,但可能误导分类器给出错误预测结果的虚假图像:
找到x′满足∥x′−x∥≤ϵ,例如C(x′)=t≠y,(1)\tag{1} \text{找到}x'\text{满足}\|x'-x\|\leq\epsilon,\ 例如C(x')=t\neq y, 找到x′满足∥x′−x∥≤ϵ, 例如C(x′)=t​=y,(1)其中∥⋅∥\|\cdot\|∥⋅∥用于度量x′x'x′与xxx的不相似性,通常为lpl_plp​范数。接下来介绍该攻击手段下的主要方法。

2.1 Biggio

  在MNIST数据集上生成对抗样本,攻击目标是传统的机器学习分类器,如SVM和3层全连接神经网络,且通过优化判别函数来误导分类器。
  例如图1中,对于线性SVM,其判别函数g(x)=<w,x>+bg(x)=<w,x>+bg(x)=<w,x>+b。假设有一个样本xxx被正确分类到3。则对于该模型,biggio首先生成一个新样本x′x'x′,其在最小化g(x′)g(x')g(x′)的同时保持∥x′−x∥1\|x'-x\|_1∥x′−x∥1​最小。如果g(x′)<0g(x')<0g(x′)<0,x′x'x′将被误分类。

图1:Biggio攻击在SVM分类器上的示意

2.2 Szegedy’s limited-memory BFGS (L-BFGS)

  首次应用在用于图像分类的神经网络上,其通过优化以下目标来寻找对抗样本:
min⁡∥x−x′∥22s.t.C(x′)=tand x′∈[0,1]m.(2)\tag{2} \begin{array}{l} & \min &\|x-x'\|_2^2\qquad \text{s.t.} C(x') = t\ \text{and }x'\in[0,1]^m. \end{array} ​min​∥x−x′∥22​s.t.C(x′)=t and x′∈[0,1]m.​(2)  通过引入损失函数来近似求解该问题:
min⁡λ∥x−x′∥22+L(θ.x′,t),s.t. x′∈[0,1]m,(3)\tag{3} \min\ \lambda\|x-x'\|_2^2+\mathcal{L}(\theta.x',t), \qquad\text{s.t. }x'\in[0,1]^m, min λ∥x−x′∥22​+L(θ.x′,t),s.t. x′∈[0,1]m,(3)其中λ\lambdaλ是一个规模参数。通过调整λ\lambdaλ,可以找到一个与xxx足够相似的x′x'x′,且同时误导分类器CCC。

2.3 Fast gradient sign method (FGSM)

  Goodfellow等人设计了一个一步到位的快速对抗样本生成方法:
x′=x+ϵsign(∇xL(θ,x,y)),非目标x′=x−ϵsign(∇xL(θ,x,t)),目标t(4)\tag{4} \begin{aligned} &x'=x+\epsilon\text{ sign}(\nabla_x\mathcal{L}(\theta,x,y)),\qquad\text{非目标}\\ &x'=x-\epsilon\text{ sign}(\nabla_x\mathcal{L}(\theta,x,t)),\qquad\text{目标}t \end{aligned} ​x′=x+ϵ sign(∇x​L(θ,x,y)),非目标x′=x−ϵ sign(∇x​L(θ,x,t)),目标t​(4)  在目标攻击设计下,该问题可以通过一步梯度下降求解:
min⁡L(θ,x′,t)s.t. ∥x′−x∥∞and x′∈[0,1]m.(5)\tag{5} \min\mathcal{L}(\theta,x',t)\qquad\text{s.t. }\|x'-x\|_\infty\text{ and }x'\in[0,1]^m. minL(θ,x′,t)s.t. ∥x′−x∥∞​ and x′∈[0,1]m.(5)  FGSM快速的一个原因是其仅需一次反向传播,因此适应于生成大量对抗样本的情况,其在ImageNet上的应用如图2

图2:只需一些扰动,熊猫图便会被误判

2.4 DeepFool

  研究分类器FFF围绕数据点的决策边界,试图找到一条可以超越决策边界的路径,如图3,从而误分类样本点xxx。例如,为误判类别为4的样本x0x_0x0​到类别3,决策边界可以被描述为F3={z:F(x)4−F(x)3=0}\mathcal{F}_3=\{ z:F(x)_4 - F(x)_3 = 0 \}F3​={z:F(x)4​−F(x)3​=0}。令f(x)=F(x)4−F(x)3f(x)=F(x)_4 - F(x)_3f(x)=F(x)4​−F(x)3​,在每次攻击中,它将使用泰勒展开F3′={x:f(x)≈f(x0)+<∇xf(x0)−(x−x0)>=0}\mathcal{F}_3'=\{ x:f(x)\approx f(x_0) + < \nabla_xf(x_0)-(x-x_0)>=0 \}F3′​={x:f(x)≈f(x0​)+<∇x​f(x0​)−(x−x0​)>=0}来线性化决策超平面,并计算ω0\omega_0ω0​到超平面F3′\mathcal{F}_3'F3′​的正交向量ω\omegaω。向量ω\omegaω可以作为扰动使得x0x_0x0​游离于超平面。通过移动ω\omegaω,算法将找到可以被分类为3的对抗样本x0′x_0'x0′​。

图3:决策边界

  DeepFool的实验结果展示,对于一般性的DNN图像分类器,所有的测试样本都非常接近决策边界。例如LeNet在MNIST数据集上训练好后,只需些许扰动,超过90%的样本都将被误分类,这表面DNN分类器对扰动是不健壮的。

2.5 Jacobian-based saliency map attack (JSMA)

  JSMA介绍了一种基于计算评分函数FFF雅可比矩阵的方法,其迭代地操作对模型输出影响最大的像素,可被视为一种贪心攻击算法。
  具体地,作者使用雅可比矩阵JF(x)=∂F(x)∂x={∂Fj(x)∂xi}i×j\mathcal{J}_F(x)=\frac{\partial F(x)}{\partial x}=\left\{ \frac{\partial F_j(x)}{\partial x_i} \right\}_{i\times j}JF​(x)=∂x∂F(x)​={∂xi​∂Fj​(x)​}i×j​来对F(x)F(x)F(x)响应xxx变化时的改变建模。在目标攻击设置下,攻击者试图将样本误分类为ttt。因此,JSMA反复地搜索和操作这样的像素,其增加/减少将导致Ft(x)F_t(x)Ft​(x)增加/减少∑j≠tFj(x)\sum_{j\neq t} F_j(x)∑j​=t​Fj​(x)。最终分类器将在类别ttt上给xxx更大的分数。

2.6 Basic iterative method (BIM) / Projected gradient descent (PGD) attack

  该方法是FGSM的迭代版本,在非目标攻击下,将迭代性地生成x′x'x′:
x0=x;xt+1=Clipx,ϵ(xt+αsign(∇xL(θ,xt,y)))(6)\tag{6} x_0=x; x^{t+1}=Clip_{x,\epsilon}(x^t+\alpha\text{ sign}(\nabla_x\mathcal{L}(\theta,x^t,y))) x0​=x;xt+1=Clipx,ϵ​(xt+α sign(∇x​L(θ,xt,y)))(6)  这里的ClipClipClip表示将接收内容投影到xxx的ϵ\epsilonϵ邻域超球Bϵ(x):{x′:∥x′−x∥∞≤ϵ}B_\epsilon(x):\{ x':\|x'-x\|_\infty\leq \epsilon \}Bϵ​(x):{x′:∥x′−x∥∞​≤ϵ}的函数。步长α\alphaα通常被设置为一个相当小的值,例如使得每个像素每次只改变一个单位,步数用于保证扰动可以到达边界,例如step=ϵalpha+10step=\frac{\epsilon}{alpha}+10step=alphaϵ​+10。如果xxx是随机初始化的,该算法也可被叫做PGD。
  BIM启发性地于样本xxx邻域l∞l_\inftyl∞​内搜寻具有最大损失的样本x′x'x′,这样的样本也被称为“最具对抗性”样本:当扰动强度被限定后,这样的样本有最强的攻击性,其最可能愚弄分类器。找到这样的对抗样本将有助于探测深度学习模型的缺陷。

2.7 Carlini & Wagner′s attack (C&W′s attack)

  C&W′s attack用于对抗在FGSM和L-BFGS上的防御策略,其目标是解决L-BFGS中定义的最小失真扰动。使用以下策略来近似公式2
min⁡∥x−x′∥22+c⋅f(x′,t),s.t. x′∈[0,1]m,(7)\tag{7} \min \|x-x'\|_2^2+c\cdot f(x',t),\qquad\text{s.t. }x'\in[0,1]^m, min∥x−x′∥22​+c⋅f(x′,t),s.t. x′∈[0,1]m,(7)其中f(x′,t)=(max⁡i=tZ(x′)i−Z(x′)t)+f(x',t)=(\max_{i=t}Z(x')_i-Z(x')_t)^+f(x′,t)=(maxi=t​Z(x′)i​−Z(x′)t​)+,Z(⋅)Z(\cdot)Z(⋅)用于获取softmax前的网络层输入。通过最小化f(x′,t)f(x',t)f(x′,t)可以找到一个在类别ttt上得分远大于其他类的x′x'x′。接下来运用线性搜索,将找到一个离xxx最近的x′x'x′。
  函数f(x,y)f(x,y)f(x,y)可以看作是关于数据(x,y)(x,y)(x,y)的损失函数:可以惩罚一些标签iii的得分Z(x)i>Z(x)yZ(x)_i>Z(x)_yZ(x)i​>Z(x)y​的情况。C&W’s attack与L-BFGS的唯一区别是前者使用f(x,t)f(x,t)f(x,t)来代替后者的交叉熵L(x,t)\mathcal{L}(x,t)L(x,t)。这样的好处在于,当分类器输出C(x′)=tC(x')=tC(x′)=t时,损失f(x′,t)=0f(x',t)=0f(x′,t)=0,算法将直接最小化x′x'x′到xxx的距离。
  作者宣称他们的方法是最强的攻击策略之一,其击败了很多被反击手段。因此,该方法可以作为DNN安全检测的基准点,或者用于评估对抗样本的质量。

2.8 Ground truth attack

  攻击与防御针锋相对,为了打破这种僵局,Carlini等人试图找到一种最强攻击,其用于寻找理论上的最小失真对抗样本。该攻击方法基于一种用于验证神经网络特性的算法,其将模型参数FFF和数据(x,y)(x,y)(x,y)编码为类线性编程系统的主题,并通过检查样本xxx的邻域Bϵ(x)B_\epsilon(x)Bϵ​(x)是否存在一个能够误导分类器的样本x′x'x′来处理该系统。通过缩小邻域直至不存在x′x'x′,那么由于最后一次搜寻到的x′x'x′与xxx之间具有最小不相似性,此时的x′x'x′便被叫做基本事实对抗样本 (ground truth adversarial example)。
  Ground truth attack是首次严肃精确分类器健壮性的方法。然而,这种方法使用了可满足性模理论 (satisfiability modulo theories, SMT) 求解器 (一种检查一系列理论可满足性的复杂算法),这将使其速度缓慢且无法扩展到大型网络。后续则有工作着手提升其效率效率。

2.9 其他lpl_plp​攻击

  2.1–2.8的攻击方式主要关注l2l_2l2​或l∞l_\inftyl∞​约束下的扰动,这里则介绍一些其他的:
  1)One-pixel attack:与L-BFGS区别在于约束种使用l0l_0l0​,好处是可以限制允许改变的像素的数量。该工作展示,在CIFAR10数据集上,仅需改变一个像素就可以令训练良好的CNN分类器预判一半以上的样本;
  2)Elastic-net attack (ENA):与L-BFGS的区别在于同时使用l1l_1l1​和l2l_2l2​范数来约束。

2.10 全局攻击 (universal attack)

  2.1–2.9的方法仅对一个特定的样本xxx进行攻击。而该攻击旨在误导分类器在所有测试集上的结果,其试图找到满足以下条件的扰动δ\deltaδ:
  1)∥δ∥p≤ϵ\|\delta\|_p\leq\epsilon∥δ∥p​≤ϵ;
  2)Rx∼D(x)(C(x+δ)≠C(x))≤1−σ\mathbb{R}_{x\sim D(x)}(C(x+\delta)\neq C(x))\leq1-\sigmaRx∼D(x)​(C(x+δ)​=C(x))≤1−σ。
  在相应实验中,成功找到了一个扰动δ\deltaδ,使得ResNet152网络在ILSVRC 2012数据集上的85.4%85.4\%85.4%的样本受到攻击。

2.11 空间转换攻击 (spatially transformed attack)

  传统的对抗性攻击算法直接修改图像中的像素,这将改变图像的颜色强度。空间转换攻击通过在图像上添加一些空间扰动来进行攻击,包括局部图像特征的平移扭曲、旋转,以及扭曲。这样的扰动足以逃避人工检测,亦能欺骗分类器,如图4

图4:空间转换攻击

2.12 无约束对抗样本

  2.1–11的工作均在图像上添加不引入注意的扰动,该工作则生成了一些无约束的对抗样本:这些样本无需看起来和受害图像类似,而是能够愚弄分类器且在观察者眼中合法的图像。
  为了攻击分类器CCC,增强类对抗生成网络 (AC-GAN) G\mathcal{G}G首先基于ccc类噪声向量z0z^0z0生成一个合法样本xxx。然后找到一个接近z0z^0z0的噪声向量zzz,其使得G(z)\mathcal{G}(z)G(z)可以误导CCC。由于zzz在潜在空间中与z0z^0z0相似,输出G(z)\mathcal{G}(z)G(z)依然具备标签yyy,从而达到攻击的目的。

3 物理世界攻击

  章节2中的所有攻击方法都以数字形式应用,其被攻击方将输入图像直接提供给机器学习模型。然而,在某些情况下并非总是如此,例如使用摄像头、麦克风或其他传感器接收信号作为输入的情况。这种情况下依然通过生成物理世界对抗对象来攻击这些系统吗?这样的攻击方式是存在的,例如将贴纸贴在道路标志上,这会严重威胁自动驾驶汽车的标志识别器。这类对抗性对象对深度学习模型的破坏性更大,因为它们可以直接挑战DNN的许多实际应用,例如人脸识别、自动驾驶等。

3.1 物理世界的对抗样本探索

  例如通过检查生成的对抗图像 (FGSM、BIM) 在自然变换 (如改变视点、光照等) 下是否“稳健”来探索制作物理对抗对象的可行性。在这里,“健壮”是指制作的图像在转换后仍然是对抗性的。为了应用这种转换,首先打印出精心制作的图像,并让测试对象使用手机为这些打印输出拍照。在这个过程中,拍摄角度或光照环境不受限制,因此获取的照片是从先前生成的对抗样本转换而来的样本。实验结果表明,在转换后,这些对抗样本中的很大一部分,尤其是FGSM生成的样本,仍然与分类器对抗。这些结果表明物理对抗对象的可能性可以在不同环境下欺骗传感器。

3.2 道路标志的Eykholt攻击

  图5中,通过在信号标志的适当位置粘贴胶带以愚弄信号识别器。作者的攻击手段包括:
  1)基于l1基于l_1基于l1​范数的攻击用于粗略定位扰动区域,这些区域后面将粘贴胶带;
  2)在粗略定位区域,使用基于l2l_2l2​范数的攻击生成胶带的颜色;
  3)指定区域粘贴指定颜色胶带。这样的攻击方式从不同角度不同距离混淆自动驾驶系统。

图5:交通信号标志上粘贴胶带

3.3 Athaly的3D对抗对象

  一个成功制作物理3D对抗对象的工作如图 6 所示。作者使用3D打印来制造对抗性乌龟。为了实现目标,他们实施了3D渲染技术。给定一个带纹理的3D对象,首先优化对象的纹理,使渲染图像从任何角度来看都是对抗性的。在这个过程中,还确保扰动在不同环境下保持对抗性:相机距离、光照条件、旋转,以及背景。在找到3D渲染的扰动后,他们打印3D对象的一个实例。

图6:3D对抗对象

4 黑盒攻击

4.1 替换模型

  攻击者仅能通过输入样本xxx后获取的标签信息yyy来执行攻击。此外,攻击者可以有以下可用信息:
  1)分类数据的领域;
  2)分类器的框架,例如CNN还是RNN。
  该工作探索了对抗样本的可迁移性:一个样本x′x'x′如果可以攻击分类器F1F_1F1​,那么它同样可以攻击与F1F_1F1​结构类似的分类器F2F_2F2​。因此,作者训练了一个替换模型F′F'F′以对受害模型FFF进行模拟,然后通过攻击F′F'F′来生成对抗样本,其主要步骤如下:
  1)合成替换训练数据集:例如手写识别任务中,攻击者可以复刻测试样本或者其他手写数据;
  2)训练替换模型:将合成数据集XXX输入受害者模型以获取标签YYY,随后基于(X,Y)(X,Y)(X,Y)训练DNN模型F′F'F′。攻击者将基于自身知识,从训练模型中选择一个与受害者模型结构最相似的F′F'F′;
  3)数据增强:迭代增强(X,Y)(X,Y)(X,Y)并重训练F′F'F′。这个过程将提升复刻数据的多样性并提升 F′F'F′的精度;
  4)攻击替换模型:利用已有方法如FGSM来攻击F′F'F′,生成的对抗样本将用于戏耍FFF

对抗攻击与防御 (1):图像领域的对抗样本生成相关推荐

  1. 论智能问答中的对抗攻击及防御策略

    大数据产业创新服务媒体 --聚焦数据 · 改变商业 编者按 深度学习模型应用广泛,但其自身有一定的"脆弱性",即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这 ...

  2. 百分点认知智能实验室出品:智能问答中的对抗攻击及防御策略

    编者按 深度学习模型应用广泛,但其自身有一定的"脆弱性",即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗攻击.针对对抗攻击的研究,早 ...

  3. 任奎:人工智能算法安全浅析——深度学习中的对抗攻击与防御

    2020-05-19 19:52:46 任奎 随着计算机产业发展带来的计算性能与处理能力的大幅提高,人工智能在音视频识别.自然语言处理和博弈论等领域得到了广泛应用.在此背景下,确保人工智能的核心--深 ...

  4. 《对抗攻击与防御分类方法综述》阅读笔记20220401

    <对抗攻击与防御分类方法综述> A Review of Adversarial Attack and Defense for Classification Methods DOI:10.1 ...

  5. 论文浅尝 | 图神经网络的对抗攻击和防御相关文献集

    本文转载自公众号:专知. 作者:Wei Jin. 导读:本资源整理了关于图形数据或GNN(图形神经网络)上的对抗攻击和防御的论文链接.并对其进行分类. 目录 Survey Papers Attack ...

  6. 6 15种对抗攻击的防御方法

    目前,在对抗攻击防御上存在三个主要方向: 1)在学习过程中修改训练过程或者修改的输入样本. 2)修改网络,比如:添加更多层/子网络.改变损失/激活函数等. 3)当分类未见过的样本时,用外部模型作为附加 ...

  7. 图对抗攻击及防御算法种类

    一. 图对抗攻击 按照攻击算法在图中添加扰动的不同阶段,可以将图对抗攻击分为两类,分别为逃逸攻击和投毒攻击.其中逃逸攻击是攻击者构造对抗样本在模型测试简短欺骗目标模型,而投毒攻击是攻击者在模型训练阶段 ...

  8. 【Pytorch项目实战】之对抗攻击:无目标对抗攻击(FGSM)、有目标对抗攻击(FGSM)

    文章目录 博主精品专栏导航 对抗攻击(Adversarial Attack) (1)什么是对抗性攻击? (2)为什么会发生对抗性攻击? (3)常见的对抗样本生成方式 (4)攻击方式 (5)防御方式 ( ...

  9. 对抗攻击、防御论文介绍

    攻击: 快速梯度符号法(FGSM),通过在损失梯度的梯度方向上添加增量来生成一个对抗示例: Goodfellow, Ian J., Jonathon Shlens, and Christian Sze ...

最新文章

  1. 浅谈C#中的异步编程
  2. 追求代码质量: 用 AOP 进行防御性编程
  3. gVim 中文内容显示为乱码的解决办法
  4. css--左右visibility建立 “collapse”值问题
  5. 电脑技巧:如何彻底关闭电脑右下角闪烁弹窗广告?
  6. mysql host %s_python mysql:虽然%s和列匹配,但并非SQL语句中使用的所有参数
  7. 晚上不睡觉,搞的一个例子《JS实现动画》
  8. 我们应该搞清楚分支预测
  9. html5 drawimage参数,HTML canvas
  10. 数据结构与算法之七归并排序
  11. Android中的NavigationView
  12. CCS的c语言编程,CCS_C语言编程
  13. 怎么用linux给苹果手机降级,【教程】iPhone降级_iPhone系统怎么降级_手机中国
  14. 腾讯云短信服务详细教程
  15. 小米android在哪里,小米手机恢复出厂设置在哪里?操作流程在这儿一键恢复(适合各种安卓机型)...
  16. 大话Chrome浏览器原理
  17. SQL server 身份验证
  18. 网易云瀚海一体机,云计算“全栈”航母带来了什么?
  19. 物联网无线技术具体是怎么分类的,主要的应用场景是什么?
  20. 11.23 夯实的django基础

热门文章

  1. [Win10] depends.exe(即Dependency Walker)运行很慢解决办法
  2. java启动参数 -xmn_Java 进阶 (三) JVM参数说明
  3. htpc电脑方案_用xbmcbuntu系统一台电脑搞定HTPC+NAS 篇一:基础篇
  4. PS制作麦克风质感图标,UI设计教程
  5. 试图5天学会python——Mooc 实例
  6. 留学生cs辅导 csp-j/s 数据结构与算法
  7. 医学生的编程学习:R Python— — 前言
  8. 每个男孩的机械梦「GitHub 热点速览 v.21.41」
  9. 阿里云网站备案入口-阿里云网站备案入口说明文档
  10. centos6 drbd heartbeat mysql高可用搭建与压测