1. 课程导入

在自动驾驶、人脸识别、工业质检、医疗影像等安全敏感场景中,模型在测试集上取得 99% 的准确率,并不意味着它在真实世界中同样可靠。只要输入发生极其微小的、人眼几乎无法察觉的扰动,模型就可能给出完全错误的判断。这类被精心构造、用于欺骗模型的输入称为对抗样本(Adversarial Example);而另一类并非人为攻击、却因场景罕见或分布偏移导致模型失效的输入,则称为Corner Case(长尾/边角场景)。本课程要解决的,正是如何系统性地"制造"这两类样本,并用它们来度量、暴露和提升模型的鲁棒性。

一、核心定义:两种"让模型出错"的输入

对抗样本的核心特征是微小扰动 + 定向误导。给定一张原始图像 x 和真实标签 y,攻击者求解一个扰动 δ,使得 x+δ 在视觉上与原图几乎一致,但模型输出错误标签。数学上可写成约束优化问题:

max  L(f(x+δ), y_true)
s.t. ||δ||_p ≤ ε

其中:
  f        目标模型
  L        损失函数
  ε        扰动预算(如 8/255)
  p        范数类型(L∞、L2、L0)

Corner Case 则不同:它通常不追求扰动最小,而是追求场景稀有且语义合理。例如夜间逆光下的白色货车、被广告牌遮挡的交通标志、雨雪中模糊的车道线。它们来自真实世界的长尾分布,是数据覆盖不足的直接体现。二者的关键区别在于:对抗样本是"人为构造的分布外攻击",Corner Case 是"自然存在的分布边缘样本",但它们在工程上共享同一套生成、筛选与评测流程。

一句话区分:对抗样本问的是"模型能被多小的扰动骗到",Corner Case 问的是"模型在多少种真实罕见场景下会失效"。

二、课程整体框架与工程实践地图

本课程共 30 章,围绕"定义—生成—评测—闭环"四条主线展开。下图给出课程的整体工程地图,它同时是一张数据流与能力分层图:左侧是输入与威胁模型,中部是生成与增强引擎,右侧是评测与数据闭环,底部是贯穿全程的工具链与工程规范。

对抗样本与 Corner Case 生成工程地图 输入与威胁模型 → 生成与增强 → 评测与闭环 → 工具链支撑 输入与威胁模型 原始样本 x / 标签 y 图像·点云·文本·语音 威胁模型定义 白盒 / 黑盒 / 查询 扰动预算 ε 与范数 L∞ / L2 / L0 场景与传感器配置 相机·雷达·激光雷达 Corner Case 来源 长尾·遮挡·极端天气 生成与增强引擎 梯度攻击生成 FGSM · PGD · C&W 迁移与黑盒攻击 代理模型 · 查询优化 物理世界攻击 贴纸·光照·形变 Corner Case 挖掘 聚类·OOD·场景搜索 数据增强与合成 扩散模型·NeRF·仿真 样本筛选与去重 置信度·多样性·覆盖 生成策略编排:攻击强度 × 场景维度 × 评测目标 评测与数据闭环 鲁棒性指标 ASR · 准确率下降 对抗训练 min-max 鲁棒优化 失败归因分析 误检·漏检·定位漂移 数据回流与再训练 难例挖掘·版本迭代 安全上线门禁 阈值·回归·监控 贯穿全程的工具链与工程规范 PyTorch / Foolbox ART / CleverHans CARLA / 仿真平台 数据版本管理 DVC 评测流水线 CI / 回归集 数据回流:难例进入训练集,形成闭环迭代

三、学习目标:从"会调库"到"会设计评测体系"

完成本课程后,你应当具备以下能力:

  • 概念层:能准确区分对抗样本、Corner Case、分布外样本、自然扰动之间的边界与联系。
  • 方法层:能独立实现 FGSM、PGD、C&W 等经典攻击,并理解其优化目标与超参数含义。
  • 工程层:能搭建"生成—筛选—评测—回流"的自动化流水线,把攻击样本转化为可复用的鲁棒性测试集。
  • 场景层:能针对图像分类、目标检测、点云感知等不同任务,设计对应的 Corner Case 挖掘策略。
  • 治理层:能制定安全上线门禁指标,用数据说话,而不是凭感觉判断模型是否"够稳"。

四、典型场景:一个自动驾驶感知案例

假设你负责一个交通标志检测模型。测试集 mAP 达到 0.92,但路测中偶发漏检。通过本课程的方法,你可以这样定位问题:

  1. 用 PGD 在 ε=8/255 下生成对抗样本,发现"限速 80"被稳定识别为"限速 30",说明模型对高频纹理扰动敏感。
  2. 用场景搜索从路测数据中挖掘 Corner Case,发现逆光、雨夜、部分遮挡三类场景漏检率最高。
  3. 将两类样本合并为鲁棒性回归集,纳入 CI 流水线,每次模型更新自动跑一遍。
  4. 对失败样本做归因,区分是特征提取不足、训练数据缺失,还是后处理阈值不合理。
  5. 把难例回流到训练集,配合对抗训练,观察 mAP 与鲁棒准确率的权衡曲线。
工程提示:对抗样本与 Corner Case 不是两套独立流程。它们共享同一套"样本生成—筛选—评测—回流"基础设施,区别只在于样本来源和优化目标。把二者统一到一个平台,是团队效率最高的做法。

五、常见误区与复盘

误区 表现 正确做法
把对抗样本等同于噪声 随机加高斯噪声测试鲁棒性 使用梯度引导的定向扰动,噪声不等于对抗
只追求攻击成功率 ASR 很高但样本不可复用 同时关注扰动预算、视觉合理性与场景覆盖度
Corner Case 靠人工标注 成本高、覆盖窄、更新慢 用聚类、OOD 检测、仿真搜索自动挖掘
评测集与训练集同分布 指标虚高,上线即翻车 建立独立的鲁棒性回归集并持续扩充
忽略物理可实现性 数字攻击很强,实车无效 考虑光照、形变、打印色差等物理约束
复盘要点:鲁棒性不是一次性测试,而是持续迭代的工程能力。没有数据闭环的对抗样本生成,只是一次性的演示;只有把样本沉淀为回归资产,才能真正提升模型的安全边界。