傍晚六点,小区门口新装的 AI 门禁“大壮”正在值班。它有一双电子眼——摄像头,和一个聪明的大脑——深度学习模型,能在一秒内认出每一位住户。可这天,六年级的皮皮没带门禁卡,只是往脸上贴了一张打印出来的小贴纸,大壮愣了一下,居然把他当成物业经理,“咔哒”一声开了门。皮皮得意极了,而大壮不知道,一张小小的贴纸,正在揭开 AI 安全的一道伤疤。 这张贴纸,在 AI 安全领域有个专业名字:对抗 Patch。它是一块精心设计的图案,可以打印出来贴在真实物体上——车牌、衣物、交通标志——让最先进的 AI 系统认错人、认错路,甚至“看不见”你。它和只能在数字世界里捣乱的像素攻击不同,能真正走进物理世界,威胁门禁、自动驾驶、安检等场景。本文就用“大壮与皮皮”的攻防故事,带你搞懂对抗 Patch 的原理、制作、防御与未来,读完你就能理解 AI 攻防的核心逻辑。
掌握对抗 Patch 攻防,是算法工程师和数据科学家守护模型安全落地的核心能力,能帮助你在可信 AI 时代真正建立差异化的专业护城河。
目录
可视化演示
展示对抗Patch从生成到放置的完整攻击流程,以及在不同变换下的鲁棒性与攻击成功率。
本节配有交互动效(进入视口后自动加载,约 3KB)。
对抗Patch攻击流程 输入:原始图像与正确分类 生成:优化Patch像素最大化损失 放置:Patch叠加到图像指定区域 误判:分类器输出错误类别 L_patch = max L(f(x+patch), y_true) 物理可实现的对抗攻击
认识对抗Patch:一张贴纸引发的乌龙
皮皮把那张贴纸撕下来,翻来覆去地看:上面全是歪歪扭扭的色块,像乱码又像抽象画。他不明白,自己只是往脸上贴了这么个小东西,大壮怎么就把他当成了物业经理?难道大壮近视了?其实,皮皮手中的贴纸,就是 AI 安全领域大名鼎鼎的对抗 Patch——一块经过精心设计、可以打印出来贴到真实物体上的图案,目的是让 AI 模型产生错误判断。
对抗 Patch 之所以属于“物理攻击”,因为它不再像传统对抗样本那样只存在于数字像素里,而是可以打印、贴附、拍照,在真实世界中生效。它跟数字攻击有个共同点:扰动模型的输入;也有个关键区别:数字攻击的扰动常常微弱到肉眼不可见,而 Patch 是局部区域的大幅改动,但它必须能打印、能贴附、能经受摄像头拍摄时的角度与光照变化。小区里的大壮看到的是“人+贴纸”的合成画面,这正是 Patch 攻击的数学本质。
从数学上看,贴纸附着的过程可以用一个掩码(Mask)公式描述。假设原始照片是 $x$,贴纸图案是 $P$,掩码 $M$ 的每个元素是 0 或 1,表示“这个像素被贴纸盖住没有”,那么最终输入模型的就是:
皮皮的贴纸只有硬币大小,却已经是一门正经的“物理对抗”手艺。别小看这枚小贴纸,它能在模型的世界里掀起大浪——下一节,我们就来看看,大壮究竟是怎么被它骗住的。
- 符号地图先认识四个符号:$x$ 是摄像头拍到的原始照片,$P$ 是贴纸图案,$M$ 是记录“贴纸盖住哪些像素”的蒙版,$x'$ 是贴好贴纸后的最终图片。
- 保留原图区域$(1 - M) \odot x$ 中,蒙版为 0 的像素(没被盖住)被原样保留,蒙版为 1 的像素被清零,表示“这个位置让给贴纸”。
- 叠加贴纸区域$M \odot P$ 只把贴纸图案放进蒙版为 1 的位置,其余位置为 0,相当于把贴纸“裁”成目标形状再贴上去。
- 合成最终图片两部分相加,得到“原图 + 贴纸”的合成照片,这张照片会直接送到大壮的大脑(模型)里识别。
攻击原理:为什么一张贴纸能骗过AI
皮皮好奇地做了个实验:他把贴纸贴在额头上、下巴上、耳朵上,发现效果完全不同——贴在右脸颊时大壮认错得最干脆。这让他更困惑了:贴纸图案没变,为什么位置会影响结果?其实,大壮看人脸的方式和人类完全不同,它根本不关心“这张脸整体长什么样”,而是在找一堆统计特征。
深度学习模型像一个超高维空间里的“分拣员”,它把图片映射成成千上万个特征,再在这些特征上画出一条复杂的决策边界。人的直觉是“轮廓+五官+常识”,模型却依赖大量局部纹理和统计相关性。对抗 Patch 正是利用了这种人机感知差异:它不需要欺骗你的眼睛,只需要在模型关注的少数特征上制造强烈扰动,就能把图片推过决策边界。
从数学上看,Patch 改变了模型在不同类别上的得分(logits)。如果 $\hat{y}$ 是模型对原始图片的预测类别,贴上贴纸后得分向量发生偏移,最高分可能从“住户”变成“闯入者”:
贴纸并不是给皮皮“化妆”,而是给大壮“洗脑”——它精准激活了模型里“物业经理”这个错误类别的开关。这也解释了为什么攻击者要精心设计图案:胡乱画的小纸片,是骗不过大壮的。
- 得分向量$z(x)$ 是模型对原始图片输出的每个类别的得分(logits),哪个类得分最高,模型就预测成哪个类。
- 贴纸引起的偏移$z(x')$ 是贴了贴纸后的得分,$\Delta z$ 是两者的差,表示贴纸让每个类别的得分发生了多大变化。
- 决策规则$\hat{y}'$ 是最终预测结果,$\arg\max_j z_j(x')$ 表示“挑出得分最高的那个类别 $j$”。
- 翻转条件当 $\Delta z$ 足够大,使“闯入者”得分反超“住户”,大壮就从“放行”翻成“拦截”。
生成算法:魔法贴纸的诞生
皮皮发现,随便涂鸦的贴纸成功率太低。他干脆霸占了表哥的电脑,写起小程序来:让程序盯着大壮的反应,一遍遍调整贴纸上每个色块的颜色。这台电脑就像一座“魔法工坊”——贴纸的图案不是灵感迸发画出来的,而是被“算”出来的。
制作对抗 Patch 的核心思路是梯度优化:先定义一个目标函数(比如“让模型把贴了贴纸的图认成物业经理”),然后沿着梯度的方向反复迭代图案的像素值。但物理世界有个麻烦:摄像头不会老老实实地正对着你拍,距离、角度、光照一变,贴纸在图像里的样子就全变了。如果只在理想图片上优化,出门就会失灵。
于是研究者引入了期望变换(Expectation over Transformation,EOT):把各种可能的物理变换都纳入优化过程,让 Patch 在“平均意义”上最有效。它的目标函数可以写成:
皮皮的“魔法工坊”其实就是一个优化循环:试贴、拍照、看大壮反应、反向调整色块,再试贴……直到贴纸在千百种条件下都对大壮奏效。工坊里磨好的贴纸,终于可以走向真实世界了。
- 优化目标$\arg\max_P$ 表示“不断修改贴纸图案 $P$,让后面的期望值尽可能大”,这是整个魔法工坊的核心指令。
- 多样本取平均$\mathbb{E}_{x \sim \mathcal{X}, t \sim \mathcal{T}}$ 表示从大量真实照片 $x$ 和物理变换 $t$(角度、光照、距离、打印色差)中随机采样取平均,保证贴纸在多种条件下都有效。
- 目标类别概率$P(y_t \mid \operatorname{apply}(x, P, t))$ 是“模型把经过物理变换 $t$ 作用后的贴纸图,识别成目标类别 $y_t$ 的概率”。
- 对数计算$\log$ 把 0~1 之间的概率映射成单调递增的分数,取对数不会改变最优解,但让梯度计算更稳定。
- 整体含义用梯度上升法反复调整 $P$,让“各种真实拍照条件下,模型把贴了贴纸的物体认成目标类别”的概率最大。
攻击流程:从实验室到现实
皮皮兴冲冲地拿着“工坊出品”的贴纸去门口实测,结果大晴天很灵,傍晚光线一暗就失灵。他这才明白:在电脑里模拟得再好,现实世界还有一堆“意外”——反光、角度、距离,甚至打印机偏色。一次完整的物理攻击,远不止“画个图打印出来”那么简单。
标准的攻击流程可以分为四步。第一步是目标与场景选择:攻击者要明确攻击谁(人脸识别门禁、交通标志识别、目标检测器),以及想让模型输出什么错误结果(定向攻击指定目标类,非定向攻击只要错就行)。第二步是物理环境建模:把摄像头的视角、拍摄距离、光照范围和打印色彩误差都抽象成数学变换,放进优化目标里。
第三步是Patch 迭代优化:用上一节说的 EOT 方法,在模拟的物理变换集合上反复迭代图案,每轮都让模型“猜”一次,根据梯度修正色块。第四步是部署实测:把优化好的 Patch 打印出来,到真实场景拍照验证。如果失败,就把实测中收集的新照片加进训练集,重新迭代。这个过程很像软件开发的“测试-反馈-修复”循环,攻击者要反复打磨,直到成功率达标。整个过程还涉及一个关键权衡:攻击效果与隐蔽性。Patch 做得越显眼越容易扰乱模型,但也越容易被保安发现;做得太隐蔽,可能又骗不过大壮。
皮皮像个小工程师,认认真真地记录“魔法贴纸日志”:几点、什么光照、贴哪个位置、大壮是否开门。经过几轮迭代,他终于让贴纸在多种条件下都稳定奏效——而这也意味着,防御方需要认真对待这种威胁了。
防御策略:给大壮打补丁
物业经理很快发现了皮皮的把戏,他们请来一位 AI 安全工程师,给大壮“补课”。工程师的方法很朴素:既然皮皮会贴贴纸骗人,那就让大壮每天看几百张“贴了贴纸的照片”,看到熟为止。这就是对抗家族里最基础也最常用的防御手段——对抗训练。
对抗训练的思路,是在训练时主动模拟攻击者:每次喂给模型一张图片,同时让模型“见识”一个在允许范围内最坏的扰动,然后学聪明。用数学语言来说,防御方在解一个 min-max 问题:
除了对抗训练,工程师还会给大壮加装“贴纸扫描仪”:一是输入预处理,在图片进入模型前做随机裁剪、降噪、压缩,破坏贴纸的精确纹理;二是 Patch 检测,专门训练一个模块去判断“图像里有没有可疑贴纸区域”,发现就告警。防御不是一劳永逸的——大壮见多识广之后,皮皮的旧贴纸确实失效了,但皮皮又买了新打印机,准备研究更难缠的图案。这场拔河,才刚刚开始。
- 外层防御目标$\min_\theta$ 表示训练模型参数 $\theta$,让整体损失降到最小,这是“物业工程师”的视角。
- 内层攻击模拟$\max_{\delta \in \Delta}$ 模拟攻击者在允许的扰动范围 $\Delta$ 内,找一个让模型最难受的扰动 $\delta$,这是“皮皮”的视角。
- 损失函数$\mathcal{L}$ 衡量模型预测与真实标签 $y$ 的差距,差距越大说明模型错得越离谱。
- 攻防循环内外层交替优化——皮皮不断设计新贴纸,大壮不断学习新样本,最终大壮对 $\Delta$ 范围内的扰动都变得稳健。
评估指标:战果怎么量化
皮皮在自己的“攻防日记”里写道:今天在门口试了 100 次,成功 96 次,失败 4 次。他得意地把这个数字展示给小伙伴——攻击者也需要用数据说话。这里的 96%,正是评估对抗 Patch 效果最重要的指标:攻击成功率(ASR)。
攻击成功率的定义非常直白:统计所有攻击尝试中,让模型输出我们希望它输出的那个错误类别的比例。记测试次数为 $N$,每次攻击的预测结果为 $\hat{y}_i$,真实类别(或定向攻击的目标类别)为 $y_i^{*}$,那么:
不过,攻击者不会只看一个指标。皮皮还要评估物理鲁棒性:换个距离、换个角度、换个光线,成功率会不会暴跌;迁移性:这张贴纸能不能骗过别的小区里另一台门禁;隐蔽性:贴纸贴上去会不会被保安一眼识破。指标越全面,越能说明一张 Patch 的真实威胁等级。
- 测试总数$N$ 是总攻击次数,比如皮皮在门口试了 100 次。
- 单次成败$\mathbb{1}[\cdot]$ 是指示函数,方括号内条件成立记 1,不成立记 0,相当于把每次结果变成“成功=1、失败=0”。
- 成功定义$\hat{y}_i \neq y_i^{*}$ 表示第 $i$ 次模型输出类别与期望类别不一致——对非定向攻击,$y_i^{*}$ 是真实类别;对定向攻击,它是攻击者想让模型输出的目标类别。
- 求和平均把所有 1 加起来再除以 $N$,得到 0~1 之间的比例,即攻击成功率。
典型案例:现实世界的危险恶作剧
皮皮的恶作剧只发生在小区,但同样的事情,在真实世界里已经上演过很多次,而且后果一点都不好笑。2017 年,研究者直接在"STOP"停车标志上贴上几张黑白小贴纸,AI 就把停车标志识别成了限速 45 的标志——贴纸只覆盖了标志的一小块角落,人眼完全不会误读。
人脸识别也没能幸免。有团队设计了一款特制的眼镜框,打印出来后戴上,就能让人脸识别系统把自己认成指定的明星;更夸张的是,一些研究做出了“隐身 Patch”——把一块印刷图案举在胸前,目标检测器(YOLO 这类模型)就会直接把穿着这件 T 恤的人“从视野里抹掉”,检测框完全消失。这些案例的共同点,是 Patch 在物理世界具有可打印性、可迁移性和视角鲁棒性,它们攻击的从来不是人眼,而是“摄像头 + 模型”这个组合。
这些案例给 AI 从业者最重要的启示是:安全测试必须纳入模型上线的标准流程。在把模型部署到门禁、汽车、监控之前,一定要用对抗 Patch 攻击做一次“红队演练”,看看模型在物理世界会不会被一张纸骗过。皮皮的贴纸如果只是骗骗门禁,最多算调皮;可如果同样的手法被用在红绿灯、车牌识别、安检系统上,恶作剧就会升级成公共安全事件。技术本身没有善恶,但安全意识是每个 AI 从业者的底线。
未来趋势:攻防博弈的下一站
皮皮和大壮的斗智斗勇还远没有结束。大壮升级了,皮皮也在研究新招数;工程师刚补上一个漏洞,新的攻击手法又开始出现。AI 安全领域就是这样一场永不停歇的猫鼠游戏。未来的对抗 Patch 会往哪些方向发展呢?
攻击侧的趋势是“更隐蔽、更多维”。研究者正在尝试让 Patch 的图案在人类看来完全是自然纹理——比如树叶、布料花纹,肉眼几乎无法察觉,但对模型却有强烈的误导作用。同时,攻击不再局限于视觉:多模态攻击可以同时干扰摄像头画面、GPS 信号、激光雷达回波,让自动驾驶系统同时收到矛盾的感知信息。防御侧则在推动运行时检测:在模型推理的同时实时分析输入是否存在 Patch 痕迹,并结合可解释性工具定位是哪些特征让模型做出可疑判断,从“事后补丁”走向“实时免疫”。
对从业者而言,更现实的趋势是安全落地实践从“点”走向“体系”。对抗训练、输入预处理、Patch 检测、异常监控、应急响应,这些不再是可选的加分项,而是 AI 系统上线的必需品。测试环境也要从普通数据集走向“数字孪生环境”——在仿真里模拟真实世界的摄像头、光照和攻击者,训练阶段的攻防演练可能比上线后的补救省下十倍成本。
大壮会越来越强,皮皮也会越来越狡猾。但正是这种持续博弈,让整个 AI 系统在一次次对抗中变得更可靠。对 AI 安全工程师来说,这不是绝望的战争,而是一份长期有价值的事业——毕竟,每一次成功的防御,都在让技术离“可信”更近一步。
AI 应用场景
人脸识别门禁系统的红队安全测试
阶段:模型评估与上线前安全测试
解决的问题:传统测试只关心识别准确率,无法发现“物理贴纸骗过门禁”这类真实世界攻击。AI 安全团队用对抗 Patch 攻击模拟器对门禁模型发起测试,提前暴露脆弱点,再针对性加固。
具体案例:某园区在门禁系统上线前,安全工程师打印了 20 张不同图案的 Patch,贴着它们在不同光线、角度下做攻击测试。结果发现其中 6 张能让系统把测试员错认成园区高管。团队随即在模型前加入 Patch 检测模块和对抗训练数据,二次测试攻击成功率降到了 1% 以下。
自动驾驶视觉系统的对抗训练
阶段:模型鲁棒性训练与数据增强
解决的问题:交通标志识别模型容易被 Patch 欺骗,导致车辆误判限速或禁行标志。通过在仿真环境中生成大量贴了 Patch 的标志图片,并纳入对抗训练,模型能学会忽略这类局部干扰。
具体案例:某自动驾驶公司在仿真平台里,用 EOT 方法生成了覆盖不同光照、雨雾、视角的“停车标志 + 贴纸”样本,混入训练集重新训练感知模型。实车测试中,模型对贴纸篡改标志的识别准确率提升了约 35%,同时正常标志的准确率仅下降 2%。
无人零售场景的防漏单检测
阶段:运行时监控与异常检测
解决的问题:恶意顾客可能在商品上贴小型对抗 Patch,让自助收银系统的识别模型把高价商品认成低价商品。在摄像头画面进入结算模型前增加 Patch 检测模块,可以主动拦截可疑贴纸区域。
具体案例:某无人超市在收银摄像头前部署了轻量 Patch 检测器,凡是图像中出现高置信度的异常局部区域,系统立即转入人工复核通道。上线三个月内,拦截了 47 起疑似贴纸攻击事件,同时误报率控制在 0.3% 以内。
Python 演示
import numpy as np def make_img(rng, kind, noise=0.15): # 8x8 图像: 类0=左边亮(住户), 类1=右边亮(访客) img = np.zeros((8, 8)) if kind == 0: img[:, :4] = 1.0 else: img[:, 4:] = 1.0 img += rng.normal(0.0, noise, img.shape) return np.clip(img, 0.0, 1.0) def main(): rng = np.random.default_rng(42) X = np.array([make_img(rng, k).ravel() for k in (0, 1) for _ in range(40)]) y = np.array([0] * 40 + [1] * 40) # 手工逻辑回归: 学习"左边亮=住户, 右边亮=访客" W = np.zeros(X.shape[1]) b = 0.0 lr = 0.5 for _ in range(200): logits = X @ W + b p = 1.0 / (1.0 + np.exp(-logits)) grad = X.T @ (p - y) / len(y) W -= lr * grad b -= lr * (p - y).mean() def predict(img): return 1 if (img @ W + b) > 0 else 0 x0 = X[0] # 攻击样本: 一个"访客" print("original label:", y[0]) print("before attack:", predict(x0)) # 生成 Patch: 只覆盖右下角 4x4 区域 pmask = np.zeros(64, dtype=bool) pmask.reshape(8, 8)[4:, 4:] = True patch = np.zeros(64) # 梯度下降: 降低"访客"概率, 让预测翻转为住户 for _ in range(200): logits = (x0 + patch * pmask) @ W + b p1 = 1.0 / (1.0 + np.exp(-logits)) grad = p1 * (1.0 - p1) * W * pmask patch -= 0.5 * grad patch = np.clip(patch, 0.0, 1.0) print("patch grid (8x8):") print((patch * pmask).reshape(8, 8)) print("after attack:", predict(x0 + patch * pmask)) if __name__ == "__main__": main()
X = np.array([make_img(rng, k).ravel() ...])生成两类 8×8 合成图像并展平成一维特征,模拟门禁的“住户照片库”。logits = X @ W + b线性分类器打分,对应大壮心里给每个身份打的分。grad = X.T @ (p - y) / len(y)计算逻辑回归梯度,相当于让模型学会“左边亮是住户、右边亮是访客”。pmask.reshape(8, 8)[4:, 4:] = True定义贴纸区域掩码:只盖住右下角 4×4 小块,体现 Patch 的“局部性”。grad = p1 * (1.0 - p1) * W * pmask计算 Patch 对“访客概率”的影响梯度,越敏感的像素调整幅度越大。patch -= 0.5 * grad反向更新贴纸像素,让“访客概率”不断下降。patch = np.clip(patch, 0.0, 1.0)模拟打印颜色约束,把像素值限制在可打印范围。predict(x0 + patch * pmask)验证攻击效果:贴纸贴上去后,模型把访客错认成了住户。
常见误区
误区我之前以为对抗 Patch 至少要覆盖物体的一半,贴那么小一块怎么可能骗得过 AI?
正解模型对局部纹理非常敏感,Patch 面积可以只占物体的十分之一甚至更少。就像皮皮的贴纸只有硬币大,却能激活大壮脑中“物业经理”的错误开关。关键不在于面积,而在于图案是否精准地扰动模型依赖的特征。
为何常见:人们习惯用“人眼识物”的直觉去推测模型,觉得图案越大越有存在感,却忽略了深度模型依赖的是统计特征而非整体语义。
误区大壮平时认人 99.9% 准确,这么强的模型怎么可能被一张小贴纸骗住?
正解准确率衡量的是模型在正常数据上的表现,对抗鲁棒性衡量的却是模型在恶意扰动下的稳定性,两者没有必然关系。一个在 ImageNet 上精度很高的模型,同样可能被精心设计的 Patch 轻松击败,因为高精度不等于决策边界足够“平滑”。
为何常见:人们容易把“能力”等同于“防御力”,就像觉得大力士一定不怕针刺,但攻击恰恰瞄准的是最薄弱的局部。
误区只要做过对抗训练,模型就不会再被贴纸骗了,可以一劳永逸。
正解对抗训练只能提高对训练中见过的那类扰动的鲁棒性,攻击者换一个新图案、新位置、新物理变换,很可能再次绕过。而且过度对抗训练还会轻微降低正常样本的准确率。防御永远是一个需要持续更新的过程,而不是一次性补丁。
为何常见:把“训练时见过一些攻击”理解成“见过所有攻击”,忽略了对抗样本空间几乎无限大。
误区我觉得对抗 Patch 也就是让图片分类器认错而已,目标检测、人脸识别这些更高级的应用应该没事。
正解对抗 Patch 对目标检测(让行人在检测框中消失)、人脸识别(戴眼镜框伪装成他人)、语义分割(改变物体区域划分)都有真实攻击案例。凡是依赖视觉感知的 DNN 系统,都可能成为 Patch 的目标。大壮只是其中一个受害者。
为何常见:人们容易把“分类错误”当成唯一攻击形式,忽略了检测、分割等任务同样建立在特征扰动之上。
误区既然都是往输入里加扰动,那数字攻击的方法直接搬到物理世界就能用。
正解数字攻击通常假设扰动精确地作用在像素上,而物理世界里贴纸会被打印色差、光照变化、拍摄角度扭曲。所以 Patch 必须用 EOT 等技巧在多种物理变换下联合优化,并考虑打印约束。皮皮在屋里电脑上试好的贴纸,到太阳底下一照可能就失灵,这就是物理世界的额外复杂性。
为何常见:在仿真环境里待久了容易忽略“现实有损耗”,以为模型输入就是理想像素,忘了中间隔着一整套光学与打印链路。
面试题
Q1. 对抗 Patch 攻击最核心的特点是下列哪一项?
- A.只能在数字像素上添加噪声← 正确答案
- B.可以在物理世界打印并贴附
- C.必须攻击模型的训练数据
- D.只对语音模型有效
答案:A。对抗 Patch 的关键就是物理可实现性:图案可以打印出来贴在真实物体上骗过摄像头。A 是数字对抗样本的特点;C 属于数据投毒;D 完全错误,Patch 主要针对视觉模型。可以类比皮皮的贴纸——它必须能打印、能贴上脸,才能骗过大壮。
Q2. 与传统数字对抗样本相比,对抗 Patch 的最大区别是什么?
- A.修改的像素数量更少
- B.必须考虑打印与拍摄的物理变换← 正确答案
- C.不需要访问模型梯度
- D.只能攻击灰度图像
答案:B。传统数字攻击直接在像素层面加扰动,而 Patch 要经历打印、贴附、拍摄,必须考虑光照、角度、距离等物理变换,因此常用 EOT 增强鲁棒性。A 说法不成立,Patch 修改的是一块局部区域;C 错误,生成 Patch 通常需要梯度信息;D 没有依据。
Q3. 生成对抗 Patch 时,期望变换(EOT)的主要作用是什么?
- A.模拟真实拍摄中的多种物理变换← 正确答案
- B.减少模型训练所需的样本数量
- C.提高 Patch 在数字环境中的强度
- D.让 Patch 的图案看起来更美观
答案:A。EOT 对各种物理变换(角度、光照、距离、打印色差)取期望,让 Patch 在真实世界多种条件下都有效,就像让皮皮的贴纸在晴天雨天都能骗过大壮。B、C、D 都不是 EOT 的设计目的。
Q4. 对抗训练公式 $\min_{\theta}\max_{\delta}\mathcal{L}$ 中,内层 $\max$ 代表什么?
- A.寻找让模型损失最大的恶意扰动← 正确答案
- B.寻找让模型损失最小的网络权重
- C.计算攻击成功率的平均值
- D.度量 Patch 的打印物理误差
答案:A。内层 max 模拟攻击者,在允许范围内找最让模型难受的扰动;外层 min 模拟防御者,通过训练让模型对这种最坏情况也稳健。可以理解为皮皮不断设计最刁钻的贴纸,大壮则通过训练把这些刁钻全部学一遍。
Q5. 在“停车标志被识别成限速标志”的经典攻击中,Patch 通常贴在什么位置仍能成功?
- A.标志的局部角落区域← 正确答案
- B.必须覆盖整个标志表面
- C.标志之外的天空背景
- D.摄像头镜头正中央
答案:A。经典攻击只需在 STOP 标志的局部角落贴上黑白贴纸,人眼完全看不出含义变化,模型却会把最高得分从“停车”翻到“限速”。这说明模型对局部纹理敏感,不需要覆盖整个标志。C 和 D 都没有物理可行性。
Q6. 评估物理世界对抗 Patch 攻击效果时,最关键的指标是哪一项?
- A.不同视角、距离下的攻击成功率← 正确答案
- B.训练数据集的分类准确率
- C.模型参数量的大小
- D.打印贴纸的耗材成本
答案:A。物理攻击成功与否必须在多样的真实条件下衡量,只看单一角度成功率没有说服力。攻击成功率配合物理鲁棒性才能全面评估威胁。B 是模型自身指标,C、D 与攻击效果无关。
Q7. 对抗 Patch 能骗过模型的最根本原因是什么?
- A.人和模型感知世界的方式存在差异← 正确答案
- B.打印机颜色配置完全错误
- C.摄像头镜头分辨率太低
- D.训练数据全部标注错误
答案:A。模型依赖的是统计特征与决策边界,人依赖的是整体轮廓与常识,Patch 恰恰利用这种感知差异,针对特征空间施加扰动。B、C、D 都是设备或数据问题,不是攻击成功的根本原因。
Q8. 下列哪些属于对抗 Patch 的常见防御方法?
- A.对抗训练增强← 正确答案
- B.输入预处理← 正确答案
- C.Patch 区域检测← 正确答案
- D.提高模型参数量
答案:ABC。对抗训练让模型见过各种贴纸样本,输入预处理通过降噪、裁剪破坏贴纸纹理,Patch 检测则专门识别可疑区域。单纯加大模型参数量并不能提升对抗鲁棒性,甚至可能让过拟合更严重,所以 D 不正确。
Q9. 关于对抗 Patch 的物理部署,下列说法正确的有哪些?
- A.需要考虑光照与拍摄角度← 正确答案
- B.打印色彩误差会影响攻击效果← 正确答案
- C.同一张 Patch 可在任意场景通用
- D.贴附位置会显著影响成功率← 正确答案
答案:ABD。物理世界充满光学损耗,光照角度和打印色差都会改变 Patch 在图像中的样子,所以需要 EOT 与打印约束处理(A、B 对)。贴附位置同样关键,皮皮发现贴右脸颊最灵,贴额头就没用(D 对)。C 太绝对,Patch 往往针对特定场景与模型优化,无法任意通用。
Q10. 对抗 Patch 攻击可能影响下列哪些 AI 应用?
- A.人脸识别门禁系统← 正确答案
- B.自动驾驶目标检测← 正确答案
- C.语音唤醒词识别
- D.推荐系统排序算法
答案:AB。对抗 Patch 是视觉物理攻击,主要影响摄像头感知类应用,人脸识别和自动驾驶目标检测都是典型目标场景(A、B 正确)。语音识别属于音频模态,推荐系统处理的是行为数据而非图像,都不受视觉 Patch 直接影响。