To explain how the generative adversarial works, this article did a very good job explain it.
Another good and newer one.