Deep learning generative models