Semi-Supervised Learning with Deep Generative Models