
摘要
对抗训练是一种通过在对抗样本上训练网络来防御对抗攻击的方法,是少数能够抵御强攻击的有效手段之一。不幸的是,生成强对抗样本的高成本使得标准的对抗训练在大规模问题(如ImageNet)上难以实施。我们提出了一种算法,通过循环利用更新模型参数时计算的梯度信息,消除了生成对抗样本的额外开销。我们的“免费”对抗训练算法在CIFAR-10和CIFAR-100数据集上实现了与PGD(Projected Gradient Descent)对抗训练相当的鲁棒性,其附加成本几乎可以忽略不计,并且比其他强对抗训练方法快7到30倍。使用配备4个P100 GPU的工作站运行2天,我们可以在大规模ImageNet分类任务中训练出一个鲁棒模型,在面对PGD攻击时仍能保持40%的准确率。代码已发布在https://github.com/ashafahi/free_adv_train。
代码仓库
mahyarnajibi/FreeAdversarialTraining
官方
pytorch
GitHub 中提及
a1600012888/YOPO-You-Only-Propagate-Once
pytorch
GitHub 中提及
ashafahi/free_adv_train
官方
tf
GitHub 中提及
simon0987/Fast_FGSM
pytorch
GitHub 中提及
locuslab/fast_adversarial
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| adversarial-defense-on-imagenet-non-targeted | ResNet-152 free-m=4 | Accuracy: 36.0% |
| adversarial-defense-on-imagenet-non-targeted | ResNet-101 free-m=4 | Accuracy: 34.3% |
| adversarial-defense-on-imagenet-non-targeted | ResNet-50 free-m=4 | Accuracy: 31.8% |
| domain-generalization-on-vizwiz | ResNet-50 (adv-train-free) | Accuracy - All Images: 26.7 Accuracy - Clean Images: 30.9 Accuracy - Corrupted Images: 20.5 |