Tesi Reti Neurali Iachetta

115
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

Transcript of Tesi Reti Neurali Iachetta

Page 1: Tesi Reti Neurali Iachetta

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

Page 2: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 2

S O M M A R I O

1. - INTRODUZIONE 5

1.1 - DEFINIZIONE DEL PROBLEMA 5

1.2 - CONTENUTO DEI CAPITOLI SUCCESSIVI 6

2. - COMPUTAZIONE CLASSICA E MODELLI CONNESSIONISTICI 7

2.1- INTRODUZIONE 7

2.2 - ALGORITMI E MACCHINE DI TURING 8

2.3 - I NEURONI FORMALI DI MC CULLOCK E PITTS 11

2.4 - L'ELABORATORE DI VON NEUMANN 13

2.5 - LIMITI DELL'ARCHITETTURA DI VON NEUMANN 15

2.6 - CERVELLO E CALCOLATORI 17

2.7 - SISTEMA NERVOSO, CERVELLO E NEURONI 18

2.8 - NATURA E COMPUTAZIONE 21

3. - MODELLI DI RETI NEURALI 23

3.1 - INTRODUZIONE 23

3.2 - ORIGINE DELLE RETI NEURALI 23

3.3 - ARCHITETTURA ASTRATTA DI UNA RETE NEURALE 26

3.4 - DEFINIZIONE DI RETE NEURALE 32

3.5 - CLASSIFICAZIONE DELLE RETI NEURALI 33

4. - RETI DI HOPFIELD E MACCHINA DI BOLTZMANN 34

4.1- INTRODUZIONE 34

4.2 - MODELLO DISCRETO DELLA RETE DI HOPFIELD 34

4.3 - CONSIDERAZIONI ENERGETICHE SULLA RETE DISCRETA DI HOPFIELD37

4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. DEL

MODELLO DISCRETO DI HOPFIELD 39

4.5 - MODELLO CONTINUO DELLA RETE DI HOPFIELD 42

4.6 - ANNEALING E ANNEALING SIMULATO 49

Page 3: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 3

4.7 - MACCHINA DI BOLTZMANN 52

4.8 - REGOLA DI APPRENDIMENTO PER LA MACCHINA DI BOLTZMANN 54

5. - ALTRI MODELLI: PERCEPTRONI E RETI DI KOHONEN 56

5.1 - INTRODUZIONE 56

5.2 - PERCEPTRONE A SINGOLO STRATO 57

5.3 - LIMITI DEL PERCEPTRONE A SINGOLO STRATO 60

5.4 - PERCEPTRONI MULTISTRATO 63

5.5 - REGOLA DI APPRENDIMENTO BACK-PROPAGATION 65

5.6 - RETI AUTO-ORGANIZZANTI DI KOHONEN 68

6. - APPLICAZIONI DELLE RETI NEURALI 70

6.1 - INTRODUZIONE 70

6.2 - RAPPRESENTAZIONE DEI DATI 71

6.3 - APPLICAZIONE DEL MODELLO CONTINUO DI HOPFIELD 73

6.3.1 - CONVERTITORE ANALOGICO/DIGITALE 73

6.3.2 - SCOMPOSIZIONE DI SEGNALI ANALOGICI 76

6.3.3 - IL PROBLEMA DEL COMMESSO VIAGGIATORE (TSP) 79

6.3.4 - PROGRAMMAZIONE LINEARE 82

6.3.5 - IL PROBLEMA DI HITCHCOCK 84

6.3.6 - SISTEMA DI EQUAZIONI LINEARI 88

6.4 - COMPLESSITÀ' COMPUTAZIONALE DI UNA RETE NEURALE 89

6.5 - APPLICAZIONE DI PERCEPTRONI MULTISTRATO CON REGOLA BACK-

PROPAGATION: RETE NETTALK 91

7. - MEMORIE ASSOCIATIVE BASATE SUL MODELLO DISCRETO DI HOPFIELD

E NUOVI ALGORITMI DI MEMORIZZAZIONE 94

7.1 - INTRODUZIONE 94

7.2 - PROBLEMI ALEATORI E MEMORIE ASSOCIATIVE 95

7.3 - CONSIDERAZIONI SUL MODELLO DISCRETO DI HOPFIELD 97

7.4 - NUOVI ALGORITMI DI MEMORIZZAZIONE 99

7.5 - ALGORITMO DI MEMORIZZAZIONE DI S.H. OH 101

7.6 - SIMULAZIONI AL CALCOLATORE DI MEMORIE ASSOCIATIVE 103

7.6.1 - SIMULAZIONE 1 105

Page 4: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 4

7.6.2 - SIMULAZIONE 2 105

7.6.3 - SIMULAZIONE 3 106

7.6.4 - SIMULAZIONE 4 106

7.6.5 - SIMULAZIONE 5 107

7.7 - MEMORIE OTTICHE ASSOCIATIVE 108

7.8 - CONCLUSIONI 110

8. - BIBLIOGRAFIA 111

9. - INDICE DELLE FIGURE 113

Page 5: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 1 - Introduzione 5

1. - INTRODUZIONE

1.1 - DEFINIZIONE DEL PROBLEMA

Esiste una vasta gamma di problematiche nelle quali i convenzionali computer digitali

ad architettura Von Neumann rivelano i loro limiti . Si tratta di problemi come il

riconoscimento di forme, la comprensione del linguaggio naturale e la

rappresentazione della conoscenza, che sono qualitativamente diversi da quelli

classicamente implementabili nei computer. Ad esempio i problemi posti dal

riconoscimento delle forme costituiscono un sottoinsieme dei problemi detti aleatori.

Anche la classe dei cosiddetti problemi di ottimizzazione combinatoria non si presta ad

una soddisfacente soluzione algoritmica se implementata nei computer tradizionali . Sia

i problemi aleatori, sia quelli di ottimizzazione combinatoria sono caratterizzati da

un altissimo numero di soluzioni, e il solo modo per risolverli è di ridurre

drasticamente tale numero. I metodi di riduzione utili zzati sono noti come metodi

euristici, e non sono applicabili i n 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 macchine ad architettura

parallela, emulanti l 'organizzazione e le funzioni del cervello, che si sono dimostrate

in grado di risolvere sia i problemi aleatori sia quelli di ottimizzazione combinatoria non

alla portata dei computer attuali . Tali macchine sono comunemente chiamate reti o

sistemi neurali . La loro architettura definisce i cosiddetti modelli connessionistici o

modelli di elaborazione parallela distribuita (Parallel Distributed Processing -

P.D.P.). Le reti neurali si basano sull 'idea di realizzare un processo di computazione

attraverso l'interazione di un grande numero di semplici elementi chiamati neuroni.

La novità principale di tali modelli rispetto i computer tradizionali è la non

necessita di programmazione. Quest'ultima viene sostituita dalla possibilit à di impostare

sulla rete neurale una sorta di apprendimento che può essere spontaneo o guidato

attraverso esempi. L'approccio mediante reti neurali consente sia di realizzare

sistemi computazionali che posseggono caratteristiche simili a quelle dei sistemi

Page 6: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 1 - Introduzione 6

biologici, sia di impostare in modo nuovo i problemi fondamentali dell 'intelli genza

artificiale. La teoria delle reti neurali si propone anche di riorganizzare i rapporti

tra lo studio astratto e formale delle funzioni mentali (scienza cognitiva), e quello

concreto del cervello visto come una macchina fisica (neuroscienze).

I segni di un ravvicinamento tra scienza cognitiva e neuroscienze sono giustificati

sia dagli sviluppi tecnologici, che consentono la costruzione dei sistemi neurali ,

sia dai progressi delle ricerche, condotte da fisici, psicologi e neurofisiologi, sullo

studio fisico del cervello . La tesi si propone di fornire un quadro generale degli studi

attuali sulle reti neurali , con particolare riguardo alle applicazioni computazionali e

alla costruzione di memorie associative. Le memorie associative sono dei dispositivi

in grado di recuperare i dati memorizzati mediante la presentazione di copie

incomplete o distorte di questi ultimi . E' facile comprendere che l'argomento delle reti

neurali , interessando svariati campi della ricerca, assume vastissime proporzioni,

pertanto la tesi ha focalizzato i principali modelli di una teoria ancora giovane cercando

di evidenziare le applicazioni a problemi reali.

1.2 - CONTENUTO DEI CAPITOLI SUCCESSIVI

Il lavoro inizia evidenziando l'origine comune tra i primi modelli neurali , la macchina

algoritmica di Turing e l'elaboratore di Von Neumann. Un breve accenno alla struttura

e al funzionamento del cervello, necessario per capire il senso con cui le nuove

macchine di calcolo vi si ispirano, conclude 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 capitolo

si soffermano sulla teoria delle reti di Hopfield, dei perceptroni e delle reti di Kohonen.

Una collezione di applicazioni computazionali delle reti di Hopfield e dei

perceptroni è presentata nel quinto capitolo. Tale capitolo lascia intravedere la vastità

dei possibili orizzonti applicativi. Nel sesto e ultimo capitolo sono raccolte una serie

di simulazioni al calcolatore fatte dall 'autore. Le simulazioni riguardano memorie

associative basate sulle reti di Hopfield e su diverse regole di funzionamento.

Page 7: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 7

2. - COMPUTAZIONE CLASSICA E MODELLI CONNESSIONISTICI

2.1- INTRODUZIONE

L'originale modello di rete di neuroni è elaborato dai matematici Mc Cullock e Pitts

negli anni di sviluppo della prima cibernetica, parallelamente allo studio da parte di Von

Neumann della sua architettura di elaboratore. 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 neuroni formali di Mc Cullock e Pitts.

Successivamente si analizza l'architettura dell 'elaboratore di Von Neumann, che

deriva direttamente da quella della macchina di Turing. In conclusione i limiti

dell 'elaboratore di Von Neumann sono confrontati con le peculiarità del cervello.

Il capitolo, partendo dai fondamenti della teoria matematica della computazione,

arriva a generalizzare un processo di calcolo all ’evoluzione dinamica di sistemi fisici

diversi dai calcolatori e intrinsecamente non programmabili , lasciando intuire la

possibilità di nuove architetture.

Page 8: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 8

2.2 - ALGORITMI E MACCHINE DI TURING

La teoria della computabilit à studia la risolvibilit à algoritmica di un problema.

Un algoritmo è una procedura completamente definita, articolata in un numero finito

di passi, eseguibili meccanicamente in un tempo finito, e corr ispondente a

un'espressione scritta in un determinato linguaggio. I problemi per la cui soluzione

esiste un algoritmo definiscono la classe delle funzioni computabili . Le funzioni

computabili possono essere espresse per mezzo di un tipo di definizione molto generale

detta ricorsiva che sarà definita più avanti. Il problema di definire in maniera rigorosa

la classe delle funzioni computabili porto nel 1930 il matematico Turing1 al progetto di

una macchina di calcolo ideale descritta in figura 2.1.

Gli elementi costituenti la macchina di Turing sono:

1. un unità esterna di memoria o nastro

2. una testina di lettura e scrittura

3. una unità di controllo A a stati finiti.

Per la macchina di Turing è definito un alfabeto esterno di simboli Xi, e un alfabeto

interno di simbolo Qi . Gli ingressi della macchina sono i simboli dell 'alfabeto esterno

X, mentre l'uscita della macchina corrisponde ad un'operazione di scrittura di un simbolo

sull 'unità esterna di memoria oppure ad un movimento della testina sul nastro. Lo

stato interno della macchina è espresso mediante i simboli Qi dell 'alfabeto interno

della macchina. Il funzionamento della macchina consiste nell 'esecuzione di una serie

di passi elementari, in ciascuno dei quali la macchina assume una configurazione totale

determinata dallo stato in cui si trova la macchina, dalla cella in esame dall 'unità di

controllo e dal contenuto di ogni cella della memoria esterna. Si definisce

computazione o calcolo di una macchina di Turing una sequenza di configurazioni totali

che terminano in uno stato di halt Q0. Lo stato di halt non ammette una

configurazione successiva. Il tipo d'algoritmo implementato da una particolare macchina

di Turing è definito dalla tavola funzionale della macchina, che corrisponde al

1 A. Turing, “ On computable numbers, with an application to the entscheidungsproblem”,Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936.

Page 9: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 9

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 qualsiasi macchina di Turing dotata di una qualunque tavola funzionale. La macchina

universale opererà a partire da una configurazione iniziale che prevede la registrazione

su nastro sia della matrice funzionale della macchina da imitare che della configurazione

iniziale di questa. La macchina di Turing universale equivale concettualmente ad un

computer Von Neumann general purpose. La caratteristica della 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 contemporaneamente in memoria. L’universalità della macchina di Turing viene

evidenziata dalla tesi di Church, la quale restringe il concetto di computabilit à a una

classe precisa ma molto generale di funzioni, le funzioni parziali ricorsive.

Una funzione di n-argomenti f(x1 ,x2 ,...,xn ) è detta ricorsiva se è definibile mediante le

equazioni2 :

2.1

Nella 2.1 g e h sono funzioni note, S(x) è la funzione successore definita come: S(x) =

x + 1. La funzione ricorsiva f è detta parziale quando essa non ha un valore definito per

ogni n-upla di argomenti (x1 ,x2 ,...,xn ) ed è quindi definita per un set limitato di

argomenti. Un esempio di definizione ricorsiva di funzione riguarda l'operazione di

addizione, indicando f col simbolo + si ha:

2.2

Nella 2.2 +(x,S(y)) è definito in termini di +(x,y) e della funzione nota successore (h =

S). Anche l'operazione di moltiplicazione può essere definita in tal modo, indicando f

col simbolo * si ha:

2.3

2 Robert McNaugthon, “ Elementary Computabilit y, Formal Languages and Automata”, PrenticeHall International 1982.

Page 10: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 10

Nella 2.3 * (x,S(y)) è definito in termini di * (x,y) e della funzione nota addizione (h = +).

La tesi di Church afferma che qualunque algoritmo scritto con qualsiasi formalismo può

essere calcolato da una macchina di Turing. La formulazione forte di questa tesi dice che

qualsiasi sistema fisico reale può essere simulato da una macchina di Turing, con un

grado di approssimazione arbitrariamente elevato, con l'ipotesi di poter ignorare i limiti

di lunghezza del nastro della macchina e il tempo disponibile per la computazione.

Questa tesi evidentemente non può essere dimostrata, esistono però significativi

argomenti a suo sostegno. Innanzitutto metodi alternativi elaborati per definire la

computabilit à hanno sempre portato a classi di funzioni computabili coincidenti con le

funzioni parziali ricorsive. Per completare il discorso non si può trascurare l'esistenza di

funzioni che non sono parziali ricorsive, per la tesi di Church queste funzioni non sono

Turing-calcolabili , e quindi sono ignorate dalla macchina di Turing. Un altro problema

non risolvibile è quello noto come problema dell 'arresto di una macchina di Turing. Si

consideri una macchina di Turing A con configurazione totale iniziale data da una

tavola funzionale T e da una parola W contenuta nella memoria esterna, non esiste

un'altra macchina di Turing B che con l'input di T e W possa calcolare se la computazione

di T si ferma o cicla.

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

Page 11: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 11

2.3 - I NEURONI FORMALI DI MC CULLOCK E PITTS

Il neurofisiologo Mc Cullock e il matematico Pitts nel 1943 introdussero il concetto di

neurone formale3 che è alla base del loro progetto di rete neuronica. Nel loro modello

il neurone formale assume due possibili stati, uno attivo l'altro inattivo e definisce

una classe di oggetti caratterizzati come segue:

• un numero r finito di ingressi ciascuno suscettibile di assumere i valori 0 o 1;

• un'unica uscita i cui valori possibili sono 0 o 1;

• un valore di soglia s intero positivo;

• una regola di funzionamento espressa da:

2.4

Mediante i neuroni formali si può costruire una macchina detta semiautoma con un

numero finito r di input x e un numero finito s di stati q della macchina.

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 istruzione molto semplice,

espressa nella forma generale q x q , la cui esecuzione consiste nel connettere tutti i

neuroni della i-esima colonna col j-esimo neurone della k-esima colonna. Da notare che

la rete di neuroni formali definita e caratterizzata da connessioni precostituite, senza

alcuna possibilit à di modifica successiva. Mc Cullock e Pitts dimostrarono che, per

ogni funzione computabile da una macchina di Turing, esiste un semiautoma di

neuroni formali in grado di calcolare la stessa funzione. Da quanto detto segue che il

modello di Turing e il semiautoma composto da neuroni formali sono dal punto di vista

computazionale equivalenti. Le capacità di calcolo del modello dipendono non tanto

dalle caratteristiche dei singoli neuroni quanto dal modo in cui sono connessi.

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

Page 12: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 12

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

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

Page 13: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 13

2.4 - L'ELABORATORE DI VON NEUMANN

I moderni computer digitali sono quasi tutti basati su un'architettura definita nel 1945

dal matematico John Von Neumann nel progetto dell 'elaboratore EDVAC4

L'elaboratore di Von Neumann è costituito da due organi di base, il processore e la

memoria centrale (vedi figura 2.2c). Le operazioni di tutti i computer convenzionali

possono essere modellate nell’esecuzione del ciclo seguente:

1. preleva un istruzione dalla memoria

2. preleva i dati richiesti da tale istruzione dalla memoria

3. esegui l’istruzione

4. memorizza i risultati in memoria

5. vai al punto 1

FIGURA 2.2c - Semplice rappresentazione dell’architettura di Elaboratore Von Neumann

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

Page 14: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 14

L’elaboratore di Von Neumann è una macchina di calcolo equivalente a quella di Turing,

ed è caratterizzata come segue5 :

• Linguaggi di programmazione. Tali li nguaggi sono utili zzati per esprimere gli

algoritmi e sono costituiti da statement che si ottengono applicando un insieme finito

di regole di composizione a un numero finito di simboli base.

• Programmabilit à. Si intende in tal modo la possibilit à concreta di comunicare

all 'elaboratore il programma scritto alla macchina. Dal punto di vista dell 'utente tale

processo di comunicazione può essere mediato da un compilatore.

• Universalità. Essendo equivalente a una macchina di Turing, un calcolatore Von

Neumann può calcolare qualsiasi funzione computabile e quindi, per la tesi di

Church, simulare qualsiasi sistema fisico.

• Sequenzialità. Un computer di Von Neumann ha un architettura sequenziale, esegue

infatti una singola operazione elementare alla volta.

• Ineff icienza. I computer di Von Neumann utili zzano in modo non ottimizzato le

risorse di spazio, tempo ed energia. Il processore, a causa della sequenzialità con

cui esegue le istruzioni, è inattivo per la maggior parte del tempo.

• Programmabilit à strutturale. Per spiegare questa caratteristica ci si deve riferire

alla definizione di semiautoma vista in precedenza. Un calcolatore di Von Neumann

si dice strutturalmente programmabile perché si può dimostrare che

sostanzialmente è un semiautoma, cioè il calcolatore può essere rappresentato come

un insieme di switch o elementi capaci di eseguire una operazione logica semplice.

La definizione di programmabilit à strutturale è legata alla tesi forte di Church, e

stabili sce che una macchina strutturalmente programmabile è capace di simulare

qualsiasi sistema fisico a condizione che le risorse di tempo e di spazio riservate alla

computazione siano illi mitate. Inoltre gli algoritmi, espressi in un calcolatore digitale

in simboli primitivi di un linguaggio di alto li vello, possono essere espressi

direttamente in termini di primitive computazionali di switching, che

corr ispondono alla programmazione di una rete di neuroni formali . La

programmabilit à strutturale sarà utile per analizzare i limiti generali

dell'architettura di Von Neumann.

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

Page 15: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 15

La formulazione forte della tesi di Church, valida anche per gli elaboratori di Von

Neumann, suggerisce un legame tra i modelli formali di computazione e i processi

dinamici simulabili su un calcolatore. Pensare a un sistema fisico come realizzazione di

una computazione significa :

1. identifi care gli argomenti o input della funzione computabile considerata con i

parametri di descrizione di un certo stato del sistema.

2. considerare i parametri di descrizione di un successivo stato del sistema il

risultato della computazione cioè l'output.

L'elaboratore di Von Neumann è una realizzazione fisica di un sistema formale che esegue

semplici operazioni su stringhe di simboli . Si dice che un computer simula un sistema

fisico, mediante le primitive computazionali sopra definite, se gli stati del computer

possono essere associati agli stati del sistema con un alto grado di approssimazione,

non è necessario comunque che ogni stato della macchina corrisponda a uno stato del

sistema. Si è visto che un sistema fisico è simulabile con l'elaboratore Von

Neumann, tuttavia molti fenomeni computazionali osservati in natura fanno ritenere

che è possibile definire delle macchine di calcolo che incorporano il processo fisico

stesso come primitiva computazionale. In tal caso si perde sia il carattere discreto

delle primitive computazionali , sia la possibilit à di comunicare queste ultime sotto forma

di algoritmo alla macchina.

2.5 - LIMITI DELL'ARCHITETTURA DI VON NEUMANN

L'architettura dell 'elaboratore di Von Neumann presenta dei limiti di applicabilit à e di

capacità di calcolo che non potranno essere superati dal solo progresso tecnologico,

ossia dal miglioramento delle prestazioni dei processori e delle memorie. Tali limiti sono

intrinseci al disegno stesso dell'elaboratore di Von Neumann, e sono di seguito esaminati:

• Irr eversibilit à 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 è possibile,

Page 16: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 16

esaminando le uscite della tabella, risalire agli ingressi che le 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 sistema. 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) kT/q = 0.025 Volt. Le operazioni

logiche in un computer digitale devono avvenire con potenziali maggiori di 0.025

Volt. In definitiva si osserva che il valore alto di kT/q richiede un'alta dissipazione

di potenza che caratterizza come processi irreversibili l e operazioni logiche

fondamentali di un computer digitale di Von Neumann.

• Lentezza operativa. Un risultato del modo di operare seriale dell 'architettura di

Von Neumann è il cosiddetto " collo di bottiglia di Von Neumann" . Esso è

originato dalla lentezza con cui il processore accede alla memoria.

Il trasferimento di dati e istruzioni dalla memoria al processore, prima che

quest'ultimo cominci il suo lavoro computazionale, comporta un intervallo di tempo

in cui il processore è inattivo. Alla fine della computazione il trasferimento dei

risultati alla memoria origina un altro periodo di inattività del processore.

Alle ineff icienze elencate si aggiunge un generale limite connesso alla

programmazione strutturale, infatti una macchina di calcolo reale non dispone di

risorse di tempo e di spazio illimit ate come richiesto dalla tesi forte di Church per

macchine strutturalmente programmabili . Costruire una macchina strutturalmente

programmabile significa essenzialmente convogliare lungo canali precisi il fenomeno

utili zzato per ottenere la realizzazione fisica della computazione. Controllare un

fenomeno fisico significa ridurre il numero di gradi di libertà, e quindi di

interazioni, del fenomeno stesso, riducendo in tal modo anche le risorse della

computazione.

Page 17: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 17

2.6 - CERVELLO E CALCOLATORI

Si esamineranno brevemente alcune differenze fondamentali tra il cervello e le architetture

delle macchine di calcolo viste prima. Il cervello umano è costituito da una rete di

moltissimi neuroni (1011 ÷ 1012 ) collegati tra loro da un numero elevato di connessioni

dette sinapsi (103 ÷ 104 sinapsi per ogni neurone). In totale il numero di sinapsi del

cervello varia da circa 1014 a 1016 . Ogni sinapsi può essere inibitoria o eccitatoria per

cui il numero delle configurazioni possibili è uguale a 2 elevato al numero totale di

neuroni nel cervello è:

Si pensa che questo altissimo numero di configurazioni sia responsabile delle

eccezionali prestazioni del cervello. Benché moltissimi processi cerebrali non siano

ancora noti o perfettamente compresi è noto che l'apprendimento e la memoria a lungo

termine si attuano con la formazione di nuove sinapsi. Sono elencate di seguito alcune

peculiarità del cervello:

• Parallelismo e lentezza dei neuroni. Studi non tanto recenti hanno mostrato che

il cervello elabora le informazioni in modalità parallela, questa affermazione nasce

da semplici considerazioni. Un'operazione base viene effettuata da un neurone in

tempi dell ' ordine di decine di milli secondi, mentre il cervello è in grado di risolvere

complicatissimi problemi di visione e linguaggio in circa 500 ms. Tenendo conto dei

tempi di ritardo di propagazione del segnale tra neuroni, si può dire che il l avoro

computazionale del cervello è fatto in meno di 100 passi, e consiste nell 'esecuzione in

parallelo da parte di neuroni di operazioni base molto semplici.

• Bassa dissipazione termica. L'energia termica dissipata da un neurone in una

elementare operazione di calcolo è circa 3 x 10-3 erg che in confronto ai 3 x 10-14 erg

dissipati in una porta logica di un computer convenzionale è 11 ordini di grandezza

superiore. L'intero cervello dissipa meno di 100 Watt.

• Elementi base di natura analogica. I neuroni sono degli elementi che operano in

maniera analogica. Essi operano su un ingresso sinaptico e generano un uscita a

valori continui.

Page 18: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 18

• Alta ridondanza. Tale proprietà permette al cervello di essere un sistema

estremamente flessibile a superare disastri locali nella sua struttura senza perdita

significativa di prestazioni. Molti neuroni muoiono ogni giorno e il cervello continua

ad operare.

E' interessante paragonare il modello di cervello visto con le specifiche di un calcolatore

elettronico: un supercomputer moderno è dotato di almeno 1000 megabyte di memoria

centrale, che corrispondono al massimo a 1010 transistor, e usa meno di 108 transistor in

funzioni logiche. Un processore compie un operazione logica base in un ciclo di circa

10-9 secondi. La potenza dissipata dal computer è dell 'ordine di 105 Watt. In un computer

la tolleranza ai malfunzionamenti locali è un fattore estremamente criti co, 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 sili cio hanno uno

schema di connessioni piano, anche se recentemente sono stati costruiti chip di sili cio

con schema di connessioni tridimensionale. Si può concludere osservando che i

componenti base del cervello sono molto più numerosi, più connessi e più lenti dei

componenti di un computer.

2.7 - SISTEMA NERVOSO, CERVELLO E NEURONI

Sono qui sintetizzati alcuni concetti fondamentali sul sistema nervoso e sulla struttura

del cervello. Il sistema nervoso si divide in due parti principali: periferico e

centrale. Il primo svolge funzioni di interfaccia tra il sistema nervoso centrale e

l'ambiente esterno. I segnali trattati comprendono gli i ngressi sensoriali , le uscite si

manifestano con stimoli motori, dolori, immagini visive, percezioni varie.

Il sistema nervoso centrale è 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 mostrata in

figura 2.3. Un neurone è una cellula dotata di corpo cellulare dal quale si dipartono

molte brevi ramificazioni di ingresso (dendriti ) e una sola lunga ramificazione di

uscita (assone). I neuroni comunicano tra loro mediante impulsi particolari detti

Page 19: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 19

spike, generati da processi elettrochimici. In condizione di riposo esiste una differenza

di potenziale di circa -70 ÷ -90 milli Volt 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 i oni di sodio. Questi ioni si riversano all 'interno

della cellula dove la loro concentrazione è minore, causando una corrente elettrica.

Contemporaneamente la differenza di potenziale tra l'interno e l'esterno della membrana

cambia di segno e diventa circa +40 ÷ +50 mV. Dopo il passaggio degli i oni sodio si

apre in canale analogo anche per gli i oni potassio che ristabili sce la situazione di

concentrazioni e potenziali precedente. La rapidissima inversione del potenziale di

membrana origina lo spike o potenziale d'azione e costituisce il messaggio trasportato

lungo l'assone. Il li vello di tensione a cui la membrana da origine allo spike è detto

soglia di eccitazione. Lo spike si propaga, quasi senza attenuazione, lungo l'assone

liberando energie locali . Sulla sinapsi lo spike provoca l'emissione di particolari

sostanze dette neurotrasmettitori, i quali raggiungono i dendriti del neurone successivo

e provocano una variazione della permeabilit à della membrana, consentendo la

trasmissione del segnale tra i neuroni connessi. In generale un singolo potenziale

d'azione che raggiunge una sinapsi non è suff iciente a generare la produzione di altri

potenziali d'azione nel prossimo neurone. L'effetto additivo di più potenziali d'azione sui

dendriti del neurone postsinaptico e capace di superare la soglia di eccitazione del

neurone, generando un potenziale d'azione. Il numero medio di potenziali d'azione

nell 'unità di tempo in funzione della corrente positiva in ingresso a un neurone è

rappresentato in figura 2.4. Questa funzione ha la forma di una sigmoide che va da 0 per

correnti negative fino a un li vello massimo di saturazione di 100 ÷ 1000 spike per

secondo per correnti positive molto alte.

Page 20: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 20

FIGURA 2.3. - Anatomia di un sistema di tre neuroni interagenti. (FONTENEUROPHYSIOLOGY:A PRIMER WILEY/1966/C.F. STEVENS)

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

Page 21: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 21

2.8 - NATURA E COMPUTAZIONE

In natura esistono fenomeni di trattamento delle informazioni diversi da quelli utili zzati

nella costruzione dei calcolatori digitali a tecnologia elettronica.6 Nella genetica

molecolare si realizzano veri meccanismi di computazione, nei quali l a computazione

è definita da tre elementi concettuali: un ingresso, un'uscita e una unità di calcolo.

La traduzione del DNA nella struttura di una proteina, la costruzione di un

complesso organismo dalle istruzioni del DNA sono esempi di computazione biologica.

Il processo di creazione di più proteine da parte di una cellula in crescita è analogo

alla computazione di una macchina di Turing (vedi figura 2.5). In questo processo

l'informazione memorizzata nell 'RNA messaggero (mRNA) è utili zzata come

istruzione per costruire la proteina. Il nastro con l'alfabeto esterno in ingresso è

costituito dall 'mRNA, l'uscita finale è la proteina che consiste in un polimero di amino-

acidi con struttura tridimensionale. L'mRNA è un polimero costituito da quattro tipi di

unità A, U, G e C. La proteina è un polimero fatto da venti tipi diversi di aminoacidi,

glicina, alanina, tirosina,...etc. La sintesi della proteina è fatta da un composto

polimolecolare, formato da proteine e RNA detto ribosoma, che può essere visto come

l'unità di controllo della macchina di Turing del processo. Il ribosoma legge l'input

dell 'mRNA (nastro di ingresso) e inserisce sequenzialmente il corrispondente

amminoacido nella proteina. Le operazioni logiche descritte sono fatte da particolari

reazioni chimiche della cui logica non è noto quasi nulla. Le operazioni logiche fatte

sono descritte dalla sequenza:

1. Leggi le prossime tre celle dall'nRNA tape

2. Cerca l'aminoacido corrispondente nel dizionario genetico

3. Aggiungi l'aminoacido alla proteina

4. Muovi l'input tape di tre celle

Il programma contiene anche una possibile istruzione di stop nel dizionario genetico.

La computazione biologica è molto poco accurata rispetto quella digitale. La proteina

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

Page 22: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 22

formata dal processo esaminato risulta esatta in quasi tutti i casi con un livello di errore

di circa 1/3000. Questo li vello di errori nel produrre l'output è certamente molto alto nel

caso di computazioni digitali , mentre è accettabile per computazioni biologiche.

Le osservazioni fatte in relazione alla computazione biologica permettono di affermare

che è possibile definire i principi costruttivi di nuove macchine di calcolo capaci di

superare i limiti degli elaboratori di Von Neumann, basate su fenomeni fisici diversi da

quelli attualmente utili zzati, con particolare riguardo alla imitazione di strutture

biologiche o fenomeni microbiologici. Più avanti si approfondirà lo studio di macchine di

calcolo basate sulla imitazione strutturale di entità biologiche come il cervello umano.

Queste macchine sono chiamate reti o sistemi neurali , mentre la loro architettura

definisce i cosiddetti modelli connessionistici. Gli algoritmi su cui si basa l'intelli genza

animale sono implementati nel cervello. Utili zzando questo particolare hardware il

cervello raggiunge le altissime prestazioni che si conoscono. L'idea base dei sostenitori

dei sistemi neurali è che la specializzazione della nostra intelli genza sia una peculiarità

dei sistemi biologici ad altissimo grado di connessione. La semplicità dei neuroni e

delle sinapsi e la loro universalità biologica fa supporre che imitando tali componenti

sia possibile costruire sistemi artificiali di analoghe prestazioni.

FIGURA 2.5 - Processo di creazione di più proteine da parte di una cellula in crescita, analogoalla computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidicostituenti la proteina.

Page 23: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 23

3. - MODELLI DI RETI NEURALI

3.1 - INTRODUZIONE

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

vengono definiti i principi e gli elementi che caratterizzano un sistema neurale,

distinguendoli nettamente da quelli alla base di un computer digitale ad architettura Von

Neumann. Nell 'ultimo paragrafo sono elencati i principali modelli che verranno

utilizzati nelle applicazioni dei capitoli successivi.

3.2 - ORIGINE DELLE RETI NEURALI

Lo studio delle reti neurali risale ai primi tentativi di tradurre in modelli matematici i

principi dell 'elaborazione biologica. Le più antiche teorie del cervello e dei processi

mentali sono state concepite dai filosofi Greci Platone (427-347 A.C) e Aristotele

(384-322 A.C). Queste teorie furono riprese molto più tardi da Cartesio (1586-1650) e

nel XVIII secolo dai filosofi empiristi. Le prime realizzazioni di macchine cibernetiche,

categoria alla quale appartengono i sistemi neurali , appaiono negli anni quaranta col

nascere di una scienza nuova, la cibernetica. La cibernetica è definita come scienza che

studia i processi intelli genti e fu fondata da Norbert Wiener nel 1947. Ross Ashby, un

altro padre della cibernetica, costruisce nel 1948 l'omeostato uno dei primi sistemi con

connessioni interne regolabili , capace quindi di variare la sua configurazione interna

adattandola a stimoli esterni. Il neurofisiologo W.S. MC Cullock e il matematico W.A.

Pitts (1943) di Chicago sono stati i primi a formulare l'approccio cibernetico

fondamentale alla struttura del cervello elaborando il primo modello di rete neurale.

John Von Neumann, dopo aver formulato l'architettura base dei moderni calcolatori,

comincia nel 1948 lo studio delle reti di automi cellulari precursori di nuovi modelli

computazionali . Nel 1949 il neurofisiologo Donald Hebb, dagli studi sul processo di

apprendimento dei neuroni, dedusse la prima regola di apprendimento applicata nelle

reti neurali . Contemporaneamente gli studi di Lashley sulla mente umana indicavano

che l'organizzazione della conoscenza e la memoria si basava su rappresentazioni

distribuite. Nei primi anni sessanta si costruiscono le prime macchine in grado di

presentare primitive forme di apprendimento spontaneo e guidato, sono il Perceptron

Page 24: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 24

di Frank Rosemblatt della Cornell University e l'Adaline (Adaptive linear element) di

Bernard Windrow di Stanford. Il Perceptron è una rete neurale costituita da

dispositivi logici in grado di risolvere semplici problemi di riconoscimento di

forme. Esso rappresento un prototipo delle strutture che vennero elaborate più

avanti. Anche in Italia si sviluppano iniziative particolarmente importanti. Eduardo

Caianello, dell ’Università di Napoli , sviluppa la sua teoria sui processi e le

macchine pensanti sulla base delle idee di Mc Cullock, Pitts e Hebb. A Genova viene

realizzata da Augusto Gamba una macchina derivata dal Perceptron. Nel 1969 Marvin

Minsky e Seymour Papert, del Massachusetts Institute of Technology, pubblicano

un'analisi molto criti ca delle macchine tipo il Perceptron . Essi dimostrarono

matematicamente le limitazioni delle reti neurali nel risolvere problemi quali la

determinazione della parità di un numero binario, il calcolo di una funzione XOR di 2

bit o la classificazione delle immagini in base alla loro connettività. Questi

problemi potevano essere risolti solo da reti neurali omniconnesse in cui ogni

neurone è connesso con tutti gli altri neuroni della rete, in una simile rete il numero

delle connessioni crescerebbe esponenzialmente 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'Intelli genza Artificiale (A.I .) classica basata su computer tradizionali . In seguito alle

tesi di Minsky il campo delle reti neurali fu abbandonato dalla maggior parte degli

studiosi, i quali si rivolsero al campo dell 'A.I. apparentemente più promettente. Secondo

chi scrive comunque, questo cambiamento di interessi fu causato anche dal fatto che la

tecnologia allora disponibile rendeva molto diff icoltosa o addirittura impossibile la

sperimentazione nel campo delle reti neurali , ne vi erano computer abbastanza veloci

per simulare reti neurali complesse. Negli anni sessanta e settanta la ricerca

continuo con contributi teorici e poche applicazioni. Alcuni ricercatori come

Shunichi Amari, Kunihiko Fukushima e Shephen Grossberg tentarono di simulare

il comportamento di neuroni cerebrali con reti di unità di calcolo operanti in modalità

parallela. Inoltre formularono teorie matematiche ed architetture per individuare e

classificare i tratti caratteristici delle forme da riconoscere e per costruire le prime

memorie associative. In queste ultime vengono utili zzate informazioni parziali come

chiavi per recuperare dati memorizzati.

Page 25: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 25

L'interesse sviluppatosi nei primi anni 80 per i modelli neurali è sicuramente dovuto a

diversi fattori, che sono elencati di seguito:

• i progressi compiuti nella comprensione di alcuni fenomeni computazionali biologici,

la disponibilità di potenti computer in grado di simulare i nuovi modelli neurali.

• lo sviluppo di tecnologie VLSI e ottiche che si prestano alla costruzione di circuiti di

tipo neuronico.

• la determinazione dei limiti dell 'A.I., i quali sono strettamente legati ai limiti dei

computer seriali di Von Neumann.

John Hopfield del Cali fornia Institute of Technology propone nel 1982 un modello

computazionale basato su concetti energetici e pertanto applicabile in svariati campi.

Questo nuovo modello permise di studiare il comportamento globale di reti molto più

complesse dei perceptron, non analizzabili con metodi classici. In particolare era

possibile studiare reti con neuroni nascosti. Con questo risultato termina la

"preistoria" dello studio delle reti neurali e inizia la cronaca di un settore in rapida

evoluzione. Nel 1987 la CEE promuove il progetto BRAIN (Basic research in

adaptive intelli gence and neurocomputing), inoltre si tiene a S.Diego la prima

conferenza internazionale sulle reti neurali con 2000 partecipanti provenienti sia dalle

università sia dall 'industria. Alla luce dei risultati ottenuti, Minsky e Papert rivedono

le loro criti che 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.

Page 26: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 26

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 disposto in una

architettura a rete . L'elemento accetta dei segnali in ingresso, li elabora secondo

determinate regole, e sulla base di questi segnali , del proprio stato interno e degli stati

precedenti calcola un segnale in uscita V i , che viene inviato alle unità a cui esso risulta

connesso. Il modo in cui avviene tale processo nella rete è parallelo, nel senso che

molte unità lavorano simultaneamente. In generale l'ingresso di un neurone i è

rappresentato dalla sommatoria di tutte le uscite V j dei neuroni j ai quali è connesso:

3.1

Tij è l’ intensità della connessione, e si esaminerà più avanti. Le unità risultano divise

in tre categorie: unità di ingresso, unità di uscita e unità nascoste. Le prime

ricevono ingressi da sorgenti esterne al sistema, le unità di uscita inviano segnali

all 'esterno del sistema mentre le unità nascoste sono collegate solo con input e output

interni. L'unità base può essere identificata 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 emulazione sempli ficata delle funzioni del neurone biologico. I vari

modelli di neuroni elaborati si distinguono generalmente per il ti po di risposta che

essi presentano a uno stimolo in ingresso. In questa differenziazione i modelli di

Page 27: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 27

neurone rispecchiano i diversi tipi di neurone biologico.

- Stato dell' unità. Ad ogni unità è associato un valore numerico detto stato dell 'unità

che generalmente viene fatto corrispondere al valore della variabile in uscita V (t). Per

N unità lo stato V i(t) è un vettore di N componenti in cui ciascuna componente

rappresenta l'attivazione di un'unità. I valori dello stato possono essere continui o

discreti. Lo stato della rete di neuroni al tempo t è descritto dall 'insieme di variabili che

descrivono lo stato delle unità semplici.

- Attività della rete. L'attività della rete è il numero di neuroni attivi al tempo t:

3.2

- Insiemi di connessioni. Le unità sono interconnesse. In generale l'ingresso di un

unità è determinato dalla somma pesata delle uscite a cui essa risulta connessa.

L’ intensità della connessione tra due unità è data dal generico peso Tij. Il peso Tij è

positivo se l'unità j esercita un'azione eccitatrice sull 'unità i ed è negativo in caso contrario.

E' possibile associare ad un sistema di interconnessioni una matrice di pesi T nella quale

il generico elemento Tij specifica l’ intensità della connessione tra l'unità j e l'unità i.

L'insieme dei pesi delle connessioni determina come il modello risponderà ad un ingresso

arbitrario e di conseguenza costituisce la "conoscenza o memoria del sistema". Con una

terminologia più vicina ai sistemi biologici l ’ intensità della connessione tra due unità

neuroniche è detta sinapsi.

FIGURA 3.1a -Rappresentazionegrafica dellafunzione diattivazione V(t+1),che dipende dall ’ingresso delneurone Ui e dallostato Vi al tempo t.

Page 28: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 28

- Funzione di att ivazione. 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 i ngressi attuali un nuovo stato di

attivazione. La Fi [ ] , nei casi più semplici, è la funzione identità, cioè lo stato V i

dell 'unità coincide con l'ingresso totale U , e la funzione Fi [ ] risulta lineare. In altri casi

Fi [ ] è una funzione a soglia per cui l 'ingresso totale deve superare un determinato valore

per contribuire al nuovo stato dell 'unità. Alcune forme caratteristiche della funzione

di attivazione sono visualizzate nella figura 3.1b . Si notino le tre forme base non lineari

di Fi [ ] : hard limiter, threshold logic e sigmoide. Un'altra caratteristica importante

delle funzioni di attivazione è il loro carattere che può essere deterministico

(stocastico) o non deterministico. Nel primo caso, un neurone cambia sempre il suo stato

se l'input eccede una certa soglia. La dinamica della rete è in questo caso definita

markoviana, cioè lo stato della rete al tempo t+τ dipende solamente dallo stato della rete

al tempo t, e non dagli altri stati precedenti. Nel secondo caso la funzione di attivazione

è probabili stica (macchina di Boltzmann), per cui anche se l'input supera il valore della

soglia, non è detto che il neurone cambi stato.

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

Page 29: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 29

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

codificata 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 modelli di reti. I meccanismi di

apprendimento possono essere con supervisione (guidati) o senza (spontanei)7 .

Nei primi un supervisore fornisce alla rete degli i ngressi e confronta la risposta della rete

con quella corretta nota a priori. In base a questo confronto vengono stabilit e le

modalità di modifica dei pesi di interconnessione. L'apprendimento guidato

consente alla rete di imparare tramite i molti esempi forniti dal supervisore, in una

modalità che ricorda l'apprendimento umano. La regola di apprendimento spontanea più

semplice è quella definito da Hebb8 , la cui idea base Hebb è di aumentare il peso T se

l'unità i-esima riceve in ingresso l'uscita dell 'unità j-esima e le due unità sono

contemporaneamente attive. La regola di Hebb è espressa come segue:

3.4

Le altre regole di apprendimento spontanee sono delle evoluzioni di quella di Hebb

oppure si basano su altri principi. Un'altra fondamentale regole di apprendimento è la

regola back-propagation utili zzata universalmente in quasi tutte le reti di neuroni che

incorporano livelli "nascosti".

- Topologia. Fissate le caratteristiche delle singole unità si analizza adesso il modo in cui

tali unità sono connesse tra loro cioè la topologia della rete neurale. Alcuni esempi di

topologie di reti neurali sono rappresentate in figura 3.2. In alcuni modelli l e

connessioni seguono schemi predeterminati, in altri schemi casuali . Molti modelli

vengono organizzati in più li velli di unità, oppure in diversi strati di connessioni tra

unità. Analizzando una rete a più li velli bisogna distinguere tra li velli "visibili ",

costituiti da unità di ingresso o uscita, e li velli "nascosti". Analizzando le

connessioni tra le unità si possono distinguere modelli feedforward, nei quali

esistono connessioni solo tra le uscite e gli ingressi di unità di li velli successivi, e

modelli con meccanismi di retroazione detti anche modelli feedback (reti di Hopfield).

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.

Page 30: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 30

In questi ultimi modelli si possono avere connessioni tra le uscite di unità di un livello e

le entrate di unità di un li vello precedente, inoltre, come si vede in figura 3.2, il ti po

di feedback può essere ordinato o amorfo. Nei modelli gating le uscite delle unità

agiscono sui pesi delle connessioni. Altre distinzioni si possono fare riguardo la

connettività laterale, cioè le connessioni di elementi dello stesso strato. Nel tipo

cooperativo-competitivo ogni elemento è connesso ai suoi vicini mediante connessioni

alternativamente eccitatorie e inibitorie, nel tipo " on-center/off -surr ound" le

connessioni laterali sono tutte inibitorie, nel tipo a campo ricettivo (reti di Kohonen)

ogni ingresso ha una determinata distribuzione sull 'intero li vello e la connessione

laterale può essere di qualunque tipo.

- Rappresentazione dei dati. Nei sistemi neurali i dati in ingresso sono rappresentati

definendo lo stato di un particolare insieme di unità di ingresso. Ogni dato complesso

viene rappresentato da un insieme di elementi subsimbolici e non dalla modifica arbitraria

di un simbolo. Ad esempio le unità di ingresso possono rappresentare la presenza di

una lettera in una determinata posizione in una parola, oppure lo stato di un ricettore

immaginario su una retina artificiale. La scelta dello schema rappresentativo dei dati

contribuisce a determinare la potenza computazionale del sistema. Analogamente

l'uscita di una rete neurale viene definita dallo stato di un insieme predeterminato di

unità. In molti modelli l o stato delle singole unità di uscita rappresenta la verità o falsità

di una determinata proposizione.

Page 31: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 31

FIGURA 3.2 - Tipi generali di architetture di reti neurali

Page 32: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 32

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 i n modo simile alle strutture

neurali biologiche.

Le differenze tra una rete neurale e un computer digitale convenzionale sono state

adeguatamente sintetizzate dal fisico Kohohen9 :

• I principi della logica digitale non sono applicabili a un sistema neurale. I neuroni

non possono essere circuiti l ogici a soglia, perché ogni neurone ha migliaia di input

variabili e la stessa soglia e dipendente dal tempo. L'accuratezza e la stabilit a di un

circuito normale non è sufficiente a definire una variabile booleana. Inoltre i processi

collettivi, che sono di fondamentale importanza nel calcolo neurale, non sono

implementabili mediante semplici circuiti logici.

• I neuroni e le sinapsi non sono elementi di memoria bistabili come dei fli p-flop.

I neuroni sembrano comportarsi come dei sistemi integratori analogici di natura non

lineare, le sinapsi sono delle connessioni la cui efficacia varia gradualmente.

• Una rete neurale non ha istruzioni o codici di controllo che regolano lo stato

funzionale del sistema.

• Lo schema di interconnessione di un sistema neurale non permette il calcolo

ricorsivo, per cui è impossibile implementare algoritmi di calcolo.

9 Kohonen Teuvo. “ An Introduction to Neural Computing”, Neural Networks, Vol. 1. 1988,pag 3-16.

Page 33: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 33

3.5 - CLASSIFICAZIONE DELLE RETI NEURALI

Sebbene le reti neurali siano in rapida evoluzione è possibile fare una classificazione

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

deterministica. Nei modelli deterministici e stocastici l 'evolversi della dinamica del

sistema è spesso prevedibile a lungo termine (reti di Hopfield). Nei modelli non

deterministici, che simulano più da vicino i sistemi biologici, si ha una funzione

d'attivazione probabili stica (Macchina di Boltzmann). La simmetricità della matrice delle

connessioni origina una ulteriore suddivisione in reti simmetriche che sono

tipicamente le reti di Hopfield, e asimmetriche come i perceptroni. Si formano a questo

livello diverse famiglie di reti neurali .10 Nel presente lavoro saranno esaminati i

seguenti modelli:

• Reti di Hopfield discrete e continue

• Macchina di Boltzmann

• Perceptrone e Perceptrone multistrato

• Reti auto-organizzanti di Kohonen

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

Page 34: Tesi Reti Neurali Iachetta

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

4. - RETI DI HOPFIELD E MACCHINA DI BOLTZMANN

4.1- INTRODUZIONE

Si esamineranno in questo capitolo le reti neurali simmetriche di Hopfield11 e la

macchina di Boltzmann. Queste reti, come si vedrà nel prossimo capitolo, sono

particolarmente adatte alla risoluzione di problemi di ottimizzazione combinatoria ad

altissimo numero di soluzioni, oppure alla implementazione di memorie associative.

Si comincerà con l'originale modello discreto di Hopfield del 1982 basato su unità con

ingressi binari e prototipo di successivi modelli . Una evoluzione del modello discreto di

Hopfield è il modello continuo, proposto dallo stesso Hopfield nel 1984 capace di ottime

prestazione nella risoluzione di problemi particolarmente complessi. In tale modello i

neuroni sono realizzati fisicamente da dispositivi elettronici analogici. La macchina di

Boltzmann, esaminata successivamente, permette al contrario dei modelli 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 semplici

unità di calcolo detti neuroni reciprocamente interconnessi (vedi Fig. 4.1). Ogni

neurone può assumere due stati interni descritti dalla variabile V :

4.1

Lo stato del neurone coincide col valore in uscita dell 'unità stessa. Lo stato del sistema a

un dato istante è definito dall 'insieme degli N valori della variabile di stato Vi per cui può

essere rappresentato da un vettore di stato di N bit, V = [V1 , V2 , ... ,VN]. L'ingresso di

ciascun neurone è espresso nella forma seguente:

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

Page 35: Tesi Reti Neurali Iachetta

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

4.2

In tale relazione N è il numero dei neuroni, Tij è un elemento di una matrice di

interconnessione T rappresentante l'intensità di connessione tra il neurone i e j, Vj

esprime l'uscita del neurone j, mentre I i è un ingresso esterno che viene fornito al

neurone i. Gli interruttori SWj commutano in modo asincrono con ritardi casuali e

permettono la realizzazione della retroazione tra le uscite e l'ingresso della rete.

Nelle simulazioni software del capitolo 7 si assume che la chiusura degli interruttori

SWi sia sincronizzata. Quando l'i-esimo interruttore si chiude, lo stato interno dell 'i-

esimo neurone si evolve seguendo la funzione di attivazione seguente:

Vi (t+1) = stp [V i (t)] 4.3

Nella 4.3 il tempo t assume valori discreti, stp(x) è una funzione a gradino uguale a 1 se

x ≥ Si , 0 se x < S , S è un valore definito soglia di attività del neurone i.

Senza nessuna perdita di generalità si possono assumere nulle le soglie di tutti i neuroni

della rete. Con questa assunzione si può definire la funzione d'attivazione nella forma:

4.4

Per le reti di Hopfield è definita anche una regola di apprendimento che definisce il

valore dei componenti della matrice di interconnessione T. La regola di apprendimento

utili zzata da Hopfield è la regola di Hebb, si esaminerà in dettaglio più avanti il l egame

tra tale regola e le applicazioni della rete. L'evoluzione del modello discreto di Hopfield

nel suo spazio di configurazioni segue le leggi dinamiche dei processi stocastici, per

cui lo stato della rete al tempo t+1 è determinato unicamente dallo stato al tempo t

precedente. Per determinare lo stato della rete al tempo t+1, non è richiesta quindi

alcuna informazione per tempi precedenti l'istante t.

Page 36: Tesi Reti Neurali Iachetta

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

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

Page 37: Tesi Reti Neurali Iachetta

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

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 connessione simmetrica e

con elementi diagonali nulli si definisce la funzione energia computazionale come

segue:

4.5

Si consideri adesso la variazione di energia ∆E dovuta alla variazione dello stato Vi di

un neurone, si assuma la variazione del neurone i da uno stato inattivo a uno attivo, si

ha:

4.6

La variazione di stato -∆V i è uguale a 1 nel caso considerato per cui si ha:

∆∆Ei= -∆∆Vi Ui (t+1)= -∆∆Vi Vi (t+1) = -1 < 0 4.7

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

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

se ∆∆Ei ≤≤ 0 allora ∆∆E ≤≤ 0 4.8

Da queste considerazioni Hopfield concluse che l'energia computazionale, al variare

dello stato del sistema neurale, decresce monotonicamente fino a raggiungere un minimo

locale. Dalla simmetria della definizione dello stato di un neurone risulta che se un

vettore corrisponde a uno stato stabile della rete allora anche il vettore complemento sarà

stabile. Se consideriamo lo stato dei neuroni espresso mediante le variabili µi = ±1 che

sono legate alle V i dalla relazione µi = 2V i - 1, i vettori rappresentanti lo stato della rete

possono essere rappresentati nello spazio degli stati, tale spazio composto dalle N

componenti µi corrisponde a un ipercubo con coordinate ±1 . I vettori che

minimizzano E corrispondono ai vertici dell 'ipercubo N-dimensionale. (vedi figura 4.3).

Page 38: Tesi Reti Neurali Iachetta

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

Hopfield dimostrò l'esistenza di una funzione di L japunov nello spazio degli stati della

suo modello di rete neurale, tale funzione di Ljapunov corrisponde all 'energia

computazionale. Seguono adesso alcune importanti definizioni legate alle funzioni di

Ljapunov:

• Una funzione H : S ⇒ℜ è detta di Ljapunov se, dato un qualunque s(to) ∈ S vale:

( ∀ t ≥ t0 ) : s(t + 1) ≠ s(t) ⇒ 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 ∈ S è di equilibrio se:

( ∃ t ) : s(t) = s ⇒ ( ∀ t ≥ t’ ) s(t’ ) = s

• Un punto s ∈ S è di attrazione se è di equilibrio ed esiste un intorno I di s tale che ∀ s’

∈ I 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 la presenza

dei punti attrattori di energia minima verso i quali la rete evolveva.

FIGURA 4.1b - Sequenzadi transizioni di un sistemafisico da uno stato inizialeV1 ad uno finale stabile V8,corr ispondente ad unminimo di energia.

Page 39: Tesi Reti Neurali Iachetta

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

Come già detto la rete di Hopfield corrisponde a un sistema fisico descritto nello spazio

degli stati del sistema di coordinate V1 ,V2 ,..VN e caratterizzato da punti di

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

configurazione iniziale V suff icientemente vicina a una configurazione di attrazione,

ad esempio V = V1 + ∆, esso evolverà nel tempo fino a raggiungere la configurazione

stabile V1 (vedi figura 4.1b). Un sistema fisico la cui dinamica nello spazio delle

configurazioni è dominata da un certo numero di stati attrattori può trovare

applicazioni nel campo delle memorie indirizzabili per contenuto C.A.M. (Content

Addressable Memory o Memorie Associative) o come si vedrà più avanti col modello

continuo di Hopfield nella risoluzione di problemi di ottimizzazione. Nel primo caso si

vedrà che gli stati attrattori corrispondono all 'informazione memorizzata mentre la

configurazione iniziale è una conoscenza parziale dell'informazione.

4.4 - REGOLA DI APPRENDIMENTO DI HEBB E APPLICAZIONI C.A.M. DELMODELLO DISCRETO DI HOPFIELD

Una C.A.M. o memor ia associativa è un nuovo modello di memoria capace di

restituire l'informazione memorizzata in risposta ad un ingresso rappresentato da una

conoscenza parziale dell 'informazione (vedi fig 4.1c). Al contrario in un memoria

convenzionale i contenuti sono ricavati tramite gli 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 utili zzare una rete neurale

facendo corrispondere gli stati stabili della rete con i vettori da memorizzare. L'algoritmo

di memorizzazione proposto è la regola di apprendimento di Hebb, mediante la

quale si costruisce una matrice T di pesi definita come segue:

4.9

Si deve avere inoltre Tii = 0 e Tij = Tji . Si noti che utili zzando le variabili di stato

µi=±1, la regola di Hebb viene espressa in una forma molto usata in alcuni lavori:

Page 40: Tesi Reti Neurali Iachetta

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

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 della 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 apprendimento descritta dalle equazioni 4.9 e 4.10.

2. Fase operativa della memoria. In questo periodo avviene il richiamo delle

informazioni memorizzate. La rete viene inizializzata con un qualsiasi vettore in

ingresso, e comincia in tal modo l'evoluzione temporale della rete nello spazio

delle configurazioni, seguendo la funzione di attivazione 4.4 definita in

precedenza. Se il vettore iniziale rappresenta una parte di un dato memorizzato, la

rete evolve raggiungendo una configurazione finale stabile di energia computazionale

minima. La configurazione finale può risultare uno dei vettori memorizzati oppure

uno stato particolare detto metastabile, che è un minimo locale di energia non

corr ispondente a nessuno 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 superficie

energetica. Per particolari condizioni iniziali la rete presenta un comportamento

oscillatorio per cui non viene mai raggiunto uno stato finale stabile.

La rete di Hopfield utili zzata come memoria associativa presenta due limiti non

trascurabili . Il primo limite fissa il numero massimo di vettori memorizzabili e

richiamabili con suff iciente accuratezza. Hopfield ha mostrato che il numero massimo di

vettori memorizzabili è Mmax ≅≅ 0.15*N, N è il numero di neuroni della rete. Un altro

limite consiste nella diff icoltà di memorizzare vettori con molti bit in comune e vettori

con forti sbilanci tra bit ad 1 e bit a 0. Tali limiti saranno esaminati nel capitolo 7.

Page 41: Tesi Reti Neurali Iachetta

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

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

Page 42: Tesi Reti Neurali Iachetta

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

4.5 - MODELLO CONTINUO DELLA RETE DI HOPFIELD

Nel lavoro successivo Hopfield12 propone un nuovo modello di rete di neuroni basato su

unità di elaborazione analogiche, che segue la dinamica di un sistema fisico in uno spazio

di configurazioni continuo. Nel nuovo modello si ha un'analogia più marcata tra i

fenomeni fisici osservati nei neuroni biologici e descritti dalla neurodinamica classica e

quelli che governano il funzionamento della rete artificiale. Lo stato del neurone è

descritto dalla variabile in ingresso U , la funzione di uscita è continua e limitata:

Vi (t) = g i (Ui (t)) V i0 ≤≤ Vi (t) ≤≤ Vi

1 g (-∞∞) = 0 g(+∞∞) = 1

La funzione di uscita Vi (t) è una sigmoide monotona crescente con asintoti Vi0 e Vi

1.

La rete continua di Hopfield è progettata per essere facilmente realizzabile fisicamente

(si veda la figura 4.2). Le unità di elaborazione sono costruite mediante ampli ficatori

operazionali con tempo di risposta trascurabile, e la cui caratteristica ingresso-uscita

corrisponde alla funzione di uscita Vi (t) . In questo caso Vi (t) = gi (Ui (t)) è la tensione

di uscita del i-esimo ampli ficatore mentre Ui(t) è la tensione in ingresso.

La connessione tra un ampli ficatore j e uno i è realizzata mediante resistenze di

conduttanza Tij . Ogni ampli ficatore è 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 ampli ficatore e la massa è inserito un gruppo parallelo, costituito da una

resistenza ρi e una capacità Ci, che definisce le costanti di tempo della rete. La

corrente in ingresso totale di ciascun unità di elaborazione è composta da due termini, il

primo è la sommatoria di tutte le correnti provenienti da tutte le unità connesse, il

secondo è una corrente di alimentazione esterna . A questo punto si può descrivere la

dinamica del sistema degli N ampli ficatori interagenti mediante le equazioni

differenziali seguenti:

4.11

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

Page 43: Tesi Reti Neurali Iachetta

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

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

Page 44: Tesi Reti Neurali Iachetta

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

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

Page 45: Tesi Reti Neurali Iachetta

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

dove Ri è data dalla relazione :

4.12

ρi è la resistenza in ingresso dell 'ampli ficatore i, si assume che l'impedenza in uscita

all 'ampli ficatore sia nulla. L'interpretazione biologica del modello continuo di Hopfield è

quasi immediata. La neurodinamica classica porta alle seguenti considerazioni:

1. L'uscita Vi del unità computazionale i può essere identifi cata col numero medio di

potenziali d'azione nell'unità di tempo emessi dal neurone i.

2. Il voltaggio in ingresso Ui all 'unità i è analogo al debole potenziale prodotto nel

neurone i postsinaptico quando i potenziali d'azione dei neuroni presinaptici

raggiungono la sinapsi e liberano i neurotrasmettitori chimici. L'input totale del

neurone i è ΣΣ j Tij Vi + I i , dove Tij rappresenta l'efficienza della sinapsi tra il neurone

i e il neurone j.

3. La resistenza e la capacità della membrana cellulare del neurone i sono espresse

dalle costanti ρi e Ci .

Le equazioni dinamiche che descrivono il modello neurale biologico definito sono

quelle definite da Hopfield per il suo modello continuo di rete neurale. Queste

equazioni omettono l'effetto della quantizzazione dei potenziali d'azione, inoltre

considerano infinita la velocità di propagazione di tali potenziali . Conoscendo i valori

delle tensioni Ui al tempo t = 0, le equazioni dinamiche permettono di ricavare una

descrizione completa dell 'evoluzione temporale dello stato del sistema. Analogamente al

modello discreto, Hopfield ha trovato che, nell 'ipotesi di simmetria della matrice di

connessione, le equazioni dinamiche del modello continuo conducono alla

convergenza verso stati stabili, cui 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 computazionale

Page 46: Tesi Reti Neurali Iachetta

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

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

4.14

Dato che gi-1 (V i ) è 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 dV i /dt = 0 ∀∀ i

Si può affermare che l'energia computazionale è una funzione di Ljapunov per il sistema.

Inoltre se la curva di guadagno dell 'ampli ficatore è molto stretta l'ultimo termine di questa

equazione è nullo, per cui E è espressa nella stessa forma del modello discreto. Il

modello continuo di Hopfield è deterministico, analogamente al modello stocastico lo

stato della rete al tempo t determina unicamente lo stato della rete al tempo t + τ.

Hopfield studiando il comportamento dei due modelli descritti ha osservato che il

modello continuo deterministico continuo conserva le stesse proprietà del modello

discreto stocastico, ma si rivela più veloce nel risolvere diff icili problemi

computazionali . Si vedranno adesso le relazioni tra gli stati stabili dei due modelli .

Siano fatte per semplicità le seguenti assunzioni:

g i (0) = 0, Vi0 = -1, Vi

1 = 1, Ii = 0 ∀∀ indice i

L'energia per il caso considerato e:

4.15

Si ricercano adesso i massimi e i minimi del primo termine di E nel dominio dell 'ipercubo

definito mediante i vertici -1≤ V≤ 1 ∀i. Nel caso discreto stocastico l'energia E è

rappresentata solo dal primo termine della 4.15, e si è detto che gli stati stabili

corrispondono ai vertici dell 'ipercubo N-dimensionale rappresentante lo spazio degli stati.

Dato che E è una funzione lineare di V i con V j costante, allora i minimi di energia del

primo termine di E che ha variabili di stato continue nell 'intervallo -1≤ V≤ 1

corrispondono a quelli del caso discreto con variabili di stato µi = ±1. Il secondo termine

Page 47: Tesi Reti Neurali Iachetta

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

di E altera tale interpretazione , consideriamo adesso la variabile V i definita non più

da gi (Ui ) ma mediante il parametro λ ( si vedrà che nella macchina di Boltzmann il

parametro λ-1 assumerà il significato virtuale di una temperatura), si ha:

Vi = g i (λλ Ui) e Ui = (1/λλ)g-1(Vi)

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

Page 48: Tesi Reti Neurali Iachetta

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

Il parametro λ cambia la forma della funzione sigmoide g(x) senza alterarne gli asintoti

(vedi figura 4.4). Il secondo termine di E diventa:

4.16

L'integrale 4.16 è nullo per V i = 0 e positivo altrimenti, e assume un valore molto alto

per V i tendente a ±1. Riferendosi alla figura 4.3 che rappresenta la superficie

corrispondente alla funzione energia nello spazio di coordinate V i ed E, si ha che

per λ >> 1 i minimi di energia sono dislocati verso l'interno rispetto i vertici

dell 'ipercubo, al crescere di λ i minimi di E si spostano verso l'esterno tendendo a

posizionarsi sui vertici dell 'ipercubo. Nel limit e λ → ∞ (la sigmoide diventa una

funzione a gradino come si vede in alto alla figura 4.4) tale termine diventa trascurabile

e la posizione dei minimi di energia nello spazio degli stati è la stessa del modello

discreto stocastico. Nel limite opposto λ << 1 si ha un solo minimo per Vi = 0.

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

Page 49: Tesi Reti Neurali Iachetta

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

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 ampli ficatori. Le frecce della figura 4.3 indicano la

direzione privilegiata dell 'evoluzione degli stati. Viene mostrata anche la deformazione

del contorno energetico derivante dall 'applicazione di correnti esterne. Si può

pensare al processo di computazione di una rete di Hopfield come l'evoluzione di un

punto rappresentante lo stato del sistema nella superficie energetica visualizzata,

tale evoluzione è strettamente vincolata dalla presenza di punti attrattori corrispondenti

alle valli della superficie. In definitiva il modello continuo di rete neurale non rimpiazza

il modello discreto ma ne è un'importante evoluzione. Il modello discreto ha il

vantaggio di poter essere facilmente simulato mediante software su un computer

digitale ed è spesso più pratico per sviluppare idee e simulazioni su modelli biologici

di reti neurali.

4.6 - ANNEALING E ANNEALING SIMULATO

Si è visto che le reti di Hopfield nella loro evoluzione nello spazio degli stati

convergono verso stati di energia computazionale minima. Questi stati spesso

corrispondono a minimi locali di energia, e se la rete implementa la soluzione di un

problema, il minimo trovato non è detto che corrisponda alla soluzione ottimale.

Kirkpatrick ed altri13 hanno introdotto nel 1983 una nuova procedura per avvicinarsi al

minimo globale della funzione energia. La procedura elaborata deriva da

un'applicazione della meccanica statistica alla ricerca delle soluzioni di problemi di

ottimizzazione combinatoria, in particolare essa deriva dal metodo Monte Carlo di

Metropolis, che permette un eff iciente simulazione di un sistema fisico in equili brio

termico ad una data temperatura. La rete cui si applica la nuova procedura è la macchina

di Boltzmann. Si vedranno adesso le considerazioni che hanno portato

all 'elaborazione della macchina di Boltzmann. Lo scopo della meccanica statistica è di

elaborare metodi per analizzare sistemi fisici composti da un numero N molto alto di

particelle. Lo stato di questi sistemi fisici è detto microstato, e corrisponde a un punto

nello spazio delle fasi, le cui coordinate sono i 6N valori di coordinate e momenti che

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

Page 50: Tesi Reti Neurali Iachetta

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

descrivono il sistema. La densità di probabilit à che il sistema sia in un dato microstato è

la funzione di distribuzione del sistema. Per gli scopi di questa trattazione è

suff iciente considerare particelle classiche identiche con tre gradi di li bertà , sistemi fisici

che siano rappresentati da insiemi canonici cioè a contatto con un termostato a

temperatura T (in tali sistemi sono fissi il numero delle particelle N, il volume V e la

temperatura T). La funzione distribuzione del microstato v di energia Ev per gli i nsiemi

canonici è definita come:

4.17

Z è la funzione di partizione degli i nsiemi canonici che è legata all 'energia libera di

Helmholtz dalla relazione: F = - kT ln(Z). La 4.17 esprime che la densità di probabilit à

di una particolare configurazione del sistema corrispondente al microstato v è

proporzionale a exp(-Ev/kT), e corrisponde alla distribuzione di Boltzmann. Con le

premesse fatte si esaminerà adesso il metodo Monte Carlo di Metropolis, che permette

di generare possibili configurazioni di un sistema fisico canonico di N particelle.

Le regole sono:

1. seleziona a caso una particella;

2. seleziona uno spostamento casuale ∆q delle coordinate della particella;

3. calcola il corrispondente cambio di energia ∆E;

4. se ∆E ≤ 0 la nuova configurazione viene accettata;

5. se ∆E > 0 seleziona un numero reale a caso h tra 0 e 1;

6. se exp(∆E/kT) < h conserva la configurazione attuale;

7. se exp(∆E/kT) ≤ h accetta la nuova configurazione;

Le regole elencate vengono ripetute iterativamente molte volte, consentendo di campionare

lo spazio delle fasi di un sistema a contatto con un termostato a temperatura T con una

probabilit à proporzionale alla densità degli stati. Come si vede nell 'algoritmo di Metropolis

il caso ∆E > 0 viene trattato probabili sticamente: la probabilit à che la nuova

configurazione venga accettata è P(∆∆E) = exp(∆∆E/kT). Tale scelta permette al sistema

di evolvere seguendo la distribuzione di Boltzmann. La macchina di Boltzmann è

essenzialmente una rete discreta di Hopfield con una funzione di attivazione

probabili stica, nella cui modalità operativa è implementata una forma dell 'algoritmo di

Page 51: Tesi Reti Neurali Iachetta

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

Metropolis detta annealing simulato utili zzata per raggiungere l'equili brio. Il termine

annealing simulato deriva dall 'analogia con il processo di annealing 14 utili zzato per

portare un sistema fisico nello stato più basso del potenziale termodinamico

corrispondente alle condizioni esterne imposte. In un sistema generico la condizione di

equili brio termodinamico è raggiunta massimizzando l'entropia e minimizzando l'energia

interna. Per un solido l'energia interna minima corrisponde a quella di un cristallo

perfetto, ma un solido reale è caratterizzato da difetti nella struttura cristalli na

(vacanze di atomi o dislocazioni dei piani reticolari). A temperatura T si hanno degli

effetti contrastanti, la formazione di difetti reticolari aumenta l'entropia del solido,

mentre l'eliminazione dei difetti diminuisce l'energia interna: la condizione di

equili brio 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 'equili brio ad una data

temperatura Ndequ(T), la quale cresce con la temperatura. Se esiste una concentrazione

di difetti in un cristallo, esisterà anche una diffusione di difetti, caratterizzata dalla

costante di diffusione D(T). All 'equili brio i difetti saranno uniformemente distribuiti .

Un atomo interstiziale o una vacanza può diffondere, se riesce a superare una barriera

di energia potenziale dovuta al reticolo. Se la temperatura è alta la costante di diffusione

D(T) sarà anch'essa alta, e il cristallo raggiungerà velocemente la concentrazione Ndequ(T).

Per temperature basse la mobilit a dei difetti è ridotta, dato che può risultare molto

improbabile il superamento della barriera di potenziale del reticolo Ep . In questo caso

la concentrazione dei difetti reale Nd potrà essere maggiore di Ndequ(T). Per poter

eliminare i difetti reticolari di un cristallo si ricorre alle tecniche di annealing: il

solido viene portato quasi fino al punto di fusione, quindi viene ridotta lentamente la

temperatura attraverso trasformazioni quasi reversibili . La rapidità con cui viene ridotta

la temperatura deve consentire al sistema di mantenersi in equili brio termodinamico, in

modo che si abbia sempre Nd= Ndequ(T). Abbassando la temperatura T si abbassa anche

Ndequ(T) e quindi anche l'energia libera F. Kirkpatrick ed altri hanno notato che trovare lo

stato a di minima energia di un sistema è essenzialmente un problema di ottimizzazione

simile a quelli di ottimizzazione combinatoria. I metodi che la meccanica statistica adotta

per sistemi a molte particelle possono essere utili anche in problemi di ottimizzazione

combinatoria, i quali sono caratterizzati da un altissimo numero di soluzioni

corrispondenti al minimo globale di una funzione energia computazionale.

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

Page 52: Tesi Reti Neurali Iachetta

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

4.7 - MACCHINA DI BOLTZMANN

L'idea base della macchina di Boltzmann è di introdurre nei processi di cambiamento

stato dei neuroni una componente di casualità che generalizzi il concetto di temperatura.

Questa considerazione porta a incorporare nel processo decisionale del neurone dei

contributi di rumore che permettono il cambiamento di stato del neurone con una

funzione di attivazione probabili stica, che classifica la macchina di Boltzmann

nell 'insieme di reti neurali non deterministiche. Allo scopo di definire la funzione di

attivazione si consideri la rete di Hopfield. In tale modello la variazione di energia

dovuta al cambiamento di stato di un neurone e con correnti Ii nulle:

Se ∆Ei è il gap di energia tra lo stato 1 e lo stato 0 del neurone i della rete, la probabilit à

che il neurone i si setti allo stato 1 è data dalla regola di decisione seguente:

4.18

tale probabilit à è indipendente dallo stato precedente del neurone. T è un parametro

che si comporta come la temperatura. La funzione probabilit à pi è mostrata nella

figura 4.5.

FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltzman

Page 53: Tesi Reti Neurali Iachetta

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

Utili zzando le generalizzazioni espresse per le reti neurali , si può esprimere lo stato V i

del neurone i mediante la funzione di attivazione probabilistica seguente:

4.19

4.20

La 4.20 è la funzione di att ivazione della macchina di Boltzmann, essa è una

sigmoide ed esprime la probabilit à di attivazione del neurone i (vedi figura 4.4). La

regola di probabilit à espressa dalla funzione 4.18 è uguale alla distribuzione di

probabilit à di un sistema fisico a due stati di energia A e B. Un sistema di particelle a

contatto con un termostato a una data temperatura raggiungerà l'equili brio termico, e la

probabilit à di trovare il sistema in un dato stato globale segue la distribuzione di

Boltzmann. In modo concorde una rete di neuroni che segue la regola di decisione 4.20,

raggiungerà uno stato di equili brio 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'equili brio termico corrisponde a una

distribuzione di probabilit à sugli stati stabile. Per un valore di T=0, il sistema si

comporta come una semplice rete di Hopfield discreta, la 4.20 diventa una funzione a

gradino come nella rete discreta di Hopfield. Per valori elevati di T, pi è pari circa a 0.5

ed il sistema presenta stati di attivazione casuali . Gli stati metastabili della macchina

di Bolzmann sono legati al parametro T della 4.20, infatti il l oro numero cresce con la

temperatura T. Per quanto detto è possibile pensare ad una analogia tra gli stati

metastabili della macchina di Boltzmann e la configurazione dei difetti reticolari.

L'annealing simulato implementato nella macchina di Boltzmann non è un vero

algoritmo di apprendimento, piuttosto è una procedura utili zzata nella fase di

funzionamento della rete successiva all 'apprendimento. La macchina di Boltzmann viene

Page 54: Tesi Reti Neurali Iachetta

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

fatta funzionare presentando in ingresso un vettore e seguendo l'evoluzione spontanea

della rete fino alla produzione di un vettore finale di uscita. All 'inizio della fase di

funzionamento, analogamente al processo di annealing, la temperatura T ha un valore

elevato. La funzione di attivazione in questo caso è pari a 0.5, per cui se il sistema si

trova in un minimo locale di energia (stato metastabile) , il valore elevato di T provoca

un evoluzione casuale dello stato della rete favorendo l'allontanamento da tale

minimo. Infatti lo stato della macchina di Boltzmann può fluttuare anche per un vettore

in ingresso costante corrispondente a uno stato metastabile. Questo comportamento è

analogo a quello degli atomi di un solido che per temperature elevate riescono a

superare la barriera di potenziale , in modo da rendere uniforme la concentrazione di

difetti Ndequ(T) . Ogni volta che la rete produce un uscita, quest'ultima viene

retroazionata all 'ingresso della rete, in questa fase viene ridotto il parametro

temperatura della funzione di attivazione. In tal modo si riducono sia gli stati metastabili

accessibili , sia le possibilit à della macchina di uscire da uno stato metastabile

raggiunto. In definitiva quando la temperatura T tende a 0, lo stato raggiunto dalla rete si

avvicinerà di molto a un minimo globale dell'energia computazionale.

4.8 - REGOLA DI APPRENDIMENTO PER LA MACCHINA DI BOLTZMANN

Hinton ed altri hanno recentemente definito per la macchina di Boltzmann un algoritmo

di apprendimento15 di tipo guidato, che consente alla rete di imparare come associare

ad un determinato vettore in ingresso il corrispondente vettore di uscita. Si consideri la

macchina di Boltzmann costituita da li velli di unità visibili e nascoste. L'apprendimento

avviene in due fasi distinte, una positiva ed una negativa, seguite da un processo di

modificazione dei pesi delle connessioni:

1. Fase positiva di training. Questa è la fase di addestramento della rete.

Vengono presentate alle unità visibili della rete, una alla volta, delle coppie di vettori

ingresso-uscita. Ogni volta la rete viene gradualmente portata all 'equili brio

termico, partendo da un alto valore di T fino a T = 1. All 'equili brio il sistema viene

mantenuto per alcuni cicli . Alla fine di questa fase viene calcolata per ogni

15 S.E. Fahlman G.E. Hinton. “ Connectionist Architectures for Artificial Intelli gence”. IEEEComputer, Gennaio 1987, pag. 100-109.

Page 55: Tesi Reti Neurali Iachetta

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

connessione la probabilit à pij+ che le unità i e j siano entrambe attive durante

l'equilibrio termico.

2. Fase negativa di test. La fase di verifi ca dell 'addestramento è analoga, ma in

questo caso vengono presentati solo i vettori di ingresso e vengono calcolate

all 'equili brio le probabilit à pij- . Se la rete alla fine delle due fasi presenta le

stesse distribuzioni di probabilit à 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, Ackley e

Hinton hanno dimostrato che :

δδG/δδT = -(1/T) (p ij+ - p ij

-) 4.22

Da quanto detto è chiaro che per ottenere il comportamento desiderato dal sistema è

necessario introdurre una regola di apprendimento in modo che i pesi di tutte le

connessioni per le quali risulta pij+ ≠ pij

- , si modifichino spontaneamente in modo da

annullare la derivata di G rispetto il peso. Il principale limite della macchina di

Boltzmann è la bassa velocità di convergenza al minimo globale dell'energia.

Page 56: Tesi Reti Neurali Iachetta

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

5. - ALTRI MODELLI: PERCEPTRONI E RETI DI KOHONEN

5.1 - INTRODUZIONE

In questo capitolo si approfondiranno gli sviluppi di uno dei primi modelli di rete di

neuroni ad apprendimento spontaneo, il perceptrone di Rosemblatt. Il perceptrone nasce

come un modello sempli ficato del sistema nervoso, di cui avrebbe dovuto duplicare le

funzioni cognitive. Rosemblatt proponeva il modello non come un dispositivo logico

equivalente alla macchina di Turing, bensì come un sistema capace di effettuare

associazioni fra stimoli simili . Le sue differenze rispetto un sistema logico erano notevoli ,

infatti le sue risposte a stimoli nuovi non erano a priori prevedibili , essendo

determinate dai concetti appresi precedentemente, inoltre esso riusciva a funzionare

anche in presenza di rumore sul segnale di ingresso. Saranno esposti più avanti i principi

di funzionamento del perceptrone semplice che deriva direttamente dal modello di

Rosemblatt e dell 'evoluzione successiva costituita dal perceptrone multistrato.

Nell 'ultimo paragrafo viene presentata la regola di apprendimento back-

propagation, inizialmente applicata a perceptroni multistrato ed estesa recentemente a

moltissimi modelli di reti neurali.

Page 57: Tesi Reti Neurali Iachetta

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

5.2 - PERCEPTRONE A SINGOLO STRATO

L'originale modello di perceptrone proposto da Rosemblatt16 è una primitiva rete neurale

composta da unità di calcolo dette neuroni li neari a soglia (vedi figura 5.1 in alto).

I neuroni sono disposti generalmente a tre li velli e la topologia della rete e di tipo

feedforward. Il primo li vello è la griglia retinica o retina (unità Si ) alla quale vengono

presentati gli i ngressi, il secondo livello (unità Ai ) svolge funzioni di classificazione o

riconoscimento, il terzo li vello (unità-R) presenta l'uscita discreta 0 o 1 prodotta dalla

macchina. L'apprendimento del perceptrone si manifesta con la modifica dei pesi P delle

connessioni tra il secondo e il terzo livello di neuroni, per tale caratteristica il modello è

detto anche singolo-strato (single-layer). Le connessioni tra il li vello d'ingresso e quello

centrale rimangono sempre fisse e servono solo per dare una codifica ai dati di

ingresso. Da quest'ultima osservazione risulta che è possibile eliminare il li vello di

neuroni di ingresso senza nessuna perdita di generalità. In tal modo si può definire un

modello generalizzato di perceptrone a singolo strato di connessioni e a due livelli di

neuroni come si nota in basso alla figura 5.1. Il primo li vello di neuroni riceve

direttamente gli i ngressi ed e connesso con sinapsi variabili al secondo livello (costituito

per semplicità da un solo neurone) che produce l'output. La funzione di attivazione è:

5.1

Si è la soglia di attività del neurone i, stp[x] è una funzione non lineare limitata a

gradino (hard-limiter). La funzione principale attuata da un perceptrone è quella di

classificatore di forme. Si consideri la semplice unità di figura 5.1, questo neurone

computa la somma pesata degli input sottrae la soglia Si e tramite la funzione di

attivazione produce un output +1 o 0. Il tipo di uscita permette di decidere, per

convenzione, quale delle due classi A o B appartiene l'ingresso. Una utile tecnica per

analizzare il comportamento di un perceptrone e di tracciare un grafico come quello di

figura 5.1, nel quale sono mappate in uno spazio le cui coordinate sono gli i ngressi del

neurone i, le regioni di appartenenza degli input alle varie classi, separate da un

16 Frank Rosemblatt, “ The perceptron, a probabili stic model for information storage andorganization in the brain”, Psychological review, 65 pag 386-408.

Page 58: Tesi Reti Neurali Iachetta

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

iperpiano detto regione di decisione. La posizione 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 le soglie di un perceptrone possono essere scelte e modificate

mediante diversi algoritmi. L'originale regola di apprendimento di un perceptrone fu

sviluppata da Rosemblatt. Questa regola permette di attuare un tipo di apprendimento

con supervisione in base al quale viene presentato al perceptrone una forma da

classificare, la risposta della rete viene confrontata con quella nota a priori, l'eventuale

differenza trovata viene utili zzata per modificare i pesi di connessione dei neuroni che

forniscono una risposta scorretta. La regola delta è:

5.2

V i* è l'uscita desiderata, η è un numero positivo minore di 1, Ui e V i sono

rispettivamente l'ingresso e l'uscita del perceptrone. La scelta di η controlla la

stabilit à e la velocità di convergenza dell 'apprendimento al giusto risultato.

L'apprendimento avviene in modo iterativo secondo la procedura seguente:

1. Inizializzazione pesi e soglie. In questa fase vengono inizializzati a caso, a valori

diversi da zero, i pesi e la soglia del neurone di uscita.

2. Fase di apprendimento. In questa fase viene presentato un nuovo ingresso al

perceptrone ed è calcolata l'uscita, in base alla quale viene applicata

iterativamente la regola delta esposta. Nei casi semplici l'algoritmo converge, per

cui dopo un certo numero di passi le modificazioni da apportare ai pesi sono

nulle, e la risposta fornita dalla rete è quella giusta.

Una versione leggermente modificata della regola di Rosemblatt è stata proposta da B.

Widrow e M. Hoff 17 ed è chiamata regola LMS. La regola LMS (Least Mean-Square)

viene applicata al modello di perceptrone di Widrow noto come Adaline uguale nella

struttura al perceptrone mostrato in figura 5.1. L'Adaline differisce dal perceptrone di

Rosemblatt per la funzione di attivazione che è lineare senza alcuna soglia di attivazione:

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

Page 59: Tesi Reti Neurali Iachetta

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

L'algoritmo LMS consiste in una procedura per trovare i pesi Tij che minimizzano

l'errore εi ed è data da un espressione equivalente alla regola delta, si ha infatti:

con εi=(Vi-V i*)

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

Page 60: Tesi Reti Neurali Iachetta

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

FIGURA 5.1b - Perceptrone a singolo strato, che classifi ca un vettore in ingresso in due classidenominate A e B. Tale rete divide lo spazio degli i ngressi in due regioni separate dalla lineatratteggiata. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)

5.3 - LIMITI DEL PERCEPTRONE A SINGOLO STRATO

Rosemblatt ha provato che se gli i ngressi delle due classi presentati al perceptrone sono

separabili (cioè esiste un iperpiano che le divide nello spazio degli input in due

regioni), allora la procedura su esposta converge sempre. Uno dei problemi della

procedura di convergenza del perceptrone è che essa può oscill are continuamente

quando gli input non sono separabili . Ad esempio un perceptrone non può calcolare un

OR esclusivo, poiché vi è una sovrapposizione di classi. Questo limite originò l'aspra

critica di Minsky e Papert ai modelli basati sul perceptrone. Consideriamo il problema

dello XOR18 la tabella della verità della funzione logica è la seguente:

Tabella della verità della Funzione Logica XOR. (5.4)

INPUT OUTPUT

0 0 0

0 1 1

1 0 1

1 1 0

18 D. E. Rumelhart, J. L. McClelland, “ Exploration in Parallel Distributed Processing” , TheMIT Press, Cambridge 1989.

Page 61: Tesi Reti Neurali Iachetta

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

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 maggiori della

soglia S mentre la somma T1 + T2 è minore di S. Il problema dello XOR è

rappresentato in figura 5.2 nello spazio degli stati degli i ngressi. La figura 5.2 mostra

che è impossibile tracciare una retta corrispondente alla regione di decisione per il

problema XOR, mentre si nota la risolvibilit à delle operazioni logiche AND e OR.

La retta di separazione corrisponde per 2 input all 'equazione: S = V1T1 + V2T2.

Con 3 input si ha il piano S = V1T1 + V2T2 + V3 T3. In generale la regione di

decisione corrisponde a un iperpiano:

Tutte le funzioni per le quali esiste una regione di decisione sono dette linearmente

separabili. Consideriamo adesso la funzione logica seguente:

Tabella della verità della Funzione Logica XOR.

INPUT 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 input, il

terzo input è l'uscita AND dei primi due. La figura 5.3, rappresentante il problema,

mostra che l'aggiunta della terza dimensione permette di risolvere la funzione XOR.

La terza dimensione corrisponde ad aggiungere un livello nascosto di unità, che

definisce il semplice perceptrone multistrato di figura 5.3.

Page 62: Tesi Reti Neurali Iachetta

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

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

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

Page 63: Tesi Reti Neurali Iachetta

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

5.4 - PERCEPTRONI MULTISTRATO

I limiti del perceptrone di Rosemblatt sono stati superati con l'introduzione di nuove

regole di apprendimento e nuove topologie di rete. I perceptroni multistrato sono reti

con uno o più livelli di neuroni nascosti tra i neuroni di ingresso e uscita.

Un perceptrone a tre li velli è mostrato in figura 5.4a. La mancanza di adeguate regole di

apprendimento non ha permesso in passato la diffusione dei perceptroni multistrato.

Solo recentemente sono state introdotte nuove regole di apprendimento che, sebbene non

ne sia stata provata la convergenza, si sono dimostrate utili nella maggior parte dei

problemi cui sono state applicate. Si considerano adesso perceptroni multistrato feed-

forward con funzione di attivazione hard-limiter e con un solo nodo di uscita, ai quali

viene applicata la regola delta di apprendimento . Si è già visto che la regione di decisione

di un perceptrone a singolo strato è un iperpiano di dimensioni uguale a N-1 dove N e il

numero di neuroni di ingresso. Un perceptrone a due strati ha una regione di decisione

convessa illimit ata di forma arbitraria. La regione di decisione convessa è formata dalle

intersezioni degli iperpiani di decisione dei perceptroni semplici del primo livello. Tali

regioni convesse sono formate al massimo di un numero di lati uguale ai neuroni di uscita

dei perceptroni semplici del primo strato, detti per semplicità nodi . Questa analisi porta

a adeguare il numero di nodi di un perceptrone multistrato alla complessità del un

problema da risolvere. Ad esempio due livelli sono suff icienti a risolvere il problema

dello XOR come è mostrato nella figura 5.3. Rumelhart ed altri hanno provato che in un

perceptrone feed-forward sono suff icienti tre strati di neuroni per generare una regione di

decisione arbitrariamente complessa per complicati problemi di classificazione. Inoltre il

numero di nodi del secondo strato deve essere maggiore di uno quando le regioni di

decisione sono disconnesse nel caso peggiore deve essere uguale al numero di

disconnessioni (vedi figura 5.5).

Page 64: Tesi Reti Neurali Iachetta

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

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

Page 65: Tesi Reti Neurali Iachetta

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

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

5.5 - REGOLA DI APPRENDIMENTO BACK-PROPAGATION

Si descriverà adesso un nuovo algoritmo di apprendimento noto come back-propagation,

proposto da Rumelhart ed altri nel 198619 . Tale algoritmo si applica ad una rete di

neuroni corrispondente ad un perceptrone multistrato con nodi di uscita multipli e con

funzione di attivazione sigmoidale che esprime l'uscita del neurone i al tempo t+1 come:

5.5

è l'input totale del neurone al tempo t+1

19 D. E: Rumelhart, G. Hinton e R.J. Willi ams, “ Learning representations by back-propagatingerrors”, Nature Vol. 323, 9 ottobre 1986.

Page 66: Tesi Reti Neurali Iachetta

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

Per convenzione si sono chiamati ui e vi rispettivamente le entrate e le uscite di un

nodo interno della rete mentre Ui e V i denotano l'entrata e l'uscita dei li velli visibili della

rete. La rete è dotata inoltre oltre gli i ngressi normali di un ulteriore ingresso detto offset,

settato quasi sempre a 1, il cui peso di connessione è detto bias. Il comportamento di

queste reti rispetto ai perceptroni visti prima è più complicato. Le regioni di decisione

sono tipicamente delle curve e non più degli iperpiani. L'algoritmo back-

propagation è una generalizzazione della regola delta e consiste in una tecnica per trovare

un insieme di pesi Tij che minimizza una funzione costo che corrisponde all 'errore tra

l'uscita prodotta e quella desiderata. L'errore totale della rete è definito come:

5.6

V i è l'uscita dell 'ultimo livello della rete, V i* è l'uscita desiderata. Per minimizzare ε 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:

La regola back-propagation diventa:

5.8

Nella 5.8 v è l'uscita del nodo i oppure un ingresso, mentre la derivata δδe/δδu è un

termine che esprime l'errore per il nodo j. Se il nodo è di uscita si ha vi = Vi .

5.9

Nel caso di nodi interni nascosti si ha:

Page 67: Tesi Reti Neurali Iachetta

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

dove k è un indice su tutti i nodi del li vello successivo al nodo j. δk e la derivata

δe/δu 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 desiderato di componenti Vi* ;

3. Calcolo uscite. Mediante la funzione sigmoide 5.5 vengono calcolate gli output

intermedi vi e finali Vi ;

4. Adattamento connessioni. Utili zzando l'algoritmo di back-propagation esposto si

adattano i pesi di ciascun strato cominciando dall 'ultimo fino al primo corr ispondente

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 algoritmo è l'applicazione

di sintesi del linguaggio fatta da Sejnowsky. Una diff icoltà notata nell 'applicazione

della regola back-propagation è l'alto numero (> 100) di coppie ingresso-uscita

richiesto per far convergere l'algoritmo. Recentemente alcuni autori20 hanno

applicato la regola back-propagation in perceptroni con feedback, caratterizzati

dall 'esistenza di ingressi in un li vello provenienti da li velli successivi di neuroni. Esiste

uno stretto legame tra i perceptroni con feedback e le reti di Hopfield, infatti

imponendo la simmetria e forzando a 0 le autoconnessioni tra le unità si ottiene una rete

formalmente equivalente al modello continuo di Hopfield.

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

Page 68: Tesi Reti Neurali Iachetta

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

5.6 - RETI AUTO-ORGANIZZANTI DI KOHONEN

Si accenna brevemente al modello di rete di neuroni di Teuvo Kohonen.

La rete è formata da neuroni formali simili a quelli a risposta continua di Hopfield, la cui

topologia del tipo a connettività laterale, ricalca alcune strutture nervose biologiche.

La rete apprende con un algoritmo sprovvisto di supervisione che provvede alla

modifica dei pesi delle connessioni dei neuroni che meglio campionano i vettori in

ingresso . La funzione di attivazione è una sigmoide espressa da:

5.11

Una rete di Kohonen è formata da una matrice bidimensionale di M neuroni che

costituiscono anche le M uscite della rete (vedi in figura 5.6), le connessioni laterali tra i

neuroni sono nulle. Ognuno degli N input Ui è connesso a ogni neurone della matrice

mediante una connessione variabile. La rete viene addestrata come segue:

1. Inizializzazione pesi. In questa fase vengono settati i pesi delle connessioni degli N

ingressi agli M neuroni di uscita, viene settato inoltre il raggio iniziale dell 'intorno

del neurone di risonanza.

2. Presentazione ingresso. Il vettore di ingresso composto dalle componenti continue V

è presentato alla rete.

3. Calcolo distanza di tutti i nodi. Viene calcolata la distanza tra l'ingresso e il

neurone di uscita mediante la relazione:

4. Selezione neurone j con MIN (dj ).

5. Aggiornamento pesi. Vengono aggiornati i pesi delle connessioni tra il neurone

j* e le entrate appartenenti all'intorno del neurone definito dall'insieme NEj* (t)

secondo regola di apprendimento nota come legge di adattamento:

5.12

Il procedimento viene ripetuto presentando un nuovo ingresso.

Page 69: Tesi Reti Neurali Iachetta

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

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

Page 70: Tesi Reti Neurali Iachetta

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

6. - APPLICAZIONI DELLE RETI NEURALI

6.1 - INTRODUZIONE

I modelli di reti esaminati nei capitoli precedenti si prestano a diverse applicazioni.

La combinazione di potenza e di velocità computazionale del modello continuo di

Hopfield, può essere applicata alla risoluzione di problemi riconducibili alla

minimizzazione di una funzione con caratteristiche analoghe all 'energia

computazionale. In generale le reti di Hopfield e la macchina di Boltzmann possono

essere applicate a molti problemi di ottimizzazione combinatoria, i quali costituiscono

una classe di problemi ad altissimo numero di soluzioni la cui risoluzione consiste nel

trovare nel modo più rapido una o più soluzioni esatte o approssimate. Un esempio di

questi problemi è quello del commesso viaggiatore (TSP Traveling Salesman

Problem), nel quale si deve minimizzare il percorso di quest'ultimo attraverso N

città. Il TSP appartiene all ’estesa classe dei problemi NP-completi (problemi

nondeterministici polinomiali completi). Per la risoluzione di tali problemi sono stati

utili zzati i cosiddetti metodi euristici, che riducono notevolmente il numero di

soluzioni, tuttavia non è noto attualmente un metodo generale di risoluzione valido

per tutti i gradi di complessità del problema (nel caso del TSP la complessità è

proporzionale al numero N delle città). Il tempo di computazione richiesto dai

metodi euristici cresce in maniera inaccettabile al crescere della complessità del

problema, quindi l'utili zzo di reti neurali , che forniscono una soluzione accettabile in

un tempo paragonabile alle costanti di tempo del circuito elettrico che le costituisce, è

un interessante campo di ricerca.

Page 71: Tesi Reti Neurali Iachetta

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

6.2 - RAPPRESENTAZIONE DEI DATI

Si è già accennato al fatto che la potenza computazionale di una rete neurale è

determinata anche dalla scelta dello schema rappresentativo dei dati. In molti

problemi di interesse pratico le soluzioni sono descritte da un set di numeri, per cui la

possibilit à di utili zzare per la loro risoluzione le reti neurali è subordinata alla

possibilit à di codificare tali numeri con le variabili di stato V dei neuroni della rete.

Per realizzare rappresentazioni numeriche simili a quelle utili zzate nei calcolatori

digitali , il valore delle variabili V i ,alla fine del processo di minimizzazione della

funzione energia, deve essere binario 0 o 1. Si considerano adesso dei metodi21 per

rappresentare la classe Z dei numeri interi positivi nello spazio degli stati della rete

neurale:

• Rappresentazione binar ia. Nei computer convenzionali la forma di

rappresentazione dei numeri interi positivi si basa sul codice binario. Il numero di bit

utili zzati per un numero N è lg2 (N + 1). Se nel modello di rete neurale ad ogni unità

corrisponde un bit, si ha una corrispondenza biunivoca tra il numero N ∈ Z+ e i lg2 (N

+ 1) neuroni rappresentanti il numero N nella rete neurale. La limitazione della

rappresentazione binaria è l'alta sensibilità agli errori.

• Rappresentazione della somma semplice. In questo schema un valore numerico è

rappresentato dalla somma delle unità attive. Per rappresentare il numero N

occorrono almeno N unità. In questo metodo si ha una minore sensibilit à agli errori

rispetto al sistema binario, inoltre un numero dato N possiede più rappresentazioni. La

ridondanza di un sistema di rappresentazione di dati è un vantaggio in termini di

convergenza, infatti grazie all 'alto numero di configurazioni associate a uno stesso

valore numerico, la rete offre più possibilit à di giungere rapidamente alla corretta

soluzione.

• Rappresentazione gruppi-pesi. Lo schema gruppi-pesi mantiene le proprietà di

ridondanza e di aff idabilit à della rappresentazione somma-semplice, tuttavia introduce

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

Page 72: Tesi Reti Neurali Iachetta

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

un numero minore di elementi di elaborazione. In questa rappresentazione si

divide il numero totale q di bit in K gruppi, ciascuno dei quali contiene M bit (q

= KM), l'espressione formale per il numero generico N sarà:

6.1

Ad esempio, con q=6, K=2, M=3, le configurazioni associate al numero 5 sono 100 100,

010 001, 001 010, 100 001, e cosi via, infatti applicando la formula 6.1 si ha:

Per esprimere il numero N si devono impiegare M lgM+1 (N+1) elementi. Si noti che gli

schemi descritti precedentemente si possono ottenere come casi particolari dello

schema gruppi-pesi. Ponendo M = 1 e K = q si ha lo schema binario, mentre con M = q

e K = 1 si ottiene lo schema somma semplice. Altre rappresentazioni sono utili zzate

per numeri interi positivi e negativi, numeri complessi e numeri reali . Per numeri interi

positivi e negativi si può adottare la seguente espressione:

6.2

dove l'operazione fornisce il più grande valore intero minore di X e il termine 0,5

[(M+1k-1)] è pari alla metà del massimo valore esprimibile mediante la 6.2. Numeri

complessi con parte immaginaria e reale intere vengono espressi nella forma C = A + jB

dove A e B sono nella forma 6.2. Numeri reali e complessi possono essere espressi

introducendo nuove unità le cui variabili di stato hanno indici negativi. Si ha la forma:

6.3

Si possono esprimere in tal modo i valori compresi fra 0 e [(M + 1)k-1 - (M + 1) -(k’-1)],

con un incremento minimo pari a (M + 1) -(k’-1) . I sistemi di rappresentazione visti si

basano tutti su una corrispondenza lineare fra lo spazio numerico e lo spazio degli

stati della rete. Altri sistemi basati su corrispondenze non lineari, come il sistema a

virgola mobile, non possono essere utili zzati in quanto non conducono ad una funzione

Page 73: Tesi Reti Neurali Iachetta

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

energia in 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 utili zzato come

convertitore A/D (analogico/digitale).22 Per semplicità di trattazione si considera un

convertitore a 4 bit, il cui schema circuitale è mostrato in figura 6.1.

Il circuito è costituito da quattro ampli ficatori (sono richieste solo le uscite invertite)

corrispondenti alle unità di calcolo, da una rete di resistenze che connettono le uscite

con gli i ngressi 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 V i degli ampli ficatori possano

variare da 0 a 1 Volt, inoltre l'ingresso x espresso in Volt corrisponda al valore numerico

da convertire. La rete opera correttamente quando il valore x è pari alla parola binaria

V3 V2 V1 V0 , cioè si ha:

6.4

La conversione analogica/digitale di x può essere ricondotta alla minimizzazione della

forma quadratica:

6.5

Per garantire che i valori delle tensioni di uscita V i degli ampli ficatori, alla fine del

processo di minimizzazione siano suff icientemente vicini a 0 o 1, in modo da poter

essere identificati come livelli logici digitali, bisogna aggiungere ad E il termine seguente:

6.6

Tale termine è minimo per V = 1 o V = 0. L'introduzione del termine 6.6 è necessaria

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

Page 74: Tesi Reti Neurali Iachetta

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

anche per permettere l'eliminazione dei termini diagonali della matrice delle

connessioni caratteristica delle reti di Hopfield . La funzione energia 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 espressioni:

6.8

Nel circuito descritto in figura 6.1 la prima condizione 6.8 si traduce con le connessioni

dell 'uscita invertita di ogni ampli ficatore all 'ingresso degli altri mediante resistenze di

conduttanza 2(i+j) . La seconda condizione 6.8 consiste nel fornire le correnti di

ingresso attraverso resistori di conduttanza pari a 2i collegati alla tensione di ingresso x,

più altri resistori di conduttanza 2(2i-1) collegati a un potenziale di riferimento di -1 Volt

(vedi matrice delle connessioni in figura 6.1).

Page 75: Tesi Reti Neurali Iachetta

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

FIGURA 6.1 - In altosi ha un graficorappresentante laparola digitale V3 V2

V1 V0 computatadal convertitoreA/D in funzionedell'ingressoanalogico x. In bassosi ha lo schemacircuitale della reteneurale di Hopfieldcorr ispondente alconvertitore A/D.(FONTE IEEETRANSACTIONSCAS/TANK EHOPFIELD/1986)

Page 76: Tesi Reti Neurali Iachetta

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

6.3.2 - SCOMPOSIZIONE DI SEGNALI ANALOGICI

Uno dei problemi ricorrenti nei processi di elaborazione dei segnali analogici è quello di

riconoscere un segnale avente forma e ampiezza note in presenza di altri segnali .

In particolare si consideri il problema della scomposizione di un segnale analogico x(t)23dipendente dal tempo ottenuto dalla combinazione lineare di impulsi di forma

gaussiana nota (vedi figura 6.2). Siano x (i = 1,...,N) i campioni del segnale x(t) presi

ai tempi t1 ,t2 ,...,tN , e si assuma N ≅ 100. L'impulso singolo è descritto dalla

seguente funzione gaussiana:

6.9

in tale funzione il parametro ρ può assumere un numero finito di possibili valori, mentre

l'istante di tempo t, in corrispondenza del quale si ha il valore massimo normalizzato

dell 'impulso, coincide con uno degli istanti N fissati. Gli impulsi che costituiscono

l'insieme delle funzioni base dello spazio di x(t), sono descritti dagli i ndici ρ e t e

ognuna di esse avrà un coeff iciente binario Vρt che corrisponde all 'uscita

dell 'ampli ficatore i e che rappresenta la presenza di ogni funzione base nella

composizione del 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 scomposizione e:

6.11

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

Page 77: Tesi Reti Neurali Iachetta

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

La 6.11 ha la forma dell 'energia di Hopfield, e in essa il secondo termine è introdotto per

annullare gli elementi diagonali della matrice delle connessioni. A questo punto si

possono definire un set di pesi di connessioni e di correnti in ingresso per ogni

amplificatore:

6.12

Il circuito della rete è mostrato in figura 6.2. Il segnale xi entra in parallelo nella rete e

produce delle correnti negli i ngressi degli ampli ficatori attraverso le resistenze di

ingresso. Al termine del processo di minimizzazione, i valori digitali Vρt delle uscite

degli ampli ficatori indicheranno la presenza o meno del corrispondente impulso nella

forma d'onda da scomporre. Il convertitore A/D descritto nel paragrafo precedente

può essere visto come un caso particolare del circuito generale appena visto.

Nel convertitore A/D il segnale di ingresso è unidimensionale e consiste di un solo

valore analogico campionato in un solo punto. Il set di funzioni base è 2n n = 0,...,(n-1).

Il vettore binario in uscita dal circuito comprende i coeff icienti che descrivono la

somma più vicina a x nel set di funzioni base considerato. Si noti che per i due problemi

considerati la base non è ortogonale, questo allo scopo di non annullare i termini che

definiscono i pesi delle connessioni.

Page 78: Tesi Reti Neurali Iachetta

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

FIGURA 6.2 - (A) Andamentotemporale di un segnale analogicoottenuto mediante la combinazionelineare di inpulsi di formagaussiana. (B) Singoli i mpulsi checompongono il segnale in (A).(C) Schema circuitale della reteneurale di Hopfield per ilproblema della scomposizione diun segnale analogico. (FONTEIEEE TRANSACTIONS CAS/TANKE HOPFIELD/1986)

Page 79: Tesi Reti Neurali Iachetta

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

6.3.3 - IL PROBLEMA DEL COMMESSO VIAGGIATORE (TSP)

Un esempio classico di problema di ottimizzazione è il già citato problema del

commesso viaggiatore o TSP (Traveling Salesman Problem). La formulazione del

TSP è molto semplice: siano assegnate n città A, B, C,..., e le distanze dij fra esse

esistenti , il problema consiste nella determinazione di una sequenza di città da visitare

in modo che ogni città venga visitata una sola volta, minimizzando il percorso

seguito e ritornando alla città di partenza. Il problema può essere risolto mediante una

rete continua di Hopfield. Si associ ad ogni città un numero di unità pari ad n,

ciascuna corrispondente ad una delle n posizioni che costituiscono la sequenza di

città da visitare. La presenza di una determinata città in i-esima posizione corrisponde ad

un valore 1 della tensione di uscita V i dell 'unità relativa alla città e alla posizione i

considerata. Se il numero delle città è 6 e la città A occupa la seconda posizione nella

sequenza finale, la configurazione degli stati delle unità ad essa associata è la seguente A

0 1 0 0 0 0. Per n città la rete deve essere formata da N = n2 neuroni. Lo stato di uscita

di queste N unità può essere descritto mediante una matrice quadrata di dimensioni

n X n. Riferendosi all'esempio 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 figura 6.3).

Una matrice che rappresenta una soluzione corretta è caratterizzata da un solo

elemento 1 in ogni riga e colonna dato che una città può essere visitata solo una

volta, allora le 2N configurazioni possibili si riducono a un sottoinsieme pari al

numero delle permutazioni delle n righe della matrice n!. Le possibile sequenze inoltre

non sono tutte distinte, poiché si considerano coincidenti sia sequenze del tipo

Page 80: Tesi Reti Neurali Iachetta

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

DBFCAE, BFCAED, CAEDBF etc, sia le sequenze DBFCAE e EACFBD, per cui il

numero di soluzioni distinte del problema diventa n!/2n. La variabile di uscita Vxi di

ogni unità sarà caratterizzata dai due indici x e i il primo indice è relativo alla città, l'altro

alla posizione nel percorso. Le soluzioni finali del TSP descritte mediante una rete

continua di Hopfield porta alle seguente espressione per l'energia computazionale:

dove α, β, γ, η sono costanti positive per le quali non esiste un criterio definito di

scelta. La 6.14 può essere facilmente spiegata: il primo addendo, essendo costituito da

termini che rappresentano tutti i possibili prodotti tra due elementi appartenenti ad una

riga, è pari a 0 se la riga x contiene un solo elemento pari ad 1; analogamente il secondo

termine è pari a 0 solo se la colonna i-esima presenta un solo elemento pari a 1; il terzo

addendo, poiché è una forma quadratica della differenza fra la somma di tutti gli

elementi della matrice e il numero totale di elementi n, è 0 se la somma è n.

La minimizzazione di questi tre termini di E corrisponde alla scelta di una possibile

soluzione del problema. Infine la minimizzazione dell 'ultimo addendo individua il

percorso più breve. I valori dei pesi delle connessioni e delle correnti esterne sono:

La rete continua di Hopfield costruita per il problema TSP permette di trovare una delle

soluzioni possibili, in tempi molto brevi.

Page 81: Tesi Reti Neurali Iachetta

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

FIGURA 6.3 - Una figura stili zzata della rete implementate il problema TSP. Ogni neurone esimbolicamente indicato da un quadrato. La soluzione del problema e rappresentata daiquadrati scuri come nella matrice 6.14. Sono indicate anche le connessioni di due differentineuroni.(FONTE SCIENCE VOL.33/HOPFIELD)

Page 82: Tesi Reti Neurali Iachetta

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

6.3.4 - PROGRAMMAZIONE LINEARE

Un problema di programmazione lineare consiste nel minimizzare una funzione

costo, associata alle variabili i n 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 coeff icienti delle

variabili , rispettivamente nella funzione costo e nell 'equazione del vincolo, infine B

sono termini costanti. La figura 6.4 mostra una rete di neuroni che può risolvere un

problema di programmazione lineare di due variabili con quattro equazioni di

vincolo. Il circuito comprende N ampli ficatori le cui uscite V i rappresentano il vettore

V, M ampli ficatori di uscita Ψj cui sono associati l'insieme dei vincoli , j indica se è

soddisfatta la corrispondente equazione di vincolo. L'uscita normale V i dell 'ampli ficatore

i è connessa all 'ingresso dell 'ampli ficatore, cui corrisponde la j-esima equazione di vincolo

mediante una resistenza di conduttanza Dji . L'uscita inversa j dell 'ampli ficatore j è

connessa all 'ingresso dell 'ampli ficatore i con una resistenza con conduttanza -Dji .

All 'ingresso degli N ampli ficatori con uscita V i si ha una corrente ottenuta dalla somma

di una corrente esterna proporzionale al coeff iciente -A e le correnti fornite dagli altri

M ampli ficatori. La corrente in ingresso agli M ampli ficatori di uscita Ψj è data dalla

somma di una corrente esterna proporzionale a -B e le correnti fornite dagli N

ampli ficatori. Gli ampli ficatori V i presentano un ingresso collegato a massa mediante

un gruppo parallelo costituito da una capacità Ci e una resistenza ρi , hanno inoltre una

funzione di attivazione V i = g(Ui ) non lineare. Gli ampli ficatori j hanno una

funzione di attivazione non lineare definita come:

6.17

nella 6.18 si ha f(z) = 0 per z ≥ 0, f(z) = -z per z < 0. Tale funzione fa assumere una

uscita positiva Ψj.>> 1 all 'ampli ficatore j corrispondente a un'equazione di vincolo

violata. Considerando trascurabile il tempo di risposta degli M ampli ficatori Ψj rispetto

quello degli N ampli ficatori V i , le equazioni dinamiche del circuito calcolate per le

Page 83: Tesi Reti Neurali Iachetta

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

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 funzioni costo e

violazioni ai vincoli minimizzate. Il problema di Hitchcock esposto nel prossimo

paragrafo è un esempio di problema di programmazione lineare.

FIGURA 6.4 -Schemacircuitale dellarete neurale diHopfield per unproblema diprogrammazionelineare.(FONTEAPPLIEDOPTICSTAKEDA/GOODMAN/1986)

Page 84: Tesi Reti Neurali Iachetta

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

6.3.5 - IL PROBLEMA DI HITCHCOCK

Il problema di ottimizzazione di Hitchcock può essere risolto mediante la rete

continua di Hopfield. Tale problema viene formulato come segue: vi siano m centri di

produzione (X = 1,...,m) per una data merce, sia Sx il quantitativo di prodotto

disponibile nel centro X, inoltre vi siano n depositi (Y = 1,...,n), ciascuno con una

richiesta pari a DY . Se CXY è il costo unitario della spedizione dal centro X al

deposito Y, si deve trovare per ogni coppia XY il flusso di merce f che soddisfa le

richieste è contemporaneamente minimizza il costo totale. La funzione da minimizzare è:

6.20

nel rispetto dei vincoli:

6.21

Nella figura 6.5 sono riportati un esempio di matrice di costo ed un esempio di

soluzione in forma di matrice di flusso. La figura 6.5 mostra come può essere

descritta la matrice di flusso in termini dei valori di attivazione V i 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. Utili zzando lo schema di rappresentazione gruppi-pesi l 'elemento fXY assume

la forma:

6.22

Page 85: Tesi Reti Neurali Iachetta

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

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

6.23

dove α, β, γ, η sono dei fattori positivi per i quali non esiste un criterio definito di scelta.

Si analizzano in dettaglio i singoli addendi dell 'espressione 6.23: il primo termineè la

somma estesa a tutte le variabili di stato di funzioni del tipo:

F(V) = - (1 - 2V)2 (0 ≤≤ V ≤≤ 1), le quali assumono valore minimo per V = 0 o V = 1;

di conseguenza la minimizzazione di tale termine assicura che la soluzione finale sia

data da una rappresentazione binaria; il secondo e terzo termine sono espressioni

quadratiche che servono a minimizzare le violazioni alle 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 costo nel rispetto dei vincoli , comunque la scelta di opportuni

fattori α, β, γ e η porta a buone soluzioni che minimizzano E. Con riferimento al

problema in esame l'energia può essere scritta nella forma di Hopfield:

Page 86: Tesi Reti Neurali Iachetta

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

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 coeff icienti nelle due

funzioni, si determinano i pesi delle connessioni e le correnti di alimentazione di ogni

singolo neurone come segue:

6.25

δxx è il delta di Kroneker.

Page 87: Tesi Reti Neurali Iachetta

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

FIGURA 6.5 - In alto schemadi un problema di Hitchcockcon 4 centri di produzione e 6depositi . TABELLA I (A)Matrice di costo per ilproblema di Hitchcock (B)Semplice soluzionerappresentante il fl usso dallasorgente X al deposito Y.TABELLA_II Rappresentazioneneurale della matrice di flussodel problema di Hitchcock, qneuroni sono utili zzati perrappresentare un elementodella matrice di flusso.(FONTE APPLIED OPTICSTAKEDA/GOODMAN/1986)

Page 88: Tesi Reti Neurali Iachetta

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

6.3.6 - SISTEMA DI EQUAZIONI LINEARI

Si consideri un sistema di equazioni li neari: H x = y dove H è una matrice quadrata di

dimensioni N x N, ed x e y sono due vettori di N componenti rappresentanti

rispettivamente le incognite e i termini noti. Per utili zzare il processo di minimizzazione di

energia delle reti continue di Hopfield riformuliamo il problema introducendo una

funzione energia che include il termine || y - Hx || . La componente n del vettore

delle variabili incognite, secondo la rappresentazione descritta nel paragrafo 6.2 e:

6.26

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

6.27

Nella 6.27 il primo è un termine di minimizzazione binaria analogo al primo termine

della 6.24. La 6.27 può essere riportata nella forma dell 'energia di Hopfield trovando

cosi le espressioni dei pesi e delle correnti in input.

Page 89: Tesi Reti Neurali Iachetta

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

6.4 - COMPLESSITÀ' COMPUTAZIONALE DI UNA RETE NEURALE

I risultati delle simulazioni effettuate da Tank, Hopfield, Takeda e Goodman con

riferimento ai problemi trattati non hanno permesso di trovare alcuna relazione tra il

tempo di elaborazione, le dimensioni del problema e l'algoritmo utili zzato per

l'apprendimento. Considerando che problemi con un numero maggiore di variabili

comportano l'introduzione di ulteriori unità di elaborazione si pensa che il tempo di

elaborazione richiesto non cresca rapidamente con le dimensioni del problema.

La complessità computazionale nei calcolatori digitali è definita come il numero di

operazioni aritmetiche richieste per risolvere un dato problema (si indica con

O(f(N)) dove N sono le dimensioni del problema e f(N) è una funzione di N). Analizzando

come essa cresce con l'aumentare delle dimensioni N del problema si può misurare

l'eff icienza di un algoritmo. Algoritmi con tempi di esecuzione crescenti in maniera

esponenziale con N hanno un uso molto limitato nei calcoli convenzionali . I metodi

euristici utili zzati ad esempio per risolvere il problema TSP hanno una complessità

computazionale di tipo esponenziale o addirittura fattoriale e non è noto alcun metodo

che limiti tale complessità a una potenza di N. Analogamente alla complessità

computazionale , per una rete neurale è possibile definire il concetto di complessità di

programmazione. La complessità di programmazione di una rete neurale è il numero di

operazioni aritmetiche richieste per determinare i corretti pesi delle connessioni e le

correnti esterne di alimentazione per il problema da risolvere. In una rete neurale la

fase di programmazione (apprendimento) è la fase di immissione dati non sono distinte

ma sono legate entrambe alla determinazione dei pesi e delle correnti esterne, per cui

immettendo nuovi dati si deve procedere a un ricalcolo dei pesi e delle correnti. Risulta

quindi che la complessità di programmazione di una rete è un indice dell 'eff icienza

computazionale della rete. Un confronto tra la complessità computazionale e quella di

programmazione riferita a un particolare problema può mostrare importanti aspetti

del calcolo neurale. Si consideri il problema della risoluzione di equazioni lineari con

N incognite del sottoparagrafo 6.3.6. Si è visto che sono richiesti qN neuroni, q e il

numero di neuroni richiesto per rappresentare ogni variabile incognita con lo schema

gruppi-pesi ed e indipendente da N. Il numero delle interconnessioni è dato da:

(1/2)qN(qN +1) ≅≅ O(N2), mentre il numero di correnti è qN ; O(N). La complessità di

Page 90: Tesi Reti Neurali Iachetta

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

programmazione risulta O(N3 ) poiché necessitano N operazioni per determinare ogni

peso e ogni corrente. A. V. Aho24 ed altri hanno mostrato che la complessità

computazionale dello stesso problema è O(N ), per cui in questo caso la complessità di

programmazione coincide con la complessità computazionale. Nel problema TSP la

complessità computazionale è O(N!), dove N è il numero delle città, risolvendo lo stesso

problema con la rete continua di Hopfield si può dimostrare che la complessità di

programmazione è O(N ). Si ha che il numero di pesi da determinare è N mentre le

correnti sono N, per cui dato che il numero di operazioni per determinare i pesi e le

correnti e N, risulta che O(N3 ). Il problema di Hitchcock fornisce un buon esempio di

come la complessità di programmazione dipenda dall 'algoritmo usato. Nel problema di

Hitchcock con m sorgenti e n depositi occorrono qmn neuroni. Il numero di

interconnessioni è allora: (1/2)qmn(qmn + 1) ≅≅O(m2 n2 ), le correnti sono: qmn;

O(mn). Il calcolo di ogni peso e di ogni corrente richiede un numero costante di operazioni

per cui la complessità di programmazione è O(m2 n2 ) = O(n4 ) per m ≅ n.

Considerando la funzione energia 6.24 si ha che l'ultimo termine corrispondente alla

minimizzazione del flusso di costo totale è sempre positivo. Definendo l'energia senza

elevare al quadrato l'ultimo termine della 6.24 si ottengono dei pesi non dipendenti dai

termini CXY in tal modo la complessità di programmazione dipende solo dalle

correnti esterne 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.

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

Page 91: Tesi Reti Neurali Iachetta

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

6.5 - APPLICAZIONE DI PERCEPTRONI MULTISTRATO CON REGOLABACK-PROPAGATION: RETE NETTALK

Un'applicazione molto interessante dei sistemi neurali è la rete NETtalk 25 di Sejnowsky e

Rosemberg , una macchina che impara a leggere in inglese partendo da esempi che le

vengono presentati durante la fase di apprendimento. NETtalk traduce il testo presentato

in ingresso in fonemi, un fonema è una rappresentazione simbolica del suono della

singola lettera, i quali vengono trasformati in suono da un sintetizzatore vocale.

NETtalk è essenzialmente un perceptrone multistrato che utili zza la regola di

apprendimento back-propagation. Gli strati della rete sono tre e comprendono, oltre a

due strati di ingresso e di uscita, uno strato di unità nascoste. La funzione di attivazione

della rete è mostrata in figura 6.6 ed è espressa da:

6.28

Lo strato di ingresso consiste di 7 gruppi di 29 unità, ogni gruppo codifica una lettera del

testo in input, il quale viene presentato sette lettere alla volta (203 unità di ingresso).

Il numero delle unità nascoste varia da simulazione a simulazione, in generale si

sono usate 90 unità. L'uscita voluta dalla rete è un fonema oppure un suono associato

alla lettera centrale della stringa in ingresso. Le altre sei lettere determinano un parziale

contesto per la pronuncia esatta della lettera. Lo schema rappresentativo delle lettere e

dei fonemi è diverso. La lettera e rappresentata localmente entro ogni gruppo di

unità in ingresso, che risulta costituito da 26 unità corrispondenti al numero delle lettere,

più 3 unità che rappresentano la punteggiatura e i confini della parola.

I 54 fonemi in uscita consistono in 23 caratteristiche 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

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

Page 92: Tesi Reti Neurali Iachetta

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

lettura di un testo inglese, nel caso di NETtalk è stato presentato alla rete un testo di

20012 parole. Durante la lettura viene applicata alla rete la regola back-propagation che

consente il settaggio delle connessioni della rete. La rete viene inizialmente settata

con pesi casuali distribuiti uniformemente nell 'intervallo ± 0.3. Alla fine della fase di

apprendimento le prestazioni della rete sono state testate con un vocabolario di 1000

parole prese a caso dal testo imparato. Sejnowsky e Rosemberg hanno studiato la

variazione delle prestazioni con diversi numeri di unità nascoste. La fig. 6.6 mostra che

i migliori risultati si ottengono con 120 unità nascoste (98% di pronunzie esatte sui

fonemi presentati). Si nota anche che l'aumento delle unità nascoste porta ad un

miglioramento della velocità di apprendimento.

Page 93: Tesi Reti Neurali Iachetta

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

FIGURA 6.6 - Inalto si ha loschema della reteNETtalk, in bassoun graficorappresentante leprestazioni dellarete. Le diversecurve siriferiscono alleprestazioni direti con 120, 60,30, 15, 0 unitànascoste. Inordinata si ha lapercentuale dierrori, in ascissail numero diparole che larete inpara. Sinoti che i miglioririsultati si hannocon 120 unitànascoste, e che leperformance dellarete crescono colnumero delleparole imparate.(FONTESEJNOWSKY)

Page 94: Tesi Reti Neurali Iachetta

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

7. - MEMORIE ASSOCIATIVE BASATE SUL MODELLO DISCRETO DIHOPFIELD E NUOVI ALGORITMI DI MEMORIZZAZIONE

7.1 - INTRODUZIONE

Nei capitoli precedenti (rif. par. 4.4) si è già vista la possibilit à di utili zzare il modello

discreto di Hopfield per il progetto di memorie associative o memorie a contenuto

indirizzabile (C.A.M.). In questo capitolo, dopo un approfondimento su nuove

regole di apprendimento, sono presentati i risultati di simulazioni software di

memorie associative basate sul modello discreto di Hopfield. Sono stati utili zzati due

distinti algoritmi di memorizzazione, inizialmente la regola di Hebb, successivamente

si è utili zzata 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.

Page 95: Tesi Reti Neurali Iachetta

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

7.2 - PROBLEMI ALEATORI E MEMORIE ASSOCIATIVE

I problemi come il riconoscimento di forme appartengono alla classe dei problemi aleatori

e non si prestano, per loro natura, a una soluzione algoritmica semplice. Il termine

aleatorio indica la impossibilit a di definire il problema in maniera concisa e completa.

L’aleatorietà del problema è legata alla quantità di informazione richiesta per definirlo e

all 'alti ssimo numero di soluzioni possibili . Dalla definizione di entropia di

Shannon come misura dell 'informazione contenuta in un messaggio si può affermare

che un problema aleatorio ha un alto grado di entropia rispetto un problema

strutturato. Per poter risolvere problemi aleatori, oltre ai metodi euristici, già menzionati,

si potrebbero memorizzare tutte le soluzioni possibili e dopo utili zzare dei metodi per

associare direttamente i dati in ingresso con le informazioni immagazzinate, senza

bisogno di un'esatta corrispondenza. Nelle memorie convenzionali i dati memorizzati

sono accessibili mediante degli i ndirizzi e informazioni parziali sono insuff icienti per

richiamare i dati. Le memorie biologiche sembrano essere di differente natura. L'intero

set di caratteristiche connesso a un concetto memorizzato può essere ricavato da un

set parziale di informazioni, mediante dei processi associativi. A questi processi di

associazione si ispira il progetto di memorie associative costruite mediante reti

neurali . Diversi studiosi26 hanno mostrato la possibilit à di utili zzare memorie associative

per problemi di riconoscimento (vedi figura 7.1a).

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

Page 96: Tesi Reti Neurali Iachetta

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

FIGURA 7.1a - In alto vi è l’ immagine memorizzatadi una T, sotto le immagini di partenzacorrotte da cui si può risali re all ’ immagine iniziale in memoria. In basso c’e un esempio diricostruzione di un'immagine di un volto (c) da un input parziale (b) realizzato mediante unamemoria associativa. L'immagine memorizzata e la (c)

Page 97: Tesi Reti Neurali Iachetta

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

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 utili zzato come memoria associativa: dato un set di M vettori

V is binari (0,1) i = 1,..,N s = 1,..,M, essi vengono memorizzati in una matrice T in

accordo alla regola di Hebb seguente:

7.1

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

La memoria può essere indirizzata moltiplicando la matrice T per uno dei vettore di

memorizzati ad esempio Vis’ , l'elemento V i

s’ V in uscita risulta:

7.2

il valore medio del termine tra parentesi quadre è (N-1)/2 per s=s' mentre è nullo se s≠s'

per cui estraendo il termine s'-esimo dalla sommatoria con indice s si ha:

7.3

consiste nella somma di due termini: il primo è il vettore in ingresso ampli ficato

dal termine (N - 1)/2, ed è positivo per V is’ = 1 negativo se V i

s’ = 0, il secondo è una

combinazione lineare dei rimanenti vettori memorizzati rappresenta un termine di

rumore casuale. Il valore medio del secondo termine è nullo per s≠s', ma può contribuire

ugualmente a V is’ con un rumore dato dalla deviazione standard della somma di M-1

Page 98: Tesi Reti Neurali Iachetta

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

coefficienti à random:

7.4

se N è suff icientemente più grande di M allora V is’ è approssimativamente un

autovettore della matrice T, inoltre il rumore è approssimativamente gaussiano e la

probabilità di errore su un singolo bit e:

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

l'elemento in uscita sia positivo se il corrispondente elemento in ingresso V is’

memorizzato e +1 e 0 altrimenti. Utili zzando la funzione di attivazione a soglia

otteniamo il valore V is’ memorizzato. La grandezza del termine di rumore nella 7.3

cresce col numero M di vettori memorizzati e con l'ammontare della correlazione tra i

vettori memorizzati (la correlazione e proporzionale al numero di bit uguali tra due

vettori). Se i vettori sono ortogonali il rumore si annulla e i vettori Vs sono esattamente

autovettori della matrice T. Per quanto detto il numero M di vettori memorizzabili i n

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 simulazioni

fatte dall 'autore del presente lavoro si sono ottenute buone prestazioni delle memorie

con M ≅ 0.1N. Recentemente Farhat e Psaltis hanno indicato un limite teorico uguale a

M ≅ N/(4*ln(N)).

Page 99: Tesi Reti Neurali Iachetta

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

7.4 - NUOVI ALGORITMI DI MEMORIZZAZIONE

E' importante notare che quasi tutti i dati contenuti in una memoria tendono ad essere

molto correlati (ad esempio i nomi di un archivio). Per tale motivo è utile definire

nuovi algoritmi di memorizzazione27 che superano i limiti derivanti dalla correlazione

dei dati da memorizzare. In questo paragrafo si accenna a tre nuove regole di

apprendimento utili zzate come algoritmi di memorizzazione in memorie associative.

Tali regole consistono in una modifica della originale regola di Hebb, e in condizioni

particolari si riducono in essa. Per esprimere tali regole in una forma più concisa

definiamo la regola di Hebb in forma incrementale:

7.5

Nella 7.5 TijAB denota una matrice T nella quale sono stati memorizzati i vettori A e B,

l'insieme delle V ic sono le componenti del nuovo vettore C da memorizzare. Il primo

algoritmo è noto come "Adaline learning rule", ed è dato da:

7.6

Il termine: V || i è una misura della correlazione tra la matrice TAB e il vettore Vc che si

sta memorizzando. Se Vc è ortogonale a tutti i vettori memorizzati precedentemente

nella matrice TAB allora il termine V || i si annulla e la 7.6 si riduce alla regola di Hebb.

La 7.6 espressa nella stessa forma della 7.1 diventa:

7.7

nella 7.7 il termine T'ij consiste nella stessa sommatoria 7.7 calcolata da s = 1 a s = M-1.

La regola espressa dalle 7.6 e 7.7 ha tutte le caratteristiche della regola di Hebb anche se

la matrice T risultante non è simmetrica. Benché l'accuratezza con cui un dato vettore

è memorizzato dipende dall 'ordine di presentazione alla memoria la regola Adaline,

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

Page 100: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione100

applicata a memorie associative, da buoni risultati. La regola di apprendimento che segue

adesso è detta regola geometrica:

7.8

La regola 7.8 ricorda l'algoritmo di Gram-Schmidt per ortonormalizzare un insieme di

vettori e ha una semplice interpretazione geometrica: V || è la proiezione di Vc nello

spazio costruito mediante i vettori precedentemente memorizzati nella matrice TAB ,

è la proiezione di Vc nello spazio nullo di T . I vettori e sono normali a tutti

gli altri vettori memorizzati. La regola geometrica risolve essenzialmente tutti i problemi

legati alla correlazione tra i vettori, ognuno dei vettori memorizzati è esattamente un

autovettore di T con autovalore N-1. Le memorie associative implementate con queste

nuove regole sono spesso chiamate memorie eteroassociative. In tali dispositivi, come

si è visto, non viene memorizzato direttamente il vettore, ma una sua rappresentazione

ortogonale rispetto gli altri vettori memorizzati.

FIGURA 7.1b -Raffigurazione di unamemoriaeteroassociativa, si notila reppresentazioneortogonale del patternmemorizzato (a) e ilrichiamo del pattern daun input alterato.

Page 101: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione101

7.5 - ALGORITMO DI MEMORIZZAZIONE DI S.H. OH

La regola di Hebb richiede che ogni vettore memorizzato abbia approssimativamente lo

stesso numero di bit a zero e ad uno, definendo con S01 lo sbilancio tra i bit diversi, deve

essere S01 ≅ N/2 , dove N e la dimensione dei vettori memorizzati. Se S01 è

suff icientemente diverso cresce il valore del termine rumore della 7.3 e la memoria

associativa non riesce a funzionare adeguatamente. In questo paragrafo viene

descritto un nuovo algoritmo di memorizzazione, proposto recentemente da S.H. Oh,28

che permette di superare il limit e prima presentato. Nel paragrafo 7.3, implementando il

modello di Hopfield, si e assunto che il valore della soglia Si di attivazione del neurone

sia nulla. In generale la scelta di 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 caratteristica sarà mostrata nella prima simulazione di pag. A.1).

Inoltre in casi in cui uno o più vettori hanno un bassissimo numero di bit uno, tali

vettori possono risultare non richiamabili dalla memoria (vedi seconda simulazione a

pag A.3). L'algoritmo di memorizzazione di S.H. Oh consiste in una semplice modifica

della regola di Hebb. Si supponga di volere memorizzare il vettore Vs , Oh propone di

memorizzare un vettore V’ s di dimensioni 2N che è formato dalle componenti del vettore

Vs più le componenti del vettore complemento, si ha:

7.9

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

7.10

Lo stato successivo del neurone è definito da:

7.11 con 7.12

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

Page 102: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione102

In questo modo il numero di bit a uno sarà sempre uguale al numero degli zeri, quindi

l'applicazione di tale algoritmo al modello di Hopfield risolve il problema dello sbilancio

dei bit. Si noti che l'algoritmo di Oh può essere applicato senza costruire una memoria

di dimensioni 2N, infatti si può facilmente verificare che per un vettore nel quale le

ultime N componenti sono il complemento delle prime N si ha:

7.13

Tij è l'elemento della matrice T definita dalla 7.1. Utili zzando le 7.13 la 7.12 può

essere riscritta come:

7.14

Dalla 7.14 si nota che è espresso utili zzando solamente gli elementi Tij della matrice

T e lo stato attuale V iS . La 7.14 mostra che il prossimo stato corrisponde agli

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

con 7.15

Nella funzione di attivazione 7.15 lo stato successivo di ogni neurone i dipende sia dal

proprio stato attuale, sia dallo stato corrente degli altri neuroni. L'algoritmo di

memorizzazione esposto, risolvendo il problema dello sbilancio dei bit dei vettori

memorizzati, permette di incrementare il numero M di vettori memorizzabili i n una

matrice di N neuroni. Tale miglioramento di prestazioni è evidenziato nelle simulazioni

descritte più avanti.

Page 103: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione103

7.6 - SIMULAZIONI AL CALCOLATORE DI MEMORIE ASSOCIATIVE

In questo paragrafo sono descritte e commentate le simulazioni di memorie associative

fatte al calcolatore. I risultati di tali simulazioni sono raccolti nelle figure

nell 'appendice A. Segue adesso una descrizione generale, valida per tutti le prove

effettuate del significato di tali figure. Dopo avere mostrato in una figura iniziale i vettori

memorizzati Vs (s = 1,..M) (compresi i vettori complemento, la distanza di Hamming tra

tali M vettori e la matrice delle connessioni ), seguono delle tabelle che si riferiscono a

diversi test sulla memoria. Il test al quale si riferisce è indicato in alto alla tabella.

Generalmente i test effettuati consistono nel presentare alla memoria un vettore di ingresso

Us (s = 1,..,M) corrispondente al vettore memorizzato Vs è alterato in vari modi. Nei test

1A e 1B la modifica di Us consiste nel far crescere la distanza di Hamming H tra esso e

il vettore memorizzato Vs . Nel test 1A la distanza H viene modificata invertendo

successivamente gli stati di 1,2,.. fino al bit N-esimo del vettore Us . Nel test 1B

vengono posti a 0 tutti i bit di Us da una certa posizione fino alla N. Le tabelle dei test

1A e 1B sono molto simili , differisce solo la prima colonna, che nel test 1A

corrisponde alla distanza di Hamming H0 crescente, mentre nel test 1B H0 è il numero

di bit posti a 0 a partire dal bit N-esimo. Le colonne Vf, I, H successive rappresentano

rispettivamente l'indice del vettore memorizzato finale raggiunto, il numero di iterazioni

effettuate e la distanza di Hamming tra Vf e il vettore in ingresso Us iniziale.

Analizzando la distanza di Hamming H si ha che H=0 se Vf corrisponde al vettore Vs

ricercato, mentre se H = N Vf è il complemento del vettore Vs . Si noti che se l'indice

del vettore finale è negativo, Vf corrisponde al complemento di uno dei Vs vettori

memorizzati. Se l'indice di Vf è nullo, dall 'analisi del numero di iterazioni I si deduce uno

dei due casi seguenti:

Imax è un numero massimo di iterazioni consentite ed è scelto in modo da ottimizzare la

ricerca degli stati oscill atori. Il secondo test consiste nell 'immissione di una percentuale

crescente di rumore sul vettore di ingresso Us . La prima colonna della tabella indica

la percentuale di rumore introdotta, le altre colonne e la tabella riassuntiva finale hanno

il significato visto nel test 1A e 1B. Nel terzo test, utili zzato solo nella prima

Page 104: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione104

simulazione vengono presentati ad una rete di 16 neuroni tutti i 2 vettori possibili , e

vengono conteggiati i risultati. Le prestazioni di una memoria 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, che si riferiscono ai

vettori memorizzati totalizzano per ogni vettore la percentuale di successi dei richiami,

il numero di stati oscill atori e il numero di attrazioni indotte sui vettori di ingresso non

corrispondenti (ad esempio il vettore V1 può attrarre il vettore ingresso U2 costruito dal

vettore memorizzato V2 invertendo un certo numero di bit). Le simulazioni effettuate

sono:

1. - HOP16211, HOP16221, HOP16311, HOP16321

2. - HOP20211, HOP20221, HOP20311, HOP20321

3. - HOP3231, HOP3232, HOP3241, HOP3242, HOP3251, HOP3252

4. - PARE64412, PARE64411, PARE64422, PARE64421, PARE64522, PARE64521,

PARE128422, PARE128421, PARE128522, PARE128521

5 - HOP120221, HOP120321, HOP128621

Le simulazioni sono basate su diversi set di dati. I primi 5 set sono vettori di 16, 20, 32,

64 e 128 bit utili zzati rispettivamente nelle simulazioni 1, 2, 3 e 4. Gli ultimi due set di dati

di 120 e 128 bit sono impiegati nella simulazione 5. Nelle routine base dei programmi

utilizzati il termine del ciclo delle iterazioni è stabilito dalle seguenti condizioni:

1. il vettore in uscita è uguale a quello in ingresso.

2. il numero delle iterazioni supera un numero massimo di iterazioni prefissato I .

Segue adesso un breve commento ad ogni simulazione.

Page 105: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione105

7.6.1 - SIMULAZIONE 1

Nelle prove della prima simulazione (pag. A.1-A.2) si è utili zzato un set di 3 vettori di

16 bit e si sono misurare le prestazioni della memoria, presentando in ingresso tutti i 2

vettori possibili . Si sono utili zzate sia la regola di Hebb, sia la regola di Oh,

memorizzando prima 2 vettori e successivamente 3 vettori. Il terzo test mostra i

risultati: nelle prove HOP16311 e HOP16211, fatte con la regola di Hebb, il vettore 8768

caratterizzato da una bassa percentuale di 0 è completamente irrecuperabile e si ha la

presenza di 4 stati attrattori metastabili 577, 3478, 53388 e 56766 nella prova

HOP16211 e uno stato metastabile 48283 nella prova HOP16311; lo stesso vettore 8768

risulta perfettamente richiamabile insieme a tutti i vettori normali e complemento

memorizzati nelle prove HOP16312 e HOP16212, nelle quali è applicata la regola di Oh.

7.6.2 - SIMULAZIONE 2

Nelle prove HOP20221, HOP20211, HOP20321 e HOP20311 della seconda

simulazione, si applicano rispettivamente la regola di apprendimento di Hebb e la regola

di Oh e si è utili zzato lo stesso set di vettori di 20 bit . Nelle prove HOP20221 e

HOP20211 si sono memorizzati 2 vettori, mentre nelle altre due si sono memorizzati

3 vettori. Tali vettori sono caratterizzati da una distanza di Hamming media uguale a 10

e da una bassa percentuale di uno (25%). Le prove HOP20221 e HOP20211 mostrano il

buon funzionamento della regola di Hebb, al contrario le prove HOP20321 e

HOP20311 indicano la 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 prestazioni della memoria applicando la regola di Oh come algoritmo di

memorizzazione. La Fig. A.6 (riferentesi alle prove HOP20321 e HOP20311) è un

esempio di richiamo di un vettore memorizzato con le diverse regole di

apprendimento. La regola di Hebb porta al richiamo di uno stato metastabile, la regola di

Oh permette di richiamare il vettore memorizzato con la più bassa distanza di Hamming

dal vettore di ingresso.

Page 106: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione106

7.6.3 - SIMULAZIONE 3

La terza simulazione evidenzia il degrado di prestazioni di una memoria associativa al

crescere del numero M di vettori memorizzati, e mostra che l'impiego della regola di

Oh consente di memorizzare più vettori rispetto la regola di Hebb. Nella varie prove si

sono memorizzati progressivamente un numero M ( M = 3,4,5 ) crescente di vettori di 32

bit. I vari test dimostrano che al crescere di M, la memoria aumenta il numero degli errori

nei richiami utili zzando la regola di Hebb. La regola di Oh permette di avere una bassa

percentuale di errori della memoria anche con vettori memorizzati. Il massimo numero

di vettori memorizzabili mediante il modello utili zzato era stato fissato da Hopfield ad

una frazione di N (N < 100) corrispondente a 0.15N. Le prove fatte mostrano che tale

limite è raggiungibile a condizione che i vettori memorizzati siano abbastanza

diversi, cioè siano poco correlati, e abbiano uno basso sbilancio S01 tra bit a zero e bit

a uno. Se tali condizioni non sono soddisfatte la saturazione della memoria si

presenta prima del limit e visto. Con riferimento alla figura A.8, che mostra le matrici di

connessione costruite per M crescente, si è notato che un indice della saturazione della

memoria è la percentuale di zeri della matrice di connessione. Il numero ottimale di

vettori memorizzati sembra corrispondere ad una matrice di connessioni con una alta

percentuale di zeri (si veda la matrice corrispondente a M=4 di Fig. A.8). Una

percentuale uguale a 1/N, per una matrice N-dimensionale, indica una scarsa

utili zzazione della memoria oppure una saturazione della stessa (matrici con M=3 e

M=5 di Fig. A.8). Il numero ottimale di vettori memorizzati può essere incrementato

almeno di un'unità con l'utilizzo della regola di Oh.

7.6.4 - SIMULAZIONE 4

Le prove di tale simulazione si riferiscono ad una applicazione del modello discreto

di Hopfield ad un problema di classificazione di forme. Si sono utili zzati 2 set di

immagini corrispondenti ad una matrice quadrata rispettivamente di 64 e 128 bit.

In tutti i casi è stato necessario adottare la regola di Oh poiché la regola di Hebb non

forniva buoni risultati. Le Fig. da A.15 a A.24 mostrano la fase operativa di recupero

informazioni da un input parziale o disturbato. Nel casi esaminati si è visto che la

saturazione della memoria si ha con M=5 per N=64 e M=6 per N=128.

Page 107: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione107

7.6.5 - SIMULAZIONE 5

Quest'ultima simulazione (da pag. A.25) indica l'importanza del codice utili zzato per

la rappresentazione di dati alfanumerici memorizzati. Nella prova HOP120221 e

HOP120321 si è utili zzato un codice binario a 5 bit per le 27 lettere impiegate.

Tale codice permette di memorizzare stringhe di 24 lettere in una memoria associativa

di 120 neuroni. Lo svantaggio di tale codice è dato da un bassissimo numero di

stringhe memorizzabili perché il suo utili zzo comporta un alto grado di correlazione per le

stringhe da codificare, si noti infatti la bassa distanza di Hamming media (H ) tra le

stringhe memorizzate. 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 correlate.

Questo limite di utili zzo è intrinseco nel modello di Hopfield e non può essere superato

con la regola di Oh. Una soluzione è di mantenere la media delle distanze di

Hamming H uguale circa a N/2. Il codice binario a 8 bit utili zzato 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.

Page 108: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione108

7.7 - MEMORIE OTTICHE ASSOCIATIVE

Accenniamo brevemente all 'utili zzo della tecnologia ottica per costruire memorie

associative basate sul modello di Hopfield. Diversi ricercatori2930 hanno già realizzato

memorie associative ottiche . Una memoria associativa ottica è costituita da tre

componenti principali . Il primo è una matrice bidimensionale di elementi ottici di

commutazione, che cambiano stato in funzione degli stati degli elementi a cui sono

connessi, ogni elemento della matrice può essere connesso a tutti gli altri mediante fasci

di luce. Il secondo è un ologramma che definisce i collegamenti variabili t ra i vari

elementi. Il terzo elemento è un rivelatore dell 'immagine in uscita. Il dispositivo

comprende anche un sistema di feedback, per riproporre in ingresso alla memoria

l'immagine ottenuta in uscita. Si pensi che un ologramma del volume di un centimetro

cubo può specificare le connessioni tra un milione di elementi ottici di

commutazione. La possibilit à di immagazzinare le informazioni nelle

interconnessioni di un ologramma tridimensionale permette di costruire dispositivi con

un enorme memoria potenziale. Nel caso di memorie associative utili zzate per il

riconoscimento di forme lo schema di connessione consiste in un ologramma di tutte le

immagini da identificare (Vedi fig 7.2).

29 J. Jang ed altri, " Optical implementation of the Hopfield model for two dimensionalassociative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988.30 N. H. Farthat, D. Psalti s, A. Prata e E. Paek, " Optical implementation of the HopfieldModel", Applied Optics, Vol. 24, Num.10, 15 Maggio 1985.

Page 109: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione109

FIGURA 7.2 - Modello di memoria ottica associativa

Page 110: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione110

7.8 - CONCLUSIONI

Attualmente non si intravede la possibilit à di costruire un sistema neurale adattabile a

qualsiasi problema, cioè una rete neurale general-purpose. Per questo motivo il

sistema neurale non è inteso a sostituire il calcolatore tradizionale, il quale

resterà insostituibile per la risoluzione di problemi algoritmici. A sua volta i sistemi

neurali descritti finora, per i quali si è mostrata una vasta gamma di applicazioni,

definiscono un insieme di nuove macchine adatte a risolvere problemi particolari, che

non sono algoritmicamente esprimibili , oppure sono risolti con diff icoltà dai computer.

La prospettiva ragionevole è dunque quella di vedere in futuro sistemi di calcolo

misti, costituiti da computer convenzionali e reti neurali , giungendo alla

realizzazione di sistemi efficienti per qualsiasi compito.

Page 111: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 111

8. - BIBLIOGRAFIA

1 A. Turing, “ On computable numbers, with an application to the entscheidungsproblem”,Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936.

2 Robert McNaugthon, “ Elementary Computabilit y, Formal Languages and Automata”, PrenticeHall International 1982.

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

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

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

6 J.J. Hopfield, " Physics, biological computation, and complementarity" , Proceedings ofNiels 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 ASSPMagazine, Aprile 1987, pag 4-22 .

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

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

13 S. Kirkpatrick ,C.D. Gelatt, M.P. Vecchi, “Optimization by simulated annealing”, 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”. IEEEComputer, Gennaio 1987, pag. 100-109.

16 Frank Rosemblatt, “ The perceptron, a probabili stic model for information storage andorganization in the brain”, Psychological review, 65 pag 386-408.

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

18 D. E. Rumelhart, J. L. McClelland, “ Exploration in Parallel Distributed Processing” , The

Page 112: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 112

MIT Press, Cambridge 1989.19 D. E: Rumelhart, G. Hinton e R.J. Willi ams, “ Learning representations by back-propagatingerrors”, Nature Vol. 323, 9 ottobre 1986.

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

21 Mitsuo Takeda e Joseph W. Goodman, " Neural networks for computation: numberrepresentations and programming complexity" , Applied Optics, Vol. 25, Num. 18, 15 Settembre1986, 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 Networks: An A/DConverter, Signal Decision Circuit, and a Linear Programming Circuit" , IEEE Transactionson Circuits and Systems, Vol. CAS-33, Num. 5, Maggio 1986.

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

25 Terrence J. Sejnowsky e Charles R. Rosemberg, " NETtalk: a parallel network that learns toread aloud", The Johns Hopkins University EECS Technical Report 186/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", Physica Vol.2D(1986), pag 216-232.

28 Sang-Hoon Oh, Tae-Hoon Yoon e Jae-Chang Kim, " Associative memory model based onneural 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 dimensionalassociative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988.

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

Page 113: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 113

9. - INDICE DELLE FIGURE

FIGURA 2.1 - Rappresentazione della Macchina di Turing, in alto il dispositivo A e l'unità di controllo, in

basso si ha il nastro coi simboli dell'alfabeto esterno in ingresso, sopra il nastro in grigio e

posizionata la testina di lettura. (FONTE COMMUNICATIONS OF ACM 5/85/M.CONRAD)____10

FIGURA 2.2a - (a) Neurone formale di Mc Cullock e Pitts (b) Rete di neuroni formali costituente un

semiautoma strutturalmente programmabile. (FONTE COMMUNICATIONS OF ACM

5/85/M.CONRAD)_________________________________________________________________ 12

FIGURA 2.2b - Una rappresentazione più generale della regola di funzionamento del neurone artificiale di

McCullock e Pitts detto anche TLU (Threshold Logic Unit), x(i) sono gli ingressi, w(i) sono i pesi, θ è

il valore della soglia per la funzione di attivazione. Si noti che nella formula semplificata 2.4 i pesi w(i)

sono tutti uguali a 1._______________________________________________________________12

FIGURA 2.2c - Semplice rappresentazione dell’architettura di Elaboratore Von Neumann____________13

FIGURA 2.3. - Anatomia di un sistema di tre neuroni interagenti. (FONTE NEUROPHYSIOLOGY:A

PRIMER WILEY/1966/C.F. STEVENS)________________________________________________20

FIGURA 2.4 - Grafico rappresentante il numero medio di potenziali d'azione nell'unità di tempo in

funzione della corrente positiva in ingresso a un neurone. (FONTE PROCEDINGS OF THE NIELS

BOHR CENTENARY SYMPOSIUM 10/85/J.J. HOPFIELD)________________________________20

FIGURA 2.5 - Processo di creazione di più proteine da parte di una cellula in crescita, analogo alla

computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidi

costituenti la proteina._____________________________________________________________22

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._________________________________________________27

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_______________________28

FIGURA 3.2 - Tipi generali di architetture di reti neurali_______________________________________31

FIGURA 4.1a - In alto è mostrata la funzione di attivazione di una rete discreta di Hopfield, il cui schema è

mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOPFIELD)____________________________36

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._______________________________________________38

FIGURA 4.1c - In alto è lo schema architetturale del modello discreto di Hopfield che implementa una

memoria associativa, in basso si vede il proncipio di funzionamento_________________________41

FIGURA 4.2a - In alto è mostrata la funzione di attivazione di una rete continua di Hopfield, in basso è

mostrato lo schema elettrico della rete. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD)____________43

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

FIGURA 4.3 - In alto è mostrata la superficie energetica nello spazio delle coordinate r ed E, in basso

si ha la stessa superficie vista dall'alto. (FONTE P.N.A.S. 81/1984 J.J.HOPFIELD;

PHYSICAL D 1986/J.S DENKER)____________________________________________________47

Page 114: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 114

FIGURA 4.4 - (a) La funzione di attivazione tipica di un neurone. (b) La funzione V=g(λu) mostrata per

tre valori del parametro l. ((c) Relazione inversa u=g-1 (V) della funzione V=g(λu). (d) Il contributo

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

FIGURA 4.5 - Funzione di attivazione probabilistica della macchina di Boltzman_________________52

FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosemblatt.. (FONTE IEEE ASSP

MAGAZINE 4/1987/R. P. LIPPMANN)________________________________________________59

FIGURA 5.1b - Perceptrone a singolo strato, che classifica un vettore in ingresso in due classi

denominate A e B. Tale rete divide lo spazio degli ingressi in due regioni separate dalla linea

tratteggiata. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)____________________60

FIGURA 5.2 - (A) Semplice Perceptrone a singolo strato e 2 input (B) Rappresentazione grafica delle

funzioni logiche AND, OR e XOR, e della loro solubilità tramite il perceptrone. (FONTE

Exploration in P.D.P 1989/D. E. RUMELHART)____________________________________62

FIGURA 5.3 - Perceptrone con uno strato di neuroni nascosto e 3 nodi in grado di risolvere la funzione

XOR, la cui rappresentazione grafica e mostrata a destra. (FONTE Exploration in P.D.P

1989/D. E. RUMELHART)__________________________________________________________62

FIGURA 5.4 - Perceptroni a tre strato di connessioni e N input e M output. (FONTE IEEE ASSP

MAGAZINE 4/1987/R. P. Lippmann)_________________________________________________64

FIGURA 5.5 - Tipi di regioni di decisione che possono essere formate da perceptroni a uno, due e tre

strati. I nodi utilizzano una funzione di attivazione hard-limiter non lineare. (FONTE IEEE ASSP

MAGAZINE 4/1987/R. P.Lippmann)___________________________________________________65

FIGURA 5.6 - Matrice bidimensionale di nodi di uscita rappresentante una rete di Kohonen. Ogni

ingresso è connesso a tutti i nodi di uscita tramite una connessione variabile. In basso è mostrato

un intorno del nodo j a tempi variabili t. In basso si vede l’evoluzione temporale di una rete

autoorganizzante di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)________69

FIGURA 6.1 - In alto si ha un grafico rappresentante la parola digitale V3 V2 V1 V0 computata dal

convertitore A/D in funzione dell'ingresso analogico x. In basso si ha lo schema circuitale della rete

neurale di Hopfield corrispondente al convertitore A/D. (FONTE IEEE TRANSACTIONS

CAS/TANK E HOPFIELD/1986)_____________________________________________________75

FIGURA 6.2 - (A) Andamento temporale di un segnale analogico ottenuto mediante la combinazione

lineare di inpulsi di forma gaussiana. (B) Singoli impulsi che compongono il segnale in (A). (C)

Schema circuitale della rete neurale di Hopfield per il problema della scomposizione di un segnale

analogico. (FONTE IEEE TRANSACTIONS CAS/TANK E HOPFIELD/1986)__________________78

FIGURA 6.3 - Una figura stilizzata della rete implementate il problema TSP. Ogni neurone e

simbolicamente indicato da un quadrato. La soluzione del problema e rappresentata dai quadrati

scuri come nella matrice 6.14. Sono indicate anche le connessioni di due differenti

neuroni.(FONTE SCIENCE VOL.33/HOPFIELD)_______________________________________81

FIGURA 6.4 - Schema circuitale della rete neurale di Hopfield per un problema di programmazione

lineare. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986)_________________________83

FIGURA 6.5 - In alto schema di un problema di Hitchcock con 4 centri di produzione e 6 depositi.

TABELLA I (A) Matrice di costo per il problema di Hitchcock (B) Semplice soluzione

Page 115: Tesi Reti Neurali Iachetta

Reti Neurali: modelli e aspetti applicativi 115

rappresentante il flusso dalla sorgente X al deposito Y. TABELLA_II Rappresentazione neurale

della matrice di flusso del problema di Hitchcock, q neuroni sono utilizzati per rappresentare un

elemento della matrice di flusso. (FONTE APPLIED OPTICS TAKEDA/GOODMAN/1986)_____87

FIGURA 6.6 - In alto si ha lo schema della rete NETtalk, in basso un grafico rappresentante le prestazioni

della rete. Le diverse curve si riferiscono alle prestazioni di reti con 120, 60, 30, 15, 0 unità

nascoste. In ordinata si ha la percentuale di errori, in ascissa il numero di parole che la rete

inpara. Si noti che i migliori risultati si hanno con 120 unità nascoste, e che le performance della

rete crescono col numero delle parole imparate. (FONTE SEJNOWSKY)_____________________93

FIGURA 7.1a - In alto vi è l’immagine memorizzatadi una T, sotto le immagini di partenza 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 parziale (b) realizzato mediante una memoria associativa.

L'immagine memorizzata e la (c)_____________________________________________________96

FIGURA 7.1b - Raffigurazione di una memoria eteroassociativa, si noti la reppresentazione ortogonale del

pattern memorizzato (a) e il richiamo del pattern da un input alterato._______________________100

FIGURA 7.2 - Modello di memoria ottica associativa_________________________________________109