/FGSM-pytorch

A pytorch implementation of "Explaining and harnessing adversarial examples"

Primary LanguageJupyter NotebookMIT LicenseMIT

FGSM-pytorch

A pytorch implementation of "Explaining and harnessing adversarial examples"

Summary

This code is a pytorch implementation of FGSM(Fast Gradient Sign Method).
In this code, I used FGSM to fool Inception v3.
The picture 'Giant Panda' is exactly the same as in the paper.
You can add other pictures with a folder with the label name in the 'data'.

Requirements

  • python==3.6
  • numpy==1.14.2
  • pytorch==1.0.0

Important results not in the code

  • Mathmatical Results
    • There are some important difference between adversarial training and L1 weight decay. (p.4)
      • On logistic regression,
      • Adversarial training : the L1 penalty is subtracted off inside of the activation during training.
      • L1 weight decay : the L1 penalty is added to the training cost(=outside of the activation) during training.
  • Experimental Results
    • We can use FGSM for a regularizer but it does not defend against all adversarial attack images. (p.5)
    • RBF networks are resistant to adversarial examples, but not for Linear. (p.7)
      • The author claims current methodologies all resemble the linear classifier, which is why do adversarial examples generalize
    • Alternative hypotheses(generative models with input distribution, ensembles) are not resistant to adversarial examples. (p.8)

Notice