@docmilanfar: 我非常喜欢我们最近关于"Geometry of Noise"的论文的解释性文章 arXiv:2602.18428

X AI KOLs Timeline 论文

摘要

本文提供了理论解释,说明为什么扩散模型可以在没有显式噪声水平条件的情况下生成干净的样本,将其归因于高维几何,并分析为什么某些模型参数化成功而其他模型崩溃。

我非常喜欢我们最近关于"Geometry of Noise"的论文的解释性文章 arXiv:2602.18428 https://t.co/ghcwURvgv9
查看原文
查看缓存全文

缓存时间: 2026/06/17 16:02

我真的很喜欢我们最近关于“噪声几何”的论文的讲解 arXiv:2602.18428

https://t.co/ghcwURvgv9


为什么扩散模型不需要噪声调节

来源:https://intuitivepapers.ai/geometry-of-noise/ 扩散 · 理论

噪声的几何:为什么扩散模型不需要噪声调节

扩散模型无需被告知其输入有多嘈杂。

标准扩散模型每一步都会获知噪声水平。去掉这个输入后,最优秀的模型依然能工作,因为高维空间的几何结构已经包含了噪声水平。而具体去掉哪种模型输入,则决定了生成过程能否存活。

论文讲解《噪声的几何:为什么扩散模型不需要噪声调节》
Sahraee-Ardakan, Delbracio, Milanfar · Google · 2026 · arXiv:2602.18428↗ (https://arxiv.org/abs/2602.18428)
每个扩散模型都依赖于噪声水平输入。对于正确的模型类型,这个输入是多余的。

每个扩散或流模型都会将噪声水平作为输入。你向模型展示一个带噪声版本的数据,同时告诉它输入中噪声的程度:一个单一数字,通常写作 (t) 或 (\sigma)(你可以把 (t) 理解为加噪过程运行了多远)。模型利用这个数字来决定清洁的力度。网络架构将噪声水平注入每一层,假定模型需要它。模型在高噪声下应该做的事情(猜测图像的粗略形状)与低噪声下应该做的事情(锐化最后一些细节)截然不同。如果不告知输入有多嘈杂,一个网络如何同时做到这两点?

最近的研究表明,你可以完全移除那个输入。Sun 及其合作者(《噪声调节是否必要?》(https://arxiv.org/abs/2502.13129))训练了一个只能看到带噪声图像、从未获知噪声水平的单一网络,它仍然能生成干净的样本。均衡匹配则将场训练为将数据作为其不动点,完全不使用时间索引,因此它天生就是噪声盲的。该领域称这种设置为自治(或噪声盲)设置:一个静态向量场 (f(\mathbf{u})),无论输入由何种噪声产生,它都是输入的同一函数。一个单一的静态场必须同时服务于纯噪声和几乎干净的数据,并且必须在数据处(梯度发散的地方)保持稳定。

这篇来自 Google 的 Sahraee-Ardakan、Delbracio 和 Milanfar 的论文,是解释盲模型为何能工作的理论。它回答了两个方面的问题:模型如何知道从未被告知的噪声水平?为什么有些盲模型能够生成精美的结果,而另一些却陷入静态?几何结构解决了第一个问题,一个稳定性竞赛解决了第二个。论证分为几个步骤:条件模型是什么,移除噪声输入后会发生什么,高维几何如何提供噪声水平,盲模型所下降的景观是什么,以及为什么一种参数化能幸存而另一种会破裂。

条件化噪声水平

前向过程是任何扩散模型中的简单半部分:它获取一个干净数据点 (\mathbf{x}) 和一个由 (t) 索引的噪声水平,并将它们混合成一个带噪声的观测值。

[ \mathbf{u}_t = a(t),\mathbf{x} + b(t),\boldsymbol{\epsilon}, \qquad \boldsymbol{\epsilon}\sim\mathcal{N}(\mathbf{0},\mathbf{I}) \tag{2} ]

两个调度函数负责记账:(a(t)) 缩放信号,(b(t)) 缩放噪声。当 (t \to 0) 时,你位于干净数据上;增大 (t),噪声项会淹没一切,直到观测值变得没有特征。不同的模型家族选择不同的 (a, b)。DDPM (https://intuitivepapers.ai/ddpm/)(最初的去噪扩散模型)在添加噪声的同时缩小信号,使得总方差保持固定((a^2 + b^2 = 1));EDM(Karras 等人的设计)保持信号满幅,同时噪声项增长;流匹配 (https://intuitivepapers.ai/flow-matching/)(从数据到噪声的直线)以 (a = 1-t, b = t) 线性滑动。概括信号存留多少的比率是信噪比(SNR):

[ \text{SNR}(t) = \frac{a^2(t)}{b^2(t)} \tag{3} ]

训练是简单的回归。你向模型展示一个带噪声的 (\mathbf{u}_t),并让它预测一个线性目标 (r = c(t)\mathbf{x} + d(t)\boldsymbol{\epsilon}),通过平方误差评分:

[ \mathcal{L}(f) = \mathbb{E}_{\mathbf{x},\boldsymbol{\epsilon},t}\big[,\lVert f(\mathbf{u}_t) - (c(t)\mathbf{x} + d(t)\boldsymbol{\epsilon}) \rVert^2,\big] \tag{4} ]

平方误差有一个最小化器:基于你所能看到的一切条件,目标函数的条件均值。这里是指给定观测值和噪声水平后,目标函数的条件均值。

[ f^*t(\mathbf{u}) = \mathbb{E}{\mathbf{x},\boldsymbol{\epsilon}\mid\mathbf{u},t}\big[,c(t)\mathbf{x} + d(t)\boldsymbol{\epsilon},\big] \tag{5} ]

这是一个时间相关的向量场:在每个(位置,噪声水平)对处有一根不同的箭头。四个系数 (a, b, c, d) 是著名模型之间的唯一区别。DDPM 预测噪声 (\boldsymbol{\epsilon})((c=0, d=1)),EDM 预测干净信号 (\mathbf{x})((c=1, d=0)),流匹配预测一个速度,即从数据指向噪声的直线方向((c=-1, d=1))。(t) 输入是一个开关,让一个网络在每个噪声水平下都能成为不同的函数。

这个开关似乎是必要的。在高噪声下,场应该将任何点拉向所有数据的模糊平均值,因为这是你几乎看不见时的最佳猜测。在低噪声下,它应该将一个点固定到最近的干净数据点。这些是相反的场,而 (t) 告诉网络应该成为哪一个。去掉 (t),你似乎就失去了开关。但实际上并非如此。

移除噪声输入

移除噪声水平后,网络只看到 (\mathbf{u}),必须输出单一向量 (f(\mathbf{u})),无论输入由何种噪声产生,都是同一函数。这样的最优场并不神秘。它仍然是最小二乘的答案,但由于你不再有条件化于 (t),因此你只能将其平均:

[ f^(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}\big[,f^_t(\mathbf{u}),\big] \tag{6} ]

该平均中的权重是噪声水平的后验分布 (p(t\mid\mathbf{u})):你关于哪个 (t) 产生了这个观测值的信念,通过贝叶斯规则从在每个水平看到 (\mathbf{u}) 的似然得出。所以最优盲场是所有条件场的后验加权混合。这就是迭代期望定律:你最好的盲目猜测是各种知情猜测的平均,每个猜测按其可能性加权。

这种混合足以进行生成。下面是最优盲场对于一个小的五点数据集的闭式计算结果。该场从不改变,也无需告知其噪声水平。点击播放,一圈纯噪声粒子沿着这个单一冻结场向内运动,精确地落在数据点上,场在那里消失,然后停止。

图1 · 一个静态场实现生成

步骤 0

一个时间不变的场 (f^*(\mathbf{u})),没有任何噪声水平输入。点击播放或拖动:噪声粒子沿着这个唯一的恒定场落在数据点上并停止。数据是稳定的平衡点,场在那里为零。自治生成:一个冻结的场将噪声带到数据。一个噪声水平的平均值如何能在任何地方成为正确的场?在给定的 (\mathbf{u}) 处,如果后验 (p(t\mid\mathbf{u})) 分布在多个水平上,那么公式 (6) 会混合高噪声场(指向中心)和低噪声场(指向特定模式),两个矛盾箭头的平均值应该是毫无意义的。但后验通常完全不会分散。

拖动下面的探针,直接观察 (p(t\mid\mathbf{u}))。在外部区域,曲线很宽,将大部分权重放在大噪声水平上。将探针滑动到数据点上,曲线就会坍缩成 (t \to 0) 处的一个尖峰,因为位于数据上的观测值与干净数据无法区分。

图2 · 噪声水平的后验分布

拖动探针;观察 (p(t \mid \mathbf{u})) 在数据附近变尖锐

噪声水平的后验分布 (p(t \mid \mathbf{u})),对一个可拖动的探针。远离数据时它很宽且位于大的 (t) 处;在数据点上则坍缩成 (t \to 0) 处的一个尖峰。标记了最可能的水平 (\hat{t})。观测的位置编码了噪声水平,即使模型从未被告知。当后验在某个 (\hat{t}) 处是尖峰时,公式 (6) 中的平均值简化为单个条件场 (\hat{t}),因此盲场等于始终知道噪声水平的模型。为了使这一点更具体,我们可以用去噪器 (D^*_t(\mathbf{u}) = \mathbb{E}[\mathbf{x}\mid\mathbf{u},t]) 重写公式 (6),即在水平 (t) 处对干净数据的最佳猜测:

[ f^(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}!\left[,\frac{d(t)}{b(t)},\mathbf{u} + \Big(c(t) - \frac{d(t)a(t)}{b(t)}\Big) D^_t(\mathbf{u}),\right] \tag{7} ]

每种参数化都是“你在哪里”((\mathbf{u}))和“干净数据可能在哪里”((D^*_t))的某种仿射混合。所以盲模型是贝叶斯最优平均,当噪声水平的后验是尖锐时,它与知情模型完全一致。真正的问题不再是平均值是否合理,而是平均值何时尖锐。这是一个关于几何的问题。

从几何中读取噪声水平

在高维空间中,噪声有一个非常可预测的大小,盲模型正是利用了这一点。在 (D) 维空间中给一个点添加 (\sigma) 的高斯噪声,噪声向量的长度几乎恰好是 (\sigma\sqrt{D}),相对波动极小。(这是测度集中现象:高维高斯分布几乎将其全部质量放在一个薄球壳上,而不是中心附近。)

所以假设数据并不充满整个空间,而是位于一个低维 (d) 维流形(一个弯曲的低维曲面)上,嵌入在巨大的 (D) 维环境空间中。带噪声观测值从流形突出的部分在剩余的 (D-d) 个方向上是纯噪声,因此其长度大约为 (\sigma\sqrt{D-d})。这个长度实际上就是噪声水平。测量从观测值到流形的距离 (r) 给出估计

[ \hat{\sigma} = \frac{r}{\sqrt{D-d}}, \quad \text{扩散范围像 } \frac{1}{\sqrt{D-d}} \text{ 一样缩小}。 ]

环境维度与流形固有维度之间的差距越大,估计就越精确。两个不同的噪声水平位于两个不同半径的球壳上;在低维空间中,球壳很厚并重叠,因此水平是模糊的;而在高维空间中,它们非常薄且不相交,因此水平直接从半径读出。拖动下面的维度滑块,观察两个球壳分离。

图3 · 高维的祝福

维度 (D) = 8

对于和高真实水平,随着环境维度 (D) 增长,估计的噪声水平 (\hat{\sigma} = r/\sqrt{D-d})。阴影重叠区域表示模糊性。在 (D=8) 时,两个水平已经分离;到 (D=128) 时,它们完全不相交,因此几何结构固定了噪声水平,后验 (p(t \mid u)) 坍缩。高维使得盲平均变得尖锐。上面的一维图叠加了两个钟形曲线,这样你可以观察随着 (D) 增长它们重叠的缩小。球壳本身是三维形状的图画:围绕单个数据点的两个同心球面,高噪声的较厚,低噪声的较薄。图4 绘制了可绘制的 (D=3) 情况,其中有一个位于原点的单一数据点((d=0)),并允许你在任何方向旋转以同时看到两个球面。真实模型生活在数百维空间中,那里的相同球面薄如纸且相距甚远,正是你调高 (D) 时一维钟形曲线达到的状况。

图4 · 两个球壳,在可绘制的情况下

一个可旋转的 (D=3) 图,显示了一个单一数据点及其周围两个带噪声观测球壳。青色的内壳位于半径 (\sigma_{\text{lo}}\sqrt{D-d} \approx 0.69),琥珀色的外壳位于 (\sigma_{\text{hi}}\sqrt{D-d} \approx 1.73)。向任何方向拖动进行旋转;即使在 (D=3) 时,两个球壳也是明显不同的球面。在真实的高维空间中,球壳变薄并分离,其速率与图3中钟形曲线分离的速率完全相同。对于更高维的数据流形,同样的球壳变成管状((d=1),一条线)或更厚的片((d=2));数学是相同的,只有渲染方式不同。两个注意事项。几何结构只是让噪声水平可以从观测值中恢复出来;一个训练好的网络是否真的利用距离 (r) 来恢复它,是一个实证事实,而答案(来自 Sun 等人)是肯定的。此外,还有第二个更强的理由使后验尖锐,这个理由根本不需要高维。当一个观测值接近数据流形时,它与干净数据变得无法区分,因此最小的噪声水平占据主导,(p(t\mid u)) 通过纯粹的邻近性集中于 (t \to 0)。这种近流形坍缩确保了生成在终点的稳定性,无论维度如何。

所以当你停止输入噪声水平时,它并没有丢失。它被编码在观测值的几何结构中,模型从那里恢复它。在后验尖锐的地方(几乎处处),盲场等于知情场。但“等于一个好的场”是关于目标的一个陈述。你是否能够安全地沿着该场一直下降到数据,是一个独立的问题,并且存在一个尖锐的几何障碍。

一个无限深的井

这篇论文的重新框架是,盲模型根本不是在追逐一个移动的目标。它是在下降一个单一的固定景观:边缘能量。将其定义为某个未知噪声水平下带噪声数据点的负对数似然,

[ E_{\text{marg}}(\mathbf{u}) = -\log p(\mathbf{u}), \qquad p(\mathbf{u}) = \int p(\mathbf{u}\mid t),p(t),dt \tag{1} ]

其中积分将带噪声数据密度在噪声水平先验上取平均。生成过程就是在这个单一静态势能上下坡,滚向带噪声数据最可能的位置,也就是干净数据本身。一个静态场能够生成,因为它是静态势能的梯度场,所以不需要噪声水平输入,只需要一个可供下坡的坡度。

坡度是后验平均的分数。为了用去噪器表示它,我们使用 Tweedie 公式,这是经验贝叶斯恒等式(Robbins 1956, Efron 2011),它表明条件分数从你的带噪声点指向你对干净点的最佳猜测:

[ \nabla_{\mathbf{u}} \log p(\mathbf{u}\mid t) = \frac{a(t),D^*_t(\mathbf{u}) - \mathbf{u}}{b(t)^2} \tag{10} ]

在 (t) 的后验上平均这个结果,就得到了边缘能量的梯度:

[ \nabla_{\mathbf{u}} E_{\text{marg}}(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}!\left[,\frac{\mathbf{u} - a(t),D^*_t(\mathbf{u})}{b(t)^2},\right] ]

相似文章

从原子到熵:凸域中扩散训练的最优噪声分配

arXiv cs.LG

本文构建了一个用于扩散模型训练中噪声水平最优分配的统计框架,表明在耦合机制下最优调度是原子化的,而在独立学习机制下遵循平方根熵代理,实验证实了这些预测。

扩散模型的数学导论

arXiv cs.LG

本文对扩散模型进行了以证明为导向的介绍,涵盖了朗之万动力学、基于分数的模型、离散化、离散扩散以及推理时控制,面向研究生读者。