Generative adversarial nets are a type of neural network that use two models - a generative model G that captures the data distribution, and a discriminative model D that estimates the probability that a sample came from the training data rather than G. The two models are trained simultaneously in an adversarial process, with the generative model trying to fool the discriminative model, and vice versa.