Reviews: VAE Learning via Stein Variational Gradient Descent

Neural Information Processing Systems 

However I feel that the presentation could be improved and more details about the (complicated) implementation should have been included. For instance, first p(x z_n ; \theta) is called the "encoder", then q(z x ; \phi) is called the "encoder" - which is it, and why is it given this name?