VQ-VAE-2:分开全局结构与局部细节
交互教程
单个 latent 网格必须同时描述布局和纹理。VQ-VAE-2 学习层次表征,再为各层配置条件先验。
之前已经能做什么
Section titled “之前已经能做什么”VQ-VAE 已提供离散编码与学习先验。分辨率增大后,单个大先验模型代价高。VQ-VAE-2 保留前馈编解码,却把信息分布到多个空间尺度。
改变了什么,为什么
Section titled “改变了什么,为什么”256×256 配置中,顶层码为 32×32,底层为 64×64。底层编码同时利用顶层信息与图像特征,最终解码器使用两者。顶层先验建模全局关系,底层先验条件化于已采样顶层。
阅读顺序从左到右。点击模块,将它与计算和代码对应。代码为教学伪代码;来源链接提供论文方法或已核查的实现。
顶层编码与量化
第二次下采样产生粗粒度 latent 网格。
h = bottom_encoder(x)
z_top = quantize_top(top_encoder(h))条件化底层编码
将图像特征与顶层解码信息结合后进行底层量化。
top_features = top_decoder(z_top)
z_bottom = quantize_bottom(combine(h, top_features))两个先验,一个图像解码器
图像解码依赖两层;先验在 tokenizer 之后训练。
top = sample(top_prior)
bottom = sample(bottom_prior, condition=top)
image = decode(top, bottom)逐步理解机制
Section titled “逐步理解机制”独立调整两个教学码:一个改变信号整体相位,另一个改变局部变化。这展示互补控制,并不保证真实 latent 严格分开形状和纹理。重建阶段共同学习两层编码。
改变参数,查看计算值,再把它与上方的真实模型说明对照。
解析教学模型 · 控件改变的是例子,不是训练后的研究模型。
灰色为目标信号,绿色为教学解码信号;未使用训练后的图像模型。
| 量 | 值 |
|---|---|
| 教学信号 MSE | 0.027 |
| 信号采样点 | 48 |
训练与采样的区别
Section titled “训练与采样的区别”生成先采样顶层,再据此采样底层,最后一次前馈解码成图像。每个网格内部的先验仍是自回归。因此层次网格不等于 VAR 式并行下一尺度预测。
这些结果不能证明什么
Section titled “这些结果不能证明什么”论文还用分类器拒绝采样交换覆盖度与样本质量。这是额外采样机制,不是 tokenizer 的免费提升。更深的空间层次也不等于同一位置的残差量化。
底层能否先生成并保持论文的条件分解?
不能,底层先验需要顶层码作条件。逆转顺序需要重新建模条件分布。
来源与后续阅读
Section titled “来源与后续阅读”本页图形与伪代码为教学重绘。论文报告、固定实现观察和解析示例分别标记;未运行研究模型。