VQ-VAE
The 2017 DeepMind paper that introduced the Vector Quantized Variational Autoencoder, turning continuous images into sequences of discrete, learnable 'tokens'.
Paper: Neural Discrete Representation Learning
Authors: Aäron van den Oord, Oriol Vinyals, Koray Kavukcuoglu · 2017
Read the paperThe Problem
Deep learning architectures like Transformers and RNNs were highly successful at modeling sequences of discrete tokens (like words in a language). However, images are continuous (millions of pixel values). Standard Autoencoders or Variational Autoencoders (VAEs) compressed images into continuous latent spaces. If researchers wanted to use powerful, autoregressive NLP models to generate images, they needed a way to translate continuous visual data into a discrete "vocabulary" without losing fidelity.
The Idea
DeepMind proposed the Vector Quantized Variational Autoencoder (VQ-VAE). It acts like a standard autoencoder, but with a crucial "bottleneck" in the middle: a learned Codebook. When the encoder compresses an image patch into a continuous vector, the VQ-VAE looks up the closest discrete vector in the codebook and uses that instead. This forces the model to represent the entire image as a grid of discrete integers (like words), which the decoder learns to translate back into a high-quality image.
How It Works
The architecture has three parts:
- Encoder: Maps the input image into a grid of continuous vectors.
- Vector Quantization (The Codebook): The model maintains a dictionary of embeddings (the codebook). For every vector output by the encoder, the model calculates the nearest neighbor in the codebook and replaces the continuous vector with that discrete codebook vector.
- Decoder: Takes this grid of discrete vectors and reconstructs the image.
To train the model (since the "nearest neighbor" operation is non-differentiable), they used a straight-through estimator to pass gradients directly from the decoder to the encoder, while applying separate losses to update the codebook vectors.
Why It Mattered
VQ-VAE solved the "continuous to discrete" problem for vision. It proved that you could compress a massive high-resolution image into a tiny grid of discrete "visual tokens" without losing much visual quality. This allowed researchers to treat images exactly like text.
What Came After
VQ-VAE (and its successor, VQ-GAN) became the foundational architecture for the first wave of massive text-to-image models. It is the exact compression mechanism used by OpenAI's DALL-E 1 and Google's Parti. The concept of discrete visual tokens continues to be heavily used in multimodal autoregressive models and video generation.