robustbench

GitHub
773 104 简单 2 次阅读 1周前NOASSERTION其他开发框架
AI 解读 由 AI 自动生成,仅供参考

RobustBench 是一个专注于对抗鲁棒性评估的标准化基准平台。面对海量宣称能抵御攻击的论文,其中不少存在鲁棒性被高估的问题,RobustBench 旨在通过统一标准追踪真实的性能进步。

它支持对 Linf、L2 范数扰动及常见图像损坏(Corruptions)进行评测。为确保结果可信,RobustBench 对入选防御方法设定了严格门槛:必须具有非零梯度、前向传播完全确定且不包含优化循环,以此剔除那些仅增加攻击成本却无实质提升的“伪防御”。同时,平台整合了 AutoAttack 并欢迎外部自适应攻击评估,防止模型针对特定攻击过拟合。

除了在线排行榜,RobustBench 还提供精选的高质量模型库(Model Zoo)。这非常适合从事机器学习安全研究的科研人员以及需要部署高鲁棒性模型的开发者。无论是验证新算法的有效性,还是寻找可靠的预训练权重,RobustBench 都能提供权威的参考依据。

使用场景

某金融科技公司的安全研发团队正在构建人脸识别支付系统,急需在上线前验证模型对对抗样本的防御能力。

没有 robustbench 时

  • 学术界论文泛滥,难以辨别哪些防御方法真实有效,容易陷入虚假鲁棒的陷阱。
  • 缺乏统一评估标准,不同团队报告的鲁棒率无法横向对比,选型决策困难。
  • 手动复现攻击测试极其耗时,且旧版攻击器容易漏测,导致高估模型安全性。
  • 模型资源分散,找不到经过社区验证的高质量预训练权重。

使用 robustbench 后

  • 直接查阅官方 Leaderboard,快速获取经过严格去伪存真验证的顶尖鲁棒模型。
  • 基于标准化的 Linf 和 L2 指标体系,清晰量化各方案的真实抗攻击水平。
  • 利用内置 AutoAttack 及自适应攻击检测,杜绝过拟合问题,确保评估结果可信。
  • 通过 Model Zoo 一键下载预训练权重,省去从零训练和清洗数据的漫长周期。

robustbench 通过标准化基准消除了评估噪音,帮助团队高效锁定真正安全的模型方案。

运行环境要求

操作系统
  • 未说明
GPU

支持 CUDA 加速,具体型号/显存/CUDA 版本未说明

内存

未说明

依赖
notes建议通过 pip 安装最新版 git 仓库以解决模型自动下载问题;AutoAttack 为内置依赖;提供 Colab 快速入门;支持多种数据集评估(CIFAR-10, ImageNet 等)。
python未说明
torch
autoattack
robustbench hero image

快速开始

RobustBench:一个标准化的对抗鲁棒性基准

Francesco Croce (蒂宾根大学), Maksym Andriushchenko (洛桑联邦理工学院 EPFL), Vikash Sehwag* (普林斯顿大学), Edoardo Debenedetti* (洛桑联邦理工学院 EPFL), Nicolas Flammarion (洛桑联邦理工学院 EPFL), Mung Chiang (普渡大学), Prateek Mittal (普林斯顿大学), Matthias Hein (蒂宾根大学)**

排行榜: https://robustbench.github.io/

论文: https://arxiv.org/abs/2010.09670

❗注意❗:如果您在从 Google Drive 自动下载模型时遇到问题,请通过 pip install git+https://github.com/RobustBench/robustbench.git 安装最新版本的 RobustBench

新闻

  • 2022 年 5 月:我们已在 ImageNet 上扩展了常见损坏排行榜,新增了 3D Common Corruptions(ImageNet-3DCC)。ImageNet-3DCC 评估之所以有趣,是因为 (1) 它包含更真实的损坏类型,(2) 它可以用于评估现有模型的泛化能力,这些模型可能已经针对 ImageNet-C 过拟合。如需快速开始,请点击 这里。请注意,排行榜中的条目仍根据 ImageNet-C 的性能进行排序。

  • 2022 年 5 月:我们修复了 ImageNet 损坏评估的预处理问题:此前我们使用调整为 256x256 并中心裁剪至 224x224,但这并非必要,因为 ImageNet-C 图像已经是 224x224(参见 此问题)。请注意,这改变了前 1 名和前 2 名条目之间的排名。

主要理念

RobustBench 的目标是系统地跟踪对抗鲁棒性 (adversarial robustness) 的真实进展。 目前已有 超过 3000 篇论文 涉及此主题,但仍经常不清楚哪些方法真正有效,而哪些仅导致 高估的鲁棒性。 我们从对 Linf、L2 和常见损坏 (common corruption) 鲁棒性的基准测试开始,因为这些是文献中最受研究的设置。

评估对 Lp 扰动的鲁棒性通常并不直接,需要自适应攻击 (adaptive attacks)(Tramer et al., (2020))。 因此,为了建立一个可靠的标准化基准,我们需要对我们考虑的防御措施施加一些限制。 特别是,我们只接受满足以下条件的防御措施:(1) 通常相对于输入具有非零梯度,(2) 具有完全确定的前向传播(即无随机性),且 (3) 不包含优化循环。 通常,违反这三项原则的防御措施仅使基于梯度的攻击 (gradient-based attacks) 变得更难,但并未实质性提高鲁棒性(Carlini et al., (2019)),除非那些能提供具体可证明保证的方法(例如 Cohen et al., (2019))。

为了防止新防御措施对 AutoAttack 产生潜在的过度适应,我们也欢迎基于自适应攻击 (adaptive attacks) 的外部评估,特别是在 AutoAttack 标记 鲁棒性可能被高估的情况下。对于每个模型,我们关注的是已知的最佳鲁棒准确率,并将 AutoAttack 和自适应攻击视为相互补充。

RobustBench 由两部分组成:

  • 一个网站 https://robustbench.github.io/,其中包含基于许多近期论文的排行榜(下图 👇)
  • 一组最鲁棒的模型集合,即 模型库 (Model Zoo),易于用于任何下游应用(见 FAQ 后的教程 👇)

常见问题

: RobustBench 排行榜与 AutoAttack 排行榜 有何不同?🤔
: AutoAttack 排行榜 是 RobustBench 的起点。现在只有 RobustBench 排行榜 处于活跃维护状态。

: RobustBench 排行榜与 robust-ml.org 有何不同?🤔
: robust-ml.org 专注于自适应评估,但我们提供的是标准化基准。自适应评估非常有用(例如,参见 Tramer 等人,2020),但它们也非常耗时,且从定义上讲并不标准化。相反,我们认为可以在很大程度上无需自适应攻击的情况下准确估计鲁棒性,但这需要对所考虑的模型引入一些限制。不过,我们欢迎自适应评估,并且始终有兴趣展示已知的最佳鲁棒准确率。

: 它与 foolbox / cleverhans / advertorch 等库有什么关系?🤔
: 这些库提供了不同攻击方法的实现。除了标准化基准外,RobustBench 还提供了一个最鲁棒模型的仓库。因此,你可以用一行代码开始使用这些鲁棒模型(见下方教程 👇)。

: 为什么 Lp-鲁棒性仍然值得关注?🤔
: Lp-鲁棒性有许多有趣的应用,涵盖迁移学习 (Salman 等人 (2020), Utrera 等人 (2020))、可解释性 (Tsipras 等人 (2018), Kaur 等人 (2019), Engstrom 等人 (2019))、安全性 (Tramèr 等人 (2018), Saadatpanah 等人 (2019))、泛化能力 (Xie 等人 (2019), Zhu 等人 (2019), Bochkovskiy 等人 (2020))、对未见扰动的鲁棒性 (Xie 等人 (2019), Kang 等人 (2019))、以及生成对抗网络 (GAN) 训练的稳定化 (Zhong 等人 (2020))。

: 关于验证过的对抗鲁棒性呢?🤔
: 鉴于尚不清楚哪些方法真正提高了鲁棒性,而哪些只是让某些特定攻击失效,我们主要关注提高经验鲁棒性的防御措施。然而,我们并不限制提交可验证鲁棒的模型(例如,我们的 CIFAR-10 Linf 排行榜中就有 Zhang 等人 (2019))。针对旨在实现验证鲁棒性的方法,我们鼓励读者查看 Salman 等人 (2019)Li 等人 (2020)

: 如果我有一个比本基准使用的更好的攻击方法怎么办?🤔
: 我们将很乐意添加更好的攻击方法或任何能补充我们默认标准化攻击的自适应评估。

模型库:快速浏览

我们的 模型库 的目标是尽可能简化鲁棒模型的使用。请查看我们的 Colab 笔记本 👉 RobustBench: 快速入门 以获取快速介绍。下面也进行了总结 👇。

首先,安装 RobustBench 的最新版本(推荐):

pip install git+https://github.com/RobustBench/robustbench.git

或者安装 RobustBench 的最新稳定版本(自动下载模型可能无法工作):

pip install git+https://github.com/RobustBench/robustbench.git@v1.0

现在让我们尝试加载 CIFAR-10 数据集以及来自 Carmon2019Unlabeled 的一些相当鲁棒的 CIFAR-10 模型,该模型在 eps=8/255 下使用 AutoAttack (AA) 评估达到了 59.53% 的鲁棒准确率:

from robustbench.data import load_cifar10

x_test, y_test = load_cifar10(n_examples=50)

from robustbench.utils import load_model

model = load_model(model_name='Carmon2019Unlabeled', dataset='cifar10', threat_model='Linf')

让我们尝试评估此模型的鲁棒性。我们可以使用任何喜欢的库来完成此操作。例如,FoolBox 实现了许多不同的攻击方法。我们可以从一个简单的 PGD 攻击开始:

!pip install -q foolbox
import foolbox as fb
fmodel = fb.PyTorchModel(model, bounds=(0, 1))

_, advs, success = fb.attacks.LinfPGD()(fmodel, x_test.to('cuda:0'), y_test.to('cuda:0'), epsilons=[8/255])
print('Robust accuracy: {:.1%}'.format(1 - success.float().mean()))
>>> Robust accuracy: 58.0%

太棒了!如果我们使用更准确的攻击方法,能否做得更好?

让我们尝试使用来自 ICML 2020 的廉价版 AutoAttack 来评估其鲁棒性,包含 2/4 种攻击(仅 APGD-CE 和 APGD-DLR):


# autoattack 是 robustbench 的依赖项,因此无需单独安装
from autoattack import AutoAttack
adversary = AutoAttack(model, norm='Linf', eps=8/255, version='custom', attacks_to_run=['apgd-ce', 'apgd-dlr'])
adversary.apgd.n_restarts = 1
x_adv = adversary.run_standard_evaluation(x_test, y_test)
>>> initial accuracy: 92.00%
>>> apgd-ce - 1/1 - 19 out of 46 successfully perturbed
>>> robust accuracy after APGD-CE: 54.00% (total time 10.3 s)
>>> apgd-dlr - 1/1 - 1 out of 27 successfully perturbed
>>> robust accuracy after APGD-DLR: 52.00% (total time 17.0 s)
>>> max Linf perturbation: 0.03137, nan in tensor: 0, max: 1.00000, min: 0.00000
>>> robust accuracy: 52.00%

请注意,对于我们的 Linf (L∞范数) 鲁棒性标准化评估,我们使用 AutoAttack (自动攻击) 的完整版本,它速度较慢但更准确(只需使用 adversary = AutoAttack(model, norm='Linf', eps=8/255) 即可)。

那其他类型的扰动呢?Lp 鲁棒性在那里有用吗?我们可以在更一般的扰动上评估可用模型。 例如,让我们选取来自 CIFAR-10-C 且受雾扰动影响、严重程度最高(5)的图像。 不同的 Linf 鲁棒模型在这些数据上表现会更好吗?

from robustbench.data import load_cifar10c
from robustbench.utils import clean_accuracy

corruptions = ['fog']
x_test, y_test = load_cifar10c(n_examples=1000, corruptions=corruptions, severity=5)

for model_name in ['Standard', 'Engstrom2019Robustness', 'Rice2020Overfitting',
                   'Carmon2019Unlabeled']:
 model = load_model(model_name, dataset='cifar10', threat_model='Linf')
 acc = clean_accuracy(model, x_test, y_test)
 print(f'Model: {model_name}, CIFAR-10-C accuracy: {acc:.1%}')
>>> Model: Standard, CIFAR-10-C accuracy: 74.4%
>>> Model: Engstrom2019Robustness, CIFAR-10-C accuracy: 38.8%
>>> Model: Rice2020Overfitting, CIFAR-10-C accuracy: 22.0%
>>> Model: Carmon2019Unlabeled, CIFAR-10-C accuracy: 31.1%

正如我们所见,所有这些 Linf 鲁棒模型在此类扰动上的表现都明显差于标准模型。 这一奇怪的现象最早在 Adversarial Examples Are a Natural Consequence of Test Error in Noise 中被注意到,并在 A Fourier Perspective on Model Robustness in Computer Vision 中从频域角度得到了解释。

然而,平均而言,对抗训练确实有助于 CIFAR-10-C。可以通过 load_cifar10c(n_examples=1000, severity=5) 加载所有类型的扰动,并重复评估来轻松验证这一点。

*新*: 评估 ImageNet 模型针对 3D 常见扰动 (ImageNet-3DCC) 的鲁棒性

3D 常见扰动 (3DCC) 是 Kar 等人 (CVPR 2022) 最近提出的基准测试,利用场景几何生成逼真的扰动。您可以按照以下步骤评估标准 ResNet-50 针对 ImageNet-3DCC 的鲁棒性:

  1. 使用提供的工具从 此处 下载数据。数据将保存到名为 ImageNet-3DCC 的文件夹中。

  2. 运行示例评估脚本以获得准确率并将它们保存为 pickle 文件:

import torch 
from robustbench.data import load_imagenet3dcc
from robustbench.utils import clean_accuracy, load_model

corruptions_3dcc = ['near_focus', 'far_focus', 'bit_error', 'color_quant', 
                   'flash', 'fog_3d', 'h265_abr', 'h265_crf',
                   'iso_noise', 'low_light', 'xy_motion_blur', 'z_motion_blur'] # 12 corruptions in ImageNet-3DCC

device = torch.device("cuda:0")
model = load_model('Standard_R50', dataset='imagenet', threat_model='corruptions').to(device)
for corruption in corruptions_3dcc:
    for s in [1, 2, 3, 4, 5]:  # 5 severity levels
        x_test, y_test = load_imagenet3dcc(n_examples=5000, corruptions=[corruption], severity=s, data_dir=$PATH_IMAGENET_3DCC)
        acc = clean_accuracy(model, x_test.to(device), y_test.to(device), device=device)
        print(f'Model: {model_name}, ImageNet-3DCC corruption: {corruption} severity: {s} accuracy: {acc:.1%}')

模型库 (Model Zoo)

为了使用一个模型,你只需要知道它的 ID,例如 Carmon2019Unlabeled,然后运行:

from robustbench import load_model

model = load_model(model_name='Carmon2019Unlabeled', dataset='cifar10', threat_model='Linf')

这将自动下载模型(所有模型均在 model_zoo/models.py 中定义)。

复现模型库中模型的评估可以直接从命令行完成。以下是使用 AutoAttack 在 ImageNet 上对 Salman2020Do_R18 模型进行评估的示例,eps=4/255=0.0156862745

python -m robustbench.eval --n_ex=5000 --dataset=imagenet --threat_model=Linf --model_name=Salman2020Do_R18 --data_dir=/tmldata1/andriush/imagenet --batch_size=128 --eps=0.0156862745

CIFAR-10、CIFAR-10-C、CIFAR-100 和 CIFAR-100-C 数据集会自动下载。然而,由于许可原因,ImageNet 数据集应手动下载:

  • ImageNet:从 此处 获取下载链接 (仅需使用学术邮箱注册,那里的审批系统是自动的且即时生效),然后遵循 此处 的说明,将验证集提取为 PyTorch 兼容格式并存入文件夹 val
  • ImageNet-C:请访问 此处 查看说明。
  • ImageNet-3DCC:使用提供的工具从 此处 下载数据。数据将保存到名为 ImageNet-3DCC 的文件夹中。

为了使用模型库中的模型,您可以在下面的表格中找到所有可用的模型 ID。请注意,完整的 排行榜 包含稍多一点的模型,这些模型我们要么尚未添加到模型库中,要么其作者不希望它们出现在模型库中。

CIFAR-10

Linf, eps=8/255

# 模型 ID 论文 清洁准确率 鲁棒准确率 架构 发表场合
1 Bartoldson2024Adversarial_WRN-94-16 Adversarial Robustness Limits via Scaling-Law and Human-Alignment Studies 93.68% 73.71% WideResNet-94-16 ICML 2024
2 Amini2024MeanSparse_S-WRN-94-16 MeanSparse: Post-Training Robustness Enhancement Through Mean-Centered Feature Sparsification 93.60% 73.10% MeanSparse WideResNet-94-16 arXiv, Jun 2024
3 Bartoldson2024Adversarial_WRN-82-8 Adversarial Robustness Limits via Scaling-Law and Human-Alignment Studies 93.11% 71.59% WideResNet-82-8 ICML 2024
4 Peng2023Robust Robust Principles: Architectural Design Principles for Adversarially Robust CNNs 93.27% 71.07% RaWideResNet-70-16 BMVC 2023
5 Wang2023Better_WRN-70-16 Better Diffusion Models Further Improve Adversarial Training 93.25% 70.69% WideResNet-70-16 ICML 2023
6 Bai2024MixedNUTS MixedNUTS: Training-Free Accuracy-Robustness Balance via Nonlinearly Mixed Classifiers 95.19% 69.71% ResNet-152 + WideResNet-70-16 TMLR, Aug 2024
7 Amini2024MeanSparse_Ra_WRN_70_16 MeanSparse: Post-Training Robustness Enhancement Through Mean-Centered Feature Sparsification 93.24% 68.94% MeanSparse RaWideResNet-70-16 arXiv, Jun 2024
8 Bai2023Improving_edm Improving the Accuracy-Robustness Trade-off of Classifiers via Adaptive Smoothing 95.23% 68.06% ResNet-152 + WideResNet-70-16 + mixing network SIMODS 2024
9 Cui2023Decoupled_WRN-28-10 Decoupled Kullback-Leibler Divergence Loss 92.16% 67.73% WideResNet-28-10 NeurIPS 2024
10 Wang2023Better_WRN-28-10 Better Diffusion Models Further Improve Adversarial Training 92.44% 67.31% WideResNet-28-10 ICML 2023
11 Rebuffi2021Fixing_70_16_cutmix_extra Fixing Data Augmentation to Improve Adversarial Robustness 92.23% 66.56% WideResNet-70-16 arXiv, Mar 2021
12 Gowal2021Improving_70_16_ddpm_100m Improving Robustness using Generated Data 88.74% 66.10% WideResNet-70-16 NeurIPS 2021
13 Gowal2020Uncovering_70_16_extra Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 91.10% 65.87% WideResNet-70-16 arXiv, Oct 2020
14 Huang2022Revisiting_WRN-A4 Revisiting Residual Networks for Adversarial Robustness: An Architectural Perspective 91.58% 65.79% WideResNet-A4 arXiv, Dec. 2022
15 Rebuffi2021Fixing_106_16_cutmix_ddpm Fixing Data Augmentation to Improve Adversarial Robustness 88.50% 64.58% WideResNet-106-16 arXiv, Mar 2021
16 Rebuffi2021Fixing_70_16_cutmix_ddpm Fixing Data Augmentation to Improve Adversarial Robustness 88.54% 64.20% WideResNet-70-16 arXiv, Mar 2021
17 Kang2021Stable Stable Neural ODE with Lyapunov-Stable Equilibrium Points for Defending Against Adversarial Attacks 93.73% 64.20% WideResNet-70-16, Neural ODE block NeurIPS 2021
18 Xu2023Exploring_WRN-28-10 Exploring and Exploiting Decision Boundary Dynamics for Adversarial Robustness 93.69% 63.89% WideResNet-28-10 ICLR 2023
19 Gowal2021Improving_28_10_ddpm_100m Improving Robustness using Generated Data 87.50% 63.38% WideResNet-28-10 NeurIPS 2021
20 Pang2022Robustness_WRN70_16 Robustness and Accuracy Could Be Reconcilable by (Proper) Definition 89.01% 63.35% WideResNet-70-16 ICML 2022
21 Rade2021Helper_extra Helper-based Adversarial Training: Reducing Excessive Margin to Achieve a Better Accuracy vs. Robustness Trade-off 91.47% 62.83% WideResNet-34-10 OpenReview, Jun 2021
22 Sehwag2021Proxy_ResNest152 Robust Learning Meets Generative Models: Can Proxy Distributions Improve Adversarial Robustness? 87.30% 62.79% ResNest152 ICLR 2022
23 Gowal2020Uncovering_28_10_extra Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 89.48% 62.76% WideResNet-28-10 arXiv, Oct 2020
24 Huang2021Exploring_ema Exploring Architectural Ingredients of Adversarially Robust Deep Neural Networks 91.23% 62.54% WideResNet-34-R NeurIPS 2021
25 Huang2021Exploring Exploring Architectural Ingredients of Adversarially Robust Deep Neural Networks 90.56% 61.56% WideResNet-34-R NeurIPS 2021
26 Dai2021Parameterizing Parameterizing Activation Functions for Adversarial Robustness 87.02% 61.55% WideResNet-28-10-PSSiLU arXiv, Oct 2021
27 Pang2022Robustness_WRN28_10 Robustness and Accuracy Could Be Reconcilable by (Proper) Definition 88.61% 61.04% WideResNet-28-10 ICML 2022
28 Rade2021Helper_ddpm Helper-based Adversarial Training: Reducing Excessive Margin to Achieve a Better Accuracy vs. Robustness Trade-off 88.16% 60.97% WideResNet-28-10 OpenReview, Jun 2021
29 Rebuffi2021Fixing_28_10_cutmix_ddpm Fixing Data Augmentation to Improve Adversarial Robustness 87.33% 60.73% WideResNet-28-10 arXiv, Mar 2021
30 Sridhar2021Robust_34_15 Improving Neural Network Robustness via Persistency of Excitation 86.53% 60.41% WideResNet-34-15 ACC 2022
31 Sehwag2021Proxy Robust Learning Meets Generative Models: Can Proxy Distributions Improve Adversarial Robustness? 86.68% 60.27% WideResNet-34-10 ICLR 2022
32 Wu2020Adversarial_extra Adversarial Weight Perturbation Helps Robust Generalization 88.25% 60.04% WideResNet-28-10 NeurIPS 2020
33 Sridhar2021Robust Improving Neural Network Robustness via Persistency of Excitation 89.46% 59.66% WideResNet-28-10 ACC 2022
34 Zhang2020Geometry Geometry-aware Instance-reweighted Adversarial Training 89.36% 59.64% WideResNet-28-10 ICLR 2021
35 Carmon2019Unlabeled Unlabeled Data Improves Adversarial Robustness 89.69% 59.53% WideResNet-28-10 NeurIPS 2019
36 Gowal2021Improving_R18_ddpm_100m Improving Robustness using Generated Data 87.35% 58.50% PreActResNet-18 NeurIPS 2021
37 Chen2024Data_WRN_34_20 Data filtering for efficient adversarial training 86.10% 58.09% WideResNet-34-20 Pattern Recognition 2024
38 Addepalli2021Towards_WRN34 Scaling Adversarial Training to Large Perturbation Bounds 85.32% 58.04% WideResNet-34-10 ECCV 2022
39 Addepalli2022Efficient_WRN_34_10 Efficient and Effective Augmentation Strategy for Adversarial Training 88.71% 57.81% WideResNet-34-10 NeurIPS 2022
40 Chen2021LTD_WRN34_20 LTD: Low Temperature Distillation for Robust Adversarial Training 86.03% 57.71% WideResNet-34-20 arXiv, Nov 2021
41 Rade2021Helper_R18_extra Helper-based Adversarial Training: Reducing Excessive Margin to Achieve a Better Accuracy vs. Robustness Trade-off 89.02% 57.67% PreActResNet-18 OpenReview, Jun 2021
42 Jia2022LAS-AT_70_16 LAS-AT: Adversarial Training with Learnable Attack Strategy 85.66% 57.61% WideResNet-70-16 arXiv, Mar 2022
43 Debenedetti2022Light_XCiT-L12 A Light Recipe to Train Robust Vision Transformers 91.73% 57.58% XCiT-L12 arXiv, Sep 2022
44 Chen2024Data_WRN_34_10 Data filtering for efficient adversarial training 86.54% 57.30% WideResNet-34-10 Pattern Recognition 2024
45 Debenedetti2022Light_XCiT-M12 A Light Recipe to Train Robust Vision Transformers 91.30% 57.27% XCiT-M12 arXiv, Sep 2022
46 Sehwag2020Hydra HYDRA: Pruning Adversarially Robust Neural Networks 88.98% 57.14% WideResNet-28-10 NeurIPS 2020
47 Gowal2020Uncovering_70_16 Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 85.29% 57.14% WideResNet-70-16 arXiv, Oct 2020
48 Rade2021Helper_R18_ddpm Helper-based Adversarial Training: Reducing Excessive Margin to Achieve a Better Accuracy vs. Robustness Trade-off 86.86% 57.09% PreActResNet-18 OpenReview, Jun 2021
49 Cui2023Decoupled_WRN-34-10 Decoupled Kullback-Leibler Divergence Loss 85.31% 57.09% WideResNet-34-10 NeurIPS 2024
50 Chen2021LTD_WRN34_10 LTD: Low Temperature Distillation for Robust Adversarial Training 85.21% 56.94% WideResNet-34-10 arXiv, Nov 2021
51 Gowal2020Uncovering_34_20 Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 85.64% 56.82% WideResNet-34-20 arXiv, Oct 2020
52 Rebuffi2021Fixing_R18_ddpm Fixing Data Augmentation to Improve Adversarial Robustness 83.53% 56.66% PreActResNet-18 arXiv, Mar 2021
53 Wang2020Improving Improving Adversarial Robustness Requires Revisiting Misclassified Examples 87.50% 56.29% WideResNet-28-10 ICLR 2020
54 Jia2022LAS-AT_34_10 LAS-AT: Adversarial Training with Learnable Attack Strategy 84.98% 56.26% WideResNet-34-10 arXiv, Mar 2022
55 Wu2020Adversarial Adversarial Weight Perturbation Helps Robust Generalization 85.36% 56.17% WideResNet-34-10 NeurIPS 2020
56 Debenedetti2022Light_XCiT-S12 A Light Recipe to Train Robust Vision Transformers 90.06% 56.14% XCiT-S12 arXiv, Sep 2022
57 Sehwag2021Proxy_R18 Robust Learning Meets Generative Models: Can Proxy Distributions Improve Adversarial Robustness? 84.59% 55.54% ResNet-18 ICLR 2022
58 Hendrycks2019Using Using Pre-Training Can Improve Model Robustness and Uncertainty 87.11% 54.92% WideResNet-28-10 ICML 2019
59 Pang2020Boosting Boosting Adversarial Training with Hypersphere Embedding 85.14% 53.74% WideResNet-34-20 NeurIPS 2020
60 Cui2020Learnable_34_20 Learnable Boundary Guided Adversarial Training 88.70% 53.57% <

L2 范数,eps=0.5

# 模型 ID 论文 干净准确率 鲁棒准确率 网络架构 发表场合
1 Wang2023Better_WRN-70-16 更优的扩散模型进一步提升对抗训练效果 95.54% 84.97% WideResNet-70-16 arXiv, 2023 年 2 月
2 Amini2024MeanSparse_S-WRN-70-16 MeanSparse:通过均值中心化特征稀疏化进行后训练鲁棒性增强 95.51% 84.33% MeanSparse WideResNet-70-16 arXiv, 2024 年 6 月
3 Wang2023Better_WRN-28-10 更优的扩散模型进一步提升对抗训练效果 95.16% 83.68% WideResNet-28-10 ICML 2023
4 Rebuffi2021Fixing_70_16_cutmix_extra 修复数据增强以提升对抗鲁棒性 95.74% 82.32% WideResNet-70-16 arXiv, 2021 年 3 月
5 Gowal2020Uncovering_extra 揭示针对范数有界对抗样本的对抗训练的极限 94.74% 80.53% WideResNet-70-16 arXiv, 2020 年 10 月
6 Rebuffi2021Fixing_70_16_cutmix_ddpm 修复数据增强以提升对抗鲁棒性 92.41% 80.42% WideResNet-70-16 arXiv, 2021 年 3 月
7 Rebuffi2021Fixing_28_10_cutmix_ddpm 修复数据增强以提升对抗鲁棒性 91.79% 78.80% WideResNet-28-10 arXiv, 2021 年 3 月
8 Augustin2020Adversarial_34_10_extra 分布内和分布外的对抗鲁棒性提升可解释性 93.96% 78.79% WideResNet-34-10 ECCV 2020
9 Sehwag2021Proxy 鲁棒学习遇见生成模型:代理分布能否提升对抗鲁棒性? 90.93% 77.24% WideResNet-34-10 ICLR 2022
10 Augustin2020Adversarial_34_10 分布内和分布外的对抗鲁棒性提升可解释性 92.23% 76.25% WideResNet-34-10 ECCV 2020
11 Rade2021Helper_R18_ddpm 基于辅助器的对抗训练:减少过大边距以实现更好的准确率与鲁棒性权衡 90.57% 76.15% PreActResNet-18 OpenReview, 2021 年 6 月
12 Rebuffi2021Fixing_R18_cutmix_ddpm 修复数据增强以提升对抗鲁棒性 90.33% 75.86% PreActResNet-18 arXiv, 2021 年 3 月
13 Gowal2020Uncovering 揭示针对范数有界对抗样本的对抗训练的极限 90.90% 74.50% WideResNet-70-16 arXiv, 2020 年 10 月
14 Sehwag2021Proxy_R18 鲁棒学习遇见生成模型:代理分布能否提升对抗鲁棒性? 89.76% 74.41% ResNet-18 ICLR 2022
15 Wu2020Adversarial 对抗权重扰动有助于鲁棒泛化 88.51% 73.66% WideResNet-34-10 NeurIPS 2020
16 Augustin2020Adversarial 分布内和分布外的对抗鲁棒性提升可解释性 91.08% 72.91% ResNet-50 ECCV 2020
17 Engstrom2019Robustness 鲁棒性库 90.83% 69.24% ResNet-50 GitHub,
2019 年 9 月
18 Rice2020Overfitting 对抗鲁棒深度学习中的过拟合 88.67% 67.68% PreActResNet-18 ICML 2020
19 Rony2019Decoupling 解耦方向与范数以实现高效的基于梯度的 L2 对抗攻击与防御 89.05% 66.44% WideResNet-28-10 CVPR 2019
20 Ding2020MMA MMA 训练:通过对抗训练直接最大化输入空间边距 88.02% 66.09% WideResNet-28-4 ICLR 2020
21 Standard 标准训练模型 94.78% 0.00% WideResNet-28-10 不适用

常见损坏 (Common Corruptions)

序号 模型 ID 论文 清洁准确率 鲁棒准确率 架构 发表场合
1 Diffenderfer2021Winning_LRR_CARD_Deck 一手好牌:压缩深度网络可提高分布外鲁棒性 96.56% 92.78% WideResNet-18-2 NeurIPS 2021
2 Diffenderfer2021Winning_LRR 一手好牌:压缩深度网络可提高分布外鲁棒性 96.66% 90.94% WideResNet-18-2 NeurIPS 2021
3 Diffenderfer2021Winning_Binary_CARD_Deck 一手好牌:压缩深度网络可提高分布外鲁棒性 95.09% 90.15% WideResNet-18-2 NeurIPS 2021
4 Kireev2021Effectiveness_RLATAugMix 对抗训练对常见扰动的有效性研究 94.75% 89.60% ResNet-18 arXiv, 2021 年 3 月
5 Hendrycks2020AugMix_ResNeXt AugMix:一种提高鲁棒性和不确定性的简单数据处理方法 95.83% 89.09% ResNeXt29_32x4d ICLR 2020
6 Modas2021PRIMEResNet18 PRIME:少量原语即可提升对常见扰动的鲁棒性 93.06% 89.05% ResNet-18 arXiv, 2021 年 12 月
7 Hendrycks2020AugMix_WRN AugMix:一种提高鲁棒性和不确定性的简单数据处理方法 95.08% 88.82% WideResNet-40-2 ICLR 2020
8 Kireev2021Effectiveness_RLATAugMixNoJSD 对抗训练对常见扰动的有效性研究 94.77% 88.53% PreActResNet-18 arXiv, 2021 年 3 月
9 Diffenderfer2021Winning_Binary 一手好牌:压缩深度网络可提高分布外鲁棒性 94.87% 88.32% WideResNet-18-2 NeurIPS 2021
10 Rebuffi2021Fixing_70_16_cutmix_extra_L2 修复数据增强以提升对抗鲁棒性 95.74% 88.23% WideResNet-70-16 arXiv, 2021 年 3 月
11 Kireev2021Effectiveness_AugMixNoJSD 对抗训练对常见扰动的有效性研究 94.97% 86.60% PreActResNet-18 arXiv, 2021 年 3 月
12 Kireev2021Effectiveness_Gauss50percent 对抗训练对常见扰动的有效性研究 93.24% 85.04% PreActResNet-18 arXiv, 2021 年 3 月
13 Kireev2021Effectiveness_RLAT 对抗训练对常见扰动的有效性研究 93.10% 84.10% PreActResNet-18 arXiv, 2021 年 3 月
14 Rebuffi2021Fixing_70_16_cutmix_extra_Linf 修复数据增强以提升对抗鲁棒性 92.23% 82.82% WideResNet-70-16 arXiv, 2021 年 3 月
15 Addepalli2022Efficient_WRN_34_10 用于对抗训练的高效且有效的增强策略 88.71% 80.12% WideResNet-34-10 CVPRW 2022
16 Addepalli2021Towards_WRN34 迈向超越感知极限的对抗鲁棒性 85.32% 76.78% WideResNet-34-10 arXiv, 2021 年 4 月
17 Standard 标准训练模型 94.78% 73.46% WideResNet-28-10 N/A

CIFAR-100

Linf, eps=8/255

# 模型 ID 论文 原始准确率 鲁棒准确率 架构 会议/期刊
1 Wang2023Better_WRN-70-16 更好的扩散模型进一步提升对抗训练 75.22% 42.66% WideResNet-70-16 ICML 2023
2 Amini2024MeanSparse_S-WRN-70-16 MeanSparse:通过均值中心化特征稀疏化实现后训练鲁棒性增强 75.13% 42.25% MeanSparse WideResNet-70-16 arXiv, Jun 2024
3 Bai2024MixedNUTS MixedNUTS:通过非线性混合分类器实现无需训练的准确率 - 鲁棒性平衡 83.08% 41.80% ResNet-152 + WideResNet-70-16 TMLR, Aug 2024
4 Cui2023Decoupled_WRN-28-10 解耦的 KL 散度损失 73.85% 39.18% WideResNet-28-10 NeurIPS 2024
5 Wang2023Better_WRN-28-10 更好的扩散模型进一步提升对抗训练 72.58% 38.77% WideResNet-28-10 ICML 2023
6 Bai2023Improving_edm 通过自适应平滑改进分类器的准确率 - 鲁棒性权衡 85.21% 38.72% ResNet-152 + WideResNet-70-16 + mixing network SIMODS 2024
7 Gowal2020Uncovering_extra 揭示对抗训练在范数有界对抗样本上的极限 69.15% 36.88% WideResNet-70-16 arXiv, Oct 2020
8 Bai2023Improving_trades 通过自适应平滑改进分类器的准确率 - 鲁棒性权衡 80.18% 35.15% ResNet-152 + WideResNet-70-16 + mixing network SIMODS 2024
9 Debenedetti2022Light_XCiT-L12 训练鲁棒视觉 Transformer 的轻量级配方 70.76% 35.08% XCiT-L12 arXiv, Sep 2022
10 Rebuffi2021Fixing_70_16_cutmix_ddpm 修正数据增强以提升对抗鲁棒性 63.56% 34.64% WideResNet-70-16 arXiv, Mar 2021
11 Debenedetti2022Light_XCiT-M12 训练鲁棒视觉 Transformer 的轻量级配方 69.21% 34.21% XCiT-M12 arXiv, Sep 2022
12 Pang2022Robustness_WRN70_16 鲁棒性和准确率可以通过(适当)定义达成和解 65.56% 33.05% WideResNet-70-16 ICML 2022
13 Cui2023Decoupled_WRN-34-10_autoaug 解耦的 KL 散度损失 65.93% 32.52% WideResNet-34-10 NeurIPS 2024
14 Debenedetti2022Light_XCiT-S12 训练鲁棒视觉 Transformer 的轻量级配方 67.34% 32.19% XCiT-S12 arXiv, Sep 2022
15 Rebuffi2021Fixing_28_10_cutmix_ddpm 修正数据增强以提升对抗鲁棒性 62.41% 32.06% WideResNet-28-10 arXiv, Mar 2021
16 Jia2022LAS-AT_34_20 LAS-AT:具有可学习攻击策略的对抗训练 67.31% 31.91% WideResNet-34-20 arXiv, Mar 2022
17 Cui2023Decoupled_WRN-34-10 解耦的 KL 散度损失 65.76% 31.91% WideResNet-34-10 NeurIPS 2024
18 Addepalli2022Efficient_WRN_34_10 用于对抗训练的高效有效增强策略 68.75% 31.85% WideResNet-34-10 NeurIPS 2022
19 Cui2020Learnable_34_10_LBGAT9_eps_8_255 可学习的边界引导对抗训练 62.99% 31.20% WideResNet-34-10 ICCV 2021
20 Sehwag2021Proxy 鲁棒学习与生成模型相遇:代理分布能否提升对抗鲁棒性? 65.93% 31.15% WideResNet-34-10 ICLR 2022
21 Chen2024Data_WRN_34_10 用于高效对抗训练的数据过滤 64.32% 31.13% WideResNet-34-10 Pattern Recognition 2024
22 Pang2022Robustness_WRN28_10 鲁棒性和准确率可以通过(适当)定义达成和解 63.66% 31.08% WideResNet-28-10 ICML 2022
23 Jia2022LAS-AT_34_10 LAS-AT:具有可学习攻击策略的对抗训练 64.89% 30.77% WideResNet-34-10 arXiv, Mar 2022
24 Chen2021LTD_WRN34_10 LTD:用于鲁棒对抗训练的低温度蒸馏 64.07% 30.59% WideResNet-34-10 arXiv, Nov 2021
25 Addepalli2021Towards_WRN34 将对抗训练扩展至大扰动边界 65.73% 30.35% WideResNet-34-10 ECCV 2022
26 Cui2020Learnable_34_20_LBGAT6 可学习的边界引导对抗训练 62.55% 30.20% WideResNet-34-20 ICCV 2021
27 Gowal2020Uncovering 揭示对抗训练在范数有界对抗样本上的极限 60.86% 30.03% WideResNet-70-16 arXiv, Oct 2020
28 Cui2020Learnable_34_10_LBGAT6 可学习的边界引导对抗训练 60.64% 29.33% WideResNet-34-10 ICCV 2021
29 Rade2021Helper_R18_ddpm 基于辅助模型的对抗训练:减少过大边距以实现更好的准确率与鲁棒性权衡 61.50% 28.88% PreActResNet-18 OpenReview, Jun 2021
30 Wu2020Adversarial 对抗权重扰动有助于鲁棒泛化 60.38% 28.86% WideResNet-34-10 NeurIPS 2020
31 Rebuffi2021Fixing_R18_ddpm 修正数据增强以提升对抗鲁棒性 56.87% 28.50% PreActResNet-18 arXiv, Mar 2021
32 Hendrycks2019Using 使用预训练可以提升模型鲁棒性和不确定性 59.23% 28.42% WideResNet-28-10 ICML 2019
33 Addepalli2022Efficient_RN18 用于对抗训练的高效有效增强策略 65.45% 27.67% ResNet-18 NeurIPS 2022
34 Cui2020Learnable_34_10_LBGAT0 可学习的边界引导对抗训练 70.25% 27.16% WideResNet-34-10 ICCV 2021
35 Addepalli2021Towards_PARN18 将对抗训练扩展至大扰动边界 62.02% 27.14% PreActResNet-18 ECCV 2022
36 Chen2020Efficient 通过反向平滑实现高效鲁棒训练 62.15% 26.94% WideResNet-34-10 arXiv, Oct 2020
37 Sitawarin2020Improving 通过渐进式硬化提升对抗鲁棒性 62.82% 24.57% WideResNet-34-10 arXiv, Mar 2020
38 Rice2020Overfitting 对抗鲁棒深度学习中过拟合现象 53.83% 18.95% PreActResNet-18 ICML 2020

损坏

# 模型 ID 论文 清洁准确率 鲁棒准确率 架构 会议/来源
1 Diffenderfer2021Winning_LRR_CARD_Deck 一手好牌:压缩深度网络可以提升分布外鲁棒性 79.93% 71.08% WideResNet-18-2 NeurIPS 2021
2 Diffenderfer2021Winning_Binary_CARD_Deck 一手好牌:压缩深度网络可以提升分布外鲁棒性 78.50% 69.09% WideResNet-18-2 NeurIPS 2021
3 Modas2021PRIMEResNet18 PRIME:少量原语可以提升对常见损坏的鲁棒性 77.60% 68.28% ResNet-18 arXiv, Dec 2021
4 Diffenderfer2021Winning_LRR 一手好牌:压缩深度网络可以提升分布外鲁棒性 78.41% 66.45% WideResNet-18-2 NeurIPS 2021
5 Diffenderfer2021Winning_Binary 一手好牌:压缩深度网络可以提升分布外鲁棒性 77.69% 65.26% WideResNet-18-2 NeurIPS 2021
6 Hendrycks2020AugMix_ResNeXt AugMix:一种提升鲁棒性和不确定性的简单数据处理方法 78.90% 65.14% ResNeXt29_32x4d ICLR 2020
7 Hendrycks2020AugMix_WRN AugMix:一种提升鲁棒性和不确定性的简单数据处理方法 76.28% 64.11% WideResNet-40-2 ICLR 2020
8 Addepalli2022Efficient_WRN_34_10 对抗训练的高效有效增强策略 68.75% 56.95% WideResNet-34-10 CVPRW 2022
9 Gowal2020Uncovering_extra_Linf 揭示针对范数有界对抗样本的对抗训练的极限 69.15% 56.00% WideResNet-70-16 arXiv, Oct 2020
10 Addepalli2021Towards_WRN34 迈向超越感知限制的对抗鲁棒性 65.73% 54.88% WideResNet-34-10 OpenReview, Jun 2021
11 Addepalli2021Towards_PARN18 迈向超越感知限制的对抗鲁棒性 62.02% 51.77% PreActResNet-18 OpenReview, Jun 2021
12 Gowal2020Uncovering_Linf 揭示针对范数有界对抗样本的对抗训练的极限 60.86% 49.46% WideResNet-70-16 arXiv, Oct 2020

ImageNet

注意: 数值(即使是清洁准确率)可能会因包版本(例如 torchvision)的不同而有微小波动。

Linf, eps=4/255

# 模型 ID 论文 清洁准确率 鲁棒准确率 架构 发表来源
1 Xu2024MIMIR_Swin-L MIMIR:基于互信息的对抗鲁棒性掩码图像建模 78.62% 59.68% Swin-L arXiv, 2023 年 12 月
2 Liu2023Comprehensive_Swin-L 图像分类模型鲁棒性的全面研究:基准测试与再思考 78.92% 59.56% Swin-L arXiv, 2023 年 2 月
3 Amini2024MeanSparse_Swin-L MeanSparse:通过均值中心化特征稀疏化进行后训练鲁棒性增强 78.80% 58.92% MeanSparse Swin-L arXiv, 2024 年 6 月
4 Bai2024MixedNUTS MixedNUTS:通过非线性混合分类器实现无需训练的准确率 - 鲁棒性平衡 81.48% 58.50% ConvNeXtV2-L + Swin-L TMLR, 2024 年 8 月
5 Liu2023Comprehensive_ConvNeXt-L 图像分类模型鲁棒性的全面研究:基准测试与再思考 78.02% 58.48% ConvNeXt-L arXiv, 2023 年 2 月
6 Amini2024MeanSparse_ConvNeXt-L MeanSparse:通过均值中心化特征稀疏化进行后训练鲁棒性增强 77.92% 58.22% MeanSparse ConvNeXt-L arXiv, 2024 年 6 月
7 Singh2023Revisiting_ConvNeXt-L-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 77.00% 57.70% ConvNeXt-L + ConvStem NeurIPS 2023
8 Liu2023Comprehensive_Swin-B 图像分类模型鲁棒性的全面研究:基准测试与再思考 76.16% 56.16% Swin-B arXiv, 2023 年 2 月
9 Singh2023Revisiting_ConvNeXt-B-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 75.90% 56.14% ConvNeXt-B + ConvStem NeurIPS 2023
10 Xu2024MIMIR_Swin-B MIMIR:基于互信息的对抗鲁棒性掩码图像建模 76.62% 55.90% Swin-B arXiv, 2023 年 12 月
11 Liu2023Comprehensive_ConvNeXt-B 图像分类模型鲁棒性的全面研究:基准测试与再思考 76.02% 55.82% ConvNeXt-B arXiv, 2023 年 2 月
12 Singh2023Revisiting_ViT-B-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 76.30% 54.66% ViT-B + ConvStem NeurIPS 2023
13 RodriguezMunoz2024Characterizing_Swin-L 通过自然输入梯度表征模型鲁棒性 79.36% 53.82% Swin-L arXiv, 2024 年 9 月
14 Singh2023Revisiting_ConvNeXt-S-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 74.10% 52.42% ConvNeXt-S + ConvStem NeurIPS 2023
15 RodriguezMunoz2024Characterizing_Swin-B 通过自然输入梯度表征模型鲁棒性 77.76% 51.56% Swin-B arXiv, 2024 年 9 月
16 Singh2023Revisiting_ConvNeXt-T-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 72.72% 49.46% ConvNeXt-T + ConvStem NeurIPS 2023
17 Peng2023Robust 鲁棒原则:面向对抗鲁棒 CNN 的架构设计原则 73.44% 48.94% RaWideResNet-101-2 BMVC 2023
18 Singh2023Revisiting_ViT-S-ConvStem 重新审视 ImageNet 的对抗训练:跨威胁模型的架构、训练与泛化 72.56% 48.08% ViT-S + ConvStem NeurIPS 2023
19 Debenedetti2022Light_XCiT-L12 训练鲁棒视觉 Transformer 的轻量级配方 73.76% 47.60% XCiT-L12 arXiv, 2022 年 9 月
20 Debenedetti2022Light_XCiT-M12 训练鲁棒视觉 Transformer 的轻量级配方 74.04% 45.24% XCiT-M12 arXiv, 2022 年 9 月
21 Debenedetti2022Light_XCiT-S12 训练鲁棒视觉 Transformer 的轻量级配方 72.34% 41.78% XCiT-S12 arXiv, 2022 年 9 月
22 Chen2024Data_WRN_50_2 用于高效对抗训练的数据过滤 68.76% 40.60% WideResNet-50-2 Pattern Recognition 2024
23 Mo2022When_Swin-B 当对抗训练遇见视觉 Transformer:从训练到架构的配方 74.66% 38.30% Swin-B NeurIPS 2022
24 Salman2020Do_50_2 对抗鲁棒的 ImageNet 模型迁移效果更好吗? 68.46% 38.14% WideResNet-50-2 NeurIPS 2020
25 Salman2020Do_R50 对抗鲁棒的 ImageNet 模型迁移效果更好吗? 64.02% 34.96% ResNet-50 NeurIPS 2020
26 Mo2022When_ViT-B 当对抗训练遇见视觉 Transformer:从训练到架构的配方 68.38% 34.40% ViT-B NeurIPS 2022
27 Engstrom2019Robustness 鲁棒性库 62.56% 29.22% ResNet-50 GitHub,
2019 年 10 月
28 Wong2020Fast 快比免费好:重新审视对抗训练 55.62% 26.24% ResNet-50 ICLR 2020
29 Salman2020Do_R18 对抗鲁棒的 ImageNet 模型迁移效果更好吗? 52.92% 25.32% ResNet-18 NeurIPS 2020
30 Standard_R50 标准训练模型 76.52% 0.00% ResNet-50

损坏(ImageNet-C & ImageNet-3DCC)

# 模型 ID 论文 干净准确率 鲁棒准确率 架构 发表场合
1 Tian2022Deeper_DeiT-B 深入理解视觉 Transformer (ViTs) 对常见损坏的鲁棒性 81.38% 67.55% DeiT Base arXiv, Apr 2022
2 Tian2022Deeper_DeiT-S 深入理解视觉 Transformer (ViTs) 对常见损坏的鲁棒性 79.76% 62.91% DeiT Small arXiv, Apr 2022
3 Erichson2022NoisyMix_new NoisyMix:通过结合数据增强、稳定性训练和噪声注入来提升鲁棒性 76.90% 53.28% ResNet-50 arXiv, Feb 2022
4 Hendrycks2020Many 鲁棒性的多面性:对分布外泛化的批判性分析 76.86% 52.90% ResNet-50 ICCV 2021
5 Erichson2022NoisyMix NoisyMix:通过结合数据增强、稳定性训练和噪声注入来提升鲁棒性 76.98% 52.47% ResNet-50 arXiv, Feb 2022
6 Hendrycks2020AugMix AugMix:一种提高鲁棒性和不确定性的简单数据处理方法 77.34% 49.33% ResNet-50 ICLR 2020
7 Geirhos2018_SIN_IN 在 ImageNet 上训练的卷积神经网络 (CNNs) 倾向于纹理;增加形状偏差可提高准确性和鲁棒性 74.98% 45.76% ResNet-50 ICLR 2019
8 Geirhos2018_SIN_IN_IN 在 ImageNet 上训练的卷积神经网络 (CNNs) 倾向于纹理;增加形状偏差可提高准确性和鲁棒性 77.56% 42.00% ResNet-50 ICLR 2019
9 Geirhos2018_SIN 在 ImageNet 上训练的卷积神经网络 (CNNs) 倾向于纹理;增加形状偏差可提高准确性和鲁棒性 60.08% 39.92% ResNet-50 ICLR 2019
10 Standard_R50 标准训练的模型 76.72% 39.48% ResNet-50 N/A
11 Salman2020Do_50_2_Linf 对抗鲁棒的 ImageNet 模型是否迁移得更好? 68.64% 36.09% WideResNet-50-2 NeurIPS 2020
12 AlexNet 使用深度卷积神经网络 (CNNs) 进行 ImageNet 分类 56.24% 21.12% AlexNet NeurIPS 2012

笔记本

我们在 Google Colab 上托管了所有笔记本:

欢迎基于 模型库model_info 中的 JSON 建议新的笔记本。我们非常感兴趣收集关于不同扰动类型之间的好处和权衡的新见解。

如何贡献

非常欢迎对 RobustBench 做出贡献!你可以帮助改进 RobustBench

  • 你是最近一篇关注提高对抗鲁棒性的论文的作者吗?考虑添加新模型(见下方说明 👇)。
  • 你是否想到了一些更好的标准化攻击?你想将 RobustBench 扩展到其他威胁模型吗?我们将很乐意讨论这一点!
  • 你有想法如何让现有的代码库更好吗?只需打开一个拉取请求 (pull request) 或创建一个问题 (issue),我们将很乐意讨论潜在的更改。

添加新评估

如果您有一些新的(可能是自适应的)评估方法,其导致的鲁棒准确率低于 AutoAttack,我们将很乐意将其添加到排行榜中。 最简单的方法是使用“新外部评估”模板打开一个问题并填写所有字段。

添加新模型

公开模型提交(排行榜 + 模型库)

向排行榜和/或模型库添加新模型最简单的方法是使用“新模型”模板打开一个 issue并填写所有字段。

在以下部分中,有一些关于如何准备性能声明的建议。

性能声明

性能声明可以通过以下方式计算(以 cifar10Linf 威胁模型为例):

import torch

from robustbench import benchmark
from myrobust model import MyRobustModel

threat_model = "Linf"  # one of {"Linf", "L2", "corruptions"}
dataset = "cifar10"  # one of {"cifar10", "cifar100", "imagenet"}

model = MyRobustModel()
model_name = "<Name><Year><FirstWordOfTheTitle>"
device = torch.device("cuda:0")

clean_acc, robust_acc = benchmark(model, model_name=model_name, n_examples=10000, dataset=dataset,
                                  threat_model=threat_model, eps=8/255, device=device,
                                  to_disk=True)

特别是,如果 to_disk 参数为 True,则会在路径 model_info/<dataset>/<threat_model>/<Name><Year><FirstWordOfTheTitle>.json 生成一个 json 文件,其结构如下(示例来自 model_info/cifar10/Linf/Rice2020Overfitting.json):

{
  "link": "https://arxiv.org/abs/2002.11569",
  "name": "Overfitting in adversarially robust deep learning",
  "authors": "Leslie Rice, Eric Wong, J. Zico Kolter",
  "additional_data": false,
  "number_forward_passes": 1,
  "dataset": "cifar10",
  "venue": "ICML 2020",
  "architecture": "WideResNet-34-20",
  "eps": "8/255",
  "clean_acc": "85.34",
  "reported": "58",
  "autoattack_acc": "53.42"
}

唯一的区别是生成的 json 将仅包含已指定的字段 "clean_acc""autoattack_acc"(针对 "Linf""L2" 威胁模型)或 "corruptions_acc"(针对 "corruptions" 威胁模型)。其他字段需要手动填写。

如果给定的 threat_modelcorruptions,我们还会将不同类型和严重程度的组合的非聚合结果保存在 此 csv 文件 中(适用于 CIFAR-10)。

对于 ImageNet 基准测试,用户应指定使用的预处理方法(例如调整大小并裁剪到所需分辨率)。robustbench.data.PREPROCESSINGS 中已经定义了一些预处理方法,可以通过将键指定为 benchmarkpreprocessing 参数来使用。否则,可以传递任意的 torchvision transform(或兼容 torchvision 的 transform),例如:

transform = transforms.Compose([
        transforms.Resize(256),
        transforms.CenterCrop(224),
        transforms.ToTensor()
    ])
clean_acc, robust_acc = benchmark(model, model_name=model_name, n_examples=10000, dataset=dataset,
                                  threat_model=threat_model, eps=8/255, device=device,
                                  to_disk=True, preprocessing=transform)
模型定义

如果您想自行向模型库添加模型,您还应该为您想要添加的新模型打开一个 PR(拉取请求)。每个 <dataset> 的所有模型都保存在 robustbench/model_zoo/<dataset>.py 中。每个文件包含每个威胁模型的字典,其中键是每个模型的标识符,值要么是类构造函数(用于需要更改标准架构的模型),要么是返回构造模型的 lambda 函数。

如果您的模型是标准架构(例如 WideResNet),不对输入应用任何归一化,也不需要与标准架构有所不同,请考虑将您的模型作为 lambda 函数添加,例如:

('Cui2020Learnable_34_10', {
    'model': lambda: WideResNet(depth=34, widen_factor=10, sub_block1=True),
    'gdrive_id': '16s9pi_1QgMbFLISVvaVUiNfCzah6g2YV'
})

如果您的模型是标准架构,但您需要做一些不同的事情(例如应用归一化),请考虑继承 wide_resnet.pyresnet.py 中定义的类。例如:

class Rice2020OverfittingNet(WideResNet):
    def __init__(self, depth, widen_factor):
        super(Rice2020OverfittingNet, self).__init__(depth=depth, widen_factor=widen_factor,
                                                     sub_block1=False)
        self.mu = torch.Tensor([0.4914, 0.4822, 0.4465]).float().view(3, 1, 1).cuda()
        self.sigma = torch.Tensor([0.2471, 0.2435, 0.2616]).float().view(3, 1, 1).cuda()

    def forward(self, x):
        x = (x - self.mu) / self.sigma
        return super(Rice2020OverfittingNet, self).forward(x)

相反,如果您需要创建一个新的架构,请将其放在 robustbench/model_zoo/archietectures/<my_architecture>.py 中。

模型检查点

您还应该在文件 robustbench/model_zoo/<dataset>.py 中的相应 <threat_model> 字典中添加您的模型条目。例如,假设您的模型对 CIFAR-10 中的常见损坏具有鲁棒性(即 CIFAR-10-C),那么您应该将您的模型添加到 robustbench/model_zoo/cifar10.py 中的 common_corruptions 字典中。

模型还应包含带有您的 PyTorch 模型的 Google Drive ID,以便可以从 Google Drive 自动下载:

    ('Rice2020Overfitting', {
        'model': Rice2020OverfittingNet(34, 20),
        'gdrive_id': '1vC_Twazji7lBjeMQvAD9uEQxi9Nx2oG-',
})

私有模型提交(仅限排行榜)

如果您出于某些原因希望保持检查点私有,您也可以通过使用相同的“新模型”模板打开一个 issue 来提交您的声明,指定提交是私有的,并通过电子邮件地址 adversarial.benchmark@gmail.com 共享检查点。在这种情况下,我们将把您的模型添加到排行榜中,但不添加到模型库中,并且不会公开共享您的检查点。

模型许可证

默认情况下,模型是根据 MIT 许可证发布的,但如果您希望根据自定义许可证发布模型,也可以告诉我们。

自动测试

为了运行测试,请运行:

  • python -m unittest discover tests -t . -v 用于快速测试
  • RUN_SLOW=true python -m unittest discover tests -t . -v 用于较慢的测试

例如,可以测试 200 个样本上的干净准确率是否超过某个阈值(70%),或者每个模型在 10'000 个样本上的干净准确率是否与位于 robustbench/model_info 的 json 文件中的匹配。

请注意,可以在 tests/config.py 中指定一些配置,如 batch_sizedata_dirmodel_dir,以运行测试。

引用

如果您希望引用 RobustBench 排行榜,或者正在使用来自 模型库 (Model Zoo) 的模型?
那么请考虑引用我们的 白皮书

@inproceedings{croce2021robustbench,
  title     = {RobustBench: a standardized adversarial robustness benchmark},
  author    = {Croce, Francesco and Andriushchenko, Maksym and Sehwag, Vikash and Debenedetti, Edoardo and Flammarion, Nicolas and Chiang, Mung and Mittal, Prateek and Matthias Hein},
  booktitle = {Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
  year      = {2021},
  url       = {https://openreview.net/forum?id=SSKZPJCt7B}
}

联系方式

如有任何关于 RobustBench 的问题,欢迎通过创建 issue (问题)pull request (拉取请求) 或发送邮件至 adversarial.benchmark@gmail.com 与我们联系。

版本历史

v1.1.1-test2023/04/09
v1.12022/09/28
v1.02021/11/29
v0.2.12021/05/07
v0.22021/05/05
v0.12021/03/11

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架