RAD  /  2026

Representation-Augmented Diffusions

A new class of diffusion models that are faster to train, faster to sample, and parameter-efficient, with a smooth latent space.

70×fewer training iterations than standard diffusion
10×fewer sampling steps
4.8×fewer parameters at equal FID
Farrin Marouf Sofian*, Kushagra Pandey*, Stephan Mandt
University of California, Irvine  ·  *equal contribution
how it works ↓
01Method

A representationat every step

Standard diffusion models only learn to denoise; whatever semantics they pick up stay buried inside the network. RAD gives the model a compact latent representation ut at every step: it predicts ut from the noisy state xt, then denoises with it. These latents are learned by aligning them with an external representation model (external alignment) or with the model's own features (self-supervised, internal alignment).

xtnoisy latent at time t utrepresentation pϕrepresentation policy pθdenoising policy qnoising process fprefrozen encoder (DINOv2 in our runs) hϕprojector on block ℓ αt=1−t, σt=tinterpolant βpolicy scale
1 / 7
01

Predict

An MLP head on denoiser block ℓ reads xt and samples a representation.

ut ~ pϕ(ut | xt)
02

Feed back

The representation is compressed into one token and added back into the denoiser at the same block.

xtℓ ← xtℓ + MLP(ut)
03

Denoise

The remaining SiT blocks predict the velocity, now conditioned on the representation.

vθ(xt, ut, t)

The model, step by step

  1. 1

    Generative process Eq. 1–2

    Each step samples a representation first, then a denoising step consistent with it.

    Averaging over ut makes every transition a continuous mixture of Gaussians. It is more expressive than one Gaussian, which is why RAD tolerates large steps.

  2. 2

    Noising process Eq. 3, 5

    While training, ut is a noised copy of the clean image's features from a frozen encoder, on the same schedule as xt: coarse at high noise, sharp at low noise. It sees what the generator cannot, so it acts as a teacher.

  3. 3

    Variational bound Eq. 4

    A conditional VAE at every step: rebuild the cleaner state from ut, and keep the model's own ut close to the teacher's. The KL is an information bottleneck.

    Proof sketch
    • Use the noising process as the variational distribution and apply Jensen's inequality.
    • By Markov + Bayes, ∏ q(x_t | x_t−1) telescopes, so each step's terms group together.
    • What remains (posterior entropies and the prior KL) depends only on the noising process: a constant in θ, ϕ.
  4. 4

    Plug in Gaussians App. A.3.2

    Same covariance on both sides, so the KL is just a distance between means: REPA's alignment loss, derived instead of assumed.

    With a velocity network the denoising term becomes a weighted velocity regression. Set wt = 1 as usual and you get the loss below.

THE LOSS a weighted variational lower bound on log p(x0)
DenoisingThe usual velocity loss, except the denoiser also sees the representation ut.
AlignmentPulls the predicted representation toward the target features (here a frozen encoder). It falls out of the bound as a KL term, not a heuristic add-on.

In practice the weight SNR(t)/2β², which blows up as t → 0, is replaced by its bounded form λt = αt²/(αt² + β²σt²) (× 0.5), with t ~ U(0,1) and β = 1.

KEY INSIGHT

In representation alignment, representations are learned but then discarded: they are never used for generation. Remove ut from RAD's denoiser and these methods, such as REPA, become special cases.

Architecture

xt noisy tokens SiT Blocks 1 … ℓ xtℓ 1 · PREDICT Projector hϕ · MLP TRAINING teacher policy x0 DINOv2 frozen encoder ut ∼ q(· | fpre(x0)) ℒalign OR GENERATION own policy htℓ ut ∼ pϕ(· | ht) ut 2 · INJECT Normalize (u − γū) / (σ̄ + ε) Scale-Shift AdaLN-style t Compress MLP → 1 token utc SiT Blocks ℓ+1 … L vθ

Training in practice

Inject early

Block ℓ = 2 for B/2 and ℓ = 8 for L/2, XL/2, inside the first third of the network. The most influential architectural choice.

B/2: block 2 → FID 8.2 · block 8 → 15.1

Use a flow policy

Replace the policy's Gaussian noise with a conditional normalizing flow (4 affine couplings, zero-initialised, so training starts Gaussian).

FID 10.3 → 8.7

Normalize · compress · modulate

Remove 60% of the token mean (γ = 0.6) and rescale to unit size; an MLP over tokens compresses N tokens to one; adaLN-style modulation, zero-initialised.

FID 8.7 → 8.2

Bounded alignment weight

Use the saturated weight λt × 0.5 instead of SNR(t)/2β², plus adaptive per-sample weighting with p = 1.

FID 8.2 → 7.7 (with early injection)

Tune β only at sampling

Train with β = 1; sample with βinf ∈ [0.5, 0.9] to concentrate the policy, trading diversity for fidelity without retraining.

best βinf: 0.7 (B/2), 0.8 (L/2, XL/2)

Small overhead

The control pathway is the same size at every scale; most of its cost is the projector, which REPA also trains but throws away.

+12% FLOPs at B/2 · +3.5% L/2 · +2.5% XL/2
Data
ImageNet, 1.28M images · SD-VAE latents 32×32×4
Teacher
DINOv2-B/14 · 256 patch tokens × 768
Backbone
SiT-B/2, L/2, XL/2 · 256 tokens
Optimizer
AdamW · lr 1e-4 · batch 256 · fp16 · EMA 0.9999
Schedule
400K iterations · αt = 1−t, σt = t · label dropout 0.1
Compute
8 × RTX PRO 6000 · 11 / 16 / 22 h for B / L / XL
02Efficiency

Faster, smaller,fewer steps

Training convergence, XL/2

RAD (ours) REPA SiT
FID-50k vs. training iterations (log–log), no CFG.
70×

fewer iterations than SiT-XL/2: RAD-XL/2 at 100K matches SiT-XL/2 at 7M.

27×

fewer iterations than REPA-XL/2: RAD-XL/2 at 150K matches REPA-XL/2 at 4M.

Same backbone, encoder, data and schedule as REPA. The only difference is feeding the representation back.

Fewer sampling steps

RAD-XL/2 @400KREPA-XL/2 @4M
FID-50k vs. Euler ODE steps. With UniPC, RAD-XL/2 reaches 6.5 at 5 steps and 4.5 at 10.

Smaller models, same quality

RADREPASiT
FID-50k at 400K iterations, without CFG, across SiT backbones.

More linearly separable features

RAD-B/2REPA-B/2
ImageNet top-1 linear probe per block, t = 0.1. Accuracy decays more slowly once ut is fed back.

B/2 trains 4× faster

RAD-B/2REPA-B/2REPA-XL/2
RAD-B/2 tracks the 4.8× larger REPA-XL/2 throughout training.

10× less data

RAD-B/2REPA-B/2
400K iterations on a fraction of ImageNet, best checkpoint, 50-step ODE. REPA stops improving after 10%.

Works with fast samplers

EulerUniPC-2UniPC-3
RAD-XL/2 at 400K, no guidance: FID 6.5 in 5 steps with UniPC.

FID-50k with the ADM suite · Euler–Maruyama SDE, 250 steps, unless noted · no classifier-free guidance · best βinf per checkpoint.

03Results

Measuredgains

70×
fewer training iterations
RAD-XL/2 at 100K matches SiT-XL/2 at 7M
27×
fewer training iterations
RAD-XL/2 at 150K matches REPA-XL/2 at 4M
10×
fewer sampling steps
10 Euler steps FID 6.8 vs. REPA at 100 steps FID 7.4
4.8×
fewer parameters
RAD-B/2 FID 7.7 vs. REPA-XL/2 FID 7.9
10×
less training data
RAD-B/2 on 10% of ImageNet FID 14.9 vs. REPA-B/2 on all 26.6
+4.4
points linear probe
RAD-B/2 vs. REPA-B/2, ImageNet top-1, t = 0.1
2×
faster REG convergence
REG + RAD on SiT-B/2 at 400K FID 15.2 → 8.9
3.94
text-to-image FID, XL/2
vs. REPA 4.31 · GenEval 0.266 vs. 0.258

What matters ablations · SiT-B/2 · 400K iterations

AREPA22.9
B+ feed ut to the denoiser10.3−12.5
C+ flow policy8.7−1.6
D+ control norm + modulation8.2−0.6
E+ early injection, p = 17.7−0.5

Feeding the representation back does most of the work: FID 22.9 → 10.3 on its own.

Encoder robust

DINOv2-B8.2
DINOv2-L8.4
SigLIP-L8.9

Injection depth earlier is better

block 28.2
block 48.5
block 610.5
block 815.1

Plugs into other methods and tasks

REG + RAD · FID-50k ↓
BackboneIter.REG+ RAD
SiT-B/2100K36.122.4
SiT-B/2400K15.28.9
SiT-L/2100K11.47.8
SiT-L/2400K4.63.9
Text-to-image · no guidance
BackboneMethodFID ↓GenEval ↑
B/2REPA10.770.138
B/2RAD8.420.166
XL/2REPA4.310.258
XL/2RAD3.940.266

Against the field ImageNet 256×256

B/2L/2XL/2
MethodEpochs#ParamsFID↓#ParamsFID↓#ParamsFID↓
Diffusion transformers
DiT80130M43.5458M23.3675M19.5
DiT1400––––675M9.6
SiT80130M33.0458M18.8675M17.2
SiT1400––––675M8.3
Representation alignment
DiT + REPA80––458M15.6675M12.3
REPA80130M24.4458M10.0675M7.9
iREPA80130M21.4458M9.4675M7.5
sREPA80130M20.5458M8.7675M7.2
HASTE80130M19.6458M8.9675M7.3
REED80130M19.5458M8.9675M7.3
TREAD80130M16.0458M5.9675M4.9
REG80132M15.2460M4.6677M3.4
REPA-E†80––––675M4.1
Representation augmentation
RAD (ours)80142M7.7472M3.9690M3.7
FID-50k without CFG · Euler SDE, 250 steps · 80 epochs (400K iterations) · † REPA-E also fine-tunes the VAE end-to-end.
04Samples

What itgenerates

ImageNet class-conditional · 256×256

Curated RAD samples · 50-step ODE · CFG 3.0 · hover for the class

Text-to-image · RAD-XL/2 256×256

BLIP3o captions · frozen Qwen3-0.6B text encoder · FID-50k and GenEval measured without guidance; samples shown with CFG 3–4.
05Interpolation

A smoothlatent space

Take two real ImageNet images, read their representations with RAD's own policy head, and blend them with a weight m. RAD morphs one subject into the other while pose, viewpoint and framing stay put.

1
Encode

From each real image read ū = hϕ(xtc, tc) at a small noise level, and invert it to noise x1 with the ODE.

2
Blend

ūm = m ūA + (1 − m) ūB; class embeddings blend the same way; the noises are slerped.

3
Sample

Generate from the blended noise with the blended representation: 50 Euler ODE steps, no guidance, no external encoder.

A · (real)
m = 0.50
B · (real)

Representation, inverted noise and class embedding are interpolated at the same m · 50 Euler ODE steps.

Compared with REPA baboon → macaque

REPA-XL/2, trained 10× longer (4M iterations), jumps between poses and scenes mid-way. RAD-XL/2 at 400K changes the subject gradually.

06BibTeX

Citethis work

@article{maroufsofian2026rad,
  title   = {Representation-Augmented Diffusions},
  author  = {Marouf Sofian, Farrin and Pandey, Kushagra and Mandt, Stephan},
  journal = {arXiv preprint},
  year    = {2026}
}