Leaderboard: Certifiable Robustness against Adversarial Patch Attacks

October 30, 2023 ยท View on GitHub

This repository provides a leaderboard for certifiable robustness against adversarial patch attacks.

Check out our paper list and tutorials for adversarial patch attacks and defenses!

About

For now, this leaderboard focuses on the setting of

  1. Image classification task
  2. ImageNet dataset
  3. One 2% square patch anywhere on the image
  4. Prediction Recovery vs. attack detection (read this explanation for the difference between these two notions)

Stay tuned for future updates on different datasets and tasks :)

Annotated attributes

We include the following properties of different defenses in this leaderboard.

  1. Defense name and publication venue.
  2. Certified robust accuracy: certified robust accuracy for a 2%-pixel square patch anywhere on the image. All leaderboards are sorted by certified robust accuracy
  3. Clean accuracy: clean accuracy of the defended models
  4. Vanilla clean accuracy: clean accuracy of vanilla undefended models (if the defense is built upon off-the-shelf models)
  5. Backbone: the backbone used for each defense
  6. Comment: additional comments for each defense, including SOTA results, defense parameters, special training recipes.
  7. Code: most defenses have source code implemented by the authors or others

Note: We discuss more properties of different defenses in another copy of leaderboards hosted on Google Sheet.

Contributions

If you have new results and want to contribute to the leaderboard. Please submit a pull request or email me (Chong Xiang; cxiang@princeton.edu)

Table of Contents

Prediction Recovery

The prediction recovery defense requires the defense model to always predict/recover the robust label (without any abstention).

ImageNet

certified robust accuracyclean accuracyvanilla clean accuracybackbonecommentcode
MultiSizeGreedyCutout on PatchCleanser (TMLR 10/2023)64.982.483.0ViT-BSOTA at known 2% patch size; k=6; More improvements for 3%-pixel patch over cutout can be found in the paperNA
MultiSizeGreedyCutout on PatchCleanser (TMLR 10/2023)63.182.082.8ViT-Bk=6NA
PatchCleanser (USENIX Security 2022)62.183.984.8ViT-Bk=6; trained with cutoutcode
PatchCleanser (USENIX Security 2022)61.683.884.8ViT-Bk=6code
PatchCleanser (USENIX Security 2022)59.883.784.8ViT-Bk=5; trained with masked imagescode
PatchCleanser (USENIX Security 2022)59.483.683.7ViT-Bk=4; trained with masked imagescode
PatchCleanser (USENIX Security 2022)56.183.384.8ViT-Bk=3; trained with masked imagescode
PatchCleanser (USENIX Security 2022)53.879.480.2ResMLP-Sk=6; trained with masked imagescode
PatchCleanser (USENIX Security 2022)53.179.680.8ResMLP-Sk=6code
PatchCleanser (USENIX Security 2022)5381.682.3ResNet-50k=6; trained with masked imagescode
ViP (ECCV 2022)45.474.1ViT-L (MAE)SOTA with unknown patch size (using a larger model MAE-Large); trained with MAE; b=19; stride = 5code
ViP (ECCV 2022)44.673.6ViT-L (MAE)b=19; stride = 10code
ECViT (CVPR 2022)41.778.58NAViT-BSOTA with unknown patch size; b=37; progressively trained with pixel bandsNA
PatchCleanser (USENIX Security 2022)41.681.182.8ResNet-50k=6code
ViP (ECCV 2022)41.470.883.7ViT-B (MAE)b=19; stride = 1code
ECViT (CVPR 2022)40.7975.3NAViT-Bb=25; progressively trained with pixel bandsNA
ECViT (CVPR 2022)40.7273.49NAViT-Bb=19; progressively trained with pixel bandsNA
ViP (ECCV 2022)40.670.483.7ViT-B (MAE)b=19; stride = 5code
ViP (ECCV 2022)49.869.983.7ViT-B (MAE)b=19; stride = 10code
Smoothed ViT (CVPR 2022)38.369.3NAViT-BSOTA with unknown patch size (with code); b=19code
Smoothed ViT (CVPR 2022)38.273.2NAViT-Bb=37; trained with pixel bandscode
Smoothed ViT (CVPR 2022)36.968.3NAViT-Bb=19; s=10; trained with pixel bandscode
Smoothed ViT (CVPR 2022)31.663.5NAViT-Sb=19; trained with pixel bandscode
ECViT (CVPR 2022)30.0667.14NAViT-Sb=25; progressively trained with pixel bandsNA
ECViT (CVPR 2022)29.7469.88NAViT-Sb=37; progressively trained with pixel bandsNA
ECViT (CVPR 2022)28.8564.69NAViT-Sb=19; progressively trained with pixel bandsNA
De-randomized Smoothing (NeurIPS 2020) (from the Smoothed ViT )28.161.4NAWRN-101-2b=19; trained with pixel bandscode
PatchGuard (USENIX Security 2021)2654.656.5BagNet-17trained with masked featurescode
PatchGuard (USENIX Security 2021)24.160.463BagNet-33trained with masked featurescode
BagCert (ICLR 2021)22.745.3NABagNet-17NA
BagCert (ICLR 2021)22.447.3NABagNet-25NA
BagCert (ICLR 2021)20.147.9NABagNet-29NA
De-randomized Smoothing (NeurIPS 2020) (from the Smoothed ViT )18.351.5NAResNet-50b=19; trained with pixel bandscode
PatchGuard (USENIX Security 2021)15.743.644.4ResNet-50 (de-randmoized smoothedcode
Clipped BagNet (DLS 2020)14.453.756.5BagNet-17code
De-randomized Smoothing (NeurIPS 2020)1444.4NAResNet-50b=25; trained with pixel bandscode
PatchGuard (USENIX Security 2021)13.354.458.8BagNet-17code
Clipped BagNet (DLS 2020)9.462.763BagNet-33code
Clipped BagNet (DLS 2020)7.149.558.8BagNet-17code
PatchGuard (USENIX Security 2021)6.961.266.6BagNet-33code
Clipped BagNet (DLS 2020)1.960.366.6BagNet-33code
IBP (ICLR 2020)000NAnot scale to high-resolution imagescode

(go back to table of contents)

Attack Detection

The attack detection defense allows the defense to alert and abstain from making predictions when it detects an attack.

Note 1:

  1. Attack detection defenses usually can tune the defense parameters to balance the trade-off between clean accuracy and robust accuracy.
  2. Here, I only report three representative points for each defense setup (different confidence threshold tau)
    • low-tau: high robust accuracy and low clean accuracy; clean accuracy and robust accuracy are the same
    • high-tau: low robust accuracy and high clean accuracy; clean accuracy is close to vanilla undefended clean accuracy
    • mid-tau: in between
  3. You are encouraged to play with the code yourself :)

Note 2:

  1. The original Minority Reports paper does not discuss high-resolution images like ImageNet.
  2. The results here (Minority Reports + PatchCleanser) are from the discussion section of the PatchCleanser paper.
  3. the idea is to plug PatchCleanser's mask generation approach into the MR defense design https://github.com/inspire-group/PatchCleanser/blob/main/misc/pc_mr.py

ImageNet

certified robust accuracyclean accuracyvanilla clean accuracy (if applicable)backbonecommentcode
ViP (ECCV 2022)74.674.683.7ViT-B (MAE)Highest certified robust accuracy; trained with MAE; low-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)74.374.384.8ViT-Bk=6; low-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)73.773.784.8ViT-Bk=5; low-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)73.273.284.8ViT-Bk=4; low-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)72.872.884.5ViT-Bk=6; low-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)71.271.284.8ViT-Bk=3; low-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)68.368.382.3ResNet-50low-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)67.667.680.8ResMLP-Slow-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)67.567.580.2ResMLP-Slow-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)66.681.884.8ViT-Bk=6; mid-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)65.381.584.8ViT-Bk=5; mid-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)64.581.484.8ViT-Bk=4; mid-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)64.481.484.5ViT-Bk=6; mid-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)63.463.482.8ResNet-50low-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)62.17580.8ResMLP-Smid-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)62.18184.8ViT-Bk=3; mid-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)60.875.480.2ResMLP-Smid-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)59.977.882.3ResNet-50mid-tau; trained with masked imagescode
ScaleCert (NeurIPS 2021)55.458.573ResNet-50NA
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)5178.282.8ResNet-50mid-taucode
PatchGuard++ (ICLR Workshop 2021)49.849.863BagNet-33low-tau; trained with masked featurescode
PatchGuard++ (ICLR Workshop 2021)48.448.466.6BagNet-33low-taucode
PatchGuard++ (ICLR Workshop 2021)46.646.656.5BagNet-17low-tau; trained with masked featurescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)46.480.380.8ResMLP-Shigh-taucode
PatchGuard++ (ICLR Workshop 2021)45.545.558.8BagNet-17low-taucode
PatchGuard++ (ICLR Workshop 2021)39.960.166.6BagNet-33mid-taucode
PatchGuard++ (ICLR Workshop 2021)3960.963BagNet-33mid-tau; trained with masked featurescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)37.684.484.5ViT-Bk=6; high-taucode
PatchGuard++ (ICLR Workshop 2021)36.455.258.8BagNet-17mid-taucode
PatchGuard++ (ICLR Workshop 2021)34.755.456.5BagNet-17mid-tau; trained with masked featurescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)32.782.382.8ResNet-50high-taucode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)32.484.784.8ViT-Bk=6; high-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)31.784.784.8ViT-Bk=5; high-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)30.984.784.8ViT-Bk=4; high-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)29.282.182.3ResNet-50high-tau; trained with masked imagescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)29.184.684.8ViT-Bk=3; high-tau; trained with masked imagescode
PatchGuard++ (ICLR Workshop 2021)2862.963BagNet-33high-tau; trained with masked featurescode
PatchGuard++ (ICLR Workshop 2021)27.656.456.5BagNet-17high-tau; trained with masked featurescode
Minority Reports (ACNS Workshop 2020) + PatchCleanser (USENIX Security 20222)26.780.180.2ResMLP-Shigh-tau; trained with masked imagescode
PatchGuard++ (ICLR Workshop 2021)22.766.366.6BagNet-33high-taucode
PatchGuard++ (ICLR Workshop 2021)19.958.758.8BagNet-17high-taucode

(go back to table of contents)