• Non ci sono risultati.

La struttura delle Reti Neurali

2.4 Reti Neurali

2.4.1 La struttura delle Reti Neurali

Una Rete Neurale è un processo distribuito, ispirato ai principi di funzio- namento del sistema nervoso degli organismi evoluti, costituito dalla intecon- nessione di unità computazionali elementari (neuroni), con la caratteristica fondamentale di acquisire la conoscenza dall'ambiente attraverso un processo adattativo di apprendimento e di immagazzinarla nei suoi parametri, quali i pesi associati alle connessioni. I neuroni, che rappresentano i nodi di una rete orientata provvisti di capacità di elaborazione, ricevono in ingresso una combinazione di segnali provenienti dall'esterno o dalla altre unità e ne ef- fettuano una trasformazione tramite una funzione, tipicamente non lineare, detta funzione di attivazione. Successivamente l'uscita di ogni neurone vie- ne inviata agli altri nodi oppure all'uscita della rete, attraverso connessioni orientate e pesate.

Risulta utile utilizzare una Rete Neurale quando:

l'output è a valori discreti (classicazione) o a valori reali (regressione);

l'output è costituito da un vettore di valori;

i dati possono contenere rumore;

la forma della funzione target è totalmente sconosciuta.

In questo capitolo illustreremo la struttura delle reti neurali e prenderemo in esame il problema dell'apprendimento e dell'addestramento di alcune classi di reti attraverso l'applicazione di metodi di ottimizzazione.

Nei problemi di classicazione l'imput di una rete è costituito dal vettore delle caratteristiche (features) dell'oggetto da classicare e l'output è una va- riabile a valori discreti che esprime l'appartenenza dell'oggetto ad una delle classi pressate. Il legame input-output realizzato dalla rete dipende da tre fattori. Innanzitutto dalle unità elementari che possono avere funzioni di at- tivazione caratterizzate da dierenti tipi di nonlinearità, poi dall'architettura della rete e in particolare dal numero di nodi e dalla strutture delle connes- sioni tra questi ultimi, inne dai valori dei parametri relativi ai nodi e alle connessioni, tali parametri vengono determinati nella fase di addestramento. Sulla base di queste caratteristiche è possibile distinguere diversi tipi di reti neurali. La prima distinzione signicativa è quella tra reti di tipo di- namico e reti di tipo statico. Nel primo caso i neuroni sono descritti da equazioni dierenziali dal momento che si ipotizza che siano dotati di una di- namica temporale, invece nel secondo caso il legame tra l'imput e l'output di un neurone viene supposto istantaneo. Inoltre possiamo distinguere tra rete feedforward e reti ricorsive, a seconda della topologia delle connessioni tra i nodi. Se la struttura delle connessioni è rappresentata da un grafo orientato aciclico, otteniamo una rete del primo tipo, se invece ci sono connessioni tra gli output e gli input di qualche coppia di nodi, abbiamo una rete del secondo tipo.

Vediamo più da vicino come funzione una rete di tipo feedforward: i neuroni ricevono in ingresso degli stimoli e li elaborano. L'elaborazione può essere anche molto sosticata ma in un caso semplice si può pensare che i singoli ingressi vengano moltiplicati per un opportuno valore detto peso, il risultato delle moltiplicazioni viene sommato e se la somma supera una certa soglia il neurone si attiva attivando la sua uscita. Il peso indica l'ecacia sinaptica della linea di ingresso e serve a quanticarne l'importanza, un in- gresso molto importante avrà un peso elevato, mentre un ingresso poco utile

all'elaborazione avrà un peso inferiore. Si può pensare che se due neuroni comunicano fra loro utilizzando maggiormente alcune connessioni allora ta- li connessioni avranno un peso maggiore, no a che non si creeranno delle connessioni tra l'ingresso e l'uscita della rete che sfruttano percorsi preferen- ziali. Tuttavia però è sbagliato pensare che la rete nisca col produrre uno e un solo percorso di connessione: tutte le combinazioni infatti avranno un certo peso, e quindi contribuiscono al collegamento ingresso/uscita. I singoli neuroni vengono collegati alla schiera di neuroni successivi, in modo da for- mare una rete di neuroni. Normalmente una rete è formata da tre strati. Gli input sono presenti nel primo strato che è quello che si preoccupa di trattarli in modo da adeguarli alle richieste dei neuroni. Se i segnali in ingresso sono già trattati può anche non esserci. Il secondo strato è quello nascosto (spesso chiamato hidden), si preoccupa dell'elaborazione vera e propria e può essere composto anche da più colonne di neuroni. Il terzo strato è quello di uscita e si preoccupa di raccogliere i risultati ed adattarli alle richieste del blocco suc- cessivo della rete neurale. Queste reti possono essere anche molto complesse e coinvolgere migliaia di neuroni e decine di migliaia di connessioni.

Un esempio di rete ricorsiva è invece oerto dalle reti di Hpeld. Si tratta di un modello neurale in cui è presente un usso bidirezionale d'informazio- ni; in altri termini, mentre nelle reti di tipo feedforward la propagazione dei segnali avviene unicamente, in maniera continua, nella direzione che condu- ce dagli ingressi alle uscite, nelle reti ricorrenti tale propagazione può anche manifestarsi da uno strato neurale successivo ad uno precedente, oppure tra neuroni appartenenti ad uno stesso strato, e persino tra un neurone e sé stes- so. Nel 1982, il sico John J. Hopeld pubblica un articolo fondamentale in cui presenta un modello matematico comunemente noto appunto come re- te di Hopeld. Le proprietà collettive del modello producono una memoria associativa per il riconoscimento di congurazioni corrotte e il recupero di informazioni mancanti. Inoltre, Hopeld ritiene che ogni sistema sico può essere considerato come un potenziale dispositivo di memoria, qualora esso disponga di un certo numero di stati stabili, i quali fungano da attrattore per il sistema stesso. Sulla base di tale considerazione, egli si spinge a formulare la tesi secondo cui la stabilità e la collocazione di tali attrattori sono proprie- tà spontanee di sistemi costituiti, come accennato, da considerevoli quantità di neuroni reciprocamente interagenti. Tra le nuove idee messe in luce da Ho- peld, quella più degna di menzione riguarda il capovolgimento del rapporto, no allora esistente, tra calcolo e numeri: mentre era universalmente noto che

il calcolo producesse numeri, assai meno banale era l'osservazione di Hopeld che, viceversa, anche i numeri potessero spontaneamente generare calcolo, e che questo potesse emergere quale attributo collettivo di sistemi interattivi siatti. Le applicazioni delle reti di Hopeld riguardano principalmente la realizzazione di memorie associative, resistenti all'alterazione delle condizio- ni operative, e la soluzione di problemi d'ottimizzazione combinatoriale. Da un punto di vista strutturale, la rete di Hopeld costituisce, come abbiamo visto, una rete neurale ricorsiva simmetrica di cui è garantita la convergenza. L'apprendimento si basa sulla disponibilità di un insieme di addestramen- to (traiding set), costituito da coppie imput-output, che possono essere visti come esempi di classicazione. Durante il processo di addestramento viene decisa l'architettura della rete e vengono determinati i parametri relativi ai nodi e alle connessioni, attraverso la risoluzione di problemi di ottimizzazio- ne. Di solito si tratta di minimizzare una funzione di errore di struttura nota rispetto a parametri incogniti. Una volta addestrata, la rete deve essere in grado di classicare nuovi insiemi di punti. In altre parole noi utilizzeremo dei campioni disponibili di coppie input-output per addestrare la rete, suc- cessivamente deve essere possibile generalizzare tale processo, la rete quindi sarà in grado di dare la risposta corretta in corrispondenza di nuovi campioni non presenti nell'insieme dei dati di addestramento e perciò sconosciuti alla rete.

Il metodo di apprendimento della rete può essere di due tipi a seconda di come vengono acquisiti i campioni dell'insieme di addestramento. E' possi- bile eettuare un apprendimento on-line, in cui i campioni di addestramento vengono acquisiti in modo incrementale durante tutto il processo di appren- dimento; oppure utilizzare un metodo fuori linea o batch, in cui si dispone di tutti i campioni da usare nell'addestramento prima ancora che questo abbia inizio.

Documenti correlati