user@devops:~$ cat README.md
VAE Generativo
# Descripción
VAE (Variational Autoencoder) implementado desde cero en PyTorch sobre Fashion-MNIST. A diferencia de un autoencoder clásico, el VAE aprende una distribución de probabilidad en el espacio latente (media μ y log-varianza) y usa el truco de la reparameterización (z = μ + ε·σ) para poder generar imágenes nuevas. Arquitectura: Encoder 784→128→64→16 (capas Linear + ReLU), Decoder 16→64→128→784 con Sigmoid, 221,360 parámetros totales. Loss = BCE (reconstrucción) + KL divergence (regularización del espacio latente hacia N(0, I)). Entrenado 30 épocas sobre 5,000 muestras en CPU (50s). Resultados en test: Recon Loss 247.6, KL 11.46, 0.456 bits/píxel, sin sobreajuste (train 255.5 vs test 259.0). Hallazgos: (1) el espacio latente se organiza por clases — la proyección PCA 2D de los 10,000 test muestra agrupaciones semánticas claras (zapatillas, pantalones, bolsos); (2) la interpolación latente entre una bota y un bolso produce transiciones suaves y plausibles; (3) cada dimensión latente codifica un atributo visual (ancho, forma del cuello); (4) las reconstrucciones son fieles pero suavizadas, típico del VAE. Incluye 6 visualizaciones: curvas de entrenamiento, original vs reconstruido, espacio latente PCA 2D coloreado por clase (55% varianza explicada), 64 imágenes generadas desde ruido, interpolación latente y latent traversal.
# Características principales
$ VAE desde cero en PyTorch: Encoder 784→128→64→16 y Decoder 16→64→128→784 (221,360 params)
$ Truco de la reparameterización (z = μ + ε·σ) para backprop a través del muestreo
$ Loss = BCE + KL: equilibrio entre fidelidad de reconstrucción y espacio latente regularizado
$ Generación de imágenes nuevas muestreando z ~ N(0, I) y decodificando
$ Espacio latente continuo: interpolación entre prendas con transiciones suaves (morphing)
$ Latent traversal: análisis de qué atributo visual codifica cada dimensión latente
$ Proyección PCA 2D del espacio latente coloreada por clase (55% varianza explicada)
$ CPU-optimizado: 30 épocas sobre 5,000 muestras en 50s, sin sobreajuste (test 259.0)
# Galería
# Tecnologías utilizadas