PeerNets on PyTorch 1.0

December 15, 2018 · View on GitHub

A pytorch implementation of PeerNets: Exploiting Peer Wisdom Against Adversarial Attacks

Keywords

Adversarial Attack, Adversarial Example, Graph Convolutional Network(GCN)

Tutorails

  • Adversarial Attack(Part 1): Adversarial Attack과 Defense Link
  • Adversarial Attack(Part 2): PeerNets Link

Environement

  • Docker 18.06 on Ubuntu 16.04
  • PyTorch 1.0
  • CUDA >= 9.1, CUDNN 7

Experiments

  • LeNet5 on MNIST
  • ResNet32 on CIFAR10
  • ResNet110 on CIFAR100
  • PR-LeNet5 on MNIST
  • PR-ResNet32 on CIFAR10
  • PR-ResNet110 on CIFAR100

Results

  • Baseline: Accuracy(%)
  • rho(0.02~1.0): Accuracy(%)/Fooling Rate(%)

MNIST

MethodBaselinerho=0.20.40.60.81.0
LeNet-598.692.7/7.133.9/66.014.1/85.97.9/92.28.2/91.7
PR-LeNet-598.294.8/4.693.3/6.087.7/11.753.2/46.450.1/50.1
LeNet-5(ours)98.594.2/4.075.8/32.064.5/42.057.1/50.042.0/72.0
PR-LeNet-5(ours)------

CIFAR10

MethodBaselinerho=0.040.080.10
ResNet-3292.755.3/44.426.8/73.122.7/77.3
PR-ResNet-3289.387.3/7.183.3/13.070.0/28.3
ResNet-32(ours)93.384.7/20.075.2/32.069.5/46.0

CIFAR100

MethodBaselinerho=0.020.040.06
ResNet-11071.645.5/49.845.5/49.845.5/49.8
PR-ResNet-11066.461.5/23.752.6/38.644.6/49.5
ResNet-110(ours)68.8---

How to run

nvidia-docker run -it tantara/peernets-pytorch /bin/bash # and CMD
nvidia-docker run -it tantara/peernets-pytorch CMD
  • CMD can be Evaluation, Attack, Training as follows:

Evaluation

# bash eval.sh GPU_ID EXP
bash eval.sh 0 lenet5 # lenet5, pr-lenet5
bash eval.sh 0 resnet32 # resnet32, pr-resnet32
bash eval.sh 0 resnet110 # resnet110, pr-resnet110

Adversarial Attack

# bash attack.sh GPU_ID EXP NUM_SAMPLES RHO
bash attack.sh 0 lenet5 50 0.2 # lenet5, pr-lenet5
bash attack.sh 0 resnet32 50 0.04 # resnet32, pr-resnet32
bash attack.sh 0 resnet110 50 0.02 # resnet110, pr-resnet110

Training

# bash train.sh GPU_ID EXP
bash train.sh 0 lenet5 # lenet5, pr-lenet5
bash train.sh 0 resnet32 # resnet32, pr-resnet32
bash train.sh 0 resnet110 # resnet110, pr-resnet110

References

  1. PeerNets: Exploiting Peer Wisdom Against Adversarial Attacks

    Jan Svoboda, Jonathan Masci, Federico Monti, Michael M. Bronstein, Leonidas Guibas. arXiv: 1806.00088.

    [link]. arXiv: 1806.00088, 2018.

  2. aaron-xichen/pytorch-playground

  3. akamaster/pytorch_resnet_cifar10

  4. rusty1s/pytorch_geometric

Authors

License

© Taekmin Kim, 2018. Licensed under the MIT License.