Conference

Example-Based Sampling with Diffusion Models

Bastien Doignies, Nicolas Bonneel, David Coeurjolly, Julie Digne, Loïs Paulin, Jean-Claude Iehl, Victor Ostromoukhov

Université de Lyon

一句话总结

用去噪扩散模型直接从”样例点集”里学出采样器的精细结构,从而以一套通用框架复现蓝噪声、低差异、Poisson disk 等多种二维采样器,并借助网络可微性进一步为点集叠加新性质。

研究背景

  • 领域现状:渲染与准蒙特卡洛积分依赖大量专用采样器——蓝噪声、低差异序列(LDS)、格点(lattice)、Poisson disk 等,各自有独特的功率谱、差异性或最小间距等性质。
  • 核心痛点:这些采样器构造方式五花八门(非凸优化、整数线性规划、数论构造、暴力搜索等),生成成本高、往往不可微,且很难同时满足多种性质;缺乏一个统一、可微、可”举一反三”的生成方式。
  • 本文 idea:图像扩散模型能学到真实图像流形的精细结构,那它也应能学到某个采样器产生的点分布的精细结构。于是把”给定采样器的样例点集”当作训练数据,让扩散模型学会生成同类点集。难点在于扩散模型高度依赖卷积,而点集是散乱数据,无法直接高效卷积。

方法

整体上,本文把二维点集”贴”到一个规则网格上,从而复用图像扩散模型里高效的网格卷积,再用标准 DDPM 框架学习”从白噪声点集去噪到目标采样器点集”的过程;训练好的网络本身可微,可用于把点集朝新性质优化。

flowchart LR
  A["样例点集<br/>(某采样器)"] --> B["最优传输匹配<br/>点 ↔ 网格分层中心"]
  B --> C["每像素存 2D 偏移量"]
  C --> D["U-Net 去噪扩散<br/>(DDPM)"]
  D --> E["生成新点集"]
  E --> F["可微 → 反传优化<br/>叠加低差异等性质"]

关键设计:

  1. 网格嵌入解决”散乱数据不能卷积”:把单位正方形划成 \(\sqrt{n}\times\sqrt{n}\) 个分层(stratum),每个像素存储”分层中心到其对应样本”的二维偏移量。对 (0,m,s)-net 这类天然分层的采样器可直接对应;对非分层点集,则用最优传输在分层中心与样本之间求解线性指派,把最近的样本分配给对应像素。网格由此充当近似最近邻加速结构——网格上相邻像素对应空间上相邻样本,卷积权重才有意义;这一映射还让网络对样本的重新排序保持不变性。

  2. 扩散网络本体:网络结构沿用 DDPM 的 U-Net,每层两个残差卷积块、层间下采样 2 倍,并在所有分辨率层都加入注意力(原版只在 16×16 层加,作者发现全层加更好)。默认 1000 个扩散时间步。学习目标是预测每步加入的噪声 \(\epsilon_\theta(\tilde{x}_t, t)\),其中 \(x_0\) 就是分层中心与输入点集之间的偏移场。

  3. 多尺度训练带来样本数泛化:卷积权重与网格尺寸无关,因此同一网络可用不同网格尺寸的点集训练。损失对不同网格尺寸 \(\mathcal{S}\) 求和: \[ \mathcal{L}(\epsilon_\theta, \epsilon_t) = \sum_{j\in\mathcal{S}} \frac{1}{B}\sum_{i=1}^{B} \lVert \epsilon_\theta(\tilde{x}_{t_i}, t_i) - \epsilon_{t_i}\rVert^2 \] 典型取 \(\mathcal{S}=\{8\times8, 16\times16, 32\times32\}\),即样本数 {64, 256, 1024};每种采样器单独训一个网络(同架构不同权重)。

  4. 可微性 → 性质叠加:固定训练好的网络权重,把初始白噪声点集当作可优化变量,以某个目标(如 L2 差异)作为损失反传优化。作者据此给 SOT(基于最优传输的蓝噪声)采样器叠加低差异性质,同时保住低最优传输能量。因反传显存开销大,优化时把扩散步数从 1000 降到 100。

实验结果

主验证是”生成点集是否复现训练采样器的性质”,作者在功率谱、最优传输能量、L2 差异、积分误差、最小间距等指标上用小提琴图对比,并检验对未训练过的样本数(576、4096)的泛化。下表取论文中给出的唯一定量数字——非均匀 sliced OT 线性斜坡采样场景下,解缠回均匀分布后测得的半离散最优传输能量(256 样本、128 次实现平均),说明网络输出与原始采样器几乎一致:

点集来源 半离散 OT 能量(256 样本)↓
原始 sliced OT 采样器 \(7.16\times10^{-4}\)
本文网络生成 \(7.24\times10^{-4}\)

其余结论以文字概括:在蓝噪声、Poisson disk、LDBN、Sobol’+Owen、Rank-1 等采样器上,网络生成点集的功率谱与各项统计量都能贴合训练集,且在未见过的样本数上依然大体匹配;对非均匀(密度变化)分布同样能学习并保留采样器特征,这是仅靠功率谱损失的方法做不到的。相较对比方法 [Leimkühler 等人 2019],本文只需样例点集而非功率谱输入,能捕捉各向异性谱等更全面的特征,也能免重训生成不同规模的点集;但在”最小间距”这一只取决于两点位置的高敏感指标上,本文倾向给出偏小的值,不如对方的显式排斥项。

亮点与局限

  • 亮点:
    • 用一套统一、可微的框架从样例学习多类采样器,摆脱了每种采样器各写一套构造算法的碎片化现状。
    • 最优传输 + 网格嵌入的巧思,让散乱点集也能享受图像扩散模型成熟高效的网格卷积。
    • 训练样本数少也可行(SOT 仅用 32 个样例点集),且能外推到训练范围外的样本数。
    • 网络可微,可把新性质(如低差异)反传叠加到已有采样器。
  • 局限:
    • 仅限二维;虽原理可扩展到高维,但网格存储随维度指数增长,高维会失去卷积的效率优势。
    • 最小间距等高敏感性质复现不佳,倾向产生偏小间距。
    • 每类采样器需单独训练一个网络;对”单网络按采样器类型/期望性质条件化”的初步尝试效果仍不理想。
    • 合成较慢(1000 步扩散下,1024 样本的 1000 个点集约需 35 分钟)。

延伸思考

  • 最自然的方向是”条件化”:让单一网络以采样器类型或目标性质为条件,一网多用;本文已指出这是留待改进的关键。
  • 去网格化路线:借鉴三维点云形状生成的扩散模型,或能摆脱对规则网格的依赖,把方法推向高维蒙特卡洛采样。
  • 加速采样:结合更快的扩散采样架构(如少步 ODE 采样器)可缓解合成慢的问题,也让可微优化的显存/时间开销更可控。
  • 应用想象:当采样数据只能通过少量真实测量获得(如树木、细胞的空间分布),且不宜只对功率谱/PCF 等汇总统计做优化时,这种”样例驱动”的生成方式可能特别有价值。