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
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
python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --compare_baseline_nonconvergent 1
python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --sequential 1
python main_sgd.py --lam 1e-6 --dataset [MNIST/CIFAR10] --projection 0 --paint_unlearning_sigma 1
-
use --gpu to allocate to a GPU device
-
/result/SGD saves the results we run and report in our paper
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},
}