GAN(Generative Adversarial Network) is a Neural Network model in which there exist two neural networks, one commonly referred to be the Generator and the other as Discriminator. Adversarial Learning is a study of attacking neural networks, but it is being used as a tool to build the GAN model. In each iteration, the Generator will synthesize a product–commonly to be images in modern applications, and the Discriminator will take this product as input and judge if this product is real or fake(produced by neural networks); if it is the second case, the parameters of the Generator will be tuned, the goal is making the product as realistic as possible.