DART: Diversify-Aggregate-Repeat Training Improves Generalization of Neural Networks