RadAR: dall’autoregressione sequenziale a quella spaziale per generare immagini più velocemente (paper breakdown)
RadAR riorganizza l'autoregressione in anelli concentrici, genera token in parallelo e corregge errori con nested attention, accelerando drasticamente l'inference.

In From Sequential to Spatial: Reordering Autoregression for Efficient Visual Generation (arXiv:2512.24639) gli autori propongono RadAR, un framework autoregressivo per image generation che sostituisce l'ordine raster-scan con un ordine radiale: si parte da un "centro", si espande verso l'esterno in anelli/bordi, e si predicono in parallelo tutti i token dello stesso anello.
Il punto critico è la stabilità: generare tanti token insieme aumenta incoerenze ed error propagation. RadAR risponde con una nested attention mechanism che separa "correzione" dell'area già generata e "generazione" dell'area nuova, riducendo il rischio di collapse. In pratica, riporta un taglio netto degli inference steps (da 256 a 13 nel claim principale; ~10 negli esperimenti su ImageNet 256x256) e un boost di throughput fino a ~5.6x rispetto a un AR token-by-token comparabile.
- Code: /
- Paper: arXiv PDF · arXiv abstract
- Dataset: ImageNet (download/access)
RadAR: Obiettivi e domande di ricerca
-
RQ1 - Un ordine di generazione "spaziale" può ridurre gli inference steps senza perdere qualità rispetto all'AR classico? Sì: RadAR passa da 256 step (token-by-token su griglia 16x16) a 13 nel claim principale e ~10 negli esperimenti, mantenendo metriche competitive (FID/IS/Precision/Recall) su ImageNet 256x256.
-
RQ2 - Come si evita che la parallelizzazione per anelli produca incoerenze e accumulo di errori? Con nested attention: causal tra step, bidirectional dentro lo step, e un vincolo causal tra area "nota" e area "nuova" per non far "inquinare" la correzione dagli errori della regione appena generata; inoltre la generazione aggiorna dinamicamente il contesto e abilita una correzione implicita.
-
RQ3 - Il modello è flessibile (numero di step variabile / zero-shot editing-outpainting)? Gli autori sostengono che, predicendo ground-truth values (non residual), RadAR può variare gli step senza dover riaddestrare tokenizer+generator e mostra capacità zero-shot su out-painting e class-conditional editing.
RadAR: Metodi e tecniche
Radial-Parallel Autoregressive Modeling (riordino dei token)
L'idea è rimpiazzare la sequenza 1D raster con una sequenza di set 2D: si fa center-cropping progressivo della latent map quantizzata per ottenere con range spaziale crescente fino a coprire tutta la mappa.
Operativamente, lo step riceve l'area già generata e "aggiunge un bordo" attorno: i token del bordo (non ancora noti) vengono inizializzati con un learnable prompt , poi il Transformer predice i token del nuovo anello in parallelo.
Pseudo-codice (semplificato, aderente alla logica di Algorithm 1):
def radar_prepare_targets(fq, P_list, prompt_p):
# fq: quantized latent feature map [c, h, w]
# P_list: patch sizes per step (from small center crop -> full map)
Rs, Rgt = [], []
for i, Pi in enumerate(P_list, start=1):
gi = center_crop(fq, Pi) # g_i target tokens
Rgt.append(gi)
if i < len(P_list):
Pi1 = P_list[i] # P_{i+1}
Si1 = repeat_to_size(prompt_p, Pi1) # fill with learnable prompt
Si1 = center_fill(Si1, gi, Pi, Pi1) # inject known center into bigger canvas
Rs.append(Si1) # regression input for next step
return Rs, Rgt
Nested Attention Mechanism (stabilità + correzione)
RadAR deve conciliare due obiettivi nella stessa forward pass:
- correggere lievi errori nell'area già generata;
- generare contenuto nuovo nel bordo appena espanso.
Per farlo, usa una maschera/struttura di attention "annidata":
- causal tra step (ordine autoregressivo rispettato),
- bidirectional dentro lo stesso step (coerenza spaziale),
- causal tra "known area" → "expanded area" dentro lo step, così l'area nuova non influenza le decisioni di correzione dell'area nota. In inference con KV-cache non serve maschera esplicita.
Uno schema (mask logica) per step :
def nested_attention_mask(idx_known, idx_new, T):
# T = total tokens in current step canvas
# idx_known: indices of already-generated tokens (green)
# idx_new: indices of newly-expanded tokens (blue)
M = torch.full((T, T), fill_value=-float("inf"))
# Known area: attend only to known (no leakage from new -> known correction)
M[idx_known[:, None], idx_known[None, :]] = 0.0
# New area: attend to all previous + current-step tokens (bidirectional within step)
M[idx_new[:, None], :] = 0.0
# Optionally enforce step-level causality across time if packing multiple steps
return M
Training tricks: RDS, RNI, TPT (ablation-driven)
Gli autori isolano quattro contributi con ablation:
- NAM (nested attention) migliora FID separando correzione e generazione.
- RDS (Random Dropout Sampling): campionamento che espone il modello a "range di inferenza" variabili e aumenta flessibilità sul numero di step.
- RNI (Random Noise Input): rende il modello più tollerante allo scarto tra output generato e ground-truth, migliorando IS.
- TPT (Tokenizer Post-Training): riduce il gap tra latent space visto dal tokenizer in training e quello "visitato" dal generator.
In Tabella 2, la versione completa (NAM+RDS+RNI+TPT) migliora progressivamente FID/IS rispetto alla baseline senza componenti.
Tokenizer Post-training con semantic regularization (DINOv2)
Il tokenizer è fine-tuned e regolarizzato semanticamente usando feature da un visual encoder pre-addestrato (DINOv2-B), allineando feature del decoder (proiettate via MLP) alle feature DINO tramite cosine similarity.
Inoltre, nella fase post-training, l'input allo step successivo non è puro teacher forcing: è una combinazione tra output dello step precedente e ground-truth in un certo rapporto (il paper lo descrive, senza dettagliare qui il coefficiente).
RadAR: Dataset utilizzati
- ImageNet-1K (ILSVRC 2012, 256x256 per il training del generator): RadAR è addestrato su ImageNet-1K 256x256; il tokenizer viene inizializzato da LlamaGen e fine-tuned su ImageNet-1K anche con risoluzioni campionate casualmente.
- Nessun dataset aggiuntivo dichiarato per i risultati principali; le demo "zero-shot" (out-painting, editing) sono mostrate come generalizzazione del modello, non come training su dataset dedicati.
RadAR: Licenze
- Paper (arXiv:2512.24639): licenza CC BY 4.0.
- Code/weights RadAR: non risultano rilasciati pubblicamente nella pagina arXiv al momento, quindi nessuna licenza applicabile agli artefatti software del paper.
- Dipendenze citate (rilevanti se si replica):
- DINOv2: repository Meta con licenza Apache-2.0.
- LlamaGen (usato per inizializzare il tokenizer): indicato come MIT nelle pagine del progetto/repo.
- ImageNet: richiede accettazione dei termini d'uso; fonti terze riportano vincoli non-commercial per ricerca/educazione (verificare l'accordo associato al proprio accesso).