Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL
codificador: x → (μ, log σ²)
reparametrización: z = μ + σ·ε, ε ~ N(0,1)
KL en forma cerrada: ½·Σ(σ² + μ² − 1 − log σ²)
Un autoencoder variacional codifica cada entrada no en un punto sino en una distribución del espacio latente, muestrea de ella y decodifica. Esa aleatoriedad es lo que hace del espacio latente algo continuo y muestreable, y lo que permite generar datos nuevos en vez de solo reconstruir.
El problema técnico es que muestrear no es diferenciable: no hay forma de propagar el gradiente a través de una operación aleatoria. El truco de reparametrización lo resuelve moviendo la aleatoriedad fuera del camino del gradiente: se muestrea ε de una normal estándar —que no depende de ningún parámetro— y se construye z = μ + σ·ε. Ahora z es una función determinista y derivable de μ y σ.
Un detalle de implementación que conviene entender: la red predice log σ², no σ. La razón es doble: el logaritmo puede tomar cualquier valor real, con lo que no hay que restringir la salida, y exponenciarlo garantiza que la varianza sea positiva sin artificios.
El término KL entre la posterior aproximada y el prior normal estándar tiene forma cerrada, lo que evita estimarlo por muestreo y reduce la varianza del gradiente. Ese término empuja las distribuciones latentes hacia el prior, y su tensión con el término de reconstrucción es lo que da al VAE su comportamiento característico: muestras suaves y algo borrosas.
Reparametrización en un espacio latente de dimensión 4.
mu = ( 0,5 ; −0,3 ; 0,8 ; 0,1)
log_var = (−0,5 ; −1,0 ; −0,2 ; −0,8)
sigma = exp(log_var/2)
= (0,778801 ; 0,606531 ; 0,904837 ; 0,670320)
Muestreando z = mu + sigma·ε muchas veces:
media empírica = (0,5108 ; −0,2871 ; 0,7997 ; 0,0878)
varianza empírica = (0,5910 ; 0,3745 ; 0,8373 ; 0,4378)
comprobación: sigma² = (0,6065 ; 0,3679 ; 0,8187 ; 0,4493)
coinciden con la varianza empírica ✓
La aleatoriedad está en ε, fuera del camino
del gradiente respecto de mu y sigma.
VAE: reparametrización y el término KL en forma cerrada.
python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/331-variational-autoencoders/lab.py
compmath run 331
dimension_latentemulog_varsigmamedia_empiricavarianza_empiricavarianza_teoricatruco_de_reparametrizacionsin_el_trucoKL(q||N(0,I))KL_si_q=priorposterior_collapse{
"dimension_latente": 4,
"mu": [
0.5,
-0.3,
0.8,
0.1
],
"log_var": [
-0.5,
-1.0,
-0.2,
-0.8
],
"sigma": [
0.778801,
0.606531,
0.904837,
0.67032
],
"media_empirica": [
0.5108,
-0.2871,
0.7997,
0.0878
],
"varianza_empirica": [
0.591,
0.3745,
0.8373,
0.4378
]
}
Generación de imágenes, aprendizaje de representaciones, detección de anomalías, compresión con pérdida y espacios latentes para modelos de difusión.
Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.
10.48550/arxiv.1312.6114 verificado en DataCite (2026-08-19).10.48550/arxiv.1606.05908 verificado en DataCite (2026-08-19).