ISTITUTO DI RICOVERO E CURA A CARATTERE SCIENTIFICO
"S. de Bellis"

Reti Neurali Artificiali
TEORIA DELLE RETI NEURALI-5

Home

 

MODELLI DI RETI NEURALI

 Dopo aver analizzato il modo in cui è costituita una generica rete neurale, è interessante mostrare le varie teorie e i diversi modelli che si sono andati evolvendo nel corso degli studi.

Nella restante parte del capitolo si accenna molto brevemente ai diversi e più importanti tipi di modelli senza entrare in dettaglio, ma evidenziando le principali caratteristiche che li distinguono. Vengono utilizzati vari criteri per   catalogare e raggruppare diversi tipi di reti. In genere sono tutti concordi nel riconoscere valido il criterio secondo cui si possono dividere in due grandi famiglie : reti FEEDBACK e reti FEED-FORWARD.

Inoltre rifendoci a quanto riportato da ALLAN SELVERSTON [5], si puntualizza che all’interno di ognuna di queste famiglie si sviluppano altri e più svariati sottomodelli.

 

RETI FEEDBACK

Come già precedentemente accennato, nelle reti di tipo feedback, i neuroni di uno strato possono ricevere il loro input da qualsiasi neurone che faccia parte dello stesso strato ( siamo nel caso della “connessione laterale“ o “competizione“ ) oppure che appartenga ad uno degli strati seguenti o precedenti vedi fig. 3.5b Come input, il neurone, potrebbe usare addirittura il suo stesso output. Proprio grazie a queste particolari caratteristiche di connessione tra neuroni, (ogni neurone è fatto dipendere dallo stato di ognuno degli altri) le reti di tipo feedback sono generalmente costituite da pochissimi strati di neuroni se non persino da uno strato singolo. Data la possibilità di numerose connessioni “retroazionanti“, le reti feedback, partendo da uno stato iniziale, evolvono dinamicamente fino a raggiungere uno stato stabile, in seguito al quale la rete fornisce il risultato di uscita. Pietro Morasso nel libro Sistemi Intelligenti [4] afferma che: “quantunque non siano particolarmente realistiche come modelli neurali, il principio su cui si basano le reti di Hopfield (modello alla base delle reti feedback) è profondo e si può mettere in relazione con teorie generali sulla stabilità dei patterns di attività cerebrale”. Il principio a cui Morasso fa riferimento, è quello di immagazzinare l’informazione in configurazioni dinamicamente stabili. Però in questo tipo di reti, prima del raggiungimento dello stato stabile, si verificano numerosi cicli ripetitivi la cui durata è generalmente breve ma imprevedibile. Le reti feedback sono particolarmente indicate per la costruzione di memorie associative, per la risoluzione di problemi di ottimizzazione o classificazione, per l’analisi di problemi finanziari o addirittura per processi di monitoraggio. L’inconveniente risiede nella necessità di elevato utilizzo di memoria, grazie proprio alla notevole interconnessione interna. Una rete di Hopfield perfettamente funzionante costituita da 1000 neuroni ( che operano come memoria associativa capace di distinguere e ricostruire da 25 a 50 situazioni distinte ) sfrutta almeno 2 Mb di memoria. Purtroppo, forse per questo inconveniente, le reti feedback sono ancora oggi poco utilizzate, se non in alcuni casi sperimentali o in progetti particolarmente sofisticati.

 

MEMORIE ASSOCIATIVE

Le memorie associative sono quelle che meglio rappresentano le reti feedback. Il termine “associativo” deriva dalla constatazione che nella memoria umana ciò che è simile tra due elementi di memoria tende ad unirli, in modo che uno può evocare l’altro se i due hanno sufficiente sovrapposizione. La loro principale applicazione è nel riconoscimento di modelli e nell’applicazione in processi informativi. Due varietà di memorie associative sono particolarmente interessanti, quelle autoassociative e quelle eteroassociative.

1. Le autoassociative sono quelle reti capaci di ricordare situazioni (o modelli) complete pur disponendo in input di informazioni (o modelli) incomplete. Le reti autoassociative (anche dette CAM content addressable memory) più conosciute sono quelle dedotte dagli studi di Hopfield (1982-1986) che hanno la caratteristica di essere essenzialmente reti ad un solo strato. In un autoassociatore tutti i neuroni sono sia di input che di output ed ogni neurone alimenta se stesso così come ognuno degli altri ad esso vicini. Potenzialmente esiste una connessione modificabile da ogni neurone ad ogni altro neurone della rete. Particolari applicazioni delle reti di Hopfield sono quelle implementate per risolvere “i1 problema del commesso viaggiatore” (da ciò il nome “TSP“ di tali reti). Le memorie autoassociative sono applicate anche per il riconoscimento di caratteri o di immagini, per la ricostruzione di segnali, per la gestione delle segnalazioni di sicurezza negli aeroporti, nelle industrie, nelle centrali nucleari.

2. Le eteroassociative sono quelle reti in cui sono richiesti in ingresso informazioni (o modelli) complete per rievocare altre informazioni (o modelli) memorizzate. Le principali reti eteroassociative sono quelle cosiddette BAM (memorie associative bidirezionali). Esse trovano applicazione nei processi di monitoraggio, nell’analisi di andamenti finanziari e nella “target classification“.

 

RETI FEED-FORWARD

Una rete neurale che non ha connessioni di retroazione, è chiamata rete feed-forward.  In una rete di tipo feed-forward i neuroni prendono il loro input solo dallo strato precedente, ed inviano il loro output solo allo strato seguente. Neuroni dello stesso strato non sono tra loro connessi. A causa di ciò, queste reti, calcolano un risultato molto rapidamente. Non ci sono tempi di ritardo mentre i neuroni interagiscono con se stessi e con gli altri per sistemarsi in uno stato stabile. Un risultato è ottenuto in una rete feed-forward nel seguente modo. Prima i neuroni di input calcolano il loro valore di output basato sul corrente input. Dopo che tutti i neuroni hanno completato simultaneamente questo compito, allora nel successivo strato (intermedio> ognuno dei neuroni calcola il proprio output. Ogni neurone intermedio ottiene il risultato tenendo conto dei segnali provenienti da tutti i neuroni dello strato di input. Infatti il neurone intermedio è collegato con una distinta connessione (dall’appropriato “peso”) ad ognuno dei neuroni dello strato di input. In genere, quindi, gli output sono differenti per ognuno dei neuroni intermedi. Quando tutti i neuroni intermedi hanno implementato il loro risultato, quelli di output (o del successivo strato intermedio) calcolano il loro output basando sempre sulla somma pesata dei segnali provenienti da tutti i neuroni intermedi. Dato che ogni neurone deve essere dotato di una connessione diretta (con il relativo “peso”) con ognuno dei neuroni dello strato precedente, la rete feed-forward ha bisogno di memorizzare una notevole quantità di pesi (molto meno rispetto alle reti feedback).

Se per esempio uno strato ha N neuroni ed il precedente strato ha M neuroni, la connessione tra questi due strati richiederà N*M parole di memoria (una parola per ogni peso). Quindi anche se questa necessità di memoria èsempre abbastanza gravosa, essa è indispensabile poichè è noto che qualsiasi “conoscenza” memorizzata nella rete neurale è contenuta nella configurazione dei pesi delle connessioni. Ma come ottenere questa configurazione di pesi significativa con cui la rete sia capace di produrre i desiderati risultati ?

Utilizzando un appropriato metodo di apprendimento o learning mode si produce un processo di modifica graduale dei pesi (training) fino a raggiungere la configurazione ottimale.

TRAINING E TRAINING SET

Training: processo di modifica dei pesi in maniera ordinata, sfruttando un metodo di apprendimento. Ci sono due categorie di metodi di apprendimento: supervised (sorvegliato) e unsupervised (non sorvegliato). Nel metodo di tipo supervised, alcuni tipi di sono utilizzati durante il training per dire alla è, o non è, corretto l’output corrispondente determinato input. Nel caso dell’unsupervised presente nessun tipo di controllo. Nel caso dei modelli supervised, dopo aver abbozzato la rete, bisogna attuare il training costruendo il training set, cioè una lista di coppie: un valore (o modello) di input e un valore (o modello) di output detto “pattern”. Il pattern è il risultato che la rete deve produrre in corrispondenza di quel determinato input. Ognuna delle coppie è chiamata “fact” (fatto). E’ importante che tutte le informazioni che la rete deve imparare siano nel training set e cioè che i facts siano numerosi e vari tali da poter rappresentare tutto il range di situazioni possibili. Il training set è fornito alla rete: essa analizzerà sequenzialmente un fact alla volta. Per ogni fact la rete preleva l’input e produce un suo output. Quest’ultimo viene confrontato con il valore del pattern del fact, ovvero con il modello di training (o di addestramento) cioè con il desiderato output. Se c’è una differenza, i pesi delle connessioni vengono modificati per diminuire il valore dell’errore (si sfruttano le del “ learning mode “ caratteristico di quella rete). Poi la rete analizza il successivo fact fino all’ultimo e continuerà a ciclare sulla lista finché, anche solo uno dei facts, produce errore. In genere la rete deve ciclare numerose volte prima di apprendere totalmente il training set. In alcuni casi il ciclo non termina mai e probabilmente sarà necessario rivedere l’architettura della rete. Quando invece il training è completo la rete è pronta per l’utilizzo; infatti agli input risponde con i corretti e desiderati output.

 

ALGORITMO DI APPRENDIMENTO O LEARNING MODE

I più popolari algoritmi di apprendimento per le reti feed-forward sono: Perceptron, Adaline, Madeline, Cognitron, Neo-Cognitron, Competition, Boltzman, Harmony, Counter Propagation e Back Propagation. Tutte queste tecniche si assomigliano abbastanza tra loro e danno il nome a differenti sottomodelli di reti feed-forward. Tutti gli algoritmi di apprendimento hanno un identico obbiettivo: ottenere una configurazione interna di pesi che permette alla rete feed-forward di svolgere una determinata funzione, in altre parole, completare con successo l’addestramento previsto dal training set. Perciò, allorquando durante il training si verificano degli errori, dovranno essere modificati opportunamente tutti i pesi Wij delle connessioni della rete. La necessaria variaziane DWij viene calcolata applicando delle rigorose regole matematiche basate sulla teoria di HEBB o su alcune sue varianti regola di HEBB, regola DELTA, regola BACK PROPAGATION

 

1    REGOLA DI HEBB

DWij = u Oj Oi

 u = learning rate; da la misura della velocità di convergenza della configurazione iniziale dei pesi verso la configurazione ideale (o desiderata).

 Oj = valore (o modello) di uscita del neurone j-simo [non è altro che il segnale (o modello) di input del neurone i-simo lungo la connessione Wij].

 Oi = valore (o modello) di output del neurone i-simo.

2    REGOLE DELTA O LEAST MEAN SQUARED ( LMS)

DWij = u [Ti(t) - Oi(t)] Oj(t)

 u = learning rate

 t = tempo (istante considerato)

 Ti(t) = desiderato valore di output per il neurone i-simo (pattern i-simo)

 Oi(t) = valore di uscita effettivo fornito (durante il training) dal neurone i-simo.

 Oj(t) = valore di output del neurone j-simo.

 Si vede chiaramente nella regola DELTA [Ti(t)-Oi(t)] # 0 i pesi sono cambiati questa differenza.

La Back Propagation, detta anche REGOLA DELTA GENERALIZZATA, è una variazione della regola DELTA che viene utilizzata per reti dotate di uno o più strati intermedi. E’ evidente quindi come, le reti feed-forward tramite queste regole di apprendimento, riescono a produrre un effetto di retroazione. I segnali di errore non sono retroazionati tramite connessione diretta tra output e input (come nelle reti feedback). Bensì si alterano opportunamente, i pesi delle connessioni interne procedendo da quelle di output fino a quelle di input, in modo da influenzare positivamente i segnali interni, evitando che si ripeta lo stesso errore.

Le reti feed-forward sono divise in lineari e non lineari. Perceptron e Adaline sono infatti reti che utilizzano neuroni dotati di funzione di trasferimento lineare che permette prestazioni molto limitate.

Gli algoritmi di apprendimento detti “competitivi“ sono di tipo unsupervised e si applicano invece a reti con neuroni non lineari. E’ il caso delle reti di Kohonen o Counter Propagation le quali però mostrano alcuni inconvenienti: durante il training alcuni dei neuroni diventano rapidamente molto sensibili all’ input della rete, tentando così di apprendere tutte le associazioni senza permettere alla maggior parte degli altri neuroni di partecipare al training.

La rete migliore sembra essere proprio la Back Propagation che è di tipo supervised e utilizza neuroni non lineari validi per una vasta classe di applicazioni traduzione vocale dei testi, riconoscimento di caratteri tramite scanner, controllo degli armamenti robotizzati, selezione di requisiti per l’appropriata concessione di prestiti bancari, guida di veicoli su pista, ecc..

Indietro     Avanti

Pagina Aggiornata il 04-04-2001