La Benedizione della Dimensionalità?! (Parte 1)

La Benedizione della Dimensionalità?! (Parte 1) - Un'avventura nel mondo della bellezza e della moda

Una tecnica di elaborazione relativamente nuova sta rivoluzionando il panorama dell’IA

Fig. 1 Shakey the Robot, costruito presso lo Stanford Research Institute, circa 1972 (fonte: Wikimedia Commons)

Da Dartmouth a LISP

“Pensiamo che un significativo progresso possa essere fatto su uno o più di questi problemi se un gruppo selezionato di scienziati ci lavora insieme per un’estate”, diceva la proposta. Poco sapevano John McCarthy e i suoi colleghi mentre scrivevano quella frase, che il loro breve progetto estivo stavano per mettere in moto una delle più grandi rivoluzioni tecnologiche mai viste dall’umanità.

In molti modi, il Progetto estivo Dartmouth del 1956 sull’Intelligenza Artificiale [1,2] può essere considerato il luogo in cui l’IA, incluso il nome IA, ha preso vita. Sin dalla sua ideazione, sono emerse due scuole di pensiero, ognuna con il proprio approccio distintivo per comprendere e creare sistemi intelligenti.

Intelligenza Artificiale Simbolica: la prima scuola

Si può arguire che la scuola più “antica” delle due sia chiamata Intelligenza Artificiale Simbolica (l’altra è l’Intelligenza Artificiale Connessionista). Molto semplicemente, questo approccio prevede

  • la creazione di un grande database di oggetti (ad esempio, animali),
  • la definizione di regole per manipolare questi oggetti (cosa rende un animale un mammifero, un rettile o un insetto?) e
  • l’utilizzo dei primi due passaggi per trarre inferenze logiche (“Un gatto è un insetto?”)

In modo più formale, l’approccio simbolico all’IA enfatizza l’uso di simboli e regole per rappresentare e manipolare la conoscenza. A differenza dell’IA connessionista, che si ispira alla struttura del cervello umano, l’IA simbolica si concentra sulle rappresentazioni esplicite di concetti e relazioni.

Nei sistemi di IA simbolica, la conoscenza viene codificata sotto forma di simboli, che possono rappresentare oggetti, azioni o concetti astratti. Questi simboli vengono poi manipolati utilizzando regole di inferenza, che consentono al sistema di trarre conclusioni e prendere decisioni. Questo ragionamento basato su regole consente ai sistemi di IA simbolica di risolvere problemi in modo logico e strutturato.

Esempio molto semplice

  1. Potrei caricare un’intelligenza artificiale con il seguente database di dati sugli animali: nome, tipo e caratteristiche a. animale(gatto, mammifero, pelliccia, quattro_zampe). b. animale(pesce, acquatico, scaglie, nessuna_zampa). c. animale(uccello, aviano, piume, due_zampe). d. animale(serpente, rettile, scaglie, nessuna_zampa).
  2. Poi programmare le seguenti REGOLE per la classificazione basata sulle caratteristiche a. mammifero(X) :- animale(X, mammifero, pelliccia, quattro_zampe). b. acquatico(X) :- animale(X, acquatico, scaglie, nessuna_zampa). c. aviano(X) :- animale(X, aviano, piume, due_zampe). d. reptile(X) :- animale(X, rettile, scaglie, nessuna_zampa).
  3. Seguendo questo, abbiamo un semplice sistema esperto in grado di rispondere a diverse domande, come[a] Domanda: mammifero(gatto). #Stiamo chiedendo se un gatto è o non è un mammifero. Risposta attesa: vero[b] Domanda: mammifero(pesce) Risposta attesa: falso.

Ecco una spiegazione più dettagliata su come funzionano i sistemi di IA simbolica

L’IA simbolica ha avuto particolare successo in settori che richiedono ragionamento e pianificazione, come i sistemi esperti e il gioco. I successi includono:

  • Shakey the Robot (vedi la prima figura), costruito da SRI International, allora l’Istituto di Ricerca di Stanford [5],
  • sistemi esperti come l’IA basata su regole chiamata “MYCIN“, sviluppato presso l’Università di Stanford negli anni ’70 per diagnosticare e curare infezioni negli esseri umani, e
  • ELIZA, uno dei primi programmi di elaborazione del linguaggio naturale, creato da Joseph Weizenbaum al MIT.

La AI simbolica, almeno inizialmente, è stata eccezionalmente di successo ed è stata impiegata in una vasta gamma di applicazioni. Infatti, intere famiglie di linguaggi formali, come LISP (anni ’50), sono stati creati per facilitare il pensiero e la codifica per i sistemi AI [3]. Tuttavia, ci sono alcuni difetti molto fondamentali con questo modo di pensare ai sistemi AI.

Figura 2. Una conversazione con ELIZA (fonte: Wikimedia Commons)

Alcuni problemi con la AI simbolica

  • Gestione dell’incertezza – I sistemi AI simbolici hanno difficoltà a rappresentare e ragionare sull’incertezza. – Le situazioni del mondo reale spesso coinvolgono informazioni incomplete o ambigue, e gli approcci simbolici tradizionali possono avere difficoltà a gestire l’incertezza in modo efficace. – In domini in cui l’incertezza è intrinseca, come la diagnosi medica o la comprensione del linguaggio naturale, la AI simbolica può fornire risultati eccessivamente deterministici o inaccurati.
  • (collegato) Rappresentazione e acquisizione della conoscenza – I sistemi AI simbolici si basano su rappresentazioni esplicite di conoscenza sotto forma di simboli e regole. – Ciò rappresenta una sfida nel catturare la vasta e sfumata conoscenza del mondo reale. – Un compito altamente complesso come la guida autonoma, ad esempio, semplicemente non può essere rappresentato come un insieme di comandi “Se-Allora-Altrimenti”: quante miliardi di condizioni di questo tipo devi codificare nell’agente di AI?
  • Mancanza di apprendimento e adattamento – Non c’è praticamente modo di imparare dai nuovi dati e dall’esperienza! – L’agente di AI fa semplicemente ciò che il programmatore gli ha codificato. I dati del mondo reale possono essere inseriti nell’agente solo come conoscenza del programmatore su come funziona detto mondo – che potrebbe essere sia molto limitata che tendenziosa.

Queste, e alcune altre limitazioni piuttosto gravi, hanno reso il progresso nella AI simbolica un’impresa piuttosto frustrante. Tuttavia, nel frattempo, si stava sviluppando silenziosamente una linea di pensiero parallela, supportata dai ricercatori che, sentendo il campanello funebre dell’XOR di Minsky e Papert per il classificatore Perceptron [6], avevano risposto con un resistente: “questo non è ancora finito!”

Tutto cambiò quando la Nazione Connessionista attaccò…

Il approccio connessionista all’AI è (principalmente) ciò di cui si legge in questi giorni, dai taxi Waymo a guida autonoma, ai sistemi di riconoscimento facciale di Apple, all’esercito di robot di cui zio Bob ti ha appena parlato durante la cena del ringraziamento.

Figura 3. L'auto a guida autonoma di Waymo (fonte: Wikimedia Commons)

L’approccio connessionista all’intelligenza artificiale (AI) trae ispirazione dalla struttura e dalla funzione del cervello umano, mirando a creare sistemi intelligenti emulando l’interconnessione dei neuroni. A differenza della AI simbolica, che si basa su regole e rappresentazioni esplicite, l’AI connessionista utilizza programmi informatici chiamati “reti neurali artificiali” (ANN) per apprendere dai dati e prendere decisioni.

Le ANN sono composte da strati di neuroni artificiali interconnessi, ognuno dei quali riceve segnali di input, li elabora e trasmette segnali di output ad altri neuroni. Ad esempio, sul lato destro della Fig. 4, ogni disco (blu, verde o giallo) rappresenta un “neurone”. Queste connessioni, o pesi, vengono regolati tramite un processo chiamato apprendimento, permettendo alle ANN di identificare modelli e relazioni nei dati. Questa capacità di apprendimento consente ai sistemi di AI connessionisti di risolvere problemi complessi e fare previsioni basate su nuovi dati, anche senza programmazione esplicita.

Figura 4. Le reti neurali artificiali (R) emulano l'interconnessione delle reti neuronali biologiche. (L) Il cervello umano immaginato come una rete neurale profonda (fonte: Wikimedia Commons)

Senza entrare troppo nei dettagli (ce ne sono davvero troppi qui), notiamo che già intorno al 1990, Gradient Descent e Backpropagation si erano sviluppati in modo sorprendentemente buono [4, 16], considerando la mancanza generale di entusiasmo per l’approccio connessionista nei decenni precedenti. Tuttavia, i tentativi di risolvere problemi più complessi del mondo reale utilizzando l’approccio connessionista sono stati ostacolati da (1) scarsi hardware di calcolo e (2) mancanza di dati di addestramento.

Moore e Li al salvataggio

Verso la fine degli anni 2000, la legge di Moore ha compiuto enormi progressi nel contribuire a risolvere il problema del calcolo. Allo stesso modo, ricercatori come Fei Fei Li hanno sfruttato l’ampia quantità di dati di immagini disponibili online per creare enormi set di dati per addestrare le reti neurali artificiali (tra l’altro, la creazione del dataset ImageNet da parte di Li è una saga abbastanza eccitante da meritare un proprio articolo 😉). E quando un’intelligenza artificiale risolse¹ la sfida ImageNet di Li, l’approccio connessionista emerse come il chiaro vincitore.

30 settembre 2012

Dopo quello che è diventato famoso come “Il momento AlexNet” (vedi [17, 15], o ascolta semplicemente Pieter Abbeel parlare per 5 minuti), le reti neurali artificiali sono esplose sulla scena, rivoluzionando nel giro di pochi anni ambiti notevolmente disparati come l’elaborazione del linguaggio naturale, la medicina e la robotica (il laboratorio di Abbeel è famoso per molti dei progressi nella robotica). Ma l’IA connessionista non è una panacea.

Problemi con l’IA connessionista

Prima di scartare l’approccio precedente come “IA scalcinata,” vediamo alcuni problemi che affliggono quest’ultima.

  1. Mancanza di spiegabilità [18] Immagina quella rete neurale artificiale mostrata nella figura precedente, ma con circa 175 miliardi di dischi anziché 11. Come si potrebbe anche iniziare a capire come questa mostruosità di dimensioni brobdingnagiane ragiona? La maggior parte delle stime indica che GPT 3.5 ha circa 175 miliardi di parametri. Le reti neurali sono spesso considerate “scatole nere” a causa delle loro complesse architetture e del grande numero di parametri. Ovviamente, in applicazioni in cui la comprensione delle motivazioni alla base delle decisioni è cruciale (ad esempio, la diagnosi medica o la finanza), la mancanza di spiegabilità può limitare l’adozione dei modelli connessionisti.
  2. Memoria, Calcolo e Potenza– Le reti neurali artificiali richiedono enormi quantità di energia e calcolo sia durante la fase di apprendimento che per il funzionamento normale.- Questo problema è così grave oggigiorno che la maggior parte delle reti neurali artificiali più grandi viene addestrata e utilizzata da aziende private perché le istituzioni accademiche semplicemente non possono permettersi la colossale bolletta elettrica o l’acquisto di abbastanza processori per far funzionare queste enormi macchine.
  3. Il problema del legame [8]- Nel cervello umano, regioni diverse elaborano vari aspetti delle informazioni sensoriali, come il colore, la forma e il movimento.- Il problema del legame sorge perché il cervello deve integrare queste caratteristiche distinte in una percezione coerente di oggetti e scene. Ad esempio, quando vedi una palla rossa che rotola in un campo verde, il tuo cervello combina senza soluzione di continuità informazioni sul colore, la forma e il movimento per formare una percezione unificata della palla rossa rotolante.- I modelli connessionisti spesso utilizzano rappresentazioni distribuite, in cui le diverse caratteristiche sono codificate dai modelli di attivazione di molteplici neuroni. Sebbene ciò consenta un elaborazione parallela e una maggiore flessibilità, rende difficile collegare esplicitamente le caratteristiche specifiche tra loro.- Sebbene metodi come l’attenzione siano stati utilizzati per affrontare questo problema, è ancora lontano dall’essere risolto ed è uno dei principali svantaggi dell’approccio connessionista.

Per ragioni di concisione, mi limiterò a quanto sopra. Riprenderemo anche questi problemi più avanti. Per una discussione più dettagliata dei limiti dell’approccio connessionista, consulta [9, Sec. 2.1.2].

Non sorprende quindi quando i ricercatori affermano cose del genere:

A nostro avviso, l’integrazione dell’elaborazione simbolica nelle reti neurali è di fondamentale importanza per realizzare un’intelligenza artificiale di livello umano e richiederà uno sforzo comune della comunità per essere risolta. [8]

Può l’HDC, maestro di entrambi gli elementi, salvarci?

Hyperdimensional Computing (HDC), alias Vector Symbolic Architecture (VSA), riunisce idee da entrambi gli approcci sopra menzionati per aiutare a mitigare alcuni dei problemi che abbiamo discusso. La quantità fondamentale al centro di questo terzo approccio all’IA è chiamata “rete iperdimensionale,” che altro non è che un vettore in uno spazio molto elevato (pensa a R¹⁰⁰⁰⁰ 😮) dimensionale.

Legare, raggruppare e permutare [7, 19]

In modo molto semplice, questi ipervettori vengono utilizzati per rappresentare oggetti e relazioni tra tali oggetti (se ti suona una campanella, sei sulla strada giusta, simbolicamente parlando). Ad esempio, potremmo avere un ipervettore a 10.000 dimensioni α per “arancio” e β per “colore”, quindi il vettore a 10.000 dimensioni ottenuto dalla moltiplicazione elemento per elemento, rappresentato da γ = αβ rappresenta “colore arancio”. Nel gergo HDC, questa operazione viene chiamata “binding” (legatura).

La combinazione di due o più risultati di tali operazioni di binding attraverso l’aggiunta di vettori “vanilla” ci aiuta a sovrapporre più caratteristiche. Ad esempio, se γ e δ rappresentano rispettivamente “colore arancio” e “forma rotonda”, allora γ+δ rappresenta “colore arancio e forma rotonda”. Stiamo ovviamente costruendo una rappresentazione simbolica di un’arancia (🍊). Questa operazione è chiamata “bundling” (raggruppamento).

La terza operazione, chiamata “Permutazione”, riguarda la riorganizzazione delle voci di un ipervettore. Ad esempio, se parto dal vettore x = [a,b,c], una permutazione di x sarebbe Πx = [b,c,a]. Questa operazione viene principalmente utilizzata per mantenere l’ordinamento, come una sequenza temporale, ad esempio, ed è al di fuori dello scopo di un articolo introduttivo sull’argomento.

Un vero figlio del simbolico e del connectionista

Una volta che abbiamo una rappresentazione sufficientemente ricca di oggetti, nel nostro caso frutti, utilizzando questa procedura, abbiamo l’equivalente HDC di un “database”, che può poi essere utilizzato per rispondere a domande. Questa descrizione del processo generale HDC è piuttosto generale e deve essere formalizzata. Lo faremo nella Parte 2 di questo articolo. Per ora, notiamo che mentre ricorda fortemente l’IA simbolica, questa procedura incorpora anche alcune idee dell’IA connectionista.

Ad esempio, dove nei 10.000 elementi di γ sono memorizzate “arancieta” e “forma”? Similmente a ANNS, la risposta è distribuita su multiple coordinate. Questo archivio distribuito delle informazioni, chiamato “Rappresentazione olografica”, rende l’HDC notevolmente robusto agli errori, perché è molto difficile corrompere accidentalmente una proporzione significativa dei 10.000 elementi. L’altro motivo di questo passaggio a vettori ad altissima dimensionalità è quello di preservare “orthogonalità” – un argomento leggermente più complesso da comprendere e verrà trattato in dettaglio nella Parte II di questo articolo.

Dove nei 10.000 elementi di γ sono memorizzate “arancieta” e “forma”? Similmente a ANNS, la risposta è distribuita su multiple coordinate.

Inoltre, come vedremo nella Parte 2, questi ipervettori che rappresentano le caratteristiche (γ+δ) possono essere costruiti interamente dai dati, quindi HDC può effettivamente imparare dai dati e dall’esperienza.

Infine, l’HDC coinvolge un numero significativamente inferiore di operazioni (soprattutto operazioni non lineari) rispetto alle ANNs e quindi tende a consumare significativamente meno energia, calcolo e memoria [9,10,20], con una perdita di precisione abbastanza accettabile a meno che l’applicazione non sia estremamente critica in termini di prestazioni (come veicoli a guida autonoma o chirurgia robotica).

Foto di James Coleman su Unsplash

Ecco, il titolo…

Nel corso degli anni, la comunità dell’apprendimento automatico ha, con buone ragioni, sviluppato un arsenale di strumenti per affrontare la riduzione della dimensionalità. Tecniche come l’Analisi delle Componenti Principali, l’Analisi dei Fattori e l’Analisi delle Componenti Indipendenti vengono regolarmente utilizzate per spostare i dati da varietà ad alta dimensionalità a dimensioni inferiori per garantire una maggiore precisione dei test con i dati disponibili [21].

In HDC, tuttavia, la filosofia sembra muoversi esattamente nella direzione opposta! Prendiamo i punti dati da spazi di dimensioni inferiori e li mappiamo su varietà estremamente ad alta dimensione. Ma, come abbiamo visto prima (e vedremo più chiaramente nella Parte II), questa mossa offre due vantaggi molto importanti, trasformando l’alta dimensionalità in una vera e propria benedizione.

Un’alternativa fattibile?

HDC è stato testato su una vasta varietà di set di dati per l’apprendimento automatico (ML) come classificazione delle immagini, riconoscimento vocale, rilevamento delle attività umane, ecc. ed è stato dimostrato che svolge una performance competitiva rispetto alle reti neurali e agli algoritmi standard di ML, come le macchine a vettori di supporto [9,10,14,20 e riferimenti in questo].

Tuttavia, sebbene HDC combini sicuramente molti vantaggi dell’IA simbolica e connectionista, la maggior parte delle migliorie in termini di potenza e calcolo sono state dimostrate su set di dati relativamente² più piccoli e su compiti più semplici. Infatti, è piuttosto improbabile che HDC rimpiazzerà mai architetture connectioniste pesanti come i trasformatori a causa della semplicità intrinseca delle sue operazioni e dell’architettura interna.

Tuttavia, questo paradigma rappresenta una nuova direzione promettente con ampio spazio per l’esplorazione. Le alternative a basso consumo alle reti neurali artificiali hanno diverse aree di applicazione, come le reti di sensori wireless che sono alcune delle più importanti.

Prossimamente…

Questo articolo è stato pensato per suscitare la curiosità del lettore su una tecnica piuttosto particolare che sta godendo di una rinascita dal tardo 2010. Nella prossima parte, vedremo la procedura HDC precisa che viene adottata per effettuare effettivamente la classificazione.

Una breve nota sullo stile di scrittura

Al fine di migliorare la leggibilità, ho scelto deliberatamente uno stile di scrittura semi-formale, includendo riferimenti solo quando assolutamente necessario ed evitando il mio solito stile formale di scrittura dei paper di ricerca. Questo è lo stile che utilizzerò anche per le altre parti di questo articolo. Gli accademici potrebbero trovarlo un po’ inquietante, ma si noti che l’intento non è quello di creare un articolo di ricerca.

Riferimenti

  1. McCarthy, John, et al. “Una proposta per il progetto di ricerca estiva di Dartmouth sull’intelligenza artificiale, 31 agosto 1955.” AI magazine 27.4 (2006): 12-12.
  2. Grace Solomonoff, “L’incontro di menti che ha lanciato l’IA”, IEEE Spectrum, 6 maggio 2023.
  3. Edwin D. Reilly, “Pietre miliari nell’informatica e tecnologia dell’informazione”, 2003, Greenwood Publishing Group. pp. 156-157.
  4. Rumelhart, David E., Geoffrey E. Hinton e Ronald J. Williams. “Apprendimento delle rappresentazioni attraverso la retropropagazione degli errori.” nature 323.6088 (1986): 533-536.
  5. SRI International Blogpost, “75 anni di innovazione: Shaky the Robot,” Link: https://www.sri.com/press/story/75-years-of-innovation-shakey-the-robot/ 3 aprile 2020.
  6. Minsky, Marvin L. e Seymour A. Papert. “Perceptrons.” (1969).
  7. Kanerva, Pentti. “Calcolo iperdimensionale: un’introduzione al calcolo con rappresentazioni distribuite mediante vettori casuali ad alta dimensione.” Cognitive computation 1 (2009): 139-159.
  8. Greff, Klaus, Sjoerd Van Steenkiste e Jürgen Schmidhuber. “Sul problema del legame nelle reti neurali artificiali.” arXiv preprint arXiv:2012.05208 (2020).
  9. Kleyko, Denis et al. “Un’indagine sul calcolo iperdimensionale, alias architetture simboliche a vettore, parte I: modelli e trasformazioni dei dati.” ACM Computing Surveys 55.6 (2023)
  10. Kleyko, Denis et al. “Un’indagine sul calcolo iperdimensionale, alias architetture simboliche a vettore, parte II: applicazioni, modelli cognitivi e sfide.” ACM Computing Surveys 55.9 (2023)
  11. Chen, Hanning et al. “DARL: acceleratore riconfigurabile distribuito per l’apprendimento per rinforzo iperdimensionale.” Atti della 41a Conferenza internazionale IEEE/ACM sul computer-aided design. 2022.
  12. Ma, Dongning e Xun Jiao. “Calcolo iperdimensionale vs. reti neurali: confronto tra architettura e processo di apprendimento.” arXiv preprint arXiv:2207.12932 (2022).
  13. Hernández-Cano, Alejandro et al. “Reghd: sistema di apprendimento iperdimensionale robusto ed efficiente per la regressione.” Conferenza sull’automazione del progetto n. 58 ACM/IEEE (DAC). IEEE, 2021.
  14. Hernández-Cano, Alejandro et al. “Onlinehd: apprendimento online robusto, efficiente e a singolo passaggio utilizzando un sistema iperdimensionale.” Conferenza e esposizione Europa 2021 sul design, l’automazione e il test (DATE). IEEE, 2021.
  15. Wikipedia contributors. “ImageNet.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 6 novembre 2023. Web. 26 novembre 2023.
  16. Widrow, Bernard e Michael A. Lehr. “30 anni di reti neurali adattive: perceptron, madaline e retropropagazione.” Proceedings of the IEEE 78.9 (1990): 1415-1442.
  17. Krizhevsky, Alex, Ilya Sutskever e Geoffrey E. Hinton. “Classificazione di ImageNet con reti neurali convoluzionali profonde.” Advances in neural information processing systems 25 (2012).
  18. Zhang, Yu et al. “Una survey sull’interpretabilità delle reti neurali.” IEEE Transactions on Emerging Topics in Computational Intelligence 5.5 (2021): 726-742.
  19. Ananthaswamy, Anil. “Un nuovo approccio al calcolo immagina l’intelligenza artificiale,” Quanta Magazine, aprile 2023.
  20. Imani, Mohsen et al. “Rivisitazione dell’apprendimento iperdimensionale per FPGA e architetture a basso consumo energetico.” Conferenza internazionale IEEE sull’architettura informatica ad alte prestazioni (HPCA) 2021. IEEE, 2021.
  21. Shalev-Shwartz, Shai e Shai Ben-David. Comprendere l’apprendimento automatico: dalla teoria agli algoritmi. Cambridge University Press, 2014.

Note a piè di pagina

  1. Ho usato la parola “risolto” in senso molto relativo qui. Si riferisce semplicemente al notevole aumento dell’accuratezza di classificazione di AlexNet rispetto ai tentativi precedenti.
  2. Relativo alla massima capacità che le reti neurali artificiali possono gestire oggi.