对抗攻击与防御 (1):图像领域的对抗样本生成
文章目录
- 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′∥22s.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(∇xL(θ,x,y)),非目标x′=x−ϵ sign(∇xL(θ,x,t)),目标t(4) 在目标攻击设计下,该问题可以通过一步梯度下降求解:
minL(θ,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)+<∇xf(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=tFj(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(∇xL(θ,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)=(maxi=tZ(x′)i−Z(x′)t)+f(x',t)=(\max_{i=t}Z(x')_i-Z(x')_t)^+f(x′,t)=(maxi=tZ(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):图像领域的对抗样本生成相关推荐
- 论智能问答中的对抗攻击及防御策略
大数据产业创新服务媒体 --聚焦数据 · 改变商业 编者按 深度学习模型应用广泛,但其自身有一定的"脆弱性",即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这 ...
- 百分点认知智能实验室出品:智能问答中的对抗攻击及防御策略
编者按 深度学习模型应用广泛,但其自身有一定的"脆弱性",即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗攻击.针对对抗攻击的研究,早 ...
- 任奎:人工智能算法安全浅析——深度学习中的对抗攻击与防御
2020-05-19 19:52:46 任奎 随着计算机产业发展带来的计算性能与处理能力的大幅提高,人工智能在音视频识别.自然语言处理和博弈论等领域得到了广泛应用.在此背景下,确保人工智能的核心--深 ...
- 《对抗攻击与防御分类方法综述》阅读笔记20220401
<对抗攻击与防御分类方法综述> A Review of Adversarial Attack and Defense for Classification Methods DOI:10.1 ...
- 论文浅尝 | 图神经网络的对抗攻击和防御相关文献集
本文转载自公众号:专知. 作者:Wei Jin. 导读:本资源整理了关于图形数据或GNN(图形神经网络)上的对抗攻击和防御的论文链接.并对其进行分类. 目录 Survey Papers Attack ...
- 6 15种对抗攻击的防御方法
目前,在对抗攻击防御上存在三个主要方向: 1)在学习过程中修改训练过程或者修改的输入样本. 2)修改网络,比如:添加更多层/子网络.改变损失/激活函数等. 3)当分类未见过的样本时,用外部模型作为附加 ...
- 图对抗攻击及防御算法种类
一. 图对抗攻击 按照攻击算法在图中添加扰动的不同阶段,可以将图对抗攻击分为两类,分别为逃逸攻击和投毒攻击.其中逃逸攻击是攻击者构造对抗样本在模型测试简短欺骗目标模型,而投毒攻击是攻击者在模型训练阶段 ...
- 【Pytorch项目实战】之对抗攻击:无目标对抗攻击(FGSM)、有目标对抗攻击(FGSM)
文章目录 博主精品专栏导航 对抗攻击(Adversarial Attack) (1)什么是对抗性攻击? (2)为什么会发生对抗性攻击? (3)常见的对抗样本生成方式 (4)攻击方式 (5)防御方式 ( ...
- 对抗攻击、防御论文介绍
攻击: 快速梯度符号法(FGSM),通过在损失梯度的梯度方向上添加增量来生成一个对抗示例: Goodfellow, Ian J., Jonathon Shlens, and Christian Sze ...
最新文章
- 浅谈C#中的异步编程
- 追求代码质量: 用 AOP 进行防御性编程
- gVim 中文内容显示为乱码的解决办法
- css--左右visibility建立 “collapse”值问题
- 电脑技巧:如何彻底关闭电脑右下角闪烁弹窗广告?
- mysql host %s_python mysql:虽然%s和列匹配,但并非SQL语句中使用的所有参数
- 晚上不睡觉,搞的一个例子《JS实现动画》
- 我们应该搞清楚分支预测
- html5 drawimage参数,HTML canvas
- 数据结构与算法之七归并排序
- Android中的NavigationView
- CCS的c语言编程,CCS_C语言编程
- 怎么用linux给苹果手机降级,【教程】iPhone降级_iPhone系统怎么降级_手机中国
- 腾讯云短信服务详细教程
- 小米android在哪里,小米手机恢复出厂设置在哪里?操作流程在这儿一键恢复(适合各种安卓机型)...
- 大话Chrome浏览器原理
- SQL server 身份验证
- 网易云瀚海一体机,云计算“全栈”航母带来了什么?
- 物联网无线技术具体是怎么分类的,主要的应用场景是什么?
- 11.23 夯实的django基础
热门文章
- [Win10] depends.exe(即Dependency Walker)运行很慢解决办法
- java启动参数 -xmn_Java 进阶 (三) JVM参数说明
- htpc电脑方案_用xbmcbuntu系统一台电脑搞定HTPC+NAS 篇一:基础篇
- PS制作麦克风质感图标,UI设计教程
- 试图5天学会python——Mooc 实例
- 留学生cs辅导 csp-j/s 数据结构与算法
- 医学生的编程学习:R Python— — 前言
- 每个男孩的机械梦「GitHub 热点速览 v.21.41」
- 阿里云网站备案入口-阿里云网站备案入口说明文档
- centos6 drbd heartbeat mysql高可用搭建与压测