VAE (Variational Autoencoder)

Eine generative Modellarchitektur, die Daten in einen latenten Raum komprimiert und daraus neue, ähnliche Daten generieren kann – Grundlage für viele generative KI-Systeme.

Experte2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Encoder komprimiert Daten in latenten Raum, Decoder rekonstruiert
  2. Latenter Raum ist kontinuierlich – ermöglicht Interpolation und Generierung
  3. Grundlage für Latent Diffusion Models (Stable Diffusion)

Sofortantwort

VAE einfach erklärt

Generatives Modell, das Daten komprimiert und neu generiert.

Kurz gesagt
Encoder komprimiert Daten in latenten Raum, Decoder rekonstruiert
Typischer Einsatz
Bildgenerierung, Latent Diffusion, Anomalieerkennung
Wichtig zu wissen
Grundlage für Latent Diffusion Models (Stable Diffusion)

VAE im Überblick

Ein VAE besteht aus zwei Teilen: Encoder (komprimiert Daten) und Decoder (rekonstruiert Daten). Das Besondere: Der latente Raum dazwischen ist eine Wahrscheinlichkeitsverteilung, nicht nur Punkte.

Warum ist das wichtig?

Normaler Autoencoder:
Bild → [Encoder] → Punkt im Raum → [Decoder] → Rekonstruktion
(Kann nur rekonstruieren, nicht generieren)

VAE:
Bild → [Encoder] → Verteilung (μ, σ) → Sample → [Decoder] → Rekonstruktion
(Kann aus der Verteilung neue Samples generieren!)

Anwendung in Stable Diffusion:

Bild (512×512×3) → VAE Encoder → Latent (64×64×4) → Diffusion → VAE Decoder → Bild

Der VAE macht die Diffusion 64× schneller, weil im komprimierten Raum gearbeitet wird.

Technisch betrachtet

Architektur

Input x → Encoder → μ, σ → z = μ + σ·ε → Decoder → x̂
                           (Reparametrization Trick)

Loss Function

L = Rekonstruktions-Loss + KL-Divergenz

Rekonstruktion: ||x - x̂||²  (Wie gut wird rekonstruiert?)
KL-Divergenz: KL(q(z|x) || p(z))  (Wie nah ist der latente Raum an N(0,1)?)

PyTorch Beispiel

class VAE(nn.Module):
    def __init__(self, latent_dim=20):
        super().__init__()
        self.encoder = nn.Sequential(...)
        self.fc_mu = nn.Linear(hidden, latent_dim)
        self.fc_var = nn.Linear(hidden, latent_dim)
        self.decoder = nn.Sequential(...)
    
    def reparameterize(self, mu, log_var):
        std = torch.exp(0.5 * log_var)
        eps = torch.randn_like(std)
        return mu + eps * std
    
    def forward(self, x):
        h = self.encoder(x)
        mu, log_var = self.fc_mu(h), self.fc_var(h)
        z = self.reparameterize(mu, log_var)
        return self.decoder(z), mu, log_var

VAE vs. GAN vs. Diffusion

AspektVAEGANDiffusion
TrainingStabilInstabilStabil
QualitätGutSehr gutExzellent
Latenter RaumStrukturiertUnstrukturiertKeiner
GeschwindigkeitSchnellSchnellLangsam

01Einsatzbereiche

Wann ist VAE sinnvoll?

Geeignet für

  • BildgenerierungNeue Bilder aus dem gelernten latenten Raum generieren
  • Latent DiffusionVAE als Komponente in Stable Diffusion
  • AnomalieerkennungHoher Rekonstruktionsfehler = Anomalie

↑ Inhalt

02Werkzeuge

Womit VAE umgesetzt wird

↑ Inhalt

Merksatz

Ein VAE ist wie ein Künstler, der Gesichter erst auf wesentliche Merkmale reduziert (Encoder) und dann aus diesen Merkmalen neue Gesichter zeichnet (Decoder) – ähnlich, aber nicht identisch zum Original.

  1. Encoder komprimiert Daten in latenten Raum, Decoder rekonstruiert
  2. Latenter Raum ist kontinuierlich – ermöglicht Interpolation und Generierung
  3. Grundlage für Latent Diffusion Models (Stable Diffusion)

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu VAE

Was ist der Unterschied zwischen VAE und normalem Autoencoder?

Ein normaler Autoencoder lernt eine deterministische Kompression. Ein VAE lernt eine Wahrscheinlichkeitsverteilung im latenten Raum – das macht ihn generativ und ermöglicht sinnvolle Interpolation.

Warum nutzt Stable Diffusion einen VAE?

Der VAE komprimiert Bilder (512×512) in einen kleineren latenten Raum (64×64). Die Diffusion findet im latenten Raum statt – das ist viel schneller als Pixel-Diffusion.

Sind VAEs noch relevant neben Diffusion Models?

Ja, als Komponente (Latent Diffusion), für Anomalieerkennung, und in Bereichen wo schnelle Generierung wichtiger ist als maximale Qualität. Standalone werden sie aber oft von Diffusion Models übertroffen.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Latent Space

    Ein Raum, in dem Modelle wesentliche Merkmale von Daten kodieren.

  • Technisch vertiefen

    Diffusionsmodell

    Ein Modell, das Bilder durch Rauschreduzierung generiert.

↑ Inhalt