Generative Models Explained