jaeunglee commited on
Commit
79f64ed
·
verified ·
1 Parent(s): 4eb4e2e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +76 -1
README.md CHANGED
@@ -7,6 +7,81 @@ sdk: static
7
  pinned: false
8
  license: mit
9
  short_description: Machine Unlearning Visual Playground
 
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  pinned: false
8
  license: mit
9
  short_description: Machine Unlearning Visual Playground
10
+ thumbnail: img/teaser.gif # 썸네일을 위해 이 줄을 추가합니다. (2번 항목 참고)
11
  ---
12
 
13
+ # 🧹 Machine Unlearning Comparator
14
+ *Under review*  
15
+
16
+ ![Teaser Animation](https://raw.githubusercontent.com/gnueaj/machine-unlearning-comparator/main/img/teaser.gif)
17
+
18
+ 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.
19
+
20
+ ![Unlearning Comparator Workflow](https://raw.githubusercontent.com/[사용자명]/[저장소명]/main/img/fig_workflow_github.png)
21
+
22
+ ---
23
+
24
+ ## 🔗 Demo & Video
25
+
26
+ - **Live demo** → [Machine Unlearning Comparator](https://gnueaj.github.io/Machine-Unlearning-Comparator/)  
27
+ - **5-min overview** → [Youtube](https://youtu.be/yAyAYp2msDk?si=Q-8IgVlrk8uSBceu)
28
+  
29
+ ---
30
+
31
+ ## 🚀 Why use the Comparator?
32
+
33
+ | Pain Point | How the Comparator helps |
34
+ |------------|--------------------------|
35
+ | Fragmented evaluations | **One workflow — Build → Screen → Contrast → Attack** — keeps every run tidy and repeatable. |
36
+ | Raw numbers hide behavior | Combine metrics & visuals: **Class-wise Accuracy chart, Prediction Matrix, Embedding Space, Layer-wise Similarity chart**. |
37
+ | "Did it really forget?" | Built-in **membership-inference attacks** and an aggregated **privacy score** reveal lingering signals. |
38
+ | Baselines vary by paper | Compare against **standard baselines** or plug in your own method via two Python hooks. |
39
+
40
+ ---
41
+
42
+ ## ✨ Key Features
43
+
44
+ ### Multi-Level Comparison
45
+ * **Metrics View** – follow Unlearning/Retaining Accuracy, Run Time (RT), and the worst-case privacy score in one glance.  
46
+ * **Embedding Space** – twin UMAPs show how feature clusters shift after unlearning.  
47
+ * **Layer-wise Similarity** – CKA curves pinpoint layers that still encode the forget class.  
48
+ * **Attack Simulation** – sweep thresholds, flag high-risk samples, and inspect logits interactively.
49
+
50
+ ### Built-in Baselines
51
+ | Method | Idea (aligned with the paper) |
52
+ |--------|------------------------------|
53
+ | **Fine-Tuning (FT)** | Continue training on the **retain set** only, leveraging catastrophic forgetting of the forget set. |
54
+ | **Gradient Ascent (GA)** | Update weights to **maximize loss** on the forget set, actively "unteaching" it. |
55
+ | **Random Labeling (RL)** | Assign **random labels** to the forget set then fine-tune, so the model treats those samples as noise. |
56
+ | **SCRUB** | Use **knowledge distillation** with selective forgetting, preserving important parameters while removing forget class information. |
57
+ | **SalUn** | Apply **gradient saliency masking** to selectively update weights based on their importance for the forget class. |
58
+
59
+ ### Custom Method API
60
+ Add your algorithm, register it, and the UI will automatically expose metrics, embeddings, and privacy attacks.
61
+
62
+ ---
63
+
64
+ ## ⚡ Quick Start
65
+
66
+ ### Backend
67
+ \`\`\`bash
68
+ # 1 Install deps & enter env
69
+ hatch shell
70
+ # 2 Run the API
71
+ hatch run start
72
+ \`\`\`
73
+
74
+ ### Frontend
75
+ \`\`\`bash
76
+ # 1 Install deps
77
+ pnpm install
78
+ # 2 Launch the UI
79
+ pnpm start
80
+ \`\`\`
81
+
82
+ ---
83
+
84
+ ## Related Resources
85
+ - **ResNet-18 CIFAR-10 MU checkpoints** → <https://huggingface.co/jaeunglee/resnet18-cifar10-unlearning>
86
+ - **ResNet-18 FashionMNIST MU checkpoints** → <https://huggingface.co/Yurim0507/resnet18-fashionmnist-unlearning>
87
+ - **ViT-Base CIFAR-10 MU checkpoints** → <https://huggingface.co/Yurim0507/vit-base-16-cifar10-unlearning>