Una richiesta precisa può produrre risultati troppo simili
Un gruppo di progettazione vuole immagini diverse di un oggetto, tutte coerenti con una descrizione. Aumenta il parametro di guida del generatore perché desidera maggiore aderenza alla richiesta. Ma aderenza, varietà e qualità visiva non sono la stessa cosa: restringere le possibilità può eliminare varianti utili, e spingere troppo una direzione può portare oltre la regione desiderata. Come capire che cosa stiamo modificando, senza ridurre la guida a una manopola etichettata “qualità”?
Abstract. Spieghiamo la classifier-free guidance, CFG, come combinazione di direzioni stimate dal modello. Costruiamo poi un esempio a una sola variabile in cui tutto è calcolabile: la distribuzione suggerita dalla combinazione a un istante non coincide con quella prodotta dall’intera traiettoria. Con guida γ=3, il nostro caso dà varianza statica 0,4 ma varianza trasportata circa 0,06265. Questo non misura la bellezza di immagini: dimostra una distinzione matematica necessaria per interpretare il controllo. Colleghiamo l’analisi alla ricerca recente, senza presentare i nostri calcoli come benchmark di modelli visivi.
Dal rumore a una direzione: che cosa indica lo score
Un modello di diffusione impara a ricostruire dati progressivamente corrotti dal rumore. Per seguire il ragionamento non occorre conoscere una rete specifica: immaginiamo che, a ogni livello di rumore t, esista una densità p_t(x), che descrive quali valori sono più o meno plausibili. Lo score è la derivata del logaritmo della densità rispetto a x; in più dimensioni è un gradiente, cioè un vettore. Non è un voto assegnato alla qualità di un’immagine. Indica una direzione locale di crescita della log-densità.
N(μ,v) indica una distribuzione normale di media μ e varianza v. A destra della media lo score è negativo; a sinistra è positivo. Una varianza piccola produce una direzione più intensa a pari distanza dal centro. La formula nasce derivando il termine −(x−μ)²/(2v) del logaritmo della densità; il fattore di normalizzazione non dipende da x e scompare. Questo caso elementare ci permette di distinguere la direzione locale dalla distribuzione dei punti che si muovono seguendola.
La guida confronta due descrizioni dello stesso punto
Chiamiamo s_c la direzione condizionata alla richiesta c e s_u quella di riferimento senza quella condizione. La combinazione s_u+γ(s_c−s_u) mantiene il riferimento e amplifica la differenza introdotta dalla condizione. γ=0 usa soltanto il riferimento; γ=1 usa la direzione condizionata; γ>1 estrapola oltre di essa. Una media pesata ordinaria userebbe pesi non negativi: qui il peso 1−γ del riferimento diventa negativo. La parola “guida” nasconde dunque un’estrapolazione, non una semplice selezione di campioni già disponibili.
Per esempio, se in una coordinata s_u=−1 e s_c=0,5, con γ=3 otteniamo −1+3·1,5=3,5. Non abbiamo moltiplicato la qualità per tre: abbiamo cambiato un campo di direzioni. Il valore numerico del parametro dipende inoltre dalla convenzione. Nella formula originale (1+w)s_c−w s_u, il nostro γ corrisponde a 1+w: confrontare “guida 3” tra due implementazioni senza leggere la formula può confrontare operazioni diverse.
Una fotografia matematica a rumore fissato
Se gli score fossero esatti, la somma di gradienti sarebbe il gradiente del logaritmo di p_c(x)^γ p_u(x)^(1−γ). Per ottenere una densità bisogna dividere per un integrale finito Z. È un’identità a un livello di rumore fissato. Non dice ancora che il generatore, attraversando tutti i livelli, produrrà proprio quella densità finale. Confondere queste due affermazioni significa scambiare una proprietà della mappa locale per una proprietà del viaggio completo.
Scegliamo due gaussiane sintetiche, con x senza unità fisica: la condizionata ha media 1 e varianza 1, il riferimento media 0 e varianza 4. Sommando i termini quadratici dei logaritmi troviamo coefficiente a_γ davanti a x² e termine lineare γx. Completare il quadrato restituisce media γ/a_γ e varianza 1/a_γ. Per γ=3 sono 1,2 e 0,4: persino la densità statica restringe la dispersione e sposta il centro oltre 1. Non è una misura di varietà semantica; è una dispersione lungo un asse astratto.
Facciamo evolvere i punti, non soltanto la formula
Aggiungiamo rumore gaussiano con varianza t: le due densità diventano N(1,1+t) e N(0,4+t). t misura varianza di rumore, non secondi di calcolo. Gli score combinati hanno forma s_γ(x,t)=−a(t)x+b(t), con a(t)=γ/(1+t)+(1−γ)/(4+t) e b(t)=γ/(1+t). Consideriamo ora l’equazione differenziale del probability flow per questa diffusione: dx/dt=−s_γ/2. La percorriamo da T=100 verso zero, quindi gli incrementi di t sono negativi. Cambiare segno senza cambiare verso temporale descriverebbe un altro processo.
La prima equazione muove ogni punto. Poiché il movimento è affine in x, un insieme inizialmente gaussiano resta gaussiano: basta seguire media μ e varianza v. La media soddisfa la stessa legge del punto medio. Per la varianza, lo scarto dalla media evolve con coefficiente a/2; elevandolo al quadrato compare un fattore due e otteniamo dv/dt=av. Queste due equazioni descrivono la densità trasportata. Non abbiamo imposto che la sua varianza sia 1/a(t): quella è invece la varianza della fotografia statica.
Per un confronto controllato inizializziamo il processo proprio con la densità statica al tempo T: μ(T)=b(T)/a(T), v(T)=1/a(T). È una scelta dichiarata, non esattamente il prior comune usato in un generatore di immagini. Con γ=3 vale circa N(2,83636;95,49091). L’inizializzazione diversa per ciascun γ rende il controllo particolarmente chiaro: anche partendo dalla fotografia statica corretta al tempo iniziale, il trasporto non è obbligato a seguirne tutte le fotografie successive.
Il risultato si controlla anche senza generare campioni
Integrando d log v/dt=a(t) tra T e zero otteniamo una formula esatta per la varianza finale. Il rapporto 1/(1+T) proviene dal logaritmo della varianza condizionata; 4/(4+T) da quella di riferimento. Gli esponenti sono i pesi della guida. Tutti i fattori sono positivi nel nostro esempio, quindi non ci sono ambiguità di potenze o normalizzazione.
| γ | Media statica | Varianza statica | Media ODE | Varianza ODE |
|---|---|---|---|---|
| 0 | 0 | 4 | 0 | 4 |
| 1 | 1 | 1 | 1 | 1 |
| 3 | 1.2 | 0.4 | 1.497286 | 0.0626534 |
ODE significa ordinary differential equation, equazione differenziale ordinaria. Abbiamo integrato media e varianza con Runge–Kutta del quarto ordine, passo −0,025, e ripetuto con passo −0,05. La massima differenza tra i due risultati nel caso γ=3 è inferiore a 6,4×10⁻⁸; la varianza numerica coincide con quella analitica entro 4,1×10⁻⁹. I casi γ=0 e γ=1 recuperano le distribuzioni attese e controllano segni e condizioni iniziali. Non c’è estrazione casuale: non occorre un seed. Il codice Python e i risultati sono allegati.

La varianza trasportata 0,06265 è molto inferiore a 0,4 e la media supera ancora di più il centro condizionato. Il confronto dimostra che l’identità degli score a ogni istante non determina da sola la distribuzione finale. Non dimostra che qualsiasi guidance collassi, che un’immagine sarà sbagliata o che γ=3 sia una cattiva scelta universale. Abbiamo usato gaussiane, score esatti e un particolare processo continuo. Il valore utile è la distinzione logica: campo locale, dinamica di campionamento e distribuzione prodotta devono essere analizzati insieme.
Che cosa aggiungono i paper, e che cosa abbiamo verificato noi
Ho e Salimans, nella versione arXiv del 26 luglio 2022, combinano stime condizionate e non condizionate; l’addestramento omette casualmente la condizione. Valutano ImageNet a 64 e 128 pixel con 50.000 campioni per valore di guida. Il confronto tra metriche non equivale a una graduatoria universale di qualità.
Jiang e Ma, preprint arXiv:2607.19725v2 del 6 agosto 2026, studiano la correzione lungo la traiettoria e propongono DG-CFG. Valutano DDIM su SD1.5, SD2.1 e SDXL: 1.000 prompt COCO; diversità su 100 prompt con 16 immagini ciascuno. Sono risultati degli autori, non riprodotti qui.
La nostra verifica riguarda soltanto le equazioni gaussiane dichiarate. Non abbiamo addestrato una rete, confrontato checkpoint o misurato l’aderenza a prompt. Il preprint recente è un riferimento di ricerca, non una certificazione: una teoria con score esatti non elimina errori di apprendimento, passi discreti e differenze tra campionatori. Inoltre, una metrica automatica può premiare una proprietà e trascurarne un’altra. Per un processo creativo aziendale, preservare alternative utili può contare più di migliorare un singolo indice; per una visualizzazione vincolata può valere il contrario. Bisogna definire il problema prima del parametro.
Un confronto sperimentale da progettare bene
Per trasferire la domanda a un generatore reale, terrei fissi modello, versione, prompt, risoluzione, campionatore e budget di valutazioni della rete. Confronterei più valori di guida e, separatamente, una guida variabile lungo il rumore. Riutilizzare gli stessi seed tra configurazioni aiuta un confronto appaiato, ma servono molti seed e molti prompt: una singola immagine riuscita non descrive la distribuzione. Questo è un protocollo proposto, non eseguito. Il confronto dovrebbe registrare fallimenti, alternative semanticamente diverse e rispetto dei vincoli, oltre alle metriche automatiche.
Il costo va confrontato con attenzione. “Senza classificatore” non significa “senza lavoro aggiuntivo”: quando servono entrambe le predizioni, condizionata e di riferimento, occorre produrle. Un’implementazione può raggrupparle o riutilizzare parti del calcolo; il numero di passi da solo non descrive tempo, memoria o numero di valutazioni. Analogamente, un prompt negativo come riferimento non è automaticamente la stessa cosa del riferimento incondizionato: cambia ciò da cui estrapoliamo. Sono dettagli che possono cambiare il significato di un esperimento, anche mantenendo lo stesso numero mostrato nel pannello della guida.
La conclusione: scegliere un compromesso, non massimizzare una manopola
Aumentare la guida modifica le direzioni che costruiscono il campione e quindi può cambiare sia il centro sia la dispersione dei risultati. Il nostro caso ha mostrato un secondo punto: una formula plausibile per la densità a un istante può essere sbagliata come descrizione della distribuzione finale. Per usare il controllo in modo consapevole bisogna specificare che cosa si vuole preservare, quale dinamica si esegue e come si valuta l’insieme delle uscite. La qualità non è una conseguenza automatica di una forza maggiore; è una proprietà da definire e verificare nel compito concreto.
Bibliografia e materiale verificabile
Il programma breve calcola la varianza esatta. Nell’archivio, experiment.py integra anche media e varianza, verifica i casi di controllo e dimezza il passo; plot.py disegna le densità dai risultati salvati. Le figure sono calcolate, la copertina è illustrativa. Questa è un’analisi didattica con assistenza AI, non ricerca originale né un risultato sperimentale attribuito a EL-AI.
T = 100.0
for gamma in (0, 1, 3):
a0 = gamma + (1-gamma)/4
aT = gamma/(1+T) + (1-gamma)/(4+T)
static_variance = 1/a0
transported_variance = (1/aT)*(1/(1+T))**gamma*(4/(4+T))**(1-gamma)
print(gamma, static_variance, transported_variance)
# Exact variance of the specified Gaussian ODE, not an image benchmark.
Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 29 settembre 2026.

