A generative adversarial network (GAN) is a type of machine learning model that comprises two neural networks engaging in a competitive process. GANs use deep learning techniques to improve their prediction accuracy over time. These networks are often used for tasks such as image generation and data synthesis.