Una red generativa antagónica (GAN) es una arquitectura de aprendizaje profundo. Entrena dos redes neuronales de modo que compitan entre sí para generar nuevos datos más auténticos a partir de un conjunto de datos de entrenamiento determinado. Por ejemplo, es posible generar nuevas imágenes a partir de una base de datos de imágenes existente, así como música original a partir de una base de datos de canciones. Una GAN se denomina antagónica porque entrena dos redes diferentes y las enfrenta entre sí. Una red genera nuevos datos al tomar una muestra de datos de entrada y modificarla en la medida de lo posible. La otra red intenta predecir si la salida de datos generada pertenece al conjunto de datos original. En otras palabras, la red de predicción determina si los datos generados son falsos o reales. El sistema genera versiones nuevas y mejoradas de valores de datos falsos hasta que la red de predicción ya no puede distinguir el falso del original.