当前位置:首页 > 科研成果库

对抗样本防御不是一堵墙:从梯度掩蔽到可验证鲁棒性的工程笔记

2026-11-06 19:37:59小研科研成果库432

一次模型评审会上,检测模块在PGD-10攻击下拦住了99%的恶意样本。换自适应攻击,拦截面掉到12%。这个数字让我有点不安。不是模型突然变差,而是评估时那个“攻击者”太客气了!

对抗样本防御常被想成一堵墙:输入进来,过滤,干净了再送模型。工程里没这么顺。攻击者改的不是像素,是模型对像素的假设。防御要面对的,是一组不断变化的约束。

攻击者改的不是像素,是假设

对抗样本的经典设定很克制:在L∞或L2预算内加扰动,让分类器输出错误标签。FGSM用一次梯度符号步长制造误判,PGD把它拆成多步投影。它们利用的是高维输入空间里的局部线性——模型在训练分布附近对某些方向过于敏感。

威胁模型必须写清楚。白盒还是黑盒,目标还是非目标,数字域还是物理域,Lp预算是否对应人类感知,这些条件会改变结论。L∞半径0.03在CIFAR-10上可能肉眼难辨,在医学影像上却可能抹掉关键纹理。物理世界更麻烦:光照、角度、打印色差都会让扰动变形。EOT(期望变换)就是为这类场景准备的。

这里有个坑:很多防御论文在单一攻击下报告鲁棒准确率,却没说攻击者是否知道防御。梯度掩蔽会让白盒攻击失效,换迁移攻击或BPDA就露馅。掩蔽不是防御,它只是把梯度藏起来。

对抗样本防御实验中的干净图像与Lp像素扰动对比图对抗样本防御实验中的干净图像与Lp像素扰动对比图

别把检测率当成护城河

输入变换、去噪、特征压缩、异常检测,这些方法部署便宜,解释也顺。但它们大多属于启发式防线。JPEG压缩能破坏高频扰动,遇到低频或语义扰动就吃力。随机resize能增加攻击成本,面对EOT优化也会被平均掉。

检测器的问题更隐蔽。一个二分类检测网络在已知攻击上AUC很高,换自适应攻击——攻击者把检测器也纳入目标——漏检率会上升。原因不神秘:检测器和分类器共享相似的决策边界,攻击者只要让样本同时骗过两者。

所以,检测率不能单独当护城河。它需要和威胁模型绑定:攻击者是否查询检测器、是否有替代模型、是否允许多次迭代。没有这些条件,数字没有可比性。说实话,看到只报“检测率98%”的表格,我会先找攻击预算。

对抗训练不是银弹,它是税

对抗训练是目前较可靠的经验方法。把对抗样本混进训练集,让模型学会在扰动邻域内保持标签。PGD对抗训练在多个基准上提升了鲁棒准确率。代价也明确:训练成本上升,清洁样本精度下降,鲁棒性还会过拟合到训练时用的攻击。

“鲁棒性税”不是宣传词。它体现在延迟、算力、标注和模型容量上。对推荐系统或内容审核,在线对抗训练可能不可行,只能定期离线更新。对自动驾驶感知,训练时还要考虑传感器噪声和天气变换,否则鲁棒准确率只是数字游戏。

随机平滑提供另一条路:给输入加高斯噪声,再用多数投票给出预测,可以证明在L2半径内的鲁棒性。它的好处是认证,不是经验猜测。限制也硬:高维图像上可认证半径往往很小,语义扰动和L0稀疏扰动不在覆盖范围。认证半径大,不等于业务可用;半径小,也不等于没用,关键看威胁模型是否匹配。

对抗样本防御评估中的随机平滑认证半径与分类决策边界示意图对抗样本防御评估中的随机平滑认证半径与分类决策边界示意图

评估现场:自适应攻击才像真实世界

防御评估要尽量模拟攻击者的知识。白盒评估用自适应攻击,把防御的预处理、检测器、随机性都写进计算图;黑盒评估用迁移攻击和查询攻击;物理域评估加入EOT和拍摄变换。只跑FGSM或单步攻击,结论会偏乐观。

报告指标也要改。单点鲁棒准确率不够,较合适的是给出攻击预算—鲁棒准确率曲线,以及不同攻击下的方差。随机防御要多次采样,报告均值和置信区间。防御有随机性时,攻击者可以多次查询取期望,评估也要跟着做。

还有一条常被忽略:清洁精度和鲁棒精度之间的折中不是线性的。有些模型在低预算下鲁棒,预算一升高就塌。评估时给出曲线,比只报一个点诚实。

工程落地:把防御拆成几层慢慢谈

生产系统里,单点防御很难独立成立。较务实的做法是分层:输入侧做变换和异常检测,模型侧用对抗训练或随机平滑,运行时监控预测置信度和输入分布漂移,供应链侧审查第三方模型和权重。每层都有漏,但攻击成本被抬高。

风险也要说清。对抗训练可能让模型对某些自然分布更敏感;随机平滑的噪声参数选错会伤清洁精度;检测器本身可能被污染。部署前做红队测试,部署后持续采样攻击。防御不是一次训练,是持续谈判。

趋势上,可验证训练和基础模型鲁棒性值得关注,但别急着宣布问题解决。高维输入的可认证半径、物理世界变换、多模态攻击都还在。对抗样本防御更像一场关于假设的审计:先把威胁模型写对,再谈墙有多厚。