Vettori, dimensioni e spazi latenti: dove vivono i concetti dell’IA

Immagine realizzata con IA
Le immagini presenti nel post possono essere realizzate o elaborate con strumenti di Intelligenza Artificiale. Questa scelta nasce anche dalla necessità di prevenire le continue contestazioni e richieste economiche improprie che ricevo relative a fotografie utilizzate che sono sempre state acquistate con regolare licenza.
Contenuti dell'articolo

Quando un’intelligenza artificiale legge una parola, non la vede come la vediamo noi. Non vede lettere, non sente suoni: vede numeri.
Ogni concetto viene trasformato in una lista di numeri e quella lista si chiama vettore. Mettendo insieme milioni di vettori si costruiscono gli spazi latenti (o spazi vettoriali latenti), i luoghi invisibili dove l’IA conserva il significato delle cose.

In questa lezione vediamo come funziona, con esempi semplici.

Cos’è un vettore, spiegato semplice

Un vettore è una lista ordinata di numeri. Se ti dico che un punto si trova a (3, 5), ti sto dando un vettore a due numeri: tre passi a destra e cinque in avanti. Con due numeri descrivi una posizione su una mappa, con tre numeri una posizione nello spazio, per esempio un drone che vola: (3, 5, 2) significa tre metri a est, cinque a nord, due di altezza.

Nell’IA funziona allo stesso modo, ma con molti più numeri. Semplificando potremmo dire che la parola “gatto” diventa un vettore, la parola “cane” diventa un altro vettore e ogni numero del vettore è una specie di coordinata. Una sola coordinata non ci dice nulla, ma tutte insieme descrivono il concetto.

Infografica: cos'è un vettore, coordinate e spazio a più dimensioni

I vettori sono punti o sono linee con modulo, direzione e verso? Entrambi.

Negli embedding esiste un utile dualismo: lo stesso insieme di coordinate può essere interpretato sia come vettore sia come punto nello spazio.

Matematicamente, infatti, un embedding è un vettore e può quindi avere norma, direzione ed essere usato in operazioni come prodotti scalari o differenze tra vettori.
Dal punto di vista semantico, però, viene spesso letto come un punto, perché interessa soprattutto la sua posizione rispetto agli altri embedding: elementi simili tendono a trovarsi vicini o ad avere orientamenti simili.
Le due interpretazioni non si escludono, ma descrivono due modi diversi di usare la stessa rappresentazione matematica.

Vedere un vettore come un elemento dotato di lunghezza, direzione e verso è utile per alcune operazioni matematiche, come il prodotto scalare e il calcolo della similarità del coseno. In quest’ultimo caso, però, ciò che conta soprattutto è l’orientamento relativo dei vettori, non la loro lunghezza.

Allo stesso tempo, vedere un embedding come un punto in uno spazio multidimensionale ci aiuta a comprenderne la posizione rispetto agli altri punti: embedding vicini tendono a rappresentare elementi semanticamente simili o correlati, secondo le relazioni apprese dal modello durante l’addestramento.

Le dimensioni: quanti numeri servono per un concetto

Ogni numero di un vettore è una dimensione. Un vettore con 3 numeri ha 3 dimensioni, uno con 300 numeri ne ha 300. I modelli linguistici moderni usano vettori che vanno da poche centinaia a migliaia di dimensioni.

Perché così tante? Perché un concetto è complicato. Per descrivere “gatto” servono tante sfumature: è un animale, è domestico, è peloso, è piccolo, miagola, dorme molto.
Ogni sfumatura può essere catturata da una o più dimensioni. Nessuna dimensione da sola significa “gatto”, è la combinazione di tutte che identifica il concetto, un po’ come il colore esatto di un muro si ottiene mescolando tante tinte diverse.

Lo spazio latente: il magazzino dei significati

Se ogni concetto è un punto con le sue coordinate, tutti i punti insieme formano uno spazio. Quello spazio si chiama spazio latente. “Latente” vuol dire nascosto: non è uno spazio fisico, esiste solo dentro il modello, fatto di numeri e relazioni matematiche.

La proprietà più interessante è questa: nello spazio latente i concetti simili stanno vicini. “Gatto” si trova accanto a “micio”, “felino” e “cane”. “Automobile” sta vicino a “motore” e “strada”, ma lontanissimo da “poesia” o “colazione”. La vicinanza tra vettori è il modo in cui l’IA rappresenta la somiglianza di significato.

TIP: Uno spazio si definisce latente non per la sua struttura matematica, ma perché le caratteristiche che rappresenta non sono stabilite esplicitamente dall’uomo: vengono apprese dal modello durante l’addestramento. Le singole dimensioni, quindi, non corrispondono necessariamente a concetti interpretabili come “colore”, “dimensione” o “pericolosità”; il significato emerge invece dalla combinazione di molte dimensioni contemporaneamente.
Infografica: lo spazio latente, il magazzino dei significati

Un esempio concreto: cosa succede con le parole

I vettori delle parole si chiamano embedding e vengono costruiti facendo leggere al modello enormi quantità di testi. Il modello impara che parole usate in contesti simili ricevono coordinate simili.
Ecco perché funzionano anche i famosi giochi di aritmetica tra parole: il vettore di “re” a cui sottraiamo quello di “uomo” e a cui addizioniamo quello di “donna” porta vicino a “regina”.
Non è magia, è geometria: i rapporti tra concetti sono diventati rapporti tra posizioni.

TIP: Uno spazio latente è generalmente rappresentato all’interno di uno spazio vettoriale multidimensionale, ma la struttura significativa appresa dal modello può occupare solo una regione complessa di quello spazio.
Infografica: embedding e aritmetica tra parole, re meno uomo più donna uguale regina

Lo stesso principio vale per le immagini. Una foto di un tramonto e una di un cane non si assomigliano, ma il modello le trasforma in vettori e può dire quanto sono lontani tra loro, oppure trovare immagini simili a quella che gli mostri.
È lo stesso meccanismo che usano i motori di ricerca di foto o i sistemi di riconoscimento facciale.

Perché è importante capirlo

Capire vettori e spazi latenti ti aiuta a capire perché l’IA funziona (e a volte sbaglia). Quando un chatbot ti dà una risposta strana, spesso è perché ha scelto il punto sbagliato nello spazio latente.
Quando un generatore di immagini mescola due concetti, sta viaggiando tra punti vicini di quello spazio.

È il cuore di quasi tutto ciò che vedi fare a un modello moderno e una base utilissima per le prossime lezioni su embedding, database vettoriali e ricerca semantica.

Domande frequenti

Un vettore e un embedding sono la stessa cosa?

Quasi. Un embedding è un vettore che rappresenta il significato di un concetto (una parola, un’immagine, un suono). Tutti gli embedding sono vettori, ma non tutti i vettori sono embedding: un vettore può rappresentare qualsiasi cosa, anche la posizione di un drone.

Quante dimensioni ha un vettore in un modello come ChatGPT?

Dipende dal modello, ma si parla comunemente di centinaia o migliaia di dimensioni per ogni concetto. Più dimensioni significano più sfumature rappresentabili, ma anche più memoria e più calcoli necessari.

Lo spazio latente esiste davvero?

No, è un modello matematico. Non è un posto fisico, ma una struttura di numeri e distanze che esiste dentro il modello. Gli facciamo fare cose utilissime, ma è importante ricordare che è solo matematica.

Perché concetti simili stanno vicini nello spazio latente?

Perché il modello, durante l’addestramento, impara che le parole usate in contesti simili vanno rappresentate in modo simile. La vicinanza non è decisa a mano: emerge dai dati.

I vettori si usano solo per le parole?

No. Immagini, audio, video, codici e qualsiasi altro tipo di contenuto possono essere trasformati in vettori. È il meccanismo universale con cui l’IA rappresenta il mondo.

Newsletter settimanale con le ultime novità sull’intelligenza artificiale

Corso gratuito sull’Intelligenza Artificiale, dalle nozioni base ai concetti più complessi

Condividi:

Potrebbero interessarti