Descripción general de la estructura de las GAN

Una red generativa adversaria (GAN) tiene dos partes:

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

Cuando comienza el entrenamiento, el generador produce datos obviamente falsos, y el discriminador aprende rápidamente a identificarlos como falsos:

Tres columnas están etiquetadas como "Datos generados", "Discriminador" y "Datos reales". En "Datos generados", un rectángulo azul contiene
          una línea irregular y un círculo. El rectángulo es el primer intento fallido del generador de dibujar un billete de dólar. En “Datos reales”, hay una imagen de un billete de diez dólares real. En "Discriminator", se encuentran las palabras "FAKE" y
          'REAL". Una flecha apunta desde la palabra “FAKE” a la imagen en “Generated Data”. Otra flecha apunta de la palabra “REAL” a la imagen en “Datos reales”.

A medida que avanza el entrenamiento, el generador se acerca a producir resultados que pueden engañar al discriminador:

En esta imagen, se agrega una fila nueva debajo de los encabezados "Datos generados", "Discriminador" y "Datos reales" de la imagen anterior. En “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”, hay una foto de un billete de 100 dólares real. En “Discriminador”, aparece la palabra “FALSO” con una flecha que apunta a la imagen de “Datos generados” y la palabra “REAL” con una flecha que apunta a la imagen de “Datos reales”.

Por último, si el entrenamiento del generador va bien, el discriminador se vuelve peor para distinguir entre lo real y lo falso. Comienza a clasificar los datos falsos como verdaderos y su precisión disminuye.

En esta imagen, se agrega una fila nueva debajo de los encabezados "Datos generados", "Discriminador" y "Datos reales" de la primera imagen anterior. En “Datos generados”, hay una imagen de un billete de veinte dólares. En “Datos reales”, hay una imagen de un billete 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".

Esta es una foto de todo el sistema:

Diagrama de una red generativa adversaria. En el centro del diagrama, hay una casilla etiquetada como "discriminador". Dos ramas se alimentan a 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 desde este cilindro a un cuadro etiquetado como “Muestra”. Hay una flecha desde el cuadro etiquetado como "Muestra" que se dirige al cuadro "Discriminador". La rama inferior se alimenta en el cuadro "Discriminator", que comienza con un cuadro etiquetado como "Random Input". Hay una flecha que va del cuadro "Entrada aleatoria" a un cuadro etiquetado como "Generador". Hay una flecha que va desde la caja "Generador" hasta una segunda caja de "Muestra". Hay una flecha que va del cuadro "Muestra" al cuadro "Discriminador". En el lado derecho del cuadro Discriminator, una flecha dirige a un cuadro que contiene un círculo verde y uno rojo. La palabra “Real” aparece en texto verde sobre el cuadro y la palabra “Falso” aparece en rojo debajo del cuadro. Dos flechas conducen desde este cuadro a dos cajas más 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”.

Tanto el generador como el discriminador son redes neuronales. La salida del generador se conecta directamente a la entrada del discriminador. A través de la retropropagación, la clasificación del discriminador proporciona un indicador que el generador usa para actualizar sus pesos.

Expliquemos los componentes de este sistema con más detalle.