Tema

Redes generativas antagónicas

Una red generativa antagónica entrena a la vez un generador que fabrica muestras y un discriminador que intenta distinguirlas de las reales, en un juego de suma cero.

Nombre en inglés

Generative adversarial networks

Intuición

El discriminador hace de crítico entrenado, de modo que el generador no necesita una medida de distancia escrita a mano sino que aprende de un juez que mejora con él. El equilibrio llega cuando el discriminador ya no distingue y responde 0.5 a todo. El riesgo es que el juego no converja, porque mejorar a uno empeora al otro y ninguno minimiza una función fija.

Fórmula

\min_G \max_D E_x[\log D(x)] + E_z[\log(1 - D(G(z)))] \qquad \text{no saturante} \quad \max_G E_z[\log D(G(z))]

Ejemplo resuelto

Supongamos que el discriminador responde 0.9 a una imagen real y 0.3 a una falsa. Su pérdida vale menos el logaritmo de 0.9 menos el logaritmo de 0.7, es decir, 0.105 más 0.357, cerca de 0.462. La pérdida no saturante del generador vale menos el logaritmo de 0.3, cerca de 1.204, y su gradiente resulta grande justo cuando el discriminador lo detecta con facilidad, que es lo que se busca. En el equilibrio, con 0.5 en ambos casos, la pérdida del discriminador vale dos veces 0.693, cerca de 1.386, y esa cifra sirve de referencia para saber si el entrenamiento sigue en pie.

Errores frecuentes

Ejercicio

El discriminador asigna 0.5 a una imagen real y 0.5 a una falsa. ¿Cuánto vale su pérdida y qué indica esa cifra?

Ver la solución

La pérdida vale menos el logaritmo de 0.5 menos el logaritmo de 0.5, es decir, dos veces 0.693, cerca de 1.386. La cifra indica que el discriminador no distingue lo real de lo falso, que es el equilibrio teórico del juego.

Respuesta: cerca de 1.386

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía