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