这是用户在 2024-8-5 23:12 为 https://zhuanlan.zhihu.com/p/707238664 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
基于决策的对抗样本攻击算法

基于决策的对抗样本攻击算法

10 人赞同了该文章
发布于 2024-07-06 01:26・IP 属地河北 ,编辑于 2024-07-17 17:14・IP 属地河北
目录
收起
问题建模
估计决策边界法向量的方法
Boundary Attack
HopSkipJumpAttack
qFool 和 GeoDA
基于半圆搜索路径的方法
SurFree
CGBA
总结

封面图来自 wallhere.com/en/wallpap。本文遵循 CC BY-NC-SA 4.0 协议

自 2013 年 Szegedy 等人发现了深度学习模型的脆弱性,对抗样本攻击已被研究了十余年之久。这种现象一般来自于模型的鲁棒性不足:面对视觉上 (或者以某种量化形式度量的距离) 接近的样本,我们预期模型应得到相同的结果,即保持稳定和准确的预测能力;而对抗样本的存在说明:即使模型在正常情况下表现良好,但在面对对抗样本时可能产生误判,这降低了模型的可靠性。在真实世界中,尤其是许多安全关键(safety-critical)领域里(如自动驾驶),深度学习的应用也受到了对抗样本的挑战。

之前我曾写了一篇介绍对抗样本攻击的(十分简单的)文章

其中也介绍了部分经典算法,诸如 FGSM、PGD 等等,但仍觉得十分不够味,关于黑盒对抗样本攻击的各种研究只是一笔带过。前段时间读了几篇文章,简单整理一下,聊为读者饭后消遣。若此文有各种舛误纰谬还请不吝指正。

问题建模

我们依旧是研究最经典的图像分类任务中的对抗样本。其生成机制可以描述如下:模型提供方提供一个经过训练的图像分类器,用户输入一张图像以获得类别标签的预测;对抗样本图像在原始的“干净”图像中添加小的、人类难以察觉的扰动,误导图像分类器从而使用户将得到错误的图像标签预测结果。

这一攻击过程可以抽象为这样一个优化问题:

给定样本空间 X\mathcal{X} 和标签空间 Y\mathcal{Y} ,以及训练的深度学习模型 f:XYf:\mathcal{X}\mapsto \mathcal{Y} 、原始输入数据样本 x\bm{x} , 攻击者的目的是生成一个对抗样本 x\bm{x}' , 使其输入 ff 后得到的标签 yy'x\bm{x} 对应的真值标签 yy 不同, 同时 x\bm{x}x\bm{x}' 之间的差距尽可能小。一般来说这种差距都使用 p\ell_p -范数衡量,我们用 \|\cdot\| 表示。

minxxxs.t. f(x)f(x)\begin{aligned} \min_{\bm{x}'}\; & \|\bm{x}-\bm{x}'\| \\ \text{s.t. }\; & f(\bm{x}) \neq f(\bm{x}') \end{aligned}\\一言以蔽之,只需在误分类的约束下将扰动最小化,即可进行对抗样本攻击。下面是对抗样本生成过程的一个可视化结果,展现了添加的扰动越来越小的过程。

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).


我们知道,对抗样本攻击的威胁模型有很多不同分类,可参阅 Yuan 等人的综述

其中最主要的便是“攻击者的知识”之区分。

  • 白盒攻击假设攻击者拥有目标分类器及其权重的全部知识,不过想想也知道,现实中哪有这么好的事情 :-)
  • 黑盒攻击则是在攻击者对分类器知识有限的情况下进行对抗攻击的合理设置。

我们可以将黑盒攻击方法进一步分类如下:

  • 基于迁移的攻击(Transfer Based):利用对抗样本的通用性(可迁移性),寻找或自行训练一个白盒的、与目标分类器功能接近的代理模型(Surrogate Model),并生成对抗样本。
  • 基于分数的攻击(Score Based),亦称基于软标签(Soft-label)的攻击。向目标分类器查询所有类别的预测概率,也就是神经网络最后一层的 Softmax 输出,以估计每一步的梯度并减少扰动。代表工作有 ZOO 等。实际中自然也难以遇到这等好事,因为在现实应用里分类器在响应查询时一般仅返回 top-1 分类标签,也就是所有“软标签”里置信度最高的一个。
  • 基于决策的攻击(Decision Based),也称基于硬标签(Hard-label)的攻击:攻击者仅通过查询目标分类器的 top-1 分类标签来生成对抗样本;这个最贴近于真实场景,但显然也最难实现。首个基于决策的攻击工作来自于 2017 年 Wieland Brendel 等人提出的 Boundary Attack,其后才得到了进一步发展。
Chen, J., Jordan, M. I., & Wainwright, M. J. (2020, May). Hopskipjumpattack: A query-efficient decision-based attack. In 2020 ieee symposium on security and privacy (sp) (pp. 1277-1294). IEEE.

传统的攻击手段如 FGSM、BIM、PGD 一般还是用于白盒攻击, 难以处理真实场景的情况。在黑盒条件下,传统方法一般都采用了基于迁移的攻击。其思路可以总结如下:

  • 可迁移性(Transferability)是对抗样本的一个共同属性。针对特定模型生成的对抗样本, 对另一个类似的不同架构的模型可能也有效。因此, 当目标模型是黑盒时, 我们可以去寻找或自行训练训练一个类似的替代模型, 与目标模型的功能尽可能接近, 随之将白盒攻击用于替代模型, 以得到对抗样本, 并期望这个样本可以很好地迁移到黑盒模型上, 可用于展开攻击。
  • 理论上这种手段可以不利用目标模型的任何信息。但实践中也可以通过查询来构造训练代理模型的数据集:设有输入数据 xX\bm{x}\in \mathcal{X} 与黑盒分类器 ff , 我们将分类器应用于这些数据即可得到关于数据 x\bm{x} 的分类标签 yy ;获得足够多的 (x,y)(\bm{x}, y) 数据对即可构造出训练数据集, 凭经验选择一个模型结构, 完全可以训练一个类似的模型出来。

然而这种方法存在如下缺点,

  • 对攻击者的先验知识要求高:通常需要精心设计的代理模型,甚至可能需要攻击者获知一定的训练数据。
  • 较为困难:这种方法需要攻击者收集数据并训练代理模型, 这个过程中有较大的开销, 且完全没有产生任何对抗样本。许多基于迁移的黑盒攻击依靠多模型集成方式来提高攻击的迁移性, 也即, 在训练对抗样本阶段集成多个不同的白盒模型, 以期训练好的对抗样本能在新的黑盒模型上表现出更强的攻击能力。但这种方式往往也需要消耗大量训练时间和资源, 同时, 要获取同一任务的多个模型, 在现实应用中也可能有一定的实现难度。
  • 攻击性能: 基于迁移的攻击十分依赖于对抗样本的可迁移性, 因此在攻击成功率上并无保证; 这种方法一般很难取得较高的成功率。一方面原因在于因为对抗扰动很容易与某个代理模型与特定数据模式过拟合,另一方面在于对于代理模型的攻击依旧是应用传统的白盒攻击手段,但这些方法事实上缺乏可迁移性, 因此实践中其威胁有限。近年来, 已有几种新技术被用来提高对代理模型攻击的可迁移性, 例如动量提升 (momentum boosting) [Y. Dong et al. 2018]、多样化输入 [Xie C. et al. 2019] 和平移不变攻击 (translation-invariant attacks) [Y. Dong et al. 2019],而且也做得相当好,不过还是将整个网络(目标模型/代理模型)视为单个组件,并没有考虑其内部特征。
  • 缺乏理论基础:对抗迁移性的根本原因目前仍有待于探究。当前工作有从模型(例如决策边界、模型架构和模型容量)和数据(数据分布)等角度探讨原因。

因此,基于种种原因,本文中我们主要来调研最难的一个:基于决策的攻击方法。相比于基于迁移的攻击,基于决策的攻击规避了其缺点,充分利用了查询信息,拥有较好的攻击准确率。而对于基于分数的攻击而言,基于决策的攻击又更加符合现实情境,这也是我们选择该方法进行调研的原因。

但基于决策的攻击并非没有缺点, 其效率存在显著问题。在最早的工作 Boundary Attack (BA) 之中,仅就一张图像生成对抗一般就需要进行数十万甚至几百万次查询, 如下图

Brendel, W., Rauber, J., & Bethge, M. (2017). Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248.
Brendel, W., Rauber, J., & Bethge, M. (2017). Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248.

显而易见,如此查询效率会难以进行大规模攻击。在实践中, 对目标模型的访问通常不是免费的, 也不是无限制的。例如, Google 的云视觉 API 一般允许每分钟 1800 个请求。因此, 查询效率低下一方面会耗时较大, 另一方面也会使得攻击容易被模型拥有者发现 (或者引起模型的攻击检测), 导致攻击失败,例如系统可以将短时间内进行大量查询的恶意用户封禁。

直至后来的改进工作中,查询次数才慢慢降了下来,降到了几万次、甚至几千次,即可完成一个对抗样本的生成。


无目标攻击很一般不难拓展到有目标攻击, 在前文优化问题中, 只需将约束改成 f(x)=ytargetf(\bm{x}')=y_{\text{target}} 即可, 其中 ytargety_{\text{target}} 是目标标签。因此简单起见,我们后文中均假设无目标攻击。

接下来,我们将考察多种基于决策的攻击方法,这些算法基本思路都是迭代的方式求解前述优化问题,也就是在对抗区域(实际是决策边界上)内不断迭代,以减少对抗样本的扰动,这一基本思路与最早的 Boundary Attack 一脉相承。根据使用的迭代方式,这几种最新方法大致可分为两类:

  • 估计决策边界法向量:qFool、HSJA、QEBA、GeoDA、TA 等;
  • 使用半圆形搜索路径:SurFree、CGBA。

估计决策边界法向量的方法

Boundary Attack

Brendel, W., Rauber, J., & Bethge, M. (2017). Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248.

先来从基于决策的攻击的开山之作聊起。这个算法非常简单,下面两张图就足以概括:

Brendel, W., Rauber, J., & Bethge, M. (2017). Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248.
Brendel, W., Rauber, J., & Bethge, M. (2017). Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248.

简而言之:我们首先找一张属于对抗区域(即错误类别/目标类别的样本)的图片,然后沿着对抗性和非对抗性区域之间的边界(所谓决策边界)进行随机游走,让它留在对抗区域里,同时与目标图像的距离降低。

显而易见,正如之前所说,这种方法肯定需要大量的查询,开销较大;同时,这套算法是纯粹经验性的,没有收敛的理论证明;最后,防御方很容易通过限制查询次数或者图像相似性来抵御这种攻击。

HopSkipJumpAttack

Chen, J., Jordan, M. I., & Wainwright, M. J. (2020). Hopskipjumpattack: A query-efficient decision-based attack. In 2020 ieee symposium on security and privacy (sp)(pp. 1277-1294). IEEE.

2020 年提出的 HopSkipJumpAttack (HSJA) 方法在 BA 的基础上利用二分边界搜索以及决策边界的法向量估计提高了生成对抗样本的效率。主要思路如下图所示, 其中 x\bm{x}^\star 是干净样本。

Chen, J., Jordan, M. I., & Wainwright, M. J. (2020). Hopskipjumpattack: A query-efficient decision-based attack. In 2020 ieee symposium on security and privacy (sp)(pp. 1277-1294). IEEE.

每次迭代可以分为三个步骤:

  1. 给定一个对抗区域的样本 x~t\tilde{\bm{x}}_t , 使用二分搜索找到 x\bm{x}^\starx~t\tilde{\bm{x}}_t 连线与决策边界的交点 xt\bm{x}_t 。具体而言, 只需找到一个 λ=argminλ(0,1){λ:λx+(1λ)x~t}\lambda^*=\operatorname*{\arg\min}\limits_{\lambda\in (0, 1)}\{\lambda:\lambda\bm{x}^\star+(1-\lambda)\tilde{\bm{x}}_t\} 即可。
  2. 估计 xt\bm{x}_t 处决策边界的法向量。
  3. xt\bm{x}_t 处的法线方向上选取一个对抗区域的样本 x~t+1\tilde{\bm{x}}_{t+1} , 用于下一次迭代。

算法: 二分搜索寻找决策边界上的点Input:分类器 f, 起始点 xl, 终止点 xr (满足 f(xl)f(xr)), 阈值ϵOutput:分类器 f 决策边界上的点 xbλl0,λr1while |λlλr|>ϵ do:if f(λmxl+(1λm)xr)=f(xr) then:λrλmelse:λlλmend ifend whilereturn λlxl+(1λl)xl\boxed{ \begin{array}{l} \textbf{算法: 二分搜索寻找决策边界上的点}\\ \hline \textbf{Input}: \text{分类器 $f$, 起始点 $\bm{x}_l$, 终止点 $\bm{x}_r$ (满足 $f(\bm{x}_l) \ne f(\bm{x}_r)$), 阈值$\epsilon$}\\ \textbf{Output}: \text{分类器 $f$ 决策边界上的点 $\bm{x}_b$}\\ \lambda_l\leftarrow 0, \; \lambda_r \leftarrow 1\\ \textbf{while }|\lambda_l-\lambda_r| >\epsilon\textbf{ do}:\\ \qquad\textbf{if }f(\lambda_m\bm{x}_l + (1-\lambda_m)\bm{x}_r) = f(\bm{x}_r)\textbf{ then}:\\ \qquad\qquad\lambda_r \leftarrow \lambda_m\\ \qquad\textbf{else}:\\ \qquad\qquad \lambda_l \leftarrow \lambda_m\\ \qquad\textbf{end if}\\ \textbf{end while}\\ \textbf{return }\lambda_l\bm{x}_l+(1-\lambda_l)\bm{x}_l \end{array} }\\给定分类器 ff 和干净样本 x\bm{x}^* , 记示性函数 ϕf:X{1,1}\phi_f:\mathcal{X}\mapsto \{-1, 1\} 代表攻击是否成功, 即 x\bm{x}' 是否在对抗区域内:

ϕf(x)={1,x 被 f 分类为错误类别(无目标)/目标类别(有目标)1,其它\phi_f(\bm{x}') = \begin{cases} 1, & \bm{x}' \text{ 被 } f \text{ 分类为错误类别(无目标)/目标类别(有目标)} \\ -1, & \text{其它} \end{cases}\\基于前面的思路, 容易得到下面的算法 (修改自原论文 Algorithm 2) :
算法: HSJAInput:分类器 f, 干净样本 x, 迭代步数 TOutput:对抗样本 xT初始化 x~0 使得 ϕf(x~0)=1for t=1,2,,T do:xtBin-Searchf(x,x~t) 二分边界搜索wtEval-Normalf(xt) 估计法向量εt=xtx/t 初始化步长while ϕf(xt+εtwt)1 do:εtεt/2搜索步长end whilex~txt+εtwtend forreturn Bin-Searchf(x,xT1)\boxed{ \begin{array}{l} \textbf{算法: HSJA}\\ \hline \textbf{Input}:\text{分类器 $f$, 干净样本 $\bm{x}^\star$, 迭代步数 $T$}\\ \textbf{Output}:\text{对抗样本 } \bm{x}_T\\ \text{初始化 } \tilde{\bm{x}}_0 \text{ 使得 } \phi_f\left(\tilde{\bm{x}}_0\right)=1\\ \textbf{for } t=1,2,\ldots,T\textbf{ do}:\\ \qquad \bm{x}_t \leftarrow \text{Bin-Search}_f\left(\bm{x}^\star, \tilde{\bm{x}}_t\right)\hspace{1.4cm}\triangleright\text{ 二分边界搜索}\\ \qquad \bm{w}_t \leftarrow \text{Eval-Normal}_f\left(\bm{x}_t\right) \hspace{1.7cm}\triangleright\text{ 估计法向量}\\ \qquad\varepsilon_t = \left\|\bm{x}_t - \bm{x}^\star\right\|/\sqrt{t}\hspace{3cm}\triangleright\text{ 初始化步长}\\ \qquad\textbf{while }\phi_f\left(\bm{x}_t+\varepsilon_t\bm{w}_t\right)\ne 1\textbf{ do}:\\ \qquad\qquad \varepsilon_t \leftarrow \varepsilon_t / 2\hspace{4.2cm} \triangleright\text{搜索步长}\\ \qquad\textbf{end while}\\ \qquad \tilde{\bm{x}}_t \leftarrow \bm{x}_t + \varepsilon_t \bm{w}_t\\ \textbf{end for}\\ \textbf{return }\text{Bin-Search}_f\left(\bm{x}^\star, \bm{x}_{T-1}\right) \end{array} }\\这里在进行梯度估计的时候采用的是蒙特卡洛方法, 思路也比较直接:为点 xt\bm{x}_t 添加若干不同扰动, 通过其分类结果去估计决策边界梯度, 见下。由于各个扰动之间是无关的, 因此该算法可以并行执行。作者通过仔细设计估计法向量的参数 B,δB, \delta , 从理论上保证了法向量估计的误差上界。

算法: HSJA 算法估计法向量的子程序Input:分类器 f, 边界样本 xt, 批量大小 Bt, 扰动幅度 δOutput:估计的法向量 wt生成均匀分布随机向量 u1,u2,,uBtϕ¯1Btb=1Btϕf(xt+δub)S^(xt,δ)1Bt1b=1Bt(ϕf(xt+δub)ϕ¯)ubwt{S^(xt,δ)/S^(xt,δ)2,若选取 2 范数度量距离sign(S^(xt,δ)),若选取  范数度量距离return wt\boxed{ \begin{array}{l} \textbf{算法: HSJA 算法估计法向量的子程序}\\ \hline \textbf{Input}: \text{分类器 $f$, 边界样本 $\bm{x}_t$, 批量大小 $B_t$, 扰动幅度 $\delta$}\\ \textbf{Output}: \text{估计的法向量 } \bm{w}_t\\ \text{生成均匀分布随机向量 }\bm{u}_1, \bm{u}_2, \ldots, \bm{u}_{B_t}\\ \hspace{1cm}\begin{aligned} \bar{\phi}&\leftarrow\frac{1}{B_t}\sum_{b=1}^{B_t} \phi_f(\bm{x}_t+\delta\bm{u}_b)\\ \widehat{\nabla S}(\bm{x}_t, \delta) &\leftarrow \frac{1}{B_t-1}\sum_{b=1}^{B_t}\left(\phi_f(\bm{x}_t+\delta\bm{u}_b)-\bar{\phi}\right)\bm{u}_b\\ \bm{w}_t &\leftarrow \begin{cases} \widehat{\nabla S}(\bm{x}_t, \delta) \Big/ \left\|\widehat{\nabla S}(\bm{x}_t, \delta) \right\|_2, & \text{若选取 } \ell_2 \text{ 范数度量距离} \\ \operatorname{sign}\left(\widehat{\nabla S}(\bm{x}_t, \delta) \right), & \text{若选取 }\ell_\infty\text{ 范数度量距离} \end{cases} \end{aligned}\\ \textbf{return }\bm{w}_t \end{array} }\\ (详见原论文式 (12)、式 (15),这里每次迭代的批量大小取 Bt=B0tB_t=B_0\sqrt{t} 。)

从直觉上, 使用 HSJA 所采用的迭代方法,每一次迭代都可以拉近 xt\bm{x}_tx\bm{x}^\star 的距离,如下图所示。事实上, 作者证明, 在某些不太强的假设下 (如决策边界的 Lipschitz 连续性), HSJA 算法的迭代能够线性收敛, 从而保证了攻击效率。(见原论文定理 1)

Liu, Y., Moosavi-Dezfooli, S. M., & Frossard, P. (2019). A geometry-inspired decision-based attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 4890-4898).

HSJA 算法从一个较大的对抗扰动开始, 随之在对抗区域内减少扰动的值。可以注意到, HSJA 算法中 x1,x2,,xT\bm{x}_1, \bm{x}_2, \ldots, \bm{x}_T 均位于决策边界上, 因此 HSJA 实际上将对抗样本的探索限制在了决策边界附近的区域。但是这一过程中并未考虑“决策边界的几何性质”, 攻击效率实际上仍可以再改进。

在 HSJA 算法的基础上有两个改进工作: Query-efficient boundary-based blackbox attack (QEBA) [H Li et al., 2020] 和切线攻击 (Tangent Attack, TA) [C Ma et al. 2021]。QEBA 提出了多种策略来改进 HSJA 的查询效率, 使用空间、频率和内参子空间的方法来更好地估计法向量。TA 则是注意到了这样的一个事实:HSJA 所选择的法向量方向并非最优:选择“切线方向”比由法线所确定的方向更好, 如下图所示, 因此, TA 选择在以 xt1\bm{x}_{t-1} 为中心的超半球面上寻找一个最优切线点。

HSJA 与 TA 的对比。使用切线方法所确定的迭代点 x′ₜ 可能会比 HSJA 使用估计法线确定的迭代点 xₜ 更好。


qFool 和 GeoDA

qFool:Liu, Y., Moosavi-Dezfooli, S. M., & Frossard, P. (2019). A geometry-inspired decision-based attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 4890-4898).

GeoDA:Rahmati, A., Moosavi-Dezfooli, S. M., Frossard, P., & Dai, H. (2020). Geoda: a geometric framework for black-box adversarial attacks. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 8446-8455).

qFool 和这个基于几何决策的攻击(Geometric Decision-based Attack, GeoDA)之所以放在一起,是因为此二者的思路十分接近。

qFool/GeoDA 与 HSJA 的方法类似, 也是估计决策边界的法向量, 通过迭代的方式进行攻击, 只不过迭代步骤与 HSJA 不同:他们考虑到了决策边界的几何特性。依据 A. Fawzi 等人的研究基础(Fawzi, A., Moosavi-Dezfooli, S. M., & Frossard, P. (2016). Robustness of classifiers: from adversarial to random noise.), 这两个工作的作者作出了一个重要假设: 在对抗样本周围, 决策边界拥有低曲率, 因此分类器在决策边界上的对抗样本的梯度与边界上相邻点处的梯度几乎相同。如下图所示,其中 xB\bm{x}_B 是决策边界的数据点、 w\bm{w} 是法向量, 可通过 xB\bm{x}_B 处随机采样来估计。

Rahmati, A., Moosavi-Dezfooli, S. M., Frossard, P., & Dai, H. (2020). Geoda: a geometric framework for black-box adversarial attacks. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 8446-8455).

x\bm{x}^\star 为干净数据点, xb\bm{x}_b 是该数据点附近决策边界上的点。在决策边界曲率较小、可视作超平面的情况下, 可以用通过 xb\bm{x}_b 处的超平面来近似决策边界, 设其法向量为 w\bm{w} ;原来的优化问题可以修改为
minvvs.t. w(x+v)wxb=0\begin{aligned} \min_{\bm{v}}\; & \|\bm{v}\| \\ \text{s.t. }\; & \bm{w}^\top(\bm{x}^\star+\bm{v}) - \bm{w}^\top\bm{x}_b = 0 \end{aligned}\\这等同于从 x\bm{x}^\star 向超平面 {x:wxwxb=0}\{\bm{x}:\bm{w}^\top\bm{x} - \bm{w}^\top\bm{x}_b = 0 \} 投影, 投影方向自然等同于法向量方向 w\bm{w} , 因此只需从 x\bm{x}^\star 向着 w\bm{w} 方向搜索即可。 于是可以将 HSJA 的迭代过程改进如下:

  1. 给定决策边界上一点 xt\bm{x}_t , 估计此处的法向量 wt\bm{w}_t ;
  2. x\bm{x}^\star 开始, 在 wt\bm{w}_t 方向上搜索决策边界上的对抗样本, 作为 xt+1\bm{x}_{t+1}

qFool 估计法向量所选择的批量大小 (即每次估计所使用的查询次数) 是动态分配的,方法稍微有些复杂,简而言之就是:当增加查询所减少的对抗样本扰动量达到给定阈值时则停止本次迭代中法向量的估计;同时, 算法保证总共查询的次数不会超过给定的某个 nn (详见原论文 3.2 节)。但是 qFool 估计法向量的方式与 HSJA 相同, 也是基于蒙特卡洛采样。

(同时,qFool 作者提出了一种基于子空间的提升效率的方法,请见原论文 3.3 节,这里也略去不提。)

GeoDA 也与 qFool 一样作出了决策平面有低曲率的假设, 并利用了这一几何性质进行了有效的估计。与 qFool 不同的是, 作者提出了一种对平坦决策边界法向量估计方法, 主要思想如下:

  1. 假设共允许使用 BB 次查询, 则先生成 BB 个多维高斯分布样本 ϵiN(0,Σ),i=1,,N\bm{\epsilon}_i\sim \mathcal{N}(\bm{0}, \bm{\Sigma}), i=1, \ldots, N
  2. BB 个高斯分布样本分别加入到边界点 xb\bm{x}_b 上, 查询分类器 ffxb+ϵi,i=1,,B\bm{x}_b+\bm{\epsilon}_i,\, i=1,\ldots,B 的分类结果 (top-1 标签)。
  3. 对于任意给定的超平面法向量 w\bm{w} , 我们均能将 BB 个高斯分布样本划分为两个集合: Sadv(w)={ϵi:f(xb+ϵi)f(x)}={ϵi:wϵi0}Sclean(w)={ϵi:f(xb+ϵi)=f(x)}={ϵi:wϵi<0}\begin{align*} S_{\text{adv}}(\bm{w}) &= \left\{\bm{\epsilon}_i:f(\bm{x}_b+\bm{\epsilon}_i)\ne f(\bm{x})\right\} = \left\{\bm{\epsilon}_i:\bm{w}^\top\bm{\epsilon}_i \ge 0\right\} \\ S_{\text{clean}}(\bm{w}) &= \left\{\bm{\epsilon}_i:f(\bm{x}_b+\bm{\epsilon}_i)= f(\bm{x})\right\} = \left\{\bm{\epsilon}_i:\bm{w}^\top\bm{\epsilon}_i < 0\right\} \end{align*}\\这两个集合可视作用超平面 {x:wx=0}\{\bm{x}:\bm{w}^\top\bm{x}=0\} 去``截断" 多维高斯分布的结果, 即截断高斯分布 (Truncated Gaussian Distribution)。有如下结论(来自 1965 年的 Plane truncation in normal populations 这篇文献):
    多维高斯分布 N(0,Σ) 被平面 {x:wx0} 所截断后, 其均值为 μtrunc=cΣw\text{多维高斯分布 }\mathcal{N}(\bm{0}, \bm{\Sigma}) \text{ 被平面 } \{\bm{x}:\bm{w}^\top\bm{x}\ge 0\} \text{ 所截断后, 其均值为 } \bm{\mu}_{\text{trunc}} = c\bm{\Sigma w}。 \\通过此结论即可由 μ\bm{\mu} 估计出 w\bm{w} 的值。

若将 Σ\bm{\Sigma} 置为平凡的 I\bm{I} , 则上面的过程与前文的蒙特卡洛算法基本一致。但同时也可根据已知数据的先验来将 Σ\bm{\Sigma} 置为其它值(例如一个 mm 维子空间的 DCT 基)以提高效率。

同样, GeoDA 的作者也证明了估计偏差的上界; 同时, 为了提高查询效率, 作者也设计了一套复杂的动态分配查询次数的方法。

我们将上述方法进行总结;省略 \enclose{horizontalstrike}{很多} 细节后,可以得到一般形式如下

qFool 与 GeoDA 算法的一般形式Input:分类器 f, 干净样本 x, 迭代步数 TOutput:对抗样本 xT通过二分搜索找到 x 附近决策边界点 x0for t=1,2,,T do:wt1Eval-Normalf(xt1) 估计法向量xtLine-Searchf(x,wt1) 沿着 wt1 方向搜寻边界end forreturn xT\boxed{ \begin{array}{l} \textbf{qFool 与 GeoDA 算法的一般形式}\\ \hline \textbf{Input}: \text{分类器 $f$, 干净样本 $\bm{x}^\star$, 迭代步数 $T$}\\ \textbf{Output}:\text{对抗样本 }\bm{x}_T\\ \text{通过二分搜索找到 } \bm{x}^\star\text{ 附近决策边界点 }\bm{x}_0\\ \textbf{for }t=1,2,\ldots,T\textbf{ do}:\\ \qquad \bm{w}_{t-1} \leftarrow \text{Eval-Normal}_f(\bm{x}_{t-1})\hspace{1cm}\triangleright\text{ 估计法向量}\\ \qquad \bm{x}_t \leftarrow \text{Line-Search}_f(\bm{x}^\star, \bm{w}_{t-1})\hspace{1cm}\triangleright\text{ 沿着 $\bm{w}_{t-1}$ 方向搜寻边界}\\ \textbf{end for}\\ \textbf{return }\bm{x}_T \end{array} }\\实验证明,相比于利用了决策边界几何性质的 GeoDA,HSJA 的查询需要更多的迭代次数,且优化所需的查询也更多。如下是 BA、HSJA、GeoDA 的对比,左图是 BA、HSJA 和 GeoDA 所需查询次数 (横轴) 和扰动大小 ( 2\ell_2 范数距离, 纵轴) 曲线图的对比,右图是 BA、HSJA 和 GeoDA 所消耗的查询次数 (横轴) 和迭代次数 (纵轴) 曲线图的对比。

Rahmati, A., Moosavi-Dezfooli, S. M., Frossard, P., & Dai, H. (2020). Geoda: a geometric framework for black-box adversarial attacks. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 8446-8455).

但在更广的意义上, HSJA、qFool 和 GeoDA 其实可以视作采用了相同的范式,更简洁地总结为

1. 投影: 在边界上找到一个点2. 利用边界点附近的扰动估计法向量 (梯度)3. 更新对抗样本\begin{array}{|c|} \hline \text{1. 投影: 在边界上} \\ \text{找到一个点} \\ \hline \end{array} \Rightarrow \begin{array}{|c|} \hline \text{2. 利用边界点附近的}\\ \text{扰动估计法向量 (梯度)}\\ \hline \end{array} \Rightarrow \begin{array}{|c|} \hline \text{3. 更新对抗样本}\\ \hline \end{array} \\但是, 这里的第 2 步存在查询数量与法向量估计的准确性之间的权衡, 这种准确度会影响攻击的收敛(见 GeoDA 之定理 2)。因此,这些工作都会采取各种策略来分配每次估计所消耗的查询次数。例如, HSJA 使迭代次数的平方根成比例 (即 Bt=BtB_t=B\sqrt{t} ); 而 GeoDA 则采取了几何级数的形式 (见原论文之式 (19) )。前面的图中由于横轴尺度较大, 并未在曲线图中体现这一策略的影响。事实上, 由于每次迭代中估计法向量所需查询次数越来越多, HSJA 和 GeoSA 均会产生 "停滞期":大量的查询只是来估计法向量、而没有用于优化对抗扰动, 这造成了优化过程的停滞。如下图所示(HSJA_10 代表 HSJA 中初始批量大小 B0=10B_0=10 )。

Maho, T., Furon, T., & Le Merrer, E. (2021). Surfree: a fast surrogate-free black-box attack. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10430-10439).

这就引出了我们下面要介绍的方法:SurFree,它完全抛弃了“估计法向量”这一策略,采用一种半圆路径搜索,从而高效利用了查询。

同时,也可以观察到法向估计方法的其它缺点:

  • 由于查询数目有限、以及边界可能的非线性性 (因为这些方法均作出了边界低曲率的假设),法线向量的估计可能不准确,在存在曲率的边界上更为如此;因此,沿估计的法线向量方向搜索时,扰动并不一定会减少。
  • 若对抗区域足够窄,可能难以在搜索方向上找到对抗区域,于是搜索过程不会收敛到扰动减少的方向。
  • 从根本上说,这些局限与估计的法向量决定的一维搜索性质有关。

基于半圆搜索路径的方法

SurFree

Maho, T., Furon, T., & Le Merrer, E. (2021). Surfree: a fast surrogate-free black-box attack. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(pp. 10430-10439).

SurFree 即免代理(Surrogate-Free)攻击算法遵循与 GeoDA 类似的假设, 即决策边界拥有低曲率, 且可以用超平面来近似, 但 SurFree 抛弃了前人工作中估计法向量的方法, 换言之, SurFree 并不利用法向量信息;它采取了半圆形路径进行边界搜索, 通过随机试验来估计攻击方向, 如下图所示。

Maho, T., Furon, T., & Le Merrer, E. (2021). Surfree: a fast surrogate-free black-box attack. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10430-10439).

设给定干净样本 x\bm{x}^\star 和某个决策边界样本 xb\bm{x}_b , 设二者之距离为 d=xxbd=\|\bm{x}^\star-\bm{x}_b\|x\bm{x}^\starxb\bm{x}_b 两点可以确定一个单位方向 u=(xbx)/d\bm{u} = (\bm{x}_b-\bm{x}^\star)/d ; 我们随机选择另一个垂直于 u\bm{u} 的单位方向 v\bm{v} , 即 v=1,uv=0\|\bm{v}\|=1, \bm{u}^\top \bm{v}=0 , 接下来的迭代就在 u\bm{u}x\bm{x}^\topv\bm{v} 所确定的二维平面 P\mathcal{P} 上进行。

在平面 P\mathcal{P} 上以 x\bm{x}^\starxb\bm{x}_b 所连线段为直径画圆, 我们命下一个迭代点是该圆与决策平面的交点 z\bm{z}^* 。为找到此交点, 设有 α[0,1]\alpha\in[0, 1] , 我们考虑在 x\bm{x}^\starxb\bm{x}_b 连线上选取距 x\bm{x}^\star(1α)d(1-\alpha)d 的一点, 并将之绕 x\bm{x}^\star 旋转 θ\theta 角度, 使其正好落在圆上的 z(θ)z(\theta) 点上。根据初中几何知识, 应有 α=1cosθ\alpha = 1-\cos\theta

换言之, 我们建立了圆上一点 z(θ)z(\theta)θ\theta 的对应关系, 即

z(θ)=dcosθ(ucosθ+vsinθ)+xz(\theta)=d\cos\theta(\bm{u}\cos\theta+\bm{v}\sin\theta)+\bm{x}^\star\\作者提出: 首先在角度上由大至小进行线搜索, 确定一个包含 z\bm{z}^\star 的小区间, 随后再进行二分搜索, 以找到确切的 zz^* 。 以上是一步迭代的过程。在所有迭代中选取的方向 v\bm{v} 均正交, 这有点类似于共轭梯度下降。完整过程如下所示(详见原论文 Algorithm 1,这里进行了简化):

算法: SurFreeInput: 分类器 f, 干净样本 x, 迭代步数 T, 最大角度幅值 θmaxOutput:对抗样本 xTV通过二分搜索/线搜索等方法找到 x 附近决策边界点 x0for t=1,2,,T do:ut(xxt1)/xxt1抽样 ttTvtprojspan(V{ut})(tt) Gram-Schmidt 正交化VV{vt}令 z(θ) 如前述[θl,θr]Sign-Searchf,zt((0,θmax])查找一个包含 z 的小区间θBinary-Searchf,zt([θl,θr])小区间中搜寻 zxtzt(θ)end forreturn xT\boxed{ \begin{array}{l} \textbf{算法: SurFree}\\ \hline \textbf{Input}:\text{ 分类器 $f$, 干净样本 $\bm{x}^\star$, 迭代步数 $T$, 最大角度幅值 $\theta_{\max}$}\\ \textbf{Output}: \text{对抗样本 }\bm{x}_T\\ V\leftarrow\emptyset\\ \text{通过二分搜索/线搜索等方法找到 } \bm{x}^\star \text{ 附近决策边界点 } \bm{x}_0\\ \textbf{for }t=1,2,\ldots,T\textbf{ do}:\\ \qquad \bm{u}_t \leftarrow (\bm{x}^\star-\bm{x}_{t-1})/\|\bm{x}^\star-\bm{x}_{t-1}\|\\ \qquad \text{抽样 } \bm{t}_t\sim \mathcal{T}\\ \qquad\bm{v}_t \leftarrow\text{proj}_{\text{span}(V\cup \{\bm{u}_t\})^\bot}(\bm{t}_t)\hspace{2cm}\qquad\triangleright\text{ Gram-Schmidt 正交化}\\ \qquad V \leftarrow V \cup \{\bm{v}_t\}\\ \qquad \text{令 }z(\theta) \text{ 如前述}\\ \qquad [\theta_l, \theta_r] \leftarrow \text{Sign-Search}_{f, z_t}((0, \theta_{\max}])\hspace{0.8cm}\triangleright\text{查找一个包含 $\bm{z}^*$ 的小区间}\\ \qquad\theta^*\leftarrow \text{Binary-Search}_{f, z_t}([\theta_l, \theta_r])\hspace{1.65cm}\triangleright\text{小区间中搜寻 }\bm{z}^*\\ \qquad \bm{x}_{t}\leftarrow z_t(\theta^*)\\ \textbf{end for}\\ \textbf{return }\bm{x}_T \end{array} }\\上面有一些实现细节没写出,这里说明一下:

  • T\mathcal{T} 是仔细设计的(而非某个随便的均匀分布), 综合考虑了干净样本 x\bm{x}^\star 本身内容 (从而设计加入的扰动), 以及降维 (由 DCT 变换实现) 。
  • “符号搜索” ( Sign-Search\text{Sign-Search} 步骤) 是正负反复交替、幅度由大至小进行搜索, 因为我们并不能确定 θ\theta 的符号;具体而言,对 τ=(T,T,T1,(T1),,1,1)/T\bm{\tau}=(T,-T,T-1,-(T-1),\ldots,1,-1)/T ,搜索检查 z(θmaxτj)z(\theta_{\max}\tau_j) 是否位于非对抗区域。可以将之视为一种特殊的线搜索。如果“符号搜索”没有找到这样的一个 τj\tau_j ,则令 θmax\theta_{\max} 进行几何衰减,即 θmax(1κ)θmax\theta_{\max}\leftarrow(1-\kappa)\theta_{\max}

相比于 HSJA、QEBA、GeoDA 等方法,SurFree 取得了更高的效率和更高的成功率(详见原论文第 6 节)。如下,左图是查询次数与平均扰动的曲线,反映了算法效率;右图是平均扰动与攻击成功率的曲线。

Maho, T., Furon, T., & Le Merrer, E. (2021). Surfree: a fast surrogate-free black-box attack. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10430-10439).

CGBA

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

最近一篇 ICCV 2023 Oral 论文 提出了曲率感知几何黑盒攻击 (Curvature-Aware Geometric Black-box Attack, CGBA) 算法, 不仅借鉴了基于估计法向量的攻击方法, 也借鉴了 SurFree ,采用半圆形搜索, 不同的是 CGBA 不像 SurFree 那样沿着某个随机方向进行半圆路径搜索。

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

如上图所示; 考虑两个方向: 从原始数据 x\bm{x}^\star 出发向着决策边界数据点 xb\bm{x}_b 的方向 v^\hat{\bm{v}} 、以及在 xb\bm{x}_b 处估计的决策边界法向量 η^\hat{\bm{\eta}} ,(在低曲率情况下)我们要寻找的迭代方向就在这俩方向之间。法向量的估计依循 HSJA 或 GeoGA 的方式。选择 2\ell_2 范数度量距离, 则如下式

v^=xbxxbx2η^=i=1Bϕ(xb+ui)uii=1Bϕ(xb+ui)ui2, 其中 uiN(0,σ2),i=1,,B \begin{aligned} \hat{\bm{v}} &= \frac{\bm{x}_b - \bm{x}^\star}{\|\bm{x}_b - \bm{x}^\star\|_2}\\ \hat{\bm{\eta}} &= \cfrac{\sum\limits_{i=1}^B\phi(\bm{x}_b + \bm{u}_i)\bm{u}_i}{\left\|\sum\limits_{i=1}^B\phi(\bm{x}_b + \bm{u}_i)\bm{u}_i\right\|_2}, \qquad \text{ 其中 }\quad \bm{u}_i\sim\mathcal{N}(0, \sigma^2)\;, \; i=1, \ldots, B \end{aligned}\\考虑这两个方向 v^\hat{\bm{v}}η^\hat{\bm{\eta}} 所张成的 2 维平面, 以 v^\hat{\bm{v}} (即 x\bm{x}^\starxb\bm{x}_b 连线) 为界取 η^\hat{\bm{\eta}} 所在的半边。与 GeoDA 类似, 在此半平面上以 x\bm{x}^\starxb\bm{x}_b 所连线段为直径作半圆。则搜索方向为

ξ^(m)=η^+mv^η^+mv^2\hat{\bm{\xi}}(m) = \cfrac{\hat{\bm{\eta}}+m\hat{\bm{v}}}{\|\hat{\bm{\eta}}+m\hat{\bm{v}}\|_2}\\固定搜索方向 ξ^\hat{\bm{\xi}} , 设其与 v^\hat{\bm{v}} 方向夹角为 ψ\psi , 同时 η^\hat{\bm{\eta}}v^\hat{\bm{v}} 方向夹角为 θ\theta , 结合上式不难推导出

cosψ=ξ^v^=η^v^+m1+m2+2mcosθ=cosθ+m1+m2+2mcosθm=cosθ+sinθcotψ\begin{align} & \cos\psi = \hat{\bm{\xi}}\cdot \hat{\bm{v}} = \frac{\hat{\bm{\eta}}\cdot \hat{\bm{v}}+ m }{\sqrt{1+m^2+2m\cos\theta}} =\frac{\cos \theta+m}{\sqrt{1+m^2+2m\cos\theta}} \notag \\ \Longrightarrow\enspace & m=-\cos\theta+\sin\theta\cot\psi \end{align}\\即: mm 可视作 ψ\psi 的函数。

此外, 也可以计算半圆弧上位于该方向的点 xr\bm{x}_rx\bm{x}^\star 的距离, 即扰动大小, 这是 ξ^\hat{\bm{\xi}} 的函数。

p(ξ^)=xxr2=xxr2cosψ=xxr(ξ^v^)ξ^\begin{align*} p\big(\hat{\bm{\xi}}\big) &= \|\bm{x}^\star-\bm{x}_r\|_2 \\ &= \|\bm{x}^\star - \bm{x}_r\|_2\cos\psi\\ &= \|\bm{x}^\star - \bm{x}_r\|\big(\hat{\bm{\xi}}\cdot \hat{\bm{v}}\big)\hat{\bm{\xi}} \end{align*}\\至此,算法思路已然明晰:

  1. ψ\psi 由小至大进行搜索, 每一个确定的 ψi\psi_i 均对应一个 mim_i ;
  2. 对每个 mim_i 可计算出搜索方向 ξ^=ξ^(mi)\hat{\bm{\xi}}=\hat{\bm{\xi}}(m_i)
  3. 对每个搜索方向 ξ^\hat{\bm{\xi}} , 可给出一个扰动 p(ξ^)p\big(\hat{\bm{\xi}}\big) , 将其添加到 x\bm{x}^\star 可得到圆弧上的点 xr\bm{x}_r (即对抗样本);

随着 ψ\psi 逐渐增大, xr\bm{x}_r 最终会脱离对抗区域 (参考前面的图片); 搜索出最小的 ξ^\hat{\bm{\xi}} 使得 ϕ(x+p(ξ^))=1\phi\big(\bm{x}^\star+p\big(\hat{\bm{\xi}}\big)\big)=-1 (图中标注的方向为 ξ^c\hat{\bm{\xi}}_c ,圆弧上对应的点为 xc\bm{x}_c ), 则在 ξ^\hat{\bm{\xi}}v^\hat{\bm{v}} 之间的方向进行二分搜索, 即可获得圆弧与决策边界之交点。

总结 CGBA 算法如下所示(详见原论文 4.1 节 & Algorithm 1)。

算法: CGBAInput: 分类器 f, 干净样本 x, 迭代步数 T, 用于估计初始法向量的查询数目之批量大小 B0Output: 对抗样本 xT通过二分搜索或线搜索等方法找到 x 附近的决策边界点x0;for t=1,2,,T do:依据 xt 得到单位方向 v^tη^t, 其中估计法向时取批量 BtB0tθtarccos(η^tv^t)for i=1,2, do:misinθicot(90902iψ)cosθiξ^t(η^t+miv^t)/η^t+miv^t2xrx+p(ξ^t)添加扰动if ϕ(xr)=1 then:breakend ifend forxt+1Binary-Searchf([ξ^t,v^])二分搜索圆弧与决策边界交点return xT\boxed{ \begin{array}{l} \textbf{算法: CGBA}\\ \hline \textbf{Input}:\text{ 分类器 $f$, 干净样本 $\bm{x}^\star$, 迭代步数 $T$, 用于估计初始法向量的查询数目之批量大小 $B_0$}\\ \textbf{Output}:\text{ 对抗样本 }\bm{x}_T\\ \text{通过二分搜索或线搜索等方法找到 $\bm{x}^\star$ 附近的决策边界点$\bm{x}_0$;}\\ \textbf{for }t=1,2,\ldots,T\textbf{ do}:\\ \qquad \text{依据 } \bm{x}_t \text{ 得到单位方向 } \hat{\bm{v}}_t 和 \hat{\bm{\eta}}_t\text{, 其中估计法向时取批量 } B_t\leftarrow B_0\sqrt{t}\\ \qquad\theta_t\leftarrow\arccos\big(\hat{\bm{\eta}}_t\cdot\hat{\bm{v}}_t\big)\\ \qquad\textbf{for }i=1,2,\ldots\textbf{ do}:\\ \qquad\qquad m_i \leftarrow \sin\theta_i\cot\Big(\overbrace{90^\circ-\frac{90^\circ}{2^i}}^{\psi}\Big)-\cos\theta_i\\ \qquad\qquad \hat{\bm{\xi}}_t \leftarrow (\hat{\bm{\eta}}_t+m_i\hat{\bm{v}}_t)/\|\hat{\bm{\eta}}_t+m_i\hat{\bm{v}}_t\|_2\\ \qquad\qquad \bm{x}_r \leftarrow \bm{x}^\star+p\big(\hat{\bm{\xi}}_t\big)\hspace{3.2cm}\triangleright\text{添加扰动}\\ \qquad\qquad\textbf{if } \phi(\bm{x}_r) = -1\textbf{ then}: \\ \qquad\qquad\qquad\textbf{break}\\ \qquad\qquad\textbf{end if}\\ \qquad\textbf{end for}\\ \qquad\bm{x}_{t+1}\leftarrow\text{Binary-Search}_f\big([\hat{\bm{\xi}}_t, \hat{\bm{v}}\big])\hspace{1cm}\triangleright\text{二分搜索圆弧与决策边界交点}\\ \textbf{return }\bm{x}_T \end{array} }\\可以看出, CGBA 将前人工作 (如 GeoDA) 采用的沿估计法线方向上的二分搜索替换为了方向上的、沿半圆路径的二分搜索。作者将 GeoDA 等先前工作采取的策略称作 BSNV(法线方向的二分搜索), 而将自己的这一策略称作 BSSP(半圆路径的二分搜索);实验证明, BSSP 比 BSNV 方法拥有更佳的效率。如下图所示, 随着法向量估计的查询次数增加, BSNV 和 BSSP 的性能 ( 2\ell_2 扰动的减少) 均有所提高, 但 BSSP 始终以较大的优势胜过 BSNV。

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

接下来用图示说明 CGBA 的迭代策略更具鲁棒性, 即能适应法线误差与不同曲率的决策边界。

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

如上图是低曲率边界的情况,若边界为平面 (左图), 则 CGBA 所得出的迭代方向 ξ^\hat{\bm{\xi}} 应与边界法线方向相同, 若估计的法线 η^\hat{\bm{\eta}} 与真实法线 η\bm{\eta} 存在误差, 采用 BSNV 方法得到的搜索方向是次优的, 而 BSSP 仍能得找到最优的边界点。其次, 若低曲率决策边界 (右图), 即使 η^\hat{\bm{\eta}}η\bm{\eta} 相同, BSSP 也能找到一个扰动更小的边界点。

为了适应高曲率情况, 作者在 CGBA 的基础上提出了变体 CGBA-H(详见原文 4.2 节及 Algorithm 2), 即将计算 mm 的式子修改为

m=sinθcotθ2cosθm = \sin\theta\cot\frac{\theta}{2}-\cos\theta \\

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

如上图所示, 对于曲率较低的决策边界, 使用 CGBA 进行对抗性攻击可能是一种有效的方法, 但是若边界的曲率过高, 这种方法的效果就会变差, 使用 BSSP 获取的边界点可能会导致边界点远离最优解 (左图); CGBA-H 方法能获得更优的边界点 (右图)。

CGBA 的作者使用 ImageNet 和 CIFAR-10 数据集来评估所有基于决策对抗样本攻击算法。参赛的除了作者自己的 CGBA、CGBA-H ,以及前文中介绍过的 HSJA、TA、GeoDA、SurFree 以外,还包括三角攻击(Triangle attack, TriA)[X Wang et al. 2022],和自适应历史驱动攻击(adaptive history-driven attack, AHA)[J Li et al. 2021]。实验结果如下

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

对无目标攻击,CGBA 和 CGBA-H 均干掉了其它算法;而且可以看出:当查询预算有限时,CGBA-H 的表现更佳;直观上看,预算有限的情况下,搜索得到的边界点质量较低,因此边界“看上去”更弯曲。对于有目标攻击,CGBA-H 一家独大,并且随着查询预算的增加,其与基线的差距不断拉大。值得注意的是,即使查询预算足够大,CGBA 的表现也优于有目标攻击的基线;直观上看,在这种情况下,边界“看上去”更加平坦,并且搜索得到的边界点质量很高。上面的结果证明了 CGBA(-H) 的有效性,也很符合直觉。

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

如上表所示是不同攻击策略的中值 2\ell_2 范数扰动与查询曲线下的面积 AUC;这项指标展示了攻击随查询次数向最优对抗样本(其对应扰动最小)收敛的情况;AUC 值越低,攻击收敛到最优对抗样本的速度就越快。表现最好的方法仍然是 CGBA-H 和 CGBA。

作者还进行了很多实验,比如攻击成功率(ASR)的比较(见下图),降维的影响等等。不啰嗦了,见原论文第 5 节。(瘫)

Reza, M. F., Rahmati, A., Wu, T., & Dai, H. (2023). Cgba: curvature-aware geometric black-box attack. In Proceedings of the IEEE/CVF International Conference on Computer Vision(pp. 124-133).

总结

(以下均是车轱辘话)

本文中, 我们对基于决策的对抗样本攻击进行了深入考察;在此种设置下, 目标分类器为黑盒, 且攻击者仅可以查询输出的 top-1 标签。这里调研的 HSJA、GeoDA、SurFree 和 CGBA 算法可以大致分为两类: ``基于估计决策边界法向量" 与 ``基于半圆形路径搜索" 。前者 (HSJA, GeoDA, 以及 QEBA、TA 等) 通过在边界点上多次采样从而估计出此处边界的法向量 (梯度),而后者 (SurFree、CGBA 等) 则通过寻找半圆形路径与决策边界的交点作为迭代数据点, 尤其是 CGBA 综合使用了这两类方法, 并提出了一种半圆路径的二分搜索(BSSP)策略, 取得了最优的效率。我们探讨了不同算法的原理、技术、实验结果对比。

https://konachan.com/post/show/62211

发布于 2024-07-06 01:26・IP 属地河北 ,编辑于 2024-07-17 17:14・IP 属地河北
「真诚赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
理性发言,友善互动

还没有评论,发表第一个评论吧

文章被以下专栏收录

想来知乎工作?请发送邮件到 jobs@zhihu.com