VDVAE

468 阅读1分钟

VDVAE

Contribution

  • 从理论上证明增加depth可以提高vae性能
  • 提出70层的vae架构
  • 实验验证vdvae在图片生成任务上的性能

Related Work

hierarchical Vae

image.png

  • 不同分辨率下涵盖不同的图片特征,因此采用分层vae
    典型网络结构 image.png

Architecture for very deep Vaes

Relationship between architecture and posterior collapse image.png "unpool" : nearest-neighbor upsampling , remove the "free bits" and KL "warming up"

stabilizing training with gradient skipping
VAE臭名昭著的“优化困难”,表现为极高的重建或 KL 损失和相应的大梯度范数(高达 1e15)。
解决方案:跳过高于某个阈值的梯度范数的更新,由超参数设置选择了影响少于 0.01% 更新的高阈值
效果:几乎完全消除了分歧,使得网络平滑训练

Experiment

image.png

image.png

image.png

改进之Efficient-VDVAE

  • 对VDVAE 进行了简单的修改,使其收敛速度快 2.6 倍,内存负载节省高达 20 倍,在训练期间提高稳定性

Revisiting VDVAE

  • Compute reduce 只有在比较 NLL 指标时,将层数加到很高的好处明显,但并不能显著影响模型的重建或生成的图像的质量。

Tips: NLL Negative Log Likelihood

  • Stabilization Gradient smoothing:computing the Gaussian stds of both posteriors and priors image.png discretized mixture of logistics (MoL) as the output layer of the generative model Optimizer:Adamax(梯度可能大于1)

Experiments

Model design, NLL and memory

image.png 在一定深度之后,增加高分辨率潜在空间中的层数会停止提高 MLE 性能。在较低分辨率层分配层数,不仅节省了内存,而且保留了性能

image.png

image.png image.png