Spaces:
Running
Running
| title: UnlearningComparator | |
| emoji: ๐ข | |
| colorFrom: indigo | |
| colorTo: blue | |
| sdk: static | |
| pinned: false | |
| license: mit | |
| short_description: Machine Unlearning Visual Playground | |
| thumbnail: img/teaser.gif # ์ธ๋ค์ผ์ ์ํด ์ด ์ค์ ์ถ๊ฐํฉ๋๋ค. (2๋ฒ ํญ๋ชฉ ์ฐธ๊ณ ) | |
| # ๐งน Machine Unlearning Comparator | |
| *Under review* ย | |
|  | |
| Machine Unlearning Comparator is a **web-based visual-analytics toolkit** for **seeing, testing, and comparing** how unlearning methods balance the three MU principlesโ**accuracy, efficiency, and privacy**โfrom class- to layer-level detail. | |
|  | |
| --- | |
| ## ๐ Demo & Video | |
| - **Live demo** โ [Machine Unlearning Comparator](https://gnueaj.github.io/Machine-Unlearning-Comparator/) ย | |
| - **5-min overview** โ [Youtube](https://youtu.be/yAyAYp2msDk?si=Q-8IgVlrk8uSBceu) | |
| ย | |
| --- | |
| ## ๐ Why use the Comparator? | |
| | Pain Point | How the Comparator helps | | |
| |------------|--------------------------| | |
| | Fragmented evaluations | **One workflow โ Build โ Screen โ Contrast โ Attack** โ keeps every run tidy and repeatable. | | |
| | Raw numbers hide behavior | Combine metrics & visuals: **Class-wise Accuracy chart, Prediction Matrix, Embedding Space, Layer-wise Similarity chart**. | | |
| | "Did it really forget?" | Built-in **membership-inference attacks** and an aggregated **privacy score** reveal lingering signals. | | |
| | Baselines vary by paper | Compare against **standard baselines** or plug in your own method via two Python hooks. | | |
| --- | |
| ## โจ Key Features | |
| ### Multi-Level Comparison | |
| * **Metrics View** โ follow Unlearning/Retaining Accuracy, Run Time (RT), and the worst-case privacy score in one glance. ย | |
| * **Embedding Space** โ twin UMAPs show how feature clusters shift after unlearning. ย | |
| * **Layer-wise Similarity** โ CKA curves pinpoint layers that still encode the forget class. ย | |
| * **Attack Simulation** โ sweep thresholds, flag high-risk samples, and inspect logits interactively. | |
| ### Built-in Baselines | |
| | Method | Idea (aligned with the paper) | | |
| |--------|------------------------------| | |
| | **Fine-Tuning (FT)** | Continue training on the **retain set** only, leveraging catastrophic forgetting of the forget set. | | |
| | **Gradient Ascent (GA)** | Update weights to **maximize loss** on the forget set, actively "unteaching" it. | | |
| | **Random Labeling (RL)** | Assign **random labels** to the forget set then fine-tune, so the model treats those samples as noise. | | |
| | **SCRUB** | Use **knowledge distillation** with selective forgetting, preserving important parameters while removing forget class information. | | |
| | **SalUn** | Apply **gradient saliency masking** to selectively update weights based on their importance for the forget class. | | |
| ### Custom Method API | |
| Add your algorithm, register it, and the UI will automatically expose metrics, embeddings, and privacy attacks. | |
| --- | |
| ## โก Quick Start | |
| ### Backend | |
| \`\`\`bash | |
| # 1 Install deps & enter env | |
| hatch shell | |
| # 2 Run the API | |
| hatch run start | |
| \`\`\` | |
| ### Frontend | |
| \`\`\`bash | |
| # 1 Install deps | |
| pnpm install | |
| # 2 Launch the UI | |
| pnpm start | |
| \`\`\` | |
| --- | |
| ## Related Resources | |
| - **ResNet-18 CIFAR-10 MU checkpoints** โ <https://huggingface.co/jaeunglee/resnet18-cifar10-unlearning> | |
| - **ResNet-18 FashionMNIST MU checkpoints** โ <https://huggingface.co/Yurim0507/resnet18-fashionmnist-unlearning> | |
| - **ViT-Base CIFAR-10 MU checkpoints** โ <https://huggingface.co/Yurim0507/vit-base-16-cifar10-unlearning> | |
| ## ๐ Paper | |
| [Unlearning Comparator: A Visual Analytics System for Comparative Evaluation of Machine Unlearning Methods](https://arxiv.org/abs/2508.12730) | |