SDS 会坍到众数,概率流蒸馏 PFD 对齐目标分布

Probability-Flow Distillation: Distribution Matching in Parameter Space

Rohith Ramanan, A. N. Rajagopalan

cs.CV

2026-05-10

把 SDS、SDI、VSD 放进同一套粒子变分推断:SDS 坍到众数,SDI 收到更窄的分布。PFD 只解前向概率流 ODE,CelebA 上 FID 16.92,几乎打平 VSD 的 16.61,远好于 SDS 的 236.82。

这篇在解决什么

Score distillation 用预训练扩散模型当先验,去优化另一组参数:最常见的是可微渲染器后面的三维表示,做 text-to-3D。后续方法名目很多,这篇把它们收成三类:SDS、SDI、VSD。VSD 本来就有粒子变分推断的写法,优化的是噪声边缘上的 KL。SDS 和 SDI 一直没人问:粒子最后会停在什么分布上。

停在哪,直接决定生成物长什么样。SDS 出过饱和、洗掉细节的表面,SDI 更锐但发糊,VSD 细节更全。缺一个分布层面的解释,调参只能靠观感。

方法

统一更新是:参数沿数据空间的梯度估计 Δ,再乘上前向模型对参数的雅可比。把前向模型先看成恒等映射,粒子就是数据本身。

SDS 用随机高斯扰动得到 xt,再用后验均值 x̂0 当去噪结果,Δ = x0 − x̂0。更新里只有目标分数,没有当前粒子分布 q 的熵项。各粒子独立爬向 p0 的局部极大。各向同性高斯上可以写成线性 ODE,方差指数衰减到 0,极限是 δ 函数钉在均值上。

SDI 把随机噪声换成 DDIM inversion。理想情形下这是 q 自己的前向概率流 ODE,于是更新依赖当前集合,能抗坍缩。后验均值仍然收缩方差,极限是更窄的高斯,标准差严格小于目标。同一套视角也解释了 SDI 为什么要负的 classifier-free guidance:inversion 走的是 q 的 ODE,引导方向必须和采样时反过来,用户填的 CFG 尺度变成 1−γ,γ>1 时就是负数。

后验均值恰好是反向概率流 ODE 从 σt 到 0 的一步 Euler。把这一步换成完整反向求解,目标成为不动点,但每步要串两条 ODE。把反向流的雅可比丢掉,梯度只剩前向 ODE 上的分数差,就是 Probability-Flow Distillation(PFD)。它和 VSD 梯度形式相同,耦合从随机噪声改成确定性流。小噪声区间上,PFD 降 KL 的速度至少不慢于 VSD;高斯目标上比 VSD 和双桥都快。

实现上对 t 做高斯–勒让德积分,避免再对 t 做蒙特卡洛。SDS 每节点一次网络评估,SDI / VSD / PFD 两次,双桥则是平方级,所以双桥只放在合成实验里当对照。

结果

一维高斯、二维漏斗、二十维十分量高斯混合上,SDS 钉在众数,SDI 收到更窄的云,双桥 / VSD / PFD 对齐目标。高斯上 KL 下降最快的是 PFD,然后是 VSD,再是双桥;SDS 和 SDI 的 KL 会平台住。

CelebA 上用 VE 扩散模型,四种前向:直接图像、左右对称、修补、diffvg 矢量图。图像生成每方法 1 万个样本。

方法FID↓CMMD↓
数据集对照2.89<0.001
Euler-50 / Heun-5025.54 / 24.430.377 / 0.368
SDS236.826.531
SDI108.783.289
VSD16.610.106
PFD16.920.106

text-to-3D 在 threestudio 里跑 5k 步,22 条提示,每资产 120 个渲染视角。

指标SDSSDIVSDPFD
CLIP R-precision ViT-L/140.7960.9250.9580.969
ViT-B/160.8200.9170.9550.955
ViT-B/320.8020.8860.9980.998
ImageReward−1.150−0.2570.6800.891

观感和数字一致:SDS 样本几乎互相同,SDI 有变化但糊,VSD 与 PFD 既多样又有细节。三维资产上 SDS 过饱和,SDI 更利落仍偏光滑,VSD/PFD 能收回细几何和纹理。PFD 的 ImageReward 高于 VSD,FID 略差一丁点。

为什么重要

做 text-to-3D 的人终于有一句能记住的话:SDS 在找众数,SDI 在找收缩后的分布,VSD/PFD 在做分布匹配。模式坍缩不再只是「CFG 太大」的口锅,是更新式里缺熵项的直接后果。负 CFG 也不再是玄学,是 inversion 与采样引导方向相反。

PFD 相对 VSD 的实际好处是耦合改成确定性流,梯度少一层对 ε 的噪声。代价仍要在线训一个粒子分数网络,计算量与 VSD 同阶,不是免费午餐。CelebA 上两者几乎打平,三维上 PFD 的偏好分更好。若已经在用 VSD,这篇更像一份把 SDS/SDI 行为说清楚的分析,外加一个可替换的梯度。

局限与存疑

分析大量在恒等前向、各向同性高斯上做,可微渲染、相机姿态随机这些真实设定,只在实验里出现,没有对应的收敛定理。PFD 丢掉反向雅可比,目标仍是不动点这一点不再严格保证,合成实验里它碰巧更快,不代表一般成立。

三维只试了 22 条提示,CLIP R-precision 在 ViT-B/32 上 VSD 和 PFD 都到了 0.998,区分度很差。CelebA 的 FID 上 PFD 略差于 VSD(16.92 对 16.61),「更快更好」不能写成全面胜利。和 VSD 一样依赖在线辅助分数模型,粒子少、分数网络没训稳时,理论里的确定性梯度会打折。论文没有单独的局限节,以上是从设定和表格能读出的缝。

术语

原文与代码

社区讨论

相关论文

全部论文解读