An autoencoder compresses input to a latent code whose interpolations generate smooth variations
An autoencoder pairs an encoder (compresses input x to a low-dimensional latent vector z) with a decoder (reconstructs x from z). Because the latent space is compact and continuous, interpolating between two codes z1 and z2 produces intermediate outputs that smoothly blend features of both inputs — without those intermediates ever appearing in training. ml4a’s Autoencoders guide trains one on the QuickDraw sketch dataset and generates latent-space interpolations from it. A variational autoencoder (VAE) adds a probabilistic constraint that fills the latent space more uniformly, improving interpolation and enabling principled sampling of novel outputs. The common misconception: a plain autoencoder does not generate truly new examples — it reconstructs from compressed codes, and interpolations of an under-regularized autoencoder can be blurry or nonsensical; a VAE addresses this.
Examples
Train an autoencoder on QuickDraw cat sketches, map a joystick to the first two latent dimensions, and move it to morph smoothly between different cat drawings.
Assessment
Give the one-sentence difference between an autoencoder and a VAE, then explain why interpolating two latent codes of a plain autoencoder may produce blurry output.