当整个AI行业都在用海量数据和超大模型堆砌扩散效果时,有一个项目选择了一条截然不同的路——它问了一个看似简单却极其反直觉的问题:如果扩散模型根本不需要训练,或者只需要极少量训练,会怎样?
项目地址:https://github.com/dfytensor/GSG
一、为什么这个项目值得你停下来读?
如果你接触过扩散模型(Diffusion Models),你一定对这样的场景习以为常:Stable Diffusion 拥有 8.6 亿参数,训练耗费数千 GPU 小时,推理时还要跑 50-100 步 U-Net。整个社区默认了“扩散模型 = 大参数 + 长训练 + 慢推理”的公式。
但Neural GSG提出了一个颠覆性的问题:
如果扩散模型的迭代过程,本质上只是从粗到细的确定性精化,那我们为什么非要用随机噪声和千万级参数的神经网络去学它?
GSG(Geometric Subdivision Generation,几何细分生成)的核心洞察来自一个古老的中国数学智慧——刘徽割圆术。刘徽用内接正多边形不断细分逼近圆面积,而 GSG 把这套确定性迭代精化的逻辑,直接搬到了生成模型里。
结果令人震惊:
- Vanilla GSG(零训练):无需任何训练,10 步迭代即可生成合理样本。
- Neural GSG(学习增强):仅需约 2,000 个参数的 MLP,训练时间以秒计,就能在复杂 2D 分布和图像生成任务上达到高质量效果。
这不是在 DDPM 上做点小修小补——它是从根上重新定义了“扩散”的物理含义:从随机迭代精化走向确定性迭代精化。
二、核心思想:从“随机噪声”到“刘徽割圆”
2.1 传统扩散模型(DDPM)在做什么?
DDPM 的前向过程,本质是不断向数据中注入各向同性高斯噪声,直到信号完全被噪声淹没:
q(xt∣xt−1)=N(xt;1−βtxt−1,βtI) q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t I)q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)
它的反向过程需要训练一个庞大的神经网络来预测噪声:
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t)) p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))
这套框架在图像生成领域大获成功,但代价是巨大的参数量和漫长的训练推理时间。
2.2 GSG 的核心逻辑:确定性几何细分
GSG 的前向过程完全不同。它的核心思想是:
随着迭代步数增加,从粗粒度表示逐步细分到细粒度表示,最终逼近目标分布。
这个过程是确定性的,而不是随机的。每一步的更新规则不是从噪声中“去噪”,而是从当前近似中“精化”:
xk+1=Subdivide(xk) x_{k+1} = \text{Subdivide}(x_k)xk+1=Subdivide(xk)
其中 Subdivision 规则可以是无参数的几何公式(Vanilla GSG),也可以是一个极轻量的 MLP(Neural GSG)。
这与刘徽割圆术的内在逻辑完全一致:用确定性的迭代精化,以可证明的收敛速度逼近目标。
2.3 一句话总结区别
| 维度 | 传统扩散模型(DDPM) | GSG / Neural GSG |
|---|---|---|
| 前向操作 | 加高斯噪声 | 确定性几何细分 |
| 迭代性质 | 随机 | 确定性 |
| 参数量 | 数亿至数十亿 | 0 或 ~2K |
| 训练成本 | 数千 GPU 小时 | 零训练 或 数秒 |
| 推理速度 | 50-100 步 × 大模型 | 10 步 × 轻量公式/小MLP |
| 理论基础 | 随机过程 | 刘徽割圆 + 面积单调性 |
三、理论验证:面积单调性与收敛速率
GSG 最让人信服的一点,是它没有停留在工程直觉,而是给出了严密的数学证明。
3.1 定理一:Score-Subdivision 对齐
GSG 证明了得分函数(score function)与细分方向在几何上是对齐的。具体而言,在合适的度量下:
cos(∇logp(x),Subdiv(x))≈−0.86 \cos(\nabla \log p(x), \text{Subdiv}(x)) \approx -0.86cos(∇logp(x),Subdiv(x))≈−0.86
这个负相关意味着:细分方向天然指向数据分布的高密度区域,与得分匹配的目标高度一致。
3.2 定理二:面积单调性与收敛速率
GSG 证明了细分过程的误差满足面积单调性(Theorem 2)。更关键的是,其收敛速率满足:
Error∼O(n−1.76) \text{Error} \sim O(n^{-1.76})Error∼O(n−1.76)
而理论最优下界为O(n−2.0)O(n^{-2.0})O(n−2.0)。这意味着 GSG 的收敛速率几乎达到了理论最优!
这一结果的意义在于:GSG 不是“碰巧work”的工程 hack,而是一个有严格数学保证的生成框架。
四、实验验证:从 2D 玩具到图像生成
这篇工作最扎实的地方,是它用四个递进的实验阶段,从低维一路打到了真实的图像生成场景。
4.1 Phase 1:理论验证
| 实验 | 验证内容 | 结果 |
|---|---|---|
| 刘徽内接多边形 | 面积单调性 | 误差9.87×10−99.87 \times 10^{-9}9.87×10−9,单调递增 ✅ |
| GSG 投影 | 面积单调性 | 误差8.56×10−98.56 \times 10^{-9}8.56×10−9,单调递增 ✅ |
| 收敛速率 | 理论O(n−2.0)O(n^{-2.0})O(n−2.0) | 实测斜率-1.76✅ |
| Score 对齐 | 理论负相关 | 余弦相似度-0.86✅ |
4.2 Phase 2:Vanilla GSG(零训练)
在高斯混合模型、螺旋线、瑞士卷三个经典 2D 密度估计任务上,零训练的 GSG 与训练充分的 DDPM 正面交锋:
| 目标分布 | 指标 | GSG(零训练) | DDPM(充分训练) |
|---|---|---|---|
| 高斯混合 | KL散度 | 2.01 | 1.39 |
| 高斯混合 | W2距离 | 3.45 | 6.80 |
| 高斯混合 | 推理时间 | 1.7s | 0.1s |
| 螺旋线 | KL散度 | 22.85 | 0.59 |
| 螺旋线 | W2距离 | 2.25 | 5.35 |
| 螺旋线 | 推理时间 | 2.6s | 0.1s |
| 瑞士卷 | KL散度 | 14.68 | 1.02 |
| 瑞士卷 | W2距离 | 2.23 | 5.34 |
| 瑞士卷 | 推理时间 | 1.3s | 0.1s |
注意:在W2 距离(Wasserstein-2)这个衡量分布整体质量的指标上,零训练的 GSG 在所有三个任务上都显著优于训练充分的 DDPM!而代价仅仅是推理时间略长(因为 GSG 用 CPU 跑轻量公式,DDPM 用 GPU 跑大模型)。
4.3 Phase 3:MNIST 高度场生成
在 16×16 的图像高度场生成任务上,GSG 用仅 4 步细分就能生成可识别的数字:
| 形状 | SSIM | MSE |
|---|---|---|
| 圆形 | 0.920 | 0.02620 |
| 正方形 | 0.951 | 0.03774 |
| 三角形 | 0.926 | 0.05692 |
SSIM 全部超过 0.92,这意味着仅 4 步迭代的 GSG 已经能生成结构高度保真的图像。
4.4 Phase 4:Neural GSG(学习增强)
当引入一个仅约 2,000 个参数的 MLP 来学习细分规则后,效果进一步提升:
| 任务 | 模型 | W2距离 | 推理时间 |
|---|---|---|---|
| 复杂 2D 多模态 + 螺旋 | Vanilla GSG | 3.857 | 0.1s |
| 复杂 2D 多模态 + 螺旋 | Neural GSG | 3.721 | 0.2s |
| 复杂 2D 多模态 + 螺旋 | DDPM | 4.616 | 0.2s |
Neural GSG 以2K 参数实现了比 DDPM(海量参数)更优的 W2 距离,同时推理速度相当。
五、加速论证:参数与性能的极致对比
这是 GSG 最令人震撼的一张对比表:
| 模型 | 参数量 | 训练成本 | 推理速度 | 生成质量 |
|---|---|---|---|---|
| Stable Diffusion | 860M | 数千 GPU 小时 | 慢(50-100 步 × U-Net) | 高 |
| Vanilla GSG | 0 | 零训练 | 即时(10 步 × 公式) | 中 |
| Neural GSG | ~2K | 数秒 | 快(10 步 × 小 MLP) | 高 |
- Vanilla GSG:零参数、零训练,10 步公式迭代即可生成样本。
- Neural GSG:仅 2K 参数,训练秒级完成,10 步小 MLP 推理,质量达到高水平。
相比之下,Stable Diffusion 的 860M 参数和数千 GPU 小时的训练成本,在 GSG 面前显得像一个“重型武器”对上了“精确制导匕首”。
六、快速上手
项目提供了完整的可运行代码,一行命令即可复现全部实验:
cdpaper/ python3 full_pipeline.py# 运行全部 4 个阶段(约 20 秒)然后在浏览器中打开paper.html即可查看完整的论文和实验结果。
项目文件结构清晰:
full_pipeline.py— 主控脚本experiments_convergence.py— Phase 1:理论验证exp_2d_final.py— Phase 2:Vanilla GSG 2D 密度估计exp_mnist_synth.py— Phase 3:MNIST 高度场生成exp_neural_gsg_v3.py— Phase 4:Neural GSG 学习增强
七、总结与思考
GSG 的价值,远不止于“又出了一个新方法”。它真正值得深思的地方在于:
第一,它挑战了扩散模型的“默认假设”。当所有人都认为扩散必须依赖随机噪声和海量参数时,GSG 用刘徽割圆术的古老智慧证明:确定性的几何精化,同样可以构成一个完备的生成框架。
第二,它为“小模型”开辟了新的可能性。在大模型军备竞赛的今天,2K 参数就能在复杂分布上取得可比甚至优于 DDPM 的结果——这提醒我们,架构设计和数学原理的革新,可能比堆参数更关键。
第三,它有坚实的理论基础。从面积单调性定理到O(n−1.76)O(n^{-1.76})O(n−1.76)的收敛速率,GSG 不是黑箱,而是一个可解释、可证明、可复现的生成框架。
当然,GSG 目前还处于早期阶段,在 ImageNet 级高清图像生成上尚未与 SOTA 大模型正面比拼。但它打开了一扇门:如果生成模型的未来不一定是“更大”,而是“更聪明”呢?
项目地址:https://github.com/dfytensor/GSG
欢迎 star、fork、提 issue——一起探索生成模型的另一种可能。