This is a term project for CSS 590B: Adversarial Machine Learning. The title of the paper is called Enhancing CNNs Robustness Against Adversarial Example Using Auto-encoder. We use auto-encoder as a pre-processing feature reduction method to enhance the robustness of CNNs. In repository, Adversarial_training.py test original MNIST dataset and adversarial example. It is mainly copied from cleverhans tutorial on fgsm. CAE_training.py test original MNIST dataset with encoded adversarial example. fgsm.py includes the FGSM function API. img folder includes an adverarial example of FGSM. Details see in the paper.
To run the code, you need have:
- Python 2.7
- Virtualenv
- numpy
- tensorflow
- keras
- Cleverhans adversarial machine learning library
To run the code:
- Run Adversarial.py, get original mnist dataset and adversarial example CNN training results.
- Run CAE_training.py, get encoded adversarial example training results.
Any question, contact [email protected] Same project repository available on https://[email protected]/JingjingY/css590b-jingjing.git