pyro-ppl / pyro

Deep universal probabilistic programming with Python and PyTorch
http://pyro.ai
Apache License 2.0
8.5k stars 981 forks source link

Stick-breaking variational autoencoder example #1339

Open ssequeira opened 6 years ago

ssequeira commented 6 years ago

I'd like to add a new example for Nalisnick and Smyth's Stick-Breaking Variational Autoencoder.

Since @fritzo and @martinjankowiak have implemented pathwise gradients for the beta distribution, what would be a good first step in this direction?

martinjankowiak commented 6 years ago

sounds great! well, i suppose getting the GEM sampling working would be a good place to start. taking care that the entire thing is properly vectorized. you might even consider wrapping that bit in a custom distribution. that way you could also write a unit test to test your construction for correctness. i think once you've done that, you basically just need to plop it into a vanilla VAE, so that the rest becomes pretty straightforward