Home

Awesome

PeerNets on PyTorch 1.0

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

Keywords

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

Tutorails

Environement

Experiments

Results

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

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<br>

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

    [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.