用许多容易估计的小反演,代替一个难以归一化的全局密度
灵活的能量模型可以表达复杂数据,却常有难解的配分函数;Gaussian 等可归一化分布容易训练和求值,却缺少表达能力。论文的核心假设是:先用已知扩散核逐步抹去结构,每步足够小时,逆向条件分布仍属于简单核族,因此只需学习局部均值、协方差或 Bernoulli 概率。
输入与输出
训练输入是数据样本 \(x^{(0)}\sim q(x^{(0)})\)。前向链生成噪声状态 \(x^{(1)},\ldots,x^{(T)}\)。学习结果是一组逆向转移 \(p(x^{(t-1)}\mid x^{(t)})\),从简单先验 \(\pi(x^{(T)})\) 精确采样整条离散 Markov 链并得到 \(x^{(0)}\)。
四项能力
论文强调灵活表达、沿已定义链精确采样、与额外分布相乘形成 posterior,以及通过路径权重估计数据概率。这里的“精确采样”指严格执行有限步已学习 Markov 模型;它没有表示有限步反演等于真实数据分布。
前向过程已知,逆向过程可学习
平衡分布 \(\pi\) 对扩散核 \(T_{\pi}\) 保持不变。数据分布用 \(q\) 表示;模型用 \(p\) 表示;上标 \((t)\) 是扩散时间,并非网络层索引。

两类核
| 项目 | Gaussian | Binomial / Bernoulli |
|---|---|---|
| 平衡分布 | \(\pi(x^{(T)})=\mathcal N(x^{(T)};0,I)\) | 通用表:\(\pi(x^{(T)})=\mathcal B(x^{(T)};0.5)\);Heartbeat 实验:独立 \(\mathcal B(0.2)\) prior |
| 前向核 | \(\mathcal N(x^{(t)};\sqrt{1-\beta_t}x^{(t-1)},\beta_t I)\) | 通用表:\(\mathcal B(x^{(t)};(1-\beta_t)x^{(t-1)}+0.5\beta_t)\) |
| 逆向核 | \(\mathcal N(x^{(t-1)};f_{\mu}(x^{(t)},t),f_{\Sigma}(x^{(t)},t))\) | \(\mathcal B(x^{(t-1)};f_b(x^{(t)},t))\) |
| 学习对象 | 均值、协方差及 Gaussian 实验中的 \(\beta_{2:T}\) | 每个 bit 的 Bernoulli rate;日程固定 |
Gaussian 核把信号乘以 \(\sqrt{1-\beta_t}\),并添加方差 \(\beta_t\) 的噪声,因此单位协方差 Gaussian 保持不变。通用 Binomial 表把 bit probability 向 0.5 拉近:\(\beta_t=0\) 保留 bit,\(\beta_t=1\) 完全随机化。

路径重要性恒等式给出概率,Jensen 不等式给出训练目标
附录 B 的逐式化简
Gaussian forward marginal 与 posterior
Bernoulli forward marginal 与 posterior
令 \(\rho\in(0,1)\) 表示 stationary Bernoulli probability。Table App.1 的通用核对应 \(\rho=0.5\)。定义 \(\bar\alpha_t=\prod_{s=1}^{t}(1-\beta_s)\),则第 \(i\) 个 bit 的 forward marginal parameter 为
给定观测 \(x_i^{(t)}\in\{0,1\}\),Bayes rule 给出完整 posterior。令
扩散日程
Gaussian 实验固定较小的 \(\beta_1\),通过对 \(K\) 的梯度上升学习 \(\beta_{2:T}\),用 frozen noise 重参数化保持噪声样本固定后求偏导。脚注说明后续实验发现 binomial 的固定日程同样有效。离散 bit 无法用这种 frozen-noise 梯度,因此令每步抹去剩余原信号的固定比例:
仅用 forward process 夹住每步 reverse conditional entropy
把条件约束逐步乘入 reverse kernel
目标 posterior 写成 \(\widetilde p(x^{(0)})\propto p(x^{(0)})r(x^{(0)})\)。论文在每个时间边缘引入同类约束 \(r(x^{(t)})\),并规范化每一步。
受约束 Bernoulli reverse kernel
以下逐 bit 公式要求基础 kernel 按 bit 独立,约束也能分解成 \(r(y)=\prod_i r_i(y_i)\);耦合多个 bit 的约束通常使后验产生依赖,不能直接套用独立 Bernoulli 更新。对单个 bit \(i\),令基础逆向核给出 \(c_i=\Pr_p(x_i^{(t-1)}=1\mid x^{(t)})=[f_b(x^{(t)},t)]_i\),并令约束权重 \(d_{i,1}=r(x_i^{(t-1)}=1)\)、\(d_{i,0}=r(x_i^{(t-1)}=0)\)。把 \(r\) 与 Bernoulli PMF 相乘并规范化后,论文 Table App.1 的受约束 binomial kernel 可写成
Gaussian 小扰动
Missing data 与去噪
缺失区域恢复
已知坐标上取 delta function,使每个 reverse step 的已知像素严格满足观测;缺失坐标上令 \(r\) 为常数,让模型自由采样。Figure 5 将 bark 中央 \(100\times100\) 区域初始化为单位 Gaussian 噪声,周围像素形成条件。
Gaussian 去噪
将观测 likelihood 作为 \(r\) 与每步 Gaussian 核相乘。Figure 3 使用方差 1、SNR=1 的噪声图作为观测,并从模型 posterior 采样干净图。恢复结果是一份后验样本,没有表示 posterior mean 或唯一逆解。

完整结果、数据设置与比较口径
Table 1 · Holdout lower bound
| Dataset | \(K\) | \(K-L_{\mathrm{null}}\) | 说明 |
|---|---|---|---|
| Swiss Roll | 2.35 bits | 6.45 bits | 二维连续分布 |
| Binary Heartbeat | −2.414 bits/sequence | 12.024 bits/sequence | 真实过程为 −2.322 bits/sequence |
| Bark | −0.55 bits/pixel | 1.5 bits/pixel | T01–T04 bark texture |
| Dead Leaves | 1.489 bits/pixel | 3.536 bits/pixel | 同 Theis et al. 的 train/test data |
| CIFAR-10 | 5.4 ± 0.2 bits/pixel | 11.5 ± 0.2 bits/pixel | 加 uniform noise 去除 8-bit quantization |
| MNIST | 见 Table 2 的 Parzen estimate | 与下界口径不同 | |
\(L_{\mathrm{null}}\) 是单位 Gaussian 或独立 binomial 基线的 log likelihood。除 heartbeat 外,各数据先整体缩放到方差 1。CIFAR-10 的 ± 数值来自论文表格;论文没有说明重复次数与误差统计方式。
Table 2 · 与其他模型比较
| Dataset | Model | Log likelihood | 评测口径 |
|---|---|---|---|
| Dead Leaves | MCGSM | 1.244 bits/pixel | 相同训练和测试数据 |
| Diffusion | 1.489 bits/pixel | ||
| MNIST | Stacked CAE | 174 ± 2.3 bits | Goodfellow et al. 的 Parzen-window code |
| DBN | 199 ± 2.9 bits | ||
| Deep GSN | 309 ± 1.6 bits | ||
| Diffusion | 317 ± 2.7 bits | ||
| Adversarial net | 325 ± 2.9 bits | ||
| Perfect model | 349 ± 3.3 bits |
“Perfect model”把训练数据样本送入同一个 Parzen estimator,说明该估计器自身存在上限和偏差。MNIST 的 317 bits 低于 adversarial net 的 325 bits,论文表述为 comparable。Dead Leaves 上 Diffusion 提高 0.245 bits/pixel。

数据集与模型配置
| 数据 | 核 / 步数 | 网络与设置 | 公开缺失项 |
|---|---|---|---|
| Swiss roll | Gaussian / 40 | 归一化 RBF,一层 16 hidden units;各时刻独立 top readout;其余权重在时间与 \(f_{\mu},f_{\Sigma}\) 间共享;diagonal covariance | 样本量、split、训练步数、学习率 |
| Heartbeat | Binomial / 2000 | 长度 20;每 5 格一个 1,初相位均匀;3 层各 50 sigmoid units;每时刻独立 readout;先验均值 0.2 | 样本量、训练时长 |
| MNIST | Gaussian / 1000 | Figure D.1 的 dense pathway;Parzen-window 评测 | 已发表实验完整层宽、训练 epoch、bandwidth 选择细节 |
| CIFAR-10 | Gaussian / 1000 | multi-scale convolution 与 dense pathway 并行;RMSprop;加入 uniform dequantization noise | 正文层宽、正式训练 epoch、硬件、耗时 |
| Dead Leaves | Gaussian / 1000 | multi-scale convolution;与 MCGSM 使用相同数据 | 生成参数、样本量、层宽、优化超参数 |
| Bark T01–T04 | Gaussian / 500 | multi-scale convolution;中央 100×100 inpainting | crop 数、split、层宽、优化超参数 |
图像网络


官方仓库提供参考实现,无法逐数值复现发表结果
参考代码默认值
- trajectory length 1000,temporal basis 10,step-1 variance 0.001。
- batch size 512,初始学习率 \(10^{-3}\),RMSprop,500 batches/epoch。
- 学习率函数衰减至 \(10^{-5}\);上限 100001 epochs;每 25 epochs 评测、保存和出图。
- 输入用一个 minibatch 估计均值与方差后标准化,并加入 \(1/255\) 对应的 uniform dequantization noise。
README 的已展示训练
- MNIST 示例在 825 epochs 后展示。
- CIFAR-10 示例在 1700 epochs 后展示,batch 200;dense lower 1000、输出每像素 5;conv hidden 100、6 层;dense lower 6 层;dense upper 4 层、hidden 100。
- README 没有声明这些 checkpoint 对应论文 Table 1 的最终数值。
| 方面 | 论文实验 | 官方公开仓库 |
|---|---|---|
| 代码身份 | 原始研究代码 | 作者明确称为 refactoring;原始代码按邮件请求提供 |
| 优化器 | 多数实验 SFO;CIFAR-10 为 RMSprop | 统一 RMSprop |
| 激活函数 | convolution softplus,dense tanh | leaky ReLU,负半轴斜率 0.05 |
| 逆均值参数化 | 附录式 (65) 描述 equilibrium-mean 形式 | 围绕 forward mean 的 perturbation 参数化 |
| 依赖 | Theano;正文未锁定版本 | 旧版 Blocks、Fuel、Theano;README 要求 2015 年 bleeding-edge Blocks/Fuel |
| 硬件与耗时 | 未公开 | 未公开 |
证据支持什么,仍缺少什么
Strengths
- 模型定义、采样链、概率下界与条件推理属于同一数学体系。
- 完整推导覆盖 path ratio、KL、entropy 与 perturbed kernel。
- Gaussian 与 binomial 核展示表示范围。
- Table 1 同时报告绝对 bound 与对简单基线的增益。
Weaknesses
- 生成需要 500–2000 次网络求值,成本随步数线性增加。
- CIFAR-10 likelihood 较早版本受 8-bit quantization 影响,v8 才加入 dequantization 修正。
- MNIST 采用 Parzen estimate,无法与训练 bound 直接比较。
- 训练配置、硬件与耗时缺失,官方仓库又是不同参数化的重构实现。
- posterior demonstrations 缺少定量评测与多样性分析。
进一步可检验问题
- 步数分配:依据每步 KL、entropy production 或 curvature 自适应选择 \(\beta_t\),比较固定计算预算下的 bound 与 sample quality。
- 离散结构:对 graph、program 或 material node 序列使用 multinomial kernel,并在逆向步骤加入 validity constraint 与 backtracking。
- renderer guidance:把可微渲染 likelihood 作为 \(r(x^{(t)})\),使用论文的 covariance-scaled gradient shift 形成 renderer-in-the-loop posterior sampling。
- 缺失数据校准:按 mask 大小、位置和观测噪声报告 conditional log likelihood、coverage、reconstruction fidelity 与样本多样性。
一手资料与身份核查
- PMLR 正式记录:ICML 2015,PMLR 37:2256–2265,会议日期 2015 年 7 月 7–9 日。
- PMLR 正文 PDF:正式会议版本共 10 页,含正文与参考文献。
- PMLR Supplement:7 页附录 A–D。
- arXiv:1503.03585v8:2015-11-18 的 18 页合订版本,作者顺序与 PMLR 一致。
- 作者官方参考实现:核查 commit
de92b574f9daa730e7db242c4db3137e4a65489a的 README、train.py、model.py与regression.py。