El discriminante

El discriminador en una GAN es simplemente un clasificador. Intenta distinguir los datos reales de los datos que creó el generador. Podría usar cualquier arquitectura de red adecuada al tipo de datos que clasifica.

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 cuadro 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, hay dos flechas que conducen a 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”. Se dibuja un cuadro amarillo etiquetado con una flecha que apunta a la izquierda y la palabra “Retropropagación” alrededor del cuadro del discriminador y el cuadro de pérdida del discriminador para indicar que la retropropagación opera en la parte del sistema encerrada en el cuadro amarillo.

Figura 1: Retropropagación en el entrenamiento del discriminador.

Datos de entrenamiento del discriminador

Los datos de entrenamiento del discriminador provienen de dos fuentes:

  • Instancias de datos reales, como imágenes reales de personas. El discriminador usa estas instancias como ejemplos positivos durante el entrenamiento.
  • Instancias de datos falsos que creó el generador. El discriminador usa estas instancias como ejemplos negativos durante el entrenamiento.

En la Figura 1, las dos casillas “Sample” representan estas dos fuentes de datos que alimentan al discriminador. Durante el entrenamiento del discriminador, el generador no se entrena. Sus pesos permanecen constantes mientras produce ejemplos para que el discriminador se entrene.

Entrenamiento del discriminador

El discriminador se conecta a dos funciones de pérdida. Durante el entrenamiento del discriminador, 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 discriminador clasifica los datos reales y los falsos del generador.
  2. La pérdida del discriminante penaliza al discriminante por clasificar erróneamente una instancia real como falsa o una instancia falsa como real.
  3. El discriminador actualiza sus pesos a través de la retropropagación de la pérdida del discriminador a través de la red del discriminador.

En la siguiente sección, veremos por qué la pérdida del generador se conecta al discriminador.