地铁站的老周是一位干了十五年的安检员,他手机里存着通缉犯阿飞的照片。每天早晚高峰,形形色色的乘客从他眼前经过:有人戴帽子、有人贴创口贴、有人穿着花里胡哨的衣服,光线时亮时暗,摄像头也忽远忽近。老周要做的,就是在这些“现实干扰”里一眼认出阿飞。这其实就是“物理鲁棒性”的日常版本:一个 AI 模型在真实世界里,面对打印色差、光照变化、拍摄角度、遮挡和距离等种种“物理噪声”,还能不能稳定地给出正确判断。 数字世界里,攻击者可以像修图一样直接改照片里的每一个像素;但物理世界里,阿飞不能直接改老周手机里的照片,他只能改变自己身上的“物理存在”——贴个贴纸、换件衣服、躲进阴影。于是,AI 安全里就出现了一类专门研究“如何在真实世界有效攻击和防御”的问题:物理攻击。这篇文章会沿着阿飞和老周的故事,从攻击载体、鲁棒原理、攻击算法,一路讲到防御加固、评估方法和安全合规。

岗位关联

掌握物理鲁棒性,是让 AI 从实验室走进摄像头、路牌、闸机等真实场景前必须补上的一课。它能帮你识别看似微小却可能致命的攻击风险,并设计出真正可信可靠的 AI 系统。

目录
  1. 可视化演示
  2. 物理攻击基础
  3. 扰动载体形式
  4. 物理鲁棒原理
  5. 攻击算法核心
  6. 防御加固策略
  7. 鲁棒性评估
  8. 安全伦理合规
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示物理鲁棒性三维度:物理vs数字攻击管线对比(打印-相机采集变换链)、EOT变换期望攻击算法(多变换采样-梯度平均-鲁棒扰动生成)、物理感知对抗训练防御(随机变换增强-对抗生成-模型训练),理解物理世界AI安全。

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

物理vs数字攻击管线 物理:数字-打印-相机-模型 数字:直接像素修改 physical = render pipeline 物理攻击经过渲染管线引入打印失真与视角变换,鲁棒性要求更高。

物理攻击基础

阿飞被通缉后,第一反应是在脸上贴个创口贴。老周看一眼照片,再抬头看看真人,照样把他认了出来。阿飞不服气:“我都变装了,你怎么还能认出我?”老周说:“你走路时右肩低、左肩高,这个习惯改不了。”这个故事里,阿飞做的“变装”就是物理攻击,而老周的“识人能力”就是模型需要具备的物理鲁棒性。

所谓物理攻击,是指攻击者不直接修改 AI 系统收到的数字信号,而是通过改变真实世界中的物体、场景或环境,让模型产生错误判断。与之相对的数字攻击,是在图片的像素矩阵上直接加扰动,比如在照片上叠加一层肉眼几乎看不见的噪声。数字攻击的优势是精确,但它有一个致命弱点:一旦把扰动打印出来再拍一遍,像素就会被打印色差、镜头畸变、光照变化彻底打乱,攻击常常失效。

物理攻击要面对的约束非常多:打印机只能覆盖有限的颜色空间,摄像头会引入模糊和透视变形,贴纸贴在立体物体上会产生折痕,拍摄距离和角度不同,补丁形状也会跟着改变。这些“现实关卡”让物理攻击比数字攻击更难生成,但也更贴近真实威胁。停车牌上贴一张小贴纸就能让自动驾驶误读、人群里穿一件特制 T 恤就能让行人检测器“看漏”,这些已经不是科幻电影里的桥段。

对工程实践来说,理解这些约束不是要制造攻击,而是要知道 AI 系统在真实环境中可能从哪里被击穿。老周能认出阿飞,靠的不是死记照片,而是长期训练出的稳健直觉;一个要上路的 AI 系统,也必须先回答“当世界没那么干净时,我还能不能给出正确答案”这个问题。

扰动载体形式

阿飞发现简单变装没用,于是开始研究更“科学”的伪装。他找人在帽子上贴了一块彩色贴纸,图案看上去像街头涂鸦,但实际上是专门优化过的对抗补丁。老周盯着屏幕时,明明看到阿飞的脸,脑子却闪过“这不是通缉犯”的判断。这种“局部小图案影响全局判断”的载体,就是对抗补丁。

对抗补丁是物理攻击里最常见的形式。它通常是一个经过算法优化的彩色图案,打印出来后贴在目标物体上。补丁面积未必很大,却能让模型忽略其他正常区域。经典案例中,研究人员把黑白贴纸贴在停车牌上,原本“Stop”的标志就被识别成了“Speed Limit 45”。补丁之所以这么强,是因为模型在推理时往往会被局部高纹理区域吸引,而不是真正理解整体语义。

除了补丁,攻击者还可以把整个图案印在衣服上,变成“对抗 T 恤”;或者用贴纸、涂鸦、挂件去改变物体的轮廓,让检测器无法把人和背景区分开。更前沿的研究还在尝试用特殊光源或投影制造“光效干扰”,让摄像头拍到本不存在的伪影。这些载体有一个共同点:它们都必须被“打印、粘贴、穿戴或投射”到真实世界,因此都要经过印刷和拍摄这两道现实工序。

老周的观察列表变得越来越长:贴纸、衣服、帽子上的花纹、墙上的投影。物理鲁棒性的研究,某种程度上就是在研究这些“现实载体”如何欺骗模型,以及模型如何学会不被它们带偏。

物理鲁棒原理

老周后来明白,光盯着照片里的五官没有用。他学会综合看人的骨架宽度、走路节奏和习惯动作,哪怕光线很暗、人很远、帽子压得很低,他也能靠整体轮廓判断。这叫“变换不变性”:无论目标在物理世界中被怎么折腾,模型都应该抓住真正稳定的判别特征。

在数学上,研究者会把“现实折腾”建模成一组变换集合 $\mathcal{T}$。每一次拍摄,相当于先让物体经过一个变换 $t$(比如旋转 $15^\circ$、平移两个像素、亮度变暗 $20\%$),再由渲染函数 $g$ 生成画面。如果我们把一个对抗补丁记为 $\delta$,那么攻击者在设计补丁时,不再只关心某一帧画面,而是希望补丁在这些变换下“平均有效”。这就引出了 EOT(期望变换)的攻击目标:

这里还要特别注意“可打印颜色”约束。屏幕上的颜色范围比打印机大得多,补丁算法必须把每个像素限制在打印机能够表达的颜色空间内,否则生成出来的图案一打印就“货不对板”。多视角约束也同理:立体物体上的补丁在正面看是矩形,转到侧面就可能变成梯形甚至被遮挡,所以 EOT 里的变换集合一定要包含这些真实视角。

老周的直觉是对的:只认一张“标准照”不够,必须在无数种变形里仍然认得出来。EOT 为这种“在变形中保持稳定”提供了可计算的数学框架。

JEOT(δ)=Et∼T[L(f(g(x,δ,t)),ytarget)]\displaystyle J_{\text{EOT}}(\delta)=\mathbb{E}_{t\sim\mathcal{T}}\left[\mathcal{L}\left(f(g(x,\delta,t)),y_{\text{target}}\right)\right]
可以把 $\mathcal{T}$ 想象成老周遇到的各种地铁场景:有人从侧面走过来、灯光忽明忽暗、闸机前的摄像头偶尔晃动。EOT 做的事情,就是让阿飞在所有这些场景里都尽量不被认出。
  1. 损失函数 $\mathcal{L}$度量模型预测结果和目标标签之间的差距。对攻击者来说,让这个损失越小,越可能骗过模型。
    L(f(g(x,δ,t)),ytarget)\mathcal{L}\left(f(g(x,\delta,t)),y_{\text{target}}\right)
  2. 期望 $\mathbb{E}_{t\sim\mathcal{T}}$把所有可能的物理变换都采样一遍,再取平均,避免补丁只对某一个角度有效。
    Et∼T\mathbb{E}_{t\sim\mathcal{T}}
  3. 渲染函数 $g(x,\delta,t)$把补丁 $\delta$“贴”到真实物体 $x$ 上,并施加变换 $t$,生成摄像头看到的画面。
    g(x,δ,t)g(x,\delta,t)
  4. 整体目标 $J_{\text{EOT}}(\delta)$补丁 $\delta$ 最终要优化的总目标,它同时考虑了打印、拍摄、角度和光照的平均影响。
    JEOT(δ)J_{\text{EOT}}(\delta)

攻击算法核心

既然物理攻击要让补丁在多种变换下都有效,那具体怎么生成这个补丁?老周的思路是先在值班室里搭一个“伪装模拟器”:用投影机模拟不同光线,用不同角度摆放阿飞的照片,再拍下来试错。算法做的事其实很像这个试错过程,只是把试错变成了梯度下降。

攻击者首先随机初始化一块补丁,相当于铺一层白纸;然后从变换集合 $\mathcal{T}$ 里采样一批真实场景,比如平移、旋转、亮度变化;接着把补丁渲染到目标物体上,计算模型输出与目标标签之间的损失;最后根据损失对补丁像素求梯度,让补丁朝着“骗过模型”的方向更新。由于每一步都是可微的,梯度就能从模型输出一路传回补丁的每个像素。更新公式如下:

这套流程的核心就是“采样—求梯度—更新—裁剪”的循环。采样让补丁适应真实世界的多样性,梯度让图案不断逼近最佳伪装,裁剪则把算法拉回物理可实现的边界。经过几百次迭代,一块看起来花里胡哨、却能让模型稳定出错的对抗补丁就诞生了。

阿飞拿到补丁后兴奋不已,但老周也在同步升级自己的训练方法。攻和防就像猫鼠游戏,算法让攻击更“懂现实”,防御也必须跟着学会抵御这些“懂现实”的攻击。

δk+1=Clip⁡C(δk−αsign⁡(∇δkJEOT(δk)))\displaystyle \delta_{k+1}=\operatorname{Clip}_{\mathcal{C}}\left(\delta_{k}-\alpha \operatorname{sign}\left(\nabla_{\delta_k}J_{\text{EOT}}(\delta_k)\right)\right)
这个公式像老周的“试错笔记”:每次发现哪里容易被认出,就在那个方向稍微改一下伪装;改完之后还要检查伪装能不能被打印机印出来,不能印就修剪回合法范围。
  1. 补丁的当前状态 $\delta_k$第 $k$ 次迭代时的补丁图案,一开始是一块随机噪声。
    δk\delta_k
  2. 负梯度方向 $-\operatorname{sign}(\nabla_{\delta_k}J_{\text{EOT}})$表示让攻击目标损失下降最快的方向,也就是更容易骗过模型的方向。
    −sign⁡(∇δkJEOT(δk))-\operatorname{sign}\left(\nabla_{\delta_k}J_{\text{EOT}}(\delta_k)\right)
  3. 学习步长 $\alpha$每次更新补丁的幅度,步长太大会错过好图案,太小则收敛太慢。
    α\alpha
  4. 裁剪操作 $\operatorname{Clip}_{\mathcal{C}}$把更新后的像素值限制在可打印颜色集合 $\mathcal{C}$ 内,保证补丁能真实印刷出来。
    Clip⁡C(⋅)\operatorname{Clip}_{\mathcal{C}}(\cdot)

防御加固策略

老周并没有被阿飞的伪装吓倒。他开始每天看几十组模拟照片:正常照片、贴了补丁的照片、换了角度补丁变形的照片,看得多了,他渐渐学会先看整体,再看局部异常。这套方法映射到 AI 里,最先想到的防御就是对抗训练。

对抗训练的核心思路,是把攻击样本直接加入训练过程,让模型在训练时就看到“被攻击后的图片”,从而学会忽略这些干扰。数学上可以写成:

除了对抗训练,还有两条重要的防御路线。一条是补丁检测:先用一个目标检测器或自监督模块找出图像中外观异常的区域,再把补丁遮掉或修复,最后交给分类器判断;另一条是认证鲁棒:用严谨的数学证明给出一个扰动上界,只要干扰不超过这个界,模型就能保证分类结果不变。认证鲁棒比对抗训练更“硬核”,但它通常比较保守,实际部署时往往会把几类方法组合起来用。

老周的“眼睛”越来越毒,但阿飞也在不断换新的伪装。防御方必须接受一个现实:世界上不存在一劳永逸的免攻击方案。对抗训练能提升平均鲁棒性,补丁检测能拦住常见载体,认证鲁棒能守住最严格的下界,把三者组合使用,才能让系统在真实威胁面前多几道保险。

min⁡θE(x,y)∼D[max⁡η∈SL(fθ(x+η),y)]\displaystyle \min_{\theta}\mathbb{E}_{(x,y)\sim\mathcal{D}}\left[\max_{\eta\in\mathcal{S}}\mathcal{L}\left(f_{\theta}(x+\eta),y\right)\right]
这里的外层 $\min$ 是“模型尽量把损失降到最低”,内层 $\max$ 是“攻击者在允许范围内尽量把损失抬高”。两者互相博弈,最后模型变得更强。
  1. 模型参数 $\theta$要优化的神经网络权重,希望通过训练获得更强的识别能力。
    θ\theta
  2. 内层最大化 $\max_{\eta\in\mathcal{S}}$在合法扰动范围 $\mathcal{S}$ 内寻找最让模型出错的一种干扰,模拟攻击者。
    max⁡η∈S\max_{\eta\in\mathcal{S}}
  3. 外层最小化 $\min_{\theta}$让模型在“最难的场景”下也能保持低损失,从而提高鲁棒性。
    min⁡θ\min_{\theta}
  4. 训练数据分布 $\mathcal{D}$真实世界数据的集合,这里可以进一步延伸为加入物理变换后的数据分布。
    (x,y)∼D(x,y)\sim\mathcal{D}

鲁棒性评估

老周的主管问他:“你现在的识别能力到底有多稳?”老周不能只说“感觉还行”,他得做测试:让不同身高的人穿着同样的衣服,在晴天、阴天、闸机口、手扶电梯上分别走一遍,记录认错率。这一步在 AI 安全里叫物理鲁棒性评估。

评估最常用的指标是攻击成功率,或者等价地看鲁棒准确率。把一张带补丁的图片放在不同距离、角度、光照下拍摄,如果模型依然能认对目标,就说明这次“考试”通过了。形式化写出来就是:

为了保证评估可信,测试条件必须写清楚:拍摄距离是多少米、相机俯仰角多少度、光照是强光还是弱光、补丁用了什么打印材质。同一张对抗补丁,在新印刷设备上可能颜色偏差很大;同一个模型,在 2 米和 10 米距离下的表现也可能完全不一样。因此“跨场景泛化”是评估里最需要关注的问题之一。

老周的考核表越来越厚,他也会在表格上注明:“今天地铁里换了新的 LED 灯,亮度比上个月高。”只有把条件控制住并透明地报告出来,鲁棒性数字才有参考价值;否则,一次漂亮的实验很可能只是实验室里的偶然。

y^i=f(g(xi,δ,ti)),Accrobust=1N∑i=1N1[y^i=yi]\displaystyle \hat{y}_i=f(g(x_i,\delta,t_i)),\qquad \text{Acc}_{\text{robust}}=\frac{1}{N}\sum_{i=1}^{N}\mathbb{1}\left[\hat{y}_i=y_i\right]
这个公式像是老周的考核表:每来一个乘客,就记录一次“有没有认对”;把所有记录加起来除以总人数,就是最终的稳定率。
  1. 预测结果 $\hat{y}_i$模型在第 $i$ 次拍摄中对目标的判断。
    y^i=f(g(xi,δ,ti))\hat{y}_i=f(g(x_i,\delta,t_i))
  2. 指示函数 $\mathbb{1}[\cdot]$内部条件成立时记 1,不成立时记 0,用来统计正确预测的次数。
    1[y^i=yi]\mathbb{1}\left[\hat{y}_i=y_i\right]
  3. 鲁棒准确率 $\text{Acc}_{\text{robust}}$把 N 次测试中正确的次数取平均,得到模型在指定物理条件下的稳定识别率。
    1N∑i=1N1[y^i=yi]\frac{1}{N}\sum_{i=1}^{N}\mathbb{1}\left[\hat{y}_i=y_i\right]

安全伦理合规

故事讲到最后,阿飞被捕了。但老周意识到一个重要问题:他自己研究“识别伪装”的方法,其实也是在研究“如何伪装”。如果这些方法被别有用心的人拿走,比如用来攻击自动驾驶、绕过人脸识别闸机,后果不堪设想。这就是物理鲁棒性研究里绕不开的安全伦理问题。

物理攻击的研究具有很强的双面性。一方面,研究攻击方法能帮助安全团队提前发现漏洞,比如证明某款人脸识别系统在打印贴纸后可以被绕过,促使厂商修复;另一方面,攻击方法一旦公开,也可能被黑产、诈骗团伙直接利用。因此,研究人员需要遵循负责任披露原则:先在内部验证,给厂商留出修补时间,再有限度地公开细节。

从合规角度看,涉及物理攻击的工具和论文需要评估“滥用风险”。如果一项研究可能威胁到公共安全,比如让自动驾驶在高速公路上误读限速牌,研究者就应当加入更多的限制条件,或者在受控环境中进行演示。AI 可信性不只包括准确率和鲁棒性,还包括公平性、透明度和可问责性。

老周最后把“伪装研究笔记”锁进了柜子,并在封面上写下一行字:技术本身没有立场,但使用技术的人必须有底线。物理鲁棒性的价值,不是教会大家怎么骗人,而是让每一个部署到真实世界的 AI 系统,都能像老周一样经得住考验,也不会被居心不良的人利用。

AI 应用场景

自动驾驶路牌识别防护

阶段:模型训练与部署监控

解决的问题:传统感知模型只在干净图片上测试,一旦停车牌被贴上对抗补丁,就可能把“停止”识别成“限速”,酿成事故。通过 EOT 对抗训练和补丁检测,让模型在训练阶段就见过不同距离、角度、光照下的补丁,并在推理时主动定位异常区域,降低误判风险。

具体案例:某自动驾驶团队在路测前,用打印的对抗停车牌在封闭场地测试。模型在晴天 20 米距离下准确率很高,但补丁贴到 10 米处后出现了误判。团队随后用 EOT 在数据增强中加入旋转、亮度和距离变化,重训后误判率下降了约七成。

人脸闸机与支付安全

阶段:推理阶段防御与合规评估

解决的问题:人脸识别闸机可能在用户脸上贴打印图案或戴特殊眼镜时被绕过,威胁账户和公共安全。需要结合物理攻击测试、活体检测和输入预处理,确保识别系统在遮挡、暗光、侧脸等现实条件下仍然稳定。

具体案例:某机场安检系统在升级时,安全团队打印了多种对抗贴纸放在嘴上、鼻侧和额头,对现有模型发起测试。结果发现系统对局部遮挡的鲁棒性不足。团队随后引入补丁检测模块,先对疑似遮挡区域做遮挡修复,再重新比对特征,最终通过了监管机构的合规测试。

Python 演示

python72 行
import numpy as np H, W = 12, 12P = 4 def bar(vertical=True):    img = np.zeros((H, W))    if vertical:        img[:, 5:7] = 1.0    else:        img[5:7, :] = 1.0    return img class SimpleModel:    def __init__(self):        self.t0 = bar(True)        self.t1 = bar(False)     def logits(self, x):        return np.stack([(x * self.t0).sum(axis=(1, 2)),                         (x * self.t1).sum(axis=(1, 2))], axis=1)     def predict(self, x):        return self.logits(x).argmax(axis=1) def transform_batch(base, patch, dx, dy, bright):    n = len(dx)    out = np.stack([base.copy() for _ in range(n)])    for i in range(n):        y = int(np.clip(3 + dx[i], 0, H - P))        x = int(np.clip(4 + dy[i], 0, W - P))        out[i, y:y + P, x:x + P] = patch * bright[i]    return out def expand(logits, target=1):    probs = np.exp(logits - logits.max(axis=1, keepdims=True))    probs /= probs.sum(axis=1, keepdims=True)    loss = -np.log(probs[:, target] + 1e-12)    dlogits = probs.copy()    dlogits[:, target] -= 1.0    return loss, dlogits def run():    rng = np.random.default_rng(0)    base = bar(True)    patch = np.full((P, P), 0.5)    model = SimpleModel()    for _ in range(60):        dx = rng.integers(-1, 3, size=32)        dy = rng.integers(-1, 3, size=32)        bright = rng.uniform(0.7, 1.2, size=32)        adv = transform_batch(base, patch, dx, dy, bright)        logits = model.logits(adv)        loss, dlogits = expand(logits)        grad_img = dlogits[:, 0, None, None] * model.t0 + dlogits[:, 1, None, None] * model.t1        grad_patch = np.zeros((P, P))        for i in range(32):            y = int(np.clip(3 + dx[i], 0, H - P))            x = int(np.clip(4 + dy[i], 0, W - P))            grad_patch += grad_img[i, y:y + P, x:x + P] * bright[i]        patch -= 0.3 * grad_patch / 32.0        patch = np.clip(patch, 0, 1)    test_x = rng.integers(-1, 3, size=64)    test_y = rng.integers(-1, 3, size=64)    test_b = rng.uniform(0.7, 1.2, size=64)    test_adv = transform_batch(base, patch, test_x, test_y, test_b)    success = (model.predict(test_adv) == 1).mean()    print("clean acc on class0:", (model.predict(base[None]) == 0).mean())    print("patched attack success rate:", success) if __name__ == "__main__":    run()
目的:用 NumPy 实现一个迷你 EOT 对抗补丁,训练补丁让“竖条”图片在平移和亮度变化后仍被模型识别成“横条”。
  1. class SimpleModel用两个模板的相似度作为分类器,模拟现实中的识别模型。
  2. transform_batch(base, patch, dx, dy, bright)模拟补丁在不同位置和亮度下被摄像头拍到的过程。
  3. expand(logits, target=1)计算交叉熵损失,并把模型预测概率转成可回传的梯度。
  4. patch -= 0.3 * grad_patch / 32.0沿损失下降方向更新补丁,让目标类的损失变小。
  5. np.clip(patch, 0, 1)把补丁像素裁回可打印的颜色范围,对应真实世界的色域约束。

常见误区

误区很多刚入门的人觉得,物理鲁棒性是论文里才讨论的“玄学”,真实产品只要在干净测试集上准确率高就够了,不用专门处理现实扰动。

正解真实部署中,摄像头会有运动模糊,环境光会变化,路牌会磨损,行人会被遮挡。这些物理扰动无时无刻不在发生。哪怕没有恶意攻击者,一个在雪天失效的自动驾驶模型也说明物理鲁棒性不足。它直接决定产品在真实世界的可靠性。

为何常见:因为多数公开数据集提供的是干净、标注良好的图片,让大家误以为“测试准确率”就等于“产品可用率”。

误区既然数字对抗攻击能骗过模型,那我只要在电脑上生成一个扰动,把它打印出来贴在物体上,应该也能骗过模型。

正解打印机无法完全还原屏幕上的颜色,摄像头还会引入透视变化、光照和噪声,小到像素级的数字扰动一经过物理管道就会面目全非。物理攻击必须用 EOT 等算法考虑真实变换,并限制在可打印色域内。

为何常见:人们习惯把图像理解成“一张二维图”,忽略了打印、拍摄是一个存在色差和形变的物理过程。

误区团队训练出一个在测试集上达到 99% 准确率的模型,就认为它在现实世界中也一定很稳,不需要做额外鲁棒性测试。

正解高干净准确率只能说明模型拟合了训练分布,不能说明它对打印补丁、遮挡、旋转和光照变化有抵抗力。鲁棒性需要单独评估,比如用攻击成功率、鲁棒准确率等指标去衡量。

为何常见:因为很多人在校招或项目实践中只接触过标准数据集,缺乏真实环境下的评估意识。

误区做完对抗训练后,模型就再也不会被对抗补丁欺骗了,可以放心上线。

正解对抗训练只是针对特定攻击方式或变换分布的“加固”。攻击者一旦使用更新颖的补丁、更极端的角度或新的打印材质,模型仍可能被攻破。认证鲁棒性也只能在限定扰动范围内给出保证,无法覆盖所有现实变化。

为何常见:因为对抗训练常让人觉得“吃过毒药就不怕毒药”,但现实攻击集是开放的,模型不可能经历所有可能的变换。

误区既然补丁可以检测,那就训练一个检测器,把所有补丁找出来,物理攻击不就彻底解决了吗?

正解补丁检测通常只能识别训练时见过的、外观比较突兀的局部区域。攻击者可以把补丁设计成与背景自然融合,或者用纹理衣服覆盖全身,检测器可能完全找不到异常区域。防御需要组合对抗训练、预处理、检测和认证鲁棒。

为何常见:看到一个防御方法有效,就很容易高估它的边界,忽略了攻击者在对抗环境下也会持续升级。

面试题

Q1. 物理鲁棒性最关心模型在哪种情况下的表现?

单选题 · easy

  • A.像素被无限篡改时
  • B.光线清晰的理想画面
  • C.打印光照角度变化下← 正确答案
  • D.训练数据分布不变时

答案:C。物理鲁棒性关注的是真实世界中打印、光照、角度、遮挡等物理干扰对模型的影响。像素篡改是数字攻击关心的问题;理想光线和分布不变条件下没有现实干扰,不能检验鲁棒性。

Q2. 数字攻击与物理攻击最核心的区别是什么?

单选题 · easy

  • A.数字攻击不需要威胁模型
  • B.物理攻击要承受现实变换← 正确答案
  • C.物理攻击比数字攻击便宜
  • D.数字攻击不会欺骗模型

答案:B。数字攻击直接在像素上做修改,可以精确控制每个点;物理攻击需要先打印、再经摄像头采集,途中会发生色差、形变、光照变化等现实变换,因此必须把变换纳入设计。

Q3. EOT 中的“期望”要解决什么问题?

单选题 · easy

  • A.让补丁在多种条件下平均有效← 正确答案
  • B.消除图片中的所有噪声
  • C.减少模型参数的数量
  • D.提高打印机的分辨率

答案:A。EOT 对变换集合求期望,本质是模拟真实世界中同一补丁在不同距离、角度、亮度下被拍摄的情况,让补丁在这些条件下平均有效,而不是只针对某个固定画面。

Q4. 下列哪些属于物理扰动的真实载体?

多选题 · mid

  • A.打印出来的对抗补丁← 正确答案
  • B.带特殊纹理的衣服← 正确答案
  • C.数据库中的像素标签
  • D.贴在物体上的彩色贴纸← 正确答案

答案:ABD。对抗补丁、纹理衣服、贴纸都需要经过打印或穿戴,属于物理载体。数据库中的像素标签只是数字域的数据标记,不会出现在真实物理环境中,因此不是物理扰动载体。

Q5. EOT 攻击中“裁剪到可打印色域”最主要原因是什么?

单选题 · mid

  • A.让补丁能真实打印出来← 正确答案
  • B.让补丁尺寸自动变小
  • C.让攻击偏向白颜色
  • D.让补丁速度更快

答案:A。数字图像使用的颜色范围可能超出打印机能力,如果不限制色域,算法生成出的颜色就无法被打印复原。裁剪到可打印色域让补丁满足物理可制造性。

Q6. 对抗训练增强物理鲁棒性的核心机制是?

单选题 · mid

  • A.不断给模型看对抗样本← 正确答案
  • B.删除所有对抗补丁
  • C.提高图片压缩率
  • D.降低摄像头的帧率

答案:A。对抗训练把攻击样本加入训练集合,相当于让模型预先见过各种对抗伪装,从而学会忽略局部异常。它不是删除攻击,也不是改变图像编码或设备参数。

Q7. 评估物理攻击成功率时,应重点报告哪些条件?

多选题 · hard

  • A.拍摄距离和相机角度← 正确答案
  • B.光照强度和光源颜色← 正确答案
  • C.打印色域和表面材质← 正确答案
  • D.训练集使用的随机种子

答案:ABC。距离、角度、光照、打印色域和材质都会显著影响物理攻击是否成功。训练集随机种子影响的是实验复现,但不是物理条件,不属于必须报告的物理评估条件。

Q8. 补丁检测类防御的第一步通常是?

单选题 · hard

  • A.定位图像中的异常局部区域← 正确答案
  • B.把图像整体模糊成大色块
  • C.用随机噪声覆盖全部图像
  • D.直接删除最高分类概率类别

答案:A。补丁检测的核心是先找到可疑区域,再做遮蔽或修复。整体模糊、随机噪声覆盖和修改分类决策都破坏正常信息,既不合理也不是检测类防御的典型步骤。

Q9. 关于认证鲁棒性的说法,正确的是?

多选题 · hard

  • A.能证明在界内扰动标签不变← 正确答案
  • B.能免疫所有真实世界攻击
  • C.给出的保证通常比较保守← 正确答案
  • D.可以完全替代对抗训练

答案:AC。认证鲁棒通过数学证明给出扰动下界,界内标签一定不变,但它只针对形式化限定的扰动范围,无法覆盖所有真实世界变化,因此保证偏保守,不能完全替代启发式防御。

Q10. 数字对抗扰动直接打印后效果变差的最关键原因是?

单选题 · extreme

  • A.打印摄像头会引入颜色几何失真← 正确答案
  • B.数字图像往往更喜欢输出红色
  • C.打印机没有神经网络运算单元
  • D.摄像头会自动修复全部对抗扰动

答案:A。数字扰动通常依赖每一个像素的精确偏移。打印和拍摄会引入颜色重新映射、镜头透视、噪声等失真,把微小变化破坏掉。打印机没有神经网络、图像偏好红色都是错误理解,摄像头也不会自动修复所有扰动。