Sei sulla pagina 1di 114

Universit degli Studi di Palermo FACOLT DI SCIENZE LAUREA IN FISICA

RETI NEURALI: MODELLI E ASPETTI APPLICATIVI

Ricerca di: RELATORE:

_____________________________________________________________ Anno 2004 - 2005

SOMMARIO

1. - INTRODUZIONE 1.1 - DEFINIZIONE DEL PROBLEMA 1.2 - CONTENUTO DEI CAPITOLI SUCCESSIVI 2. - COMPUTAZIONE CLASSICA E MODELLI CONNESSIONISTICI 2.1- INTRODUZIONE 2.2 - ALGORITMI E MACCHINE DI TURING 2.3 - I NEURONI FORMALI DI MC CULLOCK E PITTS 2.4 - L'ELABORATORE DI VON NEUMANN 2.5 - LIMITI DELL'ARCHITETTURA DI VON NEUMANN 2.6 - CERVELLO E CALCOLATORI 2.7 - SISTEMA NERVOSO, CERVELLO E NEURONI 2.8 - NATURA E COMPUTAZIONE 3. - MODELLI DI RETI NEURALI 3.1 - INTRODUZIONE 3.2 - ORIGINE DELLE RETI NEURALI 3.3 - ARCHITETTURA ASTRATTA DI UNA RETE NEURALE 3.4 - DEFINIZIONE DI RETE NEURALE 3.5 - CLASSIFICAZIONE DELLE RETI NEURALI 4. - RETI DI HOPFIELD E MACCHINA DI BOLTZMANN 4.1- INTRODUZIONE 4.2 - MODELLO DISCRETO DELLA RETE DI HOPFIELD 4.3 - CONSIDERAZIONI ENERGETICHE SULLA RETE DISCRETA DI HOPFIELD 4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. DEL MODELLO DISCRETO DI HOPFIELD 4.5 - MODELLO CONTINUO DELLA RETE DI HOPFIELD 4.6 - ANNEALING E ANNEALING SIMULATO 4.7 - MACCHINA DI BOLTZMANN 4.8 - REGOLA DI APPRENDIMENTO PER LA MACCHINA DI BOLTZMANN

Reti Neurali: modelli e aspetti applicativi

5. - ALTRI MODELLI: PERCEPTRONI E RETI DI KOHONEN 5.1 - INTRODUZIONE 5.2 - PERCEPTRONE A SINGOLO STRATO 5.3 - LIMITI DEL PERCEPTRONE A SINGOLO STRATO 5.4 - PERCEPTRONI MULTISTRATO 5.5 - REGOLA DI APPRENDIMENTO BACK-PROPAGATION 5.6 - RETI AUTO-ORGANIZZANTI DI KOHONEN 6. - APPLICAZIONI DELLE RETI NEURALI 6.1 - INTRODUZIONE 6.2 - RAPPRESENTAZIONE DEI DATI 6.3 - APPLICAZIONE DEL MODELLO CONTINUO DI HOPFIELD 6.3.1 - CONVERTITORE ANALOGICO/DIGITALE 6.3.2 - SCOMPOSIZIONE DI SEGNALI ANALOGICI 6.3.3 - IL PROBLEMA DEL COMMESSO VIAGGIATORE (TSP) 6.3.4 - PROGRAMMAZIONE LINEARE 6.3.5 - IL PROBLEMA DI HITCHCOCK 6.3.6 - SISTEMA DI EQUAZIONI LINEARI 6.4 - COMPLESSIT COMPUTAZIONALE DI UNA RETE NEURALE 6.5 - APPLICAZIONE DI PERCEPTRONI MULTISTRATO CON REGOLA BACKPROPAGATION: RETE NETTALK 7. - MEMORIE ASSOCIATIVE BASATE SUL MODELLO DISCRETO DI HOPFIELD E NUOVI ALGORITMI DI MEMORIZZAZIONE 7.1 - INTRODUZIONE 7.2 - PROBLEMI ALEATORI E MEMORIE ASSOCIATIVE 7.3 - CONSIDERAZIONI SUL MODELLO DISCRETO DI HOPFIELD 7.4 - NUOVI ALGORITMI DI MEMORIZZAZIONE 7.5 - ALGORITMO DI MEMORIZZAZIONE DI S.H. OH 7.6 - SIMULAZIONI AL CALCOLATORE DI MEMORIE ASSOCIATIVE 7.6.1 - SIMULAZIONE 1 7.6.2 - SIMULAZIONE 2 7.6.3 - SIMULAZIONE 3 7.6.4 - SIMULAZIONE 4 7.6.5 - SIMULAZIONE 5

7.7 - MEMORIE OTTICHE ASSOCIATIVE 7.8 - CONCLUSIONI 8. - BIBLIOGRAFIA

9. - INDICE DELLE FIGURE

Reti Neurali: modelli e aspetti applicativi

1. - INTRODUZIONE
1.1 - DEFINIZIONE DEL PROBLEMA

Esiste una vasta gamma di problematiche nelle quali i convenzionali computer digitali ad architettura Von Neumann rivelano i loro limiti. Si tratta di problemi come il riconoscimento di forme, la comprensione del linguaggio naturale e la rappresentazione della conoscenza, che sono qualitativamente diversi da quelli classicamente implementabili nei computer. Ad esempio i problemi posti dal riconoscimento delle forme costituiscono un sottoinsieme dei problemi detti aleatori. Anche la classe dei cosiddetti problemi di ottimizzazione combinatoria non si presta ottimizzazione combinatoria il solo modo sono caratterizzati ad una soddisfacente soluzione algoritmica se implementata nei computer tradizionali. Sia i problemi aleatori, sia quelli di da un altissimo numero di soluzioni, e per risolverli di ridurre drasticamente tale numero. I metodi di riduzione

utilizzati sono noti come metodi euristici, e non sono applicabili in generale a tutti i problemi. I metodi euristici richiedono quasi sempre un grandissimo sforzo computazionale da parte dei calcolatori e spesso i tempi di risoluzione di un problema sono completamente inaccettabili. ci si Da un po di tempo per la soluzione dei problemi ad alto numero di soluzioni

rivolti ad algoritmi ed architetture completamente differenti. Molti ricercatori, provenienti da diversi settori, hanno studiato e progettato innovative macchine ad architettura parallela, emulanti l'organizzazione e le funzioni del cervello, che si sono dimostrate in grado di risolvere sia i problemi aleatori sia quelli di ottimizzazione combinatoria non alla portata dei computer attuali. Tali macchine sono comunemente chiamate reti o sistemi neurali. La loro architettura definisce i cosiddetti modelli connessionistici o modelli di elaborazione parallela distribuita (Parallel Distributed Processing - P.D.P.). Le reti neurali si basano sull'idea di realizzare un processo di computazione attraverso l'interazione di un grande numero di semplici elementi chiamati neuroni. La novit principale di tali modelli rispetto i computer tradizionali la non necessita di programmazione. Quest'ultima viene sostituita dalla possibilit di impostare sulla rete neurale una sorta di apprendimento che pu essere spontaneo o guidato attraverso esempi. L'approccio mediante reti neurali consente sia di realizzare sistemi computazionali che posseggono caratteristiche simili a quelle dei fondamentali dell'intelligenza del sistemi biologici, sia di impostare in modo nuovo i problemi

artificiale. La teoria delle reti neurali si propone anche di riorganizzare i rapporti tra lo studio astratto e formale delle funzioni mentali (scienza cognitiva), e quello concreto

cervello dagli

visto sviluppi

come

una

macchina

fisica

(neuroscienze).

I segni di un ravvicinamento tra scienza cognitiva e neuroscienze sono giustificati sia tecnologici, che consentono la costruzione dei sistemi neurali, sia dai progressi delle ricerche, condotte da fisici, psicologi e neurofisiologi, sullo studio fisico del cervello . La tesi si propone di fornire un quadro generale degli studi attuali sulle reti neurali, con particolare riguardo alle applicazioni computazionali e alla costruzione di memorie associative. Le memorie associative sono dei dispositivi in grado di recuperare i dati memorizzati mediante la presentazione di copie incomplete o distorte di questi ultimi. E' facile comprendere che l'argomento delle reti neurali, interessando svariati campi della ricerca, assume vastissime proporzioni, pertanto la tesi ha focalizzato i principali modelli di una teoria ancora giovane cercando di evidenziare le applicazioni a problemi reali.

1.2 - CONTENUTO DEI CAPITOLI SUCCESSIVI

Il lavoro inizia evidenziando l'origine comune tra i primi modelli neurali, la macchina algoritmica di Turing e l'elaboratore di Von Neumann. Un breve accenno alla struttura e al funzionamento del cervello, necessario per capire il calcolo vi si ispirano, conclude il secondo senso con cui le nuove macchine di descrizione dell'architettura capitolo. La

generale e delle propriet dei sistemi neurali, insieme a una sommaria classificazione, costituisce l'argomento del terzo capitolo. Il quarto e il quinto capitolo si soffermano sulla teoria delle reti di Hopfield, dei perceptroni e delle reti di Kohonen. Una collezione di applicazioni computazionali delle reti di Hopfield e dei perceptroni presentata nel quinto capitolo. Tale capitolo lascia intravedere la vastit dei possibili orizzonti applicativi. Nel sesto e ultimo capitolo sono raccolte una serie di simulazioni al calcolatore fatte dall'autore. Le simulazioni riguardano memorie associative basate sulle reti di Hopfield e su diverse regole di funzionamento.

2. - COMPUTAZIONE CLASSICA E MODELLI CONNESSIONISTICI


2.1- INTRODUZIONE

L'originale modello di rete di neuroni elaborato dai matematici Mc Cullock e Pitts negli anni di sviluppo della prima cibernetica, parallelamente allo studio da parte di Von Neumann

Reti Neurali: modelli e aspetti applicativi

7 elaboratore. In questo secondo capitolo si evidenziano le si analizza l'architettura

della

sua

architettura

di

analogie tra la macchina di Turing, prototipo di macchina ideale e universale di calcolo, e le reti di neuroni formali di Mc Cullock e Pitts. Successivamente dell'elaboratore di Von Neumann, che deriva direttamente da quella della macchina di Turing. In conclusione i limiti dell'elaboratore di Von Neumann sono confrontati con le peculiarit del cervello. Il capitolo, partendo dai fondamenti della teoria matematica della computazione, arriva a generalizzare un processo di calcolo allevoluzione dinamica di sistemi fisici diversi dai calcolatori architetture. e intrinsecamente non programmabili, lasciando intuire la possibilit di nuove

2.2 - ALGORITMI E MACCHINE DI TURING

La

teoria

della

computabilit

studia

la

risolvibilit algoritmica di un problema.

Un algoritmo una procedura completamente definita, articolata in un numero finito di passi, eseguibili meccanicamente in un tempo finito, e corrispondente a un'espressione scritta in un determinato linguaggio. I problemi per la cui soluzione esiste un algoritmo definiscono la classe delle funzioni computabili. Le funzioni computabili possono essere espresse per mezzo di un tipo di definizione molto generale detta ricorsiva che sar definita pi avanti. Il problema di definire in maniera rigorosa la classe delle funzioni computabili porto nel 1930 il matematico Turing1 al progetto di una macchina di calcolo ideale descritta in figura 2.1. Gli elementi costituenti la macchina di Turing sono: 1. un unit esterna di memoria o nastro 2. una testina di lettura e scrittura 3. una unit di controllo A a stati finiti. Per la macchina di Turing definito un alfabeto esterno di simboli Xi, e un alfabeto interno di simbolo Qi . Gli ingressi della macchina sono i simboli dell'alfabeto esterno X, mentre l'uscita della macchina corrisponde ad un'operazione di scrittura di un simbolo sull'unit esterna di memoria oppure ad un movimento della testina sul nastro. Lo stato interno della macchina espresso mediante i simboli Qi dell'alfabeto interno della macchina. Il

funzionamento della macchina consiste nell'esecuzione di una serie di passi elementari, in ciascuno dei quali la macchina assume una configurazione totale determinata dallo stato in cui si trova la macchina, dalla cella in esame dall'unit di controllo e dal contenuto di ogni cella della memoria esterna. Si definisce computazione o calcolo di una macchina di Turing una sequenza di configurazioni totali che terminano in uno stato di halt Q0. Lo stato di halt non ammette una configurazione successiva. Il tipo d'algoritmo implementato da una che particolare macchina di Turing definito dalla tavola funzionale della macchina,

corrisponde al programma dell'unit logica. Il concetto di macchina di Turing pu essere esteso definendo una macchina di Turing universale in grado di eseguire gli algoritmi di
1 A. Turing, On computable numbers, with an application to the entscheidungsproblem, Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936.

Reti Neurali: modelli e aspetti applicativi

una qualsiasi macchina di Turing dotata di una qualunque tavola funzionale. La macchina universale operer a partire da una configurazione iniziale che prevede la registrazione su nastro sia della matrice funzionale della macchina da imitare che della configurazione iniziale di questa. La macchina di Turing universale equivale concettualmente ad un computer Von Neumann general purpose. La caratteristica della ai macchina universale di avere tavole programmi e ai dati contenuti funzionali e simboli dell'alfabeto esterno memorizzati insieme nella memoria esterna equivale, nel caso di un elaboratore Von Neumann, contemporaneamente in memoria. Luniversalit della macchina di Turing viene evidenziata dalla tesi di Church, la quale restringe il concetto di computabilit a una classe precisa ma molto generale di funzioni, le funzioni parziali ricorsive. Una funzione di n-argomenti f(x1 ,x2 ,...,xn ) detta ricorsiva se definibile mediante le equazioni2 :

2.1 Nella 2.1 g e h sono funzioni note, S(x) la funzione successore definita come: S(x) = x + 1. La funzione ricorsiva f detta parziale quando essa non ha un valore definito per ogni n-upla di argomenti (x1 ,x2 ,...,xn ) ed quindi definita per un set limitato di argomenti. Un esempio di definizione ricorsiva di funzione riguarda l'operazione di addizione, indicando f col simbolo + si ha:

2.2 Nella 2.2 * si ha: +(x,S(y)) definito in termini di +(x,y) e della funzione nota successore (h = S). Anche l'operazione di moltiplicazione pu essere definita in tal modo, indicando f col simbolo

2.3 Nella 2.3 *(x,S(y)) definito in termini di *(x,y) e della funzione nota addizione (h = +). La tesi di Church afferma che qualunque algoritmo scritto con qualsiasi formalismo pu essere calcolato da una macchina di Turing. La formulazione forte di questa tesi dice che qualsiasi sistema fisico reale pu essere simulato da una macchina di Turing, con un grado di
2 Robert McNaugthon, Elementary Computability, Formal Languages and Automata, Prentice Hall International 1982.

approssimazione arbitrariamente elevato, con l'ipotesi di poter ignorare i limiti di lunghezza del nastro della macchina e il tempo disponibile per la computazione. Questa tesi evidentemente non pu essere dimostrata, esistono per significativi argomenti a suo sostegno. Innanzitutto metodi alternativi elaborati per definire la computabilit hanno sempre portato a classi di funzioni computabili coincidenti con le funzioni parziali ricorsive. Per completare il discorso non si pu trascurare l'esistenza di funzioni che non sono parziali ricorsive, per la tesi di Church queste funzioni non sono Turing-calcolabili, e quindi sono ignorate dalla macchina di Turing. Un altro problema non risolvibile quello noto come problema dell'arresto di una macchina di Turing. Si consideri una macchina di Turing A con configurazione totale iniziale data da una tavola funzionale T e da una parola W contenuta nella memoria esterna, non esiste un'altra macchina di Turing B che con l'input di T e W possa calcolare se la computazione di T si ferma o cicla.

FIGURA 2.1 - Rappresentazione della Macchina di Turing, in alto il dispositivo A e l'unit di controllo, in basso si ha il nastro coi simboli dell'alfabeto esterno in ingresso, sopra il nastro in grigio e posizionata la testina di lettura. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)

Reti Neurali: modelli e aspetti applicativi

11

2.3 - I NEURONI FORMALI DI MC CULLOCK E PITTS

Il neurofisiologo Mc Cullock e il matematico Pitts nel 1943 introdussero il concetto di neurone formale3 che alla base del loro progetto di rete neuronica. Nel loro modello il neurone formale assume due possibili stati, uno attivo l'altro inattivo e definisce una classe di oggetti caratterizzati come segue: un numero r finito di ingressi ciascuno suscettibile di assumere i valori 0 o 1; un'unica uscita i cui valori possibili sono 0 o 1; un valore di soglia s intero positivo; una regola di funzionamento espressa da:

2.4 Mediante i neuroni formali si pu costruire una macchina detta semiautoma con un numero finito r di input x agli input e un numero finito s di stati q della macchina. Successivamente si e agli stati (vedi figura 2.2a). costruisce una matrice di neuroni formata da r righe e s colonne corrispondenti rispettivamente La programmazione di questa macchina consiste in un tipo di istruzione molto semplice, espressa nella forma generale q x q , la cui esecuzione consiste nel connettere tutti i neuroni della i-esima colonna col j-esimo neurone della k-esima colonna. Da notare che la rete di neuroni formali definita e caratterizzata da connessioni precostituite, senza alcuna possibilit di modifica successiva. Mc Cullock e Pitts dimostrarono che, per ogni funzione computabile da una macchina di Turing, esiste un semiautoma di neuroni formali in grado di calcolare la stessa funzione. Da quanto detto segue che il modello di Turing e il semiautoma composto da neuroni formali sono dal punto di vista computazionale equivalenti. Le capacit di calcolo del modello dipendono non tanto dalle caratteristiche dei singoli neuroni quanto dal modo in cui sono connessi.

3 W.S. McCullock e W. Pitts, A logical Calculus of the Ideas Immanent in Nervous Activity, Bullettin of Mathematical Biophysics, Num. 5 1943, pag. 115-133.

FIGURA 2.2a - (a) Neurone formale di Mc Cullock e Pitts (b) Rete di neuroni formali costituente un semiautoma strutturalmente programmabile. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)

FIGURA 2.2b - Una rappresentazione pi generale della regola di funzionamento del neurone artificiale di McCullock e Pitts detto anche TLU (Threshold Logic Unit), x(i) sono gli ingressi, w(i) sono i pesi, il valore della soglia per la funzione di attivazione. Si noti che nella formula semplificata 2.4 i pesi w(i) sono tutti uguali a 1.

Reti Neurali: modelli e aspetti applicativi

13

2.4 - L'ELABORATORE DI VON NEUMANN

I moderni computer digitali sono quasi tutti basati su un'architettura definita nel 1945 dal matematico John Von Neumann nel progetto dell'elaboratore EDVAC4 L'elaboratore di Von Neumann costituito da due organi di base, il processore e la memoria centrale (vedi figura 2.2c). Le operazioni di tutti i computer convenzionali possono essere modellate nellesecuzione del ciclo seguente: 1. preleva un istruzione dalla memoria 2. preleva i dati richiesti da tale istruzione dalla memoria 3. esegui listruzione 4. memorizza i risultati in memoria 5. vai al punto 1

FIGURA 2.2c - Semplice rappresentazione dellarchitettura di Elaboratore Von Neumann

4 John Von Neumann, Primo abbozzo di relazione sull'EDVAC (Electronic Discrete Variable Computer), Princeton University 1945.

Lelaboratore di Von Neumann una macchina di calcolo equivalente a quella di Turing, ed caratterizzata come segue5 : Linguaggi di programmazione. Tali linguaggi sono utilizzati per esprimere gli algoritmi e sono costituiti da statement che si ottengono applicando un insieme finito di regole di composizione a un numero finito di simboli base. Programmabilit. Si intende in tal modo la possibilit concreta di comunicare all'elaboratore il programma scritto alla macchina. Dal punto di vista dell'utente tale processo di comunicazione pu essere mediato da un compilatore. Universalit. Essendo equivalente a una macchina di Turing, un calcolatore Von Neumann pu calcolare qualsiasi funzione computabile e quindi, per la tesi di Church, simulare qualsiasi sistema fisico. Sequenzialit. Un computer di Von Neumann ha un architettura sequenziale, infatti una singola operazione elementare alla volta. Inefficienza. I computer di Von Neumann utilizzano in modo non ottimizzato le risorse di spazio, tempo ed energia. Il processore, a causa della sequenzialit con cui esegue le istruzioni, inattivo per la maggior parte del tempo. Programmabilit strutturale. Per spiegare questa caratteristica ci si deve riferire alla definizione di semiautoma vista in precedenza. Un calcolatore di Von Neumann si dice strutturalmente programmabile perch si pu dimostrare che sostanzialmente un semiautoma, cio il calcolatore pu essere rappresentato come un insieme elementi capaci di eseguire una operazione logica di switch o di semplice. La definizione esegue

programmabilit strutturale legata alla tesi forte di Church, e stabilisce che una macchina strutturalmente programmabile capace di simulare qualsiasi sistema fisico a condizione che le risorse di tempo e di spazio riservate alla computazione siano illimitate. Inoltre gli algoritmi, espressi in un calcolatore digitale in simboli primitivi di un linguaggio di alto livello, possono essere espressi direttamente in neuroni termini di primitive computazionali di switching, che corrispondono alla programmazione di una rete di formali. La programmabilit strutturale sar utile per analizzare i limiti generali dell'architettura di Von Neumann. La formulazione forte della tesi di Church, valida anche per gli elaboratori di Von Neumann, suggerisce un legame tra i modelli formali di computazione e i processi dinamici
5 Michael Conrad, "On Design Principles for a Molecular Computer", Communications of the ACM 1, Vol. 28, Num. 5, Maggio 1985.

Reti Neurali: modelli e aspetti applicativi

15 un sistema fisico come realizzazione di una

simulabili su un calcolatore. Pensare a computazione significa : 1. identificare gli argomenti o input

della

funzione computabile considerata con i

parametri di descrizione di un certo stato del sistema. 2. considerare i parametri di descrizione di un successivo stato del sistema il risultato della computazione cio l'output. L'elaboratore di Von Neumann una realizzazione fisica di un sistema formale che esegue semplici operazioni su stringhe di simboli. Si dice che un computer simula un sistema fisico, mediante le primitive computazionali sopra definite, se gli stati del computer possono essere associati agli stati del sistema con un alto grado di approssimazione, non necessario comunque che ogni stato della macchina corrisponda a uno stato del sistema. Si visto che un sistema fisico simulabile con l'elaboratore Von Neumann, tuttavia molti fenomeni computazionali osservati in natura fanno ritenere che possibile definire delle macchine di calcolo che incorporano il processo fisico stesso come primitiva computazionale. In tal caso si perde sia il carattere discreto delle primitive computazionali, sia la possibilit di comunicare queste ultime sotto forma di algoritmo alla macchina.

2.5 - LIMITI DELL'ARCHITETTURA DI VON NEUMANN

L'architettura dell'elaboratore di Von Neumann presenta dei limiti di applicabilit e di capacit di calcolo che non potranno essere superati dal solo progresso tecnologico, ossia dal miglioramento delle prestazioni dei processori e delle memorie. Tali limiti sono intrinseci al disegno stesso dell'elaboratore di Von Neumann, e sono di seguito esaminati: Irreversibilit operativa. La modalit in cui l'informazione perdita un computer tradizionale elabora

un processo irreversibile. La funzione logica AND un esempio di

di informazione in un computer. La tabella 2.5 mostra che non possibile,

esaminando le uscite della tabella, risalire agli ingressi che le hanno prodotte. Tabella della verit della Funzione Logica AND.
INPUT 0 0 0 1 0 OUTPUT 0

1 1

0 1

0 1

Alta dissipazione termica. In un computer digitale i

segnali elettrici originano dei kT/q Volt dove k la

cambiamenti di potenziale in diverse regioni spaziali del sistema. Gli elettroni operano con un disturbo termico che in termini di potenziale circa costante di Boltzmann, T la temperatura Kelvin assoluta e q la carica dell'elettrone, a temperatura ambiente (290 K) kT/q = 0.025 Volt. Le operazioni logiche in un computer digitale devono avvenire con potenziali maggiori di 0.025 Volt. In definitiva si osserva che il valore alto di kT/q richiede un'alta dissipazione di potenza che caratterizza come processi irreversibili le operazioni logiche fondamentali di un computer digitale di Von Neumann. Lentezza operativa. Un risultato del modo di operare seriale dell'architettura di Von Neumann il cosiddetto "collo di bottiglia di Von Neumann". Esso originato dalla lentezza con cui il processore accede alla memoria. Il trasferimento di dati e istruzioni dalla memoria al processore, prima che quest'ultimo cominci il suo lavoro computazionale, comporta un intervallo di tempo in cui il processore inattivo. Alla fine della computazione il trasferimento dei risultati alla memoria origina un altro periodo di inattivit del processore. Alle inefficienze elencate si aggiunge un generale limite connesso alla programmazione strutturale, infatti una macchina di calcolo reale non dispone di risorse di tempo e di spazio illimitate come richiesto Costruire dalla una tesi forte di Church per macchine strutturalmente programmabile significa programmabili. macchina strutturalmente

essenzialmente convogliare lungo canali precisi il fenomeno utilizzato per ottenere la realizzazione fisica della computazione. Controllare un fenomeno fisico significa ridurre il numero di gradi di libert, e quindi di interazioni, del fenomeno stesso, riducendo in tal modo anche le risorse della computazione.

Reti Neurali: modelli e aspetti applicativi

17

2.6 - CERVELLO E CALCOLATORI

Si esamineranno brevemente alcune differenze fondamentali tra il cervello e le architetture delle macchine di calcolo viste prima. Il cervello umano costituito da una rete di moltissimi neuroni (1011 1012 ) collegati tra loro da un numero elevato di connessioni dette sinapsi (103 104 sinapsi per ogni neurone). In totale il numero di sinapsi del cervello varia da circa 1014 a 1016 . Ogni sinapsi pu essere inibitoria o eccitatoria per cui il numero delle configurazioni possibili uguale a 2 elevato al numero totale di neuroni nel cervello :

Si pensa che questo altissimo numero di configurazioni sia responsabile delle eccezionali prestazioni del cervello. Bench moltissimi processi cerebrali non siano ancora noti o perfettamente compresi noto che l'apprendimento e la memoria a lungo termine si attuano con la formazione di nuove sinapsi. Sono elencate di seguito alcune peculiarit del cervello: Parallelismo e lentezza dei neuroni. Studi non tanto recenti hanno mostrato che il cervello elabora le informazioni in modalit parallela, questa affermazione nasce da semplici considerazioni. Un'operazione base viene effettuata da un neurone in tempi dell' ordine di decine di millisecondi, mentre il cervello in grado di risolvere complicatissimi problemi di visione e linguaggio in circa 500 ms. Tenendo conto dei tempi di ritardo di propagazione del segnale tra neuroni, si pu dire che il lavoro computazionale del cervello fatto in meno di 100 passi, e consiste nell'esecuzione in parallelo da parte di neuroni di operazioni base molto semplici. Bassa dissipazione termica. L'energia termica dissipata da un neurone in una elementare operazione di calcolo circa 3 x 10-3 erg che in confronto ai 3 x 10-14 erg dissipati in una porta logica di un computer convenzionale 11 ordini di grandezza superiore. L'intero cervello dissipa meno di 100 Watt. Elementi base di natura analogica. I neuroni sono degli elementi che operano in maniera analogica. Essi operano su un ingresso sinaptico e generano un uscita a valori continui. Alta ridondanza. Tale propriet permette al cervello di essere un sistema estremamente flessibile a superare disastri locali nella sua struttura senza perdita significativa di prestazioni. Molti neuroni muoiono ogni giorno e il cervello continua ad operare.

E' interessante paragonare il modello di cervello visto con le specifiche di un calcolatore elettronico: un supercomputer moderno dotato di almeno 1000 megabyte di memoria centrale, che corrispondono al massimo a 1010 transistor, e usa meno di 108 transistor in funzioni logiche. Un processore compie un operazione logica base in un ciclo di circa 10 -9 secondi. La potenza dissipata dal computer dell'ordine di 105 Watt. In un computer la tolleranza ai malfunzionamenti locali un fattore estremamente critico, vengono tollerati disastri solo in parti della memoria e mai nel processore. interconnessioni se recentemente Un'altra caratteristica del cervello umano che le tridimensionale con schema mentre di nella tra i neuroni interessano uno spazio sono stati costruiti chip di silicio

maggioranza dei computer le piastrine di silicio hanno uno schema di connessioni piano, anche connessioni tridimensionale. Si pu concludere osservando che i componenti base del cervello sono molto pi numerosi, pi connessi e pi lenti dei componenti di un computer.

2.7 - SISTEMA NERVOSO, CERVELLO E NEURONI

Sono qui sintetizzati alcuni concetti fondamentali sul sistema nervoso e sulla struttura del cervello. Il sistema nervoso si divide in due parti principali: periferico e centrale. Il primo svolge funzioni di interfaccia tra il sistema nervoso centrale e l'ambiente esterno. I segnali trattati comprendono gli ingressi sensoriali, le uscite si manifestano con stimoli motori, dolori, da talamo, immagini ipotalamo, gangli basali, visive, sistema percezioni limbico e varie. Il sistema nervoso centrale costituito dalla spina dorsale e dal cervello, formato a sua volta neocorteccia. L'unit costitutiva di tutto il sistema nervoso il neurone, la cui anatomia e mostrata in figura 2.3. Un neurone una cellula dotata di corpo cellulare dal quale si dipartono molte brevi ramificazioni di ingresso (dendriti) e una sola lunga ramificazione di uscita (assone). I neuroni comunicano tra loro mediante impulsi particolari detti spike, generati da processi elettrochimici. In condizione di riposo esiste una differenza di potenziale di circa -70 -90 milliVolt tra l'interno e l'esterno della membrana cellulare del neurone, ed dovuta alle diverse concentrazioni di ioni sodio e potassio tra le due pareti della membrana. Queste differenze sono causate da un apposito enzima-pompa capace di muovere gli ioni. Quando un evento esterno come la scarica di altri neuroni provoca una variazione del potenziale della membrana, viene aumentata la permeabilit della membrana stessa agli ioni di sodio. Questi ioni si riversano all'interno della cellula dove la loro concentrazione minore, causando una corrente elettrica. Contemporaneamente la differenza di potenziale tra l'interno e l'esterno

Reti Neurali: modelli e aspetti applicativi

19

della membrana cambia di segno e diventa circa +40 +50 mV. Dopo il passaggio degli ioni sodio si apre in canale analogo anche per gli ioni potassio che ristabilisce la situazione di concentrazioni e potenziali precedente. La rapidissima inversione del potenziale di membrana origina lo spike o potenziale d'azione e costituisce il messaggio trasportato lungo l'assone. Il livello di tensione a cui la membrana da origine allo spike detto soglia di eccitazione. Lo spike si propaga, quasi senza attenuazione, lungo l'assone liberando energie locali. Sulla sinapsi lo spike provoca l'emissione di particolari sostanze dette neurotrasmettitori, i quali raggiungono i dendriti del neurone successivo e provocano una variazione della permeabilit della membrana, consentendo la trasmissione del segnale tra i neuroni connessi. In generale un singolo potenziale d'azione che raggiunge una sinapsi non sufficiente a generare la produzione di altri potenziali d'azione nel prossimo neurone. L'effetto additivo di pi potenziali d'azione sui dendriti del neurone postsinaptico e capace di superare la soglia di eccitazione del neurone, generando un potenziale d'azione. Il numero medio di potenziali d'azione nell'unit di tempo in funzione della corrente positiva in ingresso a un neurone rappresentato in figura 2.4. Questa funzione ha la forma di una sigmoide che va da 0 per correnti negative fino a un livello massimo di saturazione di 100 1000 spike per secondo per correnti positive molto alte.

FIGURA 2.3. - Anatomia di un sistema di tre NEUROPHYSIOLOGY:A PRIMER WILEY/1966/C.F. STEVENS)

neuroni

interagenti. (FONTE

FIGURA 2.4 - Grafico rappresentante il numero medio di potenziali d'azione nell'unit di tempo in funzione della corrente positiva in ingresso a un neurone. (FONTE PROCEDINGS OF THE NIELS BOHR CENTENARY SYMPOSIUM 10/85/J.J. HOPFIELD)

Reti Neurali: modelli e aspetti applicativi

21

2.8 - NATURA E COMPUTAZIONE

In natura esistono fenomeni di trattamento delle informazioni diversi da quelli utilizzati

nella

costruzione dei calcolatori digitali a tecnologia elettronica. 6 Nella genetica molecolare si realizzano veri meccanismi di computazione, nei quali la computazione definita da tre elementi concettuali: un ingresso, un'uscita e una unit di calcolo. La traduzione del DNA nella struttura di una proteina, la costruzione di un complesso organismo dalle istruzioni del DNA sono esempi di computazione biologica. Il processo di creazione di pi proteine da parte di una cellula in crescita analogo alla computazione di una macchina di Turing (vedi figura 2.5). In questo processo l'informazione memorizzata nell'RNA messaggero (mRNA) utilizzata come istruzione per costruire la proteina. Il nastro con l'alfabeto esterno in ingresso costituito dall'mRNA, l'uscita finale la proteina che consiste in un polimero di amino-acidi con struttura tridimensionale. L'mRNA un polimero costituito da quattro tipi di unit A, U, G e C. La proteina un polimero fatto da venti tipi diversi di aminoacidi, glicina, alanina, tirosina,...etc. La sintesi della proteina fatta da un composto polimolecolare, formato da proteine e RNA detto ribosoma, che pu essere visto come l'unit di controllo della macchina di Turing del processo. Il ribosoma legge l'input dell'mRNA (nastro di ingresso) e inserisce sequenzialmente il corrispondente amminoacido nella proteina. Le operazioni logiche descritte sono fatte da particolari reazioni chimiche della cui logica non noto quasi nulla. Le operazioni logiche fatte sono descritte dalla sequenza: 1. Leggi le prossime tre celle dall'nRNA tape 2. Cerca l'aminoacido corrispondente nel dizionario genetico 3. Aggiungi l'aminoacido alla proteina 4. Muovi l'input tape di tre celle Il programma contiene anche una possibile istruzione di dal processo esaminato risulta esatta in quasi tutti i casi computazioni digitali, mentre accettabile per stop nel dizionario genetico.

La computazione biologica molto poco accurata rispetto quella digitale. La proteina formata con un livello di errore di circa computazioni biologiche. 1/3000. Questo livello di errori nel produrre l'output certamente molto alto nel caso di

6 J.J. Hopfield, "Physics, biological computation, and complementarity", Proceedings of Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985.

Le osservazioni fatte in relazione alla computazione biologica permettono di affermare che possibile definire i principi costruttivi di nuove macchine di calcolo capaci di superare i limiti degli elaboratori di Von Neumann, basate su fenomeni fisici diversi da quelli attualmente utilizzati, con particolare riguardo alla imitazione di strutture biologiche o fenomeni microbiologici. Pi avanti si approfondir lo studio di macchine di calcolo basate sulla imitazione strutturale di entit biologiche come il cervello umano. Queste macchine sono chiamate reti o sistemi neurali, mentre la loro architettura definisce i cosiddetti modelli connessionistici. Gli algoritmi su cui si basa l'intelligenza animale sono implementati nel cervello. Utilizzando questo particolare hardware il cervello raggiunge le altissime prestazioni che si conoscono. L'idea base dei sostenitori dei sistemi neurali che la specializzazione della nostra intelligenza sia una peculiarit dei sistemi biologici ad altissimo grado di connessione. La semplicit dei neuroni e delle sinapsi e la loro universalit biologica fa supporre che imitando tali componenti sia possibile costruire sistemi artificiali di analoghe prestazioni.

FIGURA 2.5 - Processo di creazione di pi proteine da parte di una cellula in crescita, analogo alla computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidi costituenti la proteina.

3. - MODELLI DI RETI NEURALI


3.1 - INTRODUZIONE

In questo capitolo, dopo una breve esposizione delle origini storiche delle reti neurali, vengono

Reti Neurali: modelli e aspetti applicativi

23 che caratterizzano un sistema neurale, distinguendoli computer digitale ad architettura Von Neumann. che verranno utilizzati nelle

definiti

principi e gli

elementi

nettamente da quelli alla base di un Nell'ultimo applicazioni dei capitoli successivi.

paragrafo sono elencati i principali modelli

3.2 - ORIGINE DELLE RETI NEURALI

Lo studio delle reti neurali risale ai primi tentativi di tradurre in modelli matematici i principi dell'elaborazione biologica. Le pi antiche teorie del cervello e dei processi mentali sono state concepite dai filosofi Greci Platone (427-347 A.C) e Aristotele (384-322 A.C). Queste teorie furono riprese molto pi tardi da Cartesio (1586-1650) e nel XVIII secolo dai filosofi empiristi. Le prime realizzazioni di macchine cibernetiche, categoria alla quale appartengono i sistemi neurali, appaiono negli anni quaranta col nascere di una scienza nuova, la cibernetica. La cibernetica definita come scienza che studia i processi intelligenti e fu fondata da Norbert Wiener nel 1947. Ross Ashby, un altro padre della cibernetica, costruisce nel 1948 l'omeostato uno dei primi sistemi con connessioni interne regolabili, capace quindi di variare la sua configurazione interna adattandola a stimoli esterni. Il neurofisiologo W.S. MC Cullock e il matematico W.A. Pitts (1943) di Chicago sono stati i primi a formulare l'approccio cibernetico fondamentale alla struttura neurale. John Von Neumann, dopo del cervello elaborando il primo modello di rete formulato l'architettura base dei moderni aver

calcolatori, comincia nel 1948 lo studio delle reti di automi cellulari precursori di nuovi modelli computazionali. Nel 1949 il neurofisiologo Donald Hebb, dagli studi sul processo di apprendimento dei neuroni, dedusse la prima regola di apprendimento applicata nelle reti neurali. Contemporaneamente gli studi di Lashley sulla mente umana indicavano che l'organizzazione della conoscenza e la memoria si basava su rappresentazioni distribuite. Nei primi anni sessanta si costruiscono le prime macchine in grado di presentare primitive forme di apprendimento spontaneo e guidato, sono il Perceptron di Frank Rosemblatt della Cornell University e l'Adaline (Adaptive linear element) di Bernard Windrow di Stanford. Il Perceptron una rete neurale costituita da dispositivi logici in grado di risolvere semplici problemi strutture che di riconoscimento di forme. Esso rappresento un prototipo delle Italia si sviluppano iniziative vennero elaborate pi avanti. Anche in

particolarmente importanti. Eduardo Caianello, dellUniversit di Napoli, sviluppa la sua teoria sui processi e le macchine pensanti sulla base delle idee di Mc Cullock, Pitts e Hebb. A Genova viene realizzata da Augusto Gamba una macchina derivata dal Perceptron. Nel 1969

Marvin Minsky e Seymour Papert, del Massachusetts Institute of Technology, pubblicano un'analisi molto critica delle macchine tipo il Perceptron . Essi dimostrarono matematicamente le limitazioni delle reti neurali nel risolvere problemi quali la determinazione della parit di un numero binario, il calcolo di una funzione XOR di 2 bit o la classificazione delle immagini in base alla loro connettivit. Questi problemi potevano essere risolti solo da reti neurali omniconnesse in cui ogni neurone connesso con tutti gli altri neuroni della delle connessioni crescerebbe esponenzialmente rete, in una simile rete il numero

all'aumentare del numero di neuroni contrariamente a quanto avviene nei sistemi biologici nei quali le connessioni crescono linearmente. Minsky era uno dei sostenitori di un approccio rivale alle reti neurali, l'Intelligenza Artificiale (A.I.) classica basata su computer tradizionali. In seguito alle tesi di Minsky il campo delle reti neurali fu abbandonato dalla maggior parte degli studiosi, i quali si rivolsero dal fatto che la tecnologia allora disponibile al campo dell'A.I. apparentemente pi difficoltosa o addirittura promettente. Secondo chi scrive comunque, questo cambiamento di interessi fu causato anche rendeva molto impossibile la sperimentazione nel campo delle reti neurali, ne vi erano computer abbastanza veloci per simulare reti neurali complesse. Negli anni sessanta e settanta la ricerca continuo con contributi teorici e poche applicazioni. Alcuni ricercatori come Shunichi Amari, Kunihiko Fukushima e Shephen Grossberg tentarono di simulare il comportamento di neuroni cerebrali con reti di unit di calcolo operanti in modalit parallela. Inoltre formularono teorie matematiche ed architetture per individuare e classificare i tratti caratteristici delle forme da riconoscere e per costruire le prime memorie associative. In queste ultime vengono utilizzate informazioni parziali come chiavi per recuperare memorizzati. dati

Reti Neurali: modelli e aspetti applicativi

25

L'interesse sviluppatosi nei primi anni 80 per i modelli neurali sicuramente dovuto a diversi fattori, che sono elencati di seguito: i progressi compiuti nella comprensione di alcuni fenomeni computazionali biologici, la disponibilit di potenti computer in grado di simulare i nuovi modelli neurali. lo sviluppo di tecnologie VLSI e ottiche che si prestano alla costruzione di circuiti di tipo neuronico. la determinazione dei limiti dell'A.I., i quali sono strettamente legati ai limiti dei computer seriali di Von Neumann. John Hopfield del California Institute of Technology propone nel 1982 un modello computazionale basato su concetti energetici e pertanto applicabile in svariati campi. Questo nuovo modello permise di studiare il comportamento globale di reti molto pi complesse dei perceptron, non analizzabili con metodi classici. In particolare era possibile studiare reti con neuroni nascosti. Con questo risultato termina la "preistoria" dello studio delle reti neurali e inizia la cronaca di un settore in rapida evoluzione. Nel 1987 la CEE promuove il progetto BRAIN (Basic research in adaptive intelligence and neurocomputing), inoltre si tiene a S.Diego la prima conferenza internazionale sulle reti neurali con 2000 partecipanti provenienti sia dalle universit sia dall'industria. Alla luce dei risultati ottenuti, Minsky e Papert rivedono le loro critiche e indicano nuove direzioni di sviluppo nell'area delle reti neurali. I principali settori cui la ricerca attuale indirizzata sono: la rappresentazione della conoscenza la visione il riconoscimento di forme la comprensione del linguaggio naturale le memorie associative la robotica e la sensorica l'inferenza la risoluzione di particolari problemi computazionali.

3.3 - ARCHITETTURA ASTRATTA DI UNA RETE NEURALE

Si descriver adesso l'architettura generale di un analizzando una serie di caratteristiche comuni: 1. unit di computazione base 2. stato delle unit 3. attivit della rete 4. insiemi di connessioni 5. funzione di attivazione 6. regola di apprendimento 7. topologia del modello 8. rappresentazione dei dati

modello di rete neurale, elencando e

- Unit di computazione base. Nel contesto di una rete neurale, l'unit base sulla quale costruito il modello un elemento computazionale semplice disposto in una architettura a rete . L'elemento accetta dei segnali in ingresso, li elabora secondo determinate regole, e sulla base di questi segnali, del proprio stato interno e degli stati precedenti calcola un segnale in uscita Vi , che viene inviato alle unit a cui esso risulta connesso. Il modo in cui avviene tale processo nella rete parallelo, tutte le uscite Vj dei neuroni nel j senso ai che quali molte unit lavorano simultaneamente. In generale l'ingresso di un neurone i rappresentato dalla sommatoria di connesso:

3.1 Tij lintensit della connessione, e si esaminer pi avanti. Le unit risultano divise in tre categorie: unit di ingresso, unit di uscita e unit nascoste. Le prime ricevono ingressi da sorgenti esterne al sistema, le unit di uscita inviano segnali all'esterno del sistema mentre le unit nascoste sono collegate solo con identificata col termine input e output interni. L'unit base pu essere neurone. Diversi autori hanno elaborato un modello dell'unit

fondamentale di calcolo di un sistema di neuroni, si pu dire che essa un emulazione semplificata delle funzioni del neurone biologico. I vari modelli di neuroni elaborati si distinguono generalmente per il tipo di risposta che essi presentano ingresso. In a uno stimolo in questa differenziazione i modelli di neurone rispecchiano i diversi tipi di

Reti Neurali: modelli e aspetti applicativi

27

neurone biologico. - Stato dell'unit. Ad ogni unit associato un valore numerico detto stato dell'unit che generalmente viene fatto corrispondere al valore della variabile in uscita V (t). Per N unit lo stato Vi(t) un vettore di N componenti in cui ciascuna componente rappresenta

l'attivazione di un'unit. I valori dello stato possono essere continui o discreti. Lo stato della rete di neuroni al tempo t descritto dall'insieme di variabili che descrivono lo stato delle unit semplici. - Attivit della rete. L'attivit della rete il numero di neuroni attivi al tempo t:

3.2 - Insiemi di connessioni. Le unit sono interconnesse. In generale l'ingresso di un unit determinato dalla somma pesata delle uscite a cui essa risulta connessa. Lintensit della connessione tra due unit data dal generico peso Tij. Il peso Tij positivo se l'unit j esercita un'azione eccitatrice sull'unit i ed negativo in caso contrario. E' possibile associare ad un sistema di interconnessioni una matrice di pesi T nella quale il generico elemento Tij specifica lintensit della connessione tra l'unit j e l'unit i. L'insieme dei pesi delle connessioni determina come il modello risponder ad un ingresso arbitrario e di conseguenza costituisce la "conoscenza o memoria del sistema". Con una terminologia pi vicina ai sistemi biologici lintensit della connessione tra due unit neuroniche detta sinapsi.

FIGURA 3.1a Rappresentazione grafica della funzione di attivazione V(t+1), che dipende dall ingresso del neurone Ui e dallo stato Vi al tempo t.

- Funzione di attivazione. Una caratteristica importante delle unit di una rete neurale il modo in cui i vari segnali di ingresso vengono combinati per determinare il segnale complessivo. Una funzione di attivazione data da:

3.3 La funzione di attivazione associa allo stato e agli ingressi attuali un nuovo stato di attivazione. La Fi [ ] , nei casi pi semplici, la funzione identit, cio lo stato Vi dell'unit coincide con l'ingresso totale U , e la funzione Fi [ ] risulta lineare. In altri casi Fi [ ] una funzione a soglia per cui l'ingresso totale deve superare un determinato valore per contribuire al nuovo stato dell'unit. Alcune forme caratteristiche della funzione di attivazione sono visualizzate nella figura 3.1b . Si notino le tre forme base non lineari di F i [ ]: hard limiter, threshold logic e sigmoide. Un'altra caratteristica importante delle funzioni di attivazione il loro carattere che pu essere deterministico (stocastico) o non deterministico. Nel primo caso, un neurone cambia sempre il suo stato se l'input eccede una certa soglia. La dinamica della rete in questo caso definita markoviana, cio lo stato della rete al tempo t+ dipende solamente dallo stato della rete al tempo t, e non dagli altri stati precedenti. Nel secondo caso la funzione di attivazione probabilistica (macchina di Boltzmann), per cui anche se l'input supera il valore della soglia, non detto che il neurone cambi stato.

FIGURA 3.1b - Rappresentazione dell'ingresso pesato di un neurone e delle tre principali funzioni di attivazione. (FONTE IEEE ASSP MAGAZINE 4/1987 R.P. LIPPMANN

- Regola di apprendimento. Si detto che la conoscenza di un sistema neurale codificata dai

Reti Neurali: modelli e aspetti applicativi

29

pesi delle connessioni tra le unit, per cui apprendere equivale a modificare i pesi di tali connessioni. A tal fine sono state elaborate varie regole che simulano elementari forme di apprendimento per diversi modelli di reti. I meccanismi di apprendimento possono essere con supervisione (guidati) o senza (spontanei) 7 . Nei primi un supervisore fornisce alla rete degli ingressi e confronta la risposta della rete con quella corretta nota a priori. In base a questo confronto vengono stabilite le modalit di modifica dei pesi di interconnessione. L'apprendimento guidato consente alla rete di imparare tramite i molti esempi forniti dal supervisore, in una modalit che ricorda l'apprendimento umano. La regola di apprendimento spontanea pi semplice quella definito da Hebb8 , la cui idea base Hebb di aumentare il peso T se l'unit i-esima riceve in ingresso l'uscita dell'unit j-esima e le due unit sono contemporaneamente attive. La regola di Hebb espressa come segue: 3.4 Le altre regole di apprendimento spontanee sono delle evoluzioni di quella di Hebb oppure si basano su altri principi. Un'altra fondamentale regole di apprendimento la regola back-propagation utilizzata universalmente in quasi tutte le reti di neuroni che incorporano livelli "nascosti". - Topologia. Fissate le caratteristiche delle singole unit si analizza adesso il modo in cui tali unit sono connesse tra loro cio la topologia della rete neurale. Alcuni esempi di topologie di reti neurali sono rappresentate in figura 3.2. In alcuni modelli le connessioni seguono schemi predeterminati, in altri schemi casuali. Molti modelli vengono organizzati in pi livelli di unit, oppure in diversi strati di connessioni tra unit. Analizzando una rete a pi livelli bisogna distinguere tra livelli "visibili", costituiti da unit di ingresso o uscita, e livelli "nascosti". Analizzando le connessioni tra le unit si possono distinguere modelli feedforward, nei quali esistono connessioni solo tra le uscite e gli ingressi di unit di livelli successivi, e modelli con meccanismi di retroazione detti anche modelli feedback (reti di Hopfield). In questi ultimi modelli si possono avere connessioni tra le uscite di unit di un livello e le entrate di unit di un livello precedente, inoltre, come si vede in figura 3.2, il tipo di feedback pu essere ordinato o amorfo. Nei modelli gating le uscite delle unit agiscono sui pesi delle connessioni. Altre distinzioni si possono fare riguardo la connettivit laterale, cio le connessioni di elementi dello stesso strato. Nel tipo
7 T. J. Sejnowsky, "Neural Network Learning Algorithms", NATO ASI Series, Vol. F41, SpringerVerlag, Berlino 1988. 8 Donald O. Hebb, The Organization of Behavior, Wiley, New York 1949.

cooperativo-competitivo

ogni

elemento connesso ai suoi vicini mediante connessioni

alternativamente eccitatorie e inibitorie, nel tipo "on-center/off-surround" le connessioni laterali sono tutte inibitorie, nel tipo a campo ricettivo (reti di Kohonen) ogni ingresso ha una determinata distribuzione sull'intero livello e qualunque tipo. - Rappresentazione dei dati. Nei sistemi neurali i dati in ingresso sono rappresentati definendo lo stato di un particolare insieme di unit di ingresso. Ogni dato complesso viene rappresentato da un insieme di elementi subsimbolici e non dalla modifica arbitraria di un simbolo. Ad esempio le unit di ingresso possono rappresentare la presenza di una lettera in una determinata posizione in una parola, oppure lo stato di un ricettore immaginario su una retina artificiale. La scelta dello schema rappresentativo dei dati contribuisce a determinare la potenza computazionale del sistema. Analogamente l'uscita di una rete neurale viene definita dallo stato di un insieme predeterminato di unit. In molti modelli lo stato delle singole unit di uscita rappresenta la verit o falsit di una determinata proposizione. la connessione laterale pu essere di

Reti Neurali: modelli e aspetti applicativi

31

FIGURA 3.2 - Tipi generali di architetture di reti neurali

3.4 - DEFINIZIONE DI RETE NEURALE

Una definizione generale di rete neurale potrebbe essere la seguente: una rete neurale un insieme di semplici unit di elaborazione (neuroni) altamente interconnesse tra di loro, che interagiscono tra loro e con gli oggetti del mondo esterno mediante lo scambio di segnali in modo simile alle strutture neurali biologiche. Le differenze tra una rete neurale e un computer digitale convenzionale sono state adeguatamente sintetizzate dal fisico Kohohen9 : I principi della logica digitale non sono applicabili a un sistema neurale. I neuroni non possono essere circuiti logici a soglia, perch ogni neurone ha migliaia di input variabili e la stessa soglia e dipendente dal tempo. L'accuratezza e la stabilita di un circuito normale non sufficiente a definire una variabile booleana. Inoltre i processi collettivi, che sono di fondamentale importanza nel calcolo neurale, non sono implementabili mediante semplici circuiti logici. I neuroni e le sinapsi non sono elementi di memoria bistabili come dei flip-flop. I neuroni sembrano comportarsi come dei sistemi integratori analogici di natura non lineare, le sinapsi sono delle connessioni la cui efficacia varia gradualmente. Una rete neurale non ha istruzioni o codici di controllo che regolano lo stato funzionale del sistema. Lo schema di interconnessione di un sistema neurale non permette il calcolo ricorsivo, per cui impossibile implementare algoritmi di calcolo.

9 Kohonen Teuvo. An Introduction to Neural Computing, Neural Networks, Vol. 1. 1988, pag 316.

Reti Neurali: modelli e aspetti applicativi

33

3.5 - CLASSIFICAZIONE DELLE RETI NEURALI

Sebbene le reti neurali siano in rapida evoluzione possibile fare una classificazione dei principali modelli, continuo o riferendoci con essa a evidenziare i diversi approcci di vari autori. Una determinata dal tipo di regola di prima suddivisione pu essere fatta in base all'ingresso dei neuroni che pu risultare discreto. La successiva divisione apprendimento che pu essere con o senza supervisione. Un altro aspetto importante il tipo di funzione di attivazione che pu essere o non essere deterministica. Nei modelli deterministici e stocastici l'evolversi della dinamica del sistema spesso prevedibile a lungo termine (reti di Hopfield). Nei modelli non deterministici, che simulano pi da vicino i sistemi biologici, si ha una funzione d'attivazione probabilistica (Macchina di Boltzmann). La simmetricit della matrice delle connessioni origina una ulteriore suddivisione in reti simmetriche che sono tipicamente le reti di Hopfield, e asimmetriche come i perceptroni. Si formano a questo livello diverse famiglie di reti neurali .10 Nel presente lavoro saranno esaminati i seguenti modelli: Reti di Hopfield discrete e continue Macchina di Boltzmann Perceptrone e Perceptrone multistrato Reti auto-organizzanti di Kohonen

10 Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Aprile 1987, pag 4-22 .

4. - RETI DI HOPFIELD E MACCHINA DI BOLTZMANN


4.1- INTRODUZIONE

Si esamineranno in questo capitolo le reti neurali simmetriche di Hopfield11 e la macchina di Boltzmann. Queste reti, come si vedr nel prossimo capitolo, sono particolarmente adatte alla risoluzione di problemi soluzioni, oppure alla di ottimizzazione combinatoria ad altissimo numero di di memorie associative. implementazione

Si comincer con l'originale modello discreto di Hopfield del 1982 basato su unit con ingressi binari e prototipo di successivi modelli. Una evoluzione del modello discreto di Hopfield il modello continuo, proposto dallo stesso Hopfield nel 1984 capace di ottime prestazione nella risoluzione di problemi particolarmente complessi. In tale modello i neuroni sono realizzati fisicamente da dispositivi elettronici ottimale del problema cui applicata. analogici. La macchina di Boltzmann, esaminata successivamente, permette al contrario dei modelli di Hopfield di avvicinarsi alla soluzione

4.2 - MODELLO DISCRETO DELLA RETE DI HOPFIELD

Il modello discreto di rete neurale proposto da Hopfield formato da N semplici unit di calcolo detti neuroni reciprocamente interconnessi (vedi Fig. 4.1). Ogni neurone pu assumere due stati interni descritti dalla variabile V :

4.1 Lo stato del neurone coincide col valore in uscita dell'unit stessa. Lo stato del sistema a un dato istante definito dall'insieme degli N valori della variabile di stato Vi per cui pu essere rappresentato da un vettore di stato di N bit, V = [V1 , V2 , ... ,VN]. L'ingresso di ciascun neurone espresso nella forma seguente:

4.2
11 J.J.Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982).

Reti Neurali: modelli e aspetti applicativi

35 Tij un elemento di una matrice di

In tale relazione N il numero dei neuroni,

interconnessione T rappresentante l'intensit di connessione tra il neurone i e j, Vj esprime l'uscita del neurone j, mentre Ii un ingresso esterno che viene fornito al neurone i. interruttori SWj realizzazione Gli

commutano in modo asincrono con ritardi casuali e permettono la della retroazione tra le uscite e l'ingresso della rete.

Nelle simulazioni software del capitolo 7 si assume che la chiusura degli interruttori SW i sia sincronizzata. Quando l'i-esimo interruttore si chiude, lo stato interno dell'i-esimo neurone si evolve seguendo la funzione di attivazione seguente: Vi (t+1) = stp [Vi (t)] 4.3

Nella 4.3 il tempo t assume valori discreti, stp(x) una funzione a gradino uguale a 1 se x Si , 0 se x < S , S un valore definito soglia di attivit del neurone i. Senza nessuna perdita di generalit si possono assumere nulle le soglie di tutti i neuroni della rete. Con questa assunzione si pu definire la funzione d'attivazione nella forma:

4.4 Per le reti di Hopfield definita anche una regola di apprendimento che definisce il valore dei componenti della matrice di interconnessione T. La regola di apprendimento utilizzata da Hopfield la regola di Hebb, si esaminer in dettaglio pi avanti il legame tra tale regola e le applicazioni della rete. L'evoluzione del modello discreto di Hopfield nel suo spazio di configurazioni segue le leggi dinamiche dei processi stocastici, per cui lo stato della rete al tempo t+1 determinato unicamente dallo stato al tempo t precedente. Per determinare lo stato della rete al tempo t+1, non richiesta quindi alcuna informazione per tempi precedenti l'istante t.

FIGURA 4.1a - In alto mostrata la funzione di attivazione di una rete discreta di Hopfield, il cui schema mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOPFIELD)

Reti Neurali: modelli e aspetti applicativi

37

4.3 - CONSIDERAZIONI ENERGETICHE SULLA RETE DISCRETA DI HOPFIELD

Hopfield ha definito per il suo modello una funzione energia che rivela propriet della

importanti

rete. Considerando una matrice T di pesi di connessione simmetrica e con

elementi diagonali nulli si definisce la funzione energia computazionale come segue:

4.5 Si consideri adesso la variazione di energia E dovuta alla variazione dello stato Vi di un neurone, si assuma la variazione del neurone i da uno stato inattivo a uno attivo, si ha:

4.6 La variazione di stato -Vi uguale a 1 nel caso considerato per cui si ha: Ei= -Vi Ui (t+1)= -Vi Vi (t+1) = -1 < 0 4.7

Si noti che nel caso di un neurone che passa da uno stato Vi(t) = 1 a uno stato Vi(t+1)=0 si ha

Vi = -1 , mentre per la 4.7 Ei = 0. La variazione totale di energia della rete :

se Ei 0

allora

E 0

4.8

Da queste considerazioni Hopfield concluse che l'energia computazionale, al variare dello stato del sistema neurale, decresce monotonicamente fino a raggiungere un minimo locale. Dalla simmetria della definizione dello stato di un neurone risulta che se un vettore corrisponde a uno stato stabile della rete allora anche il vettore complemento sar stabile. Se consideriamo lo stato dei neuroni espresso mediante le variabili i = 1 che sono legate alle Vi dalla relazione i = 2Vi - 1, i vettori rappresentanti lo stato della rete possono essere rappresentati nello spazio degli stati, tale spazio composto dalle N componenti i corrisponde a un ipercubo con coordinate 1 . I vettori che minimizzano E corrispondono ai vertici dell'ipercubo N-dimensionale. (vedi figura 4.3). Hopfield dimostr l'esistenza di una funzione di Ljapunov nello spazio degli stati della suo modello Ljapunov corrisponde di rete neurale, tale funzione di all'energia computazionale. Seguono adesso alcune importanti

definizioni legate alle funzioni di Ljapunov: Una funzione H : S detta di Ljapunov se, dato un qualunque s(to) S vale: ( t t0 ) : s(t + 1) s(t) s(t) = {si (t)} i=1,2,...n

H(s(t + 1)) H(s(t))

lo stato del sistema al tempo t

Un punto s S di equilibrio se: ( t ) : s(t) = s vale: s(t) = s

( t t ) s(t ) = s

Un punto s S di attrazione se di equilibrio ed esiste un intorno I di s tale che s I

( t t ) s(t ) = s

Hopfield studi il comportamento della rete mediante simulazioni software, verificando sia che la funzione energia fosse una funzione di Ljapunov, sia la presenza dei punti attrattori di energia minima verso i quali la rete evolveva.

FIGURA 4.1b - Sequenza di transizioni di un sistema fisico da uno stato iniziale V1 ad uno finale stabile V8, corrispondente ad un minimo di energia.

Reti Neurali: modelli e aspetti applicativi

39

Come gi detto la rete di Hopfield corrisponde a un sistema fisico descritto nello spazio degli stati del sistema di coordinate V 1 ,V2 ,..VN e caratterizzato da punti di attrazione o iniziale V

minimi locali V1 ,V2. Se il sistema viene fatto partire da una

configurazione

sufficientemente vicina a una configurazione di attrazione, ad esempio V = V1 + , esso evolver nel tempo fino a raggiungere la configurazione stabile V1 (vedi figura 4.1b). Un sistema fisico la cui dinamica nello spazio delle configurazioni dominata da un certo numero di stati attrattori pu trovare applicazioni nel campo delle memorie indirizzabili per contenuto C.A.M. (Content Addressable Memory o Memorie Associative) o come si vedr pi avanti col modello memorizzata mentre continuo di Hopfield nella risoluzione di problemi di iniziale una conoscenza parziale ottimizzazione. Nel primo caso si vedr che gli stati attrattori corrispondono all'informazione la configurazione dell'informazione.

4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. DEL MODELLO DISCRETO DI HOPFIELD Una C.A.M. o memoria associativa un nuovo modello di memoria capace di restituire l'informazione memorizzata in risposta ad un ingresso rappresentato da una conoscenza parziale dell'informazione (vedi fig 4.1c). Al contrario in un memoria convenzionale i contenuti sono ricavati tramite gli indirizzi delle locazioni dove sono memorizzati. Il modello discreto della rete di Hopfield si presta naturalmente ad implementare una memoria associativa . Si supponga di voler memorizzare un set di M vettori binari V(s) s=1,2,...,M , Hopfield suggerisce di utilizzare una rete neurale facendo corrispondere gli stati stabili della rete con i vettori da memorizzare. L'algoritmo di memorizzazione proposto la regola di apprendimento di Hebb, mediante la quale si costruisce una matrice T di pesi definita come segue:

4.9 Si deve avere inoltre Tii = 0 e T ij = Tji . Si noti che utilizzando le variabili di stato i= 1, la regola di Hebb viene espressa in una forma molto usata in alcuni lavori:

4.10 In generale una rete descritte di seguito: 1. Fase di apprendimento. Questa fase consiste nella costruzione della matrice di neurale operante come memoria associativa opera nelle due fasi

interconnessioni T. Vengono presentati in ingresso alla rete neurale gli M vettori binari V(s) che sono i dati da memorizzare, la rete setta le connessioni tra i neuroni in accordo alla regola di apprendimento descritta dalle equazioni 4.9 e 4.10. 2. Fase operativa della memoria. In questo periodo avviene il richiamo delle informazioni memorizzate. La rete viene inizializzata con un qualsiasi vettore in ingresso, e comincia in tal modo l'evoluzione temporale della rete nello rappresenta una parte di un dato memorizzato, spazio delle configurazioni,

seguendo la funzione di attivazione 4.4 definita in precedenza. Se il vettore iniziale la rete evolve raggiungendo una configurazione finale stabile di energia computazionale minima. La configurazione finale pu risultare uno dei vettori memorizzati oppure uno stato particolare detto metastabile, che un minimo locale di energia non corrispondente a nessuno dei vettori memorizzati. Nella rappresentazione nello spazio degli stati che rappresenta la superficie stabile. La rete di Hopfield utilizzata come memoria associativa presenta due limiti non trascurabili. Il primo limite fissa il numero massimo di vettori memorizzabili e richiamabili con sufficiente accuratezza. Hopfield ha mostrato che il numero massimo di vettori memorizzabili Mmax 0.15*N, N il numero di neuroni della rete. Un altro limite consiste nella difficolt di memorizzare vettori con molti bit in comune e vettori con forti sbilanci tra bit ad 1 e bit a 0. Tali limiti saranno esaminati nel capitolo 7. della rete uno stato metastabile rappresentato come tutti i minimi di energia da uno dei vertici dell'ipercubo N-dimensionale energetica. Per particolari condizioni iniziali la rete presenta un comportamento oscillatorio per cui non viene mai raggiunto uno stato finale

Reti Neurali: modelli e aspetti applicativi

41

FIGURA 4.1c - In alto lo schema architetturale del modello discreto di Hopfield che implementa una memoria associativa, in basso si vede il proncipio di funzionamento

4.5 - MODELLO CONTINUO DELLA RETE DI HOPFIELD

Nel lavoro successivo Hopfield12 propone un nuovo modello di rete di neuroni basato su unit di elaborazione analogiche, che segue la dinamica di un sistema fisico in uno spazio di configurazioni continuo. Nel nuovo modello si ha un'analogia pi marcata tra i fenomeni fisici osservati nei neuroni biologici e descritti dalla neurodinamica classica e quelli che governano il funzionamento della rete artificiale. Lo stato del neurone descritto dalla variabile in ingresso U , la funzione di uscita continua e limitata: Vi (t) = gi (Ui (t)) Vi0 Vi (t) Vi1 g (- ) = 0 g(+ ) = 1 La funzione di uscita Vi (t) una sigmoide monotona crescente con asintoti Vi0 e Vi1.

La rete continua di Hopfield progettata per essere facilmente realizzabile fisicamente (si veda la figura 4.2). Le unit di elaborazione sono costruite mediante amplificatori operazionali con tempo di risposta trascurabile, e la cui caratteristica ingresso-uscita corrisponde alla funzione di uscita Vi (t) . In questo caso Vi (t) = gi (Ui (t)) la tensione di uscita del i-esimo amplificatore mentre Ui(t) la tensione in ingresso.

La connessione tra un amplificatore j e uno i realizzata mediante resistenze di conduttanza Tij . Ogni amplificatore dotato di due uscite, una normale e una inversa, in modo da realizzare connessioni eccitatrici e inibitrici. Il valore dell'uscita normale compreso tra 0 e 1, mentre l'uscita inversa da i valori tra 0 e -1. Tra l'ingresso di ciascun amplificatore e la massa inserito un gruppo parallelo, costituito da una resistenza i e una capacit Ci, che

definisce le costanti di tempo della rete. La corrente in ingresso totale di ciascun unit di elaborazione composta da due termini, il primo la sommatoria di tutte le correnti provenienti da tutte le unit connesse, il secondo una corrente di alimentazione esterna . A questo punto si pu descrivere la dinamica del sistema degli N amplificatori interagenti mediante le equazioni differenziali seguenti:

4.11

12 J.J Hopfield, Neuron with graded response have collective computational properties like two-state neurons, Proc. Natl. Acad Sci. 81, pag. 3088 (1984).

Reti Neurali: modelli e aspetti applicativi

43

FIGURA 4.2a - In alto mostrata la funzione di attivazione di una rete continua di Hopfield, in basso mostrato lo schema elettrico della rete. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD)

FIGURA 4.2b - In alto mostrato lo schema elettrico di una rete continua di Hopfield.

Reti Neurali: modelli e aspetti applicativi

45

dove Ri data dalla relazione :

4.12 i la resistenza in ingresso dell'amplificatore i, si assume che l'impedenza in uscita all'amplificatore sia nulla. L'interpretazione biologica del modello continuo di Hopfield quasi immediata. La neurodinamica classica porta alle seguenti considerazioni: 1. L'uscita Vi del unit computazionale i pu essere identificata col numero medio di

potenziali d'azione nell'unit di tempo emessi dal neurone i. 2. Il voltaggio in ingresso Ui all'unit i analogo al debole potenziale prodotto nel neurone i postsinaptico quando i potenziali d'azione dei neuroni presinaptici raggiungono la sinapsi e liberano i neurotrasmettitori chimici. L'input totale del neurone i j Tij Vi + Ii , dove Tij rappresenta l'efficienza della sinapsi tra il neurone i e il neurone j. 3. La resistenza e la capacit della membrana cellulare del neurone i sono espresse dalle costanti i e Ci . Le equazioni dinamiche che descrivono il modello neurale biologico definito sono quelle definite da Hopfield per il suo modello continuo di rete neurale. Queste equazioni omettono l'effetto della quantizzazione dei potenziali d'azione, inoltre considerano infinita la velocit di propagazione di tali potenziali. Conoscendo i valori delle tensioni Ui al tempo t = 0, le equazioni dinamiche permettono di ricavare una descrizione completa dell'evoluzione temporale dello stato del sistema. Analogamente al modello discreto, Hopfield ha trovato che, nell'ipotesi di simmetria della matrice di connessione, le equazioni dinamiche del modello continuo conducono alla convergenza verso stati stabili, cui dell'energia computazionale. Nell'ipotesi che la matrice T abbia gli elementi diagonali nulli e sia simmetrica l'energia computazionale definita come segue: corrispondono i minimi

4.13 Hopfield ha dimostrato che la derivata rispetto al tempo dell'energia computazionale

nell'ipotesi di una matrice T simmetrica, minore o uguale a zero, si ha infatti:

4.14 Dato che gi-1 (Vi ) una funzione monotona non decrescente e Ci sempre positivo, ogni termine della somma 4.14 non negativo per cui si ha: dE/dt 0 , dE/dt = 0 quando dVi /dt = 0 i Si pu affermare che l'energia computazionale una funzione di Ljapunov per il sistema. Inoltre se la curva di guadagno dell'amplificatore molto stretta l'ultimo termine di questa equazione nullo, per cui E espressa nella stessa forma del modello discreto. Il modello continuo di Hopfield deterministico, analogamente al modello stocastico lo stato della rete al tempo t determina unicamente lo stato della rete al tempo t + . Hopfield studiando il comportamento dei due modelli descritti ha osservato che il modello continuo deterministico continuo conserva le stesse propriet del modello discreto stocastico, ma si rivela pi veloce nel risolvere difficili problemi computazionali. Si vedranno adesso le relazioni tra gli stati stabili dei due modelli. Siano fatte per semplicit le seguenti assunzioni: gi (0) = 0, Vi0 = -1, Vi1 = 1, Ii = 0

indice i

L'energia per il caso considerato e:

4.15 Si ricercano adesso i massimi e i minimi del primo termine di E nel dominio dell'ipercubo definito mediante i vertici -1 V 1 i. Nel caso discreto stocastico l'energia E rappresentata solo dal primo termine della 4.15, e si detto che gli stati stabili corrispondono ai vertici dell'ipercubo N-dimensionale rappresentante lo spazio degli stati. Dato che E una funzione lineare di Vi con Vj costante, allora i minimi di energia del primo termine di E che ha variabili di stato continue nell'intervallo -1 V 1 corrispondono a quelli del caso discreto con variabili di stato i = 1. Il secondo termine di E altera tale interpretazione , consideriamo adesso la variabile Vi definita non pi da gi (Ui ) ma mediante il parametro (

Reti Neurali: modelli e aspetti applicativi

47

si vedr che nella macchina di Boltzmann il parametro -1 assumer il significato virtuale di una temperatura), si ha: Vi = gi ( Ui) e Ui = (1/)g-1(Vi)

FIGURA 4.3 - In alto mostrata la superficie energetica nello spazio delle coordinate r ed E, in basso si ha la stessa superficie vista dall'alto. (FONTE P.N.A.S. 81/1984 J.J.HOPFIELD; PHYSICAL D 1986/J.S DENKER)

Il parametro cambia la forma della funzione sigmoide g(x) senza alterarne gli asintoti (vedi figura 4.4). Il secondo termine di E diventa:

4.16 L'integrale 4.16 nullo per Vi = 0 e positivo altrimenti, e assume un valore molto alto per Vi tendente a 1. Riferendosi alla figura 4.3 che rappresenta la superficie corrispondente alla funzione energia nello spazio di coordinate Vi rispetto i ed E, si ha che per >> 1 i minimi di vertici dell'ipercubo, al crescere di i

energia sono dislocati verso l'interno

minimi di E si spostano verso l'esterno tendendo a posizionarsi sui vertici dell'ipercubo. Nel limite (la sigmoide diventa una funzione a gradino come si vede in alto alla figura 4.4) tale termine diventa trascurabile e la posizione dei minimi di energia nello spazio degli stati la stessa del modello discreto stocastico. Nel limite opposto << 1 si ha un solo minimo per Vi = 0.

FIGURA 4.4 - (a) La funzione di attivazione tipica di un neurone. (b) La funzione V=g( u) mostrata per tre valori del parametro l. ((c) Relazione inversa u=g -1 (V) della funzione V=g(u). (d) Il contributo di g all'energia della relazione 4.15 in funzione di V. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD)

La figura 4.3 mostra il contorno energetico per un sistema di due neuroni, i due assi V a e Vb

Reti Neurali: modelli e aspetti applicativi

49 4.3 indicano la direzione

sono le uscite dei due amplificatori. Le frecce della figura

privilegiata dell'evoluzione degli stati. Viene mostrata anche la deformazione del contorno energetico derivante dall'applicazione di correnti esterne. Si pu pensare al processo di computazione di una rete di Hopfield come l'evoluzione di un punto rappresentante lo stato del sistema nella superficie energetica visualizzata, tale evoluzione strettamente vincolata dalla presenza di punti attrattori corrispondenti alle valli della superficie. In definitiva il modello continuo di rete neurale non rimpiazza il modello discreto ma ne un'importante evoluzione. Il modello discreto ha il vantaggio di poter essere facilmente simulato mediante software su un computer digitale ed spesso pi pratico per sviluppare idee e simulazioni su modelli biologici di reti neurali.

4.6 - ANNEALING E ANNEALING SIMULATO

Si visto che le reti di Hopfield nella loro evoluzione nello spazio degli stati convergono verso stati di energia computazionale minima. Questi stati spesso corrispondono a minimi locali di energia, e se la rete implementa la soluzione di un problema, il minimo trovato non detto che corrisponda alla soluzione ottimale. Kirkpatrick ed altri13 hanno introdotto nel 1983 una nuova procedura per avvicinarsi al minimo globale della funzione energia. La procedura elaborata deriva da un'applicazione della meccanica statistica alla ricerca delle soluzioni di problemi di ottimizzazione combinatoria, in particolare essa deriva dal metodo Monte Carlo di Metropolis, che permette un efficiente simulazione di un sistema fisico in equilibrio termico ad una data temperatura. La rete cui si applica la nuova procedura la macchina di Boltzmann. Si vedranno adesso le considerazioni che hanno portato un numero N molto alto di all'elaborazione della macchina di Boltzmann. Lo scopo della meccanica statistica di

elaborare metodi per analizzare sistemi fisici composti da

particelle. Lo stato di questi sistemi fisici detto microstato, e corrisponde a un punto nello spazio delle fasi, le cui coordinate sono i 6N valori di coordinate e momenti che descrivono il sistema. La densit di probabilit che il sistema sia in un dato microstato la funzione di distribuzione del sistema. Per gli scopi di questa trattazione sufficiente considerare particelle classiche identiche con tre gradi di libert , sistemi fisici che siano rappresentati da insiemi canonici cio a contatto con un termostato a temperatura T (in tali sistemi sono fissi il numero delle particelle N, il volume V e la temperatura T). La funzione distribuzione del
13 S. Kirkpatrick ,C.D. Gelatt, M.P. Vecchi, Optimization by simulated annealing, Science Vol. 220, Num. 4598, 13 Maggio 1983, pag 671-680.

microstato v di energia Ev per gli insiemi canonici definita come:

4.17 Z la funzione di partizione degli insiemi canonici che legata all'energia libera di Helmholtz dalla relazione: F = - kT ln(Z). La 4.17 esprime che la densit di probabilit di una particolare configurazione del sistema corrispondente al microstato v proporzionale a exp(-Ev/kT), e corrisponde alla distribuzione di Boltzmann. Con le premesse fatte si esaminer adesso il metodo Monte Carlo di Metropolis, che permette di generare possibili configurazioni di un sistema Le regole sono: 1. seleziona a caso una particella; 2. seleziona uno spostamento casuale q delle coordinate della particella; 3. calcola il corrispondente cambio di energia E; 4. se E 0 la nuova configurazione viene accettata; 5. se E > 0 seleziona un numero reale a caso h tra 0 e 1; 6. se exp(E/kT) < h conserva la configurazione attuale; 7. se exp(E/kT) h accetta la nuova configurazione; Le regole elencate vengono ripetute iterativamente molte volte, consentendo di campionare lo spazio delle fasi di un sistema a contatto con un termostato a temperatura T con una probabilit proporzionale alla densit degli stati. Come si vede nell'algoritmo di Metropolis il caso E > 0 viene trattato probabilisticamente: la probabilit che la nuova configurazione venga accettata P(E) = exp(E/kT). Tale scelta permette al sistema di evolvere seguendo la distribuzione di Boltzmann. La macchina di Boltzmann essenzialmente una rete discreta di Hopfield con una funzione di attivazione probabilistica, nella cui modalit operativa implementata una forma dell'algoritmo di Metropolis detta annealing simulato utilizzata per raggiungere l'equilibrio. Il termine annealing simulato deriva dall'analogia con il processo di annealing condizione
14

fisico

canonico

di

particelle.

utilizzato per portare un sistema fisico nello stato pi basso del potenziale la di equilibrio termodinamico raggiunta massimizzando l'entropia e nella struttura

termodinamico corrispondente alle condizioni esterne imposte. In un sistema generico

minimizzando l'energia interna. Per un solido l'energia interna minima corrisponde a quella di un cristallo perfetto, ma un solido reale caratterizzato da difetti

14 C. Kittel , Introduzione alla Fisica dello Stato Solido, Boringhieri 1971, Terza edizione.

Reti Neurali: modelli e aspetti applicativi

51

cristallina (vacanze di atomi o dislocazioni dei piani reticolari). A temperatura T si hanno degli effetti contrastanti, la formazione di difetti reticolari aumenta l'entropia del solido, mentre l'eliminazione dei difetti diminuisce l'energia interna: la condizione di equilibrio di un cristallo lo stato di energia libera di Helmholtz F=U-TS minima. In un cristallo si pu definire la concentrazione di difetti all'equilibrio ad una data temperatura Ndequ(T), la quale cresce con la temperatura. Se esiste una concentrazione di difetti in un cristallo, esister anche una diffusione di difetti, caratterizzata dalla costante di diffusione D(T). All'equilibrio i difetti saranno uniformemente distribuiti. Un atomo interstiziale o una vacanza pu diffondere, se riesce a superare una barriera di energia potenziale dovuta al reticolo. Se la temperatura alta la costante di diffusione D(T) sar anch'essa alta, e il cristallo raggiunger velocemente la concentrazione Ndequ(T). Per temperature basse la mobilita dei difetti ridotta, dato che pu risultare molto improbabile il superamento della barriera di potenziale del reticolo Ep . In questo caso la concentrazione dei difetti reale Nd potr essere maggiore di Ndequ(T). Per poter eliminare i difetti reticolari di un cristallo si ricorre alle tecniche di annealing: il solido viene portato quasi fino al punto di fusione, quindi viene ridotta lentamente la temperatura attraverso trasformazioni quasi reversibili. La rapidit con cui viene ridotta la temperatura deve consentire al sistema di mantenersi in equilibrio termodinamico, in modo che si abbia sempre Nd= Ndequ(T). Abbassando la temperatura T si abbassa anche Ndequ(T) e quindi anche l'energia libera F. Kirkpatrick ed altri hanno notato che trovare lo stato a di minima energia di un sistema essenzialmente un problema di la meccanica ottimizzazione simile a quelli di ottimizzazione combinatoria. I metodi che

statistica adotta per sistemi a molte particelle possono essere utili anche in problemi di ottimizzazione combinatoria, i quali sono caratterizzati da un altissimo numero di soluzioni corrispondenti al minimo globale di una funzione energia computazionale. 4.7 - MACCHINA DI BOLTZMANN

L'idea base della macchina di Boltzmann di introdurre nei processi di cambiamento stato dei neuroni una componente di casualit che generalizzi il concetto di temperatura. Questa di considerazione porta a incorporare nel processo decisionale del neurone dei contributi di rumore che permettono il cambiamento di stato del neurone con una funzione attivazione probabilistica, che classifica la macchina di Boltzmann nell'insieme di reti neurali non deterministiche. Allo scopo di definire la funzione di attivazione si consideri la rete di Hopfield. In tale modello la variazione di energia dovuta al cambiamento di stato di un

neurone e con correnti Ii nulle:

Se Ei il gap di energia tra lo stato 1 e lo stato 0 del neurone i della rete, la probabilit che il neurone i si setti allo stato 1 data dalla regola di decisione seguente:

4.18 tale probabilit indipendente dallo stato precedente del neurone. T un parametro che si comporta come la temperatura. La funzione probabilit pi mostrata nella figura 4.5.

FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltzman

Reti Neurali: modelli e aspetti applicativi

53

Utilizzando le generalizzazioni espresse per le reti neurali, si pu esprimere lo stato Vi del neurone i mediante la funzione di attivazione probabilistica seguente:

4.19

4.20 La 4.20 la funzione di attivazione della macchina di Boltzmann, essa una sigmoide ed esprime la probabilit di attivazione del neurone i (vedi figura 4.4). La regola di probabilit espressa dalla funzione 4.18 uguale alla distribuzione di probabilit di un sistema fisico a due stati di energia A e B. Un sistema di particelle a contatto con un termostato a una data temperatura raggiunger l'equilibrio termico, e la probabilit di trovare il sistema in un dato stato globale segue la distribuzione di Boltzmann. In modo concorde una rete di neuroni che segue la regola di decisione 4.20, raggiunger uno stato di Boltzmann: pa/pb = exp(-Ea - Eb)/T) 4.21 equilibrio termico a temperatura T nel quale la probabilit relativa dei due stati della rete segue la distribuzione di

in tale relazione pa e pb sono rispettivamente le probabilit che il sistema si trovi nello stato A o B di energia Ea e Eb . Si noti che l'equilibrio termico corrisponde a una distribuzione di probabilit sugli stati stabile. Per un valore di T=0, il sistema si comporta come una semplice rete di Hopfield discreta, la 4.20 diventa una funzione a gradino come nella rete discreta di Hopfield. Per valori elevati di T, pi pari circa a 0.5 ed il sistema presenta stati di attivazione casuali. Gli stati metastabili della macchina di Bolzmann sono legati al parametro T della 4.20, infatti il loro numero cresce con la temperatura T. Per quanto detto possibile pensare ad una analogia tra gli stati metastabili della macchina di Boltzmann e la configurazione dei difetti reticolari. L'annealing simulato implementato nella macchina di Boltzmann non un vero algoritmo di apprendimento, piuttosto una procedura utilizzata nella fase di funzionamento della rete successiva all'apprendimento. La macchina di Boltzmann viene fatta funzionare presentando in ingresso un vettore e seguendo l'evoluzione

spontanea della rete fino alla produzione di un vettore finale di uscita. All'inizio della fase di funzionamento, analogamente al processo di annealing, la temperatura T ha un valore elevato. La funzione di attivazione in questo caso pari a 0.5, per cui se il sistema si trova in un minimo locale di energia (stato metastabile) , il valore elevato di T provoca un evoluzione casuale dello stato della rete favorendo l'allontanamento da tale minimo. Infatti lo stato della macchina di Boltzmann pu fluttuare anche per un vettore in ingresso costante corrispondente a uno stato metastabile. Questo comportamento analogo a quello degli atomi di un solido che per temperature elevate riescono a superare la barriera di potenziale , in modo da rendere uniforme la concentrazione di difetti Ndequ(T) . Ogni volta che la rete produce un uscita, quest'ultima viene retroazionata all'ingresso della rete, in questa fase viene ridotto il parametro temperatura della funzione di attivazione. In tal modo si riducono sia gli stati metastabili accessibili , sia le possibilit della macchina di uscire da uno stato metastabile raggiunto. In definitiva quando la temperatura T tende a 0, lo stato raggiunto dalla rete si avviciner di molto a un minimo globale dell'energia computazionale.

4.8 - REGOLA DI APPRENDIMENTO PER LA MACCHINA DI BOLTZMANN

Hinton ed altri hanno recentemente definito per la macchina di Boltzmann un algoritmo di apprendimento15 di tipo guidato, che consente alla rete di imparare come associare ad un determinato vettore in ingresso il corrispondente vettore di uscita. Si consideri la macchina di Boltzmann costituita da livelli di unit visibili e nascoste. L'apprendimento avviene in due fasi distinte, una positiva ed una negativa, seguite da un processo di modificazione dei pesi delle connessioni: 1. Fase positiva di training. Questa la fase di addestramento della rete. Vengono presentate alle unit visibili della rete, una alla volta, delle coppie di vettori ingressouscita. Ogni volta la rete viene gradualmente portata all'equilibrio termico, partendo da un alto valore di T fino a T = 1. All'equilibrio il sistema viene mantenuto per alcuni cicli. Alla fine di questa fase viene calcolata per ogni connessione la probabilit pij+ unit i e j siano entrambe attive durante l'equilibrio termico. 2. Fase negativa di test. questo caso vengono La fase di verifica dell'addestramento analoga, ma in ingresso e vengono calcolate presentati solo i vettori di che le

all'equilibrio le probabilit pij- . Se la rete alla fine delle due fasi presenta le stesse
15 S.E. Fahlman G.E. Hinton. Connectionist Architectures for Artificial Intelligence. IEEE Computer, Gennaio 1987, pag. 100-109.

Reti Neurali: modelli e aspetti applicativi

55 non viene effettuata nessuna modifica ai pesi di

distribuzioni

di probabilit pij+ e pij-

connessione. Se invece le probabilit pij+ e pij- sono diverse allora si deve modificare il peso della connessione. Precisamente indicando con G una misura teorica fra il della rete e quello desiderato, Ackley e Hinton hanno 4.22 comportamento effettivo dimostrato che :

G/ T = -(1/T) (pij+ - pij-)


Da quanto detto chiaro che per per le quali risulta pij+ pijottenere il

comportamento desiderato dal sistema

necessario introdurre una regola di apprendimento in modo che i pesi di tutte le connessioni , si modifichino spontaneamente in modo da annullare la

derivata di G rispetto il peso. Il principale limite della macchina di Boltzmann la bassa velocit di convergenza al minimo globale dell'energia.

5. - ALTRI MODELLI: PERCEPTRONI E RETI DI KOHONEN 5.1 - INTRODUZIONE

In questo capitolo si approfondiranno gli sviluppi di uno dei primi modelli di rete di neuroni ad apprendimento spontaneo, il perceptrone di Rosemblatt. Il perceptrone nasce come un modello semplificato del sistema nervoso, di cui avrebbe dovuto duplicare le funzioni cognitive. Rosemblatt proponeva il modello non come un dispositivo logico equivalente alla macchina di Turing, bens come un sistema capace di effettuare associazioni fra stimoli simili. Le sue differenze rispetto un sistema logico erano notevoli, infatti le sue risposte a stimoli nuovi non erano a priori prevedibili, essendo determinate dai concetti appresi precedentemente, inoltre esso riusciva a funzionare anche in presenza di rumore sul segnale di ingresso. Saranno esposti pi avanti i principi di funzionamento del perceptrone semplice che deriva direttamente dal modello di Rosemblatt e dell'evoluzione successiva perceptrone Nell'ultimo paragrafo viene presentata la di reti neurali. multistrato. regola di apprendimento back-propagation, costituita dal

inizialmente applicata a perceptroni multistrato ed estesa recentemente a moltissimi modelli

Reti Neurali: modelli e aspetti applicativi

57

5.2 - PERCEPTRONE A SINGOLO STRATO

L'originale modello di perceptrone proposto da Rosemblatt16 composta da unit di calcolo dette

una primitiva rete neurale

neuroni lineari a soglia (vedi figura 5.1 in alto).

I neuroni sono disposti generalmente a tre livelli e la topologia della rete e di tipo feedforward. Il primo livello la griglia retinica o retina (unit Si ) alla quale vengono presentati gli ingressi, il secondo livello (unit Ai ) svolge funzioni di classificazione o riconoscimento, il terzo livello (unit-R) presenta l'uscita discreta 0 o 1 prodotta dalla macchina. L'apprendimento del perceptrone si manifesta con la modifica dei pesi P delle connessioni tra il secondo e il terzo livello di neuroni, per tale caratteristica il modello detto anche singolostrato (single-layer). Le connessioni tra il livello d'ingresso e quello centrale rimangono sempre fisse e servono solo per dare una codifica ai dati di ingresso. Da quest'ultima osservazione risulta che possibile eliminare il livello di neuroni di ingresso senza In tal modo si pu definire un modello generalizzato di nessuna perdita di generalit.

perceptrone a singolo strato di connessioni e a due livelli di neuroni come si nota in basso alla figura 5.1. Il primo livello di neuroni riceve direttamente gli ingressi ed e connesso con sinapsi variabili al secondo livello (costituito per semplicit da un solo neurone) che produce l'output. La funzione di attivazione :

5.1 Si la soglia di attivit del neurone i, stp[x] una funzione non lineare limitata a gradino (hard-limiter). La funzione principale attuata da un perceptrone quella di classificatore di forme. Si consideri la semplice unit di figura 5.1, questo neurone computa la somma pesata degli input sottrae la soglia S i e tramite la funzione di attivazione produce un output +1 o 0. Il tipo di uscita permette di decidere, per convenzione, quale delle due classi A o B appartiene l'ingresso. Una utile tecnica per analizzare il comportamento di un perceptrone e di tracciare un grafico come quello di figura 5.1, nel quale sono mappate in uno spazio le cui coordinate sono gli ingressi del neurone i, le regioni di appartenenza degli input alle varie classi, separate da un iperpiano detto regione di decisione. La posizione dell'iperpiano, che nel caso di due variabili di ingresso della figura una retta, dipende dai
16 Frank Rosemblatt, The perceptron, a probabilistic model for information storage and organization in the brain, Psychological review, 65 pag 386-408.

pesi di connessione Tij . I pesi delle connessioni e le soglie di un perceptrone possono essere scelte e modificate mediante diversi algoritmi. L'originale regola di apprendimento di un perceptrone fu sviluppata da Rosemblatt. Questa regola permette di attuare un tipo di apprendimento con supervisione in base al quale viene presentato al perceptrone una forma da classificare, la risposta della rete viene confrontata con quella nota a priori, l'eventuale differenza trovata viene utilizzata per modificare i pesi di connessione dei neuroni che forniscono una risposta scorretta. La regola delta : 5.2 Vi* l'uscita desiderata, un numero positivo minore di 1, Ui e Vi sono rispettivamente l'ingresso e l'uscita del perceptrone. La scelta di controlla la stabilit e la velocit di convergenza dell'apprendimento al giusto risultato. L'apprendimento avviene in modo iterativo secondo la procedura seguente: 1. Inizializzazione pesi e soglie. In questa fase vengono inizializzati a caso, a valori diversi da zero, i pesi e la soglia del neurone di uscita. 2. Fase di apprendimento. In questa fase viene presentato un nuovo ingresso al perceptrone ed calcolata l'uscita, in base alla quale viene applicata iterativamente la regola delta esposta. Nei casi semplici l'algoritmo converge, per cui dopo un certo numero di passi le modificazioni da apportare ai pesi sono nulle, e la risposta fornita dalla rete quella giusta. Una versione leggermente modificata della regola di Rosemblatt stata proposta da B. Widrow e M. Hoff 17 ed chiamata regola LMS. La regola LMS (Least Mean-Square) viene applicata al modello di perceptrone di Widrow noto come Adaline uguale nella struttura al perceptrone mostrato in figura 5.1. L'Adaline differisce dal perceptrone di Rosemblatt per la funzione di attivazione che lineare senza alcuna soglia di attivazione:

L'algoritmo LMS consiste in una procedura per trovare i pesi Tij che minimizzano l'errore i ed data da un espressione equivalente alla regola delta, si ha infatti:

17 B. Widrow e M. Hoff, Adaptive switching circuits, Institute of Radio Engineers, 1960 WESCON Convention, Record Part IV, pag 96-104.

Reti Neurali: modelli e aspetti applicativi

59

con i=(Vi-Vi*)

FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosemblatt.. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)

FIGURA 5.1b - Perceptrone a singolo strato, che classifica un vettore in ingresso in due classi denominate A e B. Tale rete divide lo spazio degli ingressi in due regioni separate dalla linea tratteggiata. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)

5.3 - LIMITI DEL PERCEPTRONE A SINGOLO STRATO

Rosemblatt ha provato che se gli ingressi delle due classi presentati al perceptrone sono separabili (cio esiste un iperpiano che le divide nello spazio degli input in due regioni), allora la procedura su esposta converge sempre. Uno dei problemi della procedura di convergenza del perceptrone che essa pu oscillare continuamente quando gli input non sono separabili. Ad esempio un perceptrone non pu calcolare un OR esclusivo, poich vi una sovrapposizione di classi. Questo limite origin l'aspra critica di Minsky e Papert ai modelli basati sul perceptrone. Consideriamo il problema dello XOR18 la tabella della verit della funzione logica la seguente: Tabella della verit della Funzione Logica XOR. (5.4)
INPUT 0 0 1 1 0 1 0 1 OUTPUT 0 1 1 0

Applicando la funzione di attivazione 5.1 al problema dello XOR si ha:


18 D. E. Rumelhart, J. L. McClelland, Exploration in Parallel Distributed Processing, The MIT Press, Cambridge 1989.

Reti Neurali: modelli e aspetti applicativi

61

E' evidente il paradosso sui pesi T1 e T2 , i quali devono essere ambedue maggiori della soglia S mentre la somma T1 + T2 minore di S. Il problema dello XOR rappresentato in figura 5.2 nello spazio degli stati degli ingressi. La figura 5.2 mostra che impossibile tracciare una retta corrispondente alla regione di decisione per il problema XOR, mentre si nota la risolvibilit delle operazioni logiche AND e OR. La retta di separazione corrisponde per 2 input all'equazione: S = V1T1 + V2T2. Con 3 input si ha il piano S = V1T1 + V2T2 + V3 T3. In generale la regione di decisione corrisponde a un iperpiano:

Tutte le funzioni per le quali esiste una regione di decisione sono dette linearmente separabili. Consideriamo adesso la funzione logica seguente: Tabella della verit della Funzione Logica XOR.
INPUT 0 0 1 1 0 1 0 1 0 0 0 1 OUTPUT 0 1 1 0

Questo problema tridimensionale corrisponde al problema XOR per i primi due input, il terzo input l'uscita AND dei primi due. La figura 5.3, rappresentante il problema, mostra che l'aggiunta della terza dimensione permette il semplice perceptrone multistrato di figura 5.3. di risolvere la funzione XOR. La terza dimensione corrisponde ad aggiungere un livello nascosto di unit, che definisce

FIGURA 5.2 - (A) Semplice Perceptrone a singolo strato e 2 input (B) Rappresentazione grafica delle funzioni logiche AND, OR e XOR, e della loro solubilit tramite il perceptrone. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART)

FIGURA 5.3 - Perceptrone con uno strato di neuroni nascosto e 3 nodi in grado di risolvere la funzione XOR, la cui rappresentazione grafica e mostrata a destra. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART)

Reti Neurali: modelli e aspetti applicativi

63

5.4 - PERCEPTRONI MULTISTRATO

I limiti del perceptrone di Rosemblatt sono stati superati con l'introduzione di nuove regole di apprendimento e nuove topologie di rete. I perceptroni multistrato sono reti con uno o pi livelli di neuroni nascosti tra i neuroni di ingresso e uscita. Un perceptrone a tre livelli mostrato in figura 5.4a. La mancanza di adeguate regole di apprendimento non ha permesso in passato la diffusione dei perceptroni multistrato. Solo recentemente sono state introdotte nuove regole di apprendimento che, sebbene non ne sia stata provata la convergenza, si sono dimostrate utili nella maggior parte dei problemi cui sono state applicate. Si considerano adesso perceptroni multistrato feed-forward con funzione di attivazione hard-limiter e con un solo nodo di uscita, ai quali viene applicata la regola delta di apprendimento . Si gi visto che la regione di decisione di un perceptrone a singolo strato un iperpiano di dimensioni uguale a N-1 dove N e il numero di neuroni di ingresso. Un perceptrone a due strati ha una regione di decisione convessa illimitata di forma arbitraria. La regione di decisione convessa formata dalle intersezioni degli iperpiani di decisione dei perceptroni semplici del primo livello. Tali regioni convesse sono formate al massimo di un numero di lati uguale ai neuroni di uscita dei perceptroni semplici del primo strato, detti per semplicit nodi . Questa analisi porta a adeguare il numero di nodi di un perceptrone da risolvere. Ad esempio due livelli sono multistrato alla complessit del un problema

sufficienti a risolvere il problema dello XOR come mostrato nella figura 5.3. Rumelhart ed altri hanno provato che in un perceptrone feed-forward sono sufficienti tre strati di neuroni per generare una regione di decisione arbitrariamente complessa per complicati problemi di classificazione. Inoltre il numero di nodi del secondo strato deve essere maggiore di uno quando le regioni di decisione sono disconnesse nel caso peggiore deve essere uguale al numero di disconnessioni (vedi figura 5.5).

FIGURA 5.4 - Perceptroni a tre strato di connessioni e N input e M output. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)

Reti Neurali: modelli e aspetti applicativi

65

FIGURA 5.5 - Tipi di regioni di decisione che possono essere formate da perceptroni a uno, due e tre strati. I nodi utilizzano una funzione di attivazione hard-limiter non lineare. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P.Lippmann)

5.5 - REGOLA DI APPRENDIMENTO BACK-PROPAGATION

Si descriver adesso un nuovo algoritmo di apprendimento noto come back-propagation, proposto da Rumelhart ed altri nel 198619 . Tale algoritmo si applica ad una rete di neuroni corrispondente ad un perceptrone multistrato con nodi di uscita multipli e con funzione di attivazione sigmoidale che esprime l'uscita del neurone i al tempo t+1 come:

5.5

l'input totale del neurone al tempo t+1

19 D. E: Rumelhart, G. Hinton e R.J. Williams, Learning representations by back-propagating errors, Nature Vol. 323, 9 ottobre 1986.

Per convenzione si sono chiamati ui e vi

rispettivamente le entrate e le uscite di un nodo

interno della rete mentre Ui e Vi denotano l'entrata e l'uscita dei livelli visibili della rete. La rete dotata inoltre oltre gli ingressi normali di un ulteriore ingresso detto offset, settato quasi sempre a 1, il cui peso di connessione detto bias. Il comportamento di queste reti rispetto ai perceptroni visti prima pi complicato. Le regioni di decisione sono tipicamente delle curve e non pi degli iperpiani. L'algoritmo back-propagation una generalizzazione della regola delta e consiste in una tecnica per trovare un insieme di pesi Tij che minimizza una funzione costo che corrisponde all'errore tra l'uscita prodotta e quella desiderata. L'errore totale della rete definito come: 5.6 Vi l'uscita dell'ultimo livello della rete, Vi* l'uscita desiderata. Per minimizzare necessario calcolare la derivata di e rispetto i pesi T si ha: e

5.7 La 5.7 si applica partendo dai nodi di output e andando indietro fino al primo strato nascosto. Tij(t) il peso della connessione tra un nodo nascosto i al nodo j, oppure il peso tra l'ingresso i e il nodo j. Si noti che si ha:

La regola back-propagation diventa:

5.8 Nella 5.8 v l'uscita del nodo i oppure un ingresso, mentre la derivata e/u un termine che esprime l'errore per il nodo j. Se il nodo di uscita si ha vi = Vi .

5.9 Nel caso di nodi interni nascosti si ha:

Reti Neurali: modelli e aspetti applicativi

67

dove k un indice su tutti i nodi del livello successivo al nodo j. k e la derivata e/u per il nodo k. L'apprendimento mediante l'algoritmo back-propagation composto dalle seguenti fasi: 1. Inizializzazione dei pesi e degli offset; 2. Presentazione coppie ingresso-uscita. In tale fase viene presentato un vettore con N componenti Vi e viene specificato il vettore di uscita desiderato di componenti Vi* ; 3. Calcolo uscite. Mediante la funzione sigmoide 5.5 vengono calcolate gli output intermedi vi e finali Vi ; 4. Adattamento connessioni. Utilizzando l'algoritmo di back-propagation esposto si adattano i pesi di ciascun strato cominciando dall'ultimo fino coppia di ingressi-uscite; L'algoritmo back-propagation stato applicato con successo a problemi come l'OR esclusivo, riconoscimenti di forme, sintesi del linguaggio, rappresentazione della conoscenza. dimostrazione della potenza di questo algoritmo l'applicazione Una di sintesi del al primo corrispondente alle connessioni di ingresso. La procedura viene ripetuta con la presentazione di una nuova

linguaggio fatta da Sejnowsky. Una difficolt notata nell'applicazione della regola backpropagation l'alto numero (> 100) di coppie ingresso-uscita richiesto per far convergere l'algoritmo. Recentemente alcuni autori20 hanno applicato la regola back-propagation in perceptroni con feedback, caratterizzati dall'esistenza di ingressi in un livello provenienti da livelli successivi di neuroni. Esiste uno stretto legame tra i perceptroni con feedback e le reti di Hopfield, infatti imponendo la simmetria e forzando a 0 le autoconnessioni tra le unit si ottiene una rete formalmente equivalente al modello continuo di Hopfield.

20Luis B. Almeida, "Backpropagation in perceptron with feedback", NATO ASI Series 1, Vol. F41 Neural Computers Springer-Verlag Berlino 1988.

5.6 - RETI AUTO-ORGANIZZANTI DI KOHONEN

Si accenna brevemente al modello di rete di neuroni di

Teuvo Kohonen.

La rete formata da neuroni formali simili a quelli a risposta continua di Hopfield, la cui topologia del tipo a connettivit laterale, ricalca alcune strutture nervose biologiche. La rete apprende con un algoritmo sprovvisto di supervisione che provvede alla modifica dei pesi delle connessioni dei neuroni che meglio campionano i vettori in ingresso . La funzione di attivazione una sigmoide espressa da:

5.11 Una rete di Kohonen formata da una matrice bidimensionale di M neuroni che costituiscono anche le M uscite della rete (vedi in figura 5.6), le connessioni laterali tra i neuroni sono nulle. Ognuno degli N input Ui connesso a ogni neurone della matrice mediante una connessione variabile. La rete viene addestrata come segue: 1. Inizializzazione pesi. In questa fase vengono settati i pesi delle connessioni degli N ingressi agli M neuroni di uscita, viene settato inoltre il raggio iniziale dell'intorno del neurone di risonanza. 2. Presentazione ingresso. Il vettore di ingresso composto dalle componenti continue V presentato alla rete. 3. Calcolo distanza di tutti i nodi. Viene calcolata la distanza tra l'ingresso e il neurone di uscita mediante la relazione:

4. Selezione neurone j con MIN (dj ). Aggiornamento pesi. Vengono aggiornati i pesi delle connessioni tra il neurone j* e le entrate appartenenti all'intorno del neurone definito dall'insieme NEj*(t) secondo regola di apprendimento nota come legge di adattamento:

5.12

Reti Neurali: modelli e aspetti applicativi

69

Il procedimento viene ripetuto presentando un nuovo ingresso.

FIGURA 5.6 - Matrice bidimensionale di nodi di uscita rappresentante una rete di Kohonen. Ogni ingresso connesso a tutti i nodi di uscita tramite una connessione variabile. In basso mostrato un intorno del nodo j a tempi variabili t. In basso si vede levoluzione temporale di una rete autoorganizzante di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)

6. - APPLICAZIONI DELLE RETI NEURALI


6.1 - INTRODUZIONE

I modelli di reti esaminati nei capitoli precedenti si prestano a diverse applicazioni. La combinazione di potenza e di velocit computazionale del modello continuo di Hopfield, pu essere applicata alla risoluzione di problemi riconducibili alla minimizzazione di una funzione con caratteristiche analoghe all'energia computazionale. In generale le reti di Hopfield e la macchina di Boltzmann possono essere applicate a molti problemi di

ottimizzazione combinatoria, i quali costituiscono una classe di problemi ad altissimo numero di soluzioni la cui risoluzione consiste nel trovare nel modo pi rapido una o pi soluzioni esatte o approssimate. Un esempio di questi problemi quello del commesso viaggiatore (TSP Traveling Salesman Problem), nel quale si deve minimizzare il percorso di quest'ultimo attraverso N citt. Il TSP appartiene allestesa classe dei problemi NP-completi (problemi nondeterministici polinomiali completi). Per la risoluzione di tali problemi sono stati utilizzati i cosiddetti metodi euristici, che riducono notevolmente il numero di soluzioni, tuttavia non noto attualmente un metodo generale di risoluzione valido per tutti i gradi di complessit del problema (nel caso del TSP la complessit proporzionale al numero N delle citt). Il tempo di computazione richiesto dai metodi euristici cresce in maniera inaccettabile al crescere della complessit del problema, quindi l'utilizzo di reti neurali, che forniscono una soluzione accettabile in un tempo paragonabile alle costanti di tempo del circuito elettrico che le costituisce, un interessante campo di ricerca.

Reti Neurali: modelli e aspetti applicativi

71

6.2 - RAPPRESENTAZIONE DEI DATI

Si gi accennato al fatto che la potenza computazionale di una rete neurale determinata anche dalla scelta dello schema rappresentativo dei dati. In molti problemi di interesse pratico le soluzioni sono descritte da un set di numeri, per cui la possibilit di utilizzare per la loro risoluzione le reti neurali subordinata alla possibilit di codificare tali numeri con le variabili di stato V dei neuroni della rete. Per realizzare rappresentazioni numeriche simili a quelle utilizzate nei calcolatori digitali, il valore delle variabili V i ,alla fine del processo di minimizzazione della funzione energia, deve essere binario 0 o 1. Si considerano adesso dei metodi21 per rappresentare la classe Z dei numeri interi positivi nello spazio degli stati della rete neurale: Rappresentazione binaria. Nei computer convenzionali la forma di rappresentazione dei numeri interi positivi si basa sul codice binario. Il numero di bit utilizzati per un numero N lg2 (N + 1). Se nel modello di rete neurale ad ogni unit corrisponde un bit, si ha una corrispondenza biunivoca tra il numero N Z+ e i lg2 (N + 1) neuroni rappresentanti il

numero N nella rete neurale. La limitazione della rappresentazione binaria l'alta sensibilit agli errori. Rappresentazione della somma semplice. In questo schema un valore numerico rappresentato dalla somma delle unit attive. Per rappresentare il numero N occorrono almeno N unit. In questo metodo si ha una minore sensibilit agli errori rispetto al sistema binario, inoltre un numero dato N possiede pi rappresentazioni. La ridondanza di un sistema di rappresentazione di dati un vantaggio in termini di convergenza, infatti grazie all'alto numero di configurazioni associate a uno stesso valore numerico, la rete offre pi possibilit di giungere rapidamente alla corretta soluzione. Rappresentazione gruppi-pesi. numero minore di elementi di Lo schema gruppi-pesi mantiene le propriet di In questa rappresentazione si divide il ridondanza e di affidabilit della rappresentazione somma-semplice, tuttavia introduce un elaborazione. numero totale q di bit in K gruppi, ciascuno dei quali contiene M bit (q = KM), l'espressione formale per il numero generico N sar:

21 Mitsuo Takeda e Joseph W. Goodman, "Neural networks for computation: number representations and programming complexity", Applied Optics, Vol. 25, Num. 18, 15 Settembre 1986, pag. 3033-3046.

6.1 Ad esempio, con q=6, K=2, M=3, le configurazioni associate al numero 5 sono 100 100, 010 001, 001 010, 100 001, e cosi via, infatti applicando la formula 6.1 si ha:

Per esprimere il numero N si devono impiegare

M lgM+1

(N+1) elementi. Si noti che gli

schemi descritti precedentemente si possono ottenere come casi particolari dello schema gruppi-pesi. Ponendo M = 1 e K = q si ha lo schema binario, mentre con M = q e K = 1 si ottiene lo schema somma semplice. Altre rappresentazioni sono utilizzate per numeri interi positivi e negativi, numeri complessi e numeri reali. Per numeri interi positivi e negativi si pu adottare la seguente espressione:

6.2 dove l'operazione


1

fornisce il pi grande valore intero minore di X e il termine 0,5 [(M+1k-

)] pari alla met del massimo valore esprimibile mediante la 6.2. Numeri complessi con parte

immaginaria e reale intere vengono espressi nella forma C = A + jB dove A e B sono nella forma 6.2. Numeri reali e complessi possono essere espressi introducendo nuove unit le cui variabili di stato hanno indici negativi. Si ha la forma:

6.3 Si possono esprimere in tal modo i valori compresi fra 0 e [(M + 1)k-1 - (M + 1) -(k-1)], con un incremento minimo pari a (M + 1) -(k-1) . I sistemi di rappresentazione visti si basano tutti su una corrispondenza lineare fra lo spazio numerico e lo spazio degli stati della rete. Altri sistemi basati su corrispondenze non lineari, come il sistema a virgola mobile, non possono essere utilizzati in quanto non conducono ad una funzione energia in forma quadratica rispetto le variabili di stato, come richiesto per le reti di Hopfield.

Reti Neurali: modelli e aspetti applicativi

73

6.3 - APPLICAZIONE DEL MODELLO CONTINUO DI HOPFIELD 6.3.1 - CONVERTITORE ANALOGICO/DIGITALE Il modello continuo di rete neurale di Hopfield si presta ad essere utilizzato come convertitore A/D (analogico/digitale).22 Per semplicit di trattazione si considera un convertitore a 4 bit, il cui schema circuitale mostrato in figura 6.1. Il circuito costituito da quattro amplificatori (sono richieste solo le uscite invertite) corrispondenti alle unit di calcolo, da una rete di resistenze che connettono le uscite con gli ingressi delle resistenze (feedback), infine un altro insieme di resistenze che collega le unit della rete con l'ingresso x al quale viene applicata la grandezza analogica da convertire. Si assuma che le tensioni di uscita Vi degli amplificatori possano variare da 0 a 1 Volt, inoltre l'ingresso x espresso in Volt corrisponda al valore numerico da convertire. La rete opera correttamente quando il valore x pari alla parola binaria V3 V2 V1 V0 , cio si ha:

6.4 La conversione analogica/digitale di x pu essere ricondotta alla minimizzazione della forma quadratica:

6.5 Per garantire che i valori delle tensioni di uscita Vi degli amplificatori, alla fine del processo di minimizzazione siano sufficientemente vicini a 0 o 1, in modo da poter essere identificati come livelli logici digitali, bisogna aggiungere ad E il termine seguente:

6.6 Tale termine minimo per V = 1 o V = 0. L'introduzione del termine 6.6 necessaria anche per permettere visti diventa: l'eliminazione dei termini diagonali della matrice delle connessioni caratteristica delle reti di Hopfield . La funzione energia ottenuta dalla somma dei due termini

22 J.J. Hopfield,"Computing with Neural Circuit: A Model",Science,Num.233,1986, pag.625-633.

6.7 Confrontando tale funzione con l'energia computazionale della rete continua di Hopfield si ottengono per i pesi delle connessioni le seguenti espressioni: 6.8 Nel circuito descritto in figura 6.1 la prima condizione 6.8 si traduce con le connessioni dell'uscita invertita di ogni amplificatore all'ingresso degli altri mediante resistenze di conduttanza 2(i+j) . La seconda condizione 6.8 consiste nel fornire le correnti di ingresso attraverso resistori di conduttanza pari a 2i collegati alla tensione di ingresso x, pi altri resistori di conduttanza 2(2i-1) collegati a un potenziale di riferimento di -1 Volt (vedi matrice delle connessioni in figura 6.1).

Reti Neurali: modelli e aspetti applicativi

75
FIGURA 6.1 - In alto si ha un grafico rappresentante la parola digitale V3 V2 V1 V0 computata dal convertitore A/D in funzione dell'ingresso analogico x. In basso si ha lo schema circuitale della rete neurale di Hopfield corrispondente al convertitore A/D. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)

6.3.2 - SCOMPOSIZIONE DI SEGNALI ANALOGICI Uno dei problemi ricorrenti nei processi di elaborazione dei segnali analogici quello di riconoscere un segnale avente forma e ampiezza note in presenza di
23

altri

segnali.

In particolare si consideri il problema della scomposizione di un segnale analogico x(t) dipendente dal tempo ottenuto dalla combinazione lineare di impulsi di forma gaussiana nota (vedi figura 6.2). Siano x (i = 1,...,N) i campioni del segnale x(t) presi ai tempi t1 ,t2 ,...,tN , e si assuma N 100. L'impulso singolo descritto dalla seguente funzione gaussiana: 6.9 in tale funzione il parametro pu assumere un numero finito di possibili valori, mentre l'istante di tempo t, in corrispondenza del quale si ha il valore massimo normalizzato dell'impulso, coincide con uno degli istanti N fissati. Gli impulsi che costituiscono l'insieme delle funzioni base dello spazio di x(t), sono descritti dagli indici e t e ognuna di esse avr un coefficiente binario V t che corrisponde all'uscita dell'amplificatore i e che

rappresenta la presenza di ogni funzione base nella composizione del segnale x i(t). Il valore xi (t) del segnale pu essere espresso dalla seguente combinazione lineare di impulsi:

6.10 La funzione che deve essere minimizzata per risolvere il problema di scomposizione e:

6.11 La 6.11 ha la forma dell'energia di Hopfield, e in essa il secondo termine introdotto per annullare gli elementi diagonali della matrice delle connessioni. A questo punto si possono definire un set di pesi di connessioni e di correnti in ingresso per ogni amplificatore:
23 David W. Tank, John J. Hopfield, "Simple 'Neural' Optimization Networks: An A/D Converter, Signal Decision Circuit, and a Linear Programming Circuit", IEEE Transactions on Circuits and Systems, Vol. CAS-33, Num. 5, Maggio 1986.

Reti Neurali: modelli e aspetti applicativi

77

6.12 Il circuito della rete mostrato in figura 6.2. Il segnale xi entra in parallelo nella rete e produce delle correnti negli ingressi degli amplificatori attraverso le resistenze di ingresso. Al termine del processo di minimizzazione, i valori digitali V t delle uscite degli

amplificatori indicheranno la presenza o meno del corrispondente impulso nella forma d'onda da scomporre. Il convertitore A/D descritto nel paragrafo precedente pu essere visto come un caso particolare del circuito generale appena visto. Nel convertitore A/D il segnale di ingresso unidimensionale e consiste di un solo valore analogico campionato in un solo punto. Il set di funzioni base 2n n = 0,...,(n-1). Il vettore binario in uscita dal circuito comprende i coefficienti che descrivono la somma pi vicina a x nel set di funzioni base considerato. Si noti che per i due problemi considerati la base non ortogonale, questo allo scopo di non annullare i termini che definiscono i pesi delle connessioni.

FIGURA 6.2 - (A) Andamento temporale di un segnale analogico ottenuto mediante la combinazione lineare di inpulsi di forma gaussiana. (B) Singoli impulsi che compongono il segnale in (A). (C) Schema circuitale della rete neurale di Hopfield per il problema della scomposizione di un segnale analogico. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)

Reti Neurali: modelli e aspetti applicativi

79

6.3.3 - IL PROBLEMA DEL COMMESSO VIAGGIATORE (TSP) Un esempio classico di problema di ottimizzazione il gi citato problema del commesso viaggiatore o TSP (Traveling Salesman Problem). La formulazione del TSP molto fra esse esistenti , il problema semplice: siano assegnate n citt A, B, C,..., e le distanze dij consiste nella

determinazione di una sequenza di citt da visitare in modo che ogni citt

venga visitata una sola volta, minimizzando il percorso seguito e ritornando alla citt di partenza. Il problema pu essere risolto mediante una rete continua di Hopfield. Si associ ad ogni citt un numero di unit pari ad n, ciascuna corrispondente ad una delle n posizioni che costituiscono la sequenza di citt da visitare. La presenza di una determinata citt in i-esima posizione corrisponde ad un valore 1 della tensione di uscita Vi dell'unit

relativa alla citt e alla posizione i considerata. Se il numero delle citt 6 e la citt A occupa la seconda posizione nella sequenza finale, la configurazione degli stati delle unit ad essa associata la seguente A quadrata di dimensioni forma seguente: 0 1 0 0 0 0. Per n citt la rete deve essere formata da N = n 2 n X n. Riferendosi all'esempio in cui si hanno 5 citt la matrice ha la neuroni. Lo stato di uscita di queste N unit pu essere descritto mediante una matrice

6.13 In questo caso la sequenza finale soluzione del problema D B F C A E , mentre la lunghezza del cammino ddb + dbf + dfc + dca + dae + ded (vedi figura 6.3). Una matrice che rappresenta una soluzione corretta caratterizzata da un solo elemento 1 in ogni riga e colonna dato che una citt pu essere visitata solo una volta, allora le 2N configurazioni possibili si riducono a un sottoinsieme pari al numero delle permutazioni delle n righe della matrice n!. Le possibile sequenze inoltre non sono tutte distinte, poich si considerano coincidenti sia sequenze del tipo DBFCAE, BFCAED, CAEDBF etc, sia le sequenze

DBFCAE e EACFBD, per cui il numero di soluzioni distinte del problema diventa n!/2n. La variabile di uscita Vxi di ogni unit sar caratterizzata dai due indici x e i il primo indice relativo alla citt, l'altro alla posizione nel percorso. Le soluzioni finali del TSP descritte mediante una rete continua di Hopfield porta alle seguente espressione per l'energia computazionale:

dove , , , sono costanti positive per le quali non esiste un criterio definito di scelta. La 6.14 pu essere facilmente spiegata: il primo addendo, essendo costituito da termini che rappresentano tutti i possibili prodotti tra due elementi appartenenti ad una riga, pari a 0 se la riga x contiene un solo elemento pari ad 1; analogamente il secondo termine pari a 0 solo se la colonna i-esima presenta un solo elemento pari a 1; il terzo addendo, poich una forma quadratica della differenza fra la somma di tutti gli elementi della matrice e il numero totale di elementi n, 0 se la somma n. La minimizzazione di questi tre termini di E corrisponde alla scelta di una possibile soluzione del problema. Infine la minimizzazione dell'ultimo addendo individua il percorso pi breve. I valori dei pesi delle connessioni e delle correnti esterne sono:

La rete continua di Hopfield costruita per il problema TSP permette di trovare una delle soluzioni possibili, in tempi molto brevi.

Reti Neurali: modelli e aspetti applicativi

81

FIGURA 6.3 - Una figura stilizzata della rete implementate il problema TSP. Ogni neurone e simbolicamente indicato da un quadrato. La soluzione del problema e rappresentata dai quadrati scuri come nella matrice 6.14. Sono indicate anche le connessioni di due differenti neuroni.(FONTE SCIENCE VOL.33/HOPFIELD)

6.3.4 - PROGRAMMAZIONE LINEARE Un problema di programmazione lineare consiste nel minimizzare una funzione costo, associata alle variabili in gioco, nel rispetto di un insieme di vincoli sulle variabili. La funzione costo l'insieme dei vincoli possono essere 6.16 V un vettore le cui N componenti rappresentano le variabili del problema , A e Dj sono vettori di N dimensioni, i cui elementi costanti costituiscono i coefficienti delle variabili, rispettivamente nella funzione costanti. comprende costo e nell'equazione del vincolo, infine B sono termini problema di La figura 6.4 mostra una rete di neuroni che pu risolvere un

programmazione lineare di due variabili con quattro equazioni di vincolo. Il circuito N amplificatori le cui uscite Vi rappresentano il vettore V, M amplificatori di

uscita j cui sono associati l'insieme dei vincoli , j indica se soddisfatta la corrispondente equazione di vincolo. L'uscita normale Vi dell'amplificatore i connessa all'ingresso

dell'amplificatore, cui corrisponde la j-esima equazione di vincolo mediante una resistenza di conduttanza Dji . L'uscita inversa j dell'amplificatore j connessa all'ingresso dell'amplificatore i con una resistenza con conduttanza -Dji . All'ingresso degli N amplificatori con uscita Vi si ha una corrente ottenuta dalla somma di una corrente esterna proporzionale al coefficiente -A e le correnti fornite dagli altri M amplificatori. La corrente in ingresso agli M amplificatori di uscita j data dalla somma di una corrente esterna proporzionale a -B e le correnti fornite dagli N amplificatori. Gli amplificatori Vi presentano un ingresso

collegato a massa mediante un gruppo parallelo costituito da una capacit C i e una resistenza i , hanno inoltre una funzione di attivazione Vi = g(Ui ) non lineare. Gli amplificatori j hanno una funzione di attivazione non lineare definita come: 6.17 nella 6.18 si ha f(z) = 0 per z 0, f(z) = -z per z < 0. Tale funzione fa assumere una uscita positiva j.>> 1 all'amplificatore j corrispondente a un'equazione di vincolo violata.

Considerando trascurabile il tempo di risposta degli M amplificatori j rispetto quello degli N amplificatori Vi , le equazioni dinamiche del circuito calcolate per le sole uscite Vi sono:

Reti Neurali: modelli e aspetti applicativi

83

Si consideri adesso la funzione energia seguente:

6.19 nella 6.20 si ha f(z)= dF(z)/dz. Tank e Hopfield hanno dimostrato che dE/dt 0 , e i minimi di E corrispondono a buone soluzioni del problema con funzioni costo e violazioni ai vincoli minimizzate. Il problema di Hitchcock esposto problema di programmazione lineare. nel prossimo paragrafo un esempio di

FIGURA 6.4 - Schema circuitale della rete neurale di Hopfield per un problema di programmazione lineare. (FONTE APPLIED OPTICS

TAKEDA/GOODMAN/1986)

6.3.5 - IL PROBLEMA DI HITCHCOCK Il problema di ottimizzazione di Hitchcock pu essere risolto mediante la rete continua di Hopfield. Tale problema viene formulato come segue: vi siano m centri di produzione (X = 1,...,m) per una data merce, sia Sx il quantitativo di prodotto disponibile nel centro X, inoltre vi siano n depositi (Y = 1,...,n), ciascuno con una richiesta pari a DY . il flusso di merce f Se CXY il

costo unitario della spedizione dal centro X al deposito Y, si deve trovare per ogni coppia XY che soddisfa le richieste contemporaneamente minimizza il costo totale. La funzione da minimizzare :

6.20 nel rispetto dei vincoli:

6.21 Nella figura 6.5 sono riportati un esempio di matrice di costo ed un esempio di soluzione in forma di matrice di flusso. La figura 6.5 mostra come pu essere descritta la matrice di flusso in termini dei valori di attivazione Vi delle unit della rete neurale. Ogni elemento fXY di tale matrice viene codificato mediante q neuroni in tal modo il numero totale di neuroni necessario per rappresentare la matrice di flusso N= qmn. Lo stato di attivazione di ciascun neurone viene indicato con VXY,i dove gli indici XY si riferiscono all'elemento della matrice di flusso mentre i un indice sui q neuroni. Utilizzando lo schema rappresentazione gruppi-pesi l'elemento fXY assume la forma: di

6.22

Reti Neurali: modelli e aspetti applicativi

85

Si costruisce adesso la funzione energia E avente forma quadratica rispetto le variabili V:

6.23

dove , , , sono dei fattori positivi per i quali non esiste un criterio definito di scelta. Si analizzano in dettaglio i singoli addendi dell'espressione 6.23: il primo termine la somma estesa a tutte le variabili di stato di funzioni del tipo: F(V) = - (1 - 2V)2 (0 V 1), le quali assumono valore minimo per V = 0 o V = 1; di conseguenza la minimizzazione di tale termine assicura che la soluzione finale sia data da una rappresentazione binaria; il secondo e terzo termine sono espressioni quadratiche che servono a minimizzare le violazioni alle quadrato della funzione costo Le soluzioni che minimizzano E relazioni che di si vincolo; l'ultimo termine il vuole minimizzare.

non necessariamente comportano il raggiungimento del

minimo della funzione costo nel rispetto dei vincoli, comunque la scelta di opportuni fattori , , e porta a buone soluzioni che minimizzano E. Con riferimento al problema in esame l'energia pu essere scritta nella forma di Hopfield:

6.24

in questa espressione

il peso della connessione tra il

neurone in posizione [(k-1)M+i] nell'elemento XY e il neurone in posizione [(k'-1)M+i'] nell'elemento X'Y'. Uguagliando i corrispondenti coefficienti nelle due funzioni, si determinano i pesi delle connessioni e le correnti di alimentazione di ogni singolo neurone come segue:

6.25

xx il delta di Kroneker.

Reti Neurali: modelli e aspetti applicativi

87
FIGURA 6.5 - In alto schema di un problema di Hitchcock con 4 centri di produzione e 6 depositi. TABELLA I (A) Matrice di costo per il problema di Hitchcock (B) Semplice soluzione rappresentante il flusso dalla sorgente X al deposito Y. TABELLA_II Rappresentazione neurale della matrice di flusso del problema di Hitchcock, q neuroni sono utilizzati per rappresentare un elemento della matrice di flusso. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986)

6.3.6 - SISTEMA DI EQUAZIONI LINEARI Si consideri un sistema di equazioni lineari: H x = y dimensioni N x N, ed x e y sono due vettori dove H una matrice quadrata di di N componenti rappresentanti una

rispettivamente le incognite e i termini noti. Per utilizzare il processo di minimizzazione di energia delle reti continue di Hopfield riformuliamo il problema introducendo funzione energia che include il termine || y - Hx || . La componente n del vettore delle variabili incognite, secondo la rappresentazione descritta nel paragrafo 6.2 e:

6.26 Sostituendo la 6.26 in un'espressione di energia si ottiene:

6.27 Nella 6.27 il primo un termine di minimizzazione binaria analogo al primo termine della 6.24. La 6.27 pu essere riportata nella forma dell'energia di Hopfield trovando cosi le espressioni dei pesi e delle correnti in input.

Reti Neurali: modelli e aspetti applicativi

89

6.4 - COMPLESSIT' COMPUTAZIONALE DI UNA RETE NEURALE

I risultati delle simulazioni effettuate da Tank, Hopfield, Takeda e Goodman con riferimento ai problemi trattati non hanno permesso di trovare alcuna relazione tra il tempo di elaborazione, le dimensioni del problema e l'algoritmo utilizzato per l'apprendimento. Considerando che problemi con un numero maggiore di variabili comportano l'introduzione di ulteriori unit di elaborazione si pensa che il tempo di elaborazione richiesto non cresca rapidamente La complessit con computazionale nei le dimensioni del problema. calcolatori digitali definita come il numero di

operazioni aritmetiche richieste per risolvere un dato problema (si indica con O(f(N)) dove N sono le dimensioni del problema e f(N) una funzione di N). Analizzando come essa cresce con l'aumentare delle dimensioni N del problema si pu misurare tempi l'efficienza di un algoritmo. Algoritmi con di esecuzione crescenti in maniera esponenziale con N

hanno un uso molto limitato nei calcoli convenzionali. I metodi euristici utilizzati ad esempio per risolvere il problema TSP hanno una complessit computazionale di tipo esponenziale o addirittura fattoriale e non noto alcun metodo che limiti tale complessit a una potenza di N. Analogamente alla complessit computazionale , per una rete neurale possibile definire il concetto di complessit di programmazione. La complessit di programmazione di una rete neurale il numero di operazioni aritmetiche richieste per determinare i corretti pesi delle connessioni e le correnti esterne di alimentazione per il problema da risolvere. In una rete neurale la fase di programmazione (apprendimento) la fase di immissione dati non sono distinte ma sono legate entrambe alla determinazione dei pesi e delle correnti esterne, per cui immettendo nuovi dati si deve procedere a un ricalcolo dei pesi e delle correnti. Risulta quindi che la complessit di programmazione di una rete un indice dell'efficienza computazionale della rete. Un confronto tra la complessit computazionale e quella di programmazione riferita a un particolare problema pu mostrare importanti aspetti del calcolo neurale. Si consideri il problema della risoluzione di equazioni lineari con N incognite del sottoparagrafo 6.3.6. Si visto che sono richiesti qN neuroni, q e il numero di neuroni richiesto per rappresentare ogni variabile incognita con lo schema gruppi-pesi ed e indipendente da N. Il numero delle interconnessioni dato da: (1/2)qN(qN +1) O(N2), mentre il numero di correnti qN ; O(N). La complessit di programmazione risulta O(N3 ) poich necessitano N operazioni per determinare ogni peso e ogni corrente. A. V. Aho24 ed altri hanno mostrato che la complessit computazionale dello stesso problema
24 A.V.Aho, J.E. Hopcrroft e J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley 1974.

O(N ), per cui in questo caso la complessit di programmazione coincide con la complessit computazionale. Nel problema TSP la complessit computazionale O(N!), dove N il numero delle citt, risolvendo lo stesso problema con la rete continua di Hopfield si pu dimostrare che la complessit di programmazione O(N ). Si ha che il numero di pesi da determinare N mentre le correnti sono N, per cui dato che il numero di operazioni per determinare i pesi e le correnti e N, risulta che O(N3 ). Il problema di Hitchcock fornisce un buon esempio di come la complessit di programmazione dipenda dall'algoritmo usato. Nel problema di Hitchcock con m sorgenti e n depositi occorrono qmn neuroni. Il numero di interconnessioni allora: (1/2)qmn(qmn + 1) O(m2 n2 ), le correnti sono: qmn; O(mn). Il calcolo di ogni peso e di ogni corrente richiede un numero costante di operazioni per cui la complessit di programmazione O(m2 n2 ) = O(n4 ) per m n. Considerando la funzione energia 6.24 si ha che l'ultimo termine corrispondente alla minimizzazione del flusso di costo totale sempre positivo. Definendo l'energia senza elevare al quadrato l'ultimo termine della 6.24 si ottengono dei pesi non dipendenti dai termini C XY di programmazione dipende solo dalle correnti Attualmente non noto quale sia l'algoritmo computazionale per il problema di Hitchcock. che fornisce in tal modo la complessit

esterne ed O(mn) O(n2 ) per m n. la minore complessit

Reti Neurali: modelli e aspetti applicativi

91

6.5 - APPLICAZIONE DI PERCEPTRONI MULTISTRATO CON REGOLA BACKPROPAGATION: RETE NETTALK Un'applicazione molto interessante dei sistemi neurali la rete NETtalk
25

di Sejnowsky e

Rosemberg , una macchina che impara a leggere in inglese partendo da esempi che le vengono presentati durante la fase di apprendimento. NETtalk traduce il testo presentato in ingresso in fonemi, un fonema una rappresentazione simbolica del suono della singola lettera, i quali vengono trasformati in suono da un sintetizzatore vocale. NETtalk essenzialmente un perceptrone multistrato che utilizza la regola di apprendimento back-propagation. Gli strati della rete sono tre e comprendono, oltre a due strati di ingresso e di uscita, uno strato di unit nascoste. La funzione di attivazione della rete mostrata in figura 6.6 ed espressa da:

6.28 Lo strato di ingresso consiste di 7 gruppi di 29 unit, ogni gruppo codifica una lettera del testo in input, il quale viene presentato sette lettere alla volta (203 unit di ingresso). Il numero delle unit nascoste varia da simulazione a simulazione, in generale si sono usate 90 unit. L'uscita voluta dalla rete un fonema oppure un suono associato alla lettera centrale della stringa in ingresso. Le altre sei lettere determinano un parziale contesto per la pronuncia esatta della lettera. Lo schema rappresentativo delle lettere e dei fonemi diverso. La lettera e rappresentata localmente entro ogni gruppo di unit in ingresso, che risulta e i confini della parola. costituito da 26 unit corrispondenti al numero delle lettere, pi 3 unit che rappresentano la punteggiatura fonema rappresentato I 54 fonemi in uscita consistono in 23 caratteristiche di pronuncia pi 3 legate all'accento. Un dall'attivazione simultanea di pi unit di uscita secondo lo schema binario. L'apprendimento della rete consiste in una vera e propria lettura di un testo inglese, nel caso di NETtalk stato presentato alla rete un testo di 20012 parole. Durante la lettura viene applicata alla rete la regola back-propagation che consente il settaggio delle

25 Terrence J. Sejnowsky e Charles R. Rosemberg, "NETtalk: a parallel network that learns to read aloud", The Johns Hopkins University EECS Technical Report 186/01.

connessioni della rete. La rete viene inizialmente settata

con

pesi

casuali distribuiti

uniformemente nell'intervallo 0.3. Alla fine della fase di apprendimento le prestazioni della rete sono state testate con un vocabolario di 1000 parole prese a caso dal testo imparato. Sejnowsky e Rosemberg hanno studiato la variazione delle prestazioni con diversi numeri di unit nascoste. La fig. 6.6 mostra che i migliori risultati si ottengono con 120 unit nascoste (98% di pronunzie esatte sui fonemi presentati). Si nota anche che l'aumento delle unit nascoste porta ad un miglioramento della velocit di apprendimento.
FIGURA 6.6 - In alto si ha lo schema della rete NETtalk, in basso un grafico rappresentante le prestazioni della rete. Le diverse curve si riferiscono alle prestazioni di reti con 120, 60, 30, 15, 0 unit nascoste. In ordinata si ha la percentuale di errori, in ascissa il numero di parole che la rete inpara. Si noti che i migliori risultati si hanno con 120 unit nascoste, e che le performance della rete crescono col numero delle parole imparate. (FONTE SEJNOWSKY)

Reti Neurali: modelli e aspetti applicativi

93

7. - MEMORIE ASSOCIATIVE BASATE SUL MODELLO DISCRETO DI HOPFIELD E NUOVI ALGORITMI DI MEMORIZZAZIONE
7.1 - INTRODUZIONE

Nei capitoli precedenti (rif. par. 4.4) si gi vista la possibilit di utilizzare il modello discreto di Hopfield per il progetto di memorie associative o memorie a contenuto indirizzabile (C.A.M.). In questo capitolo, dopo un approfondimento su nuove regole di apprendimento, sono presentati i risultati di simulazioni software di memorie associative basate sul modello discreto di Hopfield. Sono stati utilizzati due distinti algoritmi di memorizzazione, inizialmente la regola di Hebb, successivamente si utilizzata la regola di apprendimento di S.H. Oh. . Le prove fatte evidenziano le caratteristiche e i limiti di memorie associative implementate col modello discreto di Hopfield. Inoltre risaltano i vantaggi di utilizzo della regola di Oh.

7.2 - PROBLEMI ALEATORI E MEMORIE ASSOCIATIVE

I problemi come il riconoscimento di forme appartengono alla classe dei problemi aleatori e non si prestano, per loro natura, a una soluzione algoritmica semplice. Il termine aleatorio indica la impossibilita di definire il problema in maniera concisa e completa. Laleatoriet del problema legata alla quantit di informazione richiesta per definirlo e all'altissimo numero di soluzioni possibili. Dalla definizione di entropia di Shannon come misura dell'informazione contenuta in un messaggio si pu affermare che un problema aleatorio ha un alto grado di entropia rispetto un problema strutturato. Per poter risolvere problemi aleatori, oltre ai metodi euristici, gi menzionati, si potrebbero memorizzare tutte le soluzioni possibili e dopo utilizzare dei metodi per associare direttamente i dati in ingresso con le informazioni immagazzinate, senza bisogno di un'esatta corrispondenza. convenzionali Nelle memorie i dati memorizzati sono accessibili mediante degli indirizzi e informazioni

parziali sono insufficienti per richiamare i dati. Le memorie biologiche sembrano essere di differente natura. L'intero set di caratteristiche connesso a un concetto memorizzato pu essere ricavato da un set parziale di informazioni, mediante dei processi associativi. A questi processi di associazione si ispira il progetto di memorie associative costruite mediante reti neurali. Diversi studiosi26 hanno mostrato la possibilit di utilizzare memorie associative per problemi di riconoscimento (vedi figura 7.1a).

26 K. Nakano, "Associatron- A Model of Associative Memory", IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-2, Num. 3, Luglio 1972.

Reti Neurali: modelli e aspetti applicativi

95

FIGURA 7.1a - In alto vi limmagine memorizzatadi una T, sotto le immagini di partenza corrotte da cui si pu risalire allimmagine iniziale in memoria. In basso ce un esempio di ricostruzione di un'immagine di un volto (c) da un input parziale (b) realizzato mediante una memoria associativa. L'immagine memorizzata e la (c)

7.3 - CONSIDERAZIONI SUL MODELLO DISCRETO DI HOPFIELD

Si approfondisce adesso l'analisi del modello discreto di Hopfield . E' gi noto il modo in cui il modello pu essere utilizzato come memoria associativa: dato un set di M vettori V is binari (0,1) i = 1,..,N s = 1,..,M, essi vengono memorizzati in una matrice T in accordo alla regola di Hebb seguente:

7.1 Il termine M ij permette di rendere nulli i termini diagonali (Tij = 0).

La memoria pu essere

indirizzata moltiplicando la matrice T per uno dei vettore di

memorizzati ad esempio Vis , l'elemento Vis V in uscita risulta:

7.2 il valore medio del termine tra parentesi quadre (N-1)/2 per s=s' mentre nullo se s s' per cui estraendo il termine s'-esimo dalla sommatoria con indice s si ha:

7.3 consiste nella somma di due termini: il primo il vettore in ingresso amplificato dal termine (N - 1)/2, ed positivo per Vis = 1 negativo se Vis = 0, il secondo una

combinazione lineare dei rimanenti vettori memorizzati rappresenta un termine di rumore casuale. Il valore medio del secondo termine nullo per s s', ma pu contribuire ugualmente a Vis con un rumore dato dalla deviazione standard della somma di M-1 coefficienti random:

Reti Neurali: modelli e aspetti applicativi

97

7.4 se N sufficientemente pi grande di M allora V is approssimativamente un autovettore della matrice T, inoltre il rumore approssimativamente gaussiano e la probabilit di errore su un singolo bit e:

per M = 10 e N = 100 si ha P = 0.0091. Per quanto visto si ha un'alta probabilit che l'elemento

in uscita

sia positivo se il corrispondente elemento in ingresso Vis memorizzato e +1 e 0

altrimenti. Utilizzando la funzione di attivazione a soglia otteniamo il valore Vis memorizzato. La grandezza del termine di rumore nella 7.3 cresce col numero M di vettori memorizzati e con l'ammontare della correlazione tra i vettori memorizzati (la correlazione e proporzionale al numero di bit uguali tra due vettori). Se i vettori sono ortogonali il rumore si annulla e i vettori Vs sono esattamente autovettori della matrice T. Per quanto detto il numero M di vettori memorizzabili in una matrice T di N dimensioni e limitato ad una frazione di N. Hopfield ha stimato Mmax 0.15N,(M lavoro si sono ottenute buone prestazioni delle memorie con M e il

numero massimo di vettori memorizzabili), nelle simulazioni fatte dall'autore del presente 0.1N. Recentemente

Farhat e Psaltis hanno indicato un limite teorico uguale a M N/(4*ln(N)).

7.4 - NUOVI ALGORITMI DI MEMORIZZAZIONE

E' importante notare che quasi tutti i dati contenuti in una memoria tendono ad essere molto correlati (ad esempio i nomi di un archivio). Per tale motivo utile definire nuovi algoritmi di memorizzazione27 memorizzare. In che superano i limiti derivanti dalla correlazione dei dati da questo paragrafo si accenna a tre nuove regole di apprendimento

utilizzate come algoritmi di memorizzazione in memorie associative. Tali regole consistono in una modifica della originale regola di Hebb, e in condizioni particolari si riducono in essa. Per esprimere tali regole in una forma pi concisa definiamo la regola di Hebb in forma incrementale: 7.5 Nella 7.5 TijAB denota una matrice T nella quale sono stati memorizzati i vettori A e B, l'insieme delle Vic sono le componenti del nuovo vettore C da memorizzare. Il primo algoritmo noto come "Adaline learning rule", ed dato da:

7.6 Il termine: V|| i una misura della correlazione tra la matrice T AB e il vettore Vc che si sta memorizzando. Se Vc ortogonale a tutti i vettori memorizzati precedentemente nella matrice TAB allora il termine V|| i si annulla e la 7.6 si riduce alla regola di Hebb. La 7.6

espressa nella stessa forma della 7.1 diventa:

7.7 nella 7.7 il termine T'ij consiste nella stessa sommatoria 7.7 calcolata da s = 1 a s = M-1. La regola espressa dalle 7.6 e 7.7 ha tutte le caratteristiche della regola di Hebb anche se la matrice T risultante non simmetrica. Bench l'accuratezza con cui un dato vettore memorizzato dipende dall'ordine di presentazione alla memoria la regola Adaline, applicata a

27 J.S. Denker, "Neural network models of learning and adaptation", Physica Vol.2D (1986), pag 216-232.

Reti Neurali: modelli e aspetti applicativi

99

memorie associative, da buoni risultati. La regola di apprendimento che segue adesso detta regola geometrica:

7.8 La regola 7.8 ricorda l'algoritmo di Gram-Schmidt per ortonormalizzare un insieme di vettori e ha una semplice interpretazione geometrica: V|| la proiezione di Vc nello spazio costruito mediante i vettori precedentemente memorizzati nella matrice TAB , e la

proiezione di Vc nello spazio nullo di T . I vettori memorizzati. La regola geometrica risolve

sono normali a tutti gli altri vettori

essenzialmente tutti i problemi legati alla

correlazione tra i vettori, ognuno dei vettori memorizzati esattamente un autovettore di T con autovalore N-1. Le memorie associative implementate con queste nuove regole sono spesso chiamate memorie eteroassociative. In tali dispositivi, come si visto, non viene memorizzato direttamente il vettore, ma una sua rappresentazione ortogonale rispetto gli altri vettori memorizzati.

FIGURA 7.1b - Raffigurazione di una memoria eteroassociativa, si noti la reppresentazione ortogonale del pattern memorizzato (a) e il richiamo del pattern da un input alterato.

7.5 - ALGORITMO DI MEMORIZZAZIONE DI S.H. OH

La regola di Hebb richiede che ogni vettore memorizzato abbia approssimativamente lo stesso numero di bit a zero e ad uno, definendo con S01 lo sbilancio tra i bit diversi, deve essere S01 N/2 , dove N e la dimensione dei vettori memorizzati. Se S01 sufficientemente diverso cresce il valore del termine rumore della 7.3 e la memoria associativa non riesce a paragrafo viene descritto un nuovo algoritmo di funzionare adeguatamente. In questo

memorizzazione, proposto recentemente da S.H. Oh,28 che permette di superare il limite prima presentato. Nel paragrafo 7.3, implementando il modello di Hopfield, si e assunto che il valore della soglia Si di attivazione del neurone sia nulla. In generale la scelta di S i dipende dai vettori memorizzati Vs Quando Si , ad esempio la scelta Si = 0 e valida con l'assunzione S01 N/2.

e diverso in ogni Vs ,si nota che il vettore con il pi alto numero di uno presenta

una forte tendenza ad essere stato attrattore (tale caratteristica sar mostrata nella prima simulazione di pag. A.1). Inoltre in casi in cui uno o pi vettori hanno un bassissimo numero di bit uno, tali vettori possono risultare non richiamabili dalla memoria (vedi seconda simulazione a pag A.3). L'algoritmo di memorizzazione di S.H. Oh consiste in una semplice modifica della regola di Hebb. Si supponga di volere memorizzare il vettore Vs , Oh propone di memorizzare un vettore Vs di dimensioni 2N che formato dalle componenti del vettore Vs pi le componenti del vettore complemento, si ha:

7.9 Tale vettore memorizzato in una matrice T' mediante la seguente espressione:

7.10 Lo stato successivo del neurone definito da:

7.11

con

7.12

In questo modo il numero di bit a uno sar sempre uguale al numero degli zeri, quindi l'applicazione di tale algoritmo al modello di Hopfield risolve il problema dello sbilancio dei
28 Sang-Hoon Oh, Tae-Hoon Yoon e Jae-Chang Kim, "Associative memory model based on neural networks: modification of Hopfield model", Optics Letters, Vol.13, Num.1, Gen. 1988.

Reti Neurali: modelli e aspetti applicativi

101

bit. Si noti che l'algoritmo di Oh pu essere applicato senza costruire una memoria di dimensioni 2N, infatti si pu facilmente verificare che per un vettore nel quale le ultime N componenti sono il complemento delle prime N si ha:

7.13 Tij l'elemento della matrice T definita dalla 7.1. Utilizzando le 7.13 la 7.12 pu essere riscritta come:

7.14 Dalla 7.14 si nota che espresso utilizzando solamente gli elementi Tij della matrice T e

lo stato attuale ViS . La 7.14 mostra che il prossimo stato

corrisponde agli elementi

indice 1 i N. Si ha allora la seguente funzione di attivazione:

con

7.15 sia dallo stato corrente il degli altri neuroni. L'algoritmo di

Nella funzione di attivazione 7.15 lo stato successivo di ogni neurone i dipende sia dal proprio stato attuale, memorizzazione esposto, risolvendo problema dello sbilancio dei bit dei vettori

memorizzati, permette di incrementare il numero M di vettori memorizzabili in una matrice di N neuroni. Tale miglioramento di prestazioni evidenziato nelle simulazioni descritte pi avanti.

7.6 - SIMULAZIONI AL CALCOLATORE DI MEMORIE ASSOCIATIVE

In questo paragrafo sono descritte e commentate le simulazioni di memorie associative fatte al calcolatore. I risultati di tali simulazioni sono raccolti nelle figure nell'appendice A. Segue adesso una descrizione generale, valida per tutti le prove effettuate del significato di tali figure. Dopo avere mostrato in una figura iniziale i vettori memorizzati Vs (s = 1,..M) (compresi i vettori complemento, la distanza di Hamming tra tali M vettori e la matrice delle connessioni ), seguono delle tabelle che si riferiscono a diversi test sulla memoria. Il test al quale si riferisce indicato in alto alla tabella. Generalmente i test effettuati consistono nel presentare alla memoria un vettore di ingresso Us (s = 1,..,M) corrispondente al vettore memorizzato Vs alterato in vari modi. Nei test 1A e 1B la modifica di Us consiste nel far crescere la distanza di Hamming H tra esso e il vettore memorizzato Vs . Nel test 1A la distanza H viene modificata invertendo successivamente gli stati di 1,2,.. fino al bit N-esimo del vettore Us . Nel test 1B vengono posti a 0 tutti i bit di Us da una certa posizione fino alla N. Le tabelle dei test 1A e 1B sono molto simili, differisce solo la prima colonna, che nel test 1A corrisponde alla distanza di Hamming H0 crescente, mentre nel test 1B H0 il numero di bit posti a 0 a partire dal bit N-esimo. Le colonne Vf, I, H successive rappresentano rispettivamente l'indice del vettore memorizzato finale raggiunto, il numero di iterazioni effettuate e la distanza di Hamming tra Vf e il vettore in ingresso Us iniziale. Analizzando la distanza di Hamming H si ha che H=0 se Vf corrisponde al vettore Vs ricercato, mentre se H = N Vf il complemento del vettore Vs . Si noti che se l'indice del vettore finale negativo, Vf corrisponde al complemento di uno dei Vs vettori memorizzati. Se l'indice di Vf nullo, dall'analisi del numero di iterazioni I si deduce uno dei due casi seguenti:

Imax un numero massimo di iterazioni consentite ed scelto in modo da ottimizzare la ricerca degli stati oscillatori. Il secondo test consiste nell'immissione di una percentuale crescente di rumore sul vettore di ingresso Us . La prima colonna della tabella indica la percentuale di rumore introdotta, le altre colonne e la tabella riassuntiva finale hanno il significato visto nel test 1A e 1B. Nel terzo test, utilizzato solo nella prima simulazione vengono presentati ad una rete di 16 neuroni tutti i 2 seguenti elementi: vettori possibili, e vengono conteggiati i risultati. Le prestazioni di una memoria associativa sono sintetizzate dall'analisi delle variazioni dei

Reti Neurali: modelli e aspetti applicativi

103

percentuali di successi nei richiami numero attrazioni indotte numero stati oscillatori numero stati metastabili in funzione di condizioni iniziali come: numero M dei vettori memorizzati. algoritmo di memorizzazione utilizzato codice rappresentativo dei dati In basso alle tabelle sono sintetizzati i risultati dei test. Le varie righe, che si riferiscono ai vettori memorizzati totalizzano per ogni vettore la percentuale di successi dei richiami, il numero di stati oscillatori e il numero di attrazioni indotte sui vettori di ingresso non corrispondenti (ad esempio il vettore V1 pu attrarre il vettore ingresso U2 costruito dal vettore memorizzato V2 invertendo un certo numero di bit). Le simulazioni effettuate sono: 1. - HOP16211, HOP16221, HOP16311, HOP16321 2. - HOP20211, HOP20221, HOP20311, HOP20321 3. - HOP3231, HOP3232, HOP3241, HOP3242, HOP3251, HOP3252 4. - PARE64412, PARE64411, PARE64422, PARE64421, PARE64522, PARE64521, PARE128422, PARE128421, PARE128522, PARE128521 5 - HOP120221, HOP120321, HOP128621 Le simulazioni sono basate su diversi set di dati. I primi 5 set sono vettori di 16, 20, 32, 64 e 128 bit utilizzati rispettivamente nelle simulazioni 1, 2, 3 e 4. Gli ultimi due set di dati di 120 e 128 bit sono impiegati nella simulazione 5. Nelle routine base dei programmi utilizzati il termine del ciclo delle iterazioni stabilito dalle seguenti condizioni: 1. il vettore in uscita uguale a quello in ingresso. 2. il numero delle iterazioni supera un numero massimo di iterazioni prefissato I . Segue adesso un breve commento ad ogni simulazione. 7.6.1 - SIMULAZIONE 1 Nelle prove della prima simulazione (pag. A.1-A.2) si utilizzato un set di 3 vettori di 16 bit e si sono misurare le prestazioni della memoria, presentando in ingresso tutti i 2 vettori

possibili. Si sono utilizzate sia la regola di Hebb, sia la regola di Oh, memorizzando prima 2 vettori e successivamente 3 vettori. Il terzo test mostra i risultati: nelle prove HOP16311 e HOP16211, fatte con la regola di Hebb, il vettore 8768 caratterizzato da una bassa percentuale di 0 completamente irrecuperabile e si ha la presenza di 4 stati attrattori metastabili 577, 3478, 53388 e 56766 nella prova HOP16211 e uno stato metastabile 48283 nella prova HOP16311; lo stesso vettore 8768 risulta perfettamente richiamabile insieme a tutti i vettori normali e complemento memorizzati nelle prove HOP16312 e HOP16212, nelle quali applicata la regola di Oh.

7.6.2 - SIMULAZIONE 2 Nelle prove HOP20221, HOP20211, HOP20321 e HOP20311 della seconda simulazione, si applicano rispettivamente la regola di apprendimento di Hebb e la regola di Oh e si utilizzato lo stesso set di vettori di 20 bit . Nelle prove HOP20221 e HOP20211 si sono memorizzati 2 vettori, mentre nelle altre due si sono memorizzati 3 vettori. Tali vettori sono caratterizzati da una distanza di Hamming media uguale a 10 e da una bassa percentuale di uno (25%). Le prove HOP20221 e HOP20211 mostrano il buon funzionamento della regola di Hebb, al contrario le prove HOP20321 e HOP20311 indicano la impossibilita di richiamare tali vettori con la stessa regola. di I test 1A e 1B delle prove HOP20321 e HOP20311 mostrano un netto miglioramento delle prestazioni della memoria applicando la regola di Oh come algoritmo memorizzazione. La Fig. A.6 (riferentesi alle prove HOP20321 e HOP20311) un esempio di richiamo di un vettore memorizzato con le diverse regole di apprendimento. La regola di Hebb porta al richiamo di uno stato metastabile, la regola di Oh permette di richiamare il vettore memorizzato con la pi bassa distanza di Hamming dal vettore di ingresso.

Reti Neurali: modelli e aspetti applicativi

105

7.6.3 - SIMULAZIONE 3 La terza simulazione evidenzia il degrado di prestazioni di una memoria associativa al crescere del numero M di vettori memorizzati, e mostra che l'impiego della regola di Oh consente di memorizzare pi vettori rispetto la regola di Hebb. Nella varie prove si sono memorizzati progressivamente un numero M ( M = 3,4,5 ) crescente di vettori di 32 bit. I vari test dimostrano che al crescere di M, la memoria aumenta il numero degli errori nei richiami utilizzando la regola di Hebb. La regola di Oh permette di avere una bassa percentuale di errori della memoria anche con vettori memorizzati. Il massimo numero di vettori memorizzabili mediante il modello utilizzato era stato fissato da Hopfield ad una frazione di N (N < 100) corrispondente a 0.15N. Le prove fatte mostrano che tale limite raggiungibile a condizione che i vettori memorizzati siano abbastanza diversi, cio siano poco correlati, e abbiano uno basso sbilancio S01 tra bit a zero e bit a uno. Se tali condizioni non sono soddisfatte la saturazione della memoria si presenta prima del limite visto. Con riferimento alla figura A.8, che mostra le matrici di connessione costruite per M crescente, si notato che un indice della saturazione della memoria la percentuale di zeri della matrice di connessione. Il numero ottimale di vettori memorizzati sembra corrispondere ad una matrice di connessioni con una alta percentuale di zeri (si veda la matrice corrispondente a M=4 di Fig. A.8). Una percentuale uguale a 1/N, per una matrice N-dimensionale, indica una scarsa utilizzazione della memoria oppure una saturazione della stessa (matrici con M=3 e M=5 di Fig. A.8). Il numero ottimale di vettori memorizzati pu essere incrementato almeno di un'unit con l'utilizzo della regola di Oh. 7.6.4 - SIMULAZIONE 4 Le prove di tale simulazione si riferiscono ad una applicazione del modello discreto di Hopfield ad un problema di classificazione di forme. Si sono utilizzati 2 set di immagini corrispondenti ad una matrice quadrata rispettivamente di 64 e 128 bit. In tutti i casi stato necessario adottare la regola di Oh poich la regola di Hebb non forniva buoni risultati. Le Fig. da A.15 a A.24 mostrano la fase operativa di recupero informazioni da un input parziale o disturbato. Nel casi esaminati si visto che la saturazione della memoria si ha con M=5 per N=64 e M=6 per N=128.

7.6.5 - SIMULAZIONE 5 Quest'ultima simulazione (da pag. A.25) indica l'importanza del codice utilizzato per la rappresentazione di dati alfanumerici memorizzati. Nella prova HOP120221 e HOP120321 27 lettere impiegate. si utilizzato un codice binario a 5 bit per le 120

Tale codice permette di memorizzare stringhe di 24 lettere in una memoria associativa di neuroni. Lo svantaggio di tale codice dato da un bassissimo numero di stringhe si noti infatti la bassa distanza di Hamming media (H ) tra le stringhe memorizzabili perch il suo utilizzo comporta un alto grado di correlazione per le stringhe da codificare, richiamabili memorizzate. Nella prova HOP120321 le tre stringhe memorizzate sono completamente non anche mediante la regola di Oh. Tale limite deriva dal fatto che le stringhe memorizzate mediante il codice a 5 bit sono molto correlate. Questo limite di utilizzo intrinseco nel modello di Hopfield e non pu essere superato con la regola di Oh. Una soluzione di mantenere la media delle distanze di Hamming H uguale circa a N/2. Il codice binario a 8 bit utilizzato nella prova HOP128621 permette di notevolmente il numero di vettori memorizzabili. Nell'esempio stringhe di 16 lettere con buone prestazioni della memoria. aumentare 6 vengono memorizzate

Reti Neurali: modelli e aspetti applicativi

107

7.7 - MEMORIE OTTICHE ASSOCIATIVE

Accenniamo brevemente all'utilizzo della tecnologia ottica per costruire memorie associative basate sul modello di Hopfield. Diversi ricercatori 2930 hanno gi realizzato memorie associative ottiche . Una memoria associativa ottica costituita da tre componenti principali. Il primo una matrice bidimensionale di elementi ottici di commutazione, che cambiano stato in funzione degli stati degli elementi a cui sono connessi, ogni elemento della matrice pu essere connesso a tutti gli altri mediante fasci di luce. Il secondo un ologramma che definisce i collegamenti variabili tra i vari elementi. Il terzo elemento un rivelatore dell'immagine in uscita. Il dispositivo comprende anche un sistema di feedback, per riproporre in ingresso alla memoria l'immagine ottenuta in uscita. Si pensi che un ologramma del volume di un centimetro cubo pu specificare le connessioni tra un milione di elementi ottici di commutazione. La possibilit di immagazzinare le informazioni nelle interconnessioni di un ologramma tridimensionale permette di costruire dispositivi con un enorme memoria potenziale. Nel caso di memorie associative utilizzate per il riconoscimento di forme lo schema di connessione consiste in un ologramma di tutte le immagini da identificare (Vedi fig 7.2).

29 J. Jang ed altri, "Optical implementation of the Hopfield model for two dimensional associative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988. 30 N. H. Farthat, D. Psaltis, A. Prata e E. Paek, "Optical implementation of the Hopfield Model", Applied Optics, Vol. 24, Num.10, 15 Maggio 1985.

FIGURA 7.2 - Modello di memoria ottica associativa

Reti Neurali: modelli e aspetti applicativi

109

7.8 - CONCLUSIONI

Attualmente non si intravede la possibilit di costruire un sistema neurale adattabile a qualsiasi problema, cio una rete neurale general-purpose. Per questo motivo il sistema neurale non inteso a sostituire il calcolatore tradizionale, il quale rester insostituibile per la risoluzione di problemi algoritmici. A sua volta i sistemi neurali descritti finora, per i quali si mostrata una vasta gamma di applicazioni, definiscono un insieme di nuove macchine adatte a risolvere problemi particolari, che non sono algoritmicamente esprimibili, oppure sono risolti con difficolt dai computer. La prospettiva ragionevole dunque quella di vedere in futuro sistemi di calcolo misti, costituiti da computer convenzionali e reti neurali, giungendo alla realizzazione di sistemi efficienti per qualsiasi compito.

8. - BIBLIOGRAFIA
A. Turing, On computable numbers, with an application to the entscheidungsproblem, Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936. Robert McNaugthon, Elementary Computability, Formal Languages and Automata, Prentice Hall International 1982.
2

W.S. McCullock e W. Pitts, A logical Calculus of the Ideas Immanent in Nervous Activity, Bullettin of Mathematical Biophysics, Num. 5 1943, pag. 115-133.
3

John Von Neumann, Primo abbozzo di relazione sull'EDVAC (Electronic Discrete Variable Computer), Princeton University 1945.
4

Michael Conrad, "On Design Principles\ for a Molecular Computer", Communications of the ACM 1, Vol. 28, Num. 5, Maggio 1985.
5

J.J. Hopfield, "Physics, biological computation, and complementarity", Proceedings of Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985.
6

T. J. Sejnowsky, "Neural Network Learning Algorithms", NATO ASI Series, Vol. F41, SpringerVerlag, Berlino 1988.
7 8

Donald O. Hebb, The Organization of Behavior, Wiley, New York 1949.

Kohonen Teuvo. An Introduction to Neural Computing, Neural Networks, Vol. 1. 1988, pag 316.
9

Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Aprile 1987, pag 4-22 .
10

J.J.Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982).
11

J.J Hopfield, Neuron with graded response have collective computational properties like two-state neurons, Proc. Natl. Acad Sci. 81, pag. 3088 (1984).
12

S. Kirkpatrick ,C.D. Gelatt, M.P. Vecchi, Optimization by simulated annealing, Science Vol. 220, Num. 4598, 13 Maggio 1983, pag 671-680.
13 14

C. Kittel , Introduzione alla Fisica dello Stato Solido, Boringhieri 1971, Terza edizione.

S.E. Fahlman G.E. Hinton. Connectionist Architectures for Artificial Intelligence. IEEE Computer, Gennaio 1987, pag. 100-109.
15

Frank Rosemblatt, The perceptron, a probabilistic model for information storage and organization in the brain, Psychological review, 65 pag 386-408.
16

B. Widrow e M. Hoff, Adaptive switching circuits, Institute of Radio Engineers, 1960 WESCON Convention, Record Part IV, pag 96-104.
17

D. E. Rumelhart, J. L. McClelland, Exploration in Parallel Distributed Processing, The MIT Press, Cambridge 1989.
18

Reti Neurali: modelli e aspetti applicativi

111

D. E: Rumelhart, G. Hinton e R.J. Williams, Learning representations by back-propagating errors, Nature Vol. 323, 9 ottobre 1986.
19

Luis B. Almeida, "Backpropagation in perceptron with feedback", NATO ASI Series 1, Vol. F41 Neural Computers Springer-Verlag Berlino 1988.
20

Mitsuo Takeda e Joseph W. Goodman, "Neural networks for computation: number representations and programming complexity", Applied Optics, Vol. 25, Num. 18, 15 Settembre 1986, pag. 3033-3046.
21 22

J.J. Hopfield,"Computing with Neural Circuit: A Model",Science,Num.233,1986, pag.625-633.

David W. Tank, John J. Hopfield, "Simple 'Neural' Optimization Networks: An A/D Converter, Signal Decision Circuit, and a Linear Programming Circuit", IEEE Transactions on Circuits and Systems, Vol. CAS-33, Num. 5, Maggio 1986.
23

A.V.Aho, J.E. Hopcrroft e J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley 1974.
24

Terrence J. Sejnowsky e Charles R. Rosemberg, "NETtalk: a parallel network that learns to read aloud", The Johns Hopkins University EECS Technical Report 186/01.
25

K. Nakano, "Associatron- A Model of Associative Memory", IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-2, Num. 3, Luglio 1972.
26

J.S. Denker, "Neural network models of learning and adaptation", Physica Vol.2D (1986), pag 216-232.
27

Sang-Hoon Oh, Tae-Hoon Yoon e Jae-Chang Kim, "Associative memory model based on neural networks: modification of Hopfield model", Optics Letters, Vol.13, Num.1, Gen. 1988.
28

J. Jang ed altri, "Optical implementation of the Hopfield model for two dimensional associative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988.
29

N. H. Farthat, D. Psaltis, A. Prata e E. Paek, "Optical implementation of the Hopfield Model", Applied Optics, Vol. 24, Num.10, 15 Maggio 1985.
30

9. - INDICE DELLE FIGURE


FIGURA 2.1 - Rappresentazione della Macchina di Turing, in alto il dispositivo A e l'unit di controllo, in basso si ha il nastro coi simboli dell'alfabeto esterno in ingresso, sopra il nastro in grigio e posizionata la testina di lettura. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)__________________ FIGURA 2.2a - (a) Neurone formale di Mc Cullock e Pitts (b) Rete di neuroni formali costituente un semiautoma strutturalmente programmabile. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)____________________________________________________________________ FIGURA 2.2b - Una rappresentazione pi generale della regola di funzionamento del neurone artificiale di McCullock e Pitts detto anche TLU (Threshold Logic Unit), x(i) sono gli ingressi, w(i) sono i pesi, il valore della soglia per la funzione di attivazione. Si noti che nella formula semplificata 2.4 i pesi w(i) sono tutti uguali a 1._______________________________________________________________________ FIGURA 2.2c - Semplice rappresentazione dellarchitettura di Elaboratore Von Neumann_________________ FIGURA 2.3. - Anatomia di un sistema di tre neuroni interagenti. (FONTE NEUROPHYSIOLOGY:A PRIMER WILEY/1966/C.F. STEVENS)__________________________________________________ FIGURA 2.4 - Grafico rappresentante il numero medio di potenziali d'azione nell'unit di tempo in funzione della corrente positiva in ingresso a un neurone. (FONTE PROCEDINGS OF THE NIELS BOHR CENTENARY SYMPOSIUM 10/85/J.J. HOPFIELD)________________________________________ FIGURA 2.5 - Processo di creazione di pi proteine da parte di una cellula in crescita, analogo alla computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidi costituenti la proteina.___ FIGURA 3.1a - Rappresentazione grafica della funzione di attivazione V(t+1), che dipende dall ingresso del neurone Ui e dallo stato Vi al tempo t._____________________________________________________ FIGURA 3.1b - Rappresentazione dell'ingresso pesato di un neurone e delle tre principali funzioni di attivazione. (FONTE IEEE ASSP MAGAZINE 4/1987 R.P. LIPPMANN_________________________ FIGURA 3.2 - Tipi generali di architetture di reti neurali___________________________________________ FIGURA 4.1a - In alto mostrata la funzione di attivazione di una rete discreta di Hopfield, il cui schema mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOPFIELD)_______________________________________ FIGURA 4.1b - Sequenza di transizioni di un sistema fisico da uno stato iniziale V1 ad uno finale stabile V8, corrispondente ad un minimo di energia.___________________________________________________ FIGURA 4.1c - In alto lo schema architetturale del modello discreto di Hopfield che implementa una memoria associativa, in basso si vede il proncipio di funzionamento_____________________________________ FIGURA 4.2a - In alto mostrata la funzione di attivazione di una rete continua di Hopfield, in basso mostrato lo schema elettrico della rete. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD)_________________________ FIGURA 4.2b - In alto mostrato lo schema elettrico di una rete continua di Hopfield.___________________ FIGURA 4.3 - In alto mostrata la superficie energetica nello spazio delle coordinate r ed E, in basso si ha la stessa superficie vista dall'alto. (FONTE P.N.A.S. 81/1984 J.J.HOPFIELD; PHYSICAL D 1986/J.S DENKER)___________________________________________________________________________ FIGURA 4.4 - (a) La funzione di attivazione tipica di un neurone. (b) La funzione V=g(u) mostrata per tre valori del parametro l. ((c) Relazione inversa u=g-1 (V) della funzione V=g(u). (d) Il contributo di g

Reti Neurali: modelli e aspetti applicativi

113
HOPFIELD)______

all'energia della relazione 4.15 in funzione di V. (FONTE P.N.A.S. 81/1984/J.J.

FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltzman_____________________ FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosemblatt.. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)___________________________________________________ FIGURA 5.1b - Perceptrone a singolo strato, che classifica un vettore in ingresso in due classi denominate A e B. Tale rete divide lo spazio degli ingressi in due regioni separate dalla linea tratteggiata. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)___________________________________________________ FIGURA 5.2 - (A) Semplice Perceptrone a singolo strato e 2 input (B) Rappresentazione grafica delle funzioni logiche AND, OR e XOR, e della loro solubilit tramite il perceptrone. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART)______________________________________________________ FIGURA 5.3 - Perceptrone con uno strato di neuroni nascosto e 3 nodi in grado di risolvere la funzione XOR, la cui rappresentazione grafica e mostrata a destra. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART)______________________________________________________________________ FIGURA 5.4 - Perceptroni a tre strato di connessioni e N input e M output. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)_______________________________________________________________ FIGURA 5.5 - Tipi di regioni di decisione che possono essere formate da perceptroni a uno, due e tre strati. I nodi utilizzano una funzione di attivazione hard-limiter non lineare. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P.Lippmann)_________________________________________________________________ FIGURA 5.6 - Matrice bidimensionale di nodi di uscita rappresentante una rete di Kohonen. Ogni ingresso connesso a tutti i nodi di uscita tramite una connessione variabile. In basso mostrato un intorno del nodo j a tempi variabili t. In basso si vede levoluzione temporale di una rete autoorganizzante di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)___________________________________ FIGURA 6.1 - In alto si ha un grafico rappresentante la parola digitale V3 V2 V1 V0 computata dal convertitore A/D in funzione dell'ingresso analogico x. In basso si ha lo schema circuitale della rete neurale di Hopfield corrispondente al convertitore A/D. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)_____________________________________________________________________ FIGURA 6.2 - (A) Andamento temporale di un segnale analogico ottenuto mediante la combinazione lineare di inpulsi di forma gaussiana. (B) Singoli impulsi che compongono il segnale in (A). (C) Schema circuitale della rete neurale di Hopfield per il problema della scomposizione di un segnale analogico. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)_________________________________________ FIGURA 6.3 - Una figura stilizzata della rete implementate il problema TSP. Ogni neurone e simbolicamente indicato da un quadrato. La soluzione del problema e rappresentata dai quadrati scuri come nella matrice 6.14. Sono indicate anche le connessioni di due differenti neuroni.(FONTE SCIENCE VOL.33/HOPFIELD)__________________________________________________________________ FIGURA 6.4 - Schema circuitale della rete neurale di Hopfield per un problema di programmazione lineare. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986)___________________________________ FIGURA 6.5 - In alto schema di un problema di Hitchcock con 4 centri di produzione e 6 depositi. TABELLA I (A) Matrice di costo per il problema di Hitchcock (B) Semplice soluzione rappresentante il flusso dalla sorgente X al deposito Y. TABELLA_II Rappresentazione neurale della matrice di flusso del problema di Hitchcock, q neuroni sono utilizzati per rappresentare un elemento della matrice di flusso. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986)___________________________________________

FIGURA 6.6 - In alto si ha lo schema della rete NETtalk, in basso un grafico rappresentante le prestazioni della rete. Le diverse curve si riferiscono alle prestazioni di reti con 120, 60, 30, 15, 0 unit nascoste. In ordinata si ha la percentuale di errori, in ascissa il numero di parole che la rete inpara. Si noti che i migliori risultati si hanno con 120 unit nascoste, e che le performance della rete crescono col numero delle parole imparate. (FONTE SEJNOWSKY)_______________________________________________________ FIGURA 7.1a - In alto vi limmagine memorizzatadi una T, sotto le immagini di partenza corrotte da cui si pu risalire allimmagine iniziale in memoria. In basso ce un esempio di ricostruzione di un'immagine di un volto (c) da un input parziale (b) realizzato mediante una memoria associativa. L'immagine memorizzata e la (c)_________________________________________________________________________________ FIGURA 7.1b - Raffigurazione di una memoria eteroassociativa, si noti la reppresentazione ortogonale del pattern memorizzato (a) e il richiamo del pattern da un input alterato.__________________________________ FIGURA 7.2 - Modello di memoria ottica associativa______________________________________________