Skip to content

HanxunH/Unlearnable-Examples

Repository files navigation

Unlearnable Examples

Code for ICLR2021 Spotlight Paper "Unlearnable Examples: Making Personal Data Unexploitable " by Hanxun Huang, Xingjun Ma, Sarah Monazam Erfani, James Bailey, Yisen Wang.

Quick Start

Use the QuickStart.ipynb notebook for a quick start.

In the notebook, you can find the minimal implementation for generating sample-wise unlearnable examples on CIFAR-10. Please remove mlconfig from models/__init__.py if you are only using the notebook and copy-paste the model to the notebook.

Experiments in the paper.

Check scripts folder for *.sh for each corresponding experiments.

Sample-wise noise for unlearnable example on CIFAR-10

Generate noise for unlearnable examples
python3 perturbation.py --config_path configs/cifar10 \  --exp_name path/to/your/experiment/folder \  --version resnet18 \  --train_data_type CIFAR10 \  --noise_shape 50000 3 32 32 \  --epsilon 8 \  --num_steps 20 \  --step_size 0.8 \  --attack_type min-min \  --perturb_type samplewise \  --universal_stop_error 0.01
Train on unlearnable examples and eval on clean test
python3 -u main.py --version resnet18 \  --exp_name path/to/your/experiment/folder \  --config_path configs/cifar10 \  --train_data_type PoisonCIFAR10 \  --poison_rate 1.0 \  --perturb_type samplewise \  --perturb_tensor_filepath path/to/your/experiment/folder/perturbation.pt \  --train

Class-wise noise for unlearnable example on CIFAR-10

Generate noise for unlearnable examples
python3 perturbation.py --config_path configs/cifar10 \  --exp_name path/to/your/experiment/folder \  --version resnet18 \  --train_data_type CIFAR10 \  --noise_shape 10 3 32 32 \  --epsilon 8 \  --num_steps 1 \  --step_size 0.8 \  --attack_type min-min \  --perturb_type classwise \  --universal_train_target 'train_subset' \  --universal_stop_error 0.1 \  --use_subset
Train on unlearnable examples and eval on clean test
python3 -u main.py --version resnet18 \  --exp_name path/to/your/experiment/folder \  --config_path configs/cifar10 \  --train_data_type PoisonCIFAR10 \  --poison_rate 1.0 \  --perturb_type classwise \  --perturb_tensor_filepath path/to/your/experiment/folder/perturbation.pt \  --train

Cite Our Work

@inproceedings{huang2021unlearnable, title={Unlearnable Examples: Making Personal Data Unexploitable}, author={Hanxun Huang and Xingjun Ma and Sarah Monazam Erfani and James Bailey and Yisen Wang}, booktitle={ICLR}, year={2021} } 

About

[ICLR2021] Unlearnable Examples: Making Personal Data Unexploitable

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published