扩散薛定谔桥用 IPF 补短时程失配,MNIST 12 步可出图

Diffusion Schrödinger Bridge with Applications to Score-Based Generative Modeling

Valentin De Bortoli, James Thornton, Jeremy Heng, Arnaud Doucet

NeurIPS 2021 (spotlight)

stat.ML, cs.LG, math.PR

2021-06-02

用神经网络做 IPF 来解薛定谔桥:第一轮就是 Song 的 SGM,后面几轮把短时程的两端边缘补上。MNIST 12 步、CelebA 用 50 步 10 轮能出图,还没追上当时 SOTA。

这篇在解决什么

Score-based 生成模型把数据逐步加噪,直到接近一个好采样的先验(通常是高斯),再学反向去噪。Song et al. (2021) 把加噪写成 SDE,反向漂移由各时刻扰动分布的 score(对数密度梯度)给出,用神经网络做 score matching。

问题卡在时间预算上。正向过程必须跑够久,终点才接近高斯;步长还得够小,Euler 离散才准。两件事叠在一起,采样步数被拉长。Song and Ermon (2019, 2020) 的早期设定里,N 要到 100。

薛定谔桥换了问题本身:给定参考扩散、数据分布 pdata 和先验 pprior,在路径空间上找与参考过程 KL 最近、且 t=0、t=T 边缘分别等于 pdata、pprior 的扩散。生成不必等正向混到高斯,有限时间两端就能对上。静态版本是熵正则最优传输,噪声趋于零时收回二次 Wasserstein 计划。

方法

求解工具是 Iterative Proportional Fitting(IPF)。从参考加噪过程出发,奇数轮强制终点等于 pprior,偶数轮强制起点等于 pdata,来回投影。有限离散状态上,这就是 Cuturi (2013) 的 Sinkhorn。

DSB 把每一轮的正向、反向转移近似成各向同性高斯,均值由两个神经网络 F 和 B 给出。对所有历史 score 做回归会把显存和计算量堆得很高,所以改成 mean-matching:用当前正向漂移把样本推到下一步,让反向网络拟合这一步实际从哪来。

T 可以短。短了以后第一轮会失败,因为 pN 不是高斯;多轮 IPF 把这座桥修直。

Theorem 1 给出 Song 方法的第一个定量全变差界。score 一致逼近误差不超过 M 时,生成分布与 pdata 的 TV 距离拆成离散化加拟合误差,以及正向混合误差。OU(α>0)的混合项按 exp(-√α T) 衰减,纯布朗运动按 T^{-1}+T^{-1/2}。混合时间只由正向布朗或 OU 决定,与数据维数无关,高维 Langevin 那种混不匀在这条时间非齐次链上不出现。α 和 T 变大时离散化常数一起变差,步长必须更小。

Proposition 4 和 5 把 IPF 从紧支撑推到非紧连续空间:相邻迭代的 KL 与 TV 单调下降,n 乘两端边缘 KL 趋于 0,比 Léger (2020) 的 C/n 边际界更强,联合分布在 TV 下收敛。再加密度正则,极限就是薛定谔桥。高斯参考过程还能收回几何速率。DSB 是这条连续时间动态 IPF 的时间离散。

结果

高斯可控实验:pdata = N(a,I)、pprior = N(-a,I),a=0.1 乘全 1 向量,参考过程为布朗运动,静态 SB 有闭式协方差。batch 128、N=20、γ=1/40。d=5 时约 3 万参数网络能对上均值、方差、协方差;d=50 时同样结构对不上后两项,隐层加宽到约 24 万参数才跟上。

二维玩具把 T 压到 0.2(N=20,γk=0.01)。第一轮就是原版 SGM,终点离高斯很远,反演回不到数据。Figure 1 里 5 轮后两端接上;20 轮后合成明显好于第一轮。

图像用缩小版 U-Net(基于 Nichol and Dhariwal, 2021):

设置N(时程 T)DSB 轮次结果
2D 玩具20(0.2)1 vs 5/20短 T 下第一轮失败,多轮后接到数据
MNIST128相对第一轮有可见改善;早期 SGM 常用 N=100
CelebA 32×32,d=307250(0.63)10能出可辨人脸;论文称这是高维 SB 首个可跑通的算法
EMNIST→MNIST30(1.5)10先验换成另一份数据,走出插值桥

FID 随 DSB 轮次下降,对多组 N 都成立。正文只有 Figure 6 的曲线,没有把具体 FID 和 DDPM、Score SDE 列成对照表。论文写明实现尚未追上当时 SOTA。

为什么重要

少步数采样不再依赖正向已经混成高斯。短 T 时多做几轮 DSB,用训练轮次换采样步数。MNIST 12 步、CelebA 50 步,对照早期 SGM 的 100 步,方向是对的。

先验可以不是高斯。pprior 换成另一份数据,得到两条数据分布之间的熵正则传输,连续状态空间里就是 Sinkhorn 的扩散版。论文点名可往多边际 SB、Wasserstein 重心、熵正则 Gromov–Wasserstein、域适配上用。解仍是扩散,可按 Song et al. 改写成等边际神经 ODE 算精确似然。

这是把 SGM 接到最优传输上的框架。图像质量停在能出图、加轮次有帮助,不是新的 SOTA 采样器。加速采样还要和噪声日程、更好离散化、蒸馏一起看。

局限与存疑

T 不能任意接近 0。正向终点离 pprior 太远时,先验支撑附近几乎没有训练信号,score 仍然难学。实现也还没追上 SOTA。

训练是串行的一列网络。后轮可以微调前轮,总计算仍明显高于单次 score matching。F 和 B 若联合训练,平衡点是某座桥,不一定是薛定谔桥。

Theorem 1 要求 score 误差有一致上界 M,实践里最多能期望在数据分布上高概率成立。IPF 的 o(1/n) 针对精确迭代;DSB 每轮还有网络拟合误差和欧拉误差,三层误差没有合成一条可计算的生成误差界。

图像实验缺 FID 数字表,CelebA 只用 32×32。同期 Vargas et al. (2021) 用高斯过程估漂移,这篇改神经网络,两边没有直接对比。

术语

原文与代码

社区讨论

相关论文

全部论文解读