Adversarial Training for Free!

Ali Shafahi, Mahyar Najibi, Amin Ghiasi, Zheng Xu, John Dickerson +4 more
4/29/2019
cs.LGcs.CRcs.CV

Official code: ashafahi/free_adv_train (176 stars, last commit 2024-05-03). 1 more implementation below.

Abstract

Adversarial training, in which a network is trained on adversarial examples, is one of the few defenses against adversarial attacks that withstands strong attacks. Unfortunately, the high cost of generating strong adversarial examples makes standard adversarial training impractical on large-scale problems like ImageNet. We present an algorithm that eliminates the overhead cost of generating adversarial examples by recycling the gradient information computed when updating model parameters. Our "free" adversarial training algorithm achieves comparable robustness to PGD adversarial training on the CIFAR-10 and CIFAR-100 datasets at negligible additional cost compared to natural training, and can be 7 to 30 times faster than other strong adversarial training methods. Using a single workstation with 4 P100 GPUs and 2 days of runtime, we can train a robust model for the large-scale ImageNet classification task that maintains 40% accuracy against PGD attacks. The code is available at https://github.com/ashafahi/free_adv_train.

View on arXivView PDF

Code Implementations(2)

Official TensorFlow Implementation of Adversarial Training for Free! which trains robust models at no extra cost compared to natural training.

17630PythonApr 17, 20192 years ago
adversarialadversarial-attacksadversarial-exampleadversarial-examplesadversarial-learning+6 more

PyTorch Implementation of Adversarial Training for Free!

24839PythonJun 8, 20195 years agoNOASSERTION

Similar Papers

Cite this paper

@article{shafahi2019adversarial,
  title  = {Adversarial Training for Free!},
  author = {Ali Shafahi and Mahyar Najibi and Amin Ghiasi and Zheng Xu and John Dickerson and Christoph Studer and Larry S. Davis and Gavin Taylor and Tom Goldstein},
  year   = {2019},
  eprint = {1904.12843},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1904.12843}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1904.12843.svg)](https://codeofpaper.com/paper/1904.12843)

Discussion