In this repository, code is for our ICLR 2020 paper DBA: Distributed Backdoor Attacks against Federated Learning
Install Pytorch
- download the raw dataset lending-club-loan-data.zip into dir
./utils - preprocess the dataset.
cd ./utils ./process_loan_data.sh - download the dataset tiny-imagenet-200.zip into dir
./utils - reformat the dataset.
cd ./utils ./process_tiny_data.sh MNIST and CIFAR will be automatically download
-
prepare the pretrained model: Our pretrained clean models for attack can be downloaded from Google Drive. You can also train from the round 0 to obtain the pretrained clean model.
-
we can use Visdom to monitor the training progress.
python -m visdom.server -p 8098 - run experiments for the four datasets:
python main.py --params utils/X.yaml X = mnist_params, cifar_params,tiny_params or loan_params. Parameters can be changed in those yaml files to reproduce our experiments.
If you find our work useful in your research, please consider citing:
@inproceedings{ xie2020dba, title={DBA: Distributed Backdoor Attacks against Federated Learning}, author={Chulin Xie and Keli Huang and Pin-Yu Chen and Bo Li}, booktitle={International Conference on Learning Representations}, year={2020}, url={https://openreview.net/forum?id=rkgyS0VFvr} }