[论文解读] Very Deep VAEs Generalize Autoregressive Models and Can Outperform Them on Images
本文表明,非常深的分层 VAE 可以在图像对数似然上超越自回归 PixelCNN,同时使用更少的参数并实现更快的采样,通过学习高效的分层表示。
We present a hierarchical VAE that, for the first time, generates samples quickly while outperforming the PixelCNN in log-likelihood on all natural image benchmarks. We begin by observing that, in theory, VAEs can actually represent autoregressive models, as well as faster, better models if they exist, when made sufficiently deep. Despite this, autoregressive models have historically outperformed VAEs in log-likelihood. We test if insufficient depth explains why by scaling a VAE to greater stochastic depth than previously explored and evaluating it CIFAR-10, ImageNet, and FFHQ. In comparison to the PixelCNN, these very deep VAEs achieve higher likelihoods, use fewer parameters, generate samples thousands of times faster, and are more easily applied to high-resolution images. Qualitative studies suggest this is because the VAE learns efficient hierarchical visual representations. We release our source code and models at https://github.com/openai/vdvae.
研究动机与目标
- 评估 VAEs 是否能在图像密度估计方面达到或超过自回归模型的水平以作动机。
- 提出一个超深层次的分层 VAE,使深度超越以往工作。
- 从理论上证明深度是获得更好自回归能力表示的一条路径。
- 在 CIFAR-10、ImageNet (32/64)、FFHQ-256、FFHQ-1024 等标准图像基准上,实证比较非常深的 VAE 与基于 PixelCNN 的模型。
提出的方法
- 提出一个自顶向下的、包含多层随机变量的非常深层分层 VAE,具有对角高斯先验/后验。
- 使用基于 ResNet 的瓶颈块设计,并通过残差缩放来稳定长达约 70 层的训练。
- 对上采样操作采用最近邻上采样,以避免后验塌陷和 KL 预热。
- 提供理论命题,表明 N 层 VAE 可以泛化自回归模型并均匀近似 N 维潜在密度。
- 在多个图像基准上训练,并将对数似然、参数数量和采样速度与基于 PixelCNN 的自回归模型进行对比。
实验结果
研究问题
- RQ1具有足够深的潜在层次的 VAE 是否能够在自然图像的对数似然上达到或超过自回归模型?
- RQ2深度是否有助于在 VAE 中获得更好的潜在表示和更快、可并行生成?
- RQ3在标准图像基准上,超深 VAE 相对于 PixelCNN 基准在似然、参数和采样速度方面的表现如何?
- RQ4哪些结构选择可以实现极深 VAE 的稳定训练而不发生后验塌陷?
- RQ5Very deep VAEs 是否能够扩展到高分辨率图像(如 FFHQ-1024)并实现实际可用的采样时间?
主要发现
| 模型类型 | 参数 | 深度 | 采样 | NLL |
|---|---|---|---|---|
| PixelCNN++ (Salimans et al., 2017) | 53M ∗ | (empty) | D | 2.92 |
| PixelSNAIL (Chen et al., 2017) | (empty) | (empty) | D | 2.85 |
| Sparse Transformer (Child et al., 2019) | 59M | (empty) | D | 2.80 |
| VLAE (Chen et al., 2016) | (empty) | (empty) | D | ≤2.95 |
| IAF-VAE (Kingma et al., 2016) | (empty) | 12 | D | ≤3.11 |
| Flow++ (Ho et al., 2019) | 31M | 1 | D | ≤3.08 |
| BIVA (Maaløe et al., 2019) | 103M | 15 | 1 | ≤3.08 |
| NVAE (Vahdat & Kautz, 2020) | 131M | 30 | 1 | ≤2.91 |
| Very Deep VAE (ours) | 39M | 45 | 1 | ≤2.87 |
| Gated PixelCNN (ImageNet-32) | 177M ∗ | 10 | D | 3.83 |
| Image Transformer (Parmar et al., 2018) | (empty) | (empty) | D | 3.77 |
| BIVA (ImageNet-32) | 103M ∗ | 15 | 1 | ≤3.96 |
| NVAE (ImageNet-32) | 268M | 28 | 1 | ≤3.92 |
| Flow++ (ImageNet-32) | 169M | (empty) | 1 | ≤3.86 |
| Very Deep VAE (ImageNet-32) | 119M | 78 | 1 | ≤3.80 |
| Gated PixelCNN (ImageNet-64) | 177M ∗ | (empty) | D | 3.57 |
| SPN (Menick & Kalchbrenner, 2018) | 150M | (empty) | (empty) | 3.52 |
| Sparse Transformer (ImageNet-64) | 152M | (empty) | (empty) | 3.44 |
| Glow (Kingma & Dhariwal, 2018) | (empty) | (empty) | 1 | 3.81 |
| Flow++ (ImageNet-64) | 73M | (empty) | 1 | ≤3.69 |
| Very Deep VAE (ImageNet-64) | 125M | 75 | 1 | ≤3.52 |
| FFHQ-256 (5 bit) NVAE | 36 | 1 | ≤0.68 | |
| FFHQ-256 (5 bit) Very Deep VAE | 115M | 62 | 1 | ≤0.61 |
| FFHQ-1024 (8 bit) Very Deep VAE | 115M | 72 | 1 | ≤2.42 |
- 深度在不依赖整体容量的情况下提升对数似然,并使 VAE 在所有测试基准上超越 PixelCNN。
- 超深 VAE 使用比基于 PixelCNN 的模型更少的参数,同时实现更快的采样(每个样本单次前向传播)。
- 即使在保持参数数量相近或更低的情况下,具有更大随机深度的模型也表现更好。
- 定性分析显示模型学会了高效的分层表示,在低分辨率下捕获全局结构,在高分辨率下捕获局部纹理,从而实现跨层的并行生成。
- 超深 VAE 可扩展到高分辨数据,保持快速采样和具有竞争力的似然性(例如 FFHQ-1024,72 层,2.42 NLL)。
- 在 ImageNet-32/64 上,超深 VAE 在对数似然方面取得了现有最先进或具有竞争力的表现,且参数显著少于许多自回归基线。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。