VQ-VAE (Vector Quantised Variational AutoEncoder) ist eine Variante des Variational Autoencoders, die statt kontinuierlicher Latent-Codes diskrete Codes lernt. Entwickelt wurde sie 2017 von Aaron van den Oord et al. (DeepMind) in der Arbeit „Neural Discrete Representation Learning" (NeurIPS, arXiv 1711.00937).
Funktionsweise
Der Encoder gibt einen Vektor aus, der auf den nächstgelegenen Eintrag eines lernbaren Codebuchs (Embedding-Tabelle) abgebildet wird. Decoder und Codebuch werden gemeinsam trainiert, ergänzt um einen Commitment-Loss, der Encoder und Codebuch eng hält. Anders als beim klassischen VAE wird der Prior nicht statisch angenommen, sondern gelernt.
Anwendungen
- Diskrete Bild-Repräsentationen für Transformer-Modelle (z. B. VQGAN, DALL-E)
- Audio- und Musikgenerierung mit diskreten Tokens
- Kompakte Latent-Räume für generative Modelle
VQ-VAE gehört zur Familie der Autoencoder. Die gelernten Codes dienen als Grundlage für latente Diffusionsmodelle wie Latent Diffusion und Stable Diffusion, deren Denoiser mit Score-Matching-artigen Zielen trainiert werden — bei Stable Diffusion 3 mit Rectified Flow.
Verwandte Grundlagen: Diffusion Model, Flow Matching, Score-Based Model.