Mostrate a un modello la fotografia di un gatto addormentato su un divano e chiedetegli, tra mille didascalie possibili, quale la descrive. Sceglie «un gatto che dorme sul divano» e scarta «un’automobile rossa in autostrada». Sembra ovvio, ma è successo qualcosa di strano: il modello ha confrontato dei pixel con delle parole. Sono due materiali che non hanno niente in comune — uno è una griglia di intensità luminose, l’altro una sequenza di simboli — eppure il sistema li ha giudicati vicini o lontani come se stessero sullo stesso righello. Il trucco che rende possibile tutto ciò, e su cui poggiano i modelli che oggi descrivono immagini e rispondono a domande su ciò che vedono, è più semplice di quanto sembri: costruire un unico spazio dove pixel e parole possano finalmente essere misurati insieme.
Come si fa di un’immagine una sequenza, e i tre modi di far incontrare due flussi diversi: nel libro.
Pixel e parole non parlano la stessa lingua
Un’immagine, per un computer, è una matrice di numeri: per ogni punto dello schermo, quanta luce rossa, verde e blu. Una foto media sono milioni di questi numeri, senza nessuna nozione di «gatto» o «divano» incorporata. Una frase, invece, è una sequenza di parole, cioè di simboli discreti. Non c’è modo diretto di sottrarre «gatto» da un pixel, né di dire quanto una tonalità di grigio disti dalla parola «dorme». I due mondi non sono confrontabili per costruzione.
La soluzione non è tradurre l’uno nell’altro — nessuno prova a trasformare i pixel in parole a monte — ma portarli entrambi in un terzo linguaggio comune, fatto di sole coordinate numeriche. Ogni immagine viene trasformata in una lista di, poniamo, qualche centinaio di numeri; ogni frase, nello stesso modo, in una lista della stessa lunghezza. Questa lista si chiama embedding, e potete pensarla come le coordinate di un punto in uno spazio a molte dimensioni. A quel punto immagini e frasi sono la stessa cosa: punti. E due punti si possono sempre confrontare, misurando quanto sono vicini.
Un dizionario geometrico
L’idea chiave è che la vicinanza in questo spazio significhi vicinanza di significato. Se lo spazio è costruito bene, il punto in cui atterra la foto del gatto e il punto in cui atterra la frase «un gatto sul divano» sono a un passo l’uno dall’altro. Il punto della frase «un’automobile rossa» è lontano da entrambi. Lo spazio diventa una specie di mappa semantica in cui la distanza geografica racconta la parentela concettuale, indipendentemente dal fatto che il contenuto arrivi da un’immagine o da un testo.
L’analogia più fedele è quella delle coordinate geografiche. «Roma» è una parola, una città reale è fatta di pietre e persone: oggetti incommensurabili. Ma se assegnate a entrambe una latitudine e una longitudine, potete finalmente chiedervi quanto Roma disti da Napoli, e la domanda ha una risposta precisa. Lo spazio degli embedding fa lo stesso con i significati: dà a ogni immagine e a ogni frase un indirizzo, e trasforma la domanda impossibile «quanto questa foto assomiglia a questa descrizione?» in un banale calcolo di distanza tra due indirizzi.
L’immagine e il testo attraversano due encoder distinti ma sboccano nello stesso spazio. La foto del gatto e la sua descrizione atterrano vicine (cerchio tratteggiato): il modello le riconosce come corrispondenti. Una didascalia non pertinente finisce lontano. «Vedere», per il modello, è misurare queste distanze.
Come si insegna la vicinanza
Resta la domanda vera: come si costruisce uno spazio in cui le distanze significano davvero qualcosa? Nessuno le assegna a mano. Il metodo che ha reso pratica questa idea, reso celebre da un modello del 2021 chiamato CLIP, è l’addestramento contrastivo, e si regge su un’intuizione elegante. Si raccolgono centinaia di milioni di coppie immagine-didascalia dal web — foto con la loro descrizione, così come si trovano già abbinate nelle pagine. Poi si addestrano insieme i due encoder con un’unica istruzione: fai in modo che ogni immagine sia vicina alla sua didascalia e lontana da tutte le altre.
Concretamente si prende un lotto di, poniamo, migliaia di coppie. Si calcolano tutti gli embedding e si misura la vicinanza di ogni immagine con ogni didascalia del lotto: una grande tabella di confronti. Sulla diagonale ci sono gli abbinamenti corretti, che devono risultare i più vicini; tutto il resto della tabella sono abbinamenti sbagliati, che devono risultare lontani. L’errore misura quanto la tabella si discosta da questo ideale, e l’ottimizzazione, ripetuta su miliardi di esempi, plasma lentamente lo spazio finché la geometria non riflette il significato. Nessuno ha mai etichettato le foto con categorie: è bastato il testo che le accompagnava sul web a fare da supervisore.
Non si insegna al modello cosa sia un gatto, gli si insegna solo ad avvicinare ogni immagine alla frase che la accompagnava: da milioni di questi piccoli aggiustamenti emerge, come effetto collaterale, una mappa del significato.
Il risultato ha una proprietà sorprendente. Un modello addestrato così può classificare immagini che non ha mai visto etichettate, semplicemente confrontando la foto con le frasi «una foto di un gatto», «una foto di un cane», e scegliendo la più vicina. La classificazione diventa un problema di vicinanza nello spazio condiviso, e le categorie si scrivono in linguaggio naturale invece di essere fissate in anticipo.
Dall’immagine ai modelli che parlano
Lo spazio condiviso è la fondazione; sopra ci si costruisce il piano nobile. I modelli che oggi chiacchierano su una foto — descrivono cosa contiene, rispondono a domande, leggono un grafico — fanno un passo in più. Un encoder visivo, spesso una variante che spezza l’immagine in tante piccole tessere e le tratta come una sequenza (allo stesso modo in cui un testo è una sequenza di parole), produce un insieme di embedding dell’immagine. Poi un modulo di raccordo, il proiettore, traduce quegli embedding nel formato esatto che il modello linguistico usa per le parole.
Il colpo d’ala è qui: dopo la proiezione, l’immagine appare al modello linguistico come una manciata di parole extra. Non parole vere, ma vettori che occupano lo stesso spazio dei simboli testuali e che il modello legge in sequenza, esattamente come leggerebbe l’inizio di una frase. «Descrivi questa immagine» diventa, per il modello, una frase che comincia con qualche token visivo e prosegue con la richiesta scritta. Il modello linguistico, addestrato a continuare il testo, continua descrivendo. Non ha imparato a vedere: ha imparato a leggere qualcosa che gli viene servito già tradotto nella sua lingua.
Cosa vede davvero, e cosa no
L’onestà impone di non confondere questa capacità con la vista umana. Un modello di questo tipo è bravissimo a cogliere il contenuto di una scena — c’è un gatto, c’è un divano, è interno, è giorno — e sorprendentemente fragile sulle relazioni. Distinguere «il gatto sul divano» da «il divano sul gatto» mette in difficoltà molti di questi sistemi, perché l’addestramento contrastivo li spinge a trattare la didascalia un po’ come un sacchetto di parole di cui contano la presenza più che l’ordine. Contare gli oggetti, capire chi è a sinistra di chi, legare l’attributo giusto all’oggetto giusto quando ce ne sono diversi: sono i punti deboli ricorrenti, documentati da diversi studi.
La ragione è coerente con tutto il resto. Lo spazio condiviso premia la vicinanza semantica globale, non la struttura fine. Due frasi con le stesse parole in ordine diverso finiscono vicine, perché per il modello descrivono più o meno lo stesso insieme di cose. È un limite di progettazione, non un difetto passeggero, e conoscerlo aiuta a capire quando fidarsi di una descrizione automatica e quando controllarla.
Perché vi riguarda
Ogni volta che un’app riconosce cosa c’è in una vostra foto, che un motore trova immagini a partire da una frase, che un assistente legge lo screenshot di un errore e vi spiega cosa fare, sotto c’è questa stessa idea: pixel e parole depositati nello stesso spazio e confrontati per distanza. Capirlo cambia le aspettative in modo utile. Sapete che il sistema è forte sul «cosa» e debole sul «come sono disposti»; sapete che le sue categorie non sono scolpite ma scritte in linguaggio naturale, quindi interrogabili con le parole giuste; sapete che quando descrive una scena sta misurando parentele, non guardando. È meno magia e più geometria — ed è proprio per questo che ci si può ragionare, invece di limitarsi a stupirsi.

I commenti sono riservati agli iscritti.
Accedi per commentare