I did the Udacity nanodegree last year and the only part I never understood was the call to the "de-convolution" operator in tensorflow. It seems that every description keeps painting the same picture of how the two networks are in competition to reach "nash equilibrium". I think they really skimp over what a "de-convolution" actually is.
Did you do the DLND? If so, they may have updated the videos, as the current explanation of conv2d_transpose seemed fairly clear to me. Or maybe it was some of the extra materials they provided that helped. I think I found a good video on YT also.