Generative Adversarial Networks and Deep Learning : Theory and Applications