Come esseri umani, il simbolismo è la chiave per comprendere il mondo che ci circonda, è il modo in cui interpretiamo gli oggetti, le idee e le relazioni tra di essi.
Siamo totalmente dipendenti dall'analogia, che è ciò che rende la nostra attuale tecnologia informatica estremamente contorta, complessa e, in questo momento, arcaica.
La crescente popolarità dell'intelligenza artificiale (IA) e i casi d'uso a cui stiamo già assistendo con ChatGPT di OpenAI non rappresentano necessariamente le migliori applicazioni che vadano oltre il semplice "hype" e l'inflazione azionaria.
Con l'informatica tradizionale, non comprendiamo appieno cosa facciano queste reti neurali artificiali (ANN) o perché funzionino così bene. La totale mancanza di trasparenza rappresenta anche un grosso svantaggio nella nostra comprensione di come i dati vengono raccolti e analizzati per sputare fuori i risultati a cui ci attacchiamo così disperatamente che finiamo per etichettare come "progresso".
Consideriamo il seguente esempio di una rete neurale artificiale in grado di distinguere “cerchi” e “quadrati” l’uno dall’altro.
Un modo per ottenere questa distinzione è ovvio: se uno strato di output indica un cerchio e l'altro indica un quadrato.
Ma cosa succederebbe se si volesse che la rete neurale artificiale discernesse il “colore” di quella particolare forma: è “rosso” o “blu”?
Poiché "colore" è un set di dati completamente separato, richiede neuroni di output aggiuntivi per poter tenere conto di quella caratteristica nell'output finale. In questo caso, ci sarebbero bisogno di quattro neuroni di output, uno ciascuno per il cerchio blu, il quadrato blu, il cerchio rosso e il quadrato rosso.
Ora, cosa succederebbe se volessimo un calcolo che tenesse conto anche di informazioni aggiuntive, come “dimensione” o “posizione/luogo”?
Più caratteristiche significano più neuroni che devono tenere conto di ogni possibilità associata alla definizione di quella particolare caratteristica (o combinazione di caratteristiche) con il “cerchio” e il “quadrato”.
In altre parole, diventa incredibilmente complesso.
Bruno Olshausen, neuroscienziato dell'Università della California a Berkeley, ha recentemente parlato di questa necessità di avere un neurone per ogni possibile combinazione di caratteristiche.
"Non può essere così che i nostri cervelli percepiscono il mondo naturale, con tutte le sue varianti. Bisogna proporre... un neurone per tutte le combinazioni", ha detto, spiegando ulteriormente che in sostanza avremmo bisogno di "un rilevatore Volkswagen viola" o qualcosa di così oscuro da tenere conto di ogni possibile combinazione di informazioni che speriamo di considerare in un dato esperimento.
Ecco che entra in gioco il “calcolo iperdimensionale”.
Che cosa è il "calcolo iperdimensionale"?
Il cuore del calcolo iperdimensionale è la capacità dell’algoritmo di decifrare parti specifiche di informazioni da immagini complesse (si pensi ai metadati) e quindi rappresentare tali informazioni collettive come un’unica entità, nota come “vettore iperdimensionale”.
A differenza dell'informatica tradizionale, l'informatica iperdimensionale ci consente di risolvere i problemi in modo simbolico e, in un certo senso, di essere in grado di "prevedere" in modo efficiente e accurato l'esito di un particolare problema in base ai dati contenuti nel vettore iperdimensionale.
Ciò che Olshausen sostiene, insieme ad altri colleghi, è che le informazioni nel cervello sono rappresentate dall'attività di una tonnellata di neuroni, rendendo impossibile che la percezione della nostra fittizia "Volkswagen viola" possa essere contenuta dalle azioni di un singolo neurone, ma piuttosto da migliaia di neuroni che, collettivamente, arrivano a comprendere una Volkswagen viola.
Con lo stesso insieme di neuroni che agiscono in modo diverso, potremmo vedere un concetto o un risultato completamente diverso, come una Cadillac rosa.
La chiave, secondo una recente discussione su WIRED, è che ogni informazione, come l'idea di un'auto o la sua marca, modello, colore o tutti questi elementi combinati, è rappresentata come un'unica entità: un vettore iperdimensionale o ipervettore.
Un "vettore" è semplicemente un array ordinato di numeri (1, 2, 3, ecc.) in cui un vettore 3D è costituito da tre numeri (le coordinate x, y e z di un punto esatto nello spazio 3D).
Un "ipervettore", d'altro canto, potrebbe essere un array di migliaia o centinaia di migliaia di numeri che rappresentano un punto in quella quantità di spazio dimensionale. Ad esempio, un ipervettore che rappresenta un array di 10.000 numeri rappresenta un punto in uno spazio di 10.000 dimensioni.
Questo livello di astrazione ci offre la flessibilità e la capacità di far evolvere l'informatica moderna e di armonizzarla con le tecnologie emergenti, come l'intelligenza artificiale (IA).
"Questa è la cosa che mi ha entusiasmato di più, praticamente in tutta la mia carriera", ha detto Olshausen. Per lui e per molti altri, l'informatica iperdimensionale promette un nuovo mondo in cui l'informatica è efficiente e solida e le decisioni prese dalle macchine sono completamente trasparenti.
Trasformare i “metadati” in algoritmi iperdimensionali per generare risultati complessi
L'algebra di base ci dice perché il sistema ha scelto quella particolare risposta, cosa che non si può dire per le reti neurali tradizionali.
Il punto cruciale di come l'intelligenza artificiale dovrebbe essere utilizzata per consentirci di comprendere meglio il mondo che ci circonda è lo sviluppo di sistemi ibridi in cui queste reti neurali possono mappare le cose nella vita reale in ipervettori e poi consentire all'algebra iperdimensionale di prendere il sopravvento.
"Questo è ciò che dovremmo aspettarci da qualsiasi sistema di intelligenza artificiale", afferma Olshausen. "Dovremmo essere in grado di capirlo proprio come comprendiamo un aereo o un televisore".
Tornando all'esempio con "cerchi" e "quadrati" e applicandolo a spazi ad alta dimensione, abbiamo bisogno di vettori per rappresentare le variabili "forma" e "colore", ma anche per rappresentare i valori che possono essere assegnati alle variabili: "CERCHIO", "QUADRATO", "BLU" e "ROSSO".
Ancora più importante, questi vettori devono essere sufficientemente distinti per quantificare effettivamente queste variabili.
Ora, volgiamo l'attenzione a Eric Weiss, uno studente di Olshausen, che nel 2015 ha dimostrato un aspetto delle capacità uniche del calcolo iperdimensionale su come rappresentare al meglio un'immagine complessa come un singolo vettore iperdimensionale che contiene informazioni su TUTTI gli oggetti nell'immagine: colori, posizioni, dimensioni.
In altre parole, una rappresentazione estremamente avanzata dei metadati di un'immagine.
"Sono praticamente caduto dalla sedia", ha detto Olshausen. "All'improvviso, mi si è accesa la lampadina".
In quel momento, più team iniziarono a concentrare i loro sforzi sullo sviluppo di “algoritmi iperdimensionali” per replicare i compiti “semplici” in cui le reti neurali profonde erano già state impegnate due decenni prima, come la classificazione delle immagini.
Creazione di un "ipervettore" per ogni immagine
Ad esempio, se si prendesse un set di dati annotati composto da immagini di cifre scritte a mano, questo algoritmo iperdimensionale analizzerebbe le caratteristiche specifiche di ciascuna immagine, creando un "ipervettore" per ciascuna immagine.
Creazione di una “classe” di ipervettori per ogni cifra
Da lì, l'algoritmo aggiungerebbe gli ipervettori per tutte le immagini di "zero" per creare un ipervettore per "l'idea di zero" e ripeterebbe ciò per tutte le cifre, generando 10 ipervettori di "classe", uno per ogni cifra.
Tali classi di ipervettori memorizzate vengono ora misurate e analizzate rispetto all'ipervettore creato per una nuova immagine non etichettata allo scopo di determinare, tramite l'algoritmo, quale cifra corrisponde più da vicino alla nuova immagine (in base alla classe predeterminata di ipervettori per ciascuna cifra).
La ricerca IBM si tuffa
A marzo, Abbas Rahimi e due colleghi dell'IBM Research di Zurigo hanno utilizzato il calcolo iperdimensionale con reti neurali per risolvere un classico problema di ragionamento visivo astratto, qualcosa che ha rappresentato una sfida significativa per le reti neurali artificiali tipiche e persino per alcuni esseri umani.
Il team ha prima creato un “dizionario” di ipervettori per rappresentare gli oggetti in ogni immagine, dove ogni ipervettore nel dizionario rappresentava un oggetto specifico e una combinazione dei suoi attributi.
Da lì, il team ha addestrato una rete neurale per esaminare un'immagine per generare un ipervettore bipolare, in cui un particolare attributo o elemento può essere +1 o -1.
"Guidiamo la rete neurale verso uno spazio concettuale significativo", ha affermato Rahimi.
Il valore qui è che una volta che la rete ha generato ipervettori per ciascuna delle immagini di contesto e per ciascun candidato per lo slot vuoto, viene utilizzato un altro algoritmo per analizzare gli ipervettori per creare "distribuzioni di probabilità" per un certo numero di oggetti nell'immagine.
In altre parole, l'algebra può essere utilizzata per prevedere l'immagine candidata più probabile per riempire lo spazio vacante. E l'approccio del team ha prodotto una precisione vicina all'88 percento su un set di problemi, in cui le soluzioni basate solo sulla rete neurale erano accurate meno del 61 percento.
Siamo ancora all'infanzia
Nonostante i suoi numerosi vantaggi, il calcolo iperdimensionale è ancora agli inizi e richiede test su problemi del mondo reale e su scale molto più grandi di quelle che abbiamo visto finora, ad esempio, la necessità di cercare in modo efficiente oltre 1 miliardo di elementi o risultati e trovare un risultato specifico.
Alla fine, questo arriverà col tempo, ma pone la questione di dove e come applichiamo e integriamo l'uso dell'intelligenza artificiale.
Scopri come una funzione religiosa di 40 minuti, supportata dall'intelligenza artificiale, ha attirato oltre 300 partecipanti in Germania, in un esperimento unico nel suo genere.
Clicca qui per vedere la galleria completa su Hypemoon