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.
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:
- El discriminador clasifica los datos reales y los falsos del generador.
- La pérdida del discriminante penaliza al discriminante por clasificar erróneamente una instancia real como falsa o una instancia falsa como real.
- 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.