https://castillosebastian.com/variational_autoencoders/
Generative Models: Variational Autoencoders