Analysis Blog

Generation and understanding are converging —
this is where their features mix.

Target papers

REPA · Representation Alignment for Generation — Yu et al. · arXiv:2410.06940

RAE · Diffusion Transformers with Representation Autoencoders — Zheng, …, Xie · arXiv:2510.11690

VGGT · Visual Geometry Grounded Transformer — Wang et al. · arXiv:2503.11651

Analysis by Youngjin Shin

Generative and perceptual models have started to share the same representations. I suspected each architecture could be read by where on the depth axis it places — and mixes — its features. So I opened six of them, verified the characters numerically with linear probes, and visualized the real features layer by layer. The throughline: low-level detail, high-level semantics, and geometry are separable, yet inside these models they are actively blending — and the direction of that blending hints at a single feature that could one day serve both generation and understanding.

Scroll
01 — THE MAP

One depth axis, six placements

Read each rail as the model's layers, input to output. What differs is the feature character at each layer.

Read each rail left to right. The colour is the character of that layer's feature, and it changes gradually — a gradient, not a switch. That gradient is the whole story.

layer →
low-level VAE
low + high K=7
high-level DINO
geometric VGGT

Base, REPA and iREPA are coloured by measurement — each cell's similarity to DINO, a self-supervised model whose features encode object semantics. iREPA reddens earliest and hardest (its conv projector injects more), REPA a little later, and the semantics persist to the last block. The outlined cap is the readout head that returns to latent space.

02 — IS IT REAL?

The numbers agree

If the colours mean anything, each layer should actually do the job they claim.

A linear probe on each layer measures three abilities — semantic segmentation, depth, and surface normals (geometry). Hover a model to follow it across all three.

REPA peaks at layer 8
Exactly the layer where it distills DINO — the schematic, confirmed by the curve.
Base stays near zero
Pure generation features carry almost no semantics. The blue is earned.
Only VGGT does geometry
It alone rises on depth and normals — geometry is its own axis.
how these curves are made

Each model is frozen — nothing is fine-tuned. At every layer we take its features, fit one linear layer to predict a task — segmentation (VOC), depth and surface normals (NYUv2) — and measure accuracy on held-out images. A high score means that layer's features already carry that kind of information; we only read what is there.

frozen model
layer ℓ features
one linear layer
held-out accuracy
= the curve
the excursion

A diffusion model is the same network run over and over — each step's output becomes the next step's input — so its output must land in the same space as its input. Yet inside, the character wanders.

latent semantics geometry head no return input depth → output
a denoiser (REPA) leaves the latent for semantics, drifts, then the head snaps it back.   VGGT keeps climbing into geometry and never returns.

The measured version: tracking each layer's similarity to its input latent (blue) vs to DINO semantics (red). REPA leaves its input character at layer 8; RAEv2 never leaves — its input is already semantic.

excursion arc — measured CKA

And the blocks never fully return on their own — they stay drifted. The return is one move: a single linear readout head after all the layers maps the hidden state back to latent. Across that one head, REPA's alignment to its input jumps 0.58 → 0.86.

why it must return

So why is the head forced to strip the semantics back out? Because of what reads the latent next — the decoder.

Base · REPA · iREPA
VAE latent
DiT · semantic excursion
head
VAE latent
frozen SD-VAE decoder
pixels
the decoder reads VAE latents only → the head must strip the semantics back out
RAE · RAEv2
DINO / K=7 latent
DiT
head
own trained decoder
pixels
its latent already is semantic → nothing to strip

That closes the loop. The head-cap colour back in the map is exactly the latent space the decoder reads — blue for VAE, red for DINO, purple for K=7. The decoder, not the network, dictates where each model must land.

03 — THE FEATURES THEMSELVES

See it, layer by layer

One image through every official model — the real internal feature at each layer (PCA-RGB).

Pick a model to lay out its layers. Click a layer and its feature fades in below. For the aligned models, the real DINO feature sits beside it — watch them converge near the distilled layer.

L0L
input image
feature
reference

For REPA, iREPA and RAE the reference is DINOv3's last layer — the exact feature they distill. RAEv2's reference is its K=7 latent.

04 — WHAT IT MEANS

Toward one feature

Across six different generation and understanding models, the features are mixing. REPA and iREPA borrow semantics mid-stream; RAE builds on top of them; RAEv2 fuses low and high into one latent; VGGT reaches past semantics into geometry. Low-level, high-level, and geometric character are separable — yet inside these networks they actively blend.

And that is the part I keep coming back to. If generation and understanding are already mixing their features inside real models, then the direction this points may end somewhere specific: a single, ultimate feature that serves generation and understanding at once. We didn't just argue for it — we watched the blending happen, layer by layer, inside the models themselves. That makes the unification look less like a wish and more like where this is going.

Draft · assets fill in as extraction completes. Built on RAEv2, REPA, VGGT, DINO and probe3d.