This is the code for the paper "Posterior Collapse in Linear Conditional and Hierarchical Variational Autoencoders".
Conference on Neural Information Processing Systems (NeurIPS), 2023
CVAEs experiments
Varying
Varying
Varying
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Relu.py
Collapse level of MNIST digit datasets
args: --eta_enc 0.5 --eta_dec 0.5 --beta 1.0
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Linear_single_digit.py
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Relu_single_digit.py
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_CNN_single_digit.py
HVAEs experiments
Varying
Varying
Varying
Varying
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Relu.py
Samples reconstructed from ReLU MHVAE with varied
args: --eta_enc 0.5 --eta_dec 0.5 --beta_1
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Relu.py
VAEs additional experiment
Effect of learnable and unlearnable
args: --eta_dec 1.0 --c 1.0 --beta 1.0 --sigma 1.0
CUDA_VISIBLE_DEVICES=0 python MNIST_VAE_Linear_learnable_sigma.py
CUDA_VISIBLE_DEVICES=0 python MNIST_VAE_Linear_nonlearnable_sigma.py
Log-likelihood, KL and AU of VAEs with learnable and unlearnable
args: --eta_dec 1.0 --c 1.0 --beta 1.0 --sigma 0.5
CUDA_VISIBLE_DEVICES=0 python MNIST_VAE_Relu_learnable_sigma.py
CUDA_VISIBLE_DEVICES=0 python MNIST_VAE_Relu_nonlearnable_sigma.py
CVAEs additional experiment
Linear CVAEs experiment
args: --beta in [0.1, 0.2 ,..., 4.9, 5.0]
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Linear.py
Verification of Theorem 2
CUDA_VISIBLE_DEVICES=0 python matrix_CVAE.py
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Linear.py --beta 1.0
Log-likelihood, KL and AU of CVAEs with varied
Varying
Varying
CUDA_VISIBLE_DEVICES=0 python MNIST_CVAE_Relu.py
Effects of the correlation of
args: --corr_type
CUDA_VISIBLE_DEVICES=0 python Synthetic_CVAE_Relu_correlation.py
HVAEs additional experiment
Samples reconstructed from CNN MHVAE with varied
args: --eta_enc 0.5 --eta_dec 0.5 --beta_1
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_CNN.py
Linear MHVAEs
args: --beta_2 in [0.1, 0.2 ,..., 6.9, 7.0]
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Linear_learnable_sigma_2.py
Verification of Theorem 3
CUDA_VISIBLE_DEVICES=0 python matrix_HVAE_learnable_sigma_2.py
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Linear_learnable_sigma_2.py --beta_1 1.0 --beta_2 1.0
Verification of Theorem 5
CUDA_VISIBLE_DEVICES=0 python matrix_HVAE_nonlearnable_sigma_2.py
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Linear_nonlearnable_sigma_2.py
Log-likelihood, KL and AU of HVAEs with varied
Varying
Varying
Varying
CUDA_VISIBLE_DEVICES=0 python MNIST_HVAE_Relu.py
For technical details and full experimental results, please check our paper.
@article{dang2024vanilla,
title={Beyond Vanilla Variational Autoencoders: Detecting Posterior Collapse in Conditional and Hierarchical Variational Autoencoders},
author={Hien Dang and Tho Tran and Tan Nguyen and Nhat Ho},
journal={arXiv preprint arXiv:2306.05023},
year={2023}
}