On The Robustness Of Neural Network: Attacks And Defenses