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:
A medida que avanza el entrenamiento, el generador se acerca a producir resultados que pueden engañar al discriminador:
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.
Esta es una foto de todo el sistema:
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.