对抗性机器学习攻击种类繁多。有些攻击需要完全掌握模型架构和参数(白盒攻击),而另一些则在攻击者可获得信息显著较少的情况下进行。基于评分的攻击代表一种常见且实用的黑盒环境。攻击者可以使用输入 $x$ 查询目标模型 $f$,并收到模型的输出置信度评分(例如,softmax层的概率),但无法获取模型的梯度、架构或权重。目标与其他规避攻击相同:找到一个最小扰动的输入 $x_{adv} = x + \delta$,使得 $f(x_{adv})$ 导致错误分类,同时 $||\delta||_p \le \epsilon$。难点在于,在没有直接梯度信息 $\nabla_x L(f(x), y)$ 的情况下优化扰动 $\delta$,其中 $L$ 是一个合适的损失函数(如交叉熵),$y$ 是真实或目标标签。黑盒难题:在无梯度下优化像PGD这样的基于梯度的方法明确依赖梯度来迭代地将输入移向导致错误分类的区域。像C&W这样的基于优化的方法通常也在其优化循环中使用梯度。在无法获取这些梯度的情况下,攻击者如何才能有效寻得对抗性扰动?大多数基于评分攻击的核心思路是梯度估计。如果攻击者能够近似估计损失函数相对于输入的梯度,即便粗略地,他们也可以调整迭代式的基于梯度的方法。模型的输出评分提供了进行此估计所需的信息。通过查询进行梯度估计假设我们想估计在点 $x$ 处的梯度 $\nabla_x L(f(x), y)$。由于我们只能获取模型的输出评分,我们可以计算所查询的任何输入 $x$ 的损失 $L(f(x), y)$。梯度指明了损失函数最陡峭的上升方向。我们可以通过查询模型在临近点的数据来近似这个方向。一个基本方法是使用有限差分。为了估计相对于第 $i$ 个输入特征 $x_i$ 的偏导数,我们可以在 $x + h \cdot e_i$ 和 $x - h \cdot e_i$ 处查询模型,其中 $e_i$ 是沿着第 $i$ 个维度的一个单位向量,$h$ 是一个小的步长。中心差分公式给出如下近似值:$$ \frac{\partial L}{\partial x_i} \approx \frac{L(f(x + h \cdot e_i), y) - L(f(x - h \cdot e_i), y)}{2h} $$通过对所有输入维度执行此操作,我们可以构建出完整梯度 $\nabla_x L$ 的一个估计值 $\hat{g}$。但是,这在每个梯度估计步骤中需要对模型进行 $2 \times D$ 次查询,其中 $D$ 是输入维度(例如,图像中的像素数量)。对于图像等高维度输入,这会迅速变得计算成本过高。常见基于评分的攻击技术更复杂的技术旨在更高效地估计梯度,从而减少所需的模型查询次数。自然演化策略 (NES)NES 是一系列算法,它使用随机寻优方法来估计梯度。NES并非沿每个维度单独探测,而是从寻优分布(通常是以当前输入 $x$ 为中心的 Gaussian 分布)中抽取多个点,并利用这些点的损失值来估计梯度方向。其原理是:在多个随机方向 $u_k$ 上轻微扰动输入 $x$,查询模型以获取每次扰动的 $L(f(x + \sigma u_k), y)$ 值,然后计算扰动方向 $u_k$ 的加权平均值,其中权重基于观察到的损失。明显增加损失的方向会获得更高的权重。这种方法对于高维问题,通常比有限差分需要少得多的查询次数即可获得一个可接受的梯度估计。digraph NES_Gradient_Estimation { rankdir=LR; node [shape=box, style=rounded, fontname="sans-serif", fontsize=10]; edge [fontname="sans-serif", fontsize=10]; X [label="当前输入 x_adv"]; Sample [label="从 N(0, I) 采样扰动\n u_1, ..., u_N", shape=ellipse]; Query [label="查询模型 f(x_adv + \u03c3u_k)\n对于 k=1..N"]; Loss [label="计算损失 L_k"]; Estimate [label="估计梯度\n g\u0302 \u2248 (1/N\u03c3) \u03a3 L_k * u_k"]; Update [label="更新 x_adv"]; X -> Sample; Sample -> Query; Query -> Loss; Loss -> Estimate; Estimate -> Update; Update -> X [label="迭代", style=dashed]; }使用NES等方法进行梯度估计的流程。随机方向被采样,通过模型查询进行评估,并用于估计下次更新步骤的梯度。零阶优化 (ZOO) 攻击ZOO攻击将高效的C&W攻击调整到基于评分的环境中。它通常使用按坐标的有限差分(或有时是对称差商)来估计一次一个坐标的偏导数。尽管同时优化所有坐标可能仍然需要多次查询,但 ZOO 经常采用坐标下降等技术,即在每个步骤中只更新最有希望的坐标,这使得它比完整的有限差分梯度估计更易于管理。它直接通过两次查询估计 $\frac{\partial L}{\partial x_i}$,并在类似于 C&W 的优化框架内使用此估计。其他相关方法像同步扰动随机近似 (SPSA) 这样的技术也存在,它提供另一种方法,无论输入维度如何,每一步只需两次查询即可估计梯度,通过使用随机向量同时扰动所有维度。实际障碍与考量基于评分攻击的主要难点在于查询复杂度。高查询次数: 即使是 NES 或 SPSA 等高效方法,也可能需要对目标模型进行数千或数万次查询,才能生成一个成功的对抗样本,特别是对于高分辨率图像或复杂模型。有限差分对于大型输入通常不适用。 "* 速率限制与检测: 许多系统(如在线API)对来自单一来源的过量查询实施速率限制或监控,这可能会阻碍或暴露这些攻击。"损失计算: 攻击者需要仅基于输出评分定义一个合适的损失函数。对于有目标攻击,这可能是最大化目标类别的评分或最小化真实类别的评分。对于无目标攻击,最大化相对于原始类别的损失通常有效。有效性与比较尽管存在查询成本,基于评分的攻击表明即使对模型输出的有限访问也足以生成有效的对抗样本。与白盒攻击的比较: 相较于像 PGD 或 C&W 这样能够运用精确梯度的白盒攻击,它们通常效率较低(需要更多查询),有时找到的扰动也略大。与基于决策攻击的比较: 它们通常比基于决策的攻击(仅使用最终类别标签)需要更少的查询来找到一个初始对抗样本,因为评分提供了关于模型决策边界接近度的更详细信息。然而,基于决策的攻击可能适用于更受限的情形。基于评分的攻击在黑盒攻击范畴中占据重要位置。它们对已部署系统构成一种实际的威胁模型,在这些系统中置信度评分是可用的,迫使防御者不仅要隐藏梯度或模型权重,还要考量更深层的安全性。理解这些技术对于评估通过API或其他接口暴露的模型安全性而言非常必要,这些接口通常提供输出概率。