Rete neurale

Enciclopedia della Matematica (2013)

rete neurale


rete neurale modello matematico e informatico per l’elaborazione delle informazioni, denominato anche rete neurale artificiale, ispirato alla fisiologia e al funzionamento del cervello umano e del sistema nervoso in genere. La struttura di una rete neurale è formata da semplici unità di processo (neuroni artificiali) comunicanti tra loro mediante connessioni che simulano le caratteristiche dei collegamenti sinaptici esistenti tra i neuroni del cervello. I sistemi dì reti neurali sono spesso indicati anche come modelli connessionisti o modelli di elaborazione parallela distribuita (Parallel Distributed Processing, pdp), ossia modelli nei quali le celle di elaborazione lavorano in parallelo e contemporaneamente, a differenza dei sistemi, tipici dei calcolatori tradizionali di tipo seriale, in cui ciascun dato viene elaborato singolarmente e in successione. Questa elaborazione simula quanto avviene all’interno del cervello umano, dove è difficile individuare dei meccanismi funzionalmente equivalenti a quelli di una macchina formale automatica a stati discreti e sequenziali, in quanto in esso si verifica contemporaneamente un numero enorme di processi caratterizzati da variazioni di stato continue. Nelle reti neurali la conoscenza necessaria a svolgere un dato compito non è rappresentata da simboli elaborati in base a regole precostituite, ma è diffusa tra tutti i nodi della rete. La conoscenza e le capacità elaborative di una rete neurale sono quindi di tipo subsimbolico. Lo studio delle reti neurali ha avuto grande impulso soprattutto dalla fine degli anni Settanta del secolo scorso, con la nascita di un nuovo paradigma dell’intelligenza artificiale denominato connessionismo. Esso si pone in netta contrapposizione con la teoria computazionale dell’intelligenza artificiale classica, secondo la quale le facoltà cognitive di un agente intelligente sono totalmente indipendenti dal mezzo materiale con cui esso viene realizzato e derivano dalla manipolazione di simboli, come avviene in una macchina formale automatica a stati discreti e sequenziali (per esempio la macchina di Turing o l’elaboratore elettronico digitale). Il connessionismo sostiene invece la necessità di emulare le proprietà funzionali e fisiologiche del cervello e delle sue cellule per comprendere e riprodurre artificialmente l’intelligenza e le facoltà cognitive di un essere umano. Sulla base di questa impostazione, sono state realizzate numerose applicazioni delle reti neurali, che vanno dalla simulazione dei comportamenti elementari nel campo della robotica allo studio dei processi percettivi, come per esempio nel riconoscimento ottico dei caratteri ( pattern recognition), all’analisi di fenomeni con componenti casuali e statistiche come le previsioni del tempo. Nonostante i significativi risultati, il paradigma connessionista e delle reti neurali non ha ancora consentito di riprodurre facoltà cognitive superiori, come la competenza linguistica o il ragionamento deduttivo, per le quali il livello di elaborazione simbolica, come vuole il paradigma computazionale, sembra ineludibile.

I neuroni artificiali

I neuroni artificiali riprendono in modo estremamente semplificato alcune caratteristiche tipiche dei sistemi biologici naturali, senza tuttavia imitarne l’esatto funzionamento giacché ai complessi fenomeni biochimici ed elettrici che avvengono in realtà sono sostituite funzioni matematiche (anche di tipo generalizzato, quali distribuzioni). Spesso i neuroni artificiali sono semplicemente denominati celle neurodi, Processing Elements o sistemi di calcolo paralleli proprio per svincolarli dall’impegnativo riferimento alla cellula cerebrale, di gran lunga più complessa. La formalizzazione del neurone reale presuppone che questo sia dotato dì un suo stato interno e sia capace di ricevere segnali in ingresso, sulla base dei quali determina lo stato successivo e l’eventuale emissione di un segnale in uscita. Lo stato del neurone è l’equivalente del potenziale di membrana della cellula naturale; può appartenere a un intervallo continuo e finito oppure assumere due soli valori corrispondenti agli stati attivo e inattivo del neurone. La funzione di stato prossimo fornisce il valore dello stato del neurone in un certo istante di tempo, sulla base del valore assunto nell’istante precedente e dei segnali in ingresso; la funzione di uscita determina l’eventuale emissione di un segnale in uscita sulla base dello stato attuale del neurone e dei segnali in ingresso. In una rete neurale artificiale si distinguono tre tipi di neuroni: neuroni di input, che ricevono direttamente dall’esterno i dati dei problema da risolvere; neuroni di output, che forniscono la soluzione del problema; neuroni interni (o intermedi) interposti tra quelli di input e quelli di output. Questi ultimi sono anche detti neuroni nascosti perché interni a una sorta di “scatola nera” che mostra solo l’ingresso e l’uscita della rete. Come per il neurone naturale, anche per quello artificiale si possono individuare tre elementi caratterizzanti: l’insieme delle sinapsi, la soglia, la funzione di attivazione.

Architettura

Una rete neurale è costituita dai seguenti elementi: un insieme di unità di processo; un insieme di connessioni tra le unità di processo (ogni connessione è definita da un peso Wjk, che determina l’effetto che il segnale dell’unità j ha sull’unità k); un valore soglia per ogni unità (denominato input esterno o bias); una regola di propagazione che determina l’input netto di ogni unità; una o più funzioni di attivazione che definiscono come, a partire dall’input netto, si produca la risposta del neurone; uno stato di attivazione yk di ogni unità, che equivale all’output dell’unità stessa; una regola di apprendimento, attraverso la quale la struttura delle connessioni della rete neurale può essere modificata sulla base del gruppo di campioni presentati alla rete in fase di apprendimento; l’ambiente entro cui il sistema deve operare.

Definire l’architettura di una rete neurale significa individuare le classi di neuroni presenti (neuroni di input, output, intermedi), il numero di strati di sinapsi e il tipo di connessioni. Per quel che concerne il primo aspetto le reti neurali si possono distinguere in reti autoassociative, se possiedono un unico strato di unità interamente connesse tra loro, ed eteroassociative, qualora i nodi che ricevono gli ingressi alla rete siano ben distinti dai nodi che producono l’uscita. Infine, in base al tipo di connessione tra i neuroni, si individuano due architetture di reti neurali: reti feed-forward (o non ricorrenti) e reti ricorrenti. Nelle reti feed-forward ciascun nodo è connesso unicamente ai nodi degli strati inferiori e quindi l’informazione procede in un’unica direzione dai nodi di input verso quelli interni e da questi ultimi verso i nodi di output.

Apprendimento

Una delle caratteristiche principali del sistema nervoso naturale consiste nel fatto che esso è in grado di attuare un apprendimento di tipo imitativo; in altre parole, il cervello, anche attraverso i cosiddetti neuroni specchio, impara dagli esempi e dai prototipi che la natura gli presenta, quindi utilizza tali insegnamenti per risolvere situazioni future diverse dalle precedenti, ma che hanno delle affinità con i fatti già assimilati o vissuti. A livello strutturale questo fenomeno comporta modifiche dei collegamenti sinaptici, alcuni dei quali si rinforzano, mentre altri si indeboliscono fino anche ad atrofizzarsi completamente. L’apprendimento delle reti neurali artificiali consiste invece nel tentativo di istruire le stesse mediante una serie limitata di campioni o pattern, in modo che poi utilizzino tali insegnamenti per risolvere problematiche analoghe a quelle presentate in fase di addestramento. In questa fase, sono forniti alla rete neurale una serie di stimoli in entrata e i corrispondenti stimoli in uscita che essa dovrebbe generare. La fase di apprendimento è caratterizzata da un’evoluzione dei pesi sinaptici, che si arresta quando la rete è in grado di fornire la soluzione migliore (quella con il minimo errore) rispetto a tutti i campioni presentati. È possibile distinguere due modalità di apprendimento: apprendimento supervisionato e apprendimento per autorganizzazione. Nell’apprendimento supervisionato (detto anche apprendimento con insegnante, in quanto si ipotizza che la risposta venga fornita da un ipotetico insegnante esterno) la rete riceve un gruppo di coppie di campioni (pattern di input e di output), inteso come soluzione della corrispondente combinazione di ingressi. Per esempio, sono fornite in entrata le bitmap dei caratteri dell’alfabeto latino, e in uscita le posizioni di tali caratteri all’interno della tabella ascii. Dopo una fase di autorganizzazione interna in cui sono modificati i pesi assegnati ai collegamenti tra nodi, la rete neurale è pronta per riconoscere i caratteri della scrittura con un certo grado di flessibilità. La rete ha quindi a disposizione due elementi su cui effettuare l’apprendimento: i dati del problema e la relativa soluzione. La modifica dei valori sinaptici viene effettuata utilizzando una misura dell’errore tra la risposta fornita dalla rete neurale e la risposta desiderata per ogni vettore di input. In questa procedura, i pattern a disposizione sono suddivisi in almeno due insiemi: training set e test set. Il primo gruppo è utilizzato per effettuare l’apprendimento vero e proprio appena descritto mentre il secondo gruppo serve, ad addestramento concluso, per verificare che la rete non si limiti a memorizzare i campioni forniti, ma sia anche in grado di trovare soluzioni adeguate a problemi analoghi, benché a essa ignoti. In questa seconda fase, la rete manifesta quindi l’importante capacità di generalizzare le informazioni ricevute in sede di apprendimento. Un caso particolare di apprendimento supervisionato è l’apprendimento con rinforzo, nel quale il sistema non fornisce la risposta corretta al problema, bensì una critica a tale risposta. Nell’apprendimento per autorganizzazione, invece, non esiste una risposta corretta che l’ambiente fornisce al sistema, ma semplicemente un insieme di regole di plasticità sinaptica attraverso le quali si verifica una autorganizzazione durante la fase di esposizione dei pattern di input. La rete impara a rispondere in modo ordinato alla statistica degli stimoli esterni che le vengono sottoposti, autorganizzando la propria struttura in modo tale che stimoli simili attivino neuroni vicini e stimoli tra loro diversi attivino neuroni lontani. L’apprendimento senza supervisione è inoltre di tipo competitivo, nel senso che per ogni input sono attivati più neuroni, ma uno solo di essi vince la competizione e modifica i suoi pesi sinaptici.

TAG

Intelligenza artificiale

Ragionamento deduttivo

Plasticità sinaptica

Funzione di stato

Autorganizzazione