Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 1.91 KB

File metadata and controls

68 lines (48 loc) · 1.91 KB

SGD_Unlearning

This is the official implementation of Neurips 2024 paper

Certified Machine Unlearning via Noisy Stochastic Gradient Descent

By Eli Chien, Haoyu Wang, Ziang Chen and Pan Li.

Please also check our NeurIPS 2024 Spotlight paper

Langevin Unlearning: A New Perspective of Noisy Gradient Descent for Machine Unlearning

Environment requirements

The code is runnable under the following enveironment:

matplotlib                      3.7.2
notebook                        7.0.7
numpy                           1.24.4
pandas                          2.0.3
scikit-learn                    1.3.0
scipy                           1.10.1
seaborn                         0.13.0
torch                           2.0.0+cu117
torchvision                     0.15.1+cu117
tqdm                            4.65.0

To implement and re-produce the result in Figure 3.a, run

python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --compare_baseline_nonconvergent 1

To implement and re-produce the result in Figure 3.b, run

python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --sequential 1

To implement and re-produce the result in Figure 3.c.d, run

python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --paint_unlearning_sigma 1

Note

  • use --gpu to allocate to a GPU device

  • /result/SGD saves the results we run and report in our paper

Citation

If you find our work useful, please cite us:

@misc{chien2024certifiedmachineunlearningnoisy,
      title={Certified Machine Unlearning via Noisy Stochastic Gradient Descent}, 
      author={Eli Chien and Haoyu Wang and Ziang Chen and Pan Li},
      year={2024},
      eprint={2403.17105},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2403.17105}, 
}