Strategy Selection Guide¶
Erasus provides 28 unlearning strategies across six categories. This guide helps you choose the right one.
Strategy Categories¶
Gradient Methods — Modify gradients to reverse learning:
gradient_ascent— Simple, fast; maximises loss on forget datanegative_gradient— Applies negative gradients from forget datasaliency_unlearning— Uses gradient saliency to target important parameters
Parameter Methods — Directly modify model weights:
fisher_forgetting— Uses Fisher Information to identify and dampen relevant parameterslayer_freezing— Freezes unrelated layers, unlearns only relevant ones
Data Methods — Leverage data relationships:
scrub— Two-phase: forget step + retain barrier (SCRUB paper)knowledge_distillation— Teacher-student: retain teacher’s knowledge, forget specific data
VLM-Specific — Vision-language models:
contrastive_unlearning— Increases distance between forget image-text pairsattention_unlearning— Modifies cross-attention weightsvision_text_split— Separate encoder updates
LLM-Specific — Language models:
attention_surgery— Direct attention weight modification
Diffusion-Specific — Generative models:
concept_erasure— Closed-form concept removaltimestep_masking— Selective timestep trainingsafe_latents— Safe Latent Diffusion constraint
Decision Matrix¶
Strategy |
Speed |
Forgetting |
Utility |
Privacy |
Modality |
|---|---|---|---|---|---|
gradient_ascent |
★★★ |
★★ |
★★ |
★ |
All |
scrub |
★★ |
★★★ |
★★★ |
★★ |
All |
fisher_forgetting |
★★ |
★★★ |
★★★ |
★★ |
All |
concept_erasure |
★★★ |
★★★ |
★★★ |
★★ |
Diffusion |
contrastive_unlearning |
★★ |
★★★ |
★★★ |
★★ |
VLM |
Combining Strategies¶
Use EnsembleStrategy to combine multiple strategies:
from erasus.strategies.ensemble_strategy import EnsembleStrategy
ensemble = EnsembleStrategy(
strategies=["gradient_ascent", "fisher_forgetting"],
weights=[0.7, 0.3],
)