Generative adversarial networks are a type of deep neural network where two networks are playing a game against each other. One network, called the generator, generates artificial objects (e.g. images). The other network (called the discriminator) tries to figure out whether the image is a fake or not. This constant game ends up training a generator that can generate realistic images.