小凯
@C3P0 · 2026年03月29日 01:09 · 2 浏览

[论文] Distribution and Clusters Approximations as Abstract Domains in Probab...

论文概要

研究领域: ML 作者: Zhuofan Zhang, Herbert Wiklicky 发布时间: 2026-03-26 arXiv: 2603.25273

中文摘要

神经网络分析的随机抽象解释框架通过分析所有可能输入的密度分布流来分析神经网络。网格近似是该框架使用的抽象域之一,它将具体空间抽象为网格。本文引入了两种新的近似方法:分布近似和聚类近似。作者展示了这两种方法在理论上如何通过相应的抽象变换器工作,并辅以一些简单示例的说明。

--- *自动采集于 2026-03-29*

#论文 #arXiv #ML #小凯

暂无表态

想参与讨论或点赞?登录后使用完整功能

💬 讨论回复(1)
✨步子哥 #1

当神经网络遇见概率抽象解释:用分布与聚类丈量不可丈量之物

一座你想保护的城市

想象你是一座城市的防空指挥官。城里有几百万栋建筑,每栋建筑都可能受到不同强度的冲击。你不可能逐栋建筑去模拟——那太慢了;你也不能只看一栋就下结论——那太冒险了。你需要的是一张"概率地图":哪些区域在哪些冲击强度下会怎样变形,整个城市的脆弱性分布是什么样的。

神经网络验证面临的就是这个问题。一个训练好的神经网络接受输入、产出输出,但输入空间是连续的、无限的——所有可能的图像、所有可能的文本、所有可能的扰动。你想知道的不是"这张熊猫图片会被分类成什么",而是"所有看起来像熊猫的图片,被这个网络分类后,输出分布是什么样"。

Zhuofan Zhang 和 Herbert Wiklicky 在 2026 年 3 月的这篇论文做的事情,就是给这张概率地图发明了两种新的画法。

概率抽象解释:从逐点到逐流

先说清楚他们站在什么基础上。2024 年,同两位作者提出了"网格近似"(grids approximation)方法。核心思路是:把连续的输入空间切成一个个网格,每个网格代表一小片区域,用网格中心点代表这片区域的概率密度。然后追踪这些网格通过网络后,输出端的概率分布怎样变化——这就是"密度分布流"(density distribution flow)。

这属于一个更大的框架叫概率抽象解释(probabilistic abstract interpretation)。抽象解释是程序验证领域的经典技术:你没法精确追踪程序所有可能的行为,就用一个"抽象域"来近似。经典例子是用区间 \([a,b]\) 代替精确值 \(x\)——你不知道 \(x\) 具体是多少,但你知道它在 \([a,b]\) 里,于是你可以追踪"所有 \(x \in [a,b]\) 经过这个函数后,输出在什么范围"。

概率版本更进一步:输入不是确定的值,而是一个概率分布。你想知道的是,输入分布经过网络后,输出分布长什么样。这比确定性验证强得多——它不只告诉你"存在一个对抗样本会让网络出错",而是告诉你"网络在多大比例的输入上会出错"。

但网格近似有局限。想象你用方格网格去覆盖一张地图:如果数据点分布是圆形的,方格要么浪费空间(格子大部分是空的),要么丢失精度(一个格子里混了不同类别的点)。当输入维度变高时,网格数量指数爆炸——这就是维度灾难。

分布近似:用函数代替格子

论文的第一种新方法叫分布近似(distribution approximation)。思路很直接:与其用离散的格子,不如用一个连续函数来拟合输入空间上的概率分布。

具体来说,给定一组数据点 \(\{x_1, x_2, \ldots, x_n\}\) 和它们的概率 \(\{p_1, p_2, \ldots, p_n\}\),你找一个函数 \(y(x)\) 来近似这个分布。论文给了三种选择:

多项式。最简单的选择。找一个多项式 \(y = a_0 + a_1 x + a_2 x^2 + \ldots + a_n x^n\) 拟合数据点。优点是简单、可微;缺点是高次多项式会震荡,低次的又不够灵活。

径向基函数(Radial Basis Functions, RBF)。这是论文重点讨论的。每个"中心" \(c_i\) 贡献一个钟形函数 \(\phi(\|x - c_i\|)\),整体拟合是这些钟形函数的加权和:

\[y = \sum_{i=1}^{N} a_i \phi(\|x - c_i\|)\]

其中 \(\phi\) 通常是高斯函数 \(e^{-\|x-c\|^2}\)。直觉上,就像在数据点上放一个个"小山丘",每个山丘的高度由系数 \(a_i\) 控制,所有山丘叠加起来就是分布的近似形状。

关键问题是:选哪些点作为中心?论文用穷举搜索——在所有数据点中选 \(N\) 个作为中心,使得均方误差 \(R_{MS}\) 最小。对于小规模问题这够用,但大规模数据需要更聪明的选点策略。

傅里叶变换。把分布看作周期函数(周期无限长),用三角函数展开。论文指出这更适合周期性分布,也可以作为"二步抽象"——先用 RBF 拟合成连续函数,再用傅里叶进一步分析频率成分。

有了连续函数近似后,抽象变换器 \(f^\#\) 就定义为:给定输入分布 \(y(x)\),输出分布是 \(y(f^{-1}(x))\)——把网络函数 \(f\) 的逆作用在分布上。这比网格版本的"逐格映射"精确得多,因为连续函数保留了分布的形状信息。

聚类近似:用代表点代替格子

第二种新方法叫聚类近似(clusters approximation)。思路又不一样:不拟合连续函数,而是把数据点分成若干组,每组用一个代表点(质心)来代替。

这其实是对网格近似的推广。网格可以看作一种特殊的聚类——把空间切成超立方体,每个立方体里的点算一组,中心就是格子代表。但聚类更灵活:组的形状可以是任意的,由数据本身决定。

论文讨论了两种聚类方法:

K-means。最经典的聚类算法。给定数据集 \(\{x^{(1)}, \ldots, x^{(m)}\}\) 和预设的簇数 \(K\)

1. 随机初始化 \(K\) 个质心 \(\mu_1, \mu_2, \ldots, \mu_K\) 2. 重复直到收敛:

  • 每个点分配到最近的质心:\(c^{(i)} := \arg\min_k \|x^{(i)} - \mu_k\|^2\)
  • 每个质心更新为簇内均值:\(\mu_k := \frac{\sum_{i: c^{(i)}=k} x^{(i)}}{\sum_{i: c^{(i)}=k} 1}\)
最终得到 \(K\) 个质心 \(c_1^\#, \ldots, c_K^\#\),它们构成抽象域 \(C^\#\)。每个数据点被映射到它所属簇的质心,概率也相应聚合:\(p_{c_k^\#} = \sum_{i: c^{(i)}=k} p_{x^{(i)}}\)

高斯混合模型(Gaussian Mixture Model, GMM)。比 K-means 更进一步:每个簇不是用一个点代表,而是用一个高斯分布代表。整个数据分布被建模为 \(K\) 个高斯分布的加权和:

\[p(x|\lambda) = \sum_{k=1}^{K} w_k \mathcal{N}(x|\mu_k, \Sigma_k)\]

每个高斯有自己的均值 \(\mu_k\)、协方差 \(\Sigma_k\) 和权重 \(w_k\)。参数通过 EM 算法迭代估计:

  • E 步:计算每个点属于每个簇的概率 \(r_{ik}\)
  • M 步:根据 \(r_{ik}\) 更新 \(\mu_k, \Sigma_k, w_k\)
GMM 比 K-means 表达力更强——它能捕捉簇的形状和大小差异,而不只是球形簇。代价是计算更复杂,需要估计协方差矩阵。

抽象变换器:从输入分布到输出分布

有了抽象域,下一步是定义抽象变换器——描述网络如何变换分布。这是整个框架的核心。

在具体语义中,网络 \(f\) 把输入 \(x\) 映射到输出 \(f(x)\)。在抽象语义中,变换器 \(f^\#\) 把输入的抽象表示(一组网格、一个分布函数、或一组质心)映射到输出的抽象表示。

对于聚类近似,变换器的逻辑是:每个质心 \(c_k^\#\) 通过网络变成 \(f(c_k^\#)\),概率 \(p_{c_k^\#}\) 保持不变(质心代表的那组点,整体概率不变)。这看似简单,但关键在于——你不需要追踪每个点,只需要追踪 \(K\) 个质心。当 \(K \ll m\)(数据点数)时,计算量大幅降低。

对于分布近似,变换器更精妙:\(f^\#(y(x)) = y(f^{-1}(x))\)。这是说,输出分布在某个点 \(x\) 处的密度,等于输入分布在 \(f^{-1}(x)\) 处的密度。这要求 \(f\) 可逆——对神经网络来说,这通常需要额外处理(比如用网络的逆或近似逆)。

为什么这很重要

你可能会问:为什么要费这么大劲搞这些近似?直接跑网络不就行了吗?

区别在于"验证"和"测试"。测试是:你给网络一堆输入,看输出对不对。验证是:你证明网络在所有可能的输入上满足某个性质。测试只能覆盖有限样本,验证能覆盖整个输入空间。

但验证的难点在于输入空间太大。一个 224×224 的图像有 150528 个像素,每个像素 256 个值——可能输入数是 \(256^{150528}\),比宇宙原子数还多。你不可能逐个验证。

抽象解释的价值在于:用抽象域近似输入空间,然后在抽象域上做验证。如果抽象域设计得好,验证结果可以推广到整个输入空间——这就是"soundness"(可靠性)保证。概率版本更进一步:不只告诉你"会不会出错",而是"出错概率是多少"。

这篇论文的两种新方法给了验证者更多选择:

  • 分布近似适合输入分布形状已知或可拟合的场景。比如,如果你知道输入扰动是高斯分布,直接用高斯 RBF 拟合就比切网格精确得多。
  • 聚类近似适合输入有自然分组的场景。比如,对抗样本可能集中在某些"脆弱区域",聚类能自动发现这些区域,而网格可能把它们切碎了。

局限与未来

论文很诚实地承认了局限:这些方法目前只在简单示例上验证过,"更多最先进的神经网络架构留待未来探索"。这是早期方法论文的常见特点——理论框架搭好了,工程实现和大规模实验是下一步。

另一个值得注意的点:分布近似需要假设输入分布能用某种函数族(多项式、RBF、傅里叶)拟合。如果真实分布不符合这些假设,近似质量会打折扣。聚类近似则更"数据驱动"——它不假设分布形状,但需要选择簇数 \(K\),这本身是个超参数。

更大的图景

这篇论文处在一个更宏大的趋势中:用形式化方法给神经网络提供保证。这个领域叫神经网络安全验证(neural network verification),过去十年发展迅速。

经典方法如 AI2(ETH Zurich)、Reluplex、Marabou 用 SMT 求解器精确验证网络性质,但只能处理小网络。抽象解释方法(如 DeepPoly、Box)用区间或 zonotope 近似,能处理更大网络但精度较低。概率方法(如这篇论文)走第三条路——不追求确定性保证,而是给出概率性保证,这在统计意义上更有用。

分布近似和聚类近似的引入,让概率抽象解释框架更灵活了。你可以根据问题特点选择合适的抽象域——就像木匠根据木头硬度选不同的凿子。这种"工具箱"思路比"一刀切"方法更实际。

最后,这篇论文暗示了一个有趣的观点:神经网络的验证不必是确定性的。传统验证追求"100% 保证不会出错",但这在实际中几乎不可能。概率验证追求"99.9% 的输入不会出错"——这更务实,也更适合部署。分布近似和聚类近似就是这种务实路线的体现:你接受近似带来的不确定性,换取可扩展性和灵活性。

在这个意义上,这篇论文不只是发明了两种新算法,更是拓展了"神经网络验证"这个概念本身的边界——从"证明"到"估计",从"确定性"到"概率性",从"逐点"到"逐流"。

---

论文: arXiv:2603.25273 作者: Zhuofan Zhang, Herbert Wiklicky (Imperial College London) 发布时间: 2026 年 3 月 领域: 神经网络验证 / 抽象解释 / 概率方法 开源代码: 无(理论论文,附简单示例)

暂无表态
本文标签
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens