ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 020

VAE

Variational autoencoder

Soñador latente

No guarda sus recuerdos como fotos sino como nubes de probabilidad. Si le pedís que sueñe, elige un punto cualquiera de su mapa interior y lo revela como un dígito o una cara que nunca existió. Sus sueños salen un poco borrosos, como vistos a través de un vidrio empañado.

Altura
Codificador 1 + decodificador 1 oculta (MLP, 2013)
Peso
≈ 3 MB (fp32)
Parámetros
≈ 0,8 M (MNIST, latente de 20 dim; est.)
Contexto
1 imagen (28 × 28 px)
Datos de entrenamiento
MNIST (60 000) · Frey Face (≈ 2000)
Año
2013
Generación
3 · Aprendizaje profundo
Creadores
Kingma & Welling (Universiteit van Amsterdam)
Clase
Arquitectura

Estadísticas base

Total
131

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • Muestras borrosas cuando se entrena con pérdidas píxel a píxel.
  • Tensión entre reconstruir con fidelidad y mantener ordenado el espacio latente.
  • Nada garantiza que cada eje latente corresponda a un rasgo nombrable.
  • Optimiza una cota inferior de la verosimilitud, no la verosimilitud misma.

Hábitat

Nació entre los dígitos manuscritos de MNIST y unas dos mil fotos de la cara de Brendan Frey, tomadas de un video casero. Hoy vive escondido dentro de los modelos de difusión latente, donde comprime cada imagen antes de que empiece el trabajo y la descomprime al final, y en los manuales de aprendizaje profundo como primer ejemplo de modelo generativo.

Movimientos

Habilidades

Truco de reparametrización
El azar entra como ruido externo (z = μ + σ ⊙ ε), así que el gradiente puede atravesar el paso de muestreo.
Espacio latente sin agujeros
El término KL empuja todos los códigos hacia N(0, I): casi cualquier punto del espacio se decodifica en algo verosímil.
Ida y vuelta
Codificador y decodificador comparten el mismo espacio latente: va del ejemplar a la abstracción y de la abstracción al ejemplar.

Anatomía

pesos compartidosImagen xCodificador (MLP)Medias μDesvíosσRuido ε ~N(0, I)z = μ + σ ⊙ εDecodificador (MLP)Reconstrucción x̂Pérdida: reconstr. + KLPunto z ~ N(0, I)Mismo decodificadorImagen nuevaEntrenamientoGeneración

Izquierda: en el entrenamiento, el codificador produce medias y desvíos, se muestrea z con el truco de reparametrización y se penaliza el error de reconstrucción más la divergencia KL. Derecha: para generar, basta sortear un punto de N(0, I) y pasarlo por el decodificador.

Cadena evolutiva

020 VAE

Un VAE es un codificador–decodificador que aprende a comprimir imágenes (u otros datos) en un espacio latente de pocas dimensiones y, sobre todo, a volver de ese espacio a ejemplares verosímiles. Su diferencia con un autocodificador común es que no codifica cada entrada como un punto sino como una distribución de probabilidad. Lo propusieron Kingma y Welling (2014) en diciembre de 2013; Rezende et al. (2014) llegaron a una idea equivalente de forma independiente (2014, sec. 4).

Cómo funciona

El modelo tiene tres piezas (Kingma y Welling, 2014, sec. 3):

  1. Un codificador recibe una imagen x y devuelve dos vectores, medias μ y desvíos σ. Juntos describen una campana gaussiana en el espacio latente: la región donde probablemente vive el código de x.
  2. Se muestrea un código z de esa región. Para que el sorteo no corte el flujo de gradientes se usa el truco de reparametrización: z = μ + σ ⊙ ε, con ε extraído de N(0, I). El azar entra como un insumo externo y la retropropagación puede atravesar μ y σ (2014, sec. 2.4).
  3. Un decodificador convierte z de nuevo en una imagen.

La función de pérdida (el negativo de la «cota inferior variacional») tiene dos términos: un error de reconstrucción y una divergencia de Kullback–Leibler que castiga que la distribución de cada código se aleje de N(0, I). Los autores leen este segundo término como un regularizador (2014, sec. 2.3). Terminado el entrenamiento, el codificador puede descartarse: se sortea un punto de N(0, I), se lo decodifica y aparece un ejemplar nuevo.

Los experimentos originales eran modestos: perceptrones con una sola capa oculta (500 unidades para MNIST, 200 para unas dos mil fotos de la cara de Brendan Frey) y espacios latentes de 2 a 200 dimensiones (2014, sec. 5).

Qué cambió

Un autocodificador común asigna a cada imagen un punto y deja el resto del espacio sin uso: entre dos códigos hay «agujeros» que se decodifican como basura. El problema no es trivial. Chollet (2021) recuerda que el promedio píxel a píxel de dos dígitos de MNIST casi nunca es un dígito, y que interpolar con sentido exige moverse sobre la variedad latente de los datos (2021, sec. 5.1.2). El término KL obliga a los códigos a solaparse cerca del origen, de modo que el espacio queda lleno: cualquier camino entre dos puntos produce transformaciones graduales y verosímiles. Buckner (2024) lo describe como un espacio latente «más suave», en el que medias y desvíos separan los factores de variación y permiten muestrearlos de manera coherente (2024, pp. 215–217). Chollet dedica una sección a implementarlo en Keras, con «vectores de concepto» para editar imágenes (2021, sec. 12.4).

El otro cambio es de linaje: el VAE unió el aprendizaje profundo con la tradición bayesiana de los modelos de variables latentes. Las GAN, nacidas seis meses después, renunciaron a esa herencia: no representan explícitamente ninguna distribución (Goodfellow et al., 2014, sec. 6).

Formas y descendencia

Su forma más difundida hoy es invisible. Los modelos de difusión latente no trabajan sobre píxeles sino sobre el espacio latente de un autocodificador; una de las variantes estudiadas impone una leve penalización KL «similar a un VAE» y se entrena, además, con una pérdida adversarial para evitar la borrosidad (Rombach et al., 2022, sec. 3.1). En Stable Diffusion, la versión pública de ese trabajo, cada imagen sale al final por un decodificador de ese tipo.

Límites

  • Borrosidad: con pérdidas píxel a píxel, las muestras salen suaves y desenfocadas, justo el defecto que la pérdida adversarial de la difusión latente intenta corregir.
  • Tensión entre términos: más peso al KL da un espacio más ordenado pero reconstrucciones peores; variantes como β-VAE ajustan ese equilibrio para obtener factores más interpretables (Buckner, 2024, p. 217).
  • Ejes opacos: nada garantiza que cada dimensión latente corresponda a un rasgo que un humano sabría nombrar.

Fuentes