ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 021

GAN

Generative adversarial network

Falsificador

Siempre viaja en pareja: uno falsifica, el otro inspecciona, y ninguno descansa hasta que el inspector tira una moneda para decidir. El falsificador nunca vio un billete de verdad; aprendió todo de los rechazos. Sus retratos de gente que no existe engañan a humanos y máquinas por igual.

Altura
G: 3 · D: 3 (MLP, MNIST 2014)
Peso
≈ 15 MB (fp32, 2014)
Parámetros
≈ 3,7 M (G 2,5 M + D 1,2 M; est.) · StyleGAN G: 26,2 M
Contexto
1 imagen (28 × 28 → 1024 × 1024)
Datos de entrenamiento
MNIST · TFD · CIFAR-10 (2014) · FFHQ: 70 000 rostros (StyleGAN)
Año
2014
Generación
3 · Aprendizaje profundo
Creadores
Goodfellow, Pouget-Abadie, Mirza, Xu, Warde-Farley, Ozair, Courville & Bengio (Université de Montréal)
Clase
Arquitectura

Estadísticas base

Total
121

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • Colapso de modos: muchas semillas distintas, la misma imagen.
  • Entrenamiento inestable: el equilibrio entre G y D es frágil.
  • Sin codificador ni verosimilitud explícita: difícil de evaluar y de invertir.
  • Materia prima de deepfakes y desinformación.

Hábitat

Nació entre dígitos de MNIST, rostros de la Toronto Face Database y miniaturas de CIFAR-10, y creció a fuerza de retratos: caras de celebridades y los 70 000 rostros de Flickr de FFHQ. Hoy aparece en sitios de personas que no existen, en la fabricación de datos sintéticos para entrenar otros modelos y, discretamente, como pérdida auxiliar dentro de los modelos de difusión que la destronaron.

Movimientos

Habilidades

Juego minimax
Dos redes con objetivos opuestos se entrenan a la vez; el equilibrio ideal es un discriminador que responde ½ ante todo.
Generador ciego
G nunca ve un dato real: aprende solo de los gradientes que le devuelve D.
Densidad implícita
Produce muestras sin escribir nunca la distribución de probabilidad que imita.

Anatomía

falsificacionesgradiente: engañar aDRuido aleatorio zProyección densaConvoluciones transpuestasImagen falsa G(z)Imágenes realesMezcla: ¿real o falsa?Red convolucional DD(x) = P(real)min_G max_D V(D, G)Generador GDiscriminador D

Versión convolucional, al estilo DCGAN: el generador eleva un vector de ruido hasta una imagen; el discriminador recibe imágenes reales y falsas mezcladas y estima cuáles son reales. El gradiente que atraviesa a D es la única señal que recibe G. En el original de 2014, ambas redes eran perceptrones multicapa.

Cadena evolutiva

021 GAN

Una red generativa antagónica (GAN, por generative adversarial network) es un par de redes entrenadas una contra la otra: un generador que convierte ruido aleatorio en datos (típicamente imágenes) y un discriminador que intenta distinguir los datos reales de las falsificaciones. Goodfellow et al. (2014) la presentaron con una analogía que se volvió canónica: el generador es una banda de falsificadores que intenta hacer circular billetes falsos, el discriminador es la policía que intenta detectarlos, y la competencia mejora a ambos hasta que las copias son indistinguibles de los originales (2014, sec. 1).

Cómo funciona

El generador G toma un vector z sorteado de una distribución simple (su espacio latente) y lo transforma en una imagen G(z). El discriminador D recibe imágenes y devuelve la probabilidad de que sean reales. Ambos se entrenan con descenso por gradiente sobre un mismo valor, en un juego minimax (Goodfellow et al., 2014, sec. 3):

V(D, G) = E[log D(x)] + E[log(1 − D(G(z)))]

D intenta maximizarlo (acertar); G, minimizarlo (engañar). En la práctica se alternan unos pasos de D y uno de G. Como al principio D rechaza las falsificaciones con facilidad y el gradiente de G se apaga, los autores recomiendan que G maximice log D(G(z)) en su lugar. En el óptimo teórico, la distribución del generador coincide con la de los datos y D responde ½ en todas partes (2014, sec. 4).

Un detalle filosóficamente curioso: el generador nunca ve una imagen real. Solo recibe los gradientes que le llegan a través del discriminador, de modo que ningún ejemplo se copia directamente en sus parámetros (2014, sec. 6).

Qué cambió

Respecto de su ancestro, el perceptrón multicapa, la novedad no está en la arquitectura (en 2014, G y D eran simples MLP entrenados sobre MNIST, una base de rostros de Toronto y CIFAR-10 (2014, sec. 5)) sino en el entrenamiento adversarial: la función de pérdida del generador es otra red que también aprende. Los modelos generativos anteriores tropezaban con cálculos probabilísticos intratables y cadenas de Markov; la GAN solo necesita retropropagación. A diferencia del VAE, no tiene codificador ni representa explícitamente la distribución que aprende (2014, sec. 6); a cambio, sus muestras suelen ser más nítidas.

La evolución fue rápida. DCGAN (Radford et al., 2016) hizo convolucional al generador: según Buckner (2024), sus capas ejecutan operaciones casi inversas de las de una red como AlexNet, con convoluciones transpuestas que van de la abstracción al detalle (2024, pp. 58, 207–209). Con DCGAN apareció la aritmética latente: el vector de «hombre con anteojos», menos el de «hombre», más el de «mujer», produce mujeres con anteojos (2024, p. 213). StyleGAN (Karras et al., 2019) se entrenó con 70 000 rostros de Flickr a 1024 × 1024, y un descendiente suyo alimenta sitios como This Person Does Not Exist (2024, p. 212). Chollet dedica una sección a implementar una GAN sencilla sobre caras de celebridades, con una «bolsa de trucos» para estabilizarla (Chollet, 2021, sec. 12.5).

Límites

Desde comienzos de la década de 2020, los modelos de difusión la desplazaron en buena parte de la generación de imágenes. La idea sobrevive como pérdida auxiliar: el autocodificador de la difusión latente se entrena con un objetivo adversarial para evitar la borrosidad (Rombach et al., 2022, sec. 3.1).

Fuentes