Implicit Generation and Generalization with Energy Based Models