L’intelligenza artificiale spiega come impara il cervello
Articolo del 19 Marzo 2021
Questa disciplina è nata dall’idea di riprodurre in un sistema artificiale i meccanismi cerebrali, ma i suoi più recenti successi derivano da un algoritmo di apprendimento che non può funzionare nelle reti neuronali biologiche. Nuovi studi hanno migliorato quell’algoritmo in un modo che potrebbe essere compatibile con il nostro cervello e spiegarne l’eccezionale efficienza.
Nel 2007, alcuni dei principali teorici delle reti neurali profonde organizzarono un incontro “satellite” non ufficiale a margine di un prestigioso convegno annuale sull’intelligenza artificiale (IA). Il convegno aveva rifiutato la loro richiesta di uno spazio nel programma ufficiale; mancavano ancora diversi anni prima che le reti neurali profonde conquistassero il posto d’onore nel mondo dell’IA.
L’ultimo oratore di quell’incontro clandestino fu Geoffrey Hinton dell’Università di Toronto, l’informatico e psicologo clinico responsabile di alcune delle più importanti scoperte sulle reti profonde. Iniziò l’intervento con una battuta: “Circa un anno fa sono tornato a casa per cena e ho detto: ‘Credo di aver finalmente capito come funziona il cervello’, e mia figlia di 15 anni ha commentato: Oh no, papà, di nuovo!”. Il pubblico scoppiò a ridere. Hinton continuò: “Ora vi spiego come funziona”. Altre risate.
La battuta di Hinton nascondeva in realtà una ricerca con un obiettivo molto serio: usare l’intelligenza artificiale per capire il cervello biologico. Oggi le reti profonde sono predominanti nell’IA anche grazie a un algoritmo chiamato retropropagazione dell’errore (backpropagation) che permette alle reti profonde di apprendere dai dati, dotandole così della capacità di classificare immagini, riconoscere il linguaggio parlato, tradurre lingue diverse, interpretare le condizioni della strada per le automobili a guida autonoma e portare a termine tantissimi altri compiti.
Però è molto improbabile che i cervelli biologici si basino sullo stesso algoritmo. Non si tratta solo del fatto che “il cervello è capace di generalizzare e imparare meglio e più velocemente dei sistemi di IA di ultimissima generazione”, afferma Yoshua Bengio, informatico dell’Università di Montreal, direttore scientifico del Quebec Artificial Intelligence Institute e tra gli organizzatori del laboratorio del 2007. Per una serie di ragioni, la retropropagazione non è compatibile con l’anatomia e la fisiologia del cervello, in particolare nella corteccia cerebrale.
Bengio e molti altri ricercatori che si sono lasciati ispirare da Hinton ragionano da tempo su quali meccanismi di apprendimento biologicamente plausibili possano riuscire per lo meno a eguagliare il successo della retropropagazione. In particolare ce ne sono tre (feedback alignment, propagazione dell’equilibrio e codifica predittiva) che sembrano promettenti. Inoltre, alcuni ricercatori includono nei loro modelli anche le proprietà di alcuni tipi di neuroni e processi corticali come l’attenzione. Tutti questi sforzi ci permettono di avvicinarci sempre di più alla comprensione degli algoritmi che potrebbero essere all’opera nel cervello.
“Il cervello è un grande mistero. C’è l’idea generale che se riuscissimo a svelarne alcuni principi sarebbe utile per l’IA”, afferma Bengio. “Ma ha un grande valore anche di per sé.”
Imparare con la retropropagazione
Per decenni, le teorie dei neuroscienziati sul modo in cui impara il cervello sono state guidate principalmente da una regola enunciata nel 1949 dallo psicologo canadese Donald Hebb, spesso parafrasata nell’espressione inglese “Neurons that fire together, wire together” (i neuroni che si attivano insieme creano connessioni insieme). In altre parole, più l’attività dei neuroni adiacenti è correlata, più saranno forti le connessioni sinaptiche tra di essi. Questo principio, con alcune modifiche, riusciva a spiegare alcuni tipi limitati di apprendimento e di compiti di classificazione visiva.
Però funzionava assai meno bene nel caso di grandi reti di neuroni che dovessero imparare dagli errori, perché i neuroni localizzati in posizioni più profonde nella rete non avevano la possibilità di venire direttamente a conoscenza degli errori scoperti, per potersi così aggiornare e fare meno errori. “La regola di Hebb è un modo molto limitato, particolare e poco sensibile per usare le informazioni sugli errori”, afferma Daniel Yamins, esperto di informatica e neuroscienze computazionali alla Stanford University.
Comunque si trattava della regola di apprendimento migliore che le neuroscienze avessero a disposizione e, già prima di arrivare a dominare il settore, aveva ispirato lo sviluppo delle prime reti neurali artificiali alla fine degli anni cinquanta. In questo tipo di reti neurali, ogni neurone artificiale riceve diversi input e produce un output, come avviene per quelli biologici. Il neurone moltiplica ciascun input per un cosiddetto “peso sinaptico” (un numero che indica l’importanza assegnata a quell’input) e poi calcola la somma pesata degli input. Questa somma è l’output del neurone.
Negli anni sessanta era ormai diventato chiaro che era possibile organizzare i neuroni in una rete con uno strato di input e uno strato di output, e che era possibile addestrare la rete neurale artificiale a risolvere una certa classe di problemi semplici. Durante l’addestramento la rete arrivava a stabilire i pesi sinaptici migliori affinché i neuroni potessero eliminare o ridurre al minimo gli errori.
Tuttavia, già negli anni sessanta era evidente che per risolvere problemi più complessi erano necessari uno o più strati di neuroni “nascosti” in mezzo tra quello di input e quello di output. Nessuno sapeva come addestrare in modo efficace una rete neurale artificiale con strati nascosti, finché nel 1986 Hinton, il compianto David Rumelhart e Ronald Williams (che oggi è alla Northeastern University) pubblicarono l’algoritmo di retropropagazione,
Questo algoritmo funziona in due fasi. Nella fase “in avanti” la rete riceve un input e ne inferisce un output, che può essere errato. La seconda fase, quella “all’indietro”, aggiorna i pesi sinaptici, portando l’output più in linea con il valore desiderato.
Per comprendere questo processo, immaginiamo la “funzione obiettivo” che descrive la differenza tra l’output inferito e quello desiderato come un paesaggio composto da valli e colline. Quando una rete inferisce un output usando una certa serie di pesi sinaptici, arriva in una data posizione in quel paesaggio. Per apprendere, deve scendere lungo il pendio, o gradiente, verso una valle, dove il valore della funzione obiettivo è ridotto al minimo possibile. La retropropagazione è un metodo per aggiornare i pesi sinaptici in modo da scendere lungo quel gradiente.
In pratica la fase all’indietro dell’algoritmo calcola quanto contribuisce all’errore il peso sinaptico di ciascun neurone e poi aggiorna i pesi per migliorare la prestazione totale della rete. Questo calcolo procede in modo sequenziale all’indietro, dallo strato di output a quello di input, da cui il nome “retropropagazione”. Se si ripete questo processo più e più volte con serie di input e di output desiderati diversi, alla fine si arriva a una serie di pesi accettabili per tutta la rete neurale.
Impossibile per il cervello
L’invenzione della retropropagazione suscitò subito un grande clamore da parte di alcuni neuroscienziati, secondo i quali questo processo non avrebbe mai potuto funzionare nei cervelli biologici. L’oppositore più famoso fu Francis Crick, premio Nobel per aver scoperto la struttura del DNA e diventato in seguito un neuroscienziato. Nel 1989 Crick scrisse: “Per quanto riguarda il processo di apprendimento, è improbabile che il cervello usi davvero la retropropagazione”.
La retropropagazione è considerata biologicamente inverosimile per diversi motivi importanti. Il primo è che implementare l’algoritmo in due fasi, per quanto semplice per i computer, non lo è affatto per le reti neurali biologiche. Il secondo è quello che gli esperti di neuroscienze computazionali chiamano problema della trasmissione dei pesi sinaptici: l’algoritmo di retropropagazione copia o “trasmette” informazioni su tutti i pesi sinaptici coinvolti nell’inferenza e li aggiorna per ottenere una maggiore accuratezza; in una rete biologica, invece, i neuroni vedono solo gli output degli altri neuroni, non i pesi sinaptici o i processi interni che danno forma a quegli output. Dal punto di vista di un neurone “va bene conoscere il proprio peso sinaptico – spiega Yamins – ma non va bene conoscere l’insieme dei pesi sinaptici di altri neuroni”.
Per essere plausibile dal punto di vista biologico, qualsiasi regola di apprendimento deve rispettare anche la limitazione dovuta al fatto che i neuroni hanno accesso solo a informazioni provenienti dai neuroni adiacenti, mentre la retropropagazione può richiedere anche informazioni da neuroni più lontani. Perciò “se la prendiamo alla lettera, la retropropagazione sembra una cosa impossibile per il cervello”, afferma Bengio.
Tuttavia, Hinton e altri scienziati iniziarono subito ad affrontare la sfida di trovare variazioni della retropropagazione che fossero biologicamente plausibili. “Il primo articolo a sostenere che il cervello faccia [qualcosa di simile alla] retropropagazione ha più o meno la stessa età dell’algoritmo di retropropagazione stesso”, afferma Konrad Kording, esperto di neuroscienze computazionali all’Università della Pennsylvania. Negli ultimi dieci anni circa, via via che i successi delle reti neurali artificiali le hanno portate a dominare il campo della ricerca sull’intelligenza artificiale, si sono intensificati i tentativi di trovare un equivalente biologico per la retropropagazione.
Restare più aderenti alla biologia
Prendiamo, per esempio, una delle soluzioni più strane proposte per il problema della trasmissione dei pesi sinaptici, concepita nel 2016 da Timothy Lillicrap di Google DeepMind a Londra e dai suoi colleghi. Invece di appoggiarsi a una matrice di pesi registrati durante la fase in avanti, il loro algoritmo usa una matrice generata con valori casuali appositamente per la fase all’indietro. Questi valori sono assegnati una volta e poi non cambiano più, quindi non è necessario trasmettere i pesi sinaptici a ogni passaggio all’indietro.
Con grande sorpresa di quasi tutti, questa rete è in grado di imparare. Dato che i pesi esistenti nella fase in avanti e usati per l’inferenza sono aggiornati a ogni passaggio all’indietro, la rete discende comunque lungo il gradiente della funzione obiettivo, anche se segue un percorso diverso. Poco a poco, i pesi sinaptici della fase in avanti si allineano con quelli scelti casualmente per la fase all’indietro, fino a produrre le risposte corrette. È da qui che deriva il nome dell’algoritmo: feedback alignment, cioè allineamento in base al feedback.
“La verità è che in pratica non funziona tanto male quanto ci si aspetterebbe”, commenta Yamins; perlomeno, questo è vero per i problemi semplici. Per problemi di larga scala e per reti profonde con un numero più alto di strati nascosti, il feedback alignment è meno efficace della retropropagazione: dato che in ogni passaggio l’aggiornamento dei pesi esistenti nella fase in avanti è meno accurato di quanto sarebbe con informazioni effettivamente retropropagate, ci vogliono molti più dati per addestrare la rete.
Gli esperti hanno anche cercato modi di raggiungere le prestazioni dell’algoritmo di retropropagazione senza rinunciare alla regola classica di Hebb secondo cui ciascun neurone risponde solo a quelli adiacenti. È possibile considerare la retropropagazione come composta da un gruppo di neuroni che si attivano nell’inferenza e un altro gruppo di neuroni che fanno i calcoli per aggiornare i pesi sinaptici. L’idea di Hinton era progettare algoritmi in cui ciascun neurone facesse entrambi i tipi di calcolo. “In pratica era di questo che parlava Geoff nella sua presentazione nel 2007”, racconta Bengio.
Riallacciandosi al lavoro di Hinton, nel 2017 il gruppo di ricerca di Bengio ha proposto una regola di apprendimento che richiede una rete neurale con connessioni ricorrenti (cioè: se il neurone A attiva il neurone B, allora il neurone B a sua volta attiva il neurone A). Quando si dà un input a una rete di questo tipo, inizia a riverberare in tutta la rete, con ogni neurone che risponde all’azione di quelli adiacenti.
Alla fine la rete raggiunge uno stato in cui i neuroni sono in equilibrio con l’input e con gli altri neuroni e allora produce un output, che può essere errato. A questo punto l’algoritmo spinge i neuroni di output verso il risultato desiderato; ciò invia un altro segnale che si propaga all’indietro attraverso la rete, facendo scattare dinamiche simili, finché la rete trova un nuovo equilibrio.
“La bellezza della matematica sta nel fatto che confrontando queste due configurazioni, prima e dopo la spinta, si hanno tutte le informazioni necessarie per trovare il gradiente”, afferma Bengio. Per addestrare la rete c’è bisogno solo di ripetere questo processo di “propagazione dell’equilibrio” in modo iterativo su grandi quantità di dati etichettati.
Prevedere le percezioni
La limitazione dovuta al fatto che i neuroni possono apprendere solo in reazione all’ambiente che li circonda direttamente trova espressione anche nelle nuove teorie sulla capacità di percezione del cervello. Beren Millidge, studente di dottorato all’Università di Edimburgo e ricercatore ospite all’Università del Sussex, e i suoi colleghi hanno iniziato a riconciliare questa nuova visione della percezione, detta codifica predittiva, con i requisiti della retropropagazione. “La codifica predittiva, se impostata in un certo modo, dà una regola di apprendimento biologicamente plausibile”, sostiene Millidge.
La codifica predittiva postula che il cervello faccia continuamente previsioni sulle cause degli input sensoriali. Questo processo implica una gerarchia degli strati di neuroni che partecipano all’elaborazione. Per produrre un certo output, ciascuno strato deve prevedere l’attività neurale dello strato sottostante. Se lo strato più in alto di tutti si aspetta di vedere un volto, prevede un’attività dello strato immediatamente inferiore che giustifichi questa percezione. Lo strato inferiore fa previsioni simili su quello che si può aspettare dallo strato al di sotto di esso, e così via. L’ultimo strato fa previsioni sull’input sensoriale vero e proprio, per esempio i fotoni che colpiscono la retina. In questo modo le previsioni scendono dagli strati superiori a quelli inferiori.
Però in ciascuno strato della gerarchia possono esserci errori, cioè differenze tra la previsione sull’input atteso e l’input effettivamente ricevuto. Lo strato più basso di tutti corregge i propri pesi sinaptici in base alle informazioni sensoriali ricevute, allo scopo di ridurre al minimo l’errore. Questa correzione crea un errore tra lo strato più basso, appena aggiornato, e quello immediatamente superiore, che a questo punto deve correggere i propri pesi sinaptici per ridurre al minimo il proprio errore di previsione. Questi segnali d’errore si propagano verso l’alto. Il segnale va avanti e indietro nella rete finché ciascuno strato ha ridotto al minimo il proprio errore di previsione.
Millidge ha dimostrato che, se correttamente impostate, le reti a codifica predittiva possono raggiungere praticamente gli stessi gradienti di apprendimento della retropropagazione. “È possibile avvicinarsi davvero tantissimo ai gradienti della retropropagazione”, afferma.
Tuttavia, per ciascun passaggio all’indietro fatto in una rete neurale profonda da un algoritmo di retropropagazione tradizionale, una rete a codifica predittiva deve ripetere il procedimento per diverse iterazioni. Se ciò sia biologicamente plausibile o meno dipende di preciso da quanto tempo impiegherebbe il processo in un cervello biologico. È fondamentale che la rete arrivi a una soluzione prima che cambi l’input in arrivo dal mondo esterno.
“Non è possibile che tu debba fare 100 iterazioni del procedimento avanti e indietro nel cervello mentre una tigre ti sta saltando addosso”, spiega Millidge. Però, aggiunge, qualora sia accettabile un certo livello di imprecisione, la codifica predittiva in genere riesce ad arrivare rapidamente a una risposta utile.
Neuroni piramidali
Alcuni scienziati si sono dedicati a costruire modelli simili alla retropropagazione e basati sulle proprietà note dei singoli neuroni.
Un neurone tipico è dotato di dendriti che raccolgono informazioni dagli assoni di altri neuroni e le trasmettono al corpo principale del neurone, dove questi segnali sono elaborati. Alla fine ne può derivare un potenziale d’azione che esce lungo l’assone del neurone per raggiungere i dendriti dei neuroni post-sinaptici.
Però non tutti i neuroni hanno proprio questa struttura. In particolare, i neuroni piramidali (che sono i più comuni nella corteccia cerebrale) sono nettamente diversi: hanno una struttura ad albero con due diversi gruppi di dendriti. In alto il tronco si dirama in quelli che vengono chiamate dendriti apicali, mentre in basso la radice si divide nei dendriti basali.
Modelli sviluppati indipendentemente, da Kording nel 2001 e più di recente da Blake Richards della McGill University e del Quebec Artificial Intelligence Institute e colleghi, hanno dimostrato che i neuroni piramidali possono costituire le unità di base di una rete di apprendimento profondo eseguendo contemporaneamente i calcoli della fase in avanti e di quella all’indietro. La chiave è la separazione dei segnali che entrano nel neurone per l’inferenza in avanti e per la comunicazione degli errori all’indietro, due segnali che nel modello erano elaborati rispettivamente dai dendriti basali e apicali. Si può codificare l’informazione di entrambi i segnali nei picchi di attività elettrica che il neurone trasmette lungo l’assone come output.
Nell’ultimo lavoro del suo gruppo di ricerca, spiega Richards, “siamo arrivati al punto in cui possiamo dimostrare che, usando simulazioni abbastanza realistiche dei neuroni, è possibile addestrare reti di neuroni piramidali a eseguire vari compiti. E poi, usando versioni leggermente più astratte di questi modelli, è possibile fare in modo che le reti di neuroni piramidali apprendano il tipo di compiti difficili che si fanno con l’apprendimento automatico”.
Il ruolo dell’attenzione
Un requisito implicito per una rete neurale profonda che usi la retropropagazione è la presenza di un “insegnante”: qualcosa che sia in grado di calcolare l’errore fatto da una rete di neuroni. Invece, “nel cervello non c’è un insegnante che dica a ciascun neurone della corteccia motoria: Tu avresti dovuto accenderti, tu avresti dovuto spegnerti”, afferma Pieter Roelfsema del Netherlands Institute for Neuroscience di Amsterdam.
Roelfsema ritiene che per risolvere questo problema il cervello usi il processo dell’attenzione. Alla fine degli anni novanta, assieme ad alcuni colleghi, il ricercatore ha dimostrato che quando una scimmia punta lo sguardo su un oggetto, i neuroni che rappresentano quell’oggetto nella corteccia diventano più attivi. L’atto con cui la scimmia concentra l’attenzione su quell’oggetto produce un segnale di feedback per i neuroni responsabili. “È un segnale di feedback altamente selettivo”, sostiene Roelfsema. “Non è un segnale d’errore. Semplicemente sta dicendo a tutti quei neuroni: sarete responsabili di un’azione.”
L’idea di Roelfsema è che questo segnale di feedback possa permettere un apprendimento simile a quello della retropropagazione se viene abbinato ad altri processi rivelati da altre scoperte neuroscientifiche. Per esempio, Wolfram Schultz dell’Università di Cambridge e altri hanno dimostrato che quando un animale effettua un’azione che dà risultati migliori di quelli attesi, nel cervello si attiva il sistema della dopamina. “Inonda tutto il cervello di neuromodulatori”, commenta Roelfsema. I livelli di dopamina sono una sorta di segnale di rinforzo globale.
In teoria, il segnale di feedback dell’attenzione dovrebbe solo preparare i neuroni responsabili di un’azione a rispondere al segnale di rinforzo globale, aggiornandone i pesi sinaptici, afferma Roelfsema. Con i suoi colleghi, il ricercatore ha usato questa idea per costruire una rete neurale profonda e studiarne le proprietà matematiche. “È venuto fuori che può esserci retropropagazione dell’errore. In pratica è la stessa equazione”, racconta. “Però questa volta è plausibile dal punto di vista biologico.”
A dicembre il gruppo di ricerca ha presentato questo lavoro alla conferenza on-line Neural Information Processing Systems. “Siamo in grado di addestrare reti neurali profonde”, afferma Roelfsema. “È più lento della retropropagazione solo di un fattore che va da due a tre.” Di conseguenza, continua, “supera tutti gli altri algoritmi che sono stati proposti come biologicamente plausibili”.
Tuttavia, le prove empiriche concrete che i cervelli biologici usino questi meccanismi plausibili rimangono inafferrabili. “Credo che ci sia ancora qualcosa che non sappiamo”, afferma Bengio. “Per la mia esperienza, può essere qualcosa di piccolo, magari qualche piccolo cambiamento in uno dei metodi esistenti, che farà davvero la differenza.”
Intanto Yamins e i suoi colleghi a Stanford hanno suggerimenti su come determinare se una delle regole di apprendimento proposte è quella giusta, e se sì, quale. Analizzando 1056 reti neurali artificiali che implementano modelli di apprendimento diversi, hanno scoperto che si può identificare il tipo di regola di apprendimento che governa una rete a partire dall’attività nel tempo di un sottoinsieme di neuroni. Forse sarebbe possibile registrare queste informazioni nei cervelli delle scimmie. “È risultato che avendo il giusto insieme di caratteristiche osservabili forse è possibile ottenere uno schema abbastanza semplice che permetterebbe di identificare le regole di apprendimento”, spiega Yamins.
Con questi progressi, gli esperti di neuroscienze computazionali nutrono un certo ottimismo. “Esistono molti modi diversi in cui il cervello potrebbe mettere in atto la retropropagazione”, sostiene Kording. “E l’evoluzione è decisamente straordinaria. La retropropagazione è utile, quindi presumo che l’evoluzione ci porti lì, in qualche modo.”
Fonte: Le Scienze