Latent Diffusion:Stable Diffusion 背后的架构
把去噪过程放进预训练自编码器的压缩潜空间,而非直接在像素上做,既大幅降低训练与推理成本,又用交叉注意力支持文本和布局条件。
快速答案
Latent Diffusion Models(LDM)把扩散过程从像素空间挪进一个预训练自编码器的压缩潜空间,让去噪网络只在一个小得多的张量上运行。像素空间扩散模型动辄要数百 GPU-天 才能训出来;LDM 用远更少的算力,达到了论文所说”复杂度压缩与细节保留之间的近最优平衡”,在图像修复(inpainting)上刷新当时的最优结果,在无条件生成、语义场景合成、超分辨率上也保持很有竞争力。这正是 Stable Diffusion 所基于的架构。
像素空间扩散为什么这么贵
扩散模型生成图像的方式,是从噪声出发,把一个去噪网络反复迭代很多步。原始做法的痛点在于:每一步都直接作用在全分辨率的像素网格上。对高分辨率合成来说,这意味着一个大网络要在一个大张量上重复求值,每生成一张图就要跑上百次。论文对成本毫不讳言——训练最强的像素空间扩散模型”往往要消耗数百 GPU 天”,而推理也慢,因为这些顺序步骤无法跳过。真正要攻克的瓶颈是成本,像素扩散的画质本身已经够好了。
在潜空间里做扩散
解法是一个两阶段设计。第一阶段先训练一个自编码器,把图像压缩成低维潜表示(下采样倍率适中),并能高保真地重建回来。第二阶段则让扩散模型完全在这个潜空间里训练。由于潜表示丢掉的是人眼难以察觉、解码时还能补回的高频细节,扩散模型不必再把算力浪费在它根本不需要建模的像素上。作者把自编码器阶段定位为”感知压缩”,把扩散阶段定位为”语义”生成模型——这种分工是全篇的概念内核。
值得下一个判断:论文最大的贡献是经济性,而不是一种全新的生成原理。LDM 的去噪方式和此前的扩散模型并无本质不同,它只是把去噪挪到了更便宜的地方。正是这一重新定位,才让后面发生的一切成为可能。
交叉注意力条件机制
第二个贡献是 LDM 接收输入的方式。论文在去噪 U-Net 里加入交叉注意力层,把条件信号——文本提示、语义图、边界框——映射进注意力层,从而引导生成。这把一个按类别生成的图像模型,变成了一个灵活、可被提示词驱动的模型,而这正是文生图系统直接继承下来的机制。高分辨率合成也得以”以卷积方式”完成,让模型能泛化到训练分辨率之外。
关键结果
- 在发表时刷新了**图像修复(inpainting)**的最优结果。
- 在无条件生成、按类别条件生成、语义场景合成、超分辨率等多项任务上都很有竞争力,跨多个标准数据集评测。
- 训练与采样的算力需求相比像素扩散显著下降,同时保住画质和扩散模型的引导灵活性。
- 靠交叉注意力,单一架构就能覆盖多种条件任务,不必每个任务单独造一个模型。
最经得起时间检验的结果不是某个单点指标,而是那条成本曲线:LDM 让高分辨率扩散在学术和独立团队真正买得起的硬件上,既训得动也跑得动。
为什么它成了 Stable Diffusion 的根基
把 LDM 放大、用一个冻结的文本编码器做文本条件,就得到了 Stable Diffusion——那个让数百万人用上生成式图像、并催生出庞大微调、LoRA 与工具生态的开放文生图模型。这个生态能存在,根源就在本文引入的潜空间效率:生成便宜到可以在单张消费级 GPU 上跑。想理解今天的开放图像生成,这是该最先读的一篇。
局限与存疑
压缩不是免费的,论文也坦承潜空间瓶颈是一种取舍。自编码器给可重建的细节设了上限——下采样倍率太激进会丢保真度,太保守又把像素空间的成本还回来。采样仍是顺序进行的,比单次前向慢,延迟始终是真实约束(后续在快速采样器和蒸馏上的工作针对的正是这点)。条件质量受限于你外接的那个编码器的图文对齐能力;LDM 本身修不好一个差的提示词编码器。两阶段设计还意味着,无论扩散模型多好,自编码器的伪影都会传进每一次生成。后来的系统在保真度、可控性和安全性上不断改进,但潜空间这个核心取舍是永久性的。
常见问题
Latent Diffusion Models 一句话是什么?
Latent Diffusion Models 把扩散模型放进预训练自编码器的压缩潜空间里运行,而不是在原始像素上做,从而用几分之一的算力达到相当甚至更好的画质。
Latent Diffusion 和 Stable Diffusion 是什么关系?
Stable Diffusion 就是一个放大、做了文本条件的 Latent Diffusion Model。LDM 论文(arXiv 2112.10752)是底层架构,Stable Diffusion 是建在其上、广为人知的开放实现。
为什么潜空间扩散比像素空间扩散便宜?
因为去噪网络处理的是一个小小的潜张量,而不是全分辨率的像素网格,扩散的每一步顺序迭代要处理的数据都少得多,训练和推理成本因此都降下来。
交叉注意力在 Latent Diffusion Models 里起什么作用?
交叉注意力层把文本、语义图、边界框等条件信号注入去噪 U-Net,把模型从固定的无条件生成器,变成一个灵活、可用提示词驱动的生成器。
Latent Diffusion Models 最擅长什么?
发表时它在图像修复上刷新最优结果,在无条件生成、语义合成、超分辨率和文生图上都很有竞争力,而且用的算力远少于像素空间扩散。
如果说像素扩散证明了这个想法行得通,那么潜空间扩散证明了它负担得起——这就是大家都在用它的原因。原文见 https://arxiv.org/abs/2112.10752。