你花了大价钱,请人设计建造了一栋精装修的房子。从外面看,它美观气派、住着舒适。但你真的能安心入住吗?如果来一场八级地震,墙体会不会开裂?暴雨内涝,地基会不会沉降?明智的业主绝不会只看漂亮外表,而要请一支专业房屋安全验收团队,按国家统一规范,对结构、门窗、管线逐项检验,最终出具盖章的验收报告。 在 AI 世界里,你精心训练的模型就是那栋外表光鲜的房子。它在普通数据上准确率高达 98%,但攻击者只需在图片上施加肉眼不可见的微小扰动,就能让模型把“熊猫”认成“长臂猿”。这时你需要一支 AI 领域的“房屋验收团”——它就是 AutoAttack。 AutoAttack 不是单一攻击方法,而是由四位“检测专家”组成的集成攻击框架。它自动组合多种攻击策略,在统一配置下全面检验模型的对抗鲁棒性,最终给出可复现、可对比的评估报告。如今,AutoAttack 已成为学术界评估对抗防御的社区标准,堪称对抗攻防领域的“国标验收规范”。

岗位关联

掌握 AutoAttack 意味着你能像使用国家验收标准一样,客观评估 AI 模型的对抗鲁棒性——这是构建可信任、可审计的 AI 系统所需的核心工程技能。

目录
  1. 可视化演示
  2. 攻击方法集成
  3. 标准化评估框架
  4. 攻击执行流程
  5. 鲁棒性度量
  6. 典型应用场景
  7. 发展背景与演进
  8. 使用注意事项
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示对抗扰动生成过程(干净图+扰动=对抗图)、四种攻击方法成功率对比与模型鲁棒精度随epsilon变化曲线,支持模式切换。

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

对抗扰动生成过程 干净图像原始预测正确 Linf范数约束下微小扰动不可感知 对抗样本导致模型误分类 x_adv=x+eta, ||eta||_inf<=eps AutoAttack标准化对抗扰动生成与评估流程

攻击方法集成

想象你请来一支房屋安全验收团。团长手里有四张王牌:一位“冲击测试员”擅长一锤定音,快速敲击墙面就能找出裂缝;一位“疲劳试验员”擅长反复施压,同一面墙敲上千次直到隐患现形;一位“边界勘察员”专门绕着房屋边缘寻找薄弱连接点;还有一位“盲探”蒙着眼睛仅靠回音判断空鼓。四位各怀绝技,谁都替代不了谁。

AutoAttack 正是这样一支验收团。它由四种攻击方法自动组合而成:APGD-CE、APGD-DLR、FAB 与 Square。APGD-CE 与 APGD-DLR 是白盒梯度攻击(攻击者能看到模型的权重与梯度,就像检测员能拿到房屋设计图);FAB 是边界逼近攻击;Square 则是黑盒查询攻击(攻击者只看得到模型输出,就像盲探只能靠敲击回音判断)。它们从不同维度寻找模型漏洞,互为补充。

要理解这些攻击专家,先得认识它们的基础工具——FGSM 和 PGD。FGSM(快速梯度符号法)是“一锤定音”的单步攻击:计算损失函数对输入图像的梯度,沿梯度方向施加一步扰动,公式如下:

PGD 则是“疲劳试验员”的迭代版本——把 FGSM 的单步更新重复多轮,每轮走一小步 α,并随时把扰动“拽回”允许范围内:

APGD 是 PGD 的“自适应升级版”,会自动调整步长,如同疲劳试验员根据墙面反馈不断改变锤击力度。AutoAttack 把各类攻击编排在一起,形成一套攻防兼备的“体检套餐”。

x′=x+ϵ×sign(∇xLCE(x,y))x' = x + \epsilon \times \text{sign}\left(\nabla_x L_{\text{CE}}(x, y)\right)
通俗地说:原始样本 x 朝“最能让模型出错”的方向移动一步,步幅由 ε 控制,就得到对抗样本 x'。
  1. 多步迭代从第 t 轮更新到第 t+1 轮,重复 T 次,像反复锤击墙面直到裂缝出现。
    xt+1=xt+α×sign(∇xL(xt,y))x^{t+1} = x^{t} + \alpha \times \text{sign}\left(\nabla_x L\left(x^{t}, y\right)\right)
  2. 投影裁剪每次更新后把扰动投影回 ε 球内,确保攻击不超出预算,如同每次锤击都不越过划线区域。
    Clipx,ϵ(⋅)\text{Clip}_{x, \epsilon}(\cdot)

标准化评估框架

同样是检测墙体裂缝,如果每支队伍的仪器不同、标准各异、评分表五花八门,结果根本无法对比。房屋验收之所以可信,正因为它遵循国家统一规范:同一套仪器、同一个流程、同一份评分表。标准化,是一切公平比较的前提。

AutoAttack 的设计哲学正是如此。它把所有攻击组件统一到同一套配置下——固定的扰动预算、迭代轮数、随机种子和数据预处理,让任何团队在任何机器上跑出的结果都可以互相比较。这就是“统一配置”和“结果可复现”的价值:论文里写“我的防御准确率 95%”,别人用 AutoAttack 也能复现出同样的测试条件。

标准化评估最核心的指标是鲁棒准确率,它衡量模型在对抗样本面前“还能不能扛住”:

有了统一评分表,不同团队的验收报告才具有公信力。AutoAttack 提供的正是这样一份“国家标准”——它终结了各说各话的混乱局面,让模型与模型、防御与防御之间可以光明正大地同台竞技。

Rrobust(f)=1N∑i=1NI(f(xi′)≠yi)R_{\text{robust}}(f) = \frac{1}{N} \sum_{i=1}^{N} \mathbb{I}\left( f\left(x_i'\right) \neq y_i \right)
这个指标统计的是“有多少比例的对抗样本让模型预测错误”。错误越多,鲁棒准确率越低,说明模型越脆弱。
  1. 指示函数当事件成立时取值 1,否则取 0,相当于一张“是否出事”的勾选框。
    I(⋅)\mathbb{I}(\cdot)
  2. 对抗样本 x'攻击者对每个原始样本 x 生成的扰动版本。
    xi′x_i'
  3. 误分类条件模型对对抗样本的预测不等于真实标签,即攻击成功。
    f(xi′)≠yif\left(x_i'\right) \neq y_i
  4. 求和平均对所有 N 个测试样本统计平均,得到整体的“失守率”。
    1N∑i=1N\frac{1}{N} \sum_{i=1}^{N}

攻击执行流程

验收团进场后不会一拥而上。专业的流程是:先快速初检摸清整体状况,再分区详查重点部位,最后汇总所有发现、出具报告。每一步都有章法,才能保证不遗漏任何隐患。

AutoAttack 的执行也遵循类似的三段式流程。第一步“初始化扰动”:为每个测试样本生成一个在预算内的初始扰动,相当于初检时给墙体标出重点怀疑区域。第二步“迭代优化”,由各攻击组件独立运行:APGD 沿梯度反复迭代,FAB 贴着决策边界逼近,Square 随机采样局部扰动。第三步“多策略施压”:四种攻击依次接力,互不干扰,最终汇总各自的战果。

AutoAttack 的汇总原则是“取最坏情况”——报告让模型表现最惨的那次攻击结果:

这套流程保证了“终止判定”的严谨性:只有所有攻击组件都完成预算内的迭代,或提前确认模型已被攻破,流程才会结束。收官报告不掺一滴水分。

AutoAttack(f)=min⁡k∈{APGDCE,APGDDLR,FAB,Square}Rrobust(k)(f)\text{AutoAttack}(f) = \min_{k \in \{\text{APGD}_{\text{CE}}, \text{APGD}_{\text{DLR}}, \text{FAB}, \text{Square}\}} R_{\text{robust}}^{(k)}(f)
通俗地说:四种攻击各算一次鲁棒准确率,AutoAttack 报告其中最低的那个,相当于验收报告按“最严重缺陷”定级。
  1. 攻击集合 k四种攻击成员各自独立对模型发起攻击。
    k∈{APGDCE,APGDDLR,FAB,Square}k \in \{\text{APGD}_{\text{CE}}, \text{APGD}_{\text{DLR}}, \text{FAB}, \text{Square}\}
  2. 最坏情况取最小在四种结果中取最小值,确保报告反映模型最脆弱的一面。
    min⁡k(⋅)\min_{k}(\cdot)

鲁棒性度量

验收报告除了总体结论,还有分项指标——裂缝数量、渗水点位、混凝土强度等级。每一项指标对应不同的验收方法,共同构成对房屋质量的完整刻画。对抗攻防同样需要多维度的度量体系。

攻击成功率(ASR)是其中最直接的指标,它回答一个问题:“攻击者平均出手几次能得手一次?”其定义如下:

除了 ASR,“最坏情况评估”是另一个关键思想:不关心平均表现,只关心模型在所有攻击下的最低准确率。这就像房屋验收不看“整体看起来还行”,而看“最薄弱的那面墙能不能承重”——因为攻击者永远会挑你最弱的地方下手。

ASR=1N∑i=1NI(∥xi′−xi∥∞≤ϵ  ∧  f(xi′)≠yi)\text{ASR} = \frac{1}{N} \sum_{i=1}^{N} \mathbb{I}\left( \left\| x_i' - x_i \right\|_{\infty} \leq \epsilon \;\land\; f\left(x_i'\right) \neq y_i \right)
ASR 越高,说明攻击越强、模型越脆。它与鲁棒准确率是“一面镜子的两面”:ASR ≈ 1 - R_robust。
  1. 扰动约束要求对抗扰动在无穷范数意义的 ε 球内,保证改动不被肉眼察觉。
    ∥xi′−xi∥∞≤ϵ\left\| x_i' - x_i \right\|_{\infty} \leq \epsilon
  2. 误分类条件模型输出不等于真实标签,攻击成立。
    f(xi′)≠yif\left(x_i'\right) \neq y_i
  3. 逻辑与两个条件同时成立才算一次成功攻击。
    ∧\land
  4. 聚合平均统计 N 个样本中成功攻击的占比。
    1N∑i=1NI(⋅)\frac{1}{N} \sum_{i=1}^{N} \mathbb{I}(\cdot)

典型应用场景

一支专业的验收团,可以服务各种类型的项目:新建楼盘验收、二手房交易前的隐患排查、历史建筑加固效果复核。团队还是那支团队,但每个项目的侧重点不同。AutoAttack 在 AI 工业界的应用同样广泛。

第一个场景是模型评测榜单。许多公司发布预训练模型时,都会附带在 AutoAttack 下的鲁棒准确率,作为模型“抗打击能力”的公开背书。第二个场景是防御方法验证:研究者提出了新的防御方案,必须用 AutoAttack 检验它的成色——此前不少防御方法在常规攻击下表现优异,却被 AutoAttack 轻松击穿,说明防御只是“纸糊的墙”。第三个场景是安全部署前的合规检查:人脸识别门禁、自动驾驶感知系统上线前,用 AutoAttack 模拟最坏情况,评估一旦被攻击可能造成的后果等级。

在学术研究中,AutoAttack 更是扮演了“裁判员”角色。投稿论文时,作者报告 AutoAttack 下的鲁棒准确率,审稿人就能在统一标尺下判断结果是否可信。可以说,凡是涉及“我的模型到底有多抗打”的问题,AutoAttack 都是那个绕不开的度量衡。

发展背景与演进

在 AutoAttack 出现之前,对抗攻击领域有点像“没有国标的建筑行业”:每支施工队都自认为手艺过硬,用自己发明的击打方式测试房子,有的用锤子,有的用砖块,甚至有人用手掌拍了拍就宣布“结构安全”。结果就是,各个团队报告的攻击成功率天差地别,防御方法到底是否有效,谁也说不清。

传统攻击的局限在于“过度适配”。研究者针对特定模型手动设计攻击,换个模型或换个防御就可能失效。后来出现的自适应攻击(根据防御机制反向定制攻击策略)虽然强大,但实现复杂度高、门槛高,普通研究者难以复现。

这催生了“标准化需求”:社区需要一个开箱即用的、集最强攻击于一体的基准工具。AutoAttack 正是响应这一需求诞生的。它把四种互补的攻击方法打包成统一框架,用户只需一行调用,就能得到可复现的鲁棒性报告。几年间,它从“工具之一”成长为“社区共识”——顶级会议论文纷纷以其结果作为鲁棒性标准。标准化带来的不仅是便利,更是整个领域从“各自为政”走向“公平竞争”的转折点。

使用注意事项

验收报告不能盲信。经验丰富的业主都知道:要看仪器是否校准、抽样范围是否合理、结论是否有前提条件。AutoAttack 的使用同样有几个必须了解的门道。

第一个是计算成本。AutoAttack 串行运行四种攻击,每种攻击又要迭代数十甚至上百轮,对大规模数据集和时间敏感任务来说相当昂贵。第二个是参数配置。AutoAttack 的标准化建立在“威胁模型一致”的前提上:不同的扰动量级 ε、不同的范数约束(如 L∞ 或 L2)、不同的数据集,都会直接影响结果。跨配置比较鲁棒准确率,就像拿 A 工地的“锤击 3 次”去对比 B 工地的“锤击 100 次”——结论毫无意义。

第三个是适用边界。AutoAttack 主要为图像分类设计,对文本、表格数据或语音模型,其攻击组件不一定完全适配。第四个是结果解读。AutoAttack 给出的是最坏情况下的鲁棒性下限估计——模型在它面前失守,不代表在真实世界中也必然被攻击;但模型在它面前守住,则说明具备较强的抗攻击能力。理解这四个门道,你才能从一份 AutoAttack 报告中读出真正有价值的信息。

AI 应用场景

场景一:论文发表前的鲁棒性基准测试

阶段:模型评估与验证

解决的问题:过去研究者各自设计攻击方法,评估口径混乱,导致“我的防御有效”与“你的攻击太弱”各执一词。AutoAttack 提供统一评测框架,让不同防御方法在同一起跑线上比较。

具体案例:某团队提出一种新的对抗训练方法,在 FGSM 攻击下准确率达 90%。投稿时审稿人要求用 AutoAttack 重新评估,结果降至 43%——大量“防御收益”被证明是安全假象,团队据此改进算法后才通过评审。

场景二:人脸识别系统上线前安全验收

阶段:部署前安全测试

解决的问题:传统功能测试只验证“正常照片能否识别”,不验证“恶意构造的输入能否骗过系统”。AutoAttack 能在上线前暴露模型最脆弱的攻击路径,避免部署后翻车。

具体案例:某安防公司的人脸识别门禁在 AutoAttack 测试下,只需对打印照片叠加 ε=0.05 的微妙扰动,就能让系统把“员工”识别为“访客”。公司据此在系统前增加输入检测模块,才获准上线。

场景三:鲁棒性排行榜与模型选型

阶段:模型选型与采购

解决的问题:企业采购视觉模型时,面对各家厂商宣称的“高准确率”,缺乏可量化的抗攻击能力指标,难以判断哪家模型更可靠。

具体案例:某自动驾驶公司构建感知模型选型测试集,用 AutoAttack 对三家供应商的目标检测模型统一评测,发现准确率最高的模型鲁棒性反而最低。最终选型报告将鲁棒准确率列为第一权重指标。

Python 演示

python66 行
"""AutoAttack 风格的多攻击集成评估演示"""import numpy as np  class SimpleModel:    """极简线性二分类模型,仅用于演示攻防流程"""     def __init__(self, w, b):        self.w = np.array(w, dtype=float)        self.b = float(b)     def gradient(self, x, y):        """模拟损失对输入的梯度方向"""        pred = np.dot(self.w, x) + self.b        if (pred > 0) == (y == 1):            return -self.w        return self.w     def predict(self, x):        """返回模型预测类别"""        pred = np.dot(self.w, x) + self.b        return 1 if pred > 0 else 0  def fgsm_attack(model, x, y, eps):    """FGSM 单步快速梯度符号攻击"""    grad = model.gradient(x, y)    x_adv = x + eps * np.sign(grad)    return np.clip(x_adv, 0, 1)  def pgd_attack(model, x, y, eps, alpha, steps):    """PGD 多步投影梯度攻击"""    x_adv = x.copy()    for _ in range(steps):        grad = model.gradient(x_adv, y)        x_adv = x_adv + alpha * np.sign(grad)        delta = np.clip(x_adv - x, -eps, eps)        x_adv = np.clip(x + delta, 0, 1)    return x_adv  def auto_attack(model, x, y, eps=0.3, alpha=0.05, steps=10):    """集成多种攻击方法,返回首个成功的对抗样本"""    candidates = [        ("FGSM", fgsm_attack(model, x, y, eps)),        ("PGD", pgd_attack(model, x, y, eps, alpha, steps)),    ]    for name, x_adv in candidates:        if model.predict(x_adv) != y:            return name, x_adv    return candidates[-1]  def main():    model = SimpleModel([1.0, -1.0], 0.0)    x = np.array([0.6, 0.4])    y = 1    print("原始预测类别:", model.predict(x))    name, x_adv = auto_attack(model, x, y)    print(name, "攻击后预测:", model.predict(x_adv))    print("最大扰动幅度:", np.max(np.abs(x_adv - x)))  if __name__ == "__main__":    main()
目的:演示 AutoAttack 的集成思想——依次尝试 FGSM 与 PGD 两种攻击,只要有一种让模型误分类,就判定攻击成功,体现了“多策略施压、取最坏结果”的评估逻辑。
  1. def auto_attack(model, x, y, eps=0.3, alpha=0.05, steps=10):集成攻击的入口,相当于 AutoAttack 的总调度器,统一管理各攻击组件的参数
  2. candidates = [("FGSM", ...), ("PGD", ...)]依次调用各攻击组件,把生成的候选对抗样本收集起来,就像验收团把各专家意见汇总
  3. grad = model.gradient(x, y)获取损失对输入的梯度方向,这是白盒攻击的信息基础
  4. x_adv = x + eps * np.sign(grad)FGSM 公式落地:沿梯度符号方向施加 ε 步扰动
  5. delta = np.clip(x_adv - x, -eps, eps)PGD 的投影步骤:把累积扰动裁剪回 ε 球内
  6. if model.predict(x_adv) != y:检验候选样本是否成功让模型误分类,成功即停止并返回

常见误区

误区“AutoAttack 不就是把 PGD 迭代次数调大吗?我自己用 PGD 跑 1000 轮效果应该差不多。”

正解AutoAttack 是四种攻击的集成体,包含白盒梯度攻击(APGD-CE、APGD-DLR)、边界攻击(FAB)和黑盒查询攻击(Square)。即使 PGD 失效,Square 攻击仍可能靠随机查询打穿模型。只依赖单一攻击评估鲁棒性,就像只派一个检测员验收整栋房子,必然漏掉大量隐患。

为何常见:PGD 是最常见的攻击基线,很多初学者以为 AutoAttack 只是 PGD 的工程封装,忽略了它“集成互补攻击”的核心设计。

误区“我的模型在 AutoAttack 下还有 60% 准确率,说明已经很安全了,可以放心上线。”

正解60% 只是在该数据集、该扰动预算、该威胁模型约束下的相对结果。把扰动量级 ε 从 0.03 提到 0.3,或换成分布外数据,准确率可能骤降到 10%。安全性始终是“在特定威胁模型下的安全”,脱离前提谈准确率毫无意义。

为何常见:人脑天然倾向于把单一数字当作绝对标尺,忽略了数字背后的前提条件。

误区“AutoAttack 是最强攻击,只要能挡住它,我的模型就天下无敌了。”

正解AutoAttack 是社区公认的“标准攻击器”,但它只覆盖已知的攻击空间(含一定黑盒查询预算),并非理论上的万能钥匙。新的攻击类型(如物理世界攻击、特定领域结构的攻击)仍可能绕过它。“社区标准”代表的是当前共识的强基线,而不是攻击能力的终点。

为何常见:人们容易把“行业默认基准”神化为“绝对最强”,忽略了标准本身也在随攻击技术演进。

误区“我的模型用 AutoAttack 测出准确率 45%,另一篇论文是 68%,说明我的模型更差。”

正解如果两篇论文设定的 ε 不同(比如一篇 ε=0.03,另一篇 ε=0.3),结论完全不可比——攻击者可用的“破坏预算”都不一样,就像一个人只准敲 3 锤、另一个人可以敲 300 锤,对比谁家墙更结实毫无意义。AutoAttack 的标准化是流程一致,前提必须是威胁模型配置一致。

为何常见:只想快速对比数字,忽略了评估配置这个“隐形前提”,是初学者最常犯的错误。

面试题

Q1. AutoAttack 的核心设计思想是什么?

单选题 · easy

  • A.用单一攻击方法确保评估高效
  • B.集成多种攻击统一评估模型← 正确答案
  • C.完全依赖黑盒查询攻击机制
  • D.只针对特定模型结构做优化

答案:B。AutoAttack 将 APGD-CE、APGD-DLR、FAB 与 Square 四种攻击集成为一套框架,在统一配置下评估模型鲁棒性并取最坏情况作为结果,这是其区别于单一攻击工具的核心设计思想。

Q2. FGSM 攻击中,对抗样本的生成规则是什么?

单选题 · easy

  • A.在原始样本上减掉随机噪声向量
  • B.沿梯度符号方向施加一步扰动量← 正确答案
  • C.把原始样本乘上一个缩放系数
  • D.将样本替换为训练集的最近邻

答案:B。FGSM 的核心公式为 x' = x + ε·sign(∇L),即沿损失对输入梯度的符号方向施加一步大小为 ε 的扰动。它不是随机噪声、不是缩放,更不是近邻替换。

Q3. 以下哪个是 AutoAttack 中的黑盒攻击组件?

单选题 · easy

  • A.APGD-CE 交叉熵攻击组件
  • B.APGD-DLR 损失攻击组件
  • C.FAB 快速自适应边界攻击
  • D.Square 随机查询攻击组件← 正确答案

答案:D。Square 攻击属于黑盒查询攻击,它不依赖模型梯度,而是通过随机化局部搜索逐轮更新扰动。APGD 系列与 FAB 都基于白盒梯度信息,与 Square 形成互补。

Q4. PGD 攻击与 FGSM 攻击的本质区别是什么?

单选题 · mid

  • A.PGD 不需要损失函数的梯度信息
  • B.PGD 采用多步迭代加投影裁剪← 正确答案
  • C.PGD 不限制扰动的幅度范围
  • D.PGD 只适用于图像数据样本集

答案:B。FGSM 只做单步更新,PGD 则将单步更新重复 T 次,每轮走一小步 α 并将扰动投影回 ε 球内(Clip 操作),保证累计扰动不越界。这是两者最本质的区别。

Q5. 在鲁棒准确率公式中,指示函数内的条件是什么?

单选题 · mid

  • A.模型正确分类对抗样本则计数
  • B.模型误分类对抗样本则计数← 正确答案
  • C.对抗扰动幅度越小则计数
  • D.攻击迭代次数越多则计数

答案:B。鲁棒准确率 R_robust = (1/N)Σ𝟙{f(x')≠y},指示函数在模型预测不等于真实标签时取 1,表示该样本被成功攻击。因此 R_robust 越小,模型越脆弱。

Q6. AutoAttack 在汇总各攻击结果时采用什么原则?

单选题 · mid

  • A.取四种攻击结果的算术平均值
  • B.取攻击表现最好的那一种结果
  • C.取模型失守最惨的攻击结果← 正确答案
  • D.只报告攻击成功率的方差值

答案:C。AutoAttack 采用最坏情况评估,报告让模型鲁棒准确率最低的攻击结果。这保证了评估不掺水分——攻击者总会选择模型最脆弱的角度下手。

Q7. DLR 损失函数的核心设计特征是什么?

单选题 · mid

  • A.用真实类别与误分类别的差值比← 正确答案
  • B.使白盒攻击在各类模型上更稳定
  • C.对 logits 差值进行自适应归一
  • D.完全不需要借助模型的梯度信息

答案:A。DLR 损失构造了真实类别 logit 与最大错误类别 logit 之差,并除以最高两个 logit 的差值做归一化,使其对尺度不敏感、在不同模型上攻击更稳定。选项 B 是它的效果而非设计特征。

Q8. 对比两篇论文的 AutoAttack 鲁棒性结果时,必须满足什么前提?

单选题 · hard

  • A.两篇论文使用了同一种深度学习框架
  • B.两篇论文的实验参数配置完全一致← 正确答案
  • C.两篇论文的发布时间相差不超过一年
  • D.两篇论文的模型参数量必须完全相同

答案:B。AutoAttack 的标准化是流程与方法的统一,但跨论文对比必须保证扰动预算 ε、范数约束、数据集、输入预处理等威胁模型配置一致,否则数字不可比。框架、时间和参数量都不是核心前提。

Q9. 以下哪些是 AutoAttack 成为社区标准的背景原因?

多选题 · extreme

  • A.研究者自研攻击方法难以复现← 正确答案
  • B.各团队鲁棒性评估口径混乱不一← 正确答案
  • C.使用该工具可以免费获取训练数据
  • D.不少防御被更强的攻击轻易击穿← 正确答案

答案:ABD。早期评估众说纷纭,攻击代码难复现、评估口径混乱,加上大量“防御方法”被更强攻击证明无效,社区迫切需要统一基准。AutoAttack 提供了开箱即用的标准工具。选项 C 与数据获取无关。

Q10. 关于 AutoAttack 的使用注意,下列哪项认识是准确的?

单选题 · hard

  • A.计算开销很小,适合实时迭代调试
  • B.报告结果不受任何参数配置影响
  • C.报告的是最坏情况下的鲁棒性估计← 正确答案
  • D.只能用于图像分类一种任务场景

答案:C。AutoAttack 串行运行多种攻击,迭代多、成本高;结果深受 ε、范数等参数影响;它评估的是最坏情况,是鲁棒性的下限估计。它虽主要为图像设计,但并非只能用于图像分类。