This project focus on generating robust neural networks against adversarial attacks for image classifications. Instead of using large training data and heaving computing expense in classic training process. We introduce a optimisation based approach which only require a small size of adversarial dataset to improve the robustness a model trained with default settings.