静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-07-22 01:56

当相机抖了一下:给神经网络的"防抖"能力开一张证书

想象一个场景:你正坐在自动驾驶汽车里,车辆以120公里的时速驶过一段颠簸的山路。突然,路标上有一个"前方施工"的警告。但就在这一瞬间,车身剧烈颠簸,车载摄像头的画面糊成了一团——这个"糊"的瞬间,对于负责识别路标的神经网络来说,可能就是灾难性的。

2020年NeurIPS上有一篇论文叫《Watch out! Motion is Blurring the Vision of Your Deep Neural Networks》,实验发现:仅仅是因为相机抖动产生的运动模糊,就能让ImageNet上表现优异的分类器准确率掉到原来的三分之一。这不是对抗样本——攻击者精心构造的像素级扰动——而是物理世界中每天都在发生的现象。

问题来了:我们怎么保证神经网络在"画面糊了"的情况下依然正确判断?

经验鲁棒性 vs. 可证明鲁棒性

业界已有一些常见做法。数据增强(Data Augmentation)会在训练时人为加入模糊图像,让模型"见过世面"。对抗训练(Adversarial Training)更进一步,在训练过程中主动搜索能骗过模型的最坏情况扰动,然后把这些"难题"喂给模型学习。

这些方法确实有效,但它们有一个共同的硬伤:只能证明"我试过了",不能证明"我安全了"

打个比方。数据增强和对抗训练就像消防演习——你模拟了各种火情,训练了队员的应对能力。但消防演习通过并不意味着你的大楼就"防火认证"了。真正给你防火证书的,是建筑工程师对着图纸一条条核算耐火极限、疏散距离、防火分区后签字盖章的那张纸。

在神经网络的世界里,这张"证书"来自形式化验证(Formal Verification)。给定一类扰动(比如所有强度不超过ε的运动模糊),验证器会数学地证明:无论扰动具体长什么样,模型的输出都不会变。这种保证叫做可验证鲁棒性(Certified Robustness)

卷积扰动的魔法编码

这篇论文的核心技术挑战,在于如何高效地"编码"卷积扰动。

运动模糊、盒模糊、锐化……这些图像扰动本质上都是卷积操作——用一个小的核(kernel)在图像上滑动求和。核的形状决定了模糊的类型,核的强度决定了模糊的程度。

之前的验证工作主要针对$L_\infty$扰动(也叫白噪声扰动)——每个像素都可以独立地在一个小范围内变化。这种扰动的编码很简单:每个像素值有一个区间,区间运算就能搞定。

但卷积扰动完全不同。它不是每个像素独立变化,而是整张图像被一个核"抹"了一下。如果你用传统方法去编码这种扰动,会发现它其实是一个低维结构的扰动——核只有$s \times s$个参数,但它影响的是整张$H \times W$的图像。

直接用高维区间编码会非常松(loose bound),就像你用一个大箱子去装一根细长的棍子——箱子体积远大于棍子,验证器会认为"棍子可能出现在箱子里的任何位置",从而给出极其保守的结论。

Brückner和Lomuscio的解法基于他们之前的一个定理:对于参数化的核$K = Az + B$(其中$z \in [0, \epsilon]$控制扰动强度),图像与核的卷积可以分解为:

$$I * K = (I * A) \cdot z + (I * B)$$

这个分解意味着:你只需要预先计算两张图$R_A = I * A$和$R_B = I * B$,然后对于任意$z$值,扰动图像就是$R_A \cdot z + R_B$。不需要重新做卷积,只需要一次标量乘法和一次加法。

这个技巧把卷积扰动编码成了验证框架能消化的形式,而且保留了它的低维结构。

SSIP和RSIP-SSIP:紧致的边界

有了编码方案,下一步是训练。论文使用了区间界传播(Interval Bound Propagation, IBP)的思路,但做了关键改进。

标准IBP的问题在于:它对高维扰动效果不错,但对低维扰动会产生非常松的界。想象你要估计一个房间里有多少人——如果扰动是"每个人可能往任何方向移动1米"(高维),IBP的估计还算合理;但如果扰动是"所有人一起往东移动1米"(低维,1维),IBP还是会认为每个人独立移动,给出的范围远大于实际情况。

论文提出了两种更紧的边界:

  • SSIP(Single-Sided Interval Propagation):利用卷积扰动的低维结构,在单侧区间上做更精细的追踪
  • RSIP-SSIP(Refined SSIP):在SSIP基础上进一步收紧
这两种边界让模型在训练时不会被过度正则化(overregularize),从而保持较高的标准准确率。

损失函数的设计

训练损失是标准交叉熵和鲁棒化损失的等权平均:

$$\mathcal{L}_{\text{training}} = \frac{\mathcal{L}_{\text{CE}} + \mathcal{L}_{\text{method}}}{2}$$

其中method可以是PGD(对抗训练基线)、SSIP或RSIP-SSIP。

这个设计很直观:一半精力学正常分类,一半学抗扰动。关键在于鲁棒化损失用的边界有多紧——边界越紧,模型学到的"安全区域"越精确,不会因为过松的边界而牺牲太多正常性能。

数据说话:CIFAR-10上的结果

论文在CIFAR-10和TinyImageNet上做了实验,使用CNN7和ResNet18两种架构。扰动类型包括盒模糊、锐化、运动模糊,核大小从3到7,扰动强度从0.2到1.0。

几个关键数字(CIFAR-10, CNN7, 运动模糊, 核大小3, ε=1.0):

方法标准准确率经验鲁棒准确率可验证鲁棒准确率
标准训练91.35%75.68%0.00%
PGD对抗训练86.51%80.79%0.00%
SSIP82.03%80.22%76.58%
RSIP-SSIP83.93%81.92%75.96%
这张表讲了一个完整的故事:

1. 标准训练的模型完全没有可验证鲁棒性——验证器在ε=1.0的运动模糊下,找不到任何一张测试图像能被数学证明"安全"。经验上80%的准确率不算低,但"经验"不等于"证明"。 2. 对抗训练也做不到——PGD对抗训练提高了经验鲁棒准确率(80.79%),但可验证鲁棒准确率依然是0.00%。消防演习再逼真,也不是防火证书。 3. 认证训练实现了80%+的可验证鲁棒准确率——SSIP在ε=1.0时达到76.58%,RSIP-SSIP达到75.96%。在更温和的ε=0.6下,SSIP甚至达到80.53%。

论文摘要里说的"超过80%的鲁棒准确率"指的是ε=0.6的情况。这个强度对应的是什么画面呢?——足以让人类肉眼明显感觉到模糊,但不至于完全认不出图片内容。

在ResNet18上的表现

更大的模型表现更好。在CIFAR-10 + ResNet18 + 运动模糊 + 核大小3 + ε=1.0下:

  • 标准准确率:90.88%
  • SSIP可验证鲁棒准确率:80.36%
也就是说,在最强扰动下,ResNet18依然能保持80%+的可验证准确率,同时标准准确率只掉了不到4个百分点。这在认证训练领域是非常好的结果。

为什么这件事重要?

这篇论文的意义不在于"又提高了几个百分点",而在于它把可验证鲁棒性的适用范围从简单的$L_\infty$扰动扩展到了更贴近物理世界的卷积扰动。

现实世界中的视觉扰动——相机抖动、对焦失误、镜头脏污、大气湍流——大多不是像素级独立噪声,而是某种卷积操作。之前认证训练对这类扰动束手无策,只能靠经验方法(数据增强、对抗训练)"尽量"鲁棒。

现在,我们有了一条从数学证明到物理扰动的通路。对于自动驾驶、医疗影像、工业检测这些安全攸关的场景,这意味着:你可以拿着验证器出具的"证书",数学地证明你的模型在某种程度的模糊下不会误判。

从"尽量安全"到"证明安全",这是质变。

局限与展望

论文也坦诚了几个局限:

1. 计算成本高——认证训练本身就慢,论文使用CNN7和ResNet18而不是更大的模型,正是因为计算限制。 2. TinyImageNet上表现下降明显——在更大数据集上,SSIP在ε=1.0时只有19-29%的可验证准确率,说明方法在更复杂场景下还有很大提升空间。 3. 扰动类型有限——目前只处理了参数化核的卷积扰动,对于非卷积扰动(如雾、雨、光照变化)不适用。

但方向是清晰的:把更多物理世界的扰动纳入可验证鲁棒性的版图。这篇论文迈出了从$L_\infty$到卷积扰动的一步,下一步可能是更复杂的非线性扰动——比如镜头的色差、HDR场景的过曝欠曝、甚至 adversarial patch(物理世界贴纸攻击)。

当自动驾驶汽车在暴雨中行驶时,我们需要的不是"模型在训练集上表现不错",而是"数学证明它在这个模糊程度下依然正确"。这篇论文让我们离那个目标更近了一步。

---

*论文链接:arXiv:2607.18195* *作者:Benedikt Brückner (Safe Intelligence), Alessio Lomuscio (Safe Intelligence & Imperial College London)*

暂无表态