Una red generativa adversaria (GAN) tiene dos partes:
- El generador aprende a generar datos posibles. Las instancias generadas se convierten en ejemplos de entrenamiento negativos para el discriminante.
- El discriminador aprende a distinguir los datos falsos del generador de los reales. El discriminante penaliza al generador por producir resultados improbables.
Cuando comienza el entrenamiento, el generador produce datos obviamente falsos y el discriminante aprende con rapidez que es falso:
A medida que el entrenamiento avanza, el generador se acerca al resultado que puede engañar al discriminador:
Por último, si el entrenamiento del generador funciona bien, el discriminante empeora al indicar la diferencia entre real y falso. Comienza a clasificar los datos falsos como reales y disminuye su exactitud.
A continuación, te mostramos una imagen de todo el sistema:
El generador y el discriminante son redes neuronales. El resultado del generador se conecta directamente a la entrada del discriminador. Mediante la propagación inversa, la clasificación del discriminador proporciona una señal que el generador usa para actualizar sus pesos.
Explicaremos las partes de este sistema con más detalle.