第五章 · 不同视觉任务在对抗攻击下的脆弱性分析
第五章 · 不同视觉任务在对抗攻击下的脆弱性分析
(分类 / 检测 / 分割 / OCR / 人脸识别)
深度学习模型在不同任务下的结构差异极大,因此它们在面对对抗攻击时会表现出完全不同的脆弱性。本章从工程和数学角度分析五大主流视觉任务:
- 图像分类(Image Classification)
- 目标检测(Object Detection)
- 语义分割(Semantic Segmentation)
- OCR(Scene Text Recognition)
- 人脸识别(Face Recognition)
并解释为什么同样的对抗扰动,在不同任务上会产生截然不同的攻击效果。
1. 图像分类:最简单也最脆弱的任务
图像分类模型通常输出一个 logits 向量:
[ f(x) \in \mathbb{R}^K ]
攻击目标很直接:
[ \arg\max f(x+\delta) \ne y ]
由于分类模型结构简单、端到端可微,因此:
- 梯度容易获取
- 决策边界密度高
- 小扰动即可穿透边界
因此分类是:
所有任务中最容易攻击成功的任务。
典型现象:
- FGSM 就能让模型 50%+ 错误
- PGD/CW 几乎必定成功
- 扰动通常肉眼难以察觉
分类任务的攻击可以认为是基础样例,但难度也最低。
2. 目标检测:多任务联合导致复杂脆弱性
目标检测模型的输出包括:
- 分类 logits
- 边界框回归(bbox regression)
- NMS(非最大抑制)
- 多目标候选框的后处理
其前向传播结构:
[ f(x) = { (b_i, c_i) }_{i=1}^N ]
攻击目标可能是:
- 干扰分类
- 干扰位置回归
- 干扰 NMS 机制
- 让关键目标消失
- 让不存在的目标出现
这使得目标检测具有多种脆弱性。
常见攻击效果:
- “让行人消失”:人仍在图像中,检测框却突然消失
- “目标偏移”:bbox 显著偏离真实物体
- “误检”:出现大量错误框
- “大类错分”:例如把动物都识别成交通工具
为什么如此容易受到攻击?
因为:
检测模型的误差是多层叠加的,攻击者只需破坏链条中任何一环即可。
尤其是 bbox regression 对扰动极敏感。
3. 语义分割:高维像素级预测导致整体崩溃风险
语义分割模型为每个像素输出一个 K 类的 logits:
[ f(x) \in \mathbb{R}^{H \times W \times K} ]
攻击目标:
[ \arg\max f(x+\delta) \ne \arg\max f(x) ]
这是一个 数十万维的预测问题。
因此攻击空间巨大、脆弱性高。
典型现象:
- 对抗扰动会使整张图的分割结果错乱
- 边缘区域完全崩溃
- 大块区域被错误分类
例如在自动驾驶中:
- 路面 → 天空
- 行人 → 背景
- 路边界完全错乱
这是自动驾驶鲁棒性研究最关键的部分,因为分割的错误可能导致真实车辆决策错误。
为什么分割特别脆弱?
因为:
- 局部错误会显著传播(spatial propagation)
- 上采样/下采样结构对噪声敏感
- skip-connection 让扰动进入多个分辨率层
因此分割模型的安全风险被认为比分类更高。
4. OCR:CTC 结构的特殊脆弱性
OCR(场景文字识别)通常使用:
- CNN + RNN/Transformer
- CTC(Connectionist Temporal Classification)损失
CTC loss 的结构复杂:
[ P(label|x) = \sum_{alignments} P(alignment|x) ]
但它有一个天然弱点:
小扰动可能导致序列对齐方式突然改变。
因此 OCR 在攻击下会表现为:
- 字符变化(1 个字符变错)
- 整个单词解读错误
- CTC 输出对齐错位
- 整段预测坍塌
例如原图是:
TOTAL 120
对抗扰动后:
T0TAL 720
或者更危险的:
TOTAL 120 → TOTAL 0
在金融票据、发票、合同场景中,这几乎是致命的。
此外,OCR 的输入往往是高梯度区域(边缘、纹理),更容易受扰动影响。
5. 人脸识别:embedding 空间攻击的高度隐蔽性
人脸识别模型通常不做分类,而是输出 embedding:
[ e = f(x) \in \mathbb{R}^{d} ]
判断是否同一人的方式:
[ \text{cos}(e_1, e_2) > \tau \Rightarrow \text{same} ]
因此攻击者目标是:
- 让 embedding 接近某个特定人的 embedding
- 或让同一个人的 embedding 彼此远离
数学上:
[ f(x+\delta) \approx f(x_{target}) ]
这使得人脸识别攻击相比分类:
- 成功更隐蔽
- 扰动更自然
- 更容易绕过门禁系统
典型攻击效果:
- “冒名成功”:不是本人却被误认为本人
- “本人验证失败”:本人无法通过验证
- “对抗补丁攻击”:通过贴纸、帽子、眼镜欺骗模型
- “数字伪装攻击”:轻微噪声即可改变 embedding
人脸识别攻击是所有任务中真正的高风险领域。
6. 跨任务对抗攻击强度比较
| 任务 | 攻击难度 | 成功率 | 隐蔽性 | 风险 |
|---|---|---|---|---|
| 图像分类 | 最低 | 极高 | 高 | 中等 |
| 检测 | 中等 | 高 | 中 | 高 |
| 分割 | 中 | 高 | 中 | 极高 |
| OCR | 中等偏高 | 高 | 中 | 极高(金融/安全领域) |
| 人脸识别 | 最高隐蔽性 | 高 | 极高 | 极高 |
总体规律:
端到端、连续输出的任务更容易被攻击(OCR、Face、Seg)。
结构复杂、后处理链条多的任务攻击效果更“灾难性”(检测、分割)。
7. 为什么不同任务表现不同?(根本原因总结)
以下是导致不同任务鲁棒性差异的核心原因:
1. 输出结构不同
- 分类:1 个向量
- 分割:数十万 logits
- 检测:bbox + 分类 + NMS 后处理
- OCR:序列预测
- 人脸:embedding 空间匹配
2. 损失函数复杂性不同
- CTC(OCR)最脆弱
- margin-based(ArcFace)对微扰动敏感
- IoU-based 回归难度高
3. 模型架构不同
- encoder-decoder(分割)更脆弱
- sequence model(OCR)对对齐敏感
- metric embedding(Face)容易被对齐偏移误导
4. 决策边界形状不同
- 分类边界密集
- 分割多维边界复杂
- Face embedding 的 margin 区域狭窄
- OCR 序列空间离散跳变
不同任务在对抗空间中的几何结构完全不同,导致脆弱性差异显著。
8. 总结
本章从五大视觉任务的角度分析了对抗攻击的特性:
- 分类:最容易攻击
- 检测:多任务结构导致链式脆弱性
- 分割:像素级预测导致全局坍塌
- OCR:CTC 对齐结构极易被破坏
- 人脸识别:embedding 空间攻击高度隐蔽且危险
理解这些差异,有助于后续设计:
- 更可靠的攻击方法
- 更合理的鲁棒性指标
- 更有针对性的防御策略