潜空间扩散(Latent Diffusion)指的是:不在原图的像素上做扩散,而是先用编码器把图像压进一个低维的「潜空间」(latent space),在这个小得多的表示上加噪、去噪,最后用解码器把结果还原成像素图。
为什么要在潜空间里做
先算笔账。一张 512×512 的 RGB 图有 512×512×3 ≈ 78.6 万个数值。扩散模型的核心是反复预测噪声:每一步都要让神经网络把整张图过一遍,几十步就是几十次。在像素空间做,等于每一步都在处理几十万个数,算力和显存都吃不消。
打个比方:你要把一栋大楼的室内布局重新设计一遍。像素空间扩散的做法是把每一块砖、每一根管线都搬出来逐步调整;潜空间扩散则是先画一张楼层缩略图,只保留「这里是大堂、那里是走廊」这类关键结构,在缩略图上改方案,改完再按图纸施工放大。缩略图丢掉的只是瓷砖花纹这类高频细节,而这些细节本来就不该由扩散模型操心——交给解码器(decoder)在最后一步补上即可。
具体地,编码器通常把图像的宽高各缩小若干倍(常见实现约为 8 倍,具体倍数以各家官方页面为准),同时把通道数调大,整体张量维度能降一到两个数量级。扩散模型于是只负责学潜变量的分布,训练和采样都轻得多。
和相邻概念的区别
- 像素空间扩散(Pixel-space Diffusion):直接对原图做扩散,细节控制直接,但慢且贵。
- AI 词典:生成对抗网络">生成对抗网络(GAN):一次前向出图,快,但训练容易不稳定。
- 纯自编码器">变分自编码器(VAE):只编解码一次,重建尚可,但直接采样生成的图往往偏模糊。潜空间扩散的分工是:VAE 当压缩器,扩散模型当生成器。
| 方法 | 扩散发生在哪 | 单次计算量 | 特点 |
|---|---|---|---|
| 像素空间扩散 | 原图像素 | 大 | 慢、贵,细节直接可见 |
| 潜空间扩散 | 压缩后的潜变量 | 显著更小 | 快、省显存,细节靠解码器 |
| GAN | 不涉及扩散 | 一次前向 | 极快,训练不稳定 |
| 纯 VAE | 不涉及扩散 | 一次编解码 | 重建好,生成偏糊 |
对从业者和普通人的意义
潜空间扩散把「生成」这件事的算力门槛降了下来,使得在单张消费级显卡上训练和推理图像生成模型成为现实。条件控制(文本、深度、姿态等)通常也接在潜空间这一层,改起来更省参数,微调(如低秩适配 LoRA,Low-Rank Adaptation)也更便宜。对普通职场人,这意味着文生图、图生图这类能力可以本地跑、也能进手机,而不必依赖昂贵的云端集群。
一句话记住:扩散负责「想清楚要什么」,编码解码负责「画得够清楚」,两边分开干,各自都轻松。
