作为人工智能助手,我的训练过程涉及以下几个主要步骤:1. 数据收集:首先,需要收集大量的文本数据,这些数据来源于书籍、网站、文章等多种渠道。这些数据需要覆盖广泛的主题和领域,以确保我能够学习到多样化的知识和信息。2. 数据预处理:在收集到数据后,需要对数据
摘要:如何训练你的"潜变量"?Google DeepMind 提出 Unified Latents,用扩散模型同时编码、正则化和生成 一个框架统一编码器、扩散先验和扩散解码器,ImageNet-
如何训练你的"潜变量"?Google DeepMind 提出 Unified Latents,用扩散模型同时编码、正则化和生成
一个框架统一编码器、扩散先验和扩散解码器,ImageNet-512 FID 1.4,Kinetics-600 FVD 1.3,刷新多项纪录。
Key Takeaways / 核心要点
Unified Latents (UL) 是 Google DeepMind 提出的潜变量学习框架,将编码器、扩散先验(diffusion prior)和扩散解码器(diffusion decoder)联合训练,形成一个统一的生成流水线。
核心创新:将编码器输出的噪声与先验模型的最小噪声水平对齐,使得 KL 正则项简化为加权 MSE,训练目标简洁且可解释。
在 ImageNet-512 上达到 FID 1.4,同时保持高重建质量(PSNR),训练 FLOPs 低于基于 Stable Diffusion 潜变量的模型。
在 Kinetics-600 视频生成上达到 FVD 1.3,刷新当前 SOTA。
提供了对潜变量比特率的可解释控制——通过两个简单超参数(loss factor 和 sigmoid bias)即可调节重建质量与生成质量之间的权衡。
框架具有通用性,理论上可扩展到文本等离散数据的潜变量压缩。
一、为什么我们需要更好的"潜变量"?
如果你关注 AI 图像生成领域,一定对 Latent Diffusion Model(LDM) 不陌生——Stable Diffusion 就是基于它构建的。LDM 的核心思路很简单:先用一个自编码器(AutoEncoder)把高分辨率图像压缩成低分辨率的"潜变量"(latent),再在这个压缩空间里训练扩散模型。这样做的好处是显而易见的:计算量大幅降低,生成效率大幅提升。
但问题来了:这个潜变量到底该怎么学?
这个问题看似简单,实际上困扰了研究者很久。让我们看看现有方案的痛点:
方案一:传统 VAE + KL 正则化(如 Stable Diffusion)
原始 LDM 使用 VAE 风格的 KL 惩罚,让潜变量分布接近标准高斯分布。但由于解码器没有基于似然的损失,KL 项的权重只能手动设置。这就像是在黑暗中调旋钮——你很难精确控制潜变量里到底编码了多少信息。
方案二:语义编码器(如 DINO)
近年来一些工作使用预训练的语义网络(如 DINO)来获取潜变量。这些潜变量信息密度低、结构简单,扩散模型学起来更容易,FID 分数确实很漂亮。但代价是什么?高频细节丢失严重,重建图像看起来"糊"了——PSNR 通常低于 20,细节与原图差异明显。
💡 核心矛盾:潜变量的信息量越少,扩散模型越容易学习(生成质量好);但信息量太少,重建质量就会下降。如何在这两者之间找到最优平衡点?
这正是 Unified Latents 要解决的问题。
二、背景知识:扩散模型与变分自编码器
在深入 UL 的方法之前,我们先快速回顾两个关键概念。
2.1 变分自编码器(VAE)
VAE 的核心是一个证据下界(ELBO):
$$-\log p(x) \leq \underbrace{-\log p(x|z_0)}{\text{解码器}} + \underbrace{KL[q(z_0|x) | p(z_0)]}{\text{编码器 vs 先验}}$$
直觉上:编码器把图像 $x$ 压缩成潜变量 $z_0$,解码器从 $z_0$ 重建图像,KL 项确保潜变量分布不会偏离先验太远。
2.2 扩散模型
扩散模型通过逐步加噪→逐步去噪的过程来建模数据分布。关键概念是 logSNR 调度:$\lambda(t) = \log(\alpha_t^2 / \sigma_t^2)$,它定义了每个时间步的"破坏程度"。模型学习预测干净数据 $\hat{x}(z_t, t)$,整个过程可以分解为不同噪声水平上的损失贡献。
一个重要的细节:扩散模型的损失可以通过不同的加权函数 $w(\lambda)$ 来调整。标准 ELBO 要求 $w(\lambda) = 1$,但实际中常用 sigmoid 加权来提升图像质量。
⚠️ 关键洞察:如果用扩散模型作为先验,但对损失做了非均匀加权,编码器可能会"钻空子"——把信息编码到权重最低的噪声水平上,逃避正则化。因此,扩散先验必须使用无加权的 ELBO 损失。
三、Unified Latents:三个关键设计
Unified Latents 的核心思想可以用一句话概括:用扩散先验来正则化潜变量,用扩散解码器来重建图像,两者联合训练。
听起来简单,但魔鬼在细节里。让我们逐一拆解。
