Fisica,  Intelligenza Artificiale,  L'Informazione,  Matematica,  Tecnologia

Che cos’è un tensore e perché ti dovrebbe interessare

(brogliaccio del video: www.youtube.com/watch?v=vl2mYf4w4iM)

Premessa:

Ciao! Oggi parliamo di matematica. Ma piano piano, che non faccia male, lo assicuro. Ecco! Avete mai sentito parlare di “tensori”? Probabilmente sì, anche se magari non ve ne siete quasi resi conto o non ve ne ricordate!

Si tratta di aggeggi matematici concettualmente piuttosto semplici, ma potentissimi, il cui uso riguarda tutti noi, oggi, ma di cui non ci preoccupiamo più di tanto. Sul canale, mi pare, non avevo mai trattano un argomento così virgolette elementare, chiuse virgolette. Elementare non nel senso di semplice, voglio dire, ma nel senso che fa parte degli elementi, delle basi della nostra conoscenza scientifica. Ho una mezza idea di farne una rubrica dal titolo “Cose elementari, Watson!

Vediamo come va, e poi deciderò se rifarlo. Dai! Ne parliamo nel modo più semplice e sintetico possibile dopo la… sigla!

Introduzione Dunque, i tensori. Facciamola più facile possibile. Fino a pochi anni fa per incontrare questo termine  si sarebbe dovuto prendere in mano un testo universitario  di algebra o magari una trattazione, anche divulgativa, della relatività generale. Dato però che il ruolo di questo strumento ha pervaso quel di cui tutti parlano, cioè l’intelligenza artificiale, anche questo furbo animaletto matematico si è fatto più presente nella comunicazione e nella divulgazione.

E quindi la domanda è: cosa sono i tensori, e a cosa servono?

I tensori sono la spina dorsale dei modelli di Intelligenza Artificiale e, dunque, si trovano in tutte le salse, si agitano e si organizzano dietro Matrix, dietro ciò che vediamo ogni volta che interagiamo con un chatBot o usiamo magari un software che sfrutta le funzionalità delle IA generative.

Quindi, capire qualcosa dei tensori significa buttare uno sguardo dietro le quinte delle tecnologie più avanzate alla base delle IA che generano immagini, testi e suoni con l’inquietante e sempre crescente precisione che abbiamo imparato a conoscere.

Parte 1 – Cos’è un Tensore? E allora, cos’è un tensore? Partiamo da qualcosa di molto semplice. Immaginiamo di voler descrivere la temperatura in una stanza. Se ci interessa solo un valore unico, come succede solitamente con un semplice termometro, possiamo rappresentarla con un solo numero: questo in matematica si chiama “scalare”. Cioè esprimo una grandezza con un unico numero.

Ma se vogliamo “mappare” la temperatura non solo in un singolo punto ma in tanti punti diversi della stanza, ad esempio vicino alla finestra, al centro della stanza e accanto al termosifone, avremo bisogno di più numeri. Questi numeri dovranno essere organizzati in una lista ben strutturata, che in matematica si chiama “vettore”.

Ora lo so che a scuola vi hanno insegnato che un vettore è un segmento orientato, con un modulo, un verso e una direzione. Ricordate?

Beh, in realtà è una definizione molto riduttiva, questo vettore infatti è quello definito su un piano cartesiano, cioè in uno spazio a 2 dimensioni e può essere scritto usando le coordinate della sua “punta”  ( x , y ).

Ma se ho bisogno di un vettore che rappresenti molti altri valori cosa farò? Mi metterò a giocare con le dimensioni del mio “spazio”. Quindi diciamo, la posizione del punto nello spazio tridimensionale della stanza x, y, z, il tempo della misurazione t, la temperatura, sennò non abbiamo fatto niente, T e che so io, un altra cosa che ora non mi viene in mente, q. Avremo quindi un vettore scritto più o meno così (x, y, z, t, T, q). Questo nostro spazio avrà quindi 6 dimensioni e ogni punto di questo spazio rappresenterà un vettore esadimensiona (o messo q perché volevo dire esadimensionale) sarò uno di molti valori di temperatura nel tempo di un dato punto della stanza. L’insieme di questi vettori lo chiameremo… no, aspetta: qui vado troppo oltre, andiamo invece avanti e restiamo semplici!

Allora, questo nostro vettore un po’ speciale, quindi, racchiude molte informazioni e vari vettori contengono una miriade di valori simili (in questo caso, diverse temperature) in un’unica struttura ordinata. Il passo successivo, la lista di numeri non sarà più sufficiente. Avremo bisogno di una tabella o “matrice”, ovvero una griglia che organizza queste informazioni sia nello spazio che nel tempo o in altezza. Praticamente una matrice è una “tabella” in cui i vettori fanno da righe, oppure da colonne.

I più puntigliosi vorranno dirvi che anche le matrici sono vettori e che, quelli che noi chiamiamo comunemente vettori, altro non sono che matrici con una sola riga o una sola colonna. Vabbè, semantica, basta capirci.

Ma ora, andiamo oltre, immaginiamo di voler aggiungere ulteriori informazioni, come l’umidità e la pressione dell’aria, misurate anch’esse in ciascun punto della stanza, su diversi livelli e tempi, il colore degli occhi della bella ricercatrice che ha fatto le misure e la fase astrologica del momento della registrazione.

A questo punto, nemmeno una semplice matrice basta più: è qui che entrano in scena i tensori, oggetti matematici più sofisticati che ci permettono di mettere le nostre matrici in ulteriori, molteplici dimensioni, catturando tutte queste variabili in modo coerente e strutturato.

Un tensore, possiamo dire, è una generalizzazione di scalari, semplici numeri, vettori, punti nello spazio a n dimensioni che ci serve, e matrici, insiemi di vettori, un ulteriore dispiegarsi di uno spazio a più dimensioni. Questa capacità di organizzare dati multidimensionali rende il tensore uno strumento potentissimo in molte discipline scientifiche e, oggi, anche nel calcolo della probabilità che alle parole “Sogno o son…”, segua la parola “desto”, che è quel che fa la vostra IA preferita. Ma ci torniamo.

Nota grafica:

  • Serie di immagini progressive che mostrano lo sviluppo concettuale: uno scalare (singolo numero), un vettore (una linea di numeri), una matrice (griglia di numeri), e infine un tensore illustrato come un oggetto multidimensionale, per esempio un ipercubo.

Parte 2 – La Storia e lo sviluppo dei Tensori e degli Spazi Non Euclidei E ora, se non avete capito tornate all’inizio e ripartite, perché più o meno cosa è un tensore l’abbiamo detto. Quello che ci serve adesso, ovviamente, sennò il video diventa troppo breve, è un po’ di storia dei tensori.

Non vi dico che sarà affascinante, perché questo dipende da voi. Comunque se siete ancora qui è probabile che lo sarà.

Dicevo, la storia dei tensori si intreccia con quella degli spazi non euclidei. Nel XIX secolo, matematici come Gauss e Lobachevsky  iniziarono a esplorare geometrie differenti da quella euclidea tradizionale, dando la stura al meraviglioso e infinito universo degli “spazi non euclidei”. Poco dopo, Mr. Riemann generalizzò ulteriormente questi concetti introducendo geometrie curve e spazi multidimensionali. Queste idee rivoluzionarie influenzarono profondamente lo sviluppo della matematica moderna.

E qui legittimamente qualcuno potrebbe chiedermi: ma che c’entra?

Bene, c’entra eccome. L’idea di spazi che potessero avere un numero arbitrario di dimensioni proposta da Rienmann portò a un certo punto a considerare le dimensioni di questi spazi come semplici coordinate numeriche, come generalizzazione del piano cartesiano, quindi le dimensioni diventarono grandezze indipendenti, capaci di definire la posizione o lo stato di qualcosa. In sostanza, lo spazio diventò, per la prima volta, un “contenitore concettuale” estremamente generale e flessibile.

Non fu una presa di coscienza immediata: questa svolta concettuale avvenne gradualmente. Man mano che la scienza e la tecnologia progredivano, ci si rese conto che lo spazio multidimensionale, così generale e flessibile, non doveva per forza rappresentare soltanto coordinate spaziali o temporali. Poteva essere utilizzato per rappresentare qualunque tipo di informazione o dato numerico complesso.

Già alla fine del XIX secolo, il matematico Francis Galton utilizzò coordinate multidimensionali per studiare statisticamente grandi insiemi di dati antropometrici (cioè misure del corpo umano). Nel XX secolo, questo concetto si generalizzò ulteriormente con lo sviluppo della statistica multivariata e l’analisi fattoriale: i dati iniziarono a essere trattati come punti in spazi ad alta dimensionalità. Ogni punto era definito non più dalle coordinate spaziali classiche, ma da variabili come reddito, età, altezza, peso, preferenze e così via.

L’idea alla base era semplicissima e potente: se ciascuna variabile corrispondeva a una dimensione, grandi quantità di dati potevano essere visualizzate come una “nuvola di punti” in uno spazio multidimensionale.

Ma ora torniamo ai nostri tensori.

Poi, alla fine del XIX secolo, il mio omonimo Gregorio Ricci-Curbastro e il suo allievo Tullio Levi-Civita svilupparono  il calcolo tensoriale, che fornì un linguaggio matematico potente per descrivere le trasformazioni geometriche in spazi curvi. In pratica ci fornirono un modo per effettuare calcoli con queste strutture ordinate di dati, come se non ci fosse un domani.

E quindi, come sempre in ogni buona storia di fisica e di matematica, arriva Einstein, che per la sua teoria della relatività generale , sfruttò proprio questo potente strumento matematico per descrivere come massa ed energia distorcano lo spazio-tempo, attraverso il “tensore metrico”, che definisce la geometria del nostro spazio tempo.

Ma poi i tensori trovano in un sacco di altri ambiti, oltre alla fisica e all’intelligenza artificiale. Per citarne solo alcuni ci sono:

1) L’ingegneria strutturale dove li usiamo per capire quando e come qualcosa si spezzerà, nel ponte su cui stai passando.

2) La fluidodinamica, nella quale si rendono essenziali perché il nuovo aereo supermoderno non precipiti nell’atlantico.

3) L’Economia che ne fa uno per analisi finanziarie avanzate, come modellazione del rischio e altri modi per fregarvi tutti i vostri risparmi.

4) La medicina e le neuroscienze dove i tensori sono usati nella diagnostica per immagini, come la risonanza magnetica (MRI), e nell’analisi delle connessioni cerebrali.

C’è poi la chimica quantistica e infiniti altri ambiti di uso. Insomma: i tensori fanno un gran comodo! Grazie omonimo Gregorio!

Nota grafica:

  • Animazione chiara e intuitiva che mostra come una grande massa (ad esempio, una stella o un pianeta) distorce lo spazio-tempo, con visualizzazione del tensore metrico che descrive queste deformazioni.

Parte 3 – Cosa fare con questi tensori. I tensori, come ogni buon ente matematico che si rispetti possono essere sommati, sottratti e, soprattutto, moltiplicati nel “prodotto tensoriale”, che permette di combinare due o più tensori creando nuove strutture multidimensionali. Poi, se non bastasse esiste pure la contrazione tensoriale, che ‘comprime’ il tensore riducendone il numero totale di dimensioni e quindi semplificandone la struttura. Beh, andiamo oltre per non addentrarci in cose troppo tecniche. Dobbiamo rimanere elementari, Watson!

Nota grafica:

  • Immagini delle notazioni grafiche di Penrose

Ah, quasi mi scordavo: un modo elegante e molto suggestivo per rappresentare visivamente le operazioni tra tensori è la notazione grafica di Penrose, ideata dal matematico e premio nobel per la fisica Roger Penrose. In questa notazione, i tensori sono rappresentati graficamente come nodi, mentre le loro connessioni (dette indici) diventano linee. Collegare due linee corrisponde alla contrazione degli indici, semplificando visualmente operazioni complesse tra tensori.

Non semplicissimo ma bellissimo, ecco qualche esempio.

Parte 4 – Tensori nell’Era dell’Intelligenza Artificiale Oh! E quindi eccoci all’oggi. Negli ultimi anni, i tensori hanno invaso silenziosamente le nostre case, conquistandosi ulteriore gloria, se ce ne fosse stato bisogno, grazie al loro ruolo faondamentale nello sviluppo delle reti neurali artificiali e quindi della Intelligenza Artificiale Generativa.

Queste “reti”, che sono alla base di ChatGPT, Claude, DeepSeek e compagnia cantante, di tutte le IA generative, operano, forse meglio dire “esistono”, manipolando enormi quantità di dati, organizzati proprio in tensori. Ogni input — parole, immagini, suoni — viene trasformato in tensori multidimensionali, consentendo alle reti neurali di lavorare simultaneamente su milioni, anzi su centinaia di miliardi di parametri.

Le reti neurali sono simulazioni al calcolatore di quella umidicia rete neurale che ognuno di voi ha tra le orecchie, e sono composte da strati di nodi, l’analogo digitale dei neuroni, interconnessi, ognuno dei quali esegue una serie di operazioni matematiche sui dati in ingresso. Le connessioni tra i nodi sono rappresentate da pesi numerici, che vengono continuamente aggiornati, durante il processo di addestramento del modello. Poiché ogni nodo e ogni peso non sono altro che numeri scalari, come la temperatura in un dato punto, l’intero sistema può essere scritto, descritto e manipolato usando i tensori come abbiamo discusso sopra.

In questo modo, le reti neurali prendono forma in un’enorme struttura multidimensionale, che elabora informazioni simultaneamente su più livelli, incrociando quantità inconcepibili di informazioni.

Nota grafica:

  • Visualizzazione astratta e animata di tensori multidimensionali, come ipercubi, che mostra chiaramente la complessità degli spazi esplorati dalle reti neurali.

Parte 5 – GPU: Il motore dei Tensori nell’IA moderna Ma, nonostante quello che appare ne “Il problema dei tre corpi”, non ci basterà un esercito di persone con delle bandierine, per eseguire rapidamente tutti i calcoli necessari alle reti neurali. Ci serve una capacità computazionale talmente elevata da essere ridicola, ed è qui che entrano in gioco le ormai notamente famigerate GPU che Trump vorrebbe tenersi tutte per sé, come se fosse in grado di capire a cosa servono.

Noi conosciamo tutti, almeno spero, le CPU, che sono il centro nevralgico, il cervello, di ogni nostro computer da scrivania, di ogni telefono, di ogni apparato che debba eseguire un programma o un sistema operativo. Ecco, una CPU, con la C di Central, poi Processing Unit, il che vuol dire unità centrale di elaborazione, può gestire alcune migliaia di miliardi di operazioni al secondo, lacorando in serie, cioè facendo passare immaginarie pecorelle attraverso percorsi complicati, in fila per 1; in numeri si tratta di qualcosa nell’ordine dei 10^12 operazioni al secondo, una GPU, con la G di Guacamole o di Graphics Processing Unit, ovvero Unità di Elaborazione Grafico, può gestirne facilmente circa 10^15 operazioni al secondo, il che vuol dire che le pecore vengono in gran massa fatte correre, in parallelo si dice, attraverso una sterminata prateria.

Le GPU sono, per un nerd come il sottoscritto è sempre motivo di sorriso, sono nate per giocare ai video giochi! Eh sì, di lì vengono. Nel vostro computer, nel vostro tablet c’è certamente, a fianco dell’inevitabile CPU, c’è certamente una GPU, che trasforma i dati che le arrivano dalla CPU in quello che poi vediamo sullo schermo del nostro apparato. Siccome la grafica dei nostri aggeggi è fatta di vettori, a qualcuno è venuto in mente che per gestire l’enorme mole di pecore, i dati tensoriali necessari a una rete neurale, non poteva esserci niente di meglio di una prateria dove lasciar correre. E così nvidia è passata da essere nota solo ai videogiocatori ad essere una delle più grandi aziende al mondo, oggi.

Il punto, se non lo si fosse ancora capito, è che le GPU sono molto brave a trattare enormi quantità di calcoli semplici, mentre le CPU sono meno, diciamo, capienti, ma più sapienti. Per fare un altro paragone molto facile, dato che le pecore mi hanno stancato, diciamo che la differenza è quella tra una macchina agile e veloce, la CPU, e un grosso camion da miniera, la GPU, che può spostare un enorme carico, nel nostro caso di dati, da un posto all’altro.

Questa differenza di diversi ordini di grandezza nella capacità di calcolo parallelo rende le GPU il motore ideale per manipolare e gestire i tensori delle reti neurali, consentendo all’intelligenza artificiale di funzionare, grazie ad enormi quantità di GPU che lavorano in parallelo consumando fantastiche montagne di elettricità.

Mi sono fatto un po’ trasportare da questo discorso sulle GPU, ma capiamo bene…

Nota grafica:

  • Animazione che confronta visivamente l’approccio sequenziale della CPU con quello parallelo della GPU, evidenziando il vantaggio delle GPU nella gestione di grandi quantità di dati tensoriali.

Parte 6 – Perché Dovrebbe Interessarti Davvero? Allora, perché dovreste essere sensibili al fascino niente affatto discreto dei tensori? Perche non sono solo un’astrazione matematica, il che già a qualcuno potrebbe bastare. No, sono anche lo strumento chiave per comprendere e dare forma a fenomeni complessi, dall’universo alla nostra stessa mente e alla sua controparte artificiale. Se vi incuriosisce capire come funziona davvero una intelligenza artificiale, meglio una rete neurale, che genera, che ne so: immagini realistiche? Testi decenti? Musica che un giorno sarà forse davvero originale? Se vuoi capire devi necessariamente comprendere almeno in linea generale il linguaggio dei tensori, che poi ti potrebbe aprire anche campi del sapere assai più esotici. Si tratta in qualche modo di una “lingua franca” con cui la scienza moderna gestisce dati complessi e ne estrapola significato. Forse in essi si può ancora nascondere molto di inesplorato, come mezzi di comprensione del mondo fisico e di quello artificiale.

Conclusione Insomma, lo ripeto e poi mi cheto: i tensori sono molto più di semplici oggetti matematici. Dal loro ruolo originale nella matematica e nella fisica teorica, fino alla loro posizione centrale nell’intelligenza artificiale moderna, rappresentano una delle idee più potenti della scienza contemporanea.

Se siete arrivati fin qui vi ringrazio, vi stimo e rinnovo l’invito a mettere like e a iscrivervi al canale, e soprattutto a lasciare un bel commento!

A presto!

Ciao!

Fonti:

Lascia una risposta