Neural Networks Variational Autoencoders (based on slides from Dan Schwarts and Tom Manzini)