The architecture surely matters, but usually formulation is what is most important. The approach I described is called Variational Autoencoder, or VAE. It uses two deep networks to represent a probabilistic model, and tries to get a high likelihood solution by optimizing a lower bound. Architectural choices for these networks can vary.