SAeUron: Interpretable Concept Unlearning in Diffusion Models with Sparse Autoencoders

Bartosz Cywiński, Kamil Deja
1/29/2025
cs.LGcs.AI

Official code: cywinski/SAeUron (64 stars, Apache-2.0, last commit 2025-10-16).

Abstract

Diffusion models, while powerful, can inadvertently generate harmful or undesirable content, raising significant ethical and safety concerns. Recent machine unlearning approaches offer potential solutions but often lack transparency, making it difficult to understand the changes they introduce to the base model. In this work, we introduce SAeUron, a novel method leveraging features learned by sparse autoencoders (SAEs) to remove unwanted concepts in text-to-image diffusion models. First, we demonstrate that SAEs, trained in an unsupervised manner on activations from multiple denoising timesteps of the diffusion model, capture sparse and interpretable features corresponding to specific concepts. Building on this, we propose a feature selection method that enables precise interventions on model activations to block targeted content while preserving overall performance. Our evaluation shows that SAeUron outperforms existing approaches on the UnlearnCanvas benchmark for concepts and style unlearning, and effectively eliminates nudity when evaluated with I2P. Moreover, we show that with a single SAE, we can remove multiple concepts simultaneously and that in contrast to other methods, SAeUron mitigates the possibility of generating unwanted content under adversarial attack. Code and checkpoints are available at https://github.com/cywinski/SAeUron.

View on arXivView PDF

Code Implementations(1)

cywinski/SAeUronOfficial100%
Apache-2.0

[ICML 2025] Unlearning in Diffusion Models using Sparse Autoencoders

648Python, Jupyter NotebookJan 29, 20251 years agoApache-2.0

Similar Papers

Cite this paper

@article{cywiski2025saeuron,
  title  = {SAeUron: Interpretable Concept Unlearning in Diffusion Models with Sparse Autoencoders},
  author = {Bartosz Cywiński and Kamil Deja},
  year   = {2025},
  eprint = {2501.18052},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2501.18052v3},
  journal = {ICML 2025 2025}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2501.18052.svg)](https://codeofpaper.com/paper/2501.18052)

Discussion