$ show tamlhp/awesome-machine-unlearning
This repository is a curated collection of machine unlearning research, combining a comprehensive survey paper (in the form of a Kaggle notebook) with executable implementations of several unlearning algorithms across different domains. It includes code for graph neural network unlearning (GraphProjector), federated learning unlearning (FedEraser), and approximate nearest neighbor search with unlearning (UnfoldedSelf-ReconstructionHashing, a fork of ann-benchmarks). The repo serves both as a literature index (taxonomy, evaluation metrics, datasets) and a benchmark hub for reproducing and comparing unlearning methods. While the survey is actively maintained, the algorithm codebases are research prototypes with varying levels of polish and portability.
The LLM identified 4 files worth highlighting for reuse:
Orchestrates the execution of multiple ANN algorithms within the ann-benchmarks framework. It handles Docker container management, algorithm parameterization, result collection, and timing. This module is well-isolated and can be reused as a template for any benchmarking pipeline that needs to run many algorithms with consistent evaluation and resource isolation.
Provides efficient Hessian matrix inversion for logistic regression models, used in influence-based unlearning for graph data. The implementation uses Cholesky decomposition and is self-contained, making it reusable for any project requiring fast Newton-step updates in linear models.
Implements core federated learning primitives: global model training across clients, FedAvg aggregation, and evaluation. This module is decoupled from the unlearning logic and can be extracted as a lightweight FL framework for prototyping new aggregation strategies or client selection algorithms.
Defines the abstract base class for all ANN algorithms in the benchmark. It standardizes the interface (fit, query, batch_query) and provides common functionality like distance conversion. This pattern is directly reusable for any benchmarking system that needs to add new algorithms with minimal boilerplate.