Adversarially Robust Distillation (ARD): PyTorch implementation
May 24, 2019 ยท View on GitHub
This repository contains PyTorch code for the ARD method from "Adversarially Robust Distillation" by Micah Goldblum, Liam Fowl, Soheil Feizi, and Tom Goldstein.
Adversarially Robust Distillation is a method for transferring robustness from a robust teacher network to the student network during distillation. In our experiments, small ARD student models outperform adversarially trained models with identical architecture.
Prerequisites
- Python3
- Pytorch
- CUDA
Run
Here is an example of how to run our program:
$ python main.py --teacher_path INSERT-YOUR-TEACHER-PATH
Want to attack ARD?
A MobileNetV2 ARD model distilled from a TRADES WideResNet (34-10) teacher on CIFAR-10 can be found here.