$ cd ../
VAE Generativo — bash

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

Terminal de entrenamiento
VAE Generativo - Terminal de entrenamiento
64 imágenes generadas
VAE Generativo - 64 imágenes generadas
Espacio latente PCA 2D
VAE Generativo - Espacio latente PCA 2D
Original vs reconstrucción
VAE Generativo - Original vs reconstrucción
Latent traversal
VAE Generativo - Latent traversal

# Tecnologías utilizadas

PyTorch Python NumPy Matplotlib scikit-learn