Bernoulli Flow Models: Self-Consistent Generative Modeling for Binary Data
Hao Mo, Liying Yang, Shumin Yao, Xinxing Yu, Ajian Liu, Xudong Mao, Yanyan Liang
cs.LG, cs.CV
2026-10-08
BFM 为二值数据规定连续伯努利路径并给出任意间隔的闭式后验,256 步检查点只采样 16 步时 LSUN Churches 的 FID 为 9.22,同设置 BLD 掉到 204.10。
二值变量的每一维只取 0 或 1。图像可压成二值 latent,像素可阈值成比特,伊辛自旋本身是两态。Analog Bits 把比特当作连续量做扩散,BLD 直接在二值 latent 里扩散。推理仍贵,常常要几百到上千次网络前向。NFE 就是这个次数,采样走一步通常算一次。
连续扩散要减步,不必另训一版。DDIM 和 DPM-Solver 只是在更粗的网格上重解同一条动力学。二值扩散大多不行:前向过程是固定步长的一步马尔可夫链,后验也按这一步来推。训练时反向更新贴着这条细链。推理把 256 步收成 16 步,每一步都要跨过原来的一大段时间,采样器却还用一步似然去填。
缺的是任意时间间隔上仍然精确的后验。
伯努利流模型(BFM)先规定从数据到噪声的整条路径。数据记为 X0,终点是二值白噪声,每个比特独立以概率 0.5 取 1。中间时刻 Xt 服从 Bernoulli(t X0 + (1-t) X1),t 从 1 收到 0。连续模型的线性插值作用在坐标上,这里作用在每个比特取 1 的概率上。
终点是公平硬币,边际就有闭式。g(a, b) = a(1-b) + b(1-a) 表示以概率 b 翻转 a、否则保持。走到时刻 t,相当于按一个由 t 决定的概率翻转,边际参数记为 α。相邻时刻的前向也是这种翻转,翻转率 γ = 0.5(tprev - t) / tprev,只看两端时间。贝叶斯给出后验:已知当前比特和干净数据,上一时刻仍是伯努利,参数由 γ 与 α 组合而成。
网络做 x0-prediction,直接预测干净比特,损失用二元交叉熵。预测值代入后验,再采样上一时刻。实现改的是 BLD 官方代码里的路径和后验,骨干仍是完整 Transformer。输出为 sigmoid(logits / κ),κ 是温度,默认 0.9。κ 越小,概率越靠近 0 或 1,样本更集中,多样性下降。
定理 1 把同一后验用到任意间隔:靠近数据的一端为 s、当前为 t 时,γ = 0.5(s - t) / s,公式照旧。推理只把 [0, 1] 重新划成 K 段,K 可以远小于训练步数 T。少步因此是同一条路径换时间端点,不是拿一步转移冒充多步跳跃。换网格仍是同一过程,论文称之为自洽。
闭式的条件是真实 X0。推理里 X0 换成网络预测,预测误差还在。去掉的是转移核的近似。
代码、Transformer 骨干和优化器都跟 BLD 对齐。Adam 的 β1=0.9、β2=0.99,1 万次迭代后学习率到 2×10⁻⁴,两张 RTX 4090,κ=0.9。FID、Precision、Recall 均用 5 万张样本对照训练集。LSUN 和 FFHQ 沿用 BLD 的自编码器,先压成 16×16×64 的二值 latent,再解码回 256×256。
少步不蒸馏、不重训。Churches 上,两边都用线性调度按 256 步训练,取 10 万次迭代的检查点,只改推理 NFE。16 步时 BFM 的 FID 为 9.22,BLD 为 204.10。同一噪声下,BLD 很快发糊,BFM 的轮廓还在。
Bedrooms 上 10 万到 40 万次迭代,BFM 的 FID 一直更低,逐点数字正文没给。
80 万次迭代、推理 64 步的对照见下表。BLD 原文检查点未公开,BLD 是同一环境、同一配置下用官方代码的复现。
| 方法 | 步数 | Bedrooms FID | Churches FID | FFHQ FID |
| BFM | 64 | 5.86 | 5.32 | 10.87 |
| BLD | 64 | 6.22 | 5.48 | 11.46 |
| D3PM | 200 | 6.60 | 6.02 | 9.49 |
| VQ-Diffusion | 200 | 7.19 | 6.88 | 8.79 |
| LDM-4/8/4 | 200 | 2.95 | 4.02 | 4.98 |
| StyleGAN | 非迭代 | 2.35 | 3.86 | 4.16 |
相对 BLD,BFM 的 FID 低 0.36、0.16、0.59。两边 Precision 相同,依次为 0.69、0.66、0.68。Recall 在 Churches 同为 0.41,Bedrooms 为 0.37 对 0.36,FFHQ 为 0.49 对 0.48。和 StyleGAN、LDM 仍有明显差距。FFHQ 上 10.87 差于 D3PM 的 9.49 和 VQ-Diffusion 的 8.79。
二值 MNIST 将大于 0 的像素置 1。BFM 的 FID 为 0.42,CoVAE 为 0.58,DMPM 为 2.89,SFM 为 4.62,α-Flow 为 5.02,口径沿用 SFM 代码。步数没有写出。
调度消融同在 Churches、10 万次迭代。线性、半余弦、反转半余弦下,BFM 为 9.22、9.41、9.27,BLD 为 9.55、9.53、9.54。线性最好,后文默认线性。这张表里 BLD 仍在 9.5 左右,说明推理预算还没收到 16 步。BFM 再次出现 9.22,论文却没标明表中的 NFE。
少步可以直接用。按 256 步训好的检查点,推理时重划时间网格,不用蒸馏,也不用 consistency 训练。16 步的前向是 256 步的十六分之一,Churches 上 FID 仍是 9.22。沿用一步后验去跨步的 BLD 到了 204.10,样本不可用。
全步提升是渐进的。80 万次迭代、64 步时,FID 只比同设置的 BLD 好零点几。已有连续扩散或 GAN 的人,不必为这个差距改走二值 latent。比特空间里的生成任务才用得上。改动停在路径和后验。
粗网格重解同一条动力学,在伯努利变量上写成了任意区间的闭式后验,不必借用 ODE 求解器。一般离散流模型没有给出这个可重参数化的特例。
评测限于图像生成和科学二值基准,别的领域还没做。作者还计划接上蒸馏或 consistency 训练,去试极少步和一步生成。16 步只说明训练无关的加速成立,一步生成没有证据。
9.22 来自 10 万次迭代的检查点,不是表里 80 万次的模型。收敛后的少步 FID 没有报告。Churches 上的 5.32 对应 64 步。
StyleGAN、LDM、D3PM、VQ-Diffusion 来自别的训练设置。作者也写了,和 BLD 原文结果直接比不受控,所以主对比用 BLD。跨论文的 FID 只适合看量级。
闭式后验在真实 X0 给定时精确。换成网络预测后,少步分布是否仍贴近满步,主要靠 Churches 的一条曲线和样图。预测误差如何随间隔变长,正文没有测。伊辛实验只在附录,正文无数字。二值 MNIST 步数不明,0.42 对 0.58 的差距很小;温度只在附录里以样图出现。