Semi-Supervised and Task-Driven Data Augmentation