对抗训练旨在通过训练期间将模型暴露于攻击来凭经验提升鲁棒性,但它通常缺乏正式的保证。如果你需要确凿的保证,证明你的模型不会被特定幅度内的任何扰动欺骗,那么你需要查看可认证防御方法。随机平滑是一种实用且广泛适用的技术,用于获得此类保证,特别是针对 $\ell_2$ 范数有界扰动。核心思想出奇地简单:你不直接依赖于原始的、可能复杂的基分类器 $f(x)$ 的预测,而是使用一个平滑版本,我们称之为 $g(x)$。这个平滑分类器 $g$ 不仅仅是在输入 $x$ 处评估 $f$。相反,它考虑 $f$ 在 $x$ 周围邻域中的行为,具体做法是,多次向输入添加随机噪声(通常是高斯噪声),并观察其整体结果。随机平滑的工作原理形式上,给定一个基分类器 $f$(可以是任何模型,例如神经网络),平滑分类器 $g(x)$ 定义为当输入 $x$ 被各向同性高斯噪声 $\epsilon \sim \mathcal{N}(0, \sigma^2 I)$ 扰动时,最有可能由 $f$ 返回的类别 $c$:$$ g(x) = \arg\max_c P(f(x+\epsilon) = c) $$这里,$\sigma$ 是一个表示噪声标准差的超参数。它控制平滑的程度。更大的 $\sigma$ 意味着更多的平滑,会考虑输入 $x$ 周围更宽广的区域。实际上,我们无法精确计算此概率。相反,我们使用蒙特卡洛采样来估计它:获取输入 $x$。从 $\mathcal{N}(0, \sigma^2 I)$ 生成 $n$ 个噪声样本 $\epsilon_1, \dots, \epsilon_n$。对每个带噪输入查询基分类器 $f$: $f(x+\epsilon_1), \dots, f(x+\epsilon_n)$。统计每个类别的票数。预测 $g(x)$ 是得票最多的类别。如果出现平局,我们可能会弃权(返回 $\perp$)。digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="Arial", fontsize=10]; edge [fontname="Arial", fontsize=9]; X [label="输入 x"]; Noise1 [label="添加噪声 ε₁\n(ε ~ N(0, σ²I))", shape=ellipse, style=dashed, color="#adb5bd"]; NoiseN [label="添加噪声 εₙ\n(ε ~ N(0, σ²I))", shape=ellipse, style=dashed, color="#adb5bd"]; BaseF1 [label="基分类器 f(x+ε₁)"]; BaseFN [label="基分类器 f(x+εₙ)"]; Aggregate [label="聚合预测\n(多数投票)", shape=hexagon, style=filled, fillcolor="#a5d8ff"]; SmoothedG [label="平滑预测 g(x)"]; subgraph cluster_sampling { style=dotted; label="蒙特卡洛采样 (n 次)"; Noise1; NoiseN; BaseF1; BaseFN; } X -> Noise1 [style=dashed]; X -> NoiseN [style=dashed]; Noise1 -> BaseF1; NoiseN -> BaseFN; BaseF1 -> Aggregate; BaseFN -> Aggregate; Aggregate -> SmoothedG; label="随机平滑预测过程"; fontsize=12; }平滑分类器 $g(x)$ 的预测过程。输入 $x$ 被高斯噪声多次扰动后,通过基分类器 $f$ 处理,最终预测结果由对结果的多数投票决定。认证:可证明的鲁棒性随机平滑的优点在于它能提供一个认证。如果平滑分类器 $g(x)$ 预测一个类别 $c_A$,我们可以计算一个半径 $R$,使得对于任意满足 $||\delta||_2 \le R$ 的扰动 $\delta$,平滑分类器 $g(x+\delta)$ 仍将预测类别 $c_A$。这为该半径内的任何 $\ell_2$ 攻击提供了保证。支撑这一点的定理(引自Cohen, Rosenfeld, and Kolter, 2019)将认证半径 $R$ 直接与噪声水平 $\sigma$ 以及基分类器 $f$ 在噪声下预测多数类别 $c_A$ 的概率联系起来。令 $p_A$ 是真实概率 $P(f(x+\epsilon) = c_A)$ 的一个下界(通常使用蒙特卡洛计数中的 Clopper-Pearson 区间等方法以高置信度获得)。则认证半径 $R$ 由下式给出:$$ R = \sigma \Phi^{-1}(p_A) $$这里,$\Phi^{-1}$ 是标准高斯分布 $\mathcal{N}(0, 1)$ 的逆累积分布函数(CDF)。直观地说,如果基分类器 $f$ 在添加大量噪声($\sigma$)后,仍能高度一致地预测类别 $c_A$(这意味着 $p_A$ 接近 1),那么平滑分类器 $g$ 在更大的半径 $R$ 内表现良好。如果预测一致性较低($p_A$ 接近 0.5),则认证半径会缩小。请注意,如果 $p_A \le 0.5$,则半径为零或未定义,这意味着无法提供保证。优点与缺点随机平滑具有几个吸引人的特性:可证明的保证: 它提供针对 $\ell_2$ 扰动的数学上可靠的鲁棒性认证。分类器无关: 它可以应用于任何基分类器。你不需要特殊的网络架构。你甚至可以采用一个预训练模型并用平滑对其进行封装。可扩展性: 训练基分类器是标准做法。认证步骤涉及多次前向传播,与一些其他可认证防御方法相比,计算上是可控的,特别是对于大型网络。然而,它也伴随着权衡:$\ell_2$ 范数特异性: 标准方法主要提供针对 $\ell_2$ 范数的保证。尽管存在针对其他范数(例如使用拉普拉斯噪声的 $\ell_1$)的扩展,但它们可能不太实用。准确性与鲁棒性: 增加噪声 $\sigma$ 通常会增加认证半径 $R$,但往往会降低在干净、未受扰动数据上的准确性。找到正确的平衡点很重要。推理成本: 使用 $g(x)$ 进行预测需要通过 $f$ 进行多次前向传播。认证需要更多的样本才能获得紧密的概率边界,这会显著增加推理时间。有限半径: 可实现的认证半径 $R$ 可能小于某些经验攻击中使用的扰动幅度,特别是在需要保持高干净准确性的情况下。实际考量:调整 $\sigma$ 和采样噪声水平 $\sigma$ 是最重要的超参数。较小的 $\sigma$ 会带来较高的干净准确性,但认证半径较小(或根本没有)。较大的 $\sigma$ 可以产生更大的认证半径,但可能会显著降低干净准确性,因为平滑可能会模糊重要特征。蒙特卡洛采样数 $n$ 会影响预测和认证:对于预测,适量的样本数(例如 $n=100$)可能就足够了。对于认证,通常需要更多的样本数(例如 $n=100,000$)才能以高置信度(例如 $\alpha=0.001$)获得紧密的下界 $p_A$。{"layout": {"title": {"text": "随机平滑中准确性与噪声水平 (σ)"}, "xaxis": {"title": {"text": "噪声水平 (σ)"}}, "yaxis": {"title": {"text": "准确性"}, "range": [0, 1]}, "legend": {"title": {"text": "准确性类型"}}}, "data": [{"type": "scatter", "mode": "lines+markers", "name": "干净准确性", "x": [0.1, 0.25, 0.5, 0.75, 1.0, 1.25], "y": [0.92, 0.90, 0.85, 0.78, 0.70, 0.62], "line": {"color": "#1c7ed6"}}, {"type": "scatter", "mode": "lines+markers", "name": "认证准确性 (R=0.5)", "x": [0.1, 0.25, 0.5, 0.75, 1.0, 1.25], "y": [0.05, 0.45, 0.70, 0.72, 0.68, 0.60], "line": {"color": "#f76707"}}]}随着噪声水平 $\sigma$ 的增加,干净准确性与认证准确性(在固定半径 $R$ 下)之间的典型权衡。较高的噪声通常能在一定程度上提高认证准确性,但会持续降低干净准确性。随机平滑代表着构建具有可验证安全属性的机器学习系统的重要进展。尽管它并非万能药,但它提供了一个实用框架来获得可证明的鲁棒性保证,通过提供一种基于统计认证的不同类型保证,补充了对抗训练等经验防御。了解其工作机制、优点和局限性对于在安全敏感应用中部署鲁棒机器学习模型非常必要。