Generative modeling can be used for problems beyond just generation, such as anomaly detection, determining factors of variation in datasets, domain adaptation between not-aligned datasets, and building better embeddings for supervised learning tasks. Generative models can model the underlying distribution of data to check if a point belongs to that distribution or create new points from the distribution. They can learn low-dimensional manifolds on which real-world high-dimensional data like images lie. This allows generative models to be applied to challenges like filtering, style transfer, and improving embeddings to boost performance on downstream tasks.