El discriminador

El discriminante en una GAN es simplemente un clasificador. Intenta distinguir datos reales de los creados por el generador. Podría usar cualquier arquitectura de red adecuada para el tipo de datos que clasifica.

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 cuadro 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, dos flechas conducen a dos cuadros a la derecha 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" Un cuadro amarillo etiquetado con una flecha que apunta hacia la izquierda y la palabra "Propagación inversa" se dibuja alrededor del cuadro del discriminador y el cuadro de pérdida del discriminador para indicar que la propagación inversa opera en la parte del sistema dentro del cuadro amarillo.

Figura 1: Propagación inversa en el entrenamiento de discriminadores

Datos de entrenamiento sobre discriminación

Los datos de entrenamiento del discriminante provienen de dos fuentes:

  • Instancias de datos reales, como fotos reales de personas El discriminante usa estas instancias como ejemplos positivos durante el entrenamiento.
  • Instancias de datos falsos creadas por el generador. El discriminante usa estas instancias como ejemplos negativos durante el entrenamiento.

En la Figura 1, los dos cuadros "Sample" representan estas dos fuentes de datos que se incorporan al discriminador. Durante el entrenamiento del discriminador, el generador no se entrena. Sus pesos permanecen constantes mientras se producen ejemplos para los que se entrenará al discriminante.

Entrenamiento del discriminador

El discriminante se conecta a dos funciones de pérdida. Durante el entrenamiento del discriminante, este ignora la pérdida del generador y solo usa la pérdida del discriminador. Usamos la pérdida del generador durante el entrenamiento del generador, como se describe en la siguiente sección.

Durante el entrenamiento del discriminador:

  1. El discriminante clasifica tanto datos reales como falsos del generador.
  2. La pérdida del discriminante penaliza al discriminador por clasificar erróneamente una instancia real como falsa o una instancia falsa como real.
  3. El discriminante actualiza sus pesos mediante la propagación inversa desde la pérdida del discriminador a través de la red del discriminante.

En la siguiente sección, veremos por qué la pérdida del generador se conecta con el discriminante.