46 · Redes generativas adversarias (GANs)
Dos redes se baten en duelo: un generador falsifica muestras y un discriminador intenta atraparlas. Su juego minimax produce imágenes asombrosamente nítidas — pero el entrenamiento adversario es notoriamente inestable, propenso al colapso de modos y sin verosimilitud.
Una GAN enfrenta un GENERADOR (convierte ruido en muestras falsas) contra un DISCRIMINADOR (juzga real vs falso) en un juego minimax; a medida que el discriminador mejora, empuja al generador a hacer muestras indistinguibles de los datos reales — produciendo imágenes nítidas pero entrenamiento inestable.
Sin esto:
Las GANs definieron la era de las imágenes nítidas de la IA generativa (rostros de StyleGAN, super-resolución) y enmarcan el compromiso central — calidad de muestra vs estabilidad de entrenamiento — que la difusión resolvió después.
Los VAEs nos dieron un generador muestreable pero imágenes borrosas. Las GANs se inclinan con fuerza al otro lado: muestras nítidas como una navaja, al precio de un entrenamiento que puede desmoronarse. La idea es un juego entre dos redes.
- El generador
Gtoma un vector de ruido aleatorioz ∼ N(0,1)y produce una muestra falsaG(z)(una imagen, digamos). Nunca ha visto datos reales directamente — solo aprende a través del crítico. - El discriminador
Des un clasificador binario que toma una muestra y produce la probabilidad de que sea real (del conjunto de entrenamiento) en lugar de falsa (deG).
Se entrenan adversariamente, en oposición. D se entrena para etiquetar correctamente las muestras reales como reales y las falsas como falsas. G se entrena para engañar a D — para hacer que D(G(z)) se acerque a 1, como si sus falsificaciones fueran reales. Este es el objetivo minimax: D maximiza su exactitud mientras G la minimiza. Imagina un falsificador y un detective: el detective se afina en detectar falsificaciones, lo que fuerza al falsificador a producir mejores copias, lo que fuerza al detective a afinarse de nuevo. En el equilibrio ideal, las muestras de G son indistinguibles de los datos reales y D queda reducido a adivinar (salida ≈ 0.5).
¿Por qué nítidas? A diferencia del VAE, no hay pérdida de reconstrucción píxel a píxel que premie salidas de 'promedio seguro'. La única señal es "¿esto engaña al crítico?" — y una imagen borrosa es fácil de marcar como falsa, así que G es empujado hacia detalle nítido y realista.
El truco es el costo de esa nitidez. El entrenamiento adversario es un blanco móvil: ambas redes cambian en cada paso, así que no hay un paisaje de pérdida fijo descendiendo a un mínimo — es un juego de búsqueda de equilibrio que puede oscilar o divergir. El fallo clásico es el colapso de modos (mode collapse): G descubre unas pocas salidas que engañan de forma fiable a D y produce solo esas, ignorando la diversidad de los datos reales (p. ej. generando el mismo puñado de rostros). Y una GAN no te da verosimilitud — ningún p(x) que puedas evaluar — así que ni siquiera puedes medir limpiamente qué tan bien ajusta los datos. La celda de juguete de abajo corre este duelo en 1-D y observa al generador perseguir la distribución real, oscilando en el camino.
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Un DCGAN en PyTorch: un generador mapea ruido a una imagen falsa, un discriminador produce P(real), y el bucle adversario alterna el entrenamiento de los dos objetivos opuestos; lista variantes clave (WGAN-GP, StyleGAN, CycleGAN).
En una GAN, ¿cómo aprende el generador — dado que nunca ve los datos reales directamente?
- Una GAN entrena un generador (ruido → falso) contra un discriminador (real vs falso) en un juego minimax; el generador aprende solo a través del discriminador, empujando D(G(z)) → 1 para engañarlo.
- Sin pérdida de reconstrucción píxel a píxel, las GANs producen muestras asombrosamente nítidas — pero el entrenamiento adversario es inestable, propenso al colapso de modos y no da verosimilitud p(x).
- GAN (nítida, inestable, sin verosimilitud) y VAE (borrosa, estable, con verosimilitud) son compromisos especulares; la difusión luego logra entrenamiento estable Y alta calidad.
Las GANs impulsan la síntesis fotorrealista de rostros (StyleGAN), la super-resolución, la traducción imagen a imagen (CycleGAN) y la aumentación de datos; su idea de pérdida adversaria reaparece mucho más allá de la generación de imágenes.
Si lo quitas: Te perderías la era de las imágenes nítidas de la IA generativa y el compromiso calidad-vs-estabilidad que motivó la difusión — la familia de modelos sobre la que construye el resto del capítulo.