假设你是一家大型保险公司的首席理赔员。每天有成千上万的理赔申请涌进来,每一份都声称“我的车被撞了”“我的包被偷了”。你的工作就是判断:哪些理赔是真的,哪些是骗保。 在过去,你的做法是派一名经验丰富的调查员去现场查看。调查员拍照、走访、比对痕迹,最后得出结论:“这份理赔没问题”或“这份是骗保”。这个流程听起来很靠谱,但你心里清楚:调查员再厉害,也有看走眼的时候。一个高明的骗保者,只要比调查员更狡猾,就能伪造出天衣无缝的现场。 现在换个场景。假如你接手一个 AI 模型,它负责给图片分类、给垃圾邮件打标。攻击者就像骗保者,他们精心篡改图片——哪怕只是几像素的微小扰动——就能让模型做出完全错误的判断。你派“经验丰富的调查员”(各种对抗攻击算法)去测试模型,模型扛住了几百次攻击,你松了口气。但问题是:攻击者总在暗处,你能测到的攻击手段是有限的,而攻击者的手段是无穷的。你怎么知道模型在没测到的攻击面前也能稳住? 这就是“自适应攻击评估”面临的核心难题,也是本篇要讲清楚的主题。 怎么解决?现实世界中,保险公司还有一种终极方案:不依赖单个调查员的经验,而是建立一套数学上可验证的规则——比如规定“任何超过十万元的理赔,必须有警方立案证明、维修厂盖章、监控录像三件套,缺一不可”。有了这套规则,无论骗保者多狡猾,只要他拿不出这三件套,理赔就过不了。这套规则的“保证”不依赖调查员的个人水平,而是数学逻辑本身。 机器学习里有一对概念,正好对应这个思路:经验鲁棒性(empirical robustness)和认证鲁棒性(certified robustness)。前者靠“派更多、更强的调查员”(更多攻击算法去试探),后者靠“建立可验证的数学规则”(证明模型在某个扰动范围内绝对安全)。而随机平滑,则是实现认证鲁棒性的一条巧妙路径——它像保险公司的“多人会审制度”:让一群独立的评审员各自看一遍带噪的理赔材料,再投票表决,用民主机制替代单个专家的判断。

岗位关联

学会这一知识,你将能用数学上可验证的“安全证明”替代“攻击测试”来评估 AI 模型,为高风险场景提供可信赖、可审计的安全依据,走向 AI 安全评估的高级领域。

目录
  1. 可视化演示
  2. 攻击评估困境
  3. 经验评估局限
  4. 认证鲁棒核心
  5. 下界保证思维
  6. 随机平滑机制
  7. 自适应性考量
  8. 评估方法对比
  9. 实战应用价值
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示经验攻击vs认证评估、随机平滑机制及认证半径与精度权衡,支持三模式交互切换。

本节配有交互动效(进入视口后自动加载,约 3KB)。

经验攻击与认证评估对比 经验攻击:FGSM/PGD/CW/AutoAttack等具体攻击方法 认证评估:数学证明扰动下的精度下界保证 经验攻击存在覆盖不全问题,认证提供严格保证 Cert(ε)=P(f(x)=f(x+δ) ∀δ:‖δ‖≤ε) 认证鲁棒性提供超越经验攻击的严格评估标准。

攻击评估困境

回到保险公司的比喻。作为首席理赔员,你面对的最大困境是:骗保者永远在暗处,而你的调查员在明处。 每一份理赔申请,你只能派有限的人力去查,而骗保手段的翻新速度永远快于你的调查流程。你查了十辆车没问题,但第十一辆呢?

AI 的对抗攻击评估面对同样的困境。你要评估一个图像分类模型是否安全,你能做的是:用现有已知的攻击算法(比如 FGSM、PGD、CW 攻击)去试探它。模型防住了,只能说明“在已知攻击面前是稳的”。可攻击者不会按你的脚本来——他们会针对模型的具体情况,“自适应地”设计全新的攻击。今天没有已发表的攻击能攻破模型,明天可能就出现一篇论文把它打穿。

这里的关键词是“自适应”。攻击者不是拿一本固定招式书来出招的,他会观察你的模型、你的防御、你的评估方法,然后专门设计突破手段。因此,评估结论要能闭环到“绝对安全”,就必须超越“我试过的攻击都失败了”这种体验式判断,进入一个更强的层面。

  • 威胁模型:攻击者被假定知道模型的一切细节(包括防御策略),能针对性地设计攻击——这是最严格的“白盒”假设。
  • 评估目标:模型的安全声明必须在最坏情况下也成立,而非仅在已知攻击下成立。
  • 结论缺口:经验测试留下的真空,正是认证鲁棒性要填补的位置。

经验评估局限

为什么“多派几个调查员”不够?因为经验评估(empirical evaluation)从根子上有个偏见:它把“攻击者水平”当成了评估的一部分。 你用的攻击算法越强,测试越严格,但攻击算法本身在不断进化。你今天用 PGD 测出模型是安全的,明天一个更强的攻击算法诞生,结论就翻盘。

更麻烦的是,经验评估的两个推论都不严格:

  • “攻击失败” ≠ “模型安全”——攻击失败只说明“这个攻击算法没找到突破口”,可能是攻击者能力不够,而不是模型真的无懈可击。
  • “攻击成功” ≠ “模型危险”——在某些场景下,攻击成功的只是特定样本,或者攻击者做出的扰动已经被改变得不像原始输入了,这类攻击在真实世界中可能根本不可行。

这就好比:保险公司派了十个调查员去查一份理赔,十个都说“看起来没问题”,你就能批准理赔了吗?如果这是一笔巨额理赔,你需要的不是“十个调查员的直觉”,而是“三件套文件缺一不可”的硬性核验标准。经验评估的问题在于:它永远无法穷尽攻击者的手段。

不过,经验评估并非一无是处。它是快速发现模型弱点的“探针”,是初步筛查手段。在攻击算法不断攻破旧防御的历史中,经验评估一次次扮演了“吹哨人”的角色。只是作为“认证”而言,它的强度远远不够。

认证鲁棒核心

那么,认证鲁棒性(Certified Robustness)是怎么做到“数学看门人”的呢?它的核心思想是:不再问“我试过的攻击能不能攻破它”,而是问“在数学上,能不能证明它在一个扰动范围内绝对安全”。

认证鲁棒性给出一项保证的形式是:对于输入 \(x\),在半径 \(r\) 的某种范数球内,无论扰动怎么加,模型的分类结果始终不变。这个保证不是靠暴力测试得出的,而是靠数学推导证明的。它的有效性不依赖攻击算法的强弱——就算攻击者手握所有计算资源,也没法在这个半径内找到突破。

这就像是保险公司的新规:“不看调查员报告,直接看理赔金额是否在三件套齐全的条件下才可以批准。三件套是本,调查员只是辅助。” 有了规则,就不怕骗保者换了新手法。

  • 从“经验”到“认证”的转变,可以用一句话概括:从“试”到“证”。
  • 认证鲁棒性不试图打败攻击者,而是直接给攻击者画了一个“活动范围”,声明范围内无效。
  • 这种保证是有代价的:通常要求模型结构更简单,或者用平滑化等技术削弱单点敏感性,因此认证后的精度往往低于原始模型的常规精度。

但它的价值无可替代:对于自动驾驶、医疗诊断、金融风控这类“一旦被攻击就出大事”的场景,一个数学上可验证的安全半径,远比“我们测了一万个攻击都没破”更有说服力。

下界保证思维

认证鲁棒性最有意思的思维转变,是对“精度”的重新定义。传统评估里,我们关心的是模型在干净测试集上的准确率,这是一个“期望值”。在对抗评估中,我们需要一个更硬核的指标:在最坏情况下,模型的精度至少是多少? 这个“至少”,就是精度下界(lower bound)。

  • 认证精度下界:在所有扰动都落在允许半径 \(r\) 内的前提下,模型分类正确的比例绝对不会低于某个数。
  • 上界不需要:我们不需要知道模型在扰动下最好能到多少分,只需要知道最坏不会跌破哪个底线。

从数学上看,认证鲁棒的方法通常计算某个概率下界。以随机平滑为例,对输入 \(x\) 加高斯噪声后,模型对各类别的预测概率是一个多项分布。如果类别 \(A\) 的概率最大且足够大,那么可以推出一个保证半径:在那个半径内的任意扰动,都不会改变“类别 \(A\) 是多数”这个结论。

这个思维很像保险公司计算“极端赔付率下限”:即使遇到最恶劣的环境,赔付率不会超过某个界限,因此保费怎么定都有底。认证鲁棒性的下界保证,让模型的“安全底线”变成一条有数学依据的实线,而不是经验上的虚线。

1. 最大类别概率:\(p_A\) 表示在加噪样本中,模型把结果判为“A 类”的最小概率(下界)。它是这个保证的“锚点”。

pA=Px′∼N(x,σ2I)[f(x′)=A]\displaystyle p_A = \mathbb{P}_{x'\sim\mathcal{N}(x,\sigma^2 I)}[f(x') = A]

2. 次大类别概率:\(p_B\) 是除 A 外所有类别中得票最多的那个类别在加噪时的最大概率(上界)。它是“竞争对手”。

pB=max⁡c≠APx′∼N(x,σ2I)[f(x′)=c]\displaystyle p_B = \max_{c\neq A} \mathbb{P}_{x'\sim\mathcal{N}(x,\sigma^2 I)}[f(x') = c]

3. 概率差:\(p_A - p_B\) 是冠军与亚军之间的票差。票差越大,说明平滑后模型的判断越稳定。

pA−pB\displaystyle p_A - p_B

4. 高斯因子:噪声标准差 \(\sigma\) 把概率优势转换成几何空间上的安全半径。噪声越大,单次判断越粗糙,但概率优势被“扩散”得越广,半径越大。

σ2\displaystyle \frac{\sigma}{2}

5. 逆正态累积:\(\Phi^{-1}\) 把概率值映射到标准正态分布的“分位数”,把概率轴转换到几何距离轴上的里程表。

Φ−1(pA)−Φ−1(pB)\displaystyle \Phi^{-1}(p_A) - \Phi^{-1}(p_B)

这个公式是随机平滑提供“认证”的引擎。它的美妙之处在于:它把“模型在噪声下的投票分布”这一统计量,转换成了“在多远的攻击半径内保证安全”这一几何量。

随机平滑机制

随机平滑(Randomized Smoothing)为什么能实现上面的保证?因为它采用了近乎民主的策略:不再是模型自己一个人做决定,而是让大量“加了噪声的副本”各自投票,最后按多数人意见来。

想象一个陪审团制度:给一张图片加不同的随机噪声,生成很多张“有点模糊但核心意思不变”的副本。让模型对每一张副本打分,最终结果由多数决定。单张副本可能因为噪声看走了眼,但整个陪审团的集体判断就稳定得多。

数学上分两步:

1. 平滑分类器构造:给定原始模型 \(f\),构造平滑分类器 \(g\):

\[

g(x) = \arg\max_{c} \mathbb{P}_{\delta\sim\mathcal{N}(0,\sigma^2 I)}[f(x+\delta) = c]

\]

也就是:对 \(x\) 加高斯噪声多次抽样,统计模型判给每个类别的频率,取频率最高者为最终输出。

2. 半径计算:利用上节的公式,由抽样得到的两个最高频类别的概率估计,算出认证半径。

这个机制有两个独特优势:

  • 不修改模型内部结构:不管你的模型是 CNN、Transformer 还是集成模型,随机平滑都可以直接包一层使用,像给任何保险套餐外层套上“全民公投”制度。
  • 可扩展性:只要抽样足够多,概率估计就足够准,认证半径的可靠性就越高——代价是推理时的计算开销变成原来的 \(n\) 倍(需要 \(n\) 次前向推理)。

随机平滑在实践中的一个常见问题是“概率估计误差”:抽样数有限,算出来的 \(p_A\)、\(p_B\) 和真实值有偏差,因此工业实现会用二项分布置信区间来给出保守的下界/上界。这也是实现上比公式多出来的关键细节。

自适应性考量

现在回到本篇文章的标题:“自适应攻击评估”。攻击者知道模型用了随机平滑之后,能不能针对性地做攻击?他可能会想:既然模型输出是加噪投票的结果,那我能不能构造一个在多数噪点上都“漂移”的对抗样本?

答案藏在随机平滑的一个关键属性里:它的认证保证面对的是所有扰动,而不是某一些攻击方式。 认证半径的计算不依赖任何攻击算法,它直接刻画了在数学上“任何扰动都改变不了多数票”的边界。因此,就算攻击者拥有完全的自适应能力、知道平滑分类器的全部细节(这正是强白盒假设),他依然不可能在认证半径内找到能够让模型误分类的扰动。

这不是因为随机平滑特别难攻破,而是因为认证方法改变了游戏规则:攻击者不是要“骗过调查员”,而是要“推翻数学证明”——这等于要挑战概率论本身。

需要澄清的一点:随机平滑的“随机”不是一种防御机制,它并不试图给攻击者制造不确定性。恰恰相反,它把随机性当作一个可以被积分掉的东西——最终给出的是一个确定性的、无随机性的保证半径。即使攻击者拿到随机种子,依然无法改变结论。

因此,在评估一个使用了随机平滑的模型时,自适应攻击评估的正确姿势是:不依赖“生成攻击样本然后看是否成功”,而是直接验证认证半径和认证精度下界是否满足应用需求。 这也是为什么认证鲁棒性被视为“严格评估”的基石。

评估方法对比

经验评估和认证评估各有适用场景,它们是互补的,而非互斥的。

| 维度 | 经验评估(Empirical) | 认证评估(Certified) |

|---|---|---|

| 评估方式 | 运行攻击算法找对抗样本 | 数学推导安全半径 |

| 保证强度 | 仅在已知攻击下成立 | 对所有扰动成立 |

| 计算成本 | 较低,可大规模测试 | 较高,需采样/改写模型 |

| 结论可靠性 | 依赖攻击算法水平 | 不依赖攻击算法 |

| 适用场景 | 快速筛查、比较不同模型 | 高风险安全关键场景 |

  • 经验评估适用:模型研发初期,快速定位薄弱环节,或者在模型对比时作为第一轮筛选。
  • 认证评估适用:模型上线前的安全审计,尤其是自动驾驶、医疗、金融等“出事就完蛋”的领域。
  • 结合使用时:先用经验评估找出明显弱点,改进模型后,再用认证评估给出可发布的保证半径。

就像保险公司不会只用调查员直觉,也不会只靠规则手册而完全忽略现场信息,两者的协同才是完整的风控体系。对 AI 安全评估来说,经验评估是“调查员”,认证评估是“制度”,两者合并才构成完整的评估链条。

实战应用价值

最后,这套“认证思维”在真实 AI 安全工作中的价值是什么?它最大的贡献是:把 AI 安全从“玄学”变成“工程”。

在认证鲁棒性出现之前,你向客户汇报“这个模型是安全的”,依据是“我们试了五种攻击都没攻破”。客户多半会追问:那第六种呢?现在,你可以这样汇报:“在半径 \(0.5\) 的 \(L2\) 扰动范围内,模型的认证精度下界是 \(85\%\)。任何攻击者,无论用什么方法,都无法让精度低于这个值。” 这是一句可以被审计、被验证、被写进合同的安全声明。

  • 高风险场景部署:在自动驾驶的图像识别前加一层随机平滑,获得可证明的扰动安全半径,再决定是否采信模型的判断。
  • 安全审计合规:金融机构部署 AI 风控模型时,监管方会要求“模型在对抗环境下的安全声明有数学保证”,认证评估输出正好符合此项要求。
  • 可信 AI 生态基石:当模型的安全声明可以被数学验证,多方协作(开源、第三方审计、监管)才真正成为可能。这会沉淀为 AI 基础设施的一部分。

回到开头的保险故事:真正让保险公司基业长青的,不是某个神勇的调查员,而是一套“即使遇到神仙级骗保者,也能守住底线”的制度。认证鲁棒性和随机平滑,正是给 AI 安全装的这套制度。

AI 应用场景

场景 1:自动驾驶视觉模型的安全认证

阶段:模型评估与安全审计

解决的问题:自动驾驶的物体识别模型如果被对抗样本攻击,可能导致车辆将“停车标志”识别为“限速标志”,后果不堪设想。传统经验评估无法穷尽攻击手段,车队上线前无法给出可靠的安全承诺。

具体案例:某自动驾驶团队在“行人检测”子系统外包了一层随机平滑,在推理时对图像加噪后多次采样投票。随后用认证评估输出了明确的报告:“对输入的 \(L2\) 扰动,只要不超过半径 0.8,分类结果有 96% 以上的认证精度下界保证。” 安全审计部门将这份报告作为判定系统是否满足安全标准的依据之一。

场景 2:金融风控模型的对抗鲁棒性审计

阶段:安全合规与风险控制

解决的问题:信用评分模型可能被恶意申请者通过微调输入特征(如收入、负债率的微小变动)来欺诈性提升信用等级。监管方需要一种“可证明”的安全指标,而不是“我们尝试了若干种攻击”的说明。

具体案例:某银行在风控模型上线前,采用随机平滑包装,并用认证评估方法产出安全声明:“在扰动半径为 0.3 的特征空间内,模型对'拒绝'类别的预测有至少 90% 的认证精度下界。” 这份声明被纳入内部审计报告,并作为与监管沟通的材料。

Python 演示

python63 行
import numpy as npfrom scipy.stats import norm, binomimport ast  def smooth_predict(model, x, num_samples=1000, sigma=0.25):    """用高斯噪声采样多次,对模型输出做多数投票"""    preds = []    for _ in range(num_samples):        noise = np.random.normal(0, sigma, x.shape)        pred = model(x + noise)        preds.append(pred)    counts = np.bincount(preds, minlength=10)    return counts  def lower_confidence_bound(count, n, alpha=0.001):    """用二项分布置信区间计算概率下界"""    if count == 0:        return 0.0    p_hat = count / n    return binom.ppf(alpha, n, p_hat) / n  def upper_confidence_bound(count, n, alpha=0.001):    """计算概率上界"""    if count == n:        return 1.0    p_hat = count / n    return binom.ppf(1 - alpha, n, p_hat) / n  def certified_radius(counts, sigma=0.25, alpha=0.001):    """根据得票分布计算认证半径"""    n = counts.sum()    top2 = counts.argsort()[-2:][::-1]    top_c, second_c = top2    pA = lower_confidence_bound(counts[top_c], n, alpha)    pB = upper_confidence_bound(counts[second_c], n, alpha)    if pA <= 0.5:        return 0.0    radius = sigma * (norm.ppf(pA) - norm.ppf(pB)) / 2    return max(0.0, radius)  def signed_probe_model(x):    """模拟一个二分类模型:按符号判断类别"""    if hasattr(x, "__iter__"):        return np.where(x > 0, 1, 0)    return 1 if x > 0 else 0  def main():    np.random.seed(42)    x = np.array([0.5, -0.3, 0.2])    counts = smooth_predict(signed_probe_model, x, num_samples=500, sigma=0.2)    radius = certified_radius(counts, sigma=0.2)    print("得票分布:", counts[:3])    print("认证半径:", radius)  if __name__ == "__main__":    main()
目的:完整实现随机平滑的“加噪抽样—统计得票—置信区间下界/上界—认证半径计算”全流程,可直接用于对一个给定模型做认证评估。
  1. noise = np.random.normal(0, sigma, x.shape)生成高斯噪声,模拟给输入加扰动副本;sigma 越大概率分布越宽。
  2. counts = np.bincount(preds, minlength=10)统计每个类别的得票数,这是整个投票机制的核心指标。
  3. binom.ppf(alpha, n, p_hat) / n计算得票率的保守下界(或上界),避免抽样不足导致乐观估计。
  4. if pA <= 0.5: return 0.0如果最大类别的下界概率不超 50%,说明投票不够压倒性,拒绝给出正半径。
  5. radius = sigma * (norm.ppf(pA) - norm.ppf(pB)) / 2核心公式,把概率优势换算成几何上的安全距离。
  6. np.where(x > 0, 1, 0)用符号判断模拟模型输出;真实场景中替换成任意待评估模型的预测函数即可。

常见误区

误区我用 PGD、FGSM、CW 几种主流攻击都测了,模型全部防御成功,那这个模型肯定是安全的了吧?

正解攻击测不出来只能说明“这批攻击算法没找到口子”,不代表“不存在口子”。认证鲁棒性的意义正在于用数学证明替代攻击尝试,把安全声明从“我试过的都攻不破”升级为“数学上就攻不破”。就像十个调查员都没查出问题,不等于理赔单没有猫腻——只有三件套规则才能给出确定性的结论。

为何常见:人们天然倾向用“已发生的验证”推断“未发生的风险”,把有限测试当成穷举证明。攻击算法库的规模和模型的安全性被错误地画上了等号。

误区模型加入了随机噪声,攻击者每次看到的输出都不一样,这样就无法攻击了吧?随机性本身就是防御!

正解随机平滑真正的目的是把“随机噪声下的统计行为”转换成“确定性的数学保证”。它的认证半径是概率论推导出来的,不依赖攻击者的困惑或不确定性。攻击者即使完全掌握噪声的分布和随机种子,也无法在半径内找到有效对抗样本。随机性是工具,不是防御本身。

为何常见:“随机性=防御”的想法来自对系统安全中“混淆”手段的直觉,但认证鲁棒性是另一套完全不同的数学逻辑,混淆在这里不起决定作用。

误区我的模型在干净测试集上准确率有 95%,用随机平滑后再认证,下界只有 82%,看来认证方法毁了我的模型!

正解认证精度下界回答的问题是“在最坏情况(所有扰动都落在半径内)下,模型最低还剩多少准确率”。它是安全底线,不是平常水平的预测。92% 的常规精度 + 85% 的下界,意味着模型既实用又有安全余量;经验评估只能告诉你“平常水平”,认证评估告诉你“最坏底线”,两者本来就是互补的。

为何常见:人们习惯用一个数字概括模型好坏,把“下界”误读成“实际值”,忽略了它面向的是最坏情况而非平均情况。

误区认证半径是 1.0,那攻击距离超过 1.0 的扰动呢?是不是意味着模型完全安全了?

正解认证半径描述的保证是“在半径为 r 的球内,攻击无效”。攻击者若使用更大的扰动半径,确实可能攻破模型,但那样生成的对抗样本通常已经有了明显可见的变化,在真实场景(物理世界、线上 API 的输入检查)中往往不再“隐蔽”。安全评估的目标不是让攻击者永远无法攻击,而是让攻击在可接受的风险阈值内失效。

为何常见:人倾向于把所有安全机制理解成“万能护盾”,忽略了任何保证都有明确的适用条件和边界。

误区论文里说过“自适应攻击可以击败几乎所有防御”,那随机平滑肯定也靠不住,认证评估还有什么意义?

正解这句话针对的是以混淆、随机化、预处理等方式实现的“经验型防御”——它们的保护确实可能被自适应攻击击穿。但随机平滑等认证型防御的保护对象不是某个攻击方法,而是整个扰动集合。认证评估从未承诺与攻击者博弈,而是直接把博弈空间在数学上封锁。自适应攻击再强,也无法在概率论证明的范围内找到空隙。

为何常见:把不同类别的防御混为一谈,用经验型防御的失败案例否定了认证型防御的逻辑基础。实际上两者设计目标完全不同,不能互相否定。

面试题

Q1. 认证鲁棒性(Certified Robustness)与经验鲁棒性(Empirical)最核心的区别是什么?

单选题 · easy

  • A.认证鲁棒性只能在神经网络上使用
  • B.认证鲁棒性提供数学可验证的安全边界← 正确答案
  • C.经验鲁棒性不需要攻击算法参与
  • D.认证鲁棒性一定会降低所有模型精度

答案:B。认证鲁棒性的核心是“证明”——在扰动范围内,无论攻击者用什么方法,分类结果不变;经验鲁棒性仅基于已知攻击算法的测试结果。B 准确定义了认证鲁棒性的本质。A 错误,认证方法支持任意模型;C 错误,经验评估依赖攻击算法;D 错误,是否降低精度视方法而定。

Q2. 随机平滑中,模型对加噪样本的多个副本进行预测,最终结果如何确定?

单选题 · easy

  • A.取所有预测结果的均值
  • B.取出现频率最高的类别作为输出← 正确答案
  • C.取置信度最高的单一样本结果
  • D.随机选取一个副本的结果

答案:B。随机平滑的聚合方式是多数投票:统计所有加噪副本的预测类别,得票最多的类别作为平滑分类器的输出。这个“民主机制”保证了集体判断的稳定性。A 均值只适用于回归任务;C 和 D 丢弃了投票统计信息,会重新引入单次预测的不稳定性。

Q3. 在随机平滑的认证半径公式 \(r = \frac{\sigma}{2}(\Phi^{-1}(p_A)-\Phi^{-1}(p_B))\) 中,\(p_A\) 和 \(p_B\) 分别表示什么?

单选题 · mid

  • A.\(p_A\) 是最大类别概率上界,\(p_B\) 是次大类别概率下界
  • B.\(p_A\) 是最大类别概率下界,\(p_B\) 是次大类别概率上界← 正确答案
  • C.\(p_A\) 和 \(p_B\) 是任意两个类别的概率
  • D.\(p_A\) 是模型精度,\(p_B\) 是噪声方差

答案:B。为保证安全性,\(p_A\) 必须取保守的下界(最大类最少有多大概率),\(p_B\) 取保守的上界(次大类最多可能有多大概率),这样 \(p_A - p_B\) 的差是一个悲观值,保证推导出的半径不会高估安全性。其余选项的上下界方向或含义均不准确。

Q4. 以下哪些属于经验评估的固有局限性?

多选题 · mid

  • A.无法穷举所有攻击算法← 正确答案
  • B.攻击失败不能等价于模型安全← 正确答案
  • C.认证半径一定偏大
  • D.评估结论依赖攻击算法的强度← 正确答案

答案:ABD。经验评估使用有限攻击算法集合做测试,算法库的覆盖范围决定了结论的可靠性上限(A),攻击失败仅表示该算法未找到突破口(B),攻击算法越强测试越严格(D),所以评估结论本质上依赖攻击者水平。C 与经验评估无关,认证半径计算有自己的推导体系。

Q5. 为什么说随机平滑的“随机性”不是一种防御机制?

单选题 · mid

  • A.因为随机性可以被攻击者利用
  • B.因为它最终被积分掉,给出确定性的概率保证← 正确答案
  • C.因为随机性会导致模型精度上升
  • D.因为它只是为美观而设计

答案:B。随机平滑引入噪声的全部意义在于:通过对加噪样本的统计,用概率论工具推导出无随机性的认证半径。随机性只是计算手段,最终输出是一个确定性的数学保证。B 准确描述了这一本质。攻击者即使知道全部随机细节,也无法在半径内攻破。

Q6. 使用随机平滑时,若采样的副本数从 100 增加到 10000,对认证半径最可能的影响是什么?

单选题 · hard

  • A.半径一定显著增大
  • B.半径一定减小
  • C.概率估计更精确,保守的置信区间更窄,半径通常更接近真实值← 正确答案
  • D.半径与采样数无关

答案:C。采样数增大后,频率估计的方差变小,二项分布置信区间变窄,因此 \(p_A\) 的下界会更高、\(p_B\) 的上界会更低,计算出的半径大概率增大且更接近真实值。但它不是必然的单调关系,因为特定一次采样带来的估计误差仍会影响结果。C 的表述最准确。

Q7. 以下哪些场景适合采用认证评估而不是仅依赖经验评估?

多选题 · mid

  • A.自动驾驶车辆的目标识别安全审计← 正确答案
  • B.图片分类模型的学术基准测试
  • C.金融风控模型对抗攻击合规审查← 正确答案
  • D.对话模型的闲聊质量评估

答案:AC。认证评估适合对安全有硬性要求、失败后果严重的高风险场景(A、C)。学术基准测试通常更关注平均精度与攻击成功率,用经验评估即可快速对比(B);对话质量评估不涉及对抗安全声明,不属于认证评估范畴(D)。

Q8. 认证精度下界这个词中,“下界”最准确的通俗理解是什么?

单选题 · easy

  • A.模型在干净测试集上的最低分
  • B.在最坏扰动下,模型精度的最低保障值← 正确答案
  • C.模型训练时的损失函数下限
  • D.攻击者攻击成本的下限

答案:B。认证精度下界回答的是“无论攻击者如何使坏,模型的精度都不会跌破这个值”,是安全底线。其余选项分别对应训练指标、损失函数、攻击成本,与认证精度下界的含义无关。

Q9. 随机平滑的认证方法之所以能抵抗自适应攻击,根本原因是什么?

单选题 · hard

  • A.自适应攻击者无法获取模型的随机种子
  • B.认证半径的推导不依赖任何具体攻击算法← 正确答案
  • C.高斯噪声会让攻击者的梯度消失
  • D.模型内部结构被完全隐藏

答案:B。认证方法直接从概率论出发证明“在半径内任何扰动都无法改变多数票”,攻击算法的具体形式、强弱、是否自适应都不影响结论。B 解释了认证鲁棒性的数学基础。A、C、D 都是混淆或经验型防御的思路,不是认证方法的核心。

Q10. 随机平滑的主要组成部分包括哪些?

多选题 · easy

  • A.对输入添加高斯噪声生成多个副本← 正确答案
  • B.对副本预测结果进行多数投票← 正确答案
  • C.用置信区间估计类别概率的保守边界← 正确答案
  • D.使用强化学习训练攻击者模型

答案:ABC。随机平滑三步骤:加噪抽样(A)、投票聚合(B)、用置信区间估计概率边界并计算半径(C)。D 是攻击者训练的内容,不属于随机平滑的构成部分。