El GAN de la lección anterior era un peleón: nítido, rápido y propenso a lanzar el mismo puñetazo una y otra vez (colapso de modos). El autocodificador variacional (VAE) es el hermano más tranquilo. En lugar de un generador y un crítico trabados en combate, un VAE tiene dos mitades que cooperan: un codificador que comprime una ventana de precios hasta un diminuto código latente, y un decodificador que intenta reconstruir la ventana a partir de ese código. Entrénalos juntos y la red aprende un resumen compacto y reutilizable de “qué aspecto tiene una ventana de precios plausible”.
El ingrediente extra ingenioso — la parte variacional — es que el VAE no se limita a aprender un código, sino que aprende un espacio de códigos suave y muestreable. Fuerza a ese espacio latente a parecer una nube ordenada con forma de campana, de modo que puedes meter la mano, sacar un código completamente nuevo que nunca has visto, decodificarlo y obtener una trayectoria novedosa pero plausible. Eso es lo que convierte a un humilde compresor en un modelo generativo: entran códigos nuevos, salen datos de mercado nuevos.
El contraste con los GAN recorre toda esta lección. Los VAE son estables (sin tira y afloja adversario que equilibrar), te entregan un latente interpretable que puedes interpolar y dirigir, y casi nunca colapsan a un único modo. Pero lo pagan: sus muestras tienden a salir blandas y demasiado suavizadas — y “suave” es exactamente la palabra equivocada cuando todo el trabajo consiste en reproducir las colas anchas que hacen peligrosos a los mercados. Ten presente esa tensión; la última sección es donde muerde.
De autocodificadores a autocodificadores variacionales
Before you read — take a guess
Un autocodificador corriente (no variacional) se entrena solo para reconstruir sus entradas. ¿Por qué es un mal *generador* de datos nuevos?
Un autocodificador corriente es una máquina de comprimir-y-reconstruir. El codificador mapea una entrada (digamos, una ventana de 60 días de retornos logarítmicos) a un código de baja dimensión ; el decodificador mapea de vuelta a una reconstrucción . Lo entrenas para que . Aprende una compresión estupenda — pero no aprende nada sobre la forma del espacio latente. Los puntos codificados aterrizan dondequiera que los ponga la minimización del error de reconstrucción, dejando vastas regiones vacías entre medias. Muestrea un código al azar y casi con seguridad has aterrizado en un agujero, y el decodificador te entrega un sinsentido.
Analogía. Piensa en el espacio latente como un archivador. Un autocodificador corriente es un archivador llenado por alguien con prisa: cada documento está archivado en algún sitio, y puede recuperar cualquiera que haya visto, pero los cajones tienen enormes huecos vacíos y ningún sistema. Pide “el archivo a medio camino entre estos dos” y sacas un espacio vacío. Un VAE es el archivador de un organizador obsesivo: los archivos están repartidos de forma uniforme y continua, cada sitio en el que metes la mano contiene algo sensato, y los sitios vecinos contienen cosas parecidas.
El VAE consigue esto con dos cambios:
- El codificador no produce un único punto sino una distribución por dimensión latente — una media y una (log-)varianza . Así que se mapea a , una pequeña bola difusa en lugar de un punto preciso.
- Un regularizador atrae cada una de esas bolas hacia una distribución a priori normal estándar compartida . Esto empaqueta las bolas juntas para teselar el espacio sin agujeros, de modo que toda la región cerca del origen pasa a ser muestreable.
En el momento de la generación ignoras por completo el codificador: extrae , pásalo por el decodificador, y sale una ventana de precios fresca y plausible.
Un VAE no es simplemente “un autocodificador con ruido añadido”. El movimiento definitorio es el regularizador KL que da forma al latente convirtiéndolo en una distribución conocida y muestreable. Quita ese término y vuelves a un autocodificador corriente con un latente agujereado — reconstruirá bien y generará como un generador de números aleatorios con mala leche.
Cuándo usarlo
Recurre al enfoque de autocodificador siempre que quieras a la vez un compresor (una representación compacta de ventanas de mercado para modelos posteriores) y un generador a partir de la misma red. Si solo necesitas reconstruir o quitar ruido — nunca muestrear datos nuevos — un autocodificador corriente es más ligero. En el momento en que necesitas extraer trayectorias novedosas, necesitas la maquinaria variacional.
Completa la idea central del codificador del VAE.
Elige la opción correcta para cada hueco y comprueba.
El codificador de un VAE produce una por dimensión latente — en concreto una media y una varianza — en lugar de un único código determinista, y un regularizador la atrae hacia la distribución a priori .
El ELBO: reconstrucción frente a KL
Before you read — take a guess
La pérdida de un VAE tiene dos términos que tiran en direcciones distintas. ¿Qué premia el término KL?
Un VAE se entrena maximizando la cota inferior de la evidencia (ELBO), o de forma equivalente minimizando su negativa. Para una sola entrada la pérdida es:
Dos fuerzas, tirando en sentidos opuestos:
- La reconstrucción quiere que coincida con — codificaría con gusto cada ventana a su propio código privado y remoto si eso diera una reconstrucción más nítida.
- La KL quiere que cada posterior se sitúe cerca de la a priori — colapsaría con gusto cada entrada al mismo código insulso en el origen si eso minimizara la divergencia.
El coeficiente es el mando entre ambas ( recupera el VAE original; el caso general es el -VAE). Observa los extremos:
| Qué favorece la pérdida | Espacio latente | Muestras | |
|---|---|---|---|
| Solo reconstrucción | Agujereado — vuelta a un autocodificador corriente | Nítidas con los datos de entrenamiento, basura desde códigos al azar | |
| Equilibrado | Suave, muestreable | Plausibles pero un poco blandas | |
| grande | Domina la KL | Extremadamente ordenado, pero ignorado | Colapso de la posterior: el decodificador produce la media difusa |
Ejemplo resuelto. Supón que con tu VAE reconstruye una ventana con un error cuadrático medio de y una KL de nats, pérdida total . Sube a . El optimizador encuentra ahora más barato encoger la KL: empuja cada posterior hacia , el latente deja de llevar información sobre , y el decodificador — sin recibir señal útil — recurre a emitir la ventana media para cada entrada. El error de reconstrucción se dispara (digamos a ) pero la pérdida total baja porque el término KL se desplomó. Ese estado degenerado es el colapso de la posterior, y su síntoma sobre el papel es el difuminado: cada muestra parece un borrón descolorido y de reversión a la media.
El colapso de la posterior es el modo de fallo del VAE que refleja el colapso de modos del GAN — pero tiene otro aspecto. El colapso del GAN te da muestras nítidas sin variedad; el colapso del VAE te da muestras variadas solo de nombre, todas medias difusas. Si las salidas de tu VAE parecen todas la misma línea ondulándose suavemente, sospecha que es demasiado alto (o que tu decodificador es demasiado débil para explotar el latente).
Cuándo usarlo
Trata como un dial que ajustas al trabajo. Empujar por encima de 1 compra un latente más desenredado y controlable (bueno para los mandos de escenario de abajo) a costa de la fidelidad. Tirar de él hacia 0 compra reconstrucciones más nítidas a costa de la muestreabilidad. Para datos de mercado, donde ya peleas contra el difuminado, rara vez quieres un grande salvo que necesites específicamente ejes latentes limpios y dirigibles.
Une cada concepto con su definición.
El truco de reparametrización
Before you read — take a guess
El codificador muestrea z de q(z|x) antes de decodificar. ¿Por qué es ese paso de muestreo un problema para entrenar por descenso de gradiente?
Aquí está la pega. El entrenamiento necesita gradientes de la pérdida respecto a las salidas y del codificador. Pero entre el codificador y la pérdida se interpone una extracción aleatoria , y no puedes retropropagar a través de “tirar un dado”. La aleatoriedad bloquea el gradiente.
El truco consiste en apartar la aleatoriedad de en medio. En lugar de muestrear directamente, muestrea una variable de ruido fija y sin parámetros y construye de forma determinista a partir de ella:
donde es la multiplicación elemento a elemento. Ahora es una función diferenciable de y — lo único aleatorio, , es una entrada externa que no lleva ningún gradiente ni parámetros aprendibles. La estocasticidad ha quedado empujada fuera del grafo de cómputo.
Analogía. No puedes derivar “girar una ruleta”. Pero sí puedes derivar “toma un giro aleatorio fijo , luego estíralo por y desplázalo por ”. El casino sigue inyectando aleatoriedad — simplemente has movido tus mandos ajustables (, ) a donde el cálculo puede alcanzarlos.
Ejemplo resuelto. Toma una dimensión latente. La regla de la cadena fluye ahora limpiamente, porque :
Así que si el gradiente aguas arriba de la pérdida en es , entonces y . En concreto, con un muestreado y un aguas arriba, la media del codificador recibe gradiente y su desviación típica recibe . Ambos son finitos, ambos son utilizables — el entrenamiento avanza.
Olvida la reparametrización y muestrea directamente dentro del grafo y tu VAE simplemente no aprenderá el codificador: los gradientes a y son o bien cero o bien indefinidos, así que las cabezas de varianza del codificador deambulan sin rumbo. Esto no es un detalle de optimización — es el único truco que hace al VAE entrenable de extremo a extremo en primer lugar.
Cuándo usarlo
Siempre, para un VAE de latente gaussiano — no es opcional. La misma idea generaliza: cada vez que un modelo debe diferenciar a través de un paso de muestreo, busca una reescritura del tipo “muestrea ruido fijo, luego transforma de forma determinista” (la misma lógica impulsa el calendario de ruido que conocerás en la lección de difusión).
Completa el truco de reparametrización.
Elige la opción correcta para cada hueco y comprueba.
El truco de reparametrización escribe el latente como z = , con ε extraído de , lo que mueve la aleatoriedad del camino del gradiente para que μ y σ sean entrenables.
Un latente suave compra mandos de escenario
Before you read — take a guess
Como el espacio latente de un VAE es continuo y está organizado, puedes hacer algo que un autocodificador corriente no puede hacer de forma fiable. ¿Qué?
Un latente agujereado no sirve para nada más que para los puntos que memorizó. Un latente suave es un patio de recreo. Como cada código cercano decodifica a algo sensato y parecido, el espacio adquiere una geometría útil — y esa geometría es lo que convierte a un VAE en un generador de escenarios (recuerda los usos de datos sintéticos de la lección 1: pruebas de estrés, aumento de datos, compartición respetuosa con la privacidad).
Dos movimientos que el latente suave te da gratis:
- Interpolación. Codifica una ventana en calma al código y
una turbulenta a , luego decodifica la mezcla en línea recta
con barriendo de 0 a
- Cada decodificado es una ventana plausible entre los dos regímenes — mercados más calmados que la tormenta pero más agitados que la calma chicha. Las interpolaciones de un autocodificador corriente pasan por agujeros y decodifican a papilla.
- Direcciones latentes como diales. Si un eje concreto del latente correlaciona con la volatilidad realizada, sumar un múltiplo de esa dirección a un código sube o baja la turbulencia dejando otras características más o menos intactas — un mando de “subir la vol” listo para usar en escenarios de estrés.
Ejemplo resuelto (conceptual). Quieres una trayectoria de estrés que sea “este trimestre, pero un 50% más áspera”. Codifica el trimestre a . Encuentra la dirección de volatilidad (p. ej. el eje latente a lo largo del cual las ventanas decodificadas se vuelven más agitadas). Decodifica . Sale el mismo régimen general — misma deriva, misma forma áspera — pero con bandazos intradía visiblemente más anchos, listo para alimentar un motor de riesgo. Generaste un escenario contrafactual dirigiendo, no remuestreando desde cero. Esa controlabilidad es algo que el latente enredado de un GAN tiene dificultades para ofrecer.
La suavidad no garantiza que los ejes latentes sean diales limpios e independientes — eso es el desenredo, y normalmente tienes que pelear por él (subiendo , arquitecturas especiales). De fábrica, la “dirección de volatilidad” puede estar enredada con la deriva o la tendencia, así que empujar tu mando de vol puede arrastrar calladamente otras propiedades. Valida que un mando hace solo lo que crees antes de confiar en él en una prueba de estrés.
Cuándo usarlo
Apóyate en la interpolación y la dirección latentes cuando necesites escenarios controlados e interpretables — “muéstrame la trayectoria entre estos dos regímenes”, “dame una variante de alta vol de la semana pasada”. Para realismo crudo sin requisito de dirección, la geometría latente es un bonus, no el objetivo. Es más valiosa para las pruebas de estrés y la generación de hipótesis, donde te importa cómo difiere una muestra de una de referencia.
Clasifica cada elemento como fortaleza o debilidad del VAE.
Coloca cada elemento en su grupo.
- Rara vez sufre el colapso de modos al estilo GAN
- Las muestras salen blandas y demasiado suavizadas
- Puede sufrir colapso de la posterior si β es demasiado alto
- Direcciones dirigibles para mandos de escenarios de estrés
- Entrenamiento estable sin equilibrismo adversario
- Subproduce los movimientos extremos de cola
- Latente suave que puedes interpolar entre regímenes
Por qué los VAE difuminan las colas anchas
Before you read — take a guess
Los VAE son célebres por producir muestras de mercado demasiado suavizadas. ¿Qué factores empujan a un VAE hacia el difuminado y las colas finas? (Selecciona todas las que correspondan.)
Ahora la pega que hace de los VAE un valor por defecto arriesgado para datos de mercado. Todo lo que hace a un VAE estable y ordenado también lo hace regresar hacia la media — y “la media” es precisamente donde no está el peligro.
Conspiran tres fuerzas:
- Verosimilitud gaussiana. El decodificador estándar maximiza una log-verosimilitud gaussiana, lo que equivale a minimizar el error cuadrático. El error cuadrático se minimiza prediciendo la media condicional, y castiga las grandes desviaciones brutalmente — así que el modelo aprende a evitar las salidas extremas. Las distribuciones reales de retornos son leptocúrticas (las colas anchas de la lección 2); un objetivo gaussiano trata esas colas como errores caros que hay que suavizar.
- Promediado sobre la posterior. La salida decodificada integra de hecho sobre la bola latente difusa . Promediar es un filtro paso bajo: los picos nítidos y los cambios bruscos de régimen quedan difuminados hacia algo más suave.
- Presión KL hacia la a priori. Los códigos latentes lejanos que decodificarían a auténticos cracks son exactamente los que el término KL desincentiva — se sitúan en las faldas de baja densidad de . Empuja todo hacia el centro y empujas los extremos fuera de la mesa.
Evaluado contra la rúbrica de hechos estilizados de la lección 2, un VAE estándar saca unas notas mixtas:
| Hecho estilizado | VAE estándar |
|---|---|
| Colas pesadas/anchas (exceso de curtosis) | Débil — las colas salen demasiado finas; los movimientos extremos se subproducen |
| Agrupamiento de volatilidad | Débil–moderado — los agrupamientos nítidos quedan difuminados por el promediado |
| Autocorrelación de retornos despreciable | Normalmente bien |
| Marginal aproximadamente simétrica y de media casi nula | Buena — el grueso de la distribución se captura bien |
| Estabilidad de las muestras / sin colapso | Buena — mucho más fiable de entrenar que un GAN |
En una línea: un VAE clava el centro de la distribución y suspende los bordes — lo contrario de lo que necesita un modelo de riesgo, donde los bordes son el producto.
Esta es la debilidad de titular, así que interiorízala: un VAE estándar te entregará retornos sintéticos cuyas colas son demasiado finas y cuyos peores días son demasiado mansos. Mételos en un motor de Valor en Riesgo o de estrés y subestimarás sistemáticamente el riesgo — el error más caro del manual. Si tienes que usar un VAE para trabajo sensible a las colas, debes contraatacar explícitamente: una verosimilitud del decodificador de colas más pesadas (Student- en lugar de gaussiana), un más bajo, un decodificador autorregresivo o una corrección de colas a posteriori. De fábrica, la calma de un VAE es una mentira sobre las colas.
La imagen de abajo muestra la firma reveladora: la distribución de retornos sintéticos de un VAE queda demasiado estrecha y demasiado fina en las alas comparada con la cosa real de colas anchas — el difuminado hecho visible.
Los retornos sintéticos demasiado suavizados de un VAE (alas finas y ligeras) frente a una distribución de retornos real, de colas anchas: el grueso coincide, pero los extremos que más importan para el riesgo faltan.
Cuándo usarlo
Usa un VAE cuando la estabilidad, un latente controlable y un grueso fiel de la distribución importen más que clavar los extremos — bocetos exploratorios de escenarios, aumento de datos para el caso común, aprendizaje de representaciones. Evita un VAE estándar como tu único motor para trabajo de riesgo de cola (VaR, estrés, agrupamiento extremo) sin arreglos explícitos de colas. Cuando las colas nítidas son innegociables, un GAN (más nítido, lección 4) o un modelo de difusión (lección 6) suele ser el mejor punto de partida.
Recapitulación
Un autocodificador variacional empareja un codificador que comprime una ventana de precios en una distribución sobre un código latente con un decodificador que reconstruye la ventana — y el giro variacional fuerza ese latente hacia una nube suave y muestreable con forma de , de modo que los códigos nuevos decodifican a trayectorias novedosas. El entrenamiento minimiza el ELBO: un término de reconstrucción frente a un término KL ponderado por , donde degenera en un autocodificador corriente agujereado y un grande desencadena el colapso de la posterior. El truco de reparametrización () empuja la aleatoriedad fuera del camino del gradiente para que el codificador sea entrenable en absoluto. La recompensa es un latente suave que puedes interpolar y dirigir para escenarios y pruebas de estrés — mucho más estable e interpretable que un GAN. El precio es el difuminado: una verosimilitud gaussiana, el promediado de la posterior y la presión KL empujan todos el modelo hacia la media, así que subproduce las colas anchas de las que vive y muere el trabajo de riesgo. Estable y fiel en el centro; blando y peligroso en los bordes.
Big picture
- Autocodificadores variacionales para datos de mercado
- Arquitectura
- Codificador → distribución (μ, σ) por dim latente
- Decodificador → reconstruye la ventana desde un código z
- Muestrea z ~ N(0, I) → decodifica → trayectoria novedosa
- Pérdida ELBO
- Reconstrucción: decodificado ≈ entrada
- β · KL: la posterior se queda cerca de N(0, I)
- β → 0: autocodificador corriente agujereado
- β grande: colapso de la posterior → media difusa
- Truco de reparametrización
- z = μ + σ ⊙ ε, ε ~ N(0, I)
- Aleatoriedad movida fuera del camino del gradiente
- Hace entrenables μ, σ — el codificador
- Mandos de escenario latentes
- Interpola regímenes en calma ↔ turbulentos
- Dirige una dirección latente para regular la volatilidad
- Pruebas de estrés y generación de hipótesis
- Debilidad: colas difuminadas
- La verosimilitud gaussiana busca la media
- El promediado de la posterior difumina características nítidas
- La presión KL desincentiva los códigos extremos
- Subestima las colas anchas → arriesgado para VaR/estrés
- Arquitectura
VAE para datos de mercado: la imagen completa
¿Qué afirmación sobre un VAE frente a un GAN es VERDADERA?
Comprueba tu respuesta para continuar.