Ogni volta che un modello linguistico genera una singola parola, da qualche parte in un datacenter vengono eseguiti miliardi di esemplari della stessa operazione: prendere due liste di numeri, moltiplicarle voce per voce, sommare tutto. Due vettori entrano, un numero solo esce. Si chiama prodotto scalare, occupa mezza riga in un libro di matematica, e con ogni probabilità è l’operazione aritmetica più eseguita sul pianeta in questo momento. Il motivo di tanta fortuna è che quel numero in uscita risponde a una domanda che l’AI si pone di continuo: quanto queste due cose si assomigliano?
Vettori, prodotto scalare, matrici come trasformazioni, autovalori e autovettori: la trattazione completa, con la notazione, sta nel libro.
Leggi «Algebra lineare: vettori, matrici, prodotti» nel libro →
La definizione in trenta secondi
Prendete due vettori della stessa lunghezza, per esempio a = [2, 1] e b = [3, 4]. Il prodotto scalare si calcola moltiplicando le componenti corrispondenti e sommando i risultati: 2×3 + 1×4 = 10. Fine. Nessun passaggio nascosto: con mille dimensioni invece di due, l’unica differenza è che le moltiplicazioni da sommare sono mille.
Un’immagine quotidiana: lo scontrino della spesa. Un vettore contiene le quantità (2 chili di pane, 1 litro di latte), l’altro i prezzi al chilo o al litro; il prodotto scalare è il totale da pagare. Moltiplica voce per voce, somma tutto: qualsiasi «totale pesato» che avete mai calcolato era un prodotto scalare sotto mentite spoglie.
Il nome deriva dall’esito: mentre la somma di due vettori restituisce un vettore, questa operazione restituisce uno scalare, un numero singolo. È una compressione radicale — da duemila numeri a uno — e proprio per questo è preziosa: condensa una relazione tra due oggetti complicati in una cifra confrontabile.
La lettura geometrica: un’ombra sul terreno
La definizione aritmetica non spiega perché il risultato sia interessante. La spiegazione arriva dalla geometria, con un teorema tanto centrale quanto poco intuitivo a prima vista: il prodotto scalare tra due vettori è uguale al prodotto delle loro lunghezze per il coseno dell’angolo compreso.
L’immagine giusta è quella dell’ombra. Immaginate il vettore b come una strada dritta e il vettore a come un bastone piantato obliquo all’inizio della strada, con il sole a picco sopra la strada. Il bastone proietta un’ombra sull’asfalto: quella ombra è la proiezione di a su b — la parte di a che «va nella stessa direzione» della strada. Il prodotto scalare è la lunghezza di quest’ombra moltiplicata per la lunghezza della strada.
Se il bastone è quasi sdraiato lungo la strada, l’ombra è lunga e il prodotto scalare è grande. Se il bastone è perpendicolare, l’ombra si riduce a un punto: prodotto scalare zero. Se il bastone punta all’indietro, l’ombra cade dalla parte opposta e il numero diventa negativo. In tre casi, tre verdetti: concordi, indifferenti, opposti.
Il prodotto scalare non misura quanto due vettori sono grandi: misura quanto sono d’accordo.
La lettura geometrica del prodotto scalare: la proiezione di a su b è l'»ombra» che a getta sulla direzione di b. Il prodotto scalare è la lunghezza di quest’ombra moltiplicata per la lunghezza di b; l’angolo θ decide se il risultato è grande, nullo o negativo.
Da ombra a somiglianza
Il passo verso l’AI è breve. Se due vettori rappresentano due frasi, due immagini o due profili utente, l’angolo tra loro racconta quanto puntano nella stessa direzione semantica. Il prodotto scalare, però, mescola due informazioni: l’allineamento (l’angolo) e le grandezze (le lunghezze dei vettori). Un vettore molto lungo può produrre un prodotto scalare alto anche con un allineamento mediocre.
Per questo, quando interessa solo la somiglianza, si normalizza: si divide il prodotto scalare per le lunghezze dei due vettori, e resta il puro coseno dell’angolo. È la similarità coseno che compare in ogni sistema di ricerca semantica: un numero tra −1 e 1, dove 1 significa «stessa direzione», 0 «nessuna relazione», −1 «direzioni opposte». Non un’operazione nuova, quindi: solo un prodotto scalare a cui è stata tolta l’influenza delle taglie.
C’è un dettaglio onesto da aggiungere: in spazi ad altissima dimensione l’intuizione visiva va maneggiata con cura. Con migliaia di dimensioni, due vettori presi a caso risultano quasi sempre vicini alla perpendicolarità; è proprio per questo che un coseno anche solo moderatamente alto è un segnale forte di parentela, e non un caso.
Dove lavora, in concreto
Una volta imparato a riconoscerlo, il prodotto scalare spunta ovunque nell’AI:
- Il neurone artificiale — un neurone calcola la somma pesata dei suoi ingressi: ingressi in un vettore, pesi nell’altro, prodotto scalare in mezzo. Un neurone si «attiva» quando l’input somiglia al pattern scritto nei suoi pesi: è un rilevatore di somiglianza, alla lettera.
- L’attenzione nei transformer — per decidere quanto una parola deve «guardare» le altre, il meccanismo di attenzione calcola prodotti scalari tra query e chiavi (la sigla della variante standard, scaled dot-product attention, lo dichiara nel nome). Punteggi alti, attenzione alta.
- Ricerca semantica e RAG — trovare i documenti pertinenti a una domanda significa calcolare la somiglianza tra il vettore della domanda e milioni di vettori di documenti: una gara di prodotti scalari, vinta dai punteggi più alti.
- Raccomandazioni — profilo utente da una parte, profilo dell’articolo dall’altra: l’affinità stimata tra voi e un film è, in molti sistemi, un prodotto scalare.
La moltiplicazione tra matrici dell’articolo precedente, vista da vicino, è essa stessa una griglia di prodotti scalari: ogni cella del risultato è il prodotto scalare tra una riga della prima matrice e una colonna della seconda. Quando una GPU macina matrici, sta macinando prodotti scalari in parallelo.
Perché proprio questa operazione
Ci si può chiedere perché la storia dell’AI abbia eletto proprio questa operazione a mattone universale. La risposta pratica: è economicissima. Moltiplicazioni e somme indipendenti tra loro sono il caso ideale per l’hardware parallelo, e si prestano a essere eseguite a milioni contemporaneamente. La risposta concettuale: è il modo più semplice di confrontare due oggetti descritti da molti numeri facendo pesare ogni dimensione. Non l’unico — esistono distanze e misure più sofisticate — ma il più semplice che funzioni, e in ingegneria questa è quasi sempre la scelta che vince.
C’è anche un limite, ed è giusto nominarlo: il prodotto scalare è un confronto lineare. Coglie somiglianze di direzione, non relazioni arbitrariamente complesse. Le reti neurali superano il limite impilando strati e inserendo non-linearità tra uno e l’altro; ma il confronto elementare, quello che avviene miliardi di volte dentro ogni risposta di un chatbot, resta questo.
Perché vi riguarda
Se vi è mai capitato di chiedervi come fa un motore di ricerca a trovare documenti che non contengono le vostre parole, come fa un modello a decidere a quali parti della frase prestare attenzione, o perché tutti insistono sulla similarità coseno: la risposta era sempre la stessa mezza riga di aritmetica. Moltiplica voce per voce, somma tutto, leggi il numero come un grado di accordo. È una delle migliori occasioni di ritorno sull’investimento che la matematica offre a chi si avvicina all’AI: trenta secondi per impararla, e da quel momento un pezzo consistente della tecnologia contemporanea smette di essere una scatola nera.

I commenti sono riservati agli iscritti.
Accedi per commentare