natural-jammers / README.md
jiamingzz's picture
Model card: link the paper on arXiv (2610.34785)
1247e5a verified
|
Raw History Blame Contribute Delete
5.18 kB
---
license: mit
library_name: pytorch
tags:
- adversarial-robustness
- image-classification
- imagenet
- natural-jammers
datasets:
- imagenet-1k
---
# Natural Jammers: robust lenses
Robust models used in **Natural Jammers: When Non-Robust Features Become Antagonistic**
(**NeurIPS 2026, Spotlight**). Each robust model is paired with the standard torchvision model of the same
architecture to find the Jammed Set: clean ImageNet validation images that the standard model gets wrong and the
robust model gets right.
Paper: https://arxiv.org/abs/2610.34785 · Code: https://github.com/jiamingzhang94/natural-jammers · Project page: https://jiamingzhang.netlify.app/naturaljammers
The paper uses the 17 robust models below (Table 3). The ResNet and WideResNet models are the public MadryLab
checkpoints, hosted at [madrylab/robust-imagenet-models](https://huggingface.co/madrylab/robust-imagenet-models);
the two ViTs are hosted in this repository. The primary lens of the paper is ResNet-50, ℓ2, ε = 1.
Clean accuracy is that of the robust model; Jammed images are counted on the 50,000 ImageNet validation images.
| Robust model | Threat model | Clean accuracy | Jammed images | Weights |
| --- | --- | --- | --- | --- |
| ResNet-18 | ℓ2, ε = 0.5 | 65.5% | 2,639 (5.28%) | [`resnet18_l2_eps0.5.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet18_l2_eps0.5.ckpt) (MadryLab) |
| ResNet-18 | ℓ2, ε = 1 | 62.3% | 2,448 (4.90%) | [`resnet18_l2_eps1.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet18_l2_eps1.ckpt) (MadryLab) |
| ResNet-18 | ℓ2, ε = 3 | 53.1% | 1,924 (3.85%) | [`resnet18_l2_eps3.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet18_l2_eps3.ckpt) (MadryLab) |
| ResNet-18 | ℓ∞, ε = 1/255 | 63.5% | 2,502 (5.00%) | [`resnet18_linf_eps1.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet18_linf_eps1.0.ckpt) (MadryLab) |
| ResNet-18 | ℓ∞, ε = 4/255 | 52.5% | 1,867 (3.73%) | [`resnet18_linf_eps4.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet18_linf_eps4.0.ckpt) (MadryLab) |
| ResNet-50 | ℓ2, ε = 0.5 | 73.2% | 2,317 (4.63%) | [`resnet50_l2_eps0.5.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet50_l2_eps0.5.ckpt) (MadryLab) |
| ResNet-50 | ℓ2, ε = 1 | 70.4% | 2,140 (4.28%) | [`resnet50_l2_eps1.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet50_l2_eps1.ckpt) (MadryLab) |
| ResNet-50 | ℓ2, ε = 3 | 62.8% | 1,807 (3.61%) | [`resnet50_l2_eps3.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet50_l2_eps3.ckpt) (MadryLab) |
| ResNet-50 | ℓ∞, ε = 1/255 | 72.0% | 2,252 (4.50%) | [`resnet50_linf_eps1.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet50_linf_eps1.0.ckpt) (MadryLab) |
| ResNet-50 | ℓ∞, ε = 4/255 | 63.9% | 1,812 (3.62%) | [`resnet50_linf_eps4.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/resnet50_linf_eps4.0.ckpt) (MadryLab) |
| WideResNet-50-2 | ℓ2, ε = 0.5 | 75.1% | 2,202 (4.40%) | [`wide_resnet50_2_l2_eps0.5.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/wide_resnet50_2_l2_eps0.5.ckpt) (MadryLab) |
| WideResNet-50-2 | ℓ2, ε = 1 | 73.4% | 2,167 (4.33%) | [`wide_resnet50_2_l2_eps1.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/wide_resnet50_2_l2_eps1.ckpt) (MadryLab) |
| WideResNet-50-2 | ℓ2, ε = 3 | 66.9% | 1,910 (3.82%) | [`wide_resnet50_2_l2_eps3.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/wide_resnet50_2_l2_eps3.ckpt) (MadryLab) |
| WideResNet-50-2 | ℓ∞, ε = 1/255 | 74.7% | 2,232 (4.46%) | [`wide_resnet50_2_linf_eps1.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/wide_resnet50_2_linf_eps1.0.ckpt) (MadryLab) |
| WideResNet-50-2 | ℓ∞, ε = 4/255 | 68.4% | 2,000 (4.00%) | [`wide_resnet50_2_linf_eps4.0.ckpt`](https://huggingface.co/madrylab/robust-imagenet-models/blob/main/wide_resnet50_2_linf_eps4.0.ckpt) (MadryLab) |
| ViT-B/16 | ℓ∞, ε = 1/255 | 73.3% | 1,569 (3.14%) | `vit_b_16_linf_eps1.0.safetensors` (this repository) |
| ViT-B/32 | ℓ∞, ε = 1/255 | 66.5% | 1,828 (3.66%) | `vit_b_32_linf_eps1.0.safetensors` (this repository) |
`download_weights.py` in the code repository fetches any of them. The ViT files are plain torchvision
`state_dict`s in safetensors format:
```python
import torchvision
from safetensors.torch import load_file
model = torchvision.models.vit_b_32()
model.load_state_dict(load_file('vit_b_32_linf_eps1.0.safetensors'))
model.eval() # inputs: resize 256, center crop 224, [0, 1], ImageNet mean/std normalization
```
**Intended use.** Research on robustness. SHA-256 checksums of the ViT files are in `manifest.json`.
```bibtex
@inproceedings{zhang2026natural,
title = {Natural Jammers: When Non-Robust Features Become Antagonistic},
author = {Zhang, Jiaming and Zhang, Fuyao and Xie, Pengjun and Lim, Wei Yang Bryan},
booktitle = {Advances in Neural Information Processing Systems},
year = {2026}
}
```