NeurIPS 2026

Few-Shot Visual Concept Extraction for Steering Diffusion Transformers

Nabyl Quignon, Antitza Dantcheva

Inria Centre at Université Côte d'Azur

TL;DRFew examples are enough to extract steerable concept directions from Diffusion Transformer activations, as long as extraction matches where the concept lives: globally for styles and atmospheres, locally for colors, textures, and attributes.

steering · α step 0/3

Abstract

We steer image generation by extracting visual concept directions directly from the image-side activations of a Diffusion Transformer, with only a handful of positive and negative prompt pairs.

Recent steering methods for diffusion models mostly work in the text-conditioning space or rely on costly auxiliary training. We observe that scene-level concepts such as lighting, weather and style are distributed across image tokens, while local concepts such as object colors, textures, materials and facial attributes are concentrated in specific regions. We therefore use a global difference-of-means for distributed concepts and a masked difference-of-means for local ones, which prevents local signals from being diluted by global averaging.

The resulting directions are reusable and are injected at inference for continuous steering, without any training. They give substantially stronger edits than text-encoder steering and training-free activation-editing baselines, approach trained reference-image editing models, and can be applied at patch level to steer several concepts in the same image.


Method

01Prompt pairs

Negative −Positive + A lakeAn anime-style lake A carA red car A uniform mugA dotted mug

SAM 3 masks for local concepts

Negative example: a gray car Its mask Positive example: a red car Its mask

02Residual extraction

1…171819…56DiT blocksresidual of block 18negativespositivesmasked meanmasked mean−concept vector

03Steering injection

· α 1 … 18 19 … 56 blocks 18 → 56

Local steering · inside a region

Original chair→ Steering mask on the chair→ Chair steered to red

Global steering · all tokens

Original beach→ Beach steered globally
Overview. Residuals of positive and negative prompts are read at one DiT block and averaged inside the concept's mask. Their difference is a concept vector, injected back at inference everywhere or only inside a selected region.

Composition

A direction is extracted once and is independent of where it is applied. Different concepts can therefore be sent to different regions of the same image, in a single steering pass. Drag across each image to compare.

Two gray cars, unsteeredLeft car steered to blue, right car steered to greenoriginalsteered

Left car blue, right car green.

Two pastel teapots, unsteeredLeft teapot steered to wooden, right teapot steered to goldoriginalsteered

Left teapot wooden, right teapot gold.

A man and a woman, unsteeredThe man steered to have a beard, the woman steered to smileoriginalsteered

Left person beard, right person smile.

A mountain lake landscape, unsteeredThe same landscape steered with both anime and snowyoriginalsteered

Two global concepts at once: anime + snowy.


Results

We evaluate 23 concepts (global, object and face) on held-out prompts, measuring edit success with ΔVQA and drift from the original image with LPIPS, at the strongest evaluated strength of each method.

MethodΔVQA ↑LPIPS ↓
Editing models · trained, reference-conditioned
SliderEdit0.350.44
Kontinuous Kontext0.360.32
Training-free steering · FLUX.1-dev
SAEdit0.190.28
FluxSpace0.170.21
Ours · training-free
FLUX.1-dev · 5 pairs0.290.34
FLUX.1-schnell · 5 pairs0.320.29
FLUX.1-schnell · 10 pairs0.320.29
FLUX.1-schnell · 20 pairs0.310.29

Pairs = positive/negative prompt pairs used for extraction.

Edit success (ΔVQA) against preservation (LPIPS) One curve per method across increasing steering strengths. Our three curves rise to about 0.32 ΔVQA at about 0.29 LPIPS, close to the trained editing models SliderEdit and Kontinuous Kontext, while SAEdit and FluxSpace stay below 0.2 ΔVQA. 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.0 0.1 0.2 0.3 0.4 LPIPS ↓ (drift from the original) ΔVQA ↑ (edit success) FluxSpace · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 FluxSpace · strength level 1 · LPIPS 0.14 · ΔVQA 0.06 FluxSpace · strength level 2 · LPIPS 0.17 · ΔVQA 0.12 FluxSpace · strength level 3 · LPIPS 0.19 · ΔVQA 0.15 FluxSpace · strength level 4 · LPIPS 0.21 · ΔVQA 0.17 SAEdit · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 SAEdit · strength level 1 · LPIPS 0.11 · ΔVQA 0.05 SAEdit · strength level 2 · LPIPS 0.16 · ΔVQA 0.15 SAEdit · strength level 3 · LPIPS 0.21 · ΔVQA 0.20 SAEdit · strength level 4 · LPIPS 0.24 · ΔVQA 0.19 SAEdit · strength level 5 · LPIPS 0.28 · ΔVQA 0.19 K. Kontext · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 K. Kontext · strength level 1 · LPIPS 0.10 · ΔVQA 0.18 K. Kontext · strength level 2 · LPIPS 0.17 · ΔVQA 0.25 K. Kontext · strength level 3 · LPIPS 0.26 · ΔVQA 0.32 K. Kontext · strength level 4 · LPIPS 0.30 · ΔVQA 0.35 K. Kontext · strength level 5 · LPIPS 0.31 · ΔVQA 0.36 K. Kontext · strength level 6 · LPIPS 0.32 · ΔVQA 0.36 SliderEdit · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 SliderEdit · strength level 1 · LPIPS 0.06 · ΔVQA 0.10 SliderEdit · strength level 2 · LPIPS 0.16 · ΔVQA 0.24 SliderEdit · strength level 3 · LPIPS 0.30 · ΔVQA 0.32 SliderEdit · strength level 4 · LPIPS 0.38 · ΔVQA 0.34 SliderEdit · strength level 5 · LPIPS 0.42 · ΔVQA 0.35 SliderEdit · strength level 6 · LPIPS 0.44 · ΔVQA 0.35 Ours (20 pairs) · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 Ours (20 pairs) · strength level 1 · LPIPS 0.14 · ΔVQA 0.19 Ours (20 pairs) · strength level 2 · LPIPS 0.18 · ΔVQA 0.23 Ours (20 pairs) · strength level 3 · LPIPS 0.22 · ΔVQA 0.29 Ours (20 pairs) · strength level 4 · LPIPS 0.26 · ΔVQA 0.32 Ours (20 pairs) · strength level 5 · LPIPS 0.29 · ΔVQA 0.31 Ours (10 pairs) · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 Ours (10 pairs) · strength level 1 · LPIPS 0.14 · ΔVQA 0.18 Ours (10 pairs) · strength level 2 · LPIPS 0.18 · ΔVQA 0.23 Ours (10 pairs) · strength level 3 · LPIPS 0.22 · ΔVQA 0.29 Ours (10 pairs) · strength level 4 · LPIPS 0.26 · ΔVQA 0.33 Ours (10 pairs) · strength level 5 · LPIPS 0.29 · ΔVQA 0.32 Ours (5 pairs) · strength level 0 · LPIPS -0.00 · ΔVQA 0.00 Ours (5 pairs) · strength level 1 · LPIPS 0.14 · ΔVQA 0.17 Ours (5 pairs) · strength level 2 · LPIPS 0.18 · ΔVQA 0.22 Ours (5 pairs) · strength level 3 · LPIPS 0.22 · ΔVQA 0.29 Ours (5 pairs) · strength level 4 · LPIPS 0.26 · ΔVQA 0.32 Ours (5 pairs) · strength level 5 · LPIPS 0.29 · ΔVQA 0.32
  • Ours (5 pairs)
  • Ours (10 pairs)
  • Ours (20 pairs)
  • SliderEdit
  • K. Kontext
  • SAEdit
  • FluxSpace
Edit success vs. preservation across increasing steering strengths, one marker per strength. Upper-left is better. Hover a marker for its values.

Our directions give much stronger edits than the training-free baselines, and approach the trained editing models conditioned on the reference image. Five pairs are enough: 10 or 20 pairs barely change the results.

Local conceptsExtractionLPIPS ↓ΔVQA ↑
FaceMasked DoM0.1890.185
FaceGlobal DoM0.2670.171
ObjectsMasked DoM0.1640.287
ObjectsGlobal DoM0.1830.277

Masking the extraction improves both edit success and preservation for local concepts, most clearly for faces.


FLUX.2

The same recipe transfers to FLUX.2-Klein 4B and to steering an existing reference image. Directions are extracted only from synthetic prompt pairs. The conditioning prompt is empty and only the steering strength changes. Unlike a single prompt-based edit, the strength of the concept is controlled continuously.

Reference image: a silver sedan parked on a streetReference
Steered, low strengthα low
Steered, medium strengthα mid
Steered, high strengthα high
FLUX.2 prompt-based edit, for comparisonFLUX.2 edit


Limitations

Semantic mismatch

When the image does not naturally support the concept, the edit stays weak or ambiguous, e.g. stripes that only appear in the reflections of the car.

Car, originalCar, striped steering, mediumCar, striped steering, high

Spatial drift

Strong local edits can also change the geometry of the object, here the shape of the chair.

Chair, originalChair, gold steering, mediumChair, gold steering, high, with a changed shape

Concept entanglement

A direction can bring correlated attributes with it: injecting lipstick also adds a smile.

Portrait, originalPortrait, lipstick steering, mediumPortrait, lipstick steering, high, also smiling

BibTeX

@inproceedings{quignon2026fewshot,
  title     = {Few-Shot Visual Concept Extraction for Steering Diffusion Transformers},
  author    = {Quignon, Nabyl and Dantcheva, Antitza},
  booktitle = {Advances in Neural Information Processing Systems},
  year      = {2026}
}