Adaptive And Diverse Techniques For Generating Adversarial Examples