news 2026/5/12 12:14:12

深度学习对抗攻防:从FGSM、PGD攻击到对抗训练与可证明防御

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习对抗攻防:从FGSM、PGD攻击到对抗训练与可证明防御

1. 对抗性攻防:深度学习的“矛”与“盾”

如果你在自动驾驶汽车上工作,或者负责一个人脸识别系统的安全,那么“对抗性攻击”这个词可能会让你在深夜惊醒。这并非危言耸听,而是深度学习模型在现实世界部署时,必须直面的核心安全挑战。简单来说,一个经过千锤百炼、在测试集上达到99.9%准确率的图像分类模型,可能仅仅因为一张图片被添加了人眼几乎无法察觉的微小噪声,就突然将“停车标志”识别为“限速标志”,或将某个特定人物识别为另一个人。这种精心构造的、旨在欺骗AI模型的输入,就是“对抗样本”。而围绕生成对抗样本的“攻击”与保护模型免受其害的“防御”,构成了一个充满博弈与创新的前沿领域。

这个领域的核心矛盾在于模型的“准确性”与“鲁棒性”之间的权衡。一个在干净数据上表现优异的模型,其决策边界可能非常复杂且脆弱,高维空间中的一个微小扰动就足以让它“翻车”。对抗性攻击正是利用了深度神经网络在高维特征空间中的这种“线性”或“非线性”的脆弱性。从技术原理上看,无论是早期的快速梯度符号法(FGSM),还是后来更强大的投影梯度下降(PGD)攻击,其本质都是沿着模型损失函数的梯度方向,对输入进行有目的的微小扰动,使得模型的输出朝着错误的方向变化。

那么,我们该如何为模型穿上“盔甲”?目前业界公认最有效的基础范式是“对抗性训练”。它的思想直接而有力:既然攻击者会用对抗样本来攻击,那我们在训练模型时,就主动把这些“坏例子”喂给它学习。通过在训练循环中动态生成对抗样本并与其对应的正确标签一起训练,模型被迫学会在扰动下依然保持正确的判断,从而学习到一个更平滑、更鲁棒的决策边界。这好比让士兵在充满硝烟和复杂地形的环境中进行实战演习,而非仅仅在平静的靶场训练。近年来,这一领域的研究已经从基础的对抗训练,扩展到可证明防御、输入净化、对抗样本检测、以及针对特定任务和模型结构的专用防御等多个维度。本文将深入拆解这些前沿技术,不仅告诉你“是什么”,更重点剖析“为什么”以及“怎么做”,并结合一线实践中的经验与陷阱,为你呈现一幅清晰的对抗性攻防技术地图。

2. 对抗性攻击技术全景与演进剖析

2.1 攻击范式的分类与核心思想

对抗性攻击可以根据攻击者所掌握的目标模型信息量,清晰地划分为白盒攻击、黑盒攻击和物理世界攻击。理解这种分类是理解整个领域的基础。

白盒攻击是攻击者的“理想情况”。在这种设定下,攻击者拥有目标模型的全部知识,包括模型结构、参数、训练数据分布,以及最重要的——能够计算模型相对于输入的梯度。基于梯度的攻击是白盒攻击的主流,其核心思想可以概括为:将原始输入$x$沿着损失函数$J(\theta, x, y_{true})$相对于$x$的梯度$\nabla_x J$方向移动一小步,从而最大化损失,使模型预测出错。经典的FGSM攻击就是一步到位:$x_{adv} = x + \epsilon \cdot sign(\nabla_x J(\theta, x, y_{true}))$,其中$\epsilon$是扰动大小的约束。而PGD攻击则是FGSAM的迭代加强版,它在每次迭代中施加扰动并进行投影,确保扰动始终在规定的范数球(如$\ell_\infty$球)内,从而生成更强的攻击。白盒攻击揭示了模型内在的脆弱性,是评估模型鲁棒性的“压力测试”黄金标准。

黑盒攻击则更贴近现实威胁。攻击者无法获知模型内部细节,只能通过向模型提交输入并观察其输出(如预测标签或置信度分数)来进行交互。这又分为两种子类型:基于迁移的攻击和基于查询的攻击。基于迁移的攻击依赖于一个关键观察:在一个模型上生成的对抗样本,经常能成功欺骗另一个结构或训练数据不同的模型。攻击者会训练一个自己的替代模型,在替代模型上执行白盒攻击生成对抗样本,然后希望这些样本能迁移到黑盒目标模型上。为了提升迁移性,研究者们提出了多种技巧,例如动量迭代、输入多样性(随机调整大小、填充)、特征层扰动等,其核心在于让生成的扰动更偏向于数据流形本身而非特定模型的过拟合特征。基于查询的攻击则更具针对性,它通过反复查询目标模型,根据反馈(如决策边界、置信度)来迭代优化对抗扰动。边界攻击、HopSkipJumpAttack等是这类方法的代表,它们通常从一个大扰动开始,逐步向决策边界收缩,同时保持攻击有效性。黑盒攻击的评估常以降低目标模型准确率所需的查询次数或迁移成功率为指标。

物理世界攻击将数字世界的威胁延伸至现实。攻击者需要生成在物理条件下(如不同光照、角度、距离、相机噪声下)依然有效的对抗扰动。这带来了巨大挑战:数字图像上的微小像素变化,在打印、拍摄后可能完全失效。因此,物理攻击往往需要生成更具鲁棒性的模式,例如对抗性补丁(一张可打印并贴在物体上的贴纸)、对抗性涂鸦,甚至通过特殊的光照或投影来干扰摄像头。这类攻击在自动驾驶(误导交通标志识别)、人脸识别门禁等场景下具有切实的安全风险。评估物理攻击需要在模拟或真实物理环境中进行,考虑各种变换的期望 over Expectation over Transformation, EoT)是常用的方法,即在优化扰动时,就考虑进一系列可能的物理变换。

2.2 攻击目标的深化与扩展

早期的攻击大多聚焦于图像分类任务,追求在$\ell_p$范数约束下以最小扰动实现误分类。但随着研究深入,攻击的目标和形态变得更加多样和复杂。

目标性攻击与非目标攻击:非目标攻击只要求模型预测错误,而目标攻击则要求模型将输入错误分类为一个指定的目标类别。目标攻击的难度通常更高,因为它需要将样本“推”向一个特定的错误区域。

稀疏攻击与语义攻击:传统攻击通常对整张图像的许多像素做微小修改。稀疏攻击则反其道而行之,只修改极少数像素(甚至一个像素),但修改幅度可以很大。这种攻击更具隐蔽性,因为人类更容易注意到遍布全图的微弱噪声,而非几个明显异常的像素点。语义攻击则跳出了加性噪声的范式,通过对图像进行符合物理意义的修改(如改变物体颜色、添加眼镜贴纸、调整姿态)来实施欺骗。这类攻击更自然,也更难防御。

超越分类任务:攻击的矛头已指向几乎所有视觉任务。在目标检测中,攻击可能旨在让检测器漏掉特定物体(如使自动驾驶看不见行人)或产生大量误检。在图像分割中,攻击可以扰乱特定区域的分类。对于图像描述生成模型,攻击可能误导其生成完全错误的描述语句。甚至对于深度估计、光流预测等底层视觉任务,也存在相应的对抗攻击方法。这要求防御技术也必须具备任务适应性。

模型窃取与投毒攻击:除了干扰推理过程,攻击还可能发生在模型的生命周期其他阶段。模型窃取攻击通过大量查询,试图复现或近似目标模型的功能。投毒攻击则在模型训练阶段注入恶意数据,从而在模型内部埋下“后门”,使得模型在正常样本上表现良好,但遇到带有特定触发器的样本时就会执行恶意行为(如错误分类)。这类攻击对联邦学习等分布式训练范式构成了严峻挑战。

实操心得:评估攻击时的关键陷阱在研究和实践中评估攻击方法时,一个常见的陷阱是“过拟合评估”。许多论文在报告黑盒迁移攻击成功率时,使用与目标模型相同数据集(如ImageNet)训练的替代模型。严格来说,这并不完全符合“对目标模型一无所知”的黑盒假设,因为攻击者知晓了数据分布。更严谨的设置应使用完全不同领域数据训练的模型作为替代模型,或使用基于查询的方法。另一个陷阱是忽视计算成本。一些基于优化的攻击方法(如某些决策边界攻击)可能需要数万次模型查询才能生成一个样本的对抗扰动,这在面对需要实时响应的在线系统时是不现实的。因此,在评估时,除了攻击成功率,还必须报告查询复杂度或时间开销。

3. 对抗性防御的核心策略与实战解析

面对层出不穷的攻击,防御技术也在不断进化。我们可以将主流防御策略分为四大类:对抗训练、输入预处理、对抗样本检测以及可证明防御。其中,对抗训练是目前公认最有效、最根本的防御基石。

3.1 对抗性训练:从基础范式到高级优化

对抗性训练的核心优化目标可以形式化为一个极小极大问题: $$\min_\theta \mathbb{E}{(x,y)\sim\mathcal{D}} \left[ \max{\delta \in \Delta} L(\theta, x+\delta, y) \right]$$ 其中,内层最大化负责寻找当前模型参数$\theta$下,在扰动约束集$\Delta$(如$|\delta|_\infty \leq \epsilon$)内能使损失$L$最大的对抗扰动$\delta$;外层最小化则更新模型参数$\theta$,以最小化在最坏扰动下的期望损失。这相当于让模型在最恶劣的环境下学习。

基础实现与挑战:最直接的实现是在每个训练批次中,为每个干净样本$x$用PGD等方法生成对抗样本$x_{adv}$,然后用$(x_{adv}, y)$来计算梯度并更新模型。然而,这种方法计算代价高昂,因为每一步训练都需要多次前向和反向传播来生成对抗样本。Wong等人(2020)的工作指出,在某些设置下,使用单步的FGSM攻击配合随机初始化,可以达到与多步PGD相近的鲁棒性,且训练速度大幅提升,这为快速对抗训练提供了新思路。但后续研究也指出,这种方法可能不够稳定,对超参数敏感。

对抗训练中的关键优化技术

  1. 课程学习与早停策略:一开始用较弱的攻击(小$\epsilon$)训练,逐步增加攻击强度,有助于模型更稳定地收敛到鲁棒解。同时,监控模型在干净样本和对抗样本上的验证集性能,适时早停,可以缓解鲁棒性过拟合问题——即模型在训练对抗样本上鲁棒性持续提升,但在新的对抗样本上性能却下降。
  2. 损失函数设计:除了标准的交叉熵损失,研究者尝试了如TRADES损失,它明确权衡了干净样本上的准确率和对抗样本上的鲁棒性:$L = L_{CE}(f(x), y) + \beta \cdot KL(f(x) | f(x_{adv}))$,其中KL散度项鼓励模型对干净样本和对抗样本的输出分布保持一致。还有MMA损失,旨在直接最大化到决策边界的最小边际。
  3. 模型权重扰动:Wu等人(2020)提出的对抗性权重扰动(AWP)指出,许多提升对抗训练的技术(如早停、新损失函数)隐式地使得权重空间的损失景观更加平坦。他们显式地对模型权重施加扰动并进行优化,直接正则化权重损失景观的平坦性,从而提升了模型的鲁棒泛化能力。
  4. 利用额外数据与自监督:对抗训练通常会导致模型在干净数据上的标准准确率下降,即鲁棒性-准确性权衡。使用大量无标签数据进行自监督预训练,或在对抗训练中混合使用无标签数据,被证明可以缓解这一问题。例如,通过对比学习让模型学习对扰动不变的表示,然后再进行下游任务的微调,能获得更好的鲁棒性起点。

注意事项:对抗训练的实践陷阱

  • 计算开销:标准的PGD对抗训练可能使训练时间增加5-10倍。在生产环境中,需要仔细权衡鲁棒性需求与训练成本。可以考虑在训练后期或对关键模型才启用强对抗训练。
  • 超参数敏感:扰动大小$\epsilon$、攻击步数、步长等超参数对最终模型的鲁棒性-准确性平衡有巨大影响。需要进行细致的网格搜索或基于验证集的调优。
  • 泛化问题:用$\ell_\infty$范数约束训练出的模型,可能对$\ell_2$或$\ell_1$攻击依然脆弱。近年来,针对多范数威胁模型的对抗训练(如“Max”训练)成为一个研究热点,但计算成本更高。
  • 标签泄露:在生成对抗样本时,如果错误地使用了模型当前的预测标签而非真实标签,可能导致训练失效,因为模型会学习去拟合一个自我实现的错误。

3.2 模型结构修改与正则化

除了在训练过程中“喂”对抗样本,直接修改模型结构或引入特定的正则化项,也是提升内在鲁棒性的重要途径。

激活函数与损失函数改造:有研究尝试用非连续性的激活函数(如k-Winner-Take-All)替代ReLU,以阻断基于梯度的攻击传播。也有工作提出用Max-Mahalanobis中心损失替代交叉熵损失,旨在让同类特征更紧凑、异类特征更分离,从而在特征空间留下更大的安全边际。

噪声注入与随机化:在训练或推理时,向网络中间层的激活值或权重注入噪声,可以平滑模型的决策函数,增加攻击者寻找有效梯度的难度。例如,随机自集成方法在测试时对同一输入进行多次噪声扰动并平均预测结果。参数化噪声注入更进一步,将噪声的分布也作为可学习参数进行优化。

特征去噪与净化:Xie等人(2019)的工作观察到,对抗扰动会在网络的特征图中产生噪声。因此,他们在网络结构中插入非局部均值去噪块等特征去噪模块,试图在特征层面净化对抗扰动的影响。这类方法相当于在模型内部构建了“净化层”。

神经架构搜索(NAS)用于鲁棒性:传统的网络架构(如ResNet、DenseNet)是为标准准确率设计的,未必对鲁棒性最优。因此,有研究开始利用NAS自动搜索对抗鲁棒的架构。例如,通过定义鲁棒性相关的奖励函数(如PGD攻击下的准确率),让搜索算法发现对扰动不敏感的网络连接模式。

3.3 输入变换与对抗样本检测

这类方法属于“外部加固”,不对核心模型进行修改,而是在输入进入模型前进行预处理,或在模型输出后进行后处理判断。

输入变换:核心思想是在模型推理前,对输入进行某种变换以消除或减弱对抗扰动,例如JPEG压缩、图像去噪、随机裁剪、色彩空间变换等。这些变换假设对抗扰动是高频的、不自然的,而自然图像信号在经过变换后能大部分保留。一个高级的变种是使用生成对抗网络(GAN)学习一个从对抗样本到干净样本的映射(如Defense-GAN)。这类方法的优势是部署灵活,可以与任何预训练模型结合。但其弱点也很明显:首先,变换本身可能损害干净样本的准确率;其次,攻击者如果知道防御所用的变换,可以针对性地生成能抵抗该变换的对抗样本(即自适应攻击)。

对抗样本检测:这类方法不试图纠正对抗样本的预测,而是试图将它们识别出来并拒绝服务。其思路是寻找对抗样本与干净样本在统计特性上的差异。例如,分析模型内部神经元的激活路径、检查预测置信度的分布、利用贝叶斯神经网络的不确定性估计,或者训练一个专门的二分类检测器。然而,检测方法面临的根本挑战是,对抗样本与干净样本的分布在输入空间可能高度重叠,且检测器本身也可能被攻击。Tramer等人(2020)的研究表明,许多检测防御在考虑到自适应攻击时会被绕过。

3.4 可证明防御:追求理论安全保障

前述的防御大多是经验性的,即通过实验验证它们在当前已知攻击下的有效性,但无法保证抵御未来未知的、更强的攻击。可证明防御则旨在提供数学上的严格保证:对于给定的输入$x$和扰动范围$\Delta$(如$\ell_2$球),证明模型在该范围内所有可能的扰动下都不会改变其预测。

随机平滑:这是目前最流行且可扩展的可证明防御框架。其核心思想很简单:对于一个基础分类器$f$,构建一个平滑分类器$g$,使得$g(x) = \arg \max_c \mathbb{P}_{\eta \sim \mathcal{N}(0, \sigma^2I)}(f(x+\eta)=c)$。即,对于输入$x$,多次添加高斯噪声$\eta$并查询基础分类器$f$,将出现次数最多的类别作为平滑分类器$g$的预测。Cohen等人(2019)证明,这样的$g$在$\ell_2$范数下具有可证明的鲁棒半径。后续工作如MACER,通过优化训练过程来最大化这个可证明半径。

其他可证明方法:包括基于线性规划或混合整数规划的方法,它们通过将网络(特别是ReLU激活)编码为一系列线性约束,然后求解最坏情况下的输出。这类方法可以提供精确的保证,但计算复杂度随网络规模指数增长,难以应用于大型网络。基于区间界传播的方法则通过计算每一层激活值的上下界来保守地估计输出范围,效率更高但提供的保证可能不够紧致。

实操心得:如何选择防御策略?

  1. 首要考虑威胁模型:你的系统面临白盒还是黑盒威胁?攻击者能进行多少次查询?扰动在物理世界是否可行?明确威胁模型是选择防御的第一步。
  2. 对抗训练是基石:对于需要高安全级别的核心系统,对抗训练应该是首选。它提供了最根本的鲁棒性提升。可以从快速的单步对抗训练开始,再逐步过渡到更强的多步训练。
  3. 可证明防御用于关键场景:在自动驾驶、医疗诊断等失败成本极高的领域,应考虑结合可证明防御(如随机平滑),以获得确定性的安全边界,哪怕这会牺牲一些标准准确率。
  4. 输入变换作为补充:对于已部署的、无法重新训练的模型,输入变换是快速部署防御的可行方案。但务必评估其对正常性能的影响,并意识到其可能被自适应攻击绕过。
  5. 检测方法需谨慎:将检测作为唯一防线风险较高。更适合作为深度防御中的一层,用于预警或触发更严格的审查流程。
  6. 进行自适应攻击评估:评估防御时,绝不能只使用标准的PGD或FGSM攻击。必须设计考虑了你防御机制的自适应攻击(例如,攻击者知道你在用JPEG压缩,他就会在生成扰动时模拟JPEG压缩的效果)。否则,防御效果可能是虚假的。

4. 前沿趋势、挑战与未来展望

4.1 当前研究的热点与挑战

鲁棒性与准确性的根本权衡:大量研究表明,提升对抗鲁棒性往往伴随着模型在干净数据上标准准确率的下降。这似乎是一个内在的权衡。理论分析试图从表示学习、流形几何等角度理解这一现象。在实践中,如何设计更高效的训练算法或模型架构来缓解这一矛盾,是核心挑战之一。

从$\ell_p$威胁模型到语义威胁模型:传统研究大多关注在$\ell_p$范数约束下的微小扰动。然而,现实世界的攻击可能更“语义化”,例如改变图像中物体的纹理、颜色或姿态,这些变化用$\ell_p$范数衡量可能很大,但人类看来依然自然。如何定义和防御这类语义攻击,是一个更困难但更实际的问题。

黑盒攻击的实用化与查询效率:基于查询的黑盒攻击正变得越来越高效。如何设计更少的查询就能实现高攻击成功率的算法,是攻击方研究的热点。相应地,如何设计对查询攻击鲁棒的模型,例如通过随机化或检测异常查询模式,则是防御方的重点。

可证明防御的扩展与提速:随机平滑目前主要适用于$\ell_2$威胁模型,且认证半径通常较小。将其扩展到$\ell_\infty$等其他范数,以及提升认证的紧致性和计算效率,是当前可证明防御研究的主要方向。同时,如何将可证明防御与经验性防御(如对抗训练)结合,以获得既强又快的鲁棒性,也是一个活跃领域。

跨任务与跨模态的对抗攻防:研究不再局限于图像分类。目标检测、语义分割、深度估计、强化学习、图神经网络、乃至多模态模型(视觉-语言模型)都成为了攻防的战场。不同任务有其独特的挑战,例如,攻击目标检测器需要同时考虑定位和分类的误差。

4.2 物理世界部署的实践考量

将实验室的攻防研究应用到真实物理系统,面临巨大鸿沟。

传感器与环境的复杂性:摄像头的光学畸变、自动白平衡、压缩编码;激光雷达的点云稀疏性和噪声;这些传感器特性都会影响数字对抗扰动到物理世界的转换效果。攻击和防御都必须考虑这些因素。EoT方法通过在优化中模拟这些变换,是生成物理可转移扰动的关键。

实时性要求:许多应用(如自动驾驶)要求毫秒级的推理延迟。复杂的防御机制,如多次采样的随机平滑或复杂的输入变换链,可能无法满足实时性要求。需要在鲁棒性和延迟之间做出工程折衷。

系统级安全:对抗鲁棒性只是AI系统安全的一环。还需要考虑数据投毒、模型窃取、后门攻击、成员推理攻击等其它威胁。一个健壮的系统需要纵深防御策略。

4.3 对未来研究与工程实践的建议

从我个人的实践经验来看,这个领域正在从纯粹的学术博弈走向工程化落地。对于研究者,我建议更多关注可扩展性实用性。例如,设计计算开销更小的对抗训练算法,研究对多种扰动范数同时鲁棒的模型,或者探索在数据稀缺场景下的鲁棒性提升方法。对于工程师,首要任务是建立评估基准。不要盲目部署未经严格评估的防御。建立一个包含多种攻击(白盒、黑盒、迁移、查询、物理模拟)的评估流程至关重要。其次,理解业务风险。并非所有应用都需要同等级的鲁棒性。一个内容推荐系统被对抗攻击误导的后果,与一个医疗诊断系统被误导的后果截然不同。防御的投入应与风险相匹配。

最后,必须认识到,对抗性攻防是一场持续的“军备竞赛”。不存在一劳永逸的绝对防御。因此,构建一个能够持续监控、检测异常、并具备快速更新模型能力的AI系统运维体系,与研发具体的防御技术同等重要。将对抗鲁棒性纳入模型开发的生命周期(从数据收集、架构设计、训练到部署监控),才是构建真正可靠人工智能系统的长远之道。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 12:13:54

基于PPG信号与深度学习的血管健康年龄评估技术详解

1. 项目概述:从脉搏跳动中“看见”年龄与健康大家好,我是老王,一个在医疗健康技术领域摸爬滚打了十几年的工程师。这些年,我亲眼见证了各种穿戴设备从简单的计步器,进化到能监测心率、血氧,再到今天&#x…

作者头像 李华
网站建设 2026/5/12 12:12:57

计算机视觉实战地图:从任务选型到工业落地的12个生死节点

1. 这不是教科书里的“计算机视觉概览”,而是一线工程师每天在调参、改数据、修标注框时真正用得上的实战地图 “Computer Vision Tasks & Applications”这个标题听起来像大学课程大纲,或者某本厚达800页的英文教材第一章。但如果你正坐在工位上&am…

作者头像 李华
网站建设 2026/5/12 12:11:27

前端性能优化终极指南:从毫秒级加载到60fps渲染

测试眼中的性能,不止是“快”对于软件测试从业者而言,“性能”从来不是一个模糊的形容词。它是实验室里精确到毫秒的响应时间,是性能面板上那条必须压平的曲线,更是用户主观感受与客观指标之间的博弈。当我们谈论前端性能优化时&a…

作者头像 李华
网站建设 2026/5/12 12:09:44

中心化数字资产交易平台安全治理与风险防控研究

摘要 当前数字资产交易行业进入深度合规与安全重构期,交易所安全事件频发引发用户资产信任危机。本文以 MEXC 平台安全实践与行业公开数据为研究样本,围绕中心化交易所(CEX)面临的储备透明度、账户安全、钓鱼欺诈、密钥管理、系统…

作者头像 李华