Skip to content

Oracle-Aligned Adversarial Training

License

Notifications You must be signed in to change notification settings

GaurangSriramanan/OAAT

 
 

Repository files navigation

Oracle-Aligned Adversarial Training (OA-AT)

This repository contains code for the implementation of our paper titled "Towards Achieving Adversarial Robustness Beyond Perceptual Limits", accepted at the ICML 2021 Workshop, A Blessing in Disguise: The Prospects and Perils of Adversarial Machine Learning and at the ICCV 2021 Workshop on Adversarial Robustness in the Real World [Paper] [Video] [Poster]

plot

Environment Settings

  • Python 3.6.9
  • PyTorch 1.7
  • Torchvision 0.8.0
  • Numpy 1.19.2

Installing the required packages:

pip install -r requirements.txt

The checkpoints can be found at Google Drive

Working details

Training example

Training the proposed approach Oracle-Aligned Adversarial Training on WideResNet-34-10 architecture for CIFAR-10:

python train_OAAT.py --use_defaults CIFAR10_WRN

Alternatively, the training settings can be changed as follows:

python train_OAAT.py --use_defaults NONE --beta 2 --beta_final 3 --arch WideResNet34 --data CIFAR10 --mixup_alpha 0.45 --lpips_weight 1 --mixup_epsilon 0.06274509 --auto 1 --weight_decay 3e-4 

Evaluation

Evaluating the robust performance of the trained model against GAMA-PGD (100-step) and Square (5000 queries) attacks:

python eval.py --data CIFAR10 --arch WideResNet34 --main_model ./model-cifar-WideResNet/OAAT_151_0.9996_CIFAR10_1_0.45_1_1_3_0.0003_200.pkl

Citing this work

@inproceedings{
addepalli2021oaat,
title={Towards Achieving Adversarial Robustness Beyond Perceptual Limits},
author={Sravanti Addepalli and Samyak Jain and Gaurang Sriramanan and Shivangi Khare and Venkatesh Babu Radhakrishnan},
booktitle={ICML 2021 Workshop on Adversarial Machine Learning},
year={2021},
url={https://openreview.net/forum?id=SHB_znlW5G7}
}

About

Oracle-Aligned Adversarial Training

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%