# Mathematical Foundations of Generative AI

- Institution: IISc Bangalore
- Department: Computer Science and Engineering
- Teacher: Prof. Prathosh A. P
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106108004)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106108004)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

This course provides an in-depth exploration of deep generative models, including their probabilistic foundations and learning algorithms. Students will learn about various types of deep generative models such as variational autoencoders, generative adversarial networks, autoregressive models, Diffusion Models and Large Language Models. The course will cover both theoretical foundations and practical implementations of these models using popular frameworks like PyTorch. Students will gain hands-on experience through lectures and assignments, allowing them to explore deep generative models across various AI tasks.

Intended audience: Academics and Industry

Prerequisites: Probability, Course in Machine Learning

## Lectures

1. [Introduction](https://invisiblenetwork.ai/learn/nptel/106108004/dc944c904c8c) (YouTube)
2. [Tutorial 1 : Introduction to Python Basics](https://invisiblenetwork.ai/learn/nptel/106108004/ea934867f1ec) (YouTube)
3. [Tutorial 2 : Introduction to Numpy](https://invisiblenetwork.ai/learn/nptel/106108004/79aa88a129f1) (YouTube)
4. [Generative Models : Problem Formulation](https://invisiblenetwork.ai/learn/nptel/106108004/24ae6576f327) (YouTube)
5. [Tutorial 3 : PyTorch Basics](https://invisiblenetwork.ai/learn/nptel/106108004/1040b7bdc0a2) (YouTube)
6. [Tutorial 4 : CNNs using PyTorch](https://invisiblenetwork.ai/learn/nptel/106108004/b7bf8cb35abb) (YouTube)
7. [Tutorial 5 : RNNs using PyTorch](https://invisiblenetwork.ai/learn/nptel/106108004/5c37f9b7c937) (YouTube)
8. [Tutorial 6 : Transfer Learning with PyTorch](https://invisiblenetwork.ai/learn/nptel/106108004/5372e3e815da) (YouTube)
9. [Tutorial 7 : Review of Basic Probability 1](https://invisiblenetwork.ai/learn/nptel/106108004/07856aa4aed8) (YouTube)
10. [Tutorial 8 : Review of Basic Probability 2](https://invisiblenetwork.ai/learn/nptel/106108004/dccb4334004f) (YouTube)
11. [Tutorial 9 : Review of Basic Probability 3](https://invisiblenetwork.ai/learn/nptel/106108004/4ca39c4db322) (YouTube)
12. [Tutorial 10 : Review of Machine Learning 1](https://invisiblenetwork.ai/learn/nptel/106108004/a33022e045d0) (YouTube)
13. [f-Divergence and Examples](https://invisiblenetwork.ai/learn/nptel/106108004/d71199192a13) (YouTube)
14. [Tutorial 11 – f-Divergence and Examples](https://invisiblenetwork.ai/learn/nptel/106108004/667b70d89c43) (YouTube)
15. [Variational Divergence Minimization (VDM)](https://invisiblenetwork.ai/learn/nptel/106108004/6caa792b9b9a) (YouTube)
16. [Generative Adversarial Networks (GANs)](https://invisiblenetwork.ai/learn/nptel/106108004/0f26c9339a8b) (YouTube)
17. [Tutorial 12 : Implementations of Vanilla GAN, DCGAN and Conditional GAN](https://invisiblenetwork.ai/learn/nptel/106108004/b9a255a95be5) (YouTube)
18. [Wasserstein GAN (WGAN)](https://invisiblenetwork.ai/learn/nptel/106108004/92db5eba7a2a) (YouTube)
19. [Inversion with GANs and FID](https://invisiblenetwork.ai/learn/nptel/106108004/25dee387cace) (YouTube)
20. [Latent Variable Models and Introduction to Variational Autoencoder (VAE)](https://invisiblenetwork.ai/learn/nptel/106108004/3ca825e7dd7c) (YouTube)
21. [VAEs Part 1](https://invisiblenetwork.ai/learn/nptel/106108004/2a78d6840bde) (YouTube)
22. [VAEs Part 2](https://invisiblenetwork.ai/learn/nptel/106108004/a5597c7f08e8) (YouTube)
23. [Beta- VAE](https://invisiblenetwork.ai/learn/nptel/106108004/e27c59740ca1) (YouTube)
24. [Vector Quantised VAE](https://invisiblenetwork.ai/learn/nptel/106108004/6ccb505a61ee) (YouTube)
25. [Introdution to Diffusion models](https://invisiblenetwork.ai/learn/nptel/106108004/fd80243b3860) (YouTube)
26. [Diffussion Models - Part 1](https://invisiblenetwork.ai/learn/nptel/106108004/29a621f5e30b) (YouTube)
27. [Diffussion Models - Part 2](https://invisiblenetwork.ai/learn/nptel/106108004/05f80dd7c277) (YouTube)
28. [Tutorial 13 : Wasserstein GAN (WGAN) Implementation using Gradient Clip](https://invisiblenetwork.ai/learn/nptel/106108004/162aa366bc3c) (YouTube)
29. [Tutorial 14 : Wasserstein GAN (WGAN) Implementation using Gradient Penalty](https://invisiblenetwork.ai/learn/nptel/106108004/d4f5566ab2ac) (YouTube)
30. [Tutorial 15 : VAE and Beta-VAE Implementation](https://invisiblenetwork.ai/learn/nptel/106108004/8dbad338ed8c) (YouTube)
31. [Pedagogy in the Times of AI](https://invisiblenetwork.ai/learn/nptel/106108004/009a933ab013) (YouTube)
32. [Diffussion Models - Part 3](https://invisiblenetwork.ai/learn/nptel/106108004/6e9860152d99) (YouTube)
33. [Diffussion Models - Part 4](https://invisiblenetwork.ai/learn/nptel/106108004/be752d8ce2c7) (YouTube)
34. [Tutorial 16 : Implementation of VQ-VAE](https://invisiblenetwork.ai/learn/nptel/106108004/8a205788e45b) (YouTube)
35. [Tutorial 17 : Implementation overview of Diffusion Models](https://invisiblenetwork.ai/learn/nptel/106108004/36274a7015aa) (YouTube)
36. [Flow Matching Part 1](https://invisiblenetwork.ai/learn/nptel/106108004/5f72d759ffb4) (YouTube)
37. [Flow Matching Part 2](https://invisiblenetwork.ai/learn/nptel/106108004/df5e179c9506) (YouTube)
38. [Tutorial 18: Implementation of Diffussion Models Part 1](https://invisiblenetwork.ai/learn/nptel/106108004/0a249a8bc22c) (YouTube)
39. [Tutorial 19: Implementation of Diffussion Models Part 2](https://invisiblenetwork.ai/learn/nptel/106108004/588262e74c05) (YouTube)
40. [Flow Matching Part 3](https://invisiblenetwork.ai/learn/nptel/106108004/308c487937c2) (YouTube)
41. [Flow Matching Part 4](https://invisiblenetwork.ai/learn/nptel/106108004/e13a40251a02) (YouTube)
42. [Auto Regressive models and Transformers](https://invisiblenetwork.ai/learn/nptel/106108004/94e146152698) (YouTube)
43. [Reinforcement Learning for Language Model Allignment](https://invisiblenetwork.ai/learn/nptel/106108004/2be71e54125d) (YouTube)
44. [Reward Modelling](https://invisiblenetwork.ai/learn/nptel/106108004/77a251f754af) (YouTube)
