Impact of Optimisation Algorithm on Adversarial Training of a Neural Net for Image Recognition.
Hyperparameter-tuning.ipynb
- We used this during hyper-tuning to visualise the impact of hyper-parameters and refine our search grids.
Pipeline.ipynb
- This is the final version of our code and should be run to reproduce our results
net.py
: defines the convolutional model for MNIST datasetoptimizer.py
: defines the Adam, Nesterov and Minibatch optimizerstraining.py
: training and test utility functions as well as tuning function for optimizersadversary.py
- fgsm: Function that generates an adversarial image via Fast Gradient Sign Method
- attack: Function that uses fgsm to attack a model
- protect: Function trains a model using FGSM Adversarial Training
- projected_gd: Function that generates an adversarial image via Projected Gradient Descent
- projected_attacl: Function that uses PGD to attack model
data_utils.py
: utilities to load the data
A copy of the pdf version of the Report is also included in the repository