Robust Overfitting Checkpoints: PreActResNet-18 on CIFAR-10

This repository contains 40 PyTorch checkpoints from a 200-epoch adversarial-training run of PreActResNet-18 on CIFAR-10. The run reproduces the robust-overfitting behavior reported by Rice, Wong, and Kolter (2020).

The checkpoints are intended for research, reproduction, and analysis of how clean and adversarial robustness change throughout training.

Model details

  • Architecture: PreActResNet-18
  • Task: CIFAR-10 image classification
  • Classes: 10
  • Training method: Pixel-space PGD-10 adversarial training
  • Training duration: 200 epochs
  • Checkpoints: Every 5 epochs (epoch_5.pt through epoch_200.pt)
  • Perturbation budget: (L_\infty) epsilon = 8/255
  • PGD step size: 2/255
  • Random seed: 42

The model architecture and full training code are available in the companion GitHub repository:
https://github.com/ItsKaiwenDu/Robust-Overfitting

Results

Each checkpoint was evaluated on the full CIFAR-10 test set using 20-step pixel-space PGD with epsilon = 8/255 and step size = 2/255.

Checkpoint Clean accuracy PGD-20 robust accuracy
Epoch 105 (best robustness) 81.94% 45.91%
Epoch 200 (final checkpoint) 82.22% 36.18%

Robust accuracy peaks at epoch 105 and then declines by 9.73 percentage points by epoch 200, while clean accuracy remains high. This is the robust-overfitting pattern studied in the project.

Which checkpoint should I use?

  • Use epoch_105.pt for the checkpoint with the highest measured PGD-20 robust accuracy.
  • Use epoch_200.pt to inspect the final model after robust overfitting has occurred.
  • Use the full checkpoint sequence to reproduce the clean- and robust-accuracy curves across training.

Loading a checkpoint

Clone the companion code repository first, since it contains the PreActResNet-18 definition:

git clone https://github.com/ItsKaiwenDu/Robust-Overfitting.git
cd Robust-Overfitting
pip install -r requirements.txt

Then download and load a checkpoint:

import torch
from huggingface_hub import hf_hub_download
from models.preact_resnet import PreActResNet18

checkpoint_path = hf_hub_download(
    repo_id="KaiwenDu/robust-overfitting-checkpoints",
    filename="epoch_105.pt",
)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = PreActResNet18(num_classes=10).to(device)

checkpoint = torch.load(checkpoint_path, map_location=device)
model.load_state_dict(checkpoint["model_state_dict"])
model.eval()

Inputs should be CIFAR-10 RGB images converted to tensors in [0, 1] and normalized with:

mean = (0.4914, 0.4822, 0.4465)
std = (0.2471, 0.2435, 0.2616)

Limitations

These checkpoints are a single-seed reproduction study, not a claim of state-of-the-art adversarial robustness. Robustness was measured against the specified pixel-space PGD-20 attack; it should not be interpreted as robustness against every possible attack. The low-frequency and mixed-domain experiments described in the companion repository are separate, ongoing work and are not represented by these checkpoints.

Citation

If you use these checkpoints, please cite the companion repository and the original robust-overfitting paper:

@article{rice2020overfitting,
  title={Overfitting in Adversarially Robust Deep Learning},
  author={Rice, Leslie and Wong, Eric and Kolter, J. Zico},
  journal={Proceedings of the 37th International Conference on Machine Learning},
  year={2020}
}

License

The companion code is released under the MIT License. CIFAR-10 is subject to its own dataset terms and license.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train KaiwenDu/robust-overfitting-checkpoints