像素、潜空间与压缩表示

入门 约 15 分钟 ★ 最小路径 潜空间VAE压缩表征学习最小路径
前置知识点(建议先学)
学习状态:

一句话定义

潜空间(latent space)是模型学到的低维连续表示空间:图像先被编码器压缩成潜码,生成与编辑在潜空间进行,最后由解码器还原成像素。

为什么重要

它是现代文生图「又快又好」的第一功臣,也是 ComfyUI 工作流里 VAE Encode/Decode 两个节点存在的原因。理解潜空间,才能解释三件日常现象:为什么 512×512 出图只需几秒;为什么换 VAE 会整体偏色;为什么 img2img 的「重绘幅度」作用在噪声水平上而非像素上(kp-012)。没有压缩,扩散模型在像素上迭代去噪的算力成本将高到不可用。

前置知识

kp-001(生成式建模框架);知道「图像 = 像素张量」即可。

核心概念

原理与机制

压缩比:以 SD 系 8 倍下采样为例,边长 512→64(缩小 8 倍),通道 3→4:

像素:512 × 512 × 3 ≈ 786,432 个数值;潜码:64 × 64 × 4 = 16,384 个数值;压缩比 ≈ 48×

同尺寸下扩散每步在潜空间计算的开销约为像素空间的 1/48(忽略通道差异的近似,量级一致)

为什么敢丢信息:VAE 训练目标里除了重建误差,还有把潜码分布拉向标准高斯的 KL 项,使潜空间连续、邻近点语义相近;同时人眼对高频细节敏感度低,「丢掉高频、保住结构」的感知压缩在感知上几乎无损。生成的分工由此确立:扩散模型在潜空间负责语义布局(构图、物体、光照),VAE 解码器负责补回纹理细节。这也是为什么部分像素级瑕疵(手指、文字)出在解码一端(kp-025)。

实践含义:潜空间分辨率直接决定输出分辨率上限——SD1.5 以 64×64 潜码为基准(输出 512²),SDXL 以 128×128 为基准(输出 1024²);比例改变潜码宽高比即可改变画面比例。

公式与推导

编码-解码关系:z = E(x),x̂ = D(z),训练最小化 ‖x − D(E(x))‖ 加 KL 正则。计算量对比推导:U-Net 主要开销随空间尺寸平方增长,边长缩 8 倍使每步注意力/卷积计算约降 (512/64)² = 64 倍,通道数变化带来次要修正——潜空间扩散因此把「多步迭代」的成本压到可交互的水平(kp-024 展开算力账)。

图示

图像 x(512×512×3)→编码器 E→潜码 z(64×64×4)生成在此进行→解码器 D→图像 x̂(512×512×3)

直观类比

潜空间像「小样草稿」:画家先在巴掌大的草图上确定构图与色调(便宜、可反复改),定稿后再由助手细化成大尺寸成品(贵、只做一次)。改草稿永远比改成品划算——这就是为什么扩散迭代放在潜空间。

实例或案例

常见误区

自测题

  1. 估算 1024×1024 输出在 8 倍压缩下的潜码尺寸。

答案要点:128×128×4,约 6.5 万数值,相对像素约 48 倍压缩。

  1. 为什么扩散迭代放在潜空间而非像素空间?

答案要点:多步迭代的算力成本被压缩 1~2 个数量级,而感知质量几乎不损失。

  1. 换 VAE 后图片整体偏色,原因是什么?

答案要点:潜码是相对特定编码器的坐标系,解码器换用后同一潜码被映射到不同色彩区域。

与其他知识点的关系

kp-008 是本节的直接续篇(LDM 三件套);kp-012 的重绘幅度作用在「向潜码加噪」这一层;kp-024 给出潜空间分辨率与算力的定量权衡。

延伸阅读

Latent Diffusion 论文(CVPR 2022)第 3 节对感知压缩与语义压缩分工的论述;VQ-VAE 论文(NeurIPS 2017)展示了另一种离散化潜空间思路。

相关知识点