Arena de Batalla GAN
Entender dinámicas de entrenamiento adversarial
Aprender competencia Generador vs Discriminador
Explorar manipulación de espacio latente
Reconocer problema de colapso de modos
Arena de Batalla GAN
Observa Generador y Discriminador competir en entrenamiento adversarial
Guía de Aprendizaje
Elige tu estilo de aprendizaje
¿Qué Hace?
Simula entrenamiento adversarial entre redes Generator y Discriminator. Demuestra dinámicas de entrenamiento GAN: mode collapse, gradientes desvanecientes, equilibrio Nash. Visualiza interpolación de espacio latente y generación de datos sintéticos.
¿Cómo Funciona?
- 1Generator: G(z) mapea latente z~N(0,I) a espacio de datos. Objetivo: engañar D
- 2Discriminator: D(x) produce probabilidad x es real. Objetivo: distinguir real de falso
- 3Juego minimax: min_G max_D E[log D(x)] + E[log(1 - D(G(z)))]
- 4Entrenamiento: alternar actualizaciones D (k pasos) con actualizaciones G (1 paso). k=5 típico
- 5Mode collapse: G genera diversidad limitada, D sobreajusta a datos reales
- 6Soluciones: Wasserstein GAN (gradient penalty), Spectral Normalization, feature matching
Analogía Simple
GAN = falsificador (G) vs detective (D). G aprende a falsificar imágenes realistas, D aprende a detectar falsificaciones. Carrera armamentista impulsa a ambos a mejorar. Equilibrio = G genera falsificaciones perfectas, D no puede distinguir (50% accuracy).
Concepto Clave
GANs habilitan aprendizaje no supervisado de distribuciones complejas. Aplicaciones: síntesis de imágenes (StyleGAN), data augmentation, super-resolución. Desafíos: inestabilidad de entrenamiento, mode collapse. Moderno: modelos de difusión superan GANs.
Conceptos Fundamentales
Entrenamiento Adversarial
Dos redes entrenan simultáneamente en competencia. Generator mejora engañando Discriminator. Discriminator mejora atrapando Generator.
Mode Collapse
Generator produce variedad limitada. Todas las salidas se ven similares (mismo modo). Solución: minibatch discrimination, feature matching, Unrolled GAN.
Equilibrio Nash
Estado óptimo: Generator produce falsificaciones perfectas, Discriminator no puede distinguir (50% accuracy). Rara vez logrado debido a inestabilidad de entrenamiento.
Aplicaciones del Mundo Real
Síntesis de Imágenes (StyleGAN)
Generar caras fotorrealistas, arte. StyleGAN2/3 usado en generación de arte, assets de juegos, avatares virtuales.
Data Augmentation
Generar datos de entrenamiento sintéticos cuando datos reales son escasos. Imagenología médica: generar muestras de enfermedades raras para entrenamiento de modelo.
Super-Resolución
Escalar imágenes baja-res a alta-res. SRGAN usado en mejora de fotos, upscaling de video, imagenología satelital.
Pruébalo Tú Mismo
Interpolación de Espacio Latente
Muestrear z1, z2 desde espacio latente. Interpolar z_t = (1-t)z1 + t*z2. Generar G(z_t) para transición suave entre imágenes.
Dinámicas de Entrenamiento
Visualizar D loss vs G loss sobre iteraciones. Saludable: oscilando, balanceado. No saludable: D loss → 0 (G falla), G loss → ∞ (mode collapse).
Errores Comunes a Evitar
❌ Entrenar D demasiado
¿Por Qué? D se vuelve muy fuerte, G no recibe gradiente útil. Usa k=5 actualizaciones D por actualización G, no k=50.
❌ Ignorar mode collapse
¿Por Qué? G produce misma salida repetidamente. Monitorea diversidad de salida. Usa feature matching o minibatch discrimination.
Época: 0
Red Generadora
Red Discriminadora
Dinámicas de Entrenamiento GAN
Juego min-max: Generador intenta engañar Discriminador (maximizar pérdida D), Discriminador intenta distinguir real de falso (minimizar pérdida D). Equilibrio Nash cuando ambos son igualmente fuertes.
Espacio Latente
Vector de ruido aleatorio z (típicamente 100-512 dims) muestreado de N(0,1). Generador mapea z a imágenes realistas. Valores z similares producen outputs similares.
Colapso de Modo
Generador produce variedad limitada, ignorando partes de distribución de datos. Causado por G encontrando output único que engaña D. Soluciones: discriminación minibatch, pérdida Wasserstein.
Arquitectura GAN
G: ruido → imagen (4-6 capas conv transpuestas). D: imagen → real/falso (4-6 capas conv). Entrenados alternativamente: actualizar D con real+falso, luego actualizar G para engañar D.