Descripción general de la estructura de las GAN

Una red generativa adversaria (GAN) tiene dos partes:

  • El generador aprende a generar datos posibles. Las instancias generadas se convierten en ejemplos de entrenamiento negativos para el discriminante.
  • El discriminador aprende a distinguir los datos falsos del generador de los reales. El discriminante penaliza al generador por producir resultados improbables.

Cuando comienza el entrenamiento, el generador produce datos obviamente falsos y el discriminante aprende con rapidez que es falso:

Tres columnas están etiquetadas como "Datos generados", "Discriminador" y "Datos reales". En Datos generados, un rectángulo azul contiene un garabato y un círculo. El rectángulo corresponde al primer intento del generador
 para generar un billete de un dólar. En "Datos reales", hay una foto real de diez mil dólares. Debajo de "Discriminador" se encuentran las palabras "FAKE" y "REAL". Una flecha apunta de la palabra 'FAKE&#39 a la imagen en 'Datos generados&#39. Otra flecha apunta de la palabra "REAL" a la imagen que aparece en "Datos reales".

A medida que el entrenamiento avanza, el generador se acerca al resultado que puede engañar al discriminador:

Esta imagen agrega una fila nueva debajo de los encabezados "Datos generados" y "Datos reales" de la imagen anterior. Debajo de "Datos generados" hay un rectángulo verde con el número 10 en la esquina superior izquierda y un dibujo simple de un rostro. En "Datos reales", verás una imagen real de 100 dólares. Debajo de "Discriminador" se encuentra la palabra "FAKE" con una flecha que apunta a la imagen debajo de "Datos generados" y la palabra "REAL" con una flecha que apunta a la imagen, en "Datos reales".

Por último, si el entrenamiento del generador funciona bien, el discriminante empeora al indicar la diferencia entre real y falso. Comienza a clasificar los datos falsos como reales y disminuye su exactitud.

Esta imagen agrega una fila nueva debajo de los encabezados "Datos generados" y "Datos reales" en la primera imagen anterior. En "Datos generados", se muestra una imagen de una factura de veinte dólares. En 'Datos reales', aparece una imagen de una factura de veinte dólares. En "Discriminador", se encuentra la palabra "REAL" con una flecha que apunta a la imagen en "Datos generados" y la palabra "REAL" con una flecha que apunta a la imagen en "Datos reales".

A continuación, te mostramos una imagen de todo el sistema:

Diagrama de una red generativa adversaria. En el centro del diagrama, hay un cuadro etiquetado como "discriminador". Dos ramas se alimentan en este cuadro desde la izquierda.  La rama superior comienza en la parte superior izquierda del diagrama con un cilindro etiquetado como "imágenes del mundo real". Una flecha conduce de este cilindro a una caja etiquetada "Ejemplo". Una flecha del cuadro con la etiqueta “Ejemplo” alimenta el cuadro “Discriminador” La rama inferior se alimenta en el cuadro 'Discriminador' que comienza con un cuadro etiquetado "Entrada aleatoria" Una flecha conduce desde el cuadro "Entrada aleatoria" hasta un cuadro etiquetado como "Generador". Una flecha pasa del cuadro "Generador" a un segundo cuadro "Ejemplo". Una flecha pasa del cuadro 'Muestra&#39 al cuadro Discriminador. En el lado derecho del cuadro Discriminador, una flecha conduce a un cuadro que contiene un círculo verde y un círculo rojo. La palabra "Real" aparece en texto verde arriba del cuadro y la palabra "Falso" aparece en rojo debajo del cuadro. Dos flechas conducen desde este cuadro hasta dos cuadros en el lado derecho del diagrama. Una flecha conduce a un cuadro etiquetado como "Pérdida del discriminador" La otra flecha conduce a un cuadro etiquetado como "Pérdida del generador"

El generador y el discriminante son redes neuronales. El resultado del generador se conecta directamente a la entrada del discriminador. Mediante la propagación inversa, la clasificación del discriminador proporciona una señal que el generador usa para actualizar sus pesos.

Explicaremos las partes de este sistema con más detalle.