Learning Generative Models From Corrupted Data