评估防御机制的有效性需要不限于测试准确率等标准性能衡量指标。在存在对抗性威胁时,我们需要特定的衡量指标来量化模型抵御操纵其预测的尝试的能力。这些衡量指标帮助我们比较不同的防御方法,理解模型的弱点,并对部署安全系统做出明智的决策。攻击下的准确率最直接的衡量指标是攻击下的准确率。这衡量的是模型在每个输入都经过特定对抗性攻击扰动后,数据集上的分类准确率。为了评估模型在对抗性环境中的鲁棒性,需要遵循以下计算步骤:首先,选择一个特定的攻击算法,例如投影梯度下降(PGD);接着,确定攻击参数,其中最重要的是扰动预算 $\epsilon$ 和距离度量($L_p$ 范数);然后,对评估数据集中的每个样本运行选定的攻击;最后,评估防御模型在这些生成的对抗性样本上的准确率。例如,您可能会报告“模型 A 在 PGD $L_\infty$ 攻击下,$\epsilon = 8/255$ 时达到了 65% 的准确率”。这在既定威胁下提供了一个具体的性能数值。然而,这个衡量指标高度依赖于用于评估的攻击强度和类型。模型在面对弱攻击(如单步 FGSM)时可能表现得强劲,但在面对强攻击(如多步 PGD)时则会失效。对抗鲁棒性(准确率)一个更全面的目标是衡量对抗鲁棒性,通常称为鲁棒准确率。这旨在量化模型在给定预算 $\epsilon$ 和 $L_p$ 范数下,抵御最坏情况扰动的准确率。理想情况下,对于给定的输入 $x$ 和标签 $y$,我们希望知道是否:$$ \min_{|\delta|_p \le \epsilon} \mathcal{L}(f(x+\delta), y) $$会产生正确的预测,其中 $\mathcal{L}$ 是损失函数,$f$ 是模型。由于对于深度神经网络等复杂模型来说,找到精确的最坏情况扰动 $\delta$ 在计算上是难以处理的,鲁棒准确率通常通过使用强迭代攻击(如多步 PGD)作为 $\epsilon$ 球内最坏情况对抗者的替代来估计。准确率总是相对于由 $L_p$ 范数和预算 $\epsilon$ 定义的特定扰动模型报告。例如,“该模型在面对 $L_\infty$ 扰动且 $\epsilon = 4/255$ 时表现出 55% 的准确率。”理解扰动范数($L_p$ 范数)$L_p$ 范数的选择非常重要,因为它定义了我们如何衡量对抗性扰动 $\delta$ 的“大小”或“幅度”。不同的范数捕捉不同类型的变化:$L_\infty$ 范数(最大范数): 衡量所有输入特征(例如,图像中的像素)的最大绝对变化。 $$ | \delta |\infty = \max_i | \delta_i | $$ 小的 $L\infty$ 扰动会使变化分布在许多特征上,通常人眼难以察觉。这通常用于图像扰动。对于 [0, 255] 范围内的像素值,$\epsilon$ 为 8/255 意味着任何单个像素值的变化不超过 8。$L_2$ 范数(欧几里得范数): 衡量原始输入和扰动输入之间的标准欧几里得距离。 $$ | \delta |_2 = \sqrt{\sum_i \delta_i^2} $$ $L_2$ 扰动会分散变化,但总平方幅度是有限的。如果其他特征变化较小,它允许某些特征有稍大的变化。$L_0$ 范数(稀疏性范数): 计算被修改的特征数量。 $$ | \delta |_0 = \sum_i \mathbb{I}(\delta_i \neq 0) $$ 其中 $\mathbb{I}$ 是指示函数。这种范数适用于只修改少量特征的攻击(例如,显著改变少数像素)。$L_1$ 范数(曼哈顿范数): 衡量所有特征的绝对变化总和。 $$ | \delta |1 = \sum_i | \delta_i | $$ 和 $L_0$ 类似,$L_1$ 可以促进扰动的稀疏性,这意味着与 $L_2$ 或 $L\infty$ 相比,在相似的感知幅度下,变化会集中在更少的特征中。范数的选择理想情况下应反映预期的威胁模型或数据特性。对于图像,$L_\infty$ 和 $L_2$ 很常见,而 $L_0$ 或 $L_1$ 可能更适用于只改变少数特征有意义的表格或文本数据。最小扰动距离我们可以不固定 $\epsilon$ 并测量准确率,而是提问:对于给定的输入 $x$,需要多大的最小扰动 $\delta$(由 $L_p$ 范数衡量)才能导致错误分类?这就是最小扰动距离或对抗阈值:$$ \epsilon^*(x) = \min_{\delta} { | \delta |_p \text{ 使得 } f(x+\delta) \neq \text{真实标签}(x) } $$精确计算 $\epsilon^(x)$ 可能在计算上要求很高,通常需要类似于攻击生成那样的优化过程。然而,报告数据集上的平均最小扰动距离提供了一个有价值的鲁棒性衡量指标。平均 $\epsilon^$ 越高表明鲁棒性越好,因为平均而言,需要更大的变化才能欺骗模型。与固定 $\epsilon$ 下的准确率相比,这个衡量指标提供了更细致的视角。攻击成功率 (ASR)与攻击下的准确率密切相关的是攻击成功率 (ASR)。它衡量的是在给定约束($\epsilon$,$L_p$)下,特定攻击成功找到对抗性样本的原始正确分类样本的百分比。$$ \text{ASR} = \frac{\text{# 成功攻击次数}}{\text{# 原始正确分类样本数}} $$ASR 专门关注攻击者破坏正确预测的能力。如果一个模型在给定攻击下的原始准确率为 90%,ASR 为 50%,那么其攻击下的准确率大约为 $90% \times (1 - 0.50) = 45%$。(确切的关系略微取决于攻击如何处理错误分类的样本)。可证明的鲁棒性虽然上述衡量指标通常是经验性的(基于运行特定的攻击),可证明的鲁棒性提供了可证明的保证。可证明的防御对于给定的输入 $x$,可以保证在半径为 $\epsilon$ 的某个 $L_p$ 球内,没有任何扰动 $\delta$ 会导致错误分类。与可证明防御相关的衡量指标通常包括:可证明准确率: 模型预测在指定 $\epsilon$ 球内的任何扰动下都可以被证明是可靠的测试样本百分比。平均可证明半径 (ACR): 测试集上可以证明正确性的最大半径 $\epsilon$ 的平均值。可证明的鲁棒性比经验评估提供更强的保证,但通常以牺牲标准准确率或比经验攻击所示更小的可证明鲁棒性半径为代价。随机平滑等技术是实现可证明鲁棒性的重要方法。{ "data": [ { "x": [0, 0.01, 0.02, 0.03, 0.04, 0.05], "y": [92, 75, 55, 38, 25, 18], "type": "scatter", "mode": "lines+markers", "line": { "color": "#4263eb" }, "marker": { "color": "#4263eb" }, "name": "L\u221e" }, { "x": [0, 0.5, 1.0, 1.5, 2.0, 2.5], "y": [92, 80, 68, 52, 40, 30], "type": "scatter", "mode": "lines+markers", "line": { "color": "#7048e8" }, "marker": { "color": "#7048e8" }, "name": "L2" }, { "x": [0, 10, 20, 30, 40, 50], "y": [92, 85, 78, 70, 63, 55], "type": "scatter", "mode": "lines+markers", "line": { "color": "#12b886" }, "marker": { "color": "#12b886" }, "name": "L0 (近似)" } ], "layout": { "title": "准确率 vs. 扰动预算 (\u03b5)", "xaxis": { "title": "\u03b5 (扰动预算)" }, "yaxis": { "title": "准确率 (%)", "range": [0, 100] }, "legend": { "title": "Lp 范数" }, "template": "plotly_white", "margin": { "l": 50, "r": 50, "t": 60, "b": 50 } } }不同 $L_p$ 范数下扰动预算 $\epsilon$ 与估计鲁棒准确率之间的关系示例。请注意,不同范数之间 $\epsilon$ 的刻度和单位差异很大($L_\infty$ 通常使用 1/255 的分数等小值,$L_2$ 使用 0.5-3.0 左右的值,$L_0$ 计数像素)。鲁棒准确率通常随着允许的扰动幅度增加而降低。实际考量没有单一衡量指标能够提供模型安全性的完整图像。全面的评估应包括:报告使用强迭代攻击(例如 PGD、C&W)针对相关 $L_p$ 范数和多个 $\epsilon$ 值估计的准确率。清楚说明所使用的攻击参数(攻击类型、步长、迭代次数、范数、$\epsilon$)。考虑平均最小扰动距离以了解攻击所需的典型工作量。如果适用,报告可证明准确率以提供可证明的保证。评估抵御多种攻击的能力,包括专门设计用于规避被测防御的自适应攻击(本章后续会讨论)。正确选择和解读这些衡量指标对于理解机器学习模型在对抗性环境中的真实安全状况非常重要。