在《谍影重重》的续集里,开锁匠阿凯收到一单神秘委托:打开一栋银行金库的厚重钢门。客户报酬惊人,条件却苛刻得离谱——阿凯既不能拆开金库的锁芯,也不能接触锁的内部结构,只能隔着门板试探锁孔。这就是“黑盒”:你只能输入、只能观察输出,却看不到里面的齿轮与弹子。 换作普通人早就放弃了,可阿凯是行家。他跑到五金店,买了一把与金库同厂家同系列的家用锁,带回工作室拆了个底朝天。在这把“代理锁”上,他反复打磨出一把奇特的钥匙——它插不进普通锁,却在特定角度轻轻一转,锁芯便应声而开。更神奇的是,当阿凯把这把钥匙插进金库的门锁时,它竟然真的转动了。 为什么一把在复刻锁上磨出来的钥匙,能打开从未见过的真锁?因为同厂同系列的锁,内部弹子的排列规律惊人地相似。这正是“对抗样本迁移性”的核心:在代理模型上生成的对抗样本,往往也能骗过从未接触过的目标模型。本文就带你走进这套“万能钥匙”的锻造车间,从原理到实战,一步步拆解黑盒攻击迁移性。
掌握对抗样本的迁移性分析方法,你将具备在不接触目标模型权重的情况下评估其安全性的独特能力——这是 AI 红队测试、第三方模型审计与安全合规评估中最稀缺的实战技能。
可视化演示
展示对抗样本从白盒模型生成并迁移攻击黑盒模型的完整过程,以及不同扰动强度下的迁移成功率对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
对抗样本迁移攻击流程 输入:原始干净样本数据 白盒:已知梯度的源模型 扰动:对抗噪声叠加 黑盒:未知目标模型 成功率 ∝ 扰动强度 × 迁移性 对抗样本跨模型迁移攻击
概念基础
阿凯坐在工作室里,面前摊着两样东西:一把从五金店买来的同厂家家用锁(代理模型),和一张金库门锁的草图——草图只有锁孔外圈的尺寸,内部结构一片空白。这就是黑盒攻击的真实图景:攻击者面对一个“只进不出的黑匣子”,可以提交输入、观察输出,却拿不到梯度、权重和中间特征。所谓黑盒,不是攻击者能力弱,而是信息受限。
白盒攻击像拿着设计图纸拆锁,模型结构、参数、梯度样样透明;黑盒攻击则像盲人摸象,只能靠“捅锁孔”积累经验。但阿凯悟出了一个关键现象:他为家用锁磨出的钥匙,插进金库锁孔竟然也能转动。凡是在代理模型上成功的对抗样本,放到目标模型上往往依然有效——这个性质就是对抗样本的迁移性。
工程上,我们把攻击者手握的代理模型记为 f_a,被攻击的目标模型记为 f_b。先在 f_a 上用白盒方法生成对抗样本集合 X_a,再逐个喂给 f_b,统计其中有多少个能让 f_b 犯错,就得到迁移成功率。它是衡量黑盒攻击威力的头号指标:
对阿凯而言,迁移率就是他的“出单率”:工作室里十把钥匙,有几把能真正打开金库?白盒攻击是训练场上的满分答卷,黑盒迁移才是真实考场上的临场发挥。理解了这把“钥匙为什么能通用”,后面的每个章节都在回答同一个问题:钥匙怎么磨、怎么试、怎么衡量、怎么防。
- 对抗样本集合先在代理模型 a 上用白盒攻击生成 N 个对抗样本,它们全部能骗过 a。
- 目标模型判定把每个对抗样本送给目标模型 b,检查 b 的预测是否不等于真实标签 y_i,若不等则计 1,否则计 0。
- 样本平均对 N 个样本的指示函数求和再除以 N,得到 0 到 1 之间的迁移成功率。
迁移机理
阿凯把家用锁拆开后,把弹子一颗颗排在工作台上,发现了一个惊人的规律:同厂同系列的锁不仅零件通用,弹子长度的排列规律也几乎一致。锁匠行业的这条潜规则,对应到深度学习世界就是——在相似数据上训练出来的模型,它们的决策边界惊人地相似。正是这种“共有的锁芯基因”,让万能钥匙成为可能。
深度模型在训练时,本质上是在从数据分布中提炼可迁移的特征表示。两个模型即使架构不同(比如 ResNet 和 VGG),只要训练数据高度重叠,它们学到的边缘、纹理、形状等特征就会大量重合。决策边界在这些特征空间上的几何形态相似,意味着“在模型 A 的边界附近,模型 B 的边界往往也在附近”。
这种相似性可以用梯度方向的一致性来量化。对同一个输入 x,两个模型各自认为“往哪个方向改变 x 最能影响判断”,如果这两个方向高度一致,那么在 A 上生成的扰动,对 B 同样致命。常用余弦相似度衡量两个梯度的对齐程度:
但这把钥匙有个致命局限:它只对“同厂锁芯”有效。如果银行把锁换成瑞士进口的铍铜合金锁,弹子排列逻辑完全不同,阿凯的钥匙就彻底失效。这正是第七节防御策略的理论根基——只要打破模型间的梯度对齐,迁移性就会崩塌。
- 两个梯度向量分别计算代理模型和目标模型损失函数对输入 x 的梯度,这是各自“认为最有攻击性的方向”。
- 向量内积两个方向越一致,内积越大;完全垂直则内积为零;方向相反则内积为负。
- 长度归一化除以两个梯度的 L2 模长之积,消除幅度差异,得到纯夹角余弦。
代理模型
磨钥匙之前,阿凯先得回答一个问题:买哪把锁当模板?五金店货架上摆着几十个系列,买错了,磨出来的钥匙必然插不进金库。代理模型的选择,直接决定了迁移攻击的天花板——它既是攻击者的“练习靶”,也是扰动方向的风向标。
选代理模型讲究“猜家世”:攻击者会先推测目标模型的血统——它最可能由哪类数据集训练而来(ImageNet、OpenImages 还是自采数据),最可能采用什么结构(ResNet 系、EfficientNet 系还是 Transformer 系)。在数据分布和结构上尽量贴近目标模型,再在其上训练出代理模型,白盒攻击的迁移性才会高。
若目标模型开放查询接口,攻击者还能进一步“偷师”。做法是:采样一批数据,送给目标模型拿到输出,再用这些输出当标准答案去训练代理模型,让代理的输出逼近目标的输入输出行为。这就是知识蒸馏式的替代训练:
阿凯的实战经验还有一条:别只买一把锁。多买几把同系列锁,轮流在上面试钥匙胚,凡是被所有锁共同认可的开法,就是锁厂的设计灵魂,真锁也大概率认。代理模型的多样性——多数据、多结构、多初始化——是迁移性的天然助推器。
- 采样考题从代理分布(如同一数据集)中取 m 个样本,作为偷师的考题。
- 黑盒提问把考题发给目标模型,记下输出作为标准答案。
- 输出对齐训练代理模型,让它的输出与标准答案的平方误差之和最小。
经典方法
模板锁到手,阿凯打开祖传工具箱。工具箱里的锉刀分四种流派:快刀、连锉、惯性锉和精雕锉。每一种对应一类经典的对抗样本生成算法,也是锻造迁移钥匙的基本功法。
快刀是“快速梯度符号法”(FGSM):不求精细,只沿梯度方向使劲推一步,简单、廉价、可解释,是理解所有后续算法的起点。连锉是“投影梯度下降”(PGD):把 FGSM 的一步拆成许多小步,每迈一步都检查是否越界,逼近扰动约束下的最坏情况。惯性锉是“动量迭代法”(MIM):在连锉基础上加入上一步的方向记忆,避免在局部极值处来回震荡。精雕锉是 CW 攻击:把“开锁”建模成最优化问题,同时最小化扰动幅度与犯错概率,质量高但计算昂贵。
FGSM 的数学本质只有一行。设损失函数为 J,它衡量当前模型对输入 x、标签 y 的“困惑程度”。沿着困惑上升最快的方向,加一个肉眼难察的小扰动 ε,就能让模型改变判断:
磨过一轮钥匙的阿凯深知:快刀虽快,却容易刮花钥匙表面,插不进锁孔。真正实战时,他往往先用 PGD 多锉几刀,再用 MIM 的惯性稳住方向。方法没有高下之分,只有“够不够用”之分——而迁移攻击的终极目标,从来不是白盒上的漂亮分数,而是黑盒里那一声清脆的“咔嗒”。
- 求损失梯度用白盒代理模型计算损失对输入 x 的梯度,这一项指示“每个像素朝哪个方向微调最能让模型判错”。
- 取符号压缩sign 函数把梯度压缩成只含 +1 或 -1 的方向向量,保证扰动均匀、可控,不漏掉任何像素。
- 缩放叠加乘以步长 ε 后加到原图上,得到最终对抗样本,ε 越小越隐蔽。
增强策略
阿凯发现,单把锁上磨出的钥匙,偶尔也会在真锁上失灵。于是他给自己立了条规矩:凡是出师的钥匙,必须同时通过至少三把复刻锁的检验。这就是迁移性增强的第一个法门——集成攻击,让扰动对准所有复刻锁的共同“软肋”,而不是某一把的偶然瑕疵。
除了集成,还有三招。其一是“输入变换”:磨钥匙时不停变换握姿(对输入做随机缩放、平移、Padding),让钥匙适应不同的插入角度,防止扰动过拟合单一图像的纹理。其二是“动量累积”:迭代时记住历史梯度方向,像给锉刀装上惯性,平滑穿越震荡区域,方向更稳。其三是“多模型融合”:在数据、结构、训练方式三个维度上制造多样的代理模型,再取它们的共识梯度。
动量迭代是数学上最优雅的一招。设第 t 步的梯度为 g_t,用 L1 范数归一化后累加到动量项上,既保留历史方向,又避免梯度爆炸:
这一套组合拳下来,阿凯的钥匙从“能开一把锁”晋升为“能开一扇门”。多条弹子规律被同时捕捉,迁移成功率普遍提升十几个百分点。记住一个心法:增强的本质,是把代理模型上“偶然的脆弱点”过滤掉,只留下“必然的共性弱点”。
- 动量衰减上一步的动量乘上衰减系数 μ,让历史方向随步数渐忘,μ 越接近 1 记忆越长。
- 当前梯度归一化用 L1 范数把梯度缩放为单位尺度,保证每次迭代的推进幅度一致。
- 动量叠加两者相加作为新一代扰动方向,再乘以步长更新对抗样本。
量化评估
钥匙打磨完毕,阿凯需要在交付单上填一个数字:成功率。没有度量就没有改进,迁移性研究同样离不开一套严谨的尺子。雇主关心的从来不是“钥匙设计得多精巧”,而是“插进锁孔能转动的概率有多高”。
评估体系围绕三个指标展开。第一是白盒攻击成功率:对抗样本在代理模型上有多大比例骗过了它——这衡量磨钥匙的基本功。第二是黑盒迁移成功率:同一批对抗样本在目标模型上有多大比例依然有效——这是迁移性最直接的证据。第三是扰动幅度:用 ε、L2 距离或 LPIPS 衡量样本被改了多少,追求“改动小、骗得狠”。
工程报告中,常用代理成功率 S_a 与目标成功率 S_t 的比值作为归一化的迁移成功率。它排除了“代理模型本身就攻不破”的干扰,只专注衡量“有效性从代理到目标的衰减程度”:
评估报告里还要画一张“鲁棒性对比表”:同一批对抗样本,分别测试素模型、对抗训练模型、蒸馏模型的成功率。就像阿凯会同时带钥匙去试普通锁、加固锁和瑞士锁,只有横评多把锁,才能知道手里这把钥匙的真实成色。
- 代理成功率先在代理模型 f_a 上统计对抗样本的即时命中率,通常接近 1。
- 目标成功率在同一批对抗样本(不许重新生成)上统计目标模型 f_t 的命中率。
- 归一化比值两者相除得到迁移成功率,例如 S_a = 1.0、S_t = 0.65,则迁移率为 0.65。
防御对抗
阿凯第一次“试开”成功的消息传开后,银行立刻请来锁厂总工程师。工程师的防御思路极其朴素:既然万能钥匙钻的是“同厂锁芯共性”的空子,那就把这共性彻底废掉。每一种防御策略,本质上都是让模型不再具有“可被预测的决策边界”。
四种主流防线各显神通。对抗训练:把对抗样本混进训练集,让模型亲眼见过这些“刁钻钥匙”,相当于给锁芯换上异形弹子。输入预处理:在推理阶段先压缩、平滑、随机化输入,把钥匙上的毛刺磨平。模型蒸馏:用教师模型的知识训练一个更“钝感”的学生模型,相当于把金库换成瑞士锁。检测机制:在锁孔旁安装传感器,遇到可疑插入直接报警。
对抗训练是理论根基最扎实的一招。它的目标函数是一个 min-max 博弈:内层要在扰动球内找到最让模型难受的样本,外层要在这些“最坏样本”上最小化损失,让模型越打越皮实:
对抗训练后的模型,决策边界被“熨”得平缓顺滑,梯度方向不再与旁系模型对齐。阿凯在代理锁上磨出的钥匙,插进金库锁孔后纹丝不动——迁移性被釜底抽薪。攻防的齿轮就此咬合:攻击者追求共性,防御者消灭共性,这场永恒博弈的胜负手,始终藏在“决策边界相似性”这把钥匙里。
- 内层最大化在 L∞ 扰动球内寻找让模型损失最大的对抗样本,相当于模拟攻击者最狠的一招。
- 外层最小化在这些最坏样本上更新模型参数,让模型对最坏情况也保持低损失。
- 期望汇总对训练分布中的所有样本求期望,完成对整个数据分布的加固。
AI 应用场景
红队安全测试
阶段:模型上线前的安全评估
解决的问题:传统渗透测试需要模型权重和梯度(白盒),但线上模型往往封装在 API 后面,测试人员拿不到内部信息。借助黑盒迁移攻击,红队可以训练一个同源的代理模型,在其上生成对抗样本库,再对线上模型发起大规模“盲测”,在不接触权重的前提下评估其真实鲁棒性。
具体案例:某金融科技公司上线人脸识别支付系统前,安全团队用公开人脸数据集训练了 3 个代理模型(ResNet50、MobileNetV3、ViT-Base),集成生成对抗样本后对线上黑盒 API 发起迁移攻击,发现 37.8% 的对抗样本能成功绕过活体检测,推动团队在发布前完成修复。
第三方模型审计与合规
阶段:供应链模型采购评估
解决的问题:企业在采购第三方 AI 服务(如内容审核、风控模型)时,供应商通常只提供 API 而拒绝透露模型细节。购买方需要验证模型的鲁棒性是否符合合规要求,黑盒迁移攻击成为唯一可行的“体检手段”。审计方通过查询式代理训练与迁移攻击,量化目标模型在恶意扰动下的失败率,形成合规报告。
具体案例:某电商平台在接入第三方智能风控 API 前,用查询-反馈方式训练代理模型,使代理与目标 API 的预测一致性达 92.3%,随后测得在 ε=0.05 扰动下模型欺诈拦截准确率从 99.2% 骤降至 64.7%,据此在采购合同中加入了鲁棒性验收条款。
防御算法效果排行榜评测
阶段:模型鲁棒性对比研究
解决的问题:论文和评测榜单中,防御算法往往只接受白盒攻击检验,而真实攻击者大多采用黑盒迁移策略。为了公平评估防御的真实强度,评测平台需要用一套统一的代理模型与迁移攻击流程,横向对比各防御模型在“未知攻击者”下的表现,避免“纸面鲁棒性”。
具体案例:某 AI 安全比赛将参赛防御模型部署为黑盒服务,对每个模型使用相同的 5 个代理模型集成攻击流水线进行测试,最终排名与白盒评测结果差异显著——一个声称鲁棒的模型被迁移攻击打穿,其 L∞ 扰动仅 0.03,引发社区对评估方案的反思。
Python 演示
import numpy as np def make_data(n=400, seed=0): # 生成圆形区域的二维数据, 模拟同类数据集 rng = np.random.default_rng(seed) x = rng.uniform(-2, 2, size=(n, 2)) y = (x[:, 0] ** 2 + x[:, 1] ** 2 < 1.6).astype(int) * 2 - 1 return x, y def train_linear(x, y, lr=0.3, epochs=300, seed=0): # 合页损失线性分类器, 一把复刻锁对应一个随机种子 rng = np.random.default_rng(seed) w = rng.normal(0, 0.1, size=2) b = 0.0 for _ in range(epochs): margin = y * (x @ w + b) hinge = (margin < 1.0).astype(float) gw = np.mean(-y[:, None] * x * hinge[:, None], axis=0) gb = np.mean(-y * hinge) w = w - lr * gw b = b - lr * gb return w, b def predict(w, b, x): return np.sign(x @ w + b) def fgsm_attack(x, y, w, b, eps=0.35): # FGSM 符号梯度: 沿合页损失上升方向推输入 grad_sign = -np.sign(y)[:, None] * np.sign(w)[None, :] return x + eps * grad_sign def transfer_report(eps=0.35): # 在代理模型上生成对抗样本, 再到目标模型上统计迁移率 x, y = make_data(seed=0) w_s, b_s = train_linear(x, y, seed=0) w_t, b_t = train_linear(x, y, seed=2) x_adv = fgsm_attack(x, y, w_s, b_s, eps) sa = np.mean(predict(w_s, b_s, x_adv) != y) st = np.mean(predict(w_t, b_t, x_adv) != y) print("surrogate success %.3f" % sa) print("target success %.3f" % st) print("transfer ratio %.3f" % (st / max(sa, 1e-9))) if __name__ == "__main__": transfer_report()
y = (x[:, 0] ** 2 + x[:, 1] ** 2 < 1.6).astype(int) * 2 - 1制造一个“圆形决策区域”的二分类数据集,模拟同源数据分布,标签为 +1 或 -1。margin = y * (x @ w + b)计算每个样本的分类余量,正数越大代表模型越有把握。gw = np.mean(-y[:, None] * x * hinge[:, None], axis=0)合页损失对权重 w 的梯度,只罚那些余量小于 1 的样本。w_t, b_t = train_linear(x, y, seed=2)换一个随机种子再训练一个模型,模拟“同源但参数不同”的目标模型,即阿凯手里的真锁。grad_sign = -np.sign(y)[:, None] * np.sign(w)[None, :]FGSM 的符号梯度方向,推着输入往越过边界的方向走。x_adv = x + eps * grad_sign叠加扰动生成对抗样本,等价于在代理锁上锉出钥匙齿。st = np.mean(predict(w_t, b_t, x_adv) != y)在黑盒目标模型上统计对抗样本的成功率,即迁移成功率。
常见误区
误区“攻击者连目标模型的参数都看不到,黑盒攻击怎么可能成功?所谓迁移性只是论文里的理想情况吧。”
正解黑盒攻击恰恰依赖迁移性这个“反直觉”的事实:在相似数据上训练的模型决策边界高度重合,代理模型上生成的对抗样本对目标模型同样有效。真实攻防中,迁移攻击的成功率可以高达 60%-90%,远没有到“攻不破”的程度。阿凯的钥匙能在复刻锁上转动,就大概率能在同厂真锁上转动。
为何常见:人们容易把“信息不全”等同于“攻击无效”,忽略了模型间共享的统计规律远比想象中强。
误区“选最先进的网络、最全的数据集训练代理模型,迁移攻击就一定更强。”
正解迁移性取决于代理与目标模型的“相似度”,而不是代理模型的绝对实力。用 ImageNet 训练的超大模型去攻击一个在医疗影像数据上训练的小模型,迁移成功率往往惨不忍睹。选代理模型要“门当户对”:数据分布、任务类型、结构风格尽量贴近目标。同一训练集上不同随机种子训练的两个模型,迁移性都远高于两个异源模型。
为何常见:把系统工程思维误套到对抗攻击上,忘了攻击的本质是“借力打力”,而非“降维打击”。
误区“把 ε 调到 0.5 甚至 0.8,扰动这么明显,目标模型肯定被骗。”
正解扰动过大有两个恶果:一是突破扰动约束后,样本可能跨到目标模型决策边界的另一侧,反而被正确分类或落入不确定区域;二是人眼可见的扰动直接暴露攻击意图,在真实场景毫无意义。迁移性研究的核心恰恰是“小扰动、高迁移”,专业的做法是在多个 ε 下做网格评估,观察迁移率曲线,而不是一味加码。
为何常见:直观上“力气越大越能撬动”很合理,但决策边界是几何问题,不是力矩问题。
误区“模型做过对抗训练,又上过防御榜单,黑盒攻击肯定拿它没办法。”
正解对抗训练只会对训练阶段见过的扰动范式(通常是 PGD 白盒扰动)产生鲁棒性,而迁移攻击使用的是代理模型上的梯度方向,与防御模型的扰动分布可能完全不同。已有多项研究表明,集成迁移攻击可以在对抗训练模型上取得 30%-50% 的成功率。防御需要持续对抗评估,任何“绝对免疫”都是危险的承诺。
为何常见:对抗训练的宣传过于响亮,且其收益在常见基准上表现亮眼,让人忽略了分布外扰动的风险。
误区“能拿到梯度当然是白盒攻击最强,黑盒迁移攻击只是退而求其次的方案。”
正解白盒攻击强在“针对特定模型”的攻击成功率,但真实生产环境几乎不存在完全白盒的部署。黑盒迁移攻击具有更强的实战价值和隐蔽性:不需要触碰目标模型权重,攻击行为难以追溯;加上集成增强后,黑盒迁移攻击对许多模型的实际破坏力甚至超过单独的白盒攻击。两者的“强”不在同一个维度上。
为何常见:实验室里白盒基准分数更高,导致人们忽视黑盒攻击在真实约束下的不可替代性。
面试题
Q1. 在黑盒攻击场景中,攻击者无法直接获取以下哪项信息?
- A.模型输出的类别标签
- B.模型内部的梯度信息← 正确答案
- C.模型输出的置信度分数
- D.模型接收的输入数据
答案:B。黑盒攻击只能通过提交输入并观察输出来“试探”模型,类别标签、置信度、输入数据都是可观测的;而梯度信息藏在模型内部,只有白盒攻击才能获得。就像阿凯只能捅钥匙孔试探,却看不到锁芯弹子的排列。
Q2. 对抗样本的迁移性是指什么?
- A.对抗样本从代理模型迁移到目标模型← 正确答案
- B.攻击代码从一台服务器迁移到另一台
- C.训练数据从源域迁移到目标域
- D.模型参数从云端迁移到本地设备
答案:A。迁移性指在代理模型(白盒)上生成的对抗样本,无需改动即可使目标模型(黑盒)犯错。B、C、D 分别描述的是部署、迁移学习和模型部署场景,与对抗攻击无关。
Q3. FGSM 中 sign(符号)函数的主要作用是什么?
- A.计算梯度的精确数值大小
- B.只保留梯度方向的信息← 正确答案
- C.完全消除梯度信号影响
- D.将梯度放大到最大幅度
答案:B。sign 把每个像素的梯度压缩成 +1 或 -1,只保留“往哪个方向推”的信息,从而让扰动在 L∞ 约束下均匀可控。若保留梯度大小,扰动会集中在少数大梯度像素上,既破坏图像又降低迁移性。
Q4. 以下哪种操作最能提升对抗样本的跨模型迁移性?
- A.集成多个代理模型的梯度方向← 正确答案
- B.增大输入图像的对比度
- C.减小扰动值直至接近零
- D.提高模型训练时的学习率
答案:A。集成攻击取多个代理模型的共识梯度,过滤单个模型的偶然脆弱点,只保留共有的决策边界弱点,因此显著提升迁移性。对比度调整与攻击无关,扰动为零则攻击失效,学习率是训练阶段的超参数。
Q5. 不同模型间梯度方向高度对齐的根本原因是?
- A.它们共享了相同的随机种子
- B.相似数据训练出重叠的特征← 正确答案
- C.所有模型都使用交叉熵损失
- D.攻击算法强制梯度保持一致
答案:B。在相似数据分布上训练的深度模型,即使架构不同,学到的边缘、纹理、形状等特征表示也大量重叠,决策边界几何相似,因此梯度方向自然对齐。随机种子、损失函数、攻击算法都不是根因。
Q6. 对抗训练(Adversarial Training)的核心思想是?
- A.训练集混入对抗样本来提升鲁棒性← 正确答案
- B.删除所有攻击样本对应的训练数据
- C.对模型输出做随机化后处理
- D.使用更深网络来拟合对抗样本
答案:A。对抗训练用 min-max 目标,先找最坏扰动再在其上最小化损失,本质是让模型在训练时就“见过”对抗样本。删除数据、随机化输出、加深网络都无法从根本上打平决策边界的脆弱点。
Q7. 用查询-反馈方式训练代理模型的目的是?
- A.窃取目标模型的全部网络权重
- B.让代理模型模仿目标的输入输出行为← 正确答案
- C.替代目标模型对外提供预测服务
- D.消除代理模型对目标模型的依赖
答案:B。查询-反馈(蒸馏式)训练通过不断提问目标模型、用其输出当标准答案,使代理模型在行为层面逼近目标模型,从而让白盒攻击的方向更贴合黑盒目标。权重无法通过查询获取,替代服务也不是攻击目标。
Q8. 对抗训练后的模型仍可能被迁移攻击破解,主要原因是?
- A.对抗训练导致模型参数量急剧膨胀
- B.迁移扰动不在训练时的扰动分布内← 正确答案
- C.对抗训练大幅降低了模型精度
- D.迁移攻击使用了更大的迭代步数
答案:B。对抗训练只对训练阶段模拟的扰动范式(通常是白盒 PGD 类)鲁棒。迁移攻击的扰动来自代理模型的梯度方向,与防御模型训练时的扰动分布不同,属于分布外扰动,因此仍能绕过。参数膨胀、精度下降、步数大小都不是本质原因。
Q9. 以下哪些策略能够有效提升黑盒攻击的迁移性?
- A.在多个代理模型上做集成攻击← 正确答案
- B.对输入做随机缩放与填充变换← 正确答案
- C.在迭代过程中累积梯度动量← 正确答案
- D.直接在目标模型上计算梯度
答案:ABC。集成攻击取多个模型的共识梯度,输入变换防止扰动过拟合单一纹理,动量迭代平滑方向、穿过局部极值,三者均从不同角度增强迁移性。D 是白盒攻击,黑盒场景下无法获得目标模型梯度。
Q10. 关于迁移成功率的评估,下列说法正确的是?
- A.评估时应在同一批对抗样本上统计← 正确答案
- B.归一化迁移率等于目标与源成功率之比← 正确答案
- C.扰动幅度越大迁移率一定单调上升
- D.评估需要固定扰动预算进行对比← 正确答案
答案:ABD。迁移率必须在“同一批对抗样本”上对比源和目标成功率,归一化定义为 S_t / S_a;固定扰动预算(ε)才能公平对比不同方法。C 错误:扰动过大可能跨过决策边界反而降低迁移率,“单调上升”不成立。