Stein Variational Autoencoder
Dropout: a simple way to prevent neural networks from overfitting