VDVAE
Contribution
- 从理论上证明增加depth可以提高vae性能
- 提出70层的vae架构
- 实验验证vdvae在图片生成任务上的性能
Related Work
hierarchical Vae
- 不同分辨率下涵盖不同的图片特征,因此采用分层vae
典型网络结构
Architecture for very deep Vaes
Relationship between architecture and posterior collapse
"unpool" : nearest-neighbor upsampling , remove the "free bits" and KL "warming up"
stabilizing training with gradient skipping
VAE臭名昭著的“优化困难”,表现为极高的重建或 KL 损失和相应的大梯度范数(高达 1e15)。
解决方案:跳过高于某个阈值的梯度范数的更新,由超参数设置选择了影响少于 0.01% 更新的高阈值
效果:几乎完全消除了分歧,使得网络平滑训练
Experiment
改进之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
discretized mixture of logistics (MoL) as the output layer of the generative model Optimizer:Adamax(梯度可能大于1)
Experiments
Model design, NLL and memory
在一定深度之后,增加高分辨率潜在空间中的层数会停止提高 MLE 性能。在较低分辨率层分配层数,不仅节省了内存,而且保留了性能