Edward inference engine

This is more conceptual learning question, once we give prior to the weights and run inference engine(Variational Inference/MAP etc). How does the inference update the weights value. Is there a back-propagation like sgd etc involved underneath the inference engine? I was thinking prior and likelihood produces posterior and latter that posterior change into prior and continuously get updated and refined, is it? Also I was able to make 1 layer(1 weight and bias) NN work, can I cascade multiple layer to make it run. Also does normal cnn for classification can be done in edward? And final thing is , is there some code or tutorial to use pymc3 with edward?