https://medium.com/@monocosmo77/how-developed-have-variational-autoencoders-become-part2-machine-learning-88a571f98d69