Sei sulla pagina 1di 87

Reti Neurali: modelli e aspetti applicativi. Universit degli Studi di Palermo. FACOLT DI SCIENZE LAUREA IN FISICA.

RETI NEURALI: MODELLI E ASPETTI APPLICATIVI. TESI DI LAUREA DI: LETTERIO IACHETTA. RELATORE: Prof. STEFANO MICCIANCIO. anno accademico 1988-89.

S O M M A R I O. LI.Begin Table C. 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 4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. ETO 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 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 RETE NETTALK 7. - MEMORIE ASSOCIATIVE BASATE SUL MODELLO DISCRETO DI 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

HOPFIELD DEL MODELLO DISCR

BACK-PROPAGATION: HOPFIELD E NUOVI

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: Cap 1 - Introduzione

1. - INTRODUZIONE 1.1 - DEFINIZIONE DEL PROBLEMA Esiste una vasta gamma di problematiche nelle quali i convenzionali comp uter digitali ad architettura Von Neumann rivelano i loro limiti. Si trat ta di problemi come il riconoscimento di forme, la comprensione del l inguaggio naturale e la rappresentazione della conoscenza, che sono qualita tivamente diversi da quelli classicamente implementabili nei computer . Ad esempio i problemi posti dal riconoscimento delle forme costituiscono un s ottoinsieme dei problemi detti aleatori. Anche la classe dei cosiddetti problemi di ottimizzazione combinatoria non si presta ad una soddisfacente s oluzione algoritmica se implementata nei computer tradizionali. Sia i prob lemi aleatori, sia quelli di ottimizzazione combinatoria sono caratteriz zati da un altissimo numero di soluzioni, e il solo modo per risol verli di ridurre drasticamente tale numero. I metodi di riduzione utilizzati s ono 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. Da un po' di tempo per la soluzione dei problemi ad alto numero di soluzioni ci si rivolti ad algoritmi ed architetture completamente differenti. Molti ricercatori, provenienti da diversi settori, hanno studiato e progettato innovative macchi ne ad architettura parallela, emulanti l'organizzazione e le funzioni del cervello, che si sono dimostrate in grado di risolvere sia i problemi alea tori sia quelli di ottimizzazione combinatoria non alla portata dei computer attuali. Tali macchine sono comunemente chiamate reti o sistemi neurali. L a loro architettura definisce i cosiddetti modelli connessionistici o modell i di elaborazione parallela distribuita (Parallel Distributed Processing P.D.P.). Le reti neurali si basano sull'idea di realizzare un processo di comp utazione attraverso l'interazione di un grande numero di semplici element i chiamati neuroni. La novit principale di tali modelli rispetto i com puter tradizionali la non necessita di programmazione. Quest'ult ima viene sostituita dalla possibilit di impostare sulla rete neurale una sorta di apprendimento che pu essere spontaneo o guidato attraverso esempi. L'approcc io mediante reti neurali consente sia di realizzare sistemi computazionali che posseggono caratteristiche simili a quelle dei sistemi biolog ici, sia di impostare in modo nuovo i problemi fondamentali dell'intel ligenza artificiale. La teoria delle reti neurali si propone anche di riorganizzare i rapporti tra lo studio astratto e formale delle funzio ni mentali (scienza cognitiva), e quello concreto del cervello visto come una macchina fisica (neuroscienze). I segni di un ravvicinamento tra scienza cognitiva e neuroscienze sono giustificati sia dagli sviluppi tec nologici, che consentono la costruzione dei sistemi neurali, sia dai p rogressi delle ricerche, condotte da fisici, psicologi e neurofisiologi, sul lo studio fisico del cervello . La tesi si propone di fornire un quadro gene rale degli studi attuali sulle reti neurali, con particolare riguardo all e applicazioni computazionali e alla costruzione di memorie associative. Le m emorie associative sono dei dispositivi in grado di recuperare i dati memorizzati mediante la presentazione di copie incomplete o distorte di quest i ultimi. E' facile comprendere che l'argomento delle reti neurali, interess ando svariati campi della ricerca, assume vastissime proporzioni, perta nto la tesi ha focalizzato i principali modelli di una teoria ancora giova ne 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 bre ve accenno alla struttura e al funzionamento del cervello, necessario per cap ire il senso con cui le nuove macchine di calcolo vi si ispirano, conclud

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

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Mod elli Connessionistici 2. - COMPUTAZIONE CLASSICA E MODELLI CONNESSIONISTICI 2.1- INTRODUZIONE L'originale modello di rete di neuroni elaborato dai matematici Mc Culloc k e Pitts negli anni di sviluppo della prima cibernetica, parallelamente allo studio da parte di Von Neumann della sua architettura di elabor atore. In questo secondo capitolo si evidenziano le analogie tra la macchina di Turing, prototipo di macchina ideale e universale di calcolo, e le reti di ne uroni formali di Mc Cullock e Pitts. Successivamente si analizza l 'architettura dell'elaboratore di Von Neumann, che deriva direttamente d a quella della macchina di Turing. In conclusione i limiti dell'elaboratore di Von Neumann sono confrontati con le peculiarit del cervello.Il capit olo, partendo dai fondamenti della teoria matematica della computazione, a rriva a generalizzare un processo di calcolo all'evoluzione dinamica di sistemi fisici diversi dai calcolatori e intrinsecamente non programmab ili, lasciando intuire la possibilit di nuove architetture.

2.2 - ALGORITMI E MACCHINE DI TURING La teoria della computabilit studia la risolvibilit algoritmica di un prob lema.Un algoritmo una procedura completamente definita, articolata in un nu mero finito di passi, eseguibili meccanicamente in un tempo finito, e c orrispondente a un'espressione scritta in un determinato linguaggio. I pro blemi per la cui soluzione esiste un algoritmo definiscono la cla sse delle funzioni computabili. Le funzioni computabili possono essere es presse per mezzo di un tipo di definizione molto generale detta ricorsiva c he sar definita pi avanti. Il problema di definire in maniera rigorosa l a classe delle funzioni computabili porto nel 1930 il matematico Turing al progetto di una macchina di calcolo ideale descritta in figura 2.1. Gli elementi costituenti la macchina di Turing sono: 1. 2. 3. un unit esterna di memoria o nastro una testina di lettura e scrittura una unit di controllo A a stati finiti.

Per la macchina di Turing definito un alfabeto esterno di simboli Xi, e un alf abeto interno di simbolo Qi . Gli ingressi della macchina sono i simboli de ll'alfabeto esterno X, mentre l'uscita della macchina corrisponde ad un'opera zione di scrittura di un simbolo sull'unit esterna di memoria oppure ad un m ovimento della testina sul nastro. Lo stato interno della macchina espres so mediante i simboli Qi dell'alfabeto interno della macchina. Il funzionam ento della macchina consiste nell'esecuzione di una serie di passi elemen tari, in ciascuno dei quali la macchina assume una configurazione totale d eterminata dallo stato in cui si trova la macchina, dalla cella in esame dall'u nit 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 imp lementato da una particolare macchina di Turing definito dalla tavola f unzionale della macchina, che 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 una quals iasi 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 carat teristica della macchina universale di avere tavole funzionali e simboli dell' alfabeto esterno memorizzati insieme nella memoria esterna equivale, nel caso di un elaboratore Von Neumann, ai programmi e ai dati contenuti contemporan eamente in memoria. L'universalit della macchina di Turing viene evidenziata dalla tesi di Church, la quale restringe il concetto di computabilit a una clas se precisa ma molto generale di funzioni, le funzioni parziali ricorsive. Una funzione di n-argomenti f(x1 ,x2 ,...,xn ) detta ricorsiva se definibile med iante le equazioni : 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 defi nita per un set limitato di argomenti. Un esempio di definizione ricorsiva di funzione riguarda l'operazione di addizione, indicando f col simbolo + si h a: 2.2 Nella 2.2 +(x,S(y)) definito in termini di +(x,y) e della funzione nota succes sore (h = S). Anche l'operazione di moltiplicazione pu essere definita in t al modo, indicando f col simbolo * si ha: 2.3

Nella 2.3 *(x,S(y)) definito in termini di *(x,y) e della funzione nota addizi one (h = +). La tesi di Church afferma che qualunque algoritmo scritto con qua lsiasi formalismo pu essere calcolato da una macchina di Turing. La formulazion e forte di questa tesi dice che qualsiasi sistema fisico reale pu essere simulat o da una macchina di Turing, con un grado di approssimazione arbitrariamente e levato, con l'ipotesi di poter ignorare i limiti di lunghezza del nastro della macchina e il tempo disponibile per la computazione. Questa tesi evide ntemente non pu essere dimostrata, esistono per significativi argomenti a suo so stegno. Innanzitutto metodi alternativi elaborati per definire la computabi lit 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 C hurch queste funzioni non sono Turing-calcolabili, e quindi sono ignorate dall a macchina di Turing. Un altro problema non risolvibile quello noto come problem a dell'arresto di una macchina di Turing. Si consideri una macchina di Turing A con configurazione totale iniziale data da una tavola funzional e 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 dispositi vo A e l'unit di controllo, in basso si ha il nastro coi simboli dell'alfabet o esterno in ingresso, sopra il nastro in grigio e posizionata la tes tina di lettura. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)

2.3 - I NEURONI FORMALI DI MC CULLOCK E PITTS Il neurofisiologo Mc Cullock e il matematico Pitts nel 1943 introdussero il co ncetto di neurone formale che alla base del loro progetto di rete neuronica. Nel loro modello il neurone formale assume due possibili stati, uno at tivo l'altro inattivo e definisce una classe di oggetti caratterizzat i come segue: 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 un numero r finito di ingressi ciascuno suscettibile di assumere i valori 0

Mediante i neuroni formali si pu costruire una macchina detta semiautoma con un numero finito r di input x e un numero finito s di stati q della mac china. Successivamente si costruisce una matrice di neuroni formata da r righe e s colonne corrispondenti rispettivamente agli input e agli stati (vedi figura 2.2a). La programmazione di questa macchina consiste in un tipo di istruz ione 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 ne urone della k-esima colonna. Da notare che la rete di neuroni formali de finita e caratterizzata da connessioni precostituite, senza alcuna po ssibilit di modifica successiva. Mc Cullock e Pitts dimostrarono che, per ogni funzione computabile da una macchina di Turing, esiste un semiautom a 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 f ormali sono dal punto di vista computazionale equivalenti. Le capacit di calcolo del modello dipendono non tanto dalle caratteristiche dei singoli neuro ni quanto dal modo in cui sono connessi. FIGURA 2.2a - (a) Neurone formale di Mc Cullock e Pitts (b) Rete di neur oni formali costituente un semiautoma strutturalmente programmabile. (F ONTE 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, q il valore della soglia per la fu nzione di attivazione. Si noti che nella formula semplificata 2.4 i pesi w(i) so no tutti uguali a 1.

2.4 - L'ELABORATORE DI VON NEUMANN I moderni computer digitali sono quasi tutti basati su un'architettura d efinita nel 1945 dal matematico John Von Neumann nel progetto dell'elaborat ore EDVAC 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 nell'esecuzione del ciclo segu ente: 1. 2. 3. 4. 5. preleva un istruzione dalla memoria preleva i dati richiesti da tale istruzione dalla memoria esegui l'istruzione memorizza i risultati in memoria vai al punto 1

FIGURA 2.2c - Semplice rappresentazione dell'architettura di Elaboratore Von Neu mann

L'elaboratore di Von Neumann una macchina Turing, ed caratterizzata come segue :

di calcolo equivalente a quella di

Linguaggi di programmazione. Tali linguaggi sono utilizzati per esprimere gli a lgoritmi e sono costituiti da statement che si ottengono applicando un insie me 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'u tente tale processo di comunicazione pu essere mediato da un compilatore. Universalit. Essendo equivalente a una macchina di Turing, un calcolatore Von Ne umann 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, esegu e 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 sequenz ialit 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 calcolator e di Von Neumann si dice strutturalmente programmabile perch si pu dim ostrare che sostanzialmente un semiautoma, cio il calcolatore pu essere rappre sentato come un insieme di switch o elementi capaci di eseguire una opera zione logica semplice. La definizione di programmabilit strutturale legata alla tesi forte di Church, e stabilisce che una macchina strutturalment e 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 primit ivi di un linguaggio di alto livello, possono essere espressi direttamente in termini di primitive computazionali di switching, che corrispon dono alla programmazione di una rete di neuroni formali. La programma bilit strutturale sar utile per analizzare i limiti generali dell'architettura di Von Neumann. La formulazione forte della tesi di Church, valida anche per gli e laboratori di Von Neumann, suggerisce un legame tra i modelli formali di computazione e i processi dinamici simulabili su un calcolatore. Pensare a un sistema fisico come realizzazione di una 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 s imula un sistema fisico, mediante le primitive computazionali sopra definite , se gli stati del computer possono essere associati agli stati del sistem a con un alto grado di approssimazione, non necessario comunque che ogn i 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 carat tere 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 applic abilit e di capacit di calcolo che non potranno essere superati dal solo progresso tecnologico, ossia dal miglioramento delle prestazioni dei process

ori e delle memorie. Tali limiti sono intrinseci al disegno stesso dell'elab oratore di Von Neumann, e sono di seguito esaminati: Irreversibilit operativa. La modalit in cui un computer tradizionale elabora l 'informazione un processo irreversibile. La funzione logica AND un esempio di perdita di informazione in un computer. La tabella 2.5 mostra che non p ossibile, esaminando le uscite della tabella, risalire agli ingressi che l e hanno prodotte. Tabella della verit della Funzione Logica AND. INPUT OUTPUT 0 0 0 0 1 0 1 0 0 1 1 1 Alta dissipazione termica. In un computer digitale i segnali elettrici originano dei cambiamenti di potenziale in diverse regioni spaziali del sistem a. Gli elettroni operano con un disturbo termico che in termini di potenziale circa kT/q Volt dove k la costante di Boltzmann, T la temperatura Kelvin assoluta e q la carica dell'elettrone, a temperatura ambiente (290 K) k T/q = 0.025 Volt. Le operazioni logiche in un computer digitale devono avvenire con potenziali maggiori di 0.025 Volt. In definitiva si osserva c he il valore alto di kT/q richiede un'alta dissipazione di potenza che ca ratterizza come processi irreversibili le operazioni logiche fondamentali d i un computer digitale di Von Neumann. Lentezza operativa. Un risultato del modo di operare seriale dell'archit ettura di Von Neumann il cosiddetto "collo di bottiglia di Von Neumann". Esso originato dalla lentezza con cui il processore accede alla memor ia. Il trasferimento di dati e istruzioni dalla memoria al processore, pr ima che quest'ultimo cominci il suo lavoro computazionale, comporta un int ervallo di tempo in cui il processore inattivo. Alla fine della comput azione il trasferimento dei risultati alla memoria origina un altro perio do di inattivit del processore. Alle inefficienze elencate si aggiunge un generale limite connesso alla p rogrammazione strutturale, infatti una macchina di calcolo reale non disp one di risorse di tempo e di spazio illimitate come richiesto dalla tesi forte di Church per macchine strutturalmente programmabili. Costruire una m acchina strutturalmente programmabile significa essenzialmente convogliare lungo canali precisi il fenomeno utilizzato per ottenere la realizzazion e fisica della computazione. Controllare un fenomeno fisico signific a ridurre il numero di gradi di libert, e quindi di interazioni, del fenomeno stesso, riducendo in tal modo anche le risorse della computazione.

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 costit uito da una rete di moltissimi neuroni (1011 1012 ) collegati tra loro da un numero elevato di connessioni dette sinapsi (103 104 sinapsi per o gni neurone). In totale il numero di sinapsi del cervello varia da circa 101 4 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 del le 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. Son o elencate di seguito alcune peculiarit del cervello: Parallelismo e lentezza dei neuroni. Studi non tanto recenti hanno mos trato che il cervello elabora le informazioni in modalit parallela, quest a affermazione nasce da semplici considerazioni. Un'operazione base viene effettuata da un neurone in tempi dell' ordine di decine di millisecondi, m entre il cervello in grado di risolvere complicatissimi problemi di visione e linguaggio in circa 500 ms. Tenendo conto dei tempi di ritardo di propagazi one del segnale tra neuroni, si pu dire che il lavoro computazionale del ce rvello fatto in meno di 100 passi, e consiste nell'esecuzione in parallelo da p arte di neuroni di operazioni base molto semplici. Bassa dissipazione termica. L'energia termica dissipata da un neurone in una e lementare 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 operan o in maniera analogica. Essi operano su un ingresso sinaptico e generano un usc ita a valori continui. Alta ridondanza. Tale propriet permette al cervello di essere un sistema est remamente flessibile a superare disastri locali nella sua struttura senza per dita significativa di prestazioni. Molti neuroni muoiono ogni giorno e il ce rvello 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 mega byte di memoria centrale, che corrispondono al massimo a 1010 transistor, e u sa meno di 108 transistor in funzioni logiche. Un processore compie un oper azione 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 malfunzio namenti locali un fattore estremamente critico, vengono tollerati disastri solo in parti della memoria e mai nel processore. Un'altra caratteristica del cervello umano che le interconnessioni tra i neuroni interessano uno spazio tridimensionale mentre nella maggioranza dei computer le piastrine di silicio hanno uno schema di connessioni piano, anche se recentemente sono stati c ostruiti chip di silicio con schema di connessioni tridimensionale. Si pu concludere osservando che i componenti base del cervello sono molto p i 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 interfacci a tra il sistema nervoso centrale e l'ambiente esterno. I segnali tratt ati comprendono gli ingressi sensoriali, le uscite si manifestano con stimo

li motori, dolori, immagini visive, percezioni varie. Il sistema nervoso ce ntrale costituito dalla spina dorsale e dal cervello, formato a sua volta da talamo, ipotalamo, gangli basali, sistema limbico e neocorteccia. L' unit costitutiva di tutto il sistema nervoso il neurone, la cui anatomia e m ostrata in figura 2.3. Un neurone una cellula dotata di corpo cellulare dal quale si dipartono molte brevi ramificazioni di ingresso (dendriti) e una so la lunga ramificazione di uscita (assone). I neuroni comunicano tra loro mediante impulsi particolari detti spike, generati da processi elett rochimici. In condizione di riposo esiste una differenza di potenziale di ci rca -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 sod io. Questi ioni si riversano all'interno della cellula dove la loro concen trazione minore, causando una corrente elettrica. Contemporaneamente la dif ferenza di potenziale tra l'interno e l'esterno della membrana cambia di segno e diventa circa +40 +50 mV. Dopo il passaggio degli ioni sodio si apre i n canale analogo anche per gli ioni potassio che ristabilisce la situazione di concentrazioni e potenziali precedente. La rapidissima inversione del p otenziale di membrana origina lo spike o potenziale d'azione e costituisce il messaggio trasportato lungo l'assone. Il livello di tensione a cui la m embrana da origine allo spike detto soglia di eccitazione. Lo spike si propaga, quasi senza attenuazione, lungo l'assone liberando energie locali. Sulla sin apsi lo spike provoca l'emissione di particolari sostanze dette neurotrasmet titori, i quali raggiungono i dendriti del neurone successivo e provocan o una variazione della permeabilit della membrana, consentendo la trasmissio ne del segnale tra i neuroni connessi. In generale un singolo potenzia le d'azione che raggiunge una sinapsi non sufficiente a generare la produzione di altri potenziali d'azione nel prossimo neurone. L'effetto additiv o di pi potenziali d'azione sui dendriti del neurone postsinaptico e capace d i 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 d ella corrente positiva in ingresso a un neurone rappresentato in figura 2.4. Qu esta 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 seco ndo per correnti positive molto alte.

FIGURA 2.3. - Anatomia di un sistema di tre neuroni interagenti. (FON TE NEUROPHYSIOLOGY:A PRIMER WILEY/1966/C.F. STEVENS) FIGURA 2.4 - Grafico rappresentante il numero medio di potenziali d'azio ne nell'unit di tempo in funzione della corrente positiva in ingresso a un n eurone. (FONTE PROCEDINGS OF THE NIELS BOHR CENTENARY SYMPOSIUM 10/85/J.J. HOPFI ELD)

2.8 - NATURA E COMPUTAZIONE In natura esistono fenomeni di trattamento delle informazioni diversi da quelli utilizzati nella costruzione dei calcolatori digitali a tecnologia el ettronica. 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 dall e 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 pro cesso l'informazione memorizzata nell'RNA messaggero (mRNA) utilizzata come istruzione per costruire la proteina. Il nastro con l'alfabeto es terno in ingresso costituito dall'mRNA, l'uscita finale la proteina che consis te in un polimero di amino-acidi con struttura tridimensionale. L'mRNA un po limero 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,...et c. 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 del la macchina di Turing del processo. Il ribosoma legge l'input dell'mRNA (nastr o di ingresso) e inserisce sequenzialmente il corrispondente amminoacido nel la proteina. Le operazioni logiche descritte sono fatte da particolari r eazioni chimiche della cui logica non noto quasi nulla. Le operazioni logiche fatte sono descritte dalla sequenza: 1. 2. 3. 4. Leggi le prossime tre celle dall'nRNA tape Cerca l'aminoacido corrispondente nel dizionario genetico Aggiungi l'aminoacido alla proteina Muovi l'input tape di tre celle

Il programma contiene anche una possibile istruzione di stop nel dizionario ge netico. La computazione biologica molto poco accurata rispetto quella digitale. La proteina formata dal processo esaminato risulta esatta in quasi tutti i casi con un livello di errore di circa 1/3000. Questo livello di errori nel produrre l'output certamente molto alto nel caso di computazioni digitali, me ntre accettabile per computazioni biologiche. Le osservazioni fatte in relaz ione alla computazione biologica permettono di affermare che possibile defi nire i principi costruttivi di nuove macchine di calcolo capaci di superare i limiti degli elaboratori di Von Neumann, basate su fenomeni fisici divers i da quelli attualmente utilizzati, con particolare riguardo alla imit azione di strutture biologiche o fenomeni microbiologici. Pi avanti si approfond ir lo studio di macchine di calcolo basate sulla imitazione strutturale di ent it biologiche come il cervello umano. Queste macchine sono chiamate reti o sistemi neurali, mentre la loro architettura definisce i cosiddetti mode lli connessionistici. Gli algoritmi su cui si basa l'intelligenza animale sono implementati nel cervello. Utilizzando questo particolare hardware il cervel lo raggiunge le altissime prestazioni che si conoscono. L'idea base dei sos tenitori dei sistemi neurali che la specializzazione della nostra intellige nza sia una peculiarit dei sistemi biologici ad altissimo grado di connessi one. La semplicit dei neuroni e delle sinapsi e la loro universalit biologica fa supporre che imitando tali componenti sia possibile costruire sistem i artificiali di analoghe prestazioni. FIGURA 2.5 - Processo di creazione di pi proteine da parte di una cellula in c rescita, analogo alla computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidi costituenti la proteina.

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 3. - MODELLI DI RETI NEURALI 3.1 - INTRODUZIONE In questo capitolo, dopo una breve esposizione delle origini storiche delle ret i neurali, vengono definiti i principi e gli elementi che caratterizzano un sistema neurale, distinguendoli nettamente da quelli alla base di un computer d igitale ad architettura Von Neumann. Nell'ultimo paragrafo sono elencati i pri ncipali modelli che verranno utilizzati nelle applicazioni dei capitoli succe ssivi. 3.2 - ORIGINE DELLE RETI NEURALI Lo studio delle reti neurali risale ai primi tentativi di tradurre in model li 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 r iprese molto pi tardi da Cartesio (1586-1650) e nel XVIII secolo dai filosofi e mpiristi. Le prime realizzazioni di macchine cibernetiche, categoria alla q uale appartengono i sistemi neurali, appaiono negli anni quaranta col nascere di una scienza nuova, la cibernetica. La cibernetica definita come scienza c he studia i processi intelligenti e fu fondata da Norbert Wiener nel 1947. Ro ss Ashby, un altro padre della cibernetica, costruisce nel 1948 l'omeostato u no dei primi sistemi con connessioni interne regolabili, capace quindi di v ariare la sua configurazione interna adattandola a stimoli esterni. Il neurof isiologo W.S. MC Cullock e il matematico W.A. Pitts (1943) di Chicago sono st ati i primi a formulare l'approccio cibernetico fondamentale alla struttur a del cervello elaborando il primo modello di rete neurale. John Von Neuma nn, dopo aver formulato l'architettura base dei moderni calcolatori, comin cia nel 1948 lo studio delle reti di automi cellulari precursori di nuovi modelli computazionali. Nel 1949 il neurofisiologo Donald Hebb, dagli studi s ul processo di apprendimento dei neuroni, dedusse la prima regola di apprendi mento applicata nelle reti neurali. Contemporaneamente gli studi di Lashley sulla mente umana indicavano che l'organizzazione della conoscenza e la memor ia 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 W indrow di Stanford. Il Perceptron una rete neurale costituita da dispos itivi logici in grado di risolvere semplici problemi di riconosciment o di forme. Esso rappresento un prototipo delle strutture che venn ero elaborate pi avanti. Anche in Italia si sviluppano iniziative pa rticolarmente importanti. Eduardo Caianello, dell'Universit di Napoli, svi luppa la sua teoria sui processi e le macchine pensanti sulla base delle i dee di Mc Cullock, Pitts e Hebb. A Genova viene realizzata da Augusto Gamba una macchina derivata dal Perceptron. Nel 1969 Marvin Minsky e Seymour Pap ert, del Massachusetts Institute of Technology, pubblicano un'analisi molto critica delle macchine tipo il Perceptron . Essi dimostrarono matematicamen te le limitazioni delle reti neurali nel risolvere problemi quali la determ inazione della parit di un numero binario, il calcolo di una funzione XOR di 2 bit o la classificazione delle immagini in base alla loro connet tivit. Questi problemi potevano essere risolti solo da reti neurali o mniconnesse in cui ogni neurone connesso con tutti gli altri neuroni della rete, in una simile rete il numero delle connessioni crescerebbe esponenzialm ente 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'Intell igenza Artificiale (A.I.) classica basata su computer tradizionali. In seg

uito alle tesi di Minsky il campo delle reti neurali fu abbandonato dal la maggior parte degli studiosi, i quali si rivolsero al campo dell'A.I. app arentemente pi promettente. Secondo chi scrive comunque, questo cambiamento di interessi fu causato anche dal fatto che la tecnologia allora disponibile r endeva molto difficoltosa o addirittura impossibile la sperimentazione nel ca mpo delle reti neurali, ne vi erano computer abbastanza veloci per simula re reti neurali complesse. Negli anni sessanta e settanta la ricerca continuo con contributi teorici e poche applicazioni. Alcuni ricercato ri come Shunichi Amari, Kunihiko Fukushima e Shephen Grossberg tentar ono di simulare il comportamento di neuroni cerebrali con reti di unit di calc olo 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 rec uperare dati memorizzati.

L'interesse sviluppatosi nei primi anni 80 per i modelli neurali sicuramen te dovuto a diversi fattori, che sono elencati di seguito: i progressi compiuti nella comprensione di alcuni fenomeni computazionali bio logici, la disponibilit di potenti computer in grado di simulare i nuovi model li 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 pertan to applicabile in svariati campi. Questo nuovo modello permise di studiare il comportamento globale di reti molto pi complesse dei perceptron, non analiz zabili con metodi classici. In particolare era possibile studiare reti c on neuroni nascosti. Con questo risultato termina la "preistoria" dello studio delle reti neurali e inizia la cronaca di un settore in rapi da evoluzione. Nel 1987 la CEE promuove il progetto BRAIN (Basic researc h in adaptive intelligence and neurocomputing), inoltre si tiene a S.Diego la prima conferenza internazionale sulle reti neurali con 2000 partecipan ti provenienti sia dalle universit sia dall'industria. Alla luce dei risul tati 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 modello di rete neurale, elencando e 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 - Unit di computazione base. Nel contesto di una rete neurale, l'unit base sulla quale costruito il modello un elemento computazionale semplice di sposto 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 segn ale in uscita Vi , che viene inviato alle unit a cui esso risulta connesso. I l modo in cui avviene tale processo nella rete parallelo, nel senso che m olte unit lavorano simultaneamente. In generale l'ingresso di un neurone i rappresentato dalla sommatoria di tutte le uscite Vj dei neuroni j ai quali connesso: 3.1 Tij l'intensit della connessione, e si esaminer pi avanti. Le unit risultan o divise in tre categorie: unit di ingresso, unit di uscita e unit nascos te. Le prime ricevono ingressi da sorgenti esterne al sistema, le unit di u scita inviano segnali all'esterno del sistema mentre le unit nascoste sono c ollegate solo con input e output interni. L'unit base pu essere identific ata col termine neurone. Diversi autori hanno elaborato un modello dell'unit fondamentale di calcolo di un sistema di neuroni, si pu dire che essa un emul azione semplificata delle funzioni del neurone biologico. I vari modelli d i neuroni elaborati si distinguono generalmente per il tipo di risposta c he essi presentano a uno stimolo in ingresso. In questa differenziaz ione i modelli di neurone rispecchiano i diversi tipi di neurone biologico. - Stato dell'unit. Ad ogni unit associato un valore numerico detto stato d ell'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 valor i dello stato possono essere continui o discreti. Lo stato della rete d i 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'ingre sso di un unit determinato dalla somma pesata delle uscite a cui essa risulta c onnessa. L'intensit della connessione tra due unit data dal generico peso Tij. I l peso Tij positivo se l'unit j esercita un'azione eccitatrice sull'unit i ed ne gativo in caso contrario. E' possibile associare ad un sistema di interconnessio ni una matrice di pesi T nella quale il generico elemento Tij specifica l'int ensit della connessione tra l'unit j e l'unit i. L'insieme dei pesi delle connes sioni determina come il modello risponder ad un ingresso arbitrario e di conseg uenza costituisce la "conoscenza o memoria del sistema". Con una terminologia pi vicina ai sistemi biologici l'intensit della connessione tra due unit neuronich e 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 ident it, cio lo stato Vi dell'unit coincide con l'ingresso totale U , e la funzio ne 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 at tivazione sono visualizzate nella figura 3.1b . Si notino le tre forme base no n lineari di Fi [ ]: hard limiter, threshold logic e sigmoide. Un'altra ca ratteristica 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 del la rete al tempo t+t dipende solamente dallo stato della rete al tempo t, e non dagli altri stati precedenti. Nel secondo caso la funzione di attivazion e probabilistica (macchina di Boltzmann), per cui anche se l'input supera il va lore 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 co dificata dai 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 m odelli di reti. I meccanismi di apprendimento possono essere con su pervisione (guidati) o senza (spontanei) . Nei primi un supervisore forn isce 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 g uidato consente alla rete di imparare tramite i molti esempi forniti dal super visore, in una modalit che ricorda l'apprendimento umano. La regola di apprend imento spontanea pi semplice quella definito da Hebb , 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 que lla di Hebb oppure si basano su altri principi. Un'altra fondamentale re gole 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 ne urale. Alcuni esempi di topologie di reti neurali sono rappresentate in fi gura 3.2. In alcuni modelli le connessioni seguono schemi predetermin ati, in altri schemi casuali. Molti modelli vengono organizzati in pi livelli di unit, oppure in diversi strati di connessioni tra unit. Analizzand o una rete a pi livelli bisogna distinguere tra livelli "visibili", costitu iti da unit di ingresso o uscita, e livelli "nascosti". Analizzando l e connessioni tra le unit si possono distinguere modelli feedforward, nei quali esistono connessioni solo tra le uscite e gli ingressi di unit di l ivelli successivi, e modelli con meccanismi di retroazione detti anche model li feedback (reti di Hopfield). In questi ultimi modelli si possono avere co nnessioni tra le uscite di unit di un livello e le entrate di unit di un l ivello 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 su i pesi delle connessioni. Altre distinzioni si possono fare riguardo la connettivit laterale, cio le connessioni di elementi dello stesso strat o. Nel tipo cooperativo-competitivo ogni elemento connesso ai suoi vicini me diante connessioni alternativamente eccitatorie e inibitorie, nel tipo "on-ce nter/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 la connessione laterale pu essere d i qualunque tipo. - Rappresentazione dei dati. Nei sistemi neurali i dati in ingresso sono r appresentati definendo lo stato di un particolare insieme di unit di ingr esso. Ogni dato complesso viene rappresentato da un insieme di elementi subsim bolici e non dalla modifica arbitraria di un simbolo. Ad esempio le unit di ingresso possono rappresentare la presenza di una lettera in una determinat a posizione in una parola, oppure lo stato di un ricettore immaginario su una r etina artificiale. La scelta dello schema rappresentativo dei dati contribuis ce a determinare la potenza computazionale del sistema. Analogamente l'uscita di una rete neurale viene definita dallo stato di un insieme pred eterminato di unit. In molti modelli lo stato delle singole unit di uscita rapp resenta la verit o falsit di una determinata proposizione.

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 Kohohen : 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 migli aia di input variabili e la stessa soglia e dipendente dal tempo. L'accuratezz a e la stabilita di un circuito normale non sufficiente a definire una variab ile booleana. Inoltre i processi collettivi, che sono di fondamentale import anza nel calcolo neurale, non sono implementabili mediante semplici circuiti lo gici. 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 sta to funzionale del sistema. Lo schema di interconnessione di un sistema neurale non permette il calc olo ricorsivo, per cui impossibile implementare algoritmi di calcolo.

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

Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann

4. - RETI DI HOPFIELD E MACCHINA DI BOLTZMANN 4.1- INTRODUZIONE Si esamineranno in questo capitolo le reti neurali simmetriche di Hopfiel d e la macchina di Boltzmann. Queste reti, come si vedr nel prossimo capitolo, sono particolarmente adatte alla risoluzione di problemi di ottimizzazione combinatoria ad altissimo numero di soluzioni, oppure alla i mplementazione di memorie associative. Si comincer con l'originale modello d iscreto di Hopfield del 1982 basato su unit con ingressi binari e prototipo di successivi modelli. Una evoluzione del modello discreto di Hopfield il model lo continuo, proposto dallo stesso Hopfield nel 1984 capace di ottime prestazio ne nella risoluzione di problemi particolarmente complessi. In tale modello i neuroni sono realizzati fisicamente da dispositivi elettronici analogici. La macchina di Boltzmann, esaminata successivamente, permette al contrario dei m odelli di Hopfield di avvicinarsi alla soluzione ottimale del problema cui applicata. 4.2 - MODELLO DISCRETO DELLA RETE DI HOPFIELD Il modello discreto di rete neurale proposto da Hopfield formato da N semp lici 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 de l sistema a un dato istante definito dall'insieme degli N valori della variab ile 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 fo rma seguente: 4.2 In tale relazione N il numero dei neuroni, Tij un elemento di una matric e di interconnessione T rappresentante l'intensit di connessione tra il neu rone i e j, Vj esprime l'uscita del neurone j, mentre Ii un ingresso e sterno che viene fornito al neurone i. Gli interruttori SWj commutano in modo asincrono con ritardi casuali e permettono la realizzazione della re troazione tra le uscite e l'ingresso della rete. Nelle simulazioni software del capitolo 7 si assume che la chiusura degli interruttori SWi sia sincro nizzata. Quando l'i-esimo interruttore si chiude, lo stato interno dell'i-esim o 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 u guale 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 tutt i 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 de finisce il valore dei componenti della matrice di interconnessione T. La re gola di apprendimento utilizzata da Hopfield la regola di Hebb, si esamine r in dettaglio pi avanti il legame tra tale regola e le applicazioni della ret e. L'evoluzione del modello discreto di Hopfield nel suo spazio di configurazi oni segue le leggi dinamiche dei processi stocastici, per cui lo stato d ella rete al tempo t+1 determinato unicamente dallo stato al tempo t preceden te. 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 d i Hopfield, il cui schema mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOP

FIELD)

4.3 - CONSIDERAZIONI ENERGETICHE SULLA RETE DISCRETA DI HOPFIELD Hopfield ha definito per il suo modello una funzione energia che rivela importanti propriet della rete. Considerando una matrice T di pesi di con nessione simmetrica e con elementi diagonali nulli si definisce la funzio ne energia computazionale come segue: 4.5 Si consideri adesso la variazione di energia DE dovuta alla variazione dello stato Vi di un neurone, si assuma la variazione del neurone i da uno sta to inattivo a uno attivo, si ha: 4.6 La variazione di stato -DVi uguale a 1 nel caso considerato per cui si ha: DEi= -DVi Ui (t+1)= -DVi 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 st ato Vi(t+1)=0 si ha DVi = -1 , mentre per la 4.7 DEi = 0. La variazione totale d i energia della rete : se DEi 0 allora DE 0 4.8 Da queste considerazioni Hopfield concluse che l'energia computazionale, al variare dello stato del sistema neurale, decresce monotonicamente fino a ragg iungere un minimo locale. Dalla simmetria della definizione dello stato di un neurone risulta che se un vettore corrisponde a uno stato stabile della ret e allora anche il vettore complemento sar stabile. Se consideriamo lo stato dei neuroni espresso mediante le variabili mi = 1 che sono legate alle Vi dalla relazione mi = 2Vi - 1, i vettori rappresentanti lo stato della rete posso no essere rappresentati nello spazio degli stati, tale spazio composto dalle N componenti mi corrisponde a un ipercubo con coordinate 1 . I vettori che minimizzano E corrispondono ai vertici dell'ipercubo N-dimensionale. (ve di figura 4.3). Hopfield dimostr l'esistenza di una funzione di Ljapunov nello sp azio degli stati della suo modello di rete neurale, tale funzione di Ljapunov corrisponde all'energia computazionale. Seguono adesso alcune importanti def inizioni legate alle funzioni di Ljapunov:

Una funzione H : S , detta di Ljapunov se, dato un qualunque s(to) l S vale:( " t t0 ) : s(t + 1) c s(t) H(s(t + 1)) H(s(t))s(t) = {si (t)} i=1,2,...n lo stato del sistema al tempo t Un punto s l S di equilibrio se:( $ t ) : s(t) = s ( " (t' ) = s Un punto s l S di attrazione se di equilibrio ed esiste un intorno I di s tale c he " s' l I vale:s(t) = s' ( " 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 l a presenza dei punti attrattori di energia minima verso i quali la rete evol veva. 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.

Come gi detto la rete di Hopfield corrisponde a un sistema fisico descritto nel lo spazio degli stati del sistema di coordinate V1 ,V2 ,..VN e caratter izzato da punti di attrazione o minimi locali V1 ,V2. Se il sistema vi ene fatto partire da una configurazione iniziale V sufficientement e vicina a una configurazione di attrazione, ad esempio V = V1 + D, esso evo lver nel tempo fino a raggiungere la configurazione stabile V1 (vedi figura 4.1b). Un sistema fisico la cui dinamica nello spazio delle configurazioni do minata da un certo numero di stati attrattori pu trovare applicazioni nel campo delle memorie indirizzabili per contenuto C.A.M. (Content Ad dressable Memory o Memorie Associative) o come si vedr pi avanti col modello c ontinuo di Hopfield nella risoluzione di problemi di ottimizzazione. Nel primo caso si vedr che gli stati attrattori corrispondono all'informazione memorizzat a mentre la configurazione iniziale una conoscenza parziale del l'informazione. 4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. DEL MODELLO DISCR ETO DI HOPFIELD Una C.A.M. o memoria associativa un nuovo modello di memoria capace di re stituire l'informazione memorizzata in risposta ad un ingresso rappresenta to da una conoscenza parziale dell'informazione (vedi fig 4.1c). Al contra rio in un memoria convenzionale i contenuti sono ricavati tramite gli i ndirizzi 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 c orrispondere gli stati stabili della rete con i vettori da memorizzare. L'alg oritmo di memorizzazione proposto la regola di apprendimento di Hebb, m ediante la quale si costruisce una matrice T di pesi definita come segue: 4.9 Si deve avere inoltre Tii = 0 e Tij = Tji . Si noti che utilizzando le variabili di stato mi= 1, la regola di Hebb viene espressa in una forma molto us ata in alcuni lavori: 4.10 In generale una rete neurale operante come memoria associativa opera nelle due fasi descritte di seguito: 1. Fase di apprendimento. Questa fase consiste nella costruzione d ella matrice di 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 appre ndimento descritta dalle equazioni 4.9 e 4.10. 2. Fase operativa della memoria. In questo periodo avviene il richiamo de lle informazioni memorizzate. La rete viene inizializzata con un qualsi asi vettore in ingresso, e comincia in tal modo l'evoluzione temporale dell a rete nello spazio delle configurazioni, seguendo la funzione di attivazione 4.4 definita in precedenza. Se il vettore iniziale rappres enta una parte di un dato memorizzato, la rete evolve raggiungendo una confi gurazione finale stabile di energia computazionale minima. La configurazione f inale pu risultare uno dei vettori memorizzati oppure uno stato particola re detto metastabile, che un minimo locale di energia non corrispondente a n essuno dei vettori memorizzati. Nella rappresentazione nello spazio degli stati della rete uno stato metastabile rappresentato come tutti i minimi di energia da uno dei vertici dell'ipercubo N-dimensionale che rappresenta la superfic ie energetica. Per particolari condizioni iniziali la rete presenta un comportamento oscillatorio per cui non viene mai raggiunto uno stato finale st abile. La rete di Hopfield utilizzata come memoria associativa presenta due limit i non trascurabili. Il primo limite fissa il numero massimo di vettori memoriz

zabili e richiamabili con sufficiente accuratezza. Hopfield ha mostrato che il numero massimo di vettori memorizzabili Mmax @ 0.15*N, N il numero di neuro ni della rete. Un altro limite consiste nella difficolt di memorizzare vet tori 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.

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 funzion amento

4.5 - MODELLO CONTINUO DELLA RETE DI HOPFIELD Nel lavoro successivo Hopfield propone un nuovo modello di rete di neuroni bas ato su unit di elaborazione analogiche, che segue la dinamica di un sistema fis ico in uno spazio di configurazioni continuo. Nel nuovo modello si ha un'analog ia pi marcata tra i fenomeni fisici osservati nei neuroni biologici e descr itti dalla neurodinamica classica e quelli che governano il funzionamento d ella rete artificiale. Lo stato del neurone descritto dalla variabile in ing resso 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 realizzab ile 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 uscit a Vi (t) . In questo caso Vi (t) = gi (Ui (t)) la tensione di uscita de l i-esimo amplificatore mentre Ui(t) la tensione in ingresso. La connession e tra un amplificatore j e uno i realizzata mediante resistenze di condutta nza 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 grup po parallelo, costituito da una resistenza ri e una capacit Ci, che defini sce le costanti di tempo della rete. La corrente in ingresso totale di ciasc un unit di elaborazione composta da due termini, il primo la sommatoria di tutt e le correnti provenienti da tutte le unit connesse, il secondo una corrent e di alimentazione esterna . A questo punto si pu descrivere la dinamica del sistema degli N amplificatori interagenti mediante le equazioni differenzi ali seguenti: 4.11

FIGURA 4.2a - In alto mostrata la funzione di attivazione di una rete continua d i 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 Hopfi eld.

dove Ri data dalla relazione : 4.12 ri la resistenza in ingresso dell'amplificatore i, si assume che l'impede nza in uscita all'amplificatore sia nulla. L'interpretazione biologica del model lo 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 m edio 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 prod otto 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 S 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 ri e Ci . Le equazioni dinamiche che descrivono il modello neurale biologico definito sono quelle definite da Hopfield per il suo modello continuo di rete ne urale. Queste equazioni omettono l'effetto della quantizzazione dei potenzi ali d'azione, inoltre considerano infinita la velocit di propagazione di tali po tenziali. 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, Hopfiel d ha trovato che, nell'ipotesi di simmetria della matrice di connessione, le equazioni dinamiche del modello continuo conducono alla convergenza vers o stati stabili, cui corrispondono i minimi dell'energia computazionale. Nell'ipotesi che la matrice T abbia gli elementi diagonali nulli e sia simmetrica l'energia computazionale definita come segue: 4.13 Hopfield ha dimostrato che la derivata rispetto al tempo dell'energia comp utazionale 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 sis tema. Inoltre se la curva di guadagno dell'amplificatore molto stretta l'ultim o termine di questa equazione nullo, per cui E espressa nella stessa forma de l modello discreto. Il modello continuo di Hopfield deterministico, analog amente al modello stocastico lo stato della rete al tempo t determina unicame nte lo stato della rete al tempo t + 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 s i rivela pi veloce nel risolvere difficili problemi computazionali. Si ve dranno adesso le relazioni tra gli stati stabili dei due modelli. Siano fatt e 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 de ll'ipercubo definito mediante i vertici -1 V 1 "i. Nel caso discreto stocas tico 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 rappre sentante 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 dis creto con variabili di stato mi = 1. Il secondo termine di E altera tale

interpretazione , consideriamo adesso la variabile Vi definita non pi da g i (Ui ) ma mediante il parametro l ( si vedr che nella macchina di Boltzma nn il parametro l-1 assumer il significato virtuale di una temperatura), si ha: Vi = gi (l Ui) e Ui = (1/l)g-1(Vi) FIGURA 4.3 - In alto mostrata la superficie energetica nello spazio delle c oordinate r ed E, in basso si ha la stessa superficie vista dall'al to. (FONTE P.N.A.S. 81/1984 J.J.HOPFIELD; PHYSICAL D 1986/J.S DENKER)

Il parametro l 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 rappre senta la superficie corrispondente alla funzione energia nello spazio di coordinate Vi ed E, si ha che per l >> 1 i minimi di energia sono dis locati verso l'interno rispetto i vertici dell'ipercubo, al crescere di l i minimi di E si spostano verso l'esterno tendendo a posizionarsi sui vertici dell'ipercubo. Nel limite l (la sigmoide diventa una funzion e a gradino come si vede in alto alla figura 4.4) tale termine diventa tras curabile e la posizione dei minimi di energia nello spazio degli stati la s tessa del modello discreto stocastico. Nel limite opposto l << 1 si ha un s olo minimo per Vi = 0. FIGURA 4.4 - (a) La funzione di attivazione tipica di un neurone. (b) La f unzione V=g(lu) mostrata per tre valori del parametro l. ((c) Relazione invers a u=g-1 (V) della funzione V=g(lu). (d) Il contributo di g all'energia della re lazione 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 Va e Vb sono le uscite dei due amplificatori. Le frecce della fi gura 4.3 indicano la direzione privilegiata dell'evoluzione degli stati. Vie ne mostrata anche la deformazione del contorno energetico derivante da ll'applicazione di correnti esterne. Si pu pensare al processo di computazio ne di una rete di Hopfield come l'evoluzione di un punto rappresentante lo stato del sistema nella superficie energetica visualizzata, tale evo luzione strettamente vincolata dalla presenza di punti attrattori corrisponden ti alle valli della superficie. In definitiva il modello continuo di rete n eurale non rimpiazza il modello discreto ma ne un'importante evoluzione. I l modello discreto ha il vantaggio di poter essere facilmente simulato median te 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 s tati convergono verso stati di energia computazionale minima. Questi stati s pesso corrispondono a minimi locali di energia, e se la rete implemen ta la soluzione di un problema, il minimo trovato non detto che corrisponda alla soluzione ottimale. Kirkpatrick ed altri hanno introdotto nel 1983 una nuova procedura per avvicinarsi al minimo globale della funzione energia. La procedura elaborata deriva da un'applicazione della meccanica s tatistica alla ricerca delle soluzioni di problemi di ottimizzazione com binatoria, in particolare essa deriva dal metodo Monte Carlo di Metropolis, c he permette un efficiente simulazione di un sistema fisico in equilibrio termi co ad una data temperatura. La rete cui si applica la nuova procedura la mac china di Boltzmann. Si vedranno adesso le considerazioni che hanno portato all'elaborazione della macchina di Boltzmann. Lo scopo della meccan ica statistica di elaborare metodi per analizzare sistemi fisici composti da un numero N molto alto di particelle. Lo stato di questi sistemi fisici de tto microstato, e corrisponde a un punto nello spazio delle fasi, le cui coor dinate 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 dis tribuzione del sistema. Per gli scopi di questa trattazione sufficient e considerare particelle classiche identiche con tre gradi di libert , sistemi fisici che siano rappresentati da insiemi canonici cio a contatto con un term ostato a temperatura T (in tali sistemi sono fissi il numero delle particelle N, il volume V e la temperatura T). La funzione distribuzione del 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 liber a di Helmholtz dalla relazione: F = - kT ln(Z). La 4.17 esprime che la dens it di probabilit di una particolare configurazione del sistema corrispondente al microstato v proporzionale a exp(-Ev/kT), e corrisponde alla distribuzione di B oltzmann. Con le premesse fatte si esaminer adesso il metodo Monte Carlo di Metropolis, che permette di generare possibili configurazioni di un sistema fisico canonico di N particelle. Le regole sono: 1. seleziona a caso una particella; 2. seleziona uno spostamento casuale Dq delle coordinate della particella; 3. 4. 5. 6. 7. calcola il corrispondente cambio di energia DE; se DE 0 la nuova configurazione viene accettata; se DE > 0 seleziona un numero reale a caso h tra 0 e 1; se exp(DE/kT) < h conserva la configurazione attuale; se exp(DE/kT) h accetta la nuova configurazione;

Le regole elencate vengono ripetute iterativamente molte volte, consentendo di c ampionare lo spazio delle fasi di un sistema a contatto con un termostato a te mperatura T con una probabilit proporzionale alla densit degli stati. Come si ve de nell'algoritmo di Metropolis il caso DE > 0 viene trattato probabilisticamen te: la probabilit che la nuova configurazione venga accettata P(DE) = exp(DE/kT) . Tale scelta permette al sistema di evolvere seguendo la distribuzione di Boltzmann. La macchina di Boltzmann essenzialmente una rete discreta di Hop field con una funzione di attivazione probabilistica, nella cui modalit operativ a implementata una forma dell'algoritmo di Metropolis detta annealing simulat o utilizzata per raggiungere l'equilibrio. Il termine annealing simulato deriv a dall'analogia con il processo di annealing utilizzato per portare un sistem a fisico nello stato pi basso del potenziale termodinamico corrispondente all e condizioni esterne imposte. In un sistema generico la condizione di equil ibrio termodinamico raggiunta massimizzando l'entropia e minimizzando l'ener gia interna. Per un solido l'energia interna minima corrisponde a quella di u n cristallo perfetto, ma un solido reale caratterizzato da difetti n ella struttura cristallina (vacanze di atomi o dislocazioni dei piani reticolari). A temperatura T si hanno degli effetti contrastanti, la for mazione di difetti reticolari aumenta l'entropia del solido, mentre l' eliminazione dei difetti diminuisce l'energia interna: la condizione d i 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'e quilibrio ad una data temperatura Ndequ(T), la quale cresce con la tempera tura. 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 int erstiziale o una vacanza pu diffondere, se riesce a superare una barriera di energia potenziale dovuta al reticolo. Se la temperatura alta la costante d i diffusione D(T) sar anch'essa alta, e il cristallo raggiunger velocemente la con centrazione Ndequ(T). Per temperature basse la mobilita dei difetti ridotta, dat o che pu risultare molto improbabile il superamento della barriera di pote nziale 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 p ortato quasi fino al punto di fusione, quindi viene ridotta lentamente la te mperatura attraverso trasformazioni quasi reversibili. La rapidit con cui vi ene ridotta la temperatura deve consentire al sistema di mantenersi in equil ibrio termodinamico, in modo che si abbia sempre Nd= Ndequ(T). Abbassando la te mperatura T si abbassa anche Ndequ(T) e quindi anche l'energia libera F. Ki rkpatrick ed altri hanno notato che trovare lo stato a di minima energia di u n sistema essenzialmente un problema di ottimizzazione simile a quelli di ottim izzazione combinatoria. I metodi che la meccanica statistica adotta per sistemi a molte particelle possono essere utili anche in problemi di ottimizzazion e combinatoria, i quali sono caratterizzati da un altissimo numero di soluzion

i 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 cambiame nto stato dei neuroni una componente di casualit che generalizzi il concetto di temperatura. Questa considerazione porta a incorporare nel processo decision ale del neurone dei contributi di rumore che permettono il cambiamento di stato del neurone con una funzione di attivazione probabilistica, c he classifica la macchina di Boltzmann nell'insieme di reti neurali non d eterministiche. 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 DEi il gap di energia tra lo stato 1 e lo stato 0 del neurone i della re te, 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 p arametro che si comporta come la temperatura. La funzione probabilit p i mostrata nella figura 4.5. FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltz man

Utilizzando le generalizzazioni espresse per le reti neurali, si pu esprimere lo stato Vi del neurone i mediante la funzione di attivazione probabi listica 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. U n sistema di particelle a contatto con un termostato a una data temperatura r aggiunger l'equilibrio termico, e la probabilit di trovare il sistema in un da to stato globale segue la distribuzione di Boltzmann. In modo concorde una r ete di neuroni che segue la regola di decisione 4.20, raggiunger uno stato di equilibrio termico a temperatura T nel quale la probabilit relativa dei due stati della rete segue la distribuzione di Boltzmann: pa/pb = exp(-Ea - Eb)/T) 4.21 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 term ico corrisponde a una distribuzione di probabilit sugli stati stabile. Per un valore di T=0, il sistema si comporta come una semplice rete di Hopfie ld discreta, la 4.20 diventa una funzione a gradino come nella rete discreta d i Hopfield. Per valori elevati di T, pi pari circa a 0.5 ed il sistema pr esenta stati di attivazione casuali. Gli stati metastabili della macchina d i Bolzmann sono legati al parametro T della 4.20, infatti il loro numero cre sce con la temperatura T. Per quanto detto possibile pensare ad una analogia tra gli stati metastabili della macchina di Boltzmann e la configurazione de i difetti reticolari. L'annealing simulato implementato nella macchina di Bolt zmann non un vero algoritmo di apprendimento, piuttosto una procedura utilizzata nella fase di funzionamento della rete successiva all'appr endimento. La macchina di Boltzmann viene fatta funzionare presentando in ing resso un vettore e seguendo l'evoluzione spontanea della rete fino alla p roduzione di un vettore finale di uscita. All'inizio della fase di funzion amento, analogamente al processo di annealing, la temperatura T ha un val ore elevato. La funzione di attivazione in questo caso pari a 0.5, per cui s e il sistema si trova in un minimo locale di energia (stato metastabile) , il valore elevato di T provoca un evoluzione casuale dello stato della ret e favorendo l'allontanamento da tale minimo. Infatti lo stato della mac china di Boltzmann pu fluttuare anche per un vettore in ingresso costante corr ispondente a uno stato metastabile. Questo comportamento analogo a quello d egli atomi di un solido che per temperature elevate riescono a superare la barriera di potenziale , in modo da rendere uniforme la concentrazion e di difetti Ndequ(T) . Ogni volta che la rete produce un uscita, quest 'ultima viene retroazionata all'ingresso della rete, in questa fase vien e ridotto il parametro temperatura della funzione di attivazione. In tal m odo si riducono sia gli stati metastabili accessibili , sia le possibilit de lla macchina di uscire da uno stato metastabile raggiunto. In definitiva quando la temperatura T tende a 0, lo stato raggiunto dalla rete si avvicin er 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 a lgoritmo di apprendimento di tipo guidato, che consente alla rete di imparare come associare ad un determinato vettore in ingresso il corrispondente vett ore di uscita. Si consideri la macchina di Boltzmann costituita da livelli di unit visibili e nascoste. L'apprendimento avviene in due fasi distinte, una po sitiva 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 volt a, delle coppie di vettori ingresso-uscita. Ogni volta la rete viene gr adualmente portata all'equilibrio termico, partendo da un alto valore di T fin o a T = 1. All'equilibrio il sistema viene mantenuto per alcuni cicli. Alla fin e di questa fase viene calcolata per ogni connessione la probabilit pij+ ch e le unit i e j siano entrambe attive durante l'equilibrio termic o. 2. Fase negativa di test. La fase di verifica dell'addestramen to analoga, ma in questo caso vengono presentati solo i vettori di ingre sso e vengono calcolate all'equilibrio le probabilit pij- . Se la rete a lla fine delle due fasi presenta le stesse distribuzioni di probabi lit pij+ e pij- non viene effettuata nessuna modifica ai pesi di 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 comportamento effettivo della rete e quello desiderato, Ack ley e Hinton hanno dimostrato che : dG/dT = -(1/T) (pij+ - pij-) 4.22 Da quanto detto chiaro che per ottenere il comportamento desiderato dal siste ma necessario introdurre una regola di apprendimento in modo che i pesi di tu tte le connessioni per le quali risulta pij+ c pij- , si modifichino spont aneamente in modo da annullare la derivata di G rispetto il peso. Il pri ncipale limite della macchina di Boltzmann la bassa velocit di convergenza a l minimo globale dell'energia.

Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen

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 p erceptrone nasce come un modello semplificato del sistema nervoso, di cu i avrebbe dovuto duplicare le funzioni cognitive. Rosemblatt proponeva il mo dello non come un dispositivo logico equivalente alla macchina di Turing, bens come un sistema capace di effettuare associazioni fra stimoli simil i. Le sue differenze rispetto un sistema logico erano notevoli, infatti le sue risposte a stimoli nuovi non erano a priori prevedibili, essendo dete rminate dai concetti appresi precedentemente, inoltre esso riusciva a funz ionare anche in presenza di rumore sul segnale di ingresso. Saranno esposti pi avanti i principi di funzionamento del perceptrone semplice che deriva dirett amente dal modello di Rosemblatt e dell'evoluzione successiva costituita dal perceptrone multistrato. Nell'ultimo paragrafo viene presentata la regola di apprendimento back-propagation, inizialmente applicata a perc eptroni multistrato ed estesa recentemente a moltissimi modelli di reti neura li.

5.2 - PERCEPTRONE A SINGOLO STRATO L'originale modello di perceptrone proposto da Rosemblatt una primitiva rete n eurale composta da unit di calcolo dette neuroni lineari a soglia (vedi figura 5 .1 in alto). I neuroni sono disposti generalmente a tre livelli e la topologia d ella rete e di tipo feedforward. Il primo livello la griglia retinica o re tina (unit Si ) alla quale vengono presentati gli ingressi, il secondo livell o (unit Ai ) svolge funzioni di classificazione o riconoscimento, il ter zo livello (unit-R) presenta l'uscita discreta 0 o 1 prodotta dalla macch ina. L'apprendimento del perceptrone si manifesta con la modifica dei pesi P d elle connessioni tra il secondo e il terzo livello di neuroni, per tale cara tteristica il modello detto anche singolo-strato (single-layer). Le connessio ni tra il livello d'ingresso e quello centrale rimangono sempre fisse e servo no solo per dare una codifica ai dati di ingresso. Da quest'ultima o sservazione risulta che possibile eliminare il livello di neuroni di ing resso senza nessuna perdita di generalit. In tal modo si pu definire un modell o generalizzato di perceptrone a singolo strato di connessioni e a due liv elli di neuroni come si nota in basso alla figura 5.1. Il primo livello d i neuroni riceve direttamente gli ingressi ed e connesso con sinapsi variab ili al secondo livello (costituito per semplicit da un solo neurone) che p roduce l'output. La funzione di attivazione : CAMPO_NON_VALIDO: Oggetto 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 pe rceptrone quella di classificatore di forme. Si consideri la semplice unit d i figura 5.1, questo neurone computa la somma pesata degli input sottra e la soglia Si e tramite la funzione di attivazione produce un output +1 o 0. Il tipo di uscita permette di decidere, per convenzione, quale de lle due classi A o B appartiene l'ingresso. Una utile tecnica per analizzare i l comportamento di un perceptrone e di tracciare un grafico come quello di fig ura 5.1, nel quale sono mappate in uno spazio le cui coordinate sono gli i ngressi del neurone i, le regioni di appartenenza degli input alle varie classi, separate da un iperpiano detto regione di decisione. La posizio ne dell'iperpiano, che nel caso di due variabili di ingresso della figura una retta, dipende dai pesi di connessione Tij . I pesi delle connessioni e l e 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 appr endimento 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 modificar e i pesi di connessione dei neuroni che forniscono una risposta scorretta. La regola delta : 5.2 Vi* l'uscita desiderata, h un numero positivo minore di 1, Ui e Vi sono r ispettivamente l'ingresso e l'uscita del perceptrone. La scelta di h cont rolla la stabilit e la velocit di convergenza dell'apprendimento al giusto risultato. L'apprendimento avviene in modo iterativo secondo la proce dura seguente: 1. Inizializzazione pesi e soglie. In questa fase vengono inizializz ati a caso, a valori diversi da zero, i pesi e la soglia del neurone di uscit a. . Fase di apprendimento. In questa fase viene presentato un nuovo ingre sso al perceptrone ed calcolata l'uscita, in base alla quale viene applica ta iterativamente la regola delta esposta. Nei casi semplici l'algoritmo co nverge, per cui dopo un certo numero di passi le modificazioni da app ortare 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 ed chiamata regola LMS. La regola LMS (Least Mean-Square) v

iene applicata al modello di perceptrone di Widrow noto come Adaline uguale nell a struttura al perceptrone mostrato in figura 5.1. L'Adaline differisce da l perceptrone di Rosemblatt per la funzione di attivazione che lineare senza alc una soglia di attivazione: L'algoritmo LMS consiste in una procedura per trovare i pesi Tij che minimiz zano l'errore ei ed data da un espressione equivalente alla regola delta, si ha infatti: con ei=(Vi-Vi*) FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosembla tt.. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)

FIGURA 5.1b - Perceptrone a singolo strato, che classifica un vettore in ing resso 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 per ceptrone sono separabili (cio esiste un iperpiano che le divide nello spazi o degli input in due regioni), allora la procedura su esposta converge sempre. Uno dei problemi della procedura di convergenza del perceptro ne che essa pu oscillare continuamente quando gli input non sono separabili. Ad esempio un perceptrone non pu calcolare un OR esclusivo, poich vi una sovrapposi zione di classi. Questo limite origin l'aspra critica di Minsky e Papert ai modelli basati sul perceptrone. Consideriamo il problema dello XOR la tabella della verit della funzione logica la seguente: Tabella della verit della Funzione Logica XOR. (5.4) INPUT OUTPUT 0 0 0 0 1 1 1 0 1 1 1 0 Applicando la funzione di attivazione 5.1 al problema dello XOR si ha: E' evidente il paradosso sui pesi T1 e T2 , i quali devono essere ambedue m aggiori della soglia S mentre la somma T1 + T2 minore di S. Il problema del lo XOR rappresentato in figura 5.2 nello spazio degli stati degli ingressi. La figura 5.2 mostra che impossibile tracciare una retta corrisponde nte alla regione di decisione per il problema XOR, mentre si nota la risolvibil it delle operazioni logiche AND e OR. La retta di separazione corrisponde p er 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 d ette linearmente separabili. Consideriamo adesso la funzione logica seguente : Tabella della verit della Funzione Logica XOR. INPUT OUTPUT 0 0 0 0 0

1 0 1 1 0 0 1 1 1 1 0 Questo problema tridimensionale corrisponde al problema XOR per i primi due in put, il terzo input l'uscita AND dei primi due. La figura 5.3, rappresenta nte il problema, mostra che l'aggiunta della terza dimensione permette di ri solvere la funzione XOR. La terza dimensione corrisponde ad aggiungere un livello nascosto di unit, che definisce il semplice perceptrone multistra to di figura 5.3.

FIGURA 5.2 - (A) Semplice Perceptrone a singolo strato e 2 input (B) Rappres entazione grafica delle funzioni logiche AND, OR e XOR, e della loro so lubilit tramite il perceptrone. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART) CAMPO_NON_VALIDO: OggettoFIGURA 5.3 - Perceptrone con uno strato di neuroni nascos to e 3 nodi in grado di risolvere la funzione XOR, la cui rappresentazi one grafica e mostrata a destra. (FONTE Exploration in P.D.P 1989/D. E. RUMELHART)

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 m ultistrato sono reti con uno o pi livelli di neuroni nascosti tra i neur oni 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 so no 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 regio ne di decisione di un perceptrone a singolo strato un iperpiano di dimensio ni 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 arbitra ria. La regione di decisione convessa formata dalle intersezioni degli iper piani di decisione dei perceptroni semplici del primo livello. Tali regioni conv esse 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 multistrato all a complessit del un problema da risolvere. Ad esempio due livelli sono suffici enti a risolvere il problema dello XOR come mostrato nella figura 5.3. Rumelhar t ed altri hanno provato che in un perceptrone feed-forward sono sufficient i tre strati di neuroni per generare una regione di decisione arbitrariamente complessa per complicati problemi di classificazione. Inoltre il numero di n odi del secondo strato deve essere maggiore di uno quando le regioni di decis ione sono disconnesse nel caso peggiore deve essere uguale al numero di di sconnessioni (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) FIGURA 5.5 - Tipi di regioni di decisione che possono essere formate da percept roni a uno, due e tre strati. I nodi utilizzano una funzione di atti vazione hard-limiter non lineare. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P.Lippma nn) 5.5 - REGOLA DI APPRENDIMENTO BACK-PROPAGATION Si descriver adesso un nuovo algoritmo di apprendimento noto come back-propagatio n, proposto da Rumelhart ed altri nel 1986 . Tale algoritmo si applica ad una rete di neuroni corrispondente ad un perceptrone multistrato con nod i 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

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'us cita dei livelli visibili della rete. La rete dotata inoltre oltre gli ingres si normali di un ulteriore ingresso detto offset, settato quasi sempre a 1, i l cui peso di connessione detto bias. Il comportamento di queste reti risp etto ai perceptroni visti prima pi complicato. Le regioni di decisione sono tipicamente delle curve e non pi degli iperpiani. L'algoritmo b ack-propagation una generalizzazione della regola delta e consiste in una tecn ica per trovare un insieme di pesi Tij che minimizza una funzione costo che c orrisponde all'errore tra l'uscita prodotta e quella desiderata. L'errore t otale della rete definito come: 5.6 Vi l'uscita dell'ultimo livello della rete, Vi* l'uscita desiderata. Per minimi zzare e e necessario calcolare la derivata di e rispetto i pesi T si ha : 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: CAMPO_NON_VALIDO: Oggetto La regola back-propagation diventa: 5.8 Nella 5.8 v l'uscita del nodo i oppure un ingresso, mentre la derivata d e/du 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: dove k un indice su tutti i nodi del livello successivo al nodo j. dk e la derivata de/du per il nodo k. L'apprendimento mediante l'algor itmo 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 desider ato di componenti Vi* ; 3. Calcolo uscite. Mediante la funzione sigmoide 5.5 vengono calcolate g li 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 al p rimo corrispondente alle connessioni di ingresso. La procedura viene ripetuta con la presentazione di una nuova 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. Una dimostrazione della potenza di questo algor itmo l'applicazione di sintesi del linguaggio fatta da Sejnowsky. Una difficolt notata nell'applicazione della regola back-propagation l'alto numero (> 100) di coppie ingresso-uscita richiesto per far convergere hanno applicato la regola back l'algoritmo. Recentemente alcuni autori -propagation in perceptroni con feedback, caratterizzati dall'esistenza di in gressi in un livello provenienti da livelli successivi di neuroni. Esiste uno stretto legame tra i perceptroni con feedback e le reti di Hopfield, in fatti imponendo la simmetria e forzando a 0 le autoconnessioni tra le unit si ottiene una rete formalmente equivalente al modello continuo di Hopfield.

5.6 - RETI AUTO-ORGANIZZANTI DI KOHONEN Si accenna brevemente al modello di rete di neuroni di Teuvo Kohonen.La rete for mata da neuroni formali simili a quelli a risposta continua di Hopfield, la cui topologia del tipo a connettivit laterale, ricalca alcune strutture nerv ose biologiche. La rete apprende con un algoritmo sprovvisto di supervisione che provvede alla modifica dei pesi delle connessioni dei neuroni che m eglio campionano i vettori in ingresso . La funzione di attivazione u na sigmoide espressa da: 5.11 Una rete di Kohonen formata da una matrice bidimensionale di M neuroni che co stituiscono 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 ad destrata come segue: 1. Inizializzazione pesi. In questa fase vengono settati i pesi delle c onnessioni 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 compo nenti continue V presentato alla rete. 3. Calcolo distanza di tutti i nodi. Viene calcolata la distanza tr a l'ingresso e il neurone di uscita mediante la relazione: 4. Selezione neurone j con MIN (dj ). 5. Aggiornamento pesi. Vengono aggiornati i pesi delle connessioni tra il neurone j* e le entrate appartenenti all'intorno del neurone def inito dall'insieme NEj*(t) secondo regola di apprendimento nota come legge di adattamento: 5.12 Il procedimento viene ripetuto presentando un nuovo ingresso. FIGURA 5.6 - Matrice bidimensionale di nodi di uscita rappresentante un a 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 l'evoluzione temporale di una rete autoorganizzant e di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)

Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali

6. - APPLICAZIONI DELLE RETI NEURALI 6.1 - INTRODUZIONE I modelli di reti esaminati nei capitoli precedenti si prestano a divers e applicazioni. La combinazione di potenza e di velocit computazionale del model lo continuo di Hopfield, pu essere applicata alla risoluzione di pro blemi riconducibili alla minimizzazione di una funzione con caratteris tiche analoghe all'energia computazionale. In generale le reti di Hopf ield e la macchina di Boltzmann possono essere applicate a molti problemi di ottimizzazione combinatoria, i quali costituiscono una classe di problem i ad altissimo numero di soluzioni la cui risoluzione consiste nel trovare ne l modo pi rapido una o pi soluzioni esatte o approssimate. Un esempio di quest i problemi quello del commesso viaggiatore (TSP Traveling Salesman Probl em), nel quale si deve minimizzare il percorso di quest'ultimo attrave rso N citt. Il TSP appartiene all'estesa classe dei problemi NP-completi (probl emi nondeterministici polinomiali completi). Per la risoluzione di tali prob lemi sono stati utilizzati i cosiddetti metodi euristici, che riducono notevolmente il numero di soluzioni, tuttavia non noto attualmente un me todo generale di risoluzione valido per tutti i gradi di complessit del pro blema (nel caso del TSP la complessit proporzionale al numero N delle cit t). Il tempo di computazione richiesto dai metodi euristici cresce in man iera inaccettabile al crescere della complessit del problema, quindi l'utiliz zo di reti neurali, che forniscono una soluzione accettabile in un tempo paragonabile alle costanti di tempo del circuito elettrico che le costi tuisce, un interessante campo di ricerca.

6.2 - RAPPRESENTAZIONE DEI DATI Si gi accennato al fatto che la potenza computazionale di una rete neurale de terminata 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 l e reti neurali subordinata alla possibilit di codificare tali numeri con le va riabili di stato V dei neuroni della rete. Per realizzare rappresentazioni numeriche simili a quelle utilizzate nei calcolatori digitali, il valore delle variabili Vi ,alla fine del processo di minimizzazione della funzione energia, deve essere binario 0 o 1. Si considerano adesso dei meto di per rappresentare la classe Z dei numeri interi positivi nello spazio deg li stati della rete neurale: Rappresentazione binaria. Nei computer convenzionali la forma di rappresent azione 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 ogn i unit corrisponde un bit, si ha una corrispondenza biunivoca tra il numero N l Z+ e i lg2 (N + 1) neuroni rappresentanti il numero N nella rete neurale. L a limitazione della rappresentazione binaria l'alta sensibilit agli errori. Rappresentazione della somma semplice. In questo schema un valore numerico rap presentato dalla somma delle unit attive. Per rappresentare il numero N o ccorrono almeno N unit. In questo metodo si ha una minore sensibilit agli errori rispetto al sistema binario, inoltre un numero dato N possiede pi rappre sentazioni. La ridondanza di un sistema di rappresentazione di dati un van taggio in termini di convergenza, infatti grazie all'alto numero di configur azioni associate a uno stesso valore numerico, la rete offre pi possibilit d i giungere rapidamente alla corretta soluzione. Rappresentazione gruppi-pesi. Lo schema gruppi-pesi mantiene le propriet di ridondanza e di affidabilit della rappresentazione somma-semplice, tuttavia introduce un numero minore di elementi di elaborazione. In que sta rappresentazione si divide il numero totale q di bit in K gruppi, cia scuno dei quali contiene M bit (q = KM), l'espressione formale per il n umero generico N sar: 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 n oti che gli schemi descritti precedentemente si possono ottenere come cas i particolari dello schema gruppi-pesi. Ponendo M = 1 e K = q si ha lo sch ema binario, mentre con M = q e K = 1 si ottiene lo schema somma sem plice. Altre rappresentazioni sono utilizzate per numeri interi positivi e ne gativi, numeri complessi e numeri reali. Per numeri interi positivi e negativ i si pu adottare la seguente espressione: 6.2 dove l'operazione fornisce il pi grande valore intero minore di X e il termin e 0,5 [(M+1k-1)] pari alla met del massimo valore esprimibile mediante la 6.2. Nu meri 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 hann o 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, n on possono essere utilizzati in quanto non conducono ad una funzione energia i

n forma quadratica rispetto le variabili di stato, come richiesto per le reti di Hopfield. 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). Per semplicit di trattazione si con sidera un convertitore a 4 bit, il cui schema circuitale mostrato in figura 6.1. Il circuito costituito da quattro amplificatori (sono richieste solo l e uscite invertite) corrispondenti alle unit di calcolo, da una rete di resis tenze 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 numeri co da convertire. La rete opera correttamente quando il valore x pari alla paro la 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, a lla 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 necessar ia anche per permettere l'eliminazione dei termini diagonali della matrice delle connessioni caratteristica delle reti di Hopfield . La funzione en ergia ottenuta dalla somma dei due termini visti diventa: 6.7 Confrontando tale funzione con l'energia computazionale della rete continua di Hopfield si ottengono per i pesi delle connessioni le seguenti espression i: 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 a ltri mediante resistenze di conduttanza 2(i+j) . La seconda condizione 6.8 co nsiste nel fornire le correnti di ingresso attraverso resistori di cond uttanza 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). FIGURA 6.1 - In alto si ha un grafico rappresentante la parola digitale V 3 V2 V1 V0 computata dal convertitore A/D in funzione dell'ingresso analo gico x. In basso si ha lo schema circuitale della rete neurale di Hopfield co rrispondente al convertitore A/D. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIEL D/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 presen za di altri segnali. In particolare si consideri il problema della scomposi zione di un segnale analogico x(t) dipendente dal tempo ottenuto dalla combi nazione 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 r pu assumere un numero finito di possibili valo ri, 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 r e t e ognuna di esse avr un coefficiente binario Vrt che corrisponde all'uscita dell'amplificatore i e che rappresenta la presenza di ogni funzione base nella composizione d el segnale xi(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 scomp osizione e: 6.11 La 6.11 ha la forma dell'energia di Hopfield, e in essa il secondo termine i ntrodotto per annullare gli elementi diagonali della matrice delle connessioni. A questo punto si possono definire un set di pesi di connessioni e di corren ti in ingresso per ogni amplificatore: 6.12 Il circuito della rete mostrato in figura 6.2. Il segnale xi entra in parall elo nella rete e produce delle correnti negli ingressi degli amplificatori attraverso le resistenze di ingresso. Al termine del processo di minimizza zione, i valori digitali Vrt delle uscite degli amplificatori indicher anno la presenza o meno del corrispondente impulso nella forma d'onda da scomporre. Il convertitore A/D descritto nel paragrafo precedente pu esser e 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 not i che per i due problemi considerati la base non ortogonale, questo allo scop o di non annullare i termini che definiscono i pesi delle connession i. 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 Ho pfield per il problema della scomposizione di un segnale analogico. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)

6.3.3 - IL PROBLEMA DEL COMMESSO VIAGGIATORE (TSP) Un esempio classico di problema di ottimizzazione il gi citato problema del c ommesso viaggiatore o TSP (Traveling Salesman Problem). La formulazione del TSP molto semplice: siano assegnate n citt A, B, C,..., e le distanze dij fra esse esistenti , il problema consiste nella determinazione di una seque nza 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 pro blema pu essere risolto mediante una rete continua di Hopfield. Si assoc i 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 v alore 1 della tensione di uscita Vi dell'unit relativa alla citt e alla posizi one i considerata. Se il numero delle citt 6 e la citt A occupa la seconda po sizione nella sequenza finale, la configurazione degli stati delle unit ad ess a associata la seguente A 0 1 0 0 0 0. Per n citt la rete deve essere forma ta da N = n2 neuroni. Lo stato di uscita di queste N unit pu essere descritt o mediante una matrice quadrata di dimensioni n X n. Riferendosi all'e sempio in cui si hanno 5 citt la matrice ha la forma seguente: 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 figu ra 6.3). Una matrice che rappresenta una soluzione corretta caratter izzata da un solo elemento 1 in ogni riga e colonna dato che una citt pu ess ere 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 s oluzioni 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 descri tte mediante una rete continua di Hopfield porta alle seguente espressione pe r l'energia computazionale: dove a, b, g, h sono costanti positive per le quali non esiste un criteri o definito di scelta. La 6.14 pu essere facilmente spiegata: il primo addend o, 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 l a colonna i-esima presenta un solo elemento pari a 1; il terzo addendo, poi ch una forma quadratica della differenza fra la somma di tutti gli ele menti della matrice e il numero totale di elementi n, 0 se la somma n. La minim izzazione di questi tre termini di E corrisponde alla scelta di una possib ile soluzione del problema. Infine la minimizzazione dell'ultimo adden do individua il percorso pi breve. I valori dei pesi delle connessioni e d elle correnti esterne sono: La rete continua di Hopfield costruita per il problema TSP permette di trova re una delle soluzioni possibili, in tempi molto brevi.

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

TSP. O probl indic VOL.33

6.3.4 - PROGRAMMAZIONE LINEARE Un problema di programmazione lineare consiste nel minimizzare una f unzione 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 c osto e nell'equazione del vincolo, infine B sono termini costanti. La fig ura 6.4 mostra una rete di neuroni che pu risolvere un problema di programmazio ne lineare di due variabili con quattro equazioni di vincolo. Il circ uito comprende N amplificatori le cui uscite Vi rappresentano il vettore V, M amplificatori di uscita Yj cui sono associati l'insieme dei vincoli , j indica se soddisfatta la corrispondente equazione di vincolo. L'uscita n ormale Vi dell'amplificatore i connessa all'ingresso dell'amplificatore, cui co rrisponde la j-esima equazione di vincolo mediante una resistenza di condut tanza Dji . L'uscita inversa j dell'amplificatore j connessa all'ingresso del l'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 f ornite dagli altri M amplificatori. La corrente in ingresso agli M amplificato ri di uscita Yj 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 costitu ito da una capacit Ci e una resistenza ri , hanno inoltre una funzione di a ttivazione Vi = g(Ui ) non lineare. Gli amplificatori j hanno una f unzione 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 Yj.>> 1 all'amplificatore j corrispondente a un'equazione di vincolo violata. Considerando trascurabile il tempo di risp osta degli M amplificatori Yj rispetto quello degli N amplificatori Vi , le e quazioni dinamiche del circuito calcolate per le sole uscite Vi sono: 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 fu nzioni costo e violazioni ai vincoli minimizzate. Il problema di Hitchcock es posto nel prossimo paragrafo un esempio di problema di programmazione lineare . FIGURA 6.4 - Schema circuitale della rete neurale di Hopfield per un proble ma 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 quantita tivo di prodotto disponibile nel centro X, inoltre vi siano n deposit i (Y = 1,...,n), ciascuno con una richiesta pari a DY . Se CXY il costo uni tario della spedizione dal centro X al deposito Y, si deve trovare per ogni c oppia XY il flusso di merce f che soddisfa le richieste contemporaneamen te 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 esemp io 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 attivazi one 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 di rappresentazione gruppi-pesi l'element o fXY assume la forma: 6.22

Si costruisce adesso la funzione energia E avente forma quadratica rispetto le variabili V: 6.23 dove a, b, g, h sono dei fattori positivi per i quali non esiste un criterio definito di scelta. Si analizzano in dettaglio i singoli addendi dell'espress ione 6.23: il primo termine la somma estesa a tutte le variabili di stato di f unzioni 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 t erzo termine sono espressioni quadratiche che servono a minimizzare le v iolazioni alle relazioni di vincolo; l'ultimo termine il quadrato della funzione costo che si vuole minimizzare.Le soluzioni che minimizzano E non necessariamente comportano il raggiungimento del minimo della funzione c osto nel rispetto dei vincoli, comunque la scelta di opportuni fattori a, b, g e h porta a buone soluzioni che minimizzano E. Con riferimento al pr oblema 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 alimentazio ne di ogni singolo neurone come segue: 6.25 dxx il delta di Kroneker.

FIGURA 6.5 - In alto schema di un problema di Hitchcock con 4 centri di produzi one e 6 depositi. TABELLA I (A) Matrice di costo per il problema di Hitchco ck (B) Semplice soluzione rappresentante il flusso dalla sorgente X al d eposito Y. TABELLA_II Rappresentazione neurale della matrice di flusso del p roblema di Hitchcock, q neuroni sono utilizzati per rappresentare un elem ento 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 dove H una matrice qua drata di dimensioni N x N, ed x e y sono due vettori di N com ponenti rappresentanti rispettivamente le incognite e i termini noti. Per ut ilizzare il processo di minimizzazione di energia delle reti continue di Hop field riformuliamo il problema introducendo una funzione energia che inc lude 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.

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 r elazione tra il tempo di elaborazione, le dimensioni del problema e l 'algoritmo utilizzato per l'apprendimento. Considerando che problemi con un nu mero maggiore di variabili comportano l'introduzione di ulteriori unit di elabo razione si pensa che il tempo di elaborazione richiesto non cresca ra pidamente con le dimensioni del problema. La complessit computazionale nei calcolatori digitali definita come il numero di operazioni aritmetiche rich ieste per risolvere un dato problema (si indica con O(f(N)) dove N sono l e dimensioni del problema e f(N) una funzione di N). Analizzando come essa c resce con l'aumentare delle dimensioni N del problema si pu misurare l'effic ienza di un algoritmo. Algoritmi con tempi di esecuzione crescenti in maniera esponenziale con N hanno un uso molto limitato nei calcoli conve nzionali. I metodi euristici utilizzati ad esempio per risolvere il problema TSP hanno una complessit computazionale di tipo esponenziale o addirittura fatt oriale e non noto alcun metodo che limiti tale complessit a una potenza di N. Analogamente alla complessit computazionale , per una rete neurale possib ile definire il concetto di complessit di programmazione. La complessit di pr ogrammazione di una rete neurale il numero di operazioni aritmetiche richies te per determinare i corretti pesi delle connessioni e le correnti est erne 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 corren ti 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 confront o 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 i ncognite del sottoparagrafo 6.3.6. Si visto che sono richiesti qN neuroni, q e il numero di neuroni richiesto per rappresentare ogni variabile incogn ita con lo schema gruppi-pesi ed e indipendente da N. Il numero delle interconn essioni 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 ope razioni per determinare ogni peso e ogni corrente. A. V. Aho ed altri hanno m ostrato che la complessit computazionale dello stesso problema O(N ), per cui in questo caso la complessit di programmazione coincide con la complessit co mputazionale. Nel problema TSP la complessit computazionale O(N!), dove N il numero delle citt, risolvendo lo stesso problema con la rete continua di Hop field 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, p er 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 c ome la complessit di programmazione dipenda dall'algoritmo usato. Nel problem a di Hitchcock con m sorgenti e n depositi occorrono qmn neuroni. Il nu mero di interconnessioni allora: (1/2)qmn(qmn + 1) @O(m2 n2 ), le correnti s ono: 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 sem pre positivo. Definendo l'energia senza elevare al quadrato l'ultimo termin e della 6.24 si ottengono dei pesi non dipendenti dai termini CXY in ta l modo la complessit di programmazione dipende solo dalle correnti ester ne ed O(mn) @ O(n2 ) per m @ n. Attualmente non noto quale sia l'algoritmo che fornisce la minore complessit computazionale per il problema di Hitchcock.

6.5 - APPLICAZIONE DI PERCEPTRONI MULTISTRATO CON REGOLA BACK-PROPAGATION: RETE NETTALK Un'applicazione molto interessante dei sistemi neurali la rete NETtalk di Sejno wsky e Rosemberg , una macchina che impara a leggere in inglese partendo da esempi che le vengono presentati durante la fase di apprendimento. NETtalk tra duce il testo presentato in ingresso in fonemi, un fonema una rappresentazion e simbolica del suono della singola lettera, i quali vengono trasformati in suono da un sintetizzatore vocale. NETtalk essenzialmente un perceptrone m ultistrato che utilizza la regola di apprendimento back-propagation. Gli s trati della rete sono tre e comprendono, oltre a due strati di ingresso e d i uscita, uno strato di unit nascoste. La funzione di attivazione della rete mos trata 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 d ella stringa in ingresso. Le altre sei lettere determinano un parziale contes to per la pronuncia esatta della lettera. Lo schema rappresentativo delle lettere e dei fonemi diverso. La lettera e rappresentata localment e entro ogni gruppo di unit in ingresso, che risulta costituito da 26 uni t corrispondenti al numero delle lettere, pi 3 unit che rappresentano la pun teggiatura e i confini della parola. I 54 fonemi in uscita consistono in 23 cara tteristiche di pronuncia pi 3 legate all'accento. Un fonema rappresentato 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-propaga tion che consente il settaggio delle connessioni della rete. La rete v iene inizialmente settata con pesi casuali distribuiti uniformemente ne ll'intervallo 0.3. Alla fine della fase di apprendimento le prestazioni del la rete sono state testate con un vocabolario di 1000 parole prese a caso d al testo imparato. Sejnowsky e Rosemberg hanno studiato la variazione delle p restazioni 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 por ta ad un miglioramento della velocit di apprendimento. FIGURA 6.6 - In alto si ha lo schema della rete NETtalk, in basso un grafico r appresentante 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 inp ara. Si noti che i migliori risultati si hanno con 120 unit nascoste, e che l e performance della rete crescono col numero delle parole imparate. (FONTE SEJ NOWSKY)

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi al goritmi di memorizzazione

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 utilizza re 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 model lo discreto di Hopfield. Sono stati utilizzati due distinti algoritmi di memorizzazione, inizialmente la regola di Hebb, successivamente si uti lizzata 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 proble mi aleatori e non si prestano, per loro natura, a una soluzione algoritm ica semplice. Il termine aleatorio indica la impossibilita di definire il pr oblema in maniera concisa e completa. L'aleatoriet del problema legata alla quantit di informazione richiesta per definirlo e all'altissimo numero di soluzioni possibili. Dalla definizione di entropia di Shannon co me misura dell'informazione contenuta in un messaggio si pu affermare che u n problema aleatorio ha un alto grado di entropia rispetto un problema strutturato. Per poter risolvere problemi aleatori, oltre ai metodi eurist ici, gi menzionati, si potrebbero memorizzare tutte le soluzioni possibili e dop o utilizzare dei metodi per associare direttamente i dati in ingresso con le informazioni immagazzinate, senza bisogno di un'esatta corrispondenza. Nell e memorie convenzionali i dati memorizzati sono accessibili mediante degli indirizzi e informazioni parziali sono insufficienti per richiamare i dat i. Le memorie biologiche sembrano essere di differente natura. L'intero s et di caratteristiche connesso a un concetto memorizzato pu essere ricavat o da un set parziale di informazioni, mediante dei processi associativi. A q uesti processi di associazione si ispira il progetto di memorie associativ e costruite mediante reti neurali. Diversi studiosi hanno mostrato la po ssibilit di utilizzare memorie associative per problemi di riconoscimento (vedi figura 7.1a).

FIGURA 7.1a - In alto vi l'immagine memorizzatadi una T, sotto le immagini di pa rtenza corrotte da cui si pu risalire all'immagine iniziale in memoria. In basso c'e un esempio di ricostruzione di un'immagine di un volto (c) da un input p arziale (b) realizzato mediante una memoria associativa. L'immagine memor izzata 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: d ato un set di M vettori Vis binari (0,1) i = 1,..,N s = 1,..,M, essi vengono memorizzati in una matrice T in accordo alla regola di Hebb seguent e: 7.1 Il termine Mdij 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 usc ita risulta: 7.2 il valore medio del termine tra parentesi quadre (N-1)/2 per s=s' mentre null o se scs' per cui estraendo il termine s'-esimo dalla sommatoria con indi ce s si ha: 7.3 consiste nella somma di due termini: il primo il vettore in ingresso amp lificato dal termine (N - 1)/2, ed positivo per Vis' = 1 negativo se Vis' = 0, il secondo una combinazione lineare dei rimanenti vettori memori zzati rappresenta un termine di rumore casuale. Il valore medio del secondo t ermine nullo per scs', ma pu contribuire ugualmente a Vis' con un rumore dat o dalla deviazione standard della somma di M-1 coefficienti random: 7.4 se N sufficientemente pi grande di M allora Vis' approssimativamente un au tovettore della matrice T, inoltre il rumore approssimativamente gaussiano e l a 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 probabili t che l'elemento in uscita sia positivo se il corrispondente elemento in ingre sso Vis' memorizzato e +1 e 0 altrimenti. Utilizzando la funzione di attiv azione 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 proporzio nale 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 matric e 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 e il numero massimo di vettori memorizzabili), nelle simulaz ioni fatte dall'autore del presente lavoro si sono ottenute buone pres tazioni delle memorie con M @ 0.1N. Recentemente Farhat e Psaltis hanno i ndicato 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 a d essere molto correlati (ad esempio i nomi di un archivio). Per tale motivo utile definire nuovi algoritmi di memorizzazione che superano i limiti deri vanti dalla correlazione dei dati da memorizzare. In 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 definiam o la regola di Hebb in forma incrementale: 7.5 Nella 7.5 TijAB denota una matrice T nella quale sono stati memorizzati i v ettori 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 d ato da: 7.6 Il termine: V|| i una misura della correlazione tra la matrice TAB e il vet tore Vc che si sta memorizzando. Se Vc ortogonale a tutti i vettori memorizzati precedentemente nella matrice TAB allora il termine V|| i si an nulla 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 memorie associat ive, da buoni risultati. La regola di apprendimento che segue adesso detta re gola geometrica: 7.8 La regola 7.8 ricorda l'algoritmo di Gram-Schmidt per ortonormalizzare u n insieme di vettori e ha una semplice interpretazione geometrica: V|| la proiezione di Vc nello spazio costruito mediante i vettori preced entemente memorizzati nella matrice TAB , la proiezione di Vc nello spazio nullo di T . I vettori e sono normali a tutti gli altri vettori memorizz ati. La regola geometrica risolve essenzialmente tutti i problemi legati alla correlazione tra i vettori, ognuno dei vettori memorizzati esattamente un a utovettore di T con autovalore N-1. Le memorie associative implementate con q ueste 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 memorizza ti. FIGURA 7.1b - Raffigurazione di una memoria eteroassociativa, si noti la reppres entazione 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 approssimativamen te lo stesso numero di bit a zero e ad uno, definendo con S01 lo sbilancio t ra i bit diversi, deve essere S01 @ N/2 , dove N e la dimensione dei vetto ri memorizzati. Se S01 sufficientemente diverso cresce il valore del t ermine rumore della 7.3 e la memoria associativa non riesce a funzionare ade guatamente. In questo paragrafo viene descritto un nuovo algoritmo di memorizzazione, proposto recentemente da S.H. Oh, che permette di superare il limite prima presentato. Nel paragrafo 7.3, implementando il modello di Hopf ield, si e assunto che il valore della soglia Si di attivazione del neurone sia nulla. In generale la scelta di Si dipende dai vettori memorizzati Vs , ad esempio la scelta Si = 0 e valida con l'assunzione S01 @ N/2. Quando Si 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 caratteri stica 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 po ssono 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 V's di dimensioni 2N che formato da lle componenti del vettore Vs pi le componenti del vettore complemento, si ha: 7.9 Tale vettore memorizzato in una matrice T' mediante la seguente espressio ne: 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 prob lema dello sbilancio dei 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 complem ento 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 dell a matrice T e lo stato attuale ViS . La 7.14 mostra che il prossimo sta to corrisponde agli elementi indice 1 i N. Si ha allora la seguente funzione di attivazione: con 7.15 Nella funzione di attivazione 7.15 lo stato successivo di ogni neurone i di pende sia dal proprio stato attuale, sia dallo stato corrente degli altri neuroni. L'algoritmo di memorizzazione esposto, risolvendo il proble ma dello sbilancio dei bit dei vettori memorizzati, permette di incre mentare il numero M di vettori memorizzabili in una matrice di N neuroni. Tale miglioramento di prestazioni evidenziato nelle simulazioni descritte pi a vanti.

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 rac colti nelle figure nell'appendice A. Segue adesso una descrizione genera le, valida per tutti le prove effettuate del significato di tali figure. Dop o 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 l a matrice delle connessioni ), seguono delle tabelle che si riferiscono a diversi test sulla memoria. Il test al quale si riferisce indicato in alto all a tabella. Generalmente i test effettuati consistono nel presentare alla memori a un vettore di ingresso Us (s = 1,..,M) corrispondente al vettore memorizza to Vs alterato in vari modi. Nei test 1A e 1B la modifica di Us consiste ne l 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 p osti a 0 tutti i bit di Us da una certa posizione fino alla N. Le tabell e dei test 1A e 1B sono molto simili, differisce solo la prima colonna, ch e nel test 1A corrisponde alla distanza di Hamming H0 crescente, mentre n el 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 memori zzato finale raggiunto, il numero di iterazioni effettuate e la distanza di Ham ming 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 vetto ri 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 ottimiz zare la ricerca degli stati oscillatori. Il secondo test consiste nell'immiss ione di una percentuale crescente di rumore sul vettore di ingresso Us . La prima colonna della tabella indica la percentuale di rumore introd otta, le altre colonne e la tabella riassuntiva finale hanno il significato vi sto nel test 1A e 1B. Nel terzo test, utilizzato solo nella prima sim ulazione vengono presentati ad una rete di 16 neuroni tutti i 2 vettor i possibili, e vengono conteggiati i risultati. Le prestazioni di una memori a associativa sono sintetizzate dall'analisi delle variazioni dei seguenti elementi: 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, ch e si riferiscono ai vettori memorizzati totalizzano per ogni vettore la per centuale di successi dei richiami, il numero di stati oscillatori e il n umero di attrazioni indotte sui vettori di ingresso non corrispondenti (ad ese mpio il vettore V1 pu attrarre il vettore ingresso U2 costruito dal vettore memor izzato 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, P ARE128422, 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 simulazio ne 5. Nelle routine base dei programmi utilizzati il termine del ciclo delle it erazioni 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 p refissato 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, presenta ndo in ingresso tutti i 2 vettori possibili. Si sono utilizzate sia la rego la di Hebb, sia la regola di Oh, memorizzando prima 2 vettori e successiva mente 3 vettori. Il terzo test mostra i risultati: nelle prove HOP16311 e HOP1 6211, 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 a ttrattori metastabili 577, 3478, 53388 e 56766 nella prova HOP16211 e uno s tato metastabile 48283 nella prova HOP16311; lo stesso vettore 8768 risulta perfettamente richiamabile insieme a tutti i vettori normali e complemento m emorizzati nelle prove HOP16312 e HOP16212, nelle quali applicata la regola d i Oh. 7.6.2 - SIMULAZIONE 2 Nelle prove HOP20221, HOP20211, HOP20321 e HOP20311 della seconda simulazi one, si applicano rispettivamente la regola di apprendimento di Hebb e la reg ola di Oh e si utilizzato lo stesso set di vettori di 20 bit . Nelle prove HO P20221 e HOP20211 si sono memorizzati 2 vettori, mentre nelle altre due s i sono memorizzati 3 vettori. Tali vettori sono caratterizzati da una d istanza di Hamming media uguale a 10 e da una bassa percentuale di uno (25%). L e prove HOP20221 e HOP20211 mostrano il buon funzionamento della regola di H ebb, al contrario le prove HOP20321 e HOP20311 indicano la impossibilit a di richiamare tali vettori con la stessa regola.I test 1A e 1B delle prove HOP20321 e HOP20311 mostrano un netto miglioramento delle presta zioni della memoria applicando la regola di Oh come algoritmo di me morizzazione. La Fig. A.6 (riferentesi alle prove HOP20321 e HOP20311) un es empio di richiamo di un vettore memorizzato con le diverse regole di ap prendimento. La regola di Hebb porta al richiamo di uno stato metastabile, la r egola di Oh permette di richiamare il vettore memorizzato con la pi bassa di stanza di Hamming dal vettore di ingresso.

7.6.3 - SIMULAZIONE 3 La terza simulazione evidenzia il degrado di prestazioni di una memoria assoc iativa al crescere del numero M di vettori memorizzati, e mostra che l'imp iego della regola di Oh consente di memorizzare pi vettori rispetto la re gola di Hebb. Nella varie prove si sono memorizzati progressivamente un nume ro 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 utiliz zando la regola di Hebb. La regola di Oh permette di avere una bassa percentua le di errori della memoria anche con vettori memorizzati. Il massimo numer o di vettori memorizzabili mediante il modello utilizzato era stato fissato d a Hopfield ad una frazione di N (N < 100) corrispondente a 0.15N. Le prove fat te mostrano che tale limite raggiungibile a condizione che i vettori memo rizzati siano abbastanza diversi, cio siano poco correlati, e abbiano un o 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 connessio ne 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 con nessioni con una alta percentuale di zeri (si veda la matrice corrisponden te a M=4 di Fig. A.8). Una percentuale uguale a 1/N, per una matrice N-di mensionale, indica una scarsa utilizzazione della memoria oppure una satu razione 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'util izzo 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 s ono utilizzati 2 set di immagini corrispondenti ad una matrice quadrata rispettivamente di 64 e 128 bit. In tutti i casi stato necessari o 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 informazio ni 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 util izzato per la rappresentazione di dati alfanumerici memorizzati. Nella prova HOP120221 e HOP120321 si utilizzato un codice binario a 5 bit per le 2 7 lettere impiegate. Tale codice permette di memorizzare stringhe di 24 letter e in una memoria associativa di 120 neuroni. Lo svantaggio di tale c odice dato da un bassissimo numero di stringhe memorizzabili perch il suo util izzo comporta un alto grado di correlazione per le stringhe da codificare, si noti infatti la bassa distanza di Hamming media (H ) tra le stringhe memori zzate. Nella prova HOP120321 le tre stringhe memorizzate sono completamente non richiamabili anche mediante la regola di Oh. Tale limite deriva dal fatto che le stringhe memorizzate mediante il codice a 5 bit sono molto cor relate. Questo limite di utilizzo intrinseco nel modello di Hopfield e non pu es sere superato con la regola di Oh. Una soluzione di mantenere la media d elle distanze di Hamming H uguale circa a N/2. Il codice binario a 8 bi t utilizzato nella prova HOP128621 permette di aumentare notevolmente il numero di vettori memorizzabili. Nell'esempio vengono memorizzate 6 stringhe di 16 lettere con buone prestazioni della memoria.

7.7 - MEMORIE OTTICHE ASSOCIATIVE Accenniamo brevemente all'utilizzo della tecnologia ottica per costruire me morie associative basate sul modello di Hopfield. Diversi ricercatori hanno gi realizzato memorie associative ottiche . Una memoria associativa ott ica costituita da tre componenti principali. Il primo una matrice bidimensi onale di elementi ottici di commutazione, che cambiano stato in funzione deg li stati degli elementi a cui sono connessi, ogni elemento della matrice p u essere connesso a tutti gli altri mediante fasci di luce. Il secondo un ologr amma che definisce i collegamenti variabili tra i vari elementi. Il terz o elemento un rivelatore dell'immagine in uscita. Il dispositivo compre nde 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 centi metro cubo pu specificare le connessioni tra un milione di elementi ott ici 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 a ssociative utilizzate per il riconoscimento di forme lo schema di conness ione consiste in un ologramma di tutte le immagini da identificare (Vedi fig 7 .2).

FIGURA 7.2 - Modello di memoria ottica associativa

7.8 - CONCLUSIONI Attualmente non si intravede la possibilit di costruire un sistema neurale ada ttabile a qualsiasi problema, cio una rete neurale general-purpose. Per que sto motivo il sistema neurale non inteso a sostituire il calcolat ore 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 insie me di nuove macchine adatte a risolvere problemi particolari, che non so no algoritmicamente esprimibili, oppure sono risolti con difficolt dai comput er. La prospettiva ragionevole dunque quella di vedere in futuro sistemi di calcolo misti, costituiti da computer convenzionali e reti neur ali, giungendo alla realizzazione di sistemi efficienti per qualsiasi compito.

Reti Neurali: modelli e aspetti applicativi

8. - BIBLIOGRAFIA A. Turing, "On computable numbers, with an application to the entscheidungsprobl em", Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936. 2 Robert McNaugthon, "Elementary Computability, Formal Languages and Automata", Prentice Hall International 1982. 3 W.S. McCullock e W. Pitts, "A logical Calculus of the Ideas Immanent in Nervou s Activity", Bullettin of Mathematical Biophysics, Num. 5 1943, pag. 115-133. 4 John Von Neumann, "Primo abbozzo di relazione sull'EDVAC (Electronic Dis crete Variable Computer)", Princeton University 1945. 5 Michael Conrad, "On Design Principles\ for a Molecular Computer", Comm unications of the ACM 1, Vol. 28, Num. 5, Maggio 1985. 6 J.J. Hopfield, "Physics, biological computation, and complementarity", Pr oceedings of Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985. 7 T. J. Sejnowsky, "Neural Network Learning Algorithms", NATO ASI Series, Vol. F41, Springer-Verlag, Berlino 1988. 8 Donald O. Hebb, "The Organization of Behavior", Wiley, New York 1949. 9 Kohonen Teuvo. "An Introduction to Neural Computing", Neural Networks, Vol. 1. 1988, pag 3-16. 10 Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE AS SP Magazine, Aprile 1987, pag 4-22 . 11 J.J.Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982). 12 J.J Hopfield, "Neuron with graded response have collective computational pro perties like two-state neurons", Proc. Natl. Acad Sci. 81, pag. 3088 (1984). 13 S. Kirkpatrick ,C.D. Gelatt, M.P. Vecchi, "Optimization by simulated annealin g", Science Vol. 220, Num. 4598, 13 Maggio 1983, pag 671-680. 14 C. Kittel , "Introduzione alla Fisica dello Stato Solido", Boringhieri 1971, Terza edizione. 15 S.E. Fahlman G.E. Hinton. "Connectionist Architectures for Artificial Intelli gence". IEEE Computer, Gennaio 1987, pag. 100-109. 16 Frank Rosemblatt, "The perceptron, a probabilistic model for information stor age and organization in the brain", Psychological review, 65 pag 386-408. 17 B. Widrow e M. Hoff, "Adaptive switching circuits", Institute of Radio Engin eers, 1960 WESCON Convention, Record Part IV, pag 96-104. 18 D. E. Rumelhart, J. L. McClelland, "Exploration in Parallel Distributed Pro cessing", The MIT Press, Cambridge 1989. 19 D. E: Rumelhart, G. Hinton e R.J. Williams, "Learning representations by back -propagating errors", Nature Vol. 323, 9 ottobre 1986. 20 Luis B. Almeida, "Backpropagation in perceptron with feedback", NATO ASI S eries 1, Vol. F41 Neural Computers Springer-Verlag Berlino 1988.

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. 22 J.J. Hopfield,"Computing with Neural Circuit: A Model",Science,Num.233,1986, pag.625-633. 23 David W. Tank, John J. Hopfield, "Simple 'Neural' Optimization Network s: An A/D Converter, Signal Decision Circuit, and a Linear Programming Circu it", IEEE Transactions on Circuits and Systems, Vol. CAS-33, Num. 5, Maggio 198 6. 24 A.V.Aho, J.E. Hopcrroft e J.D. Ullman, The Design and Analysis of Comp uter Algorithms, Addison-Wesley 1974. 25 Terrence J. Sejnowsky e Charles R. Rosemberg, "NETtalk: a parallel network t hat learns to read aloud", The Johns Hopkins University EECS Technical Report 1 86/01. 26 K. Nakano, "Associatron- A Model of Associative Memory", IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-2, Num. 3, Luglio 1972. 27 J.S. Denker, "Neural network models of learning and adaptation", Phys ica Vol.2D (1986), pag 216-232. 28 Sang-Hoon Oh, Tae-Hoon Yoon e Jae-Chang Kim, "Associative memory model base d on neural networks: modification of Hopfield model", Optics Letters, Vol.13, Num.1, Gen. 1988. 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.

9. - INDICE DELLE FIGURE .End Table C. .Begin Table C. FIGURA 2.1 - Rappresentazione della Macchina di Turing, in alto il dispositi vo A e l'unit di controllo, in basso si ha il nastro coi simboli dell'alfabet o esterno in ingresso, sopra il nastro in grigio e posizionata la tes tina di lettura. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD) FIGURA 2.2a - (a) Neurone formale di Mc Cullock e Pitts (b) Rete di neur oni formali costituente un semiautoma strutturalmente programmabile. (F ONTE 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, q il valore della soglia per la fu nzione di attivazione. Si noti che nella formula semplificata 2.4 i pesi w(i) so no tutti uguali a 1. FIGURA 2.2c - Semplice rappresentazione dell'architettura di Elaboratore Von Neu mann FIGURA 2.3. - Anatomia di un sistema di tre neuroni interagenti. (FON TE NEUROPHYSIOLOGY:A PRIMER WILEY/1966/C.F. STEVENS) FIGURA 2.4 - Grafico rappresentante il numero medio di potenziali d'azio ne nell'unit di tempo in funzione della corrente positiva in ingresso a un n eurone. (FONTE PROCEDINGS OF THE NIELS BOHR CENTENARY SYMPOSIUM 10/85/J.J. HOPFI ELD) FIGURA 2.5 - Processo di creazione di pi proteine da parte di una cellula in c rescita, 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 d i Hopfield, il cui schema mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOP FIELD) 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 funzion amento FIGURA 4.2a - In alto mostrata la funzione di attivazione di una rete continua d i 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 Hopfi eld. FIGURA 4.3 - In alto mostrata la superficie energetica nello spazio delle c oordinate r ed E, in basso si ha la stessa superficie vista dall'al to. (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 f unzione V=g(lu) mostrata per tre valori del parametro l. ((c) Relazione invers a u=g-1 (V) della funzione V=g(lu). (d) Il contributo di g all'energia della re lazione 4.15 in funzione di V. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD) FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltz man FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosembla tt.. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN) FIGURA 5.1b - Perceptrone a singolo strato, che classifica un vettore in ing resso 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) Rappres entazione grafica delle funzioni logiche AND, OR e XOR, e della loro so lubilit 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 mostra ta 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 percept roni a uno, due e tre strati. I nodi utilizzano una funzione di atti vazione hard-limiter non lineare. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P.Lippma nn) FIGURA 5.6 - Matrice bidimensionale di nodi di uscita rappresentante un a 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 l'evoluzione temporale di una rete autoorganizzant e di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann) FIGURA 6.1 - In alto si ha un grafico rappresentante la parola digitale V 3 V2 V1 V0 computata dal convertitore A/D in funzione dell'ingresso analo gico x. In basso si ha lo schema circuitale della rete neurale di Hopfield co rrispondente al convertitore A/D. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIEL D/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 Ho pfield 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. O gni neurone e simbolicamente indicato da un quadrato. La soluzione del probl ema e rappresentata dai quadrati scuri come nella matrice 6.14. Sono indic ate anche le connessioni di due differenti neuroni.(FONTE SCIENCE VOL.33 /HOPFIELD) FIGURA 6.4 - Schema circuitale della rete neurale di Hopfield per un proble ma di programmazione lineare. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986 ) FIGURA 6.5 - In alto schema di un problema di Hitchcock con 4 centri di produzi one e 6 depositi. TABELLA I (A) Matrice di costo per il problema di Hitchco ck (B) Semplice soluzione rappresentante il flusso dalla sorgente X al d eposito Y. TABELLA_II Rappresentazione neurale della matrice di flusso del p roblema di Hitchcock, q neuroni sono utilizzati per rappresentare un elem ento 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 r appresentante 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 inp ara. Si noti che i migliori risultati si hanno con 120 unit nascoste, e che l e performance della rete crescono col numero delle parole imparate. (FONTE SEJ NOWSKY) FIGURA 7.1a - In alto vi l'immagine memorizzatadi una T, sotto le immagini di pa rtenza corrotte da cui si pu risalire all'immagine iniziale in memoria. In basso c'e un esempio di ricostruzione di un'immagine di un volto (c) da un input p arziale (b) realizzato mediante una memoria associativa. L'immagine memor izzata e la (c) FIGURA 7.1b - Raffigurazione di una memoria eteroassociativa, si noti la reppres entazione ortogonale del pattern memorizzato (a) e il richiamo del pattern da un input alterato. FIGURA 7.2 - Modello di memoria ottica associativa

LI A. Turing, "On computable numbers, with an application to the entscheidungsprobl em", Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936. Robert McNaugthon, "Elementary Computability, Formal Languages and Automata", Pr entice Hall International 1982. 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. John Von Neumann, "Primo abbozzo di relazione sull'EDVAC (Electronic Discr ete Variable Computer)", Princeton University 1945. Michael Conrad, "On Design Principles for a Molecular Computer", Commun ications of the ACM 1, Vol. 28, Num. 5, Maggio 1985. J.J. Hopfield, "Physics, biological computation, and complementarity", Proc eedings of Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985. T. J. Sejnowsky, "Neural Network Learning Algorithms", NATO ASI Series, Vol. F4 1, Springer-Verlag, Berlino 1988. Donald O. Hebb, "The Organization of Behavior", Wiley, New York 1949. Kohonen Teuvo. "An Introduction to Neural Computing", Neural Networks, Vo l. 1. 1988, pag 3-16. Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Aprile 1987, pag 4-22 . J.J.Hopfield, "Neural Networks and Physical Systems with Emergent Collective Com putational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982). J.J Hopfield, "Neuron with graded response have collective computational proper ties like two-state neurons", Proc. Natl. Acad Sci. 81, pag. 3088 (1984). S. Kirkpatrick ,C.D. Gelatt, M.P. Vecchi, "Optimization by simulated annealing", Science Vol. 220, Num. 4598, 13 Maggio 1983, pag 671-680. C. Kittel , "Introduzione alla Fisica dello Stato Solido", Boringhieri 1971, Te rza edizione. S.E. Fahlman G.E. Hinton. "Connectionist Architectures for Artificial Intelligen ce". IEEE Computer, Gennaio 1987, pag. 100-109. Frank Rosemblatt, "The perceptron, a probabilistic model for information storage and organization in the brain", Psychological review, 65 pag 386-408. B. Widrow e M. Hoff, "Adaptive switching circuits", Institute of Radio Engineer s, 1960 WESCON Convention, Record Part IV, pag 96-104. D. E. Rumelhart, J. L. McClelland, "Exploration in Parallel Distributed Proces sing", The MIT Press, Cambridge 1989. D. E: Rumelhart, G. Hinton e R.J. Williams, "Learning representations by back-pr opagating errors", Nature Vol. 323, 9 ottobre 1986. Luis B. Almeida, "Backpropagation in perceptron with feedback", NATO ASI Serie s 1, Vol. F41 Neural Computers Springer-Verlag Berlino 1988. Mitsuo Takeda e Joseph W. Goodman, "Neural networks for computation: number re presentations and programming complexity", Applied Optics, Vol. 25, Num. 18, 15 Settembre 1986, pag. 3033-3046. 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. A.V.Aho, J.E. Hopcrroft e J.D. Ullman, The Design and Analysis of Compute r Algorithms, Addison-Wesley 1974. 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. K. Nakano, "Associatron- A Model of Associative Memory", IEEE Transactions on S ystems, Man, and Cybernetics, Vol. SMC-2, Num. 3, Luglio 1972. J.S. Denker, "Neural network models of learning and adaptation", Physica Vol.2D (1986), pag 216-232. 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. J. Jang ed altri, "Optical implementation of the Hopfield model for two di mensional associative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988. 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.