3、对抗样本基础:定义、分类(白盒/黑盒/灰盒)、常见攻击类型(FGSM、PGD、C&W、DeepFool)
在TinyML的部署场景中,模型往往运行在资源受限的MCU或边缘处理器上,其输入直接来源于物理世界的传感器数据——摄像头帧、麦克风采样、IMU序列或雷达点云。与云端大模型不同,端侧模型缺乏隔离沙箱,攻击者可以物理接触设备,甚至直接操纵输入信号。对抗样本(Adversarial Examples)正是在这一背景下成为端侧AI安全的首要威胁:攻击者通过在原始输入上添加人眼难以察觉的微小扰动,使模型以高置信度输出错误结果。本章将系统梳理对抗样本的定义、攻击者知识分级(白盒/黑盒/灰盒),并深入剖析四种经典攻击算法(FGSM、PGD、C&W、DeepFool)的数学原理、实现路径与在TinyML场景下的适用性。
上图展示了对抗样本攻击的知识体系全貌。从攻击者掌握模型信息的程度来看,白盒、灰盒、黑盒构成了一个信息量递减的谱系;而从攻击算法来看,FGSM、PGD、C&W、DeepFool分别代表了从单步到迭代、从快速粗糙到精细优化的不同攻击策略。在TinyML场景中,由于模型经过量化压缩、剪枝等操作,其决策边界与原始模型存在偏移,这既可能削弱某些白盒攻击的迁移性,也可能因量化误差引入新的脆弱点。理解这些基础概念,是后续设计鲁棒性测试方案的前提。
3.1 对抗样本的定义与数学本质
对抗样本的严格定义可以表述为:给定一个分类模型 f: ℝn → {1,...,K},对于原始样本 x(真实标签为 ytrue),存在一个扰动向量 δ,使得构造的对抗样本 x' = x + δ 满足以下两个条件:
- 误分类条件:f(x') ≠ ytrue,即模型输出错误标签;
- 不可感知条件:‖δ‖p ≤ ε,其中 ε 是一个很小的阈值,通常使用 L∞、L2 或 L0 范数度量扰动大小。
从几何视角看,对抗样本的存在揭示了深度模型决策边界的高度非线性——在人类感知空间中相距甚远的两个点,在模型的特征空间中可能仅隔一条极窄的决策边界。Szegedy等人(2013)最早发现,通过有目的的优化,可以在原始样本附近找到大量对抗样本,且这些样本在不同模型间具有迁移性。这一发现颠覆了此前“模型泛化能力越强越鲁棒”的直觉认知。
核心原理提炼:对抗样本的本质是模型在输入空间中的局部线性假设失效。对于高维输入(如图像的像素、音频的采样点),即使每个维度只添加微小的扰动,累加后也可能将样本推过决策边界。TinyML模型由于参数量少、特征提取能力有限,其决策边界往往更加“粗糙”,更容易被定向扰动突破。
3.2 攻击者知识分级:白盒、黑盒与灰盒
攻击者掌握的信息量直接决定了攻击策略的选择与攻击成功率。下表对比了三种攻击场景的核心差异:
| 维度 | 白盒攻击 | 灰盒攻击 | 黑盒攻击 |
|---|---|---|---|
| 模型结构 | 完全已知(网络层数、激活函数、权重) | 部分已知(如模型类型、量化位宽) | 完全未知 |
| 梯度信息 | 可精确计算 | 不可直接获得,但可近似估计 | 不可获得 |
| 训练数据 | 可访问或可推断 | 可能有部分样本 | 仅能通过查询获取输出 |
| 典型攻击方法 | FGSM、PGD、C&W、DeepFool | 迁移攻击、蒸馏攻击 | ZOO(零阶优化)、边界攻击、HopSkipJump |
| TinyML场景适用性 | 适用于开发者自测、模型审计 | 适用于第三方安全评估 | 适用于物理世界攻击模拟 |
| 攻击成本 | 低(计算梯度即可) | 中(需训练替代模型) | 高(大量查询) |
在TinyML实践中,白盒攻击通常用于开发阶段的鲁棒性验证——开发者拥有模型权重,可以快速评估模型对特定扰动的敏感度。黑盒攻击则更贴近真实威胁场景:攻击者可能仅通过设备的物理接口(如摄像头、麦克风)输入数据,观察设备输出(如分类标签、置信度分数),从而逐步构造对抗样本。灰盒攻击介于两者之间,例如攻击者知道目标设备使用的是MobileNetV2量化模型,但不知道具体权重,此时可以训练一个结构相似的替代模型来生成对抗样本,再迁移到目标设备上。
风险提示:在TinyML场景中,黑盒攻击的查询成本可能被低估。端侧设备通常没有日志系统,攻击者每次查询只能通过观察设备行为(如LED指示灯、屏幕显示)来获取结果,这大大降低了攻击效率。然而,如果攻击者能够物理接触设备并提取固件(通过JTAG或UART接口),则可能直接获得模型权重,将黑盒攻击升级为白盒攻击。
3.3 常见攻击类型详解
3.3.1 FGSM(Fast Gradient Sign Method)
FGSM由Goodfellow等人于2014年提出,是最早的对抗攻击算法之一。其核心思想是利用模型损失函数对输入的梯度方向,沿梯度上升方向添加扰动,使损失增大。数学表达式为:
x' = x + ε · sign(∇_x J(θ, x, y_true))
其中,J 是损失函数(如交叉熵),θ 是模型参数,ε 是扰动幅度。FGSM的关键在于“符号”操作——只取梯度的方向,忽略幅值,这使得扰动在L∞范数约束下达到最大效果。FGSM是单步攻击,计算效率极高,在TinyML的MCU上甚至可以在毫秒级完成一次攻击样本生成。
TinyML适用性分析:FGSM适合快速评估模型的基线鲁棒性。例如,在部署关键词唤醒(KWS)模型时,开发者可以用FGSM生成一批扰动样本,测试模型在ε=0.05、0.1、0.2下的准确率下降曲线。但FGSM的攻击成功率相对有限,容易被对抗训练防御。
3.3.2 PGD(Projected Gradient Descent)
PGD是FGSM的迭代增强版,由Madry等人(2017)提出。它通过多步小步长更新,并在每步后将扰动投影回允许的ε-ball内,从而在约束空间内寻找更优的对抗扰动。算法流程如下:
初始化: x_0 = x + U(-ε, ε) # 随机起始点
循环 t = 0 to T-1:
x_{t+1} = Π_{B_ε(x)} (x_t + α · sign(∇_x J(θ, x_t, y_true)))
其中 α 为步长,通常 α = ε/4 或 ε/10,T 为迭代次数(通常10~40)
PGD被称为“最强一阶攻击”,因为它在L∞或L2约束下能够稳定地找到比FGSM更强的对抗样本。在TinyML场景中,PGD常用于评估模型在持续攻击下的鲁棒性上限。但需要注意,PGD的计算开销是FGSM的T倍,在资源受限的端侧设备上,实时生成PGD对抗样本可能不现实,更适合在离线阶段进行模型鲁棒性验证。
3.3.3 C&W(Carlini-Wagner)攻击
C&W攻击由Carlini和Wagner于2017年提出,是一种基于优化的攻击方法。与FGSM/PGD直接最大化损失不同,C&W将对抗样本构造转化为一个约束优化问题:
最小化 ‖δ‖_p + c · f(x + δ)
使得 x + δ ∈ [0,1]^n(输入有效范围)
其中 f(x') = max(max_{i≠y_true} Z(x')_i - Z(x')_{y_true}, -κ)
Z(x') 是模型softmax前的logits输出,κ 是置信度参数
C&W攻击的核心优势在于:它显式地优化扰动范数,能够生成扰动极小且攻击成功率极高的对抗样本。在L2范数下,C&W生成的扰动往往比FGSM小一个数量级。然而,C&W的优化过程需要数百次迭代,计算成本极高,在TinyML的MCU上几乎不可能实时运行。但在离线安全评估中,C&W可以作为“金标准”来衡量模型的理论鲁棒性下限。
3.3.4 DeepFool
DeepFool由Moosavi-Dezfooli等人(2016)提出,其思想是从几何角度逼近决策边界。对于二分类问题,DeepFool通过迭代线性化决策边界,计算当前样本到边界的最小距离,并沿垂直方向移动。对于多分类问题,则找到最近的其他类别边界。DeepFool的独特价值在于它能够估计模型的“鲁棒性度量”——即平均最小扰动距离,这一指标比单纯的成功率更能反映模型的稳健程度。
在TinyML场景中,DeepFool可用于比较不同量化位宽(如INT8 vs INT16)对模型鲁棒性的影响。实验表明,量化后的模型其DeepFool最小扰动距离通常小于浮点模型,说明量化过程本身可能引入额外的脆弱性。
3.4 攻击算法对比与选择策略
| 算法 | 扰动范数 | 迭代次数 | 攻击强度 | 计算开销 | TinyML典型用途 |
|---|---|---|---|---|---|
| FGSM | L∞ | 1 | 中 | 极低 | 快速基线测试、在线监控 |
| PGD | L∞/L2 | 10~40 | 高 | 中 | 离线鲁棒性评估、对抗训练 |
| C&W | L0/L2/L∞ | 100~1000 | 极高 | 高 | 安全审计、最小扰动测量 |
| DeepFool | L2 | 取决于边界复杂度 | 高 | 中高 | 鲁棒性度量、模型对比 |
3.5 实战场景:TinyML语音命令识别模型的对抗鲁棒性测试
我们以一个实际的TinyML项目为例,说明如何综合运用上述攻击算法进行鲁棒性评估。假设我们部署了一个基于MobileNetV1的20类语音命令识别模型(关键词:yes/no/up/down/left/right/on/off/stop/go等),模型已量化为INT8,运行在Cortex-M7内核的MCU上,主频400MHz,RAM 512KB。
初始现象:在实验室环境下,模型准确率达到94.2%。但在实际使用中,用户反馈在嘈杂环境下经常误触发。初步排查发现,背景噪声中的某些频率成分可能被模型误识别为关键词。
测试目标:量化模型对微小扰动的敏感度,找出最脆弱的类别,并验证防御策略的有效性。
测试步骤:
- 白盒FGSM基线测试:使用开发板上的模型权重,对1000个测试样本分别施加ε=0.05、0.1、0.2的FGSM扰动。结果显示,ε=0.1时准确率降至71.3%,ε=0.2时降至43.8%。其中“yes”和“no”两个类别最容易受到攻击。
- PGD迭代攻击:对同一批样本执行PGD攻击(T=20, α=0.01, ε=0.1),准确率进一步降至52.6%。这表明FGSM低估了模型的脆弱性。
- DeepFool最小扰动测量:计算每个样本的最小扰动距离,发现“stop”类别的平均最小扰动距离仅为0.032,远低于其他类别(平均0.087)。这说明模型对“stop”的决策边界特别狭窄。
- 黑盒模拟:假设攻击者不知道模型结构,仅通过设备麦克风输入音频并观察LED指示灯(表示识别结果)。使用零阶优化方法(如NES)进行查询攻击,经过约5000次查询后,成功构造出使模型误识别为“yes”的对抗音频。
结果对比与防御决策:
| 攻击方式 | 攻击前准确率 | 攻击后准确率 | 平均扰动幅度 |
|---|---|---|---|
| FGSM (ε=0.1) | 94.2% | 71.3% | 0.1 |
| PGD (ε=0.1, T=20) | 94.2% | 52.6% | 0.1 |
| C&W (L2, 迭代500) | 94.2% | 38.4% | 0.043 |
| DeepFool (最小扰动) | 94.2% | — | 0.032~0.087 |
复盘经验:该测试揭示了三个关键问题:第一,模型对特定类别(如“stop”)的鲁棒性显著低于平均水平,需要在数据增强中增加该类别的噪声样本;第二,INT8量化使模型对扰动的敏感度比浮点模型高约15%(对比测试得出),因此在量化时需要引入量化感知训练;第三,黑盒攻击虽然查询次数多,但在物理世界中完全可行,不能因为“攻击成本高”而忽视。
实践建议:在TinyML开发流程中,建议将对抗样本测试纳入CI/CD流水线。每次模型更新后,自动运行FGSM(快速)和PGD(慢速但全面)测试,设定准确率下降阈值(如不超过5%)。对于安全关键应用(如医疗设备、工业控制),还需额外执行C&W攻击以评估最坏情况。
3.6 常见误区与总结
误区一:认为对抗样本只影响图像识别。实际上,音频、振动、雷达、温度传感器等所有端侧输入都可能被对抗扰动。TinyML中常见的误触发问题,很多本质上就是自然发生的“对抗样本”。
误区二:认为量化模型更鲁棒。量化虽然引入噪声,但这种噪声是确定性的,攻击者可以通过模拟量化过程来生成有效的对抗样本。实验表明,量化模型的决策边界更不规则,反而可能更容易被定向攻击。
误区三:混淆“准确率”与“鲁棒性”。一个在干净测试集上准确率99%的模型,可能在微小扰动下准确率骤降至30%。鲁棒性必须通过对抗样本测试来单独评估。
误区四:忽视物理世界约束。数字域生成的对抗样本在通过麦克风、摄像头等传感器转换后,扰动可能被削弱或变形。TinyML攻击测试应尽可能在真实物理环境中验证,而非仅停留在仿真阶段。