小明花大价钱换了一款号称“三重防护、绝对安全”的 AI 智能门锁。可广告吹得越响,他心里越犯嘀咕:锁厂自己测出来的数据再漂亮,万一遇上手法刁钻的开锁高手,这锁扛得住吗?于是他决定搞一场“实战演习”:请来几位开锁师傅,有人拿着锁芯图纸上阵,有人只能隔着门板盲试,每人还被限定了工具与次数。结果,一位师傅仅凭一片锡纸,三秒钟就开了门——锁没坏,可它确实被“骗”开了。这个故事,正是 AI 领域“对抗鲁棒性评估”的缩影:模型就像那扇门锁,对抗样本就像锡纸钥匙,在几乎不被察觉的微小改动下,让强大的模型瞬间失守。本文将以这场攻防演习为主线,带你搞懂什么是鲁棒性评估、攻击者如何出招、我们如何量化模型的安全底线,以及怎样通过评估与对抗训练让模型真正“扛揍”。
学会鲁棒性评估,就掌握了给 AI 模型做“安全质检”的硬本领——这是算法工程师、AI 安全研究员和数据科学家评估模型可信度、通过合规审查的必备核心技能。
可视化演示
动态演示对抗鲁棒性评估方法的核心机制,通过总览/传输/转换/输出四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
对抗鲁棒性评估方法:鲁棒性评 鲁棒性评估的定义与可信评估动机 威胁模型与扰动范数约束的界定 核心机制可视化 对抗鲁棒性评估方法整体架构与关键组件
评估基础概念
小明花大价钱装了“AI 智能门锁”,广告里吹得天花乱坠,可他还是不放心。于是他请来开锁师傅搞实战演习,结果一位师傅用一片锡纸三秒开锁。锁没有坏,开锁方式也完全超出常规——这种“看似正常却瞬间被破解”的输入,在 AI 领域就叫对抗样本。它是在原始数据上施加人眼几乎察觉不到的微小扰动,却能让模型输出完全错误的预测。
给一张“停车”标志贴上几条不干胶,自动驾驶系统就可能把它认成“限速 80”;在猫的照片上叠加一层几乎看不见的噪声,分类器就坚称那是“吉他”。模型在正常样本上表现优异,却在被精心篡改的输入面前频频翻车,这种不稳定的性质就是缺乏鲁棒性。鲁棒性评估要回答的核心问题正是:这个模型面对恶意篡改时,到底有多稳?
我们用一个形式化条件来刻画“鲁棒”:对任意满足约束的扰动,模型输出应保持不变。
就像小明通过演习才发现锁的“锡纸漏洞”,AI 工程师也只有通过系统化的攻防测试,才能发现模型的“对抗漏洞”。评估的意义不是证明模型完美,而是诚实地告诉所有人:它在什么条件下值得信赖,在什么条件下会失守。
- 模型预测f(x) 表示模型对原始输入 x 的预测结果,它是整个鲁棒性讨论的“基准答案”。
- 扰动叠加x + δ 是在原始输入上叠加微小扰动 δ 后得到的对抗样本。
- 预算约束‖δ‖_p ≤ ε 限制扰动大小,ε 越小改动越隐蔽,p=∞ 时逐元素约束。
- 鲁棒条件要求模型对原始样本与扰动样本给出相同预测;一旦不等,攻击即告成功。
威胁模型定义
小明的开锁演习并非胡来,而是有严格规则的:师傅们被分成两组,一组拿到锁的内部结构图纸,一组只能隔着门板盲试;每个人都必须说清目标是“打开门就行”还是“必须打开保险柜”;工具也有上限,只许用一根铁丝,不能带电钻。规则定好,演习结果才有可比性。
这套规则在 AI 领域就叫“威胁模型”。评估鲁棒性之前,必须先定义三个要素:攻击者知道什么、想达成什么、能使用多大能力。攻击者知识分为白盒与黑盒:白盒攻击完全掌握模型结构与参数,能直接计算梯度;黑盒攻击对模型一无所知,只能通过查询输入输出或迁移替代模型来构造样本。攻击目标分为无目标攻击与有目标攻击:前者只求“让模型犯错”,后者要求“把样本判成指定类别”。攻击者能力则用扰动预算 ε 来约束。
威胁模型用数学语言写出来,就是一组约束加上一个目标:
规则不同,演习结论就完全不同。白盒测试 100% 攻破的锁,黑盒测试可能只有 30% 攻破率;预算 ε 放宽一倍,准确率可能骤降。所以评估报告必须写清威胁模型——就像开锁演习报告必须注明“是否给了图纸、允许用多大力”。
- 攻击者扰动δ 是攻击者在样本上施加的篡改向量。
- 能力约束无穷范数限制每个分量的幅度都不超过 ε。
- 攻击目标让模型预测结果偏离真实标签 y。
攻击策略选择
演习中三位师傅风格迥异。第一位擅长“推理流”,拿着图纸顺着锁芯结构推演出受力最薄弱的点,一击即中;第二位擅长“试探流”,不依赖图纸,反复拨弄弹子,一点点逼近开启位置;第三位更绝,提前在自家同款锁上练了上百遍,总结出通用手法,上场直接复刻。三种流派,各有千秋。
攻击算法同样分三条路线。梯度攻击利用模型反向传播的梯度信息,找到让损失函数上升最快的方向——就像顺着图纸找薄弱点;优化攻击把“找对抗样本”形式化为优化问题,在预算约束下搜索最小扰动;迁移攻击则在本地训练替代模型,把在替代模型上生成的对抗样本直接投给目标模型,用于无法获取梯度的黑盒场景。无论哪条路线,本质都是在求解同一个“最坏扰动”问题:
三种策略没有绝对优劣。梯度攻击快如闪电但容易“用力过猛”;优化攻击效果好却计算昂贵;迁移攻击在纯黑盒下也能奏效但成功率不稳。成熟的评估方案不会只请一位师傅,而是三种流派轮番上阵。
- 损失函数J 度量预测与真实标签的差距,损失越大错得越离谱。
- 攻击者目标在预算内寻找使损失最大的扰动 δ\*。
- 梯度线索损失对输入的梯度 ∇\_x J 指明损失上升最快的方向,是梯度攻击的关键情报。
- 预算约束扰动被限制在 ε 球内,保证改动难以察觉。
经典攻击实现
演习正式开始。第一位“快刀手”师傅出场:瞄准锁芯最薄弱的点,用一根特制铁丝猛地一拧——开了,整个过程不到一秒。这就是 FGSM,单步快速攻击。它沿损失上升最快的方向(梯度符号)迈出一步,是理解对抗攻击的"hello world"。
第二位“磨王”师傅则慢工出细活:一点一点拨动弹子,每拨一下都试探锁芯反应,反复调整力道,直到锁芯松动。这就是 PGD,多步迭代攻击,是目前公认最强的白盒攻击之一。它每一步都沿梯度方向小幅推进,再投影回预算球内。
第三位“细节控”师傅不追求一击必中,而是反复调整工具形变角度,目标是“用最小痕迹打开锁”。这就是 C&W:把“攻破 + 扰动尽量小”写成联合优化目标。
三位师傅各显神通,也各有局限:快刀手够快但一次失手就前功尽弃,磨王更稳但耗时长,细节控最精细但计算开销大。评估时选哪套攻击,取决于模型类型与计算资源——就像不同材质的锁,要派不同专长的师傅去试。
- 隐蔽性项‖δ‖\_p 惩罚扰动的大小,追求“最小痕迹开锁”。
- 攻击性项f(x+δ) 度量距离攻破模型还差多远。
- 权衡系数c 在隐蔽与攻击之间取平衡,c 越大越激进。
评估指标体系
演习结束,小明需要一份量化报告。光说“师傅把锁打开了”不够,他得知道:100 次尝试中成功几次,成功时用了多大的工具,换一把同款锁结果稳不稳定。于是,他定下三把标尺。
第一把标尺是鲁棒准确率:在给定扰动预算 ε 下,对抗样本经过模型后依然被正确分类的比例。第二把标尺是攻击成功率:对抗样本导致模型误判的比例,它与鲁棒准确率此消彼长。第三把标尺是扰动度量:成功攻破所需的扰动有多小,扰动越小说明模型越脆弱。其中鲁棒准确率是最核心的指标,定义如下:
三把标尺各看一面:鲁棒准确率回答“模型还剩多少可用性”,攻击成功率回答“攻击者多容易得手”,扰动度量回答“攻击要付出多大代价”。就像一份完美的开锁报告,既要写攻破率,也要写平均用时与工具痕迹。
- 评估样本N 是评测集中样本总数,每个样本含输入 x\_i 与标签 y\_i。
- 最坏扰动δ\_i 是攻击者针对第 i 个样本找到的最坏扰动。
- 指示函数括号内成立记 1,不成立记 0,只统计“守住”的样本。
- 鲁棒准确率求和取平均后得到 0~1 之间的比例,越高越鲁棒。
评估流程实施
演习结束后,小明想把报告做成可复现的标准流程。他总结出四步:先选一把“典型门锁”(代表性数据集),再按规则请来不同流派师傅(多种攻击方法),每把锁连续测试多轮并记录数据,最后汇总成报告、标出薄弱环节。
AI 鲁棒性评估的流程与之如出一辙。第一步,准备评估数据集,通常包含标准测试集与专门构造的对抗样本集,确保覆盖常见分布与极端情况;第二步,明确威胁模型并选定攻击方法组合,常见做法是用 FGSM 快速摸底、用 PGD 评估上限、再用迁移攻击模拟真实黑盒;第三步,实施评测,在多个预算 ε 下扫描,记录逐样本结果;第四步,汇总分析,生成鲁棒性曲线、失败样例与归因报告。多次攻击、多档预算的结果还需要一个综合指标来横向比较——取各攻击方法下鲁棒准确率的平均值:
流程的价值在于可复现、可比较。上一季度报告说鲁棒准确率 80%,下一季度换了攻击方法却跌到 60%——到底是模型变差了,还是测试变苛刻了?只有把数据、攻击、预算全部固定下来的标准流程,才能回答这类问题。
- 攻击方法集合K 表示评估中采用的不同攻击方法数量。
- 单方法指标RA^(k) 是第 k 种攻击下得到的鲁棒准确率。
- 综合均值取平均得到多角度攻击下的总体鲁棒水平。
对抗训练防御
小明的演习报告揭示了锁的致命缺陷:锡纸开锁之所以奏效,是因为锁芯对这类“旁路手法”毫无防备。他拿着报告找到锁厂,厂家连夜改进工艺:请来一批开锁高手反复测试新方案,每次失败就记录手法、加固结构,直到这些手法全部失效——这叫对抗训练。
对抗训练是目前最有效的鲁棒性提升手段:在训练过程中实时生成对抗样本并加入训练集,让模型在“被攻击”中学会抵抗攻击。它的目标函数是一个内外双层优化问题:
除了对抗训练,防御蒸馏是另一条思路:用大模型(教师)的软标签训练小模型(学生),让决策边界更平滑、梯度信息变微弱,攻击者难以利用梯度构造有效扰动。但它在多步攻击面前防御有限,实际生产中普遍以对抗训练为主线。防御不是一劳永逸——攻击手段在进化,今天的 PGD 攻不破,明天的自适应攻击可能一击即中。鲁棒性评估与对抗训练构成“攻-防-评”闭环:评估找漏洞,训练补漏洞,再评估验效果。
- 内层 max(攻击者)在预算内寻找使损失最大的最坏扰动,相当于让开锁高手尽情发挥。
- 外层 min(防御者)优化模型参数 θ,让最坏情况下的损失也尽量小。
- 期望 E对训练分布中的所有样本求平均,确保护盾对全体样本生效。
- 整体闭环攻防博弈反复进行,模型在“挨打”中不断变强。
AI 应用场景
自动驾驶视觉感知安全评估
阶段:模型部署前的安全评估与合规审查
解决的问题:传统测试只在干净数据上跑分,无法提前暴露感知模型在对抗贴纸、恶劣光照下的失效风险,一旦上路将造成严重安全事故。
具体案例:某自动驾驶团队的感知模型在鲁棒性评估中发现,给“停车”标志贴上几条对抗贴纸,模型就以 82% 的概率将其识别为“限速 80”。评估团队用 PGD 与物理对抗样本组合测试,量化出在 ε=0.05 预算下鲁棒准确率仅 61%,据此推动感知模型补充对抗训练数据,并将鲁棒性指标纳入版本发布门槛。
金融反欺诈模型的对抗鲁棒性监控
阶段:模型上线后的持续鲁棒性监控
解决的问题:欺诈团伙会刻意构造特征样本(如小额多笔、模拟正常用户行为)绕过风控模型,传统评估无法模拟这种恶意特征篡改。
具体案例:某支付平台的信用评分模型在评估中发现,对特征做 0.3 范围内的梯度扰动,欺诈检出率从 91% 跌至 74%;评估团队将 PGD 生成的对抗样本加入重训练集,再次评估时检出率回升至 87%,并将“鲁棒准确率-预算曲线”纳入每月风控模型健康度报告。
内容审核系统的红队测试
阶段:上线前的红队对抗测试
解决的问题:恶意文本通过插入字符变体、同义词替换、嵌套拼写等方式绕过审核模型,黑盒条件下的真实攻击能力难以预判。
具体案例:某平台的违规文本审核模型,用迁移攻击(替代模型生成 + 查询反馈)在黑盒条件下构造对抗文本,绕过率高达 33%。测试报告促使团队引入对抗训练与输入净化(拼写归一化)双重防线,二次评估绕过率降至 5% 以下。
Python 演示
import numpy as np def make_data(n=600, seed=0): rs = np.random.RandomState(seed) X = rs.randn(n, 2) y = np.where(X[:, 0] ** 2 + X[:, 1] ** 2 < 3.5, 1.0, -1.0) return X, y def forward(X, W1, b1, W2, b2): h = np.maximum(0, X.dot(W1) + b1) return h.dot(W2) + b2, h def predict(X, p): W1, b1, W2, b2 = p s, _ = forward(X, W1, b1, W2, b2) return np.where(s > 0, 1.0, -1.0) def train(X, y, hidden=16, epochs=400, lr=0.2): rs = np.random.RandomState(7) W1 = rs.randn(2, hidden) * 0.4 b1 = np.zeros(hidden) W2 = rs.randn(hidden) * 0.4 b2 = 0.0 for _ in range(epochs): idx = rs.choice(len(X), 64) Xb, yb = X[idx], y[idx] s, h = forward(Xb, W1, b1, W2, b2) ds = -yb / (1 + np.exp(yb * s)) W2 -= lr * h.T.dot(ds) / len(Xb) b2 -= lr * ds.mean() dh = ds[:, None] * W2 dz = np.where(h > 0, dh, 0.0) W1 -= lr * Xb.T.dot(dz) / len(Xb) b1 -= lr * dz.mean(axis=0) return W1, b1, W2, b2 def grad_input(X, y, p): W1, b1, W2, b2 = p z = X.dot(W1) + b1 h = np.maximum(0, z) s = h.dot(W2) + b2 ds = -y / (1 + np.exp(y * s)) dh = ds[:, None] * W2 dz = np.where(h > 0, dh, 0.0) return dz.dot(W1.T) def fgsm_attack(X, y, p, eps): g = grad_input(X, y, p) return X + eps * np.sign(g) def pgd_attack(X, y, p, eps, steps=20, alpha=0.08): adv = X.copy() for _ in range(steps): g = grad_input(adv, y, p) adv = adv + alpha * np.sign(g) adv = np.clip(adv, X - eps, X + eps) return adv def robust_accuracy(X, y, p, attack, eps): X_adv = attack(X, y, p, eps) y_pred = predict(X_adv, p) return np.mean(y_pred == y) def main(): X, y = make_data() split = 400 p = train(X[:split], y[:split]) Xte, yte = X[split:], y[split:] clean_acc = np.mean(predict(Xte, p) == yte) print("clean acc = %.4f" % clean_acc) print("eps FGSM_RA PGD_RA") for eps in [0.1, 0.2, 0.4, 0.6]: ra1 = robust_accuracy(Xte, yte, p, fgsm_attack, eps) ra2 = robust_accuracy(Xte, yte, p, pgd_attack, eps) print("%.1f %.4f %.4f" % (eps, ra1, ra2)) if __name__ == "__main__": main()
def grad_input(X, y, p):反向传播求出损失对输入的梯度,这是攻击者最关键的“情报”,相当于掌握了锁芯图纸。ds = -y / (1 + np.exp(y * s))对逻辑损失求导,得到每个样本损失关于模型输出的梯度。dz = np.where(h > 0, dh, 0.0)ReLU 掩码让梯度只流过激活的神经元,保证反向传播路径正确。return dz.dot(W1.T)把梯度传回输入层,得到 FGSM/PGD 构造对抗样本所需的攻击方向。return X + eps * np.sign(g)FGSM 单步攻击:沿梯度符号方向加扰动,一步生成对抗样本。adv = np.clip(adv, X - eps, X + eps)PGD 每步投影回预算球内,保证扰动不越界。return np.mean(y_pred == y)计算鲁棒准确率,作为评估报告的核心指标。
常见误区
误区“我的模型在测试集上准确率 98%,说明它足够鲁棒,不需要专门评估。”
正解干净准确率衡量的是“正常输入下有多准”,鲁棒性衡量的是“恶意篡改下有多稳”。就像一把日常开关顺滑的锁,可能被锡纸三秒捅开;模型在对抗样本面前同样可能瞬间失守。它们是两个维度的指标,必须用对抗样本实测才能下结论。
为何常见:传统机器学习评估长期只看干净数据上的泛化指标,人们习惯用“准确率高”直接断言模型质量好。
误区“我的攻击成功率超过了别人的方法,就说明我的攻击方法更好。”
正解攻击成功率必须在相同威胁模型下比较才有意义:一样的预算 ε、一样的白盒/黑盒设定、一样的模型与数据。预算从 0.01 放宽到 0.3,成功率几乎必然上升;白盒攻击通常碾压黑盒攻击。脱离约束谈成功率,就像不问工具限制就比谁的开锁技术高,毫无意义。
为何常见:人们天然倾向用一个简单数字排名,却忽略了数字背后的前置条件。
误区“拿 FGSM 跑一遍,攻击成功率不高,模型就是鲁棒的。”
正解每种攻击只暴露一个侧面的弱点。FGSM 弱往往只说明“单步攻击失效”,而 PGD、C&W、迁移攻击可能轻松攻破。就像只请一位开锁师傅测过就说锁绝对安全,显然不严谨。标准做法是多种攻击组合、多档预算扫描,取最坏情况作为鲁棒性基准。
为何常见:FGSM 实现简单、跑得快,容易让人误以为“测过了”就等于“测够了”。
误区“做完对抗训练,模型就永久免疫攻击,评估可以不用再做了。”
正解攻防是持续演化的博弈。对抗训练只针对训练时见过的攻击类型,新的攻击手段(如自适应攻击、物理对抗样本)随时可能出现。“评估—训练—再评估”的闭环才是正确姿势:每次出现新攻击都重新评估,发现漏洞后迭代训练,形成持续改进。
为何常见:把“提升鲁棒性”误解为一次性的终点,忽略了攻击方法本身也在不断进化。
面试题
Q1. 对抗样本最本质的特征是什么?
- A.在样本上添加了大幅度的随机噪点
- B.微小扰动人眼难察却致模型误判← 正确答案
- C.与训练数据分布存在明显的差异
- D.训练样本中含有大量的错误标签
答案:B。对抗样本是刻意构造的输入,关键特征是“扰动微小得人眼难以察觉,却能让模型输出错误结果”。随机噪点虽可能影响模型,但并非刻意构造的对抗行为;分布差异与标签错误属于数据质量问题,与对抗样本无关。这就像锡纸开锁——外观几乎没变,却轻松破解了看似坚固的锁。
Q2. 白盒攻击与黑盒攻击的根本区别是什么?
- A.攻击者所拥有计算资源的多寡程度
- B.是否知道模型结构与参数梯度信息← 正确答案
- C.攻击过程中所生成对抗样本的数量
- D.是否调用显卡加速模型训练的过程
答案:B。白盒攻击假设攻击者完全掌握模型结构、参数和梯度,能直接计算攻击方向;黑盒攻击则没有这些信息,只能通过查询输出或迁移替代模型来攻击。计算资源、样本数量、训练加速都不构成二者区别。就像开锁演习里,拿到结构图纸的师傅与只能盲试的师傅,情报差异才是关键。
Q3. FGSM 生成对抗样本的核心公式是哪一个?
- A.x + ε·sign(∇ₓJ(θ,x,y))← 正确答案
- B.x − ε·∇ₓJ(θ,x,y)
- C.x + ε·∇ₓJ(θ,x,y)
- D.x − ε·sign(∇ₓJ(θ,x,y))
答案:A。FGSM 沿损失上升最快的方向(梯度符号)加上扰动,即 x + ε·sign(∇ₓJ(θ,x,y))。B 和 D 沿下降方向走,只会让预测更稳定,与攻击方向相反;C 方向正确但直接用梯度幅值,会导致不同像素改动幅度不一致,不是 FGSM。这正是“顺锁芯最薄弱处猛推一下”的单步手法。
Q4. PGD 相比于 FGSM 的核心改进是什么?
- A.不需要设置扰动预算 ε 的上限
- B.多步迭代并在每步后投影回预算约束← 正确答案
- C.只能用于黑盒攻击的评估场景
- D.不需要计算模型的梯度信息
答案:B。PGD 每步沿梯度符号方向前进 α,然后通过 clip 将样本投影回 ε 预算球内,反复迭代逼近最坏扰动,因此比单步 FGSM 攻击力更强。A 错误,PGD 同样受预算约束;C、D 错误,PGD 是白盒攻击且依赖梯度。就像“磨王”师傅反复拨动弹子,每次都不越界,直到锁芯松动。
Q5. 在鲁棒性评估中,攻击成功率(ASR)的含义是什么?
- A.模型正确识别对抗样本所占的比例
- B.对抗样本导致模型判断出错的比例← 正确答案
- C.攻击算法在单位时间内的运行速度
- D.生成对抗样本所消耗的计算资源
答案:B。攻击成功率衡量攻击者的视角:在给定预算下,有多少对抗样本成功让模型犯错。A 是鲁棒准确率,二者互补;C、D 是攻击的效率与代价,与成功率无关。在理想条件下,攻击成功率 ≈ 1 − 鲁棒准确率,就像开锁报告里“攻破率”与“完好率”互为镜像。
Q6. 约束 ‖δ‖∞ ≤ ε 在图像对抗攻击中的直观含义是什么?
- A.每个像素允许被修改的最大幅度← 正确答案
- B.全部像素修改幅度的平方和上限
- C.被修改的像素数量占图像的百分比
- D.对抗样本与原始样本的欧氏距离
答案:A。无穷范数取的是向量中绝对值最大的分量,因此 ‖δ‖∞ ≤ ε 意味着任意像素的改动幅度都不超过 ε。B 是 L2 范数平方约束,D 是 L2 范数本身,C 描述的是稀疏攻击中限制改动像素比例,均不准确。这相当于规定了开锁工具“最多能用多大力”。
Q7. 对抗训练目标 min_θ E[max_δ L(f_θ(x+δ), y)] 中,内层 max 的作用是什么?
- A.在预算内寻找使损失最大的最坏扰动← 正确答案
- B.寻找使分类损失最小的模型最优参数
- C.计算整个训练数据集的平均损失大小
- D.控制随机梯度下降过程中参数的更新步长
答案:A。内层 max 模拟攻击者视角,在扰动预算内搜索最坏扰动使损失最大化;外层 min 才是防御者视角,希望模型在最坏扰动下损失仍然最小。B、C、D 描述的都是外层或常规训练概念,不符合内层 max 的角色。就像厂家先让开锁高手尽情发挥,再根据最狠的破解手法去加固锁芯。
Q8. 下列哪些属于黑盒攻击的常见策略?
- A.查询模型输出并据此构造对抗样本← 正确答案
- B.训练替代模型后迁移攻击真实目标← 正确答案
- C.直接计算目标模型的梯度并反向传播
- D.在训练集上重新微调目标模型参数
答案:AB。黑盒攻击无法获得目标模型梯度。常见路线有两条:基于查询的边界攻击(A),通过反复查询输入输出逼近决策边界;基于迁移的攻击(B),用替代模型生成对抗样本再投给目标模型。C 是白盒攻击的操作,D 是获取目标模型后的再训练,都不是黑盒策略。
Q9. 一份可信的鲁棒性评估报告应当包含哪些要素?
- A.明确的威胁模型与攻击预算设定← 正确答案
- B.多种攻击方法组合的测试结果← 正确答案
- C.鲁棒准确率与攻击成功率指标← 正确答案
- D.仅报告干净测试集上的准确率
答案:ABC。可信评估必须说明“在什么规则下测的”(威胁模型与预算)、“用什么手段测的”(多种攻击组合)、“测出了什么”(鲁棒准确率、攻击成功率等指标)。只报干净样本准确率恰恰是评估要避免的误导,因为那衡量的是常规性能而非鲁棒性能。完整报告让结论可复现、可比较,就像开锁演习报告要写清规则、手法与结果。
Q10. 关于鲁棒准确率(RA)与攻击成功率(ASR)的关系,正确的说法有哪些?
- A.在理想条件下两者之和相等于一← 正确答案
- B.攻击成功率越高鲁棒准确率越低← 正确答案
- C.两者不受模型结构与参数的任何影响
- D.两者均衡量模型的对抗鲁棒性能← 正确答案
答案:ABD。当模型对干净样本全部正确分类时,样本要么“被攻破”要么“保持正确”,因此 ASR 与 RA 互补,A 正确;ASR 高意味着更多对抗样本让模型出错,RA 自然下降,B 正确;二者都用于刻画模型的对抗鲁棒性,D 正确。C 错误——模型结构、参数、训练方式会显著影响这两个指标,就像不同材质的锁,攻破率天差地别。