Reti neurali

Le reti neurali sono modelli teorici che vogliono spiegare il comportamento degli organismi direttamente in termini del loro sistema nervoso. Tradizionalmente i modelli e le teorie della scienza sono esprèssi o nel linguaggio naturale o mediante i simboli e le formule della matematica. Le reti neurali sono invece modelli simulativi, cioè modelli espressi sotto forma di programma di computer. Quando il programma «gira» nel computer, i risultati che si ottengono sono le predizioni empiriche derivate dal modello che è incorporato nel programma. Questi risultati vengono confrontati con i dati empirici e con i fenomeni reali e, se c'è corrispondenza, il modello risulta confermato, mentre se non c'è corrispondenza, il modello va modificato o abbandonato. Le reti neurali sono il principale strumento di lavoro di quel nuovo tipo di scienza cognitiva che viene definito «neurale» e che ha l'obiettivo di integrare pienamente lo studio del comportamento nelle neuroscienze e nelle scienze biologiche in genere, abbandonando il tradizionale vocabolario mentalistico della psicologia e interpretando e spiegando il comportamento e le capacità cognitive degli organismi facendo direttamente riferimento al loro sistema nervoso. Una rete neurale è un insieme di unità (neuroni) collegate tra di loro da connessioni unidirezionali (sinapsi tra neuroni). Ogni unità ha un livello o stato di attivazione (ritmo di sparo di impulsi nervosi da parte di un neurone) che può cambiare da momento a momento. Una rete neurale ha tre principali tipi di unità: le unità di input (ad es. recettori sensoriali), le unità interne (interneuroni), e le unità di output (ad es. neuroni motori). Le unità di input sono collegate con quelle interne e le unità interne sono collegate con le unità di output. Mentre il livello di attivazione delle unità di input è determinato da eventi fisici e chimici all'esterno rispetto alla rete neurale (dentro e fuori il corpo dell'organismo), il livello di attivazione delle unità interne e di quelle di output è determinato dalle eccitazioni (sinapsi eccitatone) e inibizioni (sinapsi inibitorie) che giungono a ciascuna unità attraverso le connessioni provenienti dalle altre unità. L'insieme dei livelli di attivazione delle unità di output produce un qualche cambiamento all'esterno della rete (movimento di parti del corpo dell'organismo, produzione di molecole che cambiano lo stato interno del corpo). Le reti neurali funzionano in cicli temporali discreti. In ogni ciclo alla rete arriva un input dall'esterno, l'attivazione si propaga dalle unità di input alle unità interne e dalle unità interne alle unità di output, e il livello di attivazione delle unità di output rappresenta il modo in cui la rete risponde all'input, e quindi il comportamento dell'organismo. Dopodiché si passa al ciclo successivo. Ciò che determina il comportamento dell'organismo è la propagazione dell'attivazione all'interno della rete neurale. Le connessioni della rete hanno ciascuna un suo peso quantitativo (numero e importanza dei siti sinaptici tra due neuroni) che può cambiare come conseguenza dell'attività della rete. Modificandosi i pesi delle connessioni, si modifica anche il comportamento dell'organismo (apprendimento). Per una rete neurale possedere una certa capacità significa rispondere agli input con gli output appropriati. Una rete neurale risponde a un certo input con un dato output in quanto ha determinati pesi sulle sue connessioni. Pertanto il possesso di una determinata capacità da parte di una rete neurale significa l'esistenza di un appropriato insieme di pesi sulle connessioni della rete. I pesi delle connessioni, tuttavia, non vengono decisi dal ricercatore (anche perché questo, per reti anche minimamente complesse, sarebbe impossibile), ma sono le reti neurali stesse che acquisiscono o apprendono i loro pesi. Una simulazione inizia assegnando alla rete neurale dei pesi sinaptici generati a caso e quindi all'inizio della simulazione la rete non possiede nessuna capacità. La rete apprende in quanto, esposta a una serie di input e rispondendo a ciascun input con un certo output, essa modifica progressivamente i propri pesi sinaptici fino ad arrivare ad avere i pesi giusti, cioè quelli che le permettono di rispondere ai vari input nel modo desiderato. A questo punto la rete neurale ha acquisito una capacità che all'inizio della simulazione non aveva. Esistono diverse tecniche di apprendimento nelle reti neurali. Alcune di queste tecniche sono supervisionate, altre no. Le prime consistono nel fornire alla rete un input di insegnamento, cioè un'informazione che o si limita a valutare complessivamente l'output della rete in risposta a ciascun input (apprendimento per rinforzo o per premi e punizioni) o dice alla rete, per ogni input a cui la rete è esposta, qual è l'output appropriato e la rete calcola il suo errore, cioè quanto il suo output diverge da quello desiderato (apprendimento per retropropagazione dell'errore). In entrambi i casi la rete utilizza l'input di insegnamento per modificare i pesi delle sue connessioni in modo tale che gradualmente i pesi assumo-
no i valori appropriati, cioè quelli che consentono alla rete di rispondere agli input nel modo desiderato.
Le tecniche di apprendimento non supervi-sionato, invece, non prevedono nessuna informazione che dall'esterno viene fornita alla rete al di là dei normali input; l'apprendimento si realizza piuttosto come progressiva autoorganizzazione della rete. Una regola di apprendimento che produce tale autoorganizzazione è la regola di Hebb, in base alla quale i pesi delle connessioni che collegano nodi che tendono ad avere livelli di attivazione correlati (o entrambi elevati o entrambi bassi) vengono aumentati nel loro valore, mentre i pesi delle connessioni che collegano nodi con livelli di attivazione non correlati (uno elevato e uno basso) vengono diminuiti.
Tutte queste tecniche di apprendimento si ispirano al modo in cui l'apprendimento avviene nell'individuo nel corso della sua vita. Un'altra tecnica (algoritmo genetico), anch'essa usata per trovare i pesi appropriati per lo svolgimento di compiti da parte delle reti neurali, si ispira invece ai processi di evoluzione che avvengono in una popolazione di organismi in una successione di generazioni. La simulazione parte da un insieme di reti neurali con pesi assegnati a caso, e quindi una diversa dall'altra, e valuta le prestazioni di ciascuna rete in un determinato compito. Queste reti iniziali, visto che hanno pesi sinaptici casuali, non hanno buone prestazioni ma può accadere che, per ragioni del tutto casuali, una rete abbia una prestazione leggermente migliore di un'altra. Le reti che hanno prestazioni migliori si riproducono, nel senso che generano una o più nuove reti che hanno i loro stessi pesi sinaptici, mentre quelle con prestazioni meno buone o generano un numero inferiore di nuove reti, o non ne generano nessuna. I pesi delle reti «figlie» vengono leggermente modificati in modo casuale, e queste «mutazioni genetiche» risultano per lo più in reti «figlie» che sono peggiori della propria rete «madre» (mutazioni negative), ma in qualche caso possono dar luogo a reti «figlie» che hanno prestazioni migliori delle reti «madri» che le hanno generate (mutazioni positive). La riproduzione può essere non sessuale, e in questo caso una singola rete «madre» genera una o più reti «figlie», ovvero sessuale, e in questo caso due reti, una rete «madre» e una rete «padre», trasmettono ciascuna una copia di una parte dei propri pesi alle reti «figlie», e queste parti si ricombinano diversamente nei pesi delle diverse reti «figlie». L'azione congiunta di questi diversi fattori - la riproduzione selettiva delle reti migliori, le mutazioni genetiche casuali, la ricombinazione sessuale - dà come risultato il fatto che dopo un certo numero di generazioni le reti neurali finiscono per avere pesi sinaptici appropriati allo svolgimento del compito.
Le reti neurali vengono usate innanzitutto per studiare come semplici reti formate da poche unità e con semplici pattern di connessioni (unità di input collegate direttamente alle unità di output o attraverso uno strato intermedio di unità interne) possono acquisire capacità e comportamenti elementari ma fondamentali, come la capacità di associare uno stimolo a una risposta, di categorizzare, di generalizzare, di prevedere, di ricordare, e di selezionare il comportamento in funzione dello stato motivazionale dell'organismo.
Nei compiti di associazione di uno stimolo a una risposta, la rete viene esposta a una serie di input e impara a produrre, per ogni input, l'output appropriato. La capacità della rete di scoprire le eventuali regolarità presenti negli input può essere accertata scoprendo che la rete impara in modo progressivamente più rapido i successivi input o che risponde in modo corretto anche a input a cui non è mai stata esposta in precedenza. In questo caso si dice che la rete è in grado di generalizzare.
Nei compiti di categorizzazione, la rete deve rispondere in uno stesso modo, cioè con uno stesso output, a input diversi, collocando ciascun input nella categoria appropriata (output appropriato). Anche in questo caso la capacità della rete di generalizzare si accerta scoprendo che la rete è in grado di rispondere in modo corretto a input mai incontrati in precedenza, categorizzandoli correttamente.
Nei compiti di previsione, l'output della rete in risposta a un dato input codifica quello che sarà l'input della rete nel ciclo successivo. Pertanto la rete è in grado di prevedere quale sarà l'input successivo. Se la successione temporale degli input contiene una qualche regolarità e non è del tutto casuale, le reti, neurali si dimostrano in grado di cogliere queste regolarità, in quanto apprendono a rispondere a ciascun input che fa parte di una successione pili o meno regolare di input prevedendo, con una determinata probabilità, quale sarà l'input successivo.
Gli organismi non sono soltanto in grado di prevedere quale sarà l'input successivo di una sequenza più o meno regolare di input che sono indipendenti dalle azioni dell'organismo (un esempio sono le previsioni meteorologiche), ma sono anche in grado di prevedere quale sarà l'input successivo quando l'input successivo non dipende soltanto dall'input attuale ma anche dal modo in cui l'organismo risponde ad esso. Così, quando avviciniamo ai nostri occhi un oggetto che teniamo in mano, prevediamo che la grandezza apparente dell'oggetto andrà aumentando anziché diminuire. La grandezza apparente dell'oggetto varia nel tempo non solo in base alla sua grandezza apparente attuale, ma anche in base al movimento del nostro braccio. Anche questo secondo tipo di capacità di previsione può essere appresa dalle reti neurali. Le unità di input della rete neurale codificano un qualche input che arriva attualmente dall'ambiente esterno, ad esempio la grandezza apparente dell'oggetto visto, e la rete neurale risponde a questo input con un movimento del braccio che avvicina l'oggetto agli occhi e che è codificato nelle unità di output della rete. Prima di eseguire fisicamente il movimento del braccio, tuttavia, l'input visivo proveniente dall'oggetto, e il movimento pianificato ma non ancora eseguito del braccio che è codificato nelle unità di output della rete, inviano eccitazioni e inibizioni a un insieme di unità interne della rete che codificano quale sarà l'input visivo proveniente dall'oggetto dopo che il movimento pianificato sarà stato effettivamente eseguito. L'insieme dei livelli di attivazione di queste unità interne rappresenta una previsione di input futuri e le reti neurali sono in grado anche di imparare a fare previsioni di questo tipo.
Mentre la capacità di prevedere gli input futuri estende la prospettiva temporale del comportamento nella direzione del futuro, la capacità di tenere in memoria input precedenti estende la prospettiva della rete neurale in direzione del passato. Quella che in psicologia viene chiamata la memoria a lungo termine, permanente e che contiene moltissime informazioni, nelle reti neurali è rappresentata dalle modificazioni che vengono apportate ai pesi sinaptici della rete neurale. Queste modificazioni sono tracce permanenti di quello che è accaduto in passato alla rete neurale e influenzano il modo in cui la rete neurale risponde, adesso, agli input che le arrivano dall'esterno. Invece la memoria a breve termine, di breve durata e che contiene un numero limitato di informazioni, può essere modellata nelle reti neurali facendo in modo che il livello di attivazione di particolari unità della rete sia influenzato non solo dagli input che giungono in questo momento alla rete dall'esterno, ma anche dal livello di attivazione di tali unità nel ciclo precedente. Ad esempio, una rete neurale che deve rispondere in modo diverso a uno stesso input in funzione di quello che è avvenuto in un momento precedente, può essere in grado di fare questo se i livelli di attivazione delle unità interne della rete in risposta all'input precedente vengono conservati (ad esempio copiandoli in uno speciale insieme di unità di memoria) e, quando la rete deve rispondere all'input attuale, la sua risposta viene determinata non solo dall'input attuale ma anche da questa traccia conservata dell'input precedente. Una rete neurale può rispondere in modi diversi a uno stesso input non soltanto in funzione di quello che è accaduto in un momento precedente, ma anche in funzione del particolare stato motivazionale dell'organismo. Gli stati motivazionali dell'organismo hanno una capacità di attenzione selettiva che consente all'organismo di scegliere a quale input rispondere tra più input simultaneamente presenti, ignorando gli altri. Un esempio: un organismo che ha bisogno sia di mangiare che di bere per sopravvivere, e che riceve dall'ambiente esterno due input simultaneamente, cioè sia un'informazione su dove è situato il cibo, sia un'informazione su dove è situata l'acqua, deve decidere se rispondere andando verso il cibo o andando verso l'acqua. La soluzione del problema è costituita dallo stato motivazionale dell'organismo, cioè dalla fame e dalla sete. La fame e la sete possono essere simulate come stimoli che il corpo invia alla rete neurale e che informano la rete neurale sul livello dell'energia e dei liquidi, rispettivamente, all'interno del corpo. La rete neurale risponde a questa informazione proveniente dall'interno del corpo reagendo all'input esterno che le dice dove è il cibo (cioè avvicinandosi al cibo) nel caso che il livello energetico sia basso e quello dei liquidi alto, ignorando l'input che le dice dov'è l'acqua, e reagisce nel modo opposto nel caso che il livello energetico sia alto e quello dei liquidi basso.
Le reti neurali possono essere anche usate per simulare comportamenti più complessi e abilità cognitive di tipo superiore. Le reti che hanno un pattern semplice di connessioni, con unità di input, unità di output e, eventualmente, uno strato intermedio di unità interne, possono servire a simulare semplici comportamenti puramente reattivi, in cui sono gli stimoli provenienti da fuori della rete neurale a controllare in modo praticamente esclusivo le reazioni dell'organismo. Ma negli organismi dotati di sistemi nervosi più complessi anche i comportamenti sono più complessi e non sono soltanto comportamenti reattivi. Una rete neurale può essere dotata di circuiti interni formati da connessioni che tornano indietro dall'output verso l'input. Mediante questi circuiti, la rete risponde agli input provenienti dall'esterno non con movimenti verso l'esterno, ma producendo input autogenerati dalla rete stessa, e risponde agli input autogenerati piuttosto che agli input provenienti dall'ambiente esterno. Gli organismi che hanno reti neutrali di questo tipo, e in particolare gli esseri umani, non hanno soltanto comportamenti ma hanno anche una vita mentale: immagini mentali, ricordi, ragionamenti, previsioni, piani di azione.
Un esempio di uso di questi circuiti ricorrenti all'interno della rete neurale riguarda la capacità di fare previsioni già descritta. Una rete neurale che abbia appreso a prevedere le conseguenze di una sua azione pianificata ma non ancora eseguita, può utilizzare tale capacità di previsione per valutare in anticipo le conseguenze della sua azione, decidendo di mettere in atto l'azione pianificata se la valutazione risulta positiva e di rinunciare a metterla in atto se la valutazione risulta negativa. In questo modo le reti neurali possono essere impiegate per studiare capacità di tipo superiore, come la capacità di prendere decisioni.

DOMENICO PARISI