Professional Documents
Culture Documents
RETI NEURALI:
MODELLI E ASPETTI APPLICATIVI
SOMMARIO
1. - INTRODUZIONE 5
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.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.1- INTRODUZIONE 34
4.2 - MODELLO DISCRETO DELLA RETE DI HOPFIELD 34
4.3 - CONSIDERAZIONI ENERGETICHE SULLA RETE DISCRETA DI HOPFIELD 37
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
Reti Neurali: modelli e aspetti applicativi 3
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.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.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
Reti Neurali: modelli e aspetti applicativi 4
8. - BIBLIOGRAFIA 111
1. - INTRODUZIONE
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 utilizzati sono noti come metodi
euristici, e non sono applicabili in generale a tutti i problemi. I metodi euristici richiedono
quasi sempre un grandissimo sforzo computazionale da parte dei calcolatori e spesso i
tempi di risoluzione di un problema sono completamente inaccettabili. 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
Reti Neurali: modelli e aspetti applicativi: Cap 1 - Introduzione 6
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.
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 7
2.1- INTRODUZIONE
1
A. Turing, “On computable numbers, with an application to the entscheidungsproblem”,
Proceedings of the London Mathematical Society, Num. 2 Vol XLII, 1936.
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 9
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 Computability, Formal Languages and Automata”, Prentice
Hall International 1982.
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.
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.
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 formali
costituente un semiautoma strutturalmente programmabile. (FONTE COMMUNICATIONS
OF ACM 5/85/M.CONRAD)
FIGURA 2.2b - Una rappresentazione più generale della regola di funzionamento del neurone
artificiale di McCullock e Pitts detto anche TLU (Threshold Logic Unit), x(i) sono gli ingressi,
w(i) sono i pesi, θ è il valore della soglia per la funzione di attivazione. Si noti che nella formula
semplificata 2.4 i pesi w(i) sono tutti uguali a 1.
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 13
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:
4
John Von Neumann, “Primo abbozzo di relazione sull'EDVAC (Electronic Discrete
Variable Computer)”, Princeton University 1945.
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 14
5
Michael Conrad, "On Design Principles for a Molecular Computer", Communications of
the ACM 1, Vol. 28, Num. 5, Maggio 1985.
Reti Neurali: modelli e aspetti applicativi: 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 :
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.
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
• Parallelismo e lentezza dei neuroni. Studi non tanto recenti hanno mostrato che
il cervello elabora le informazioni in modalità parallela, questa affermazione nasce
da semplici considerazioni. Un'operazione base viene effettuata da un neurone in
tempi dell' ordine di decine di millisecondi, mentre il cervello è in grado di risolvere
complicatissimi problemi di visione e linguaggio in circa 500 ms. Tenendo conto dei
tempi di ritardo di propagazione del segnale tra neuroni, si può dire che il lavoro
computazionale del cervello è fatto in meno di 100 passi, e consiste nell'esecuzione in
parallelo da parte di neuroni di operazioni base molto semplici.
• Bassa dissipazione termica. L'energia termica dissipata da un neurone in una
elementare operazione di calcolo è circa 3 x 10-3 erg che in confronto ai 3 x 10-14 erg
dissipati in una porta logica di un computer convenzionale è 11 ordini di grandezza
superiore. L'intero cervello dissipa meno di 100 Watt.
• Elementi base di natura analogica. I neuroni sono degli elementi che operano in
maniera analogica. Essi operano su un ingresso sinaptico e generano un uscita a
valori continui.
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 18
Sono qui sintetizzati alcuni concetti fondamentali sul sistema nervoso e sulla struttura
del cervello. Il sistema nervoso si divide in due parti principali: periferico e
centrale. Il primo svolge funzioni di interfaccia tra il sistema nervoso centrale e
l'ambiente esterno. I segnali trattati comprendono gli ingressi sensoriali, le uscite si
manifestano con stimoli motori, dolori, 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
Reti Neurali: modelli e aspetti applicativi: Cap 2 - Computazione Classica e Modelli Connessionistici 19
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 of
Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985.
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 livello 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 utilizzati, con particolare riguardo alla imitazione di strutture
biologiche o fenomeni microbiologici. Più avanti si approfondirà lo studio di macchine di
calcolo basate sulla imitazione strutturale di entità biologiche come il cervello umano.
Queste macchine sono chiamate reti o sistemi neurali, mentre la loro architettura
definisce i cosiddetti modelli connessionistici. Gli algoritmi su cui si basa l'intelligenza
animale sono implementati nel cervello. Utilizzando questo particolare hardware il
cervello raggiunge le altissime prestazioni che si conoscono. L'idea base dei sostenitori
dei sistemi neurali è che la specializzazione della nostra intelligenza sia una peculiarità
dei sistemi biologici ad altissimo grado di connessione. La semplicità dei neuroni e
delle sinapsi e la loro universalità biologica fa supporre che imitando tali componenti
sia possibile costruire sistemi artificiali di analoghe prestazioni.
FIGURA 2.5 - Processo di creazione di più proteine da parte di una cellula in crescita, analogo
alla computazione di una macchina di Turing .Il nastro in uscita contiene gli amminoacidi
costituenti la proteina.
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 23
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.
Lo studio delle reti neurali risale ai primi tentativi di tradurre in modelli matematici i
principi dell'elaborazione biologica. Le più antiche teorie del cervello e dei processi
mentali sono state concepite dai filosofi Greci Platone (427-347 A.C) e Aristotele
(384-322 A.C). Queste teorie furono riprese molto più tardi da Cartesio (1586-1650) e
nel XVIII secolo dai filosofi empiristi. Le prime realizzazioni di macchine cibernetiche,
categoria alla quale appartengono i sistemi neurali, appaiono negli anni quaranta col
nascere di una scienza nuova, la cibernetica. La cibernetica è definita come scienza che
studia i processi intelligenti e fu fondata da Norbert Wiener nel 1947. Ross Ashby, un
altro padre della cibernetica, costruisce nel 1948 l'omeostato uno dei primi sistemi con
connessioni interne regolabili, capace quindi di variare la sua configurazione interna
adattandola a stimoli esterni. Il neurofisiologo W.S. MC Cullock e il matematico W.A.
Pitts (1943) di Chicago sono stati i primi a formulare l'approccio cibernetico
fondamentale alla struttura 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
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 24
L'interesse sviluppatosi nei primi anni 80 per i modelli neurali è sicuramente dovuto a
diversi fattori, che sono elencati di seguito:
John Hopfield del California Institute of Technology propone nel 1982 un modello
computazionale basato su concetti energetici e pertanto applicabile in svariati campi.
Questo nuovo modello permise di studiare il comportamento globale di reti molto più
complesse dei perceptron, non analizzabili con metodi classici. In particolare era
possibile studiare reti con neuroni nascosti. Con questo risultato termina la
"preistoria" dello studio delle reti neurali e inizia la cronaca di un settore in rapida
evoluzione. Nel 1987 la CEE promuove il progetto BRAIN (Basic research in
adaptive intelligence and neurocomputing), inoltre si tiene a S.Diego la prima
conferenza internazionale sulle reti neurali con 2000 partecipanti provenienti sia dalle
università sia dall'industria. Alla luce dei risultati ottenuti, Minsky e Papert rivedono
le loro critiche e indicano nuove direzioni di sviluppo nell'area delle reti neurali.
I principali settori cui la ricerca attuale è indirizzata sono:
- Unità di computazione base. Nel contesto di una rete neurale, l'unità base sulla
quale è costruito il modello è un elemento computazionale semplice disposto in una
architettura a rete . L'elemento accetta dei segnali in ingresso, li elabora secondo
determinate regole, e sulla base di questi segnali, del proprio stato interno e degli stati
precedenti calcola un segnale in uscita Vi , che viene inviato alle unità a cui esso risulta
connesso. Il modo in cui avviene tale processo nella rete è parallelo, nel senso che
molte unità lavorano simultaneamente. In generale l'ingresso di un neurone i è
rappresentato dalla sommatoria di tutte le uscite Vj dei neuroni j ai quali è connesso:
3.1
Tij è l’intensità della connessione, e si esaminerà più avanti. Le unità 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 semplificata delle funzioni del neurone biologico. I vari
modelli di neuroni elaborati si distinguono generalmente per il tipo di risposta che
essi presentano a uno stimolo in ingresso. In questa differenziazione i modelli di
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 27
- Stato dell'unità. Ad ogni unità è associato un valore numerico detto stato dell'unità
che generalmente viene fatto corrispondere al valore della variabile in uscita V (t). Per
N unità lo stato Vi(t) è un vettore di N componenti in cui ciascuna componente
rappresenta l'attivazione di un'unità. I valori dello stato possono essere continui o
discreti. Lo stato della rete di neuroni al tempo t è descritto dall'insieme di variabili che
descrivono lo stato delle unità semplici.
- Attività della rete. L'attività della rete è il numero di neuroni attivi al tempo t:
3.2
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.
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 28
- Funzione di attivazione. Una caratteristica importante delle unità di una rete neurale
è il modo in cui i vari segnali di ingresso vengono combinati per determinare il
segnale complessivo. Una funzione di attivazione è data da:
3.3
La funzione di attivazione associa allo stato e agli ingressi attuali un nuovo stato di
attivazione. La Fi [ ] , nei casi più semplici, è la funzione identità, cioè lo stato Vi
dell'unità coincide con l'ingresso totale U , e la funzione Fi [ ] risulta lineare. In altri casi
Fi [ ] è una funzione a soglia per cui l'ingresso totale deve superare un determinato valore
per contribuire al nuovo stato dell'unità. Alcune forme caratteristiche della funzione
di attivazione sono visualizzate nella figura 3.1b . Si notino le tre forme base non lineari
di 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
è probabilistica (macchina di Boltzmann), per cui anche se l'input supera il valore della
soglia, non è detto che il neurone cambi stato.
3.4
Le altre regole di apprendimento spontanee sono delle evoluzioni di quella di Hebb
oppure si basano su altri principi. Un'altra fondamentale regole di apprendimento è la
regola back-propagation utilizzata universalmente in quasi tutte le reti di neuroni che
incorporano livelli "nascosti".
- Topologia. Fissate le caratteristiche delle singole unità si analizza adesso il modo in cui
tali unità sono connesse tra loro cioè la topologia della rete neurale. Alcuni esempi di
topologie di reti neurali sono rappresentate in figura 3.2. In alcuni modelli le
connessioni seguono schemi predeterminati, in altri schemi casuali. Molti modelli
vengono organizzati in più livelli di unità, oppure in diversi strati di connessioni tra
unità. Analizzando una rete a più livelli bisogna distinguere tra livelli "visibili",
costituiti da unità di ingresso o uscita, e livelli "nascosti". Analizzando le
connessioni tra le unità si possono distinguere modelli feedforward, nei quali
esistono connessioni solo tra le uscite e gli ingressi di unità di livelli successivi, e
modelli con meccanismi di retroazione detti anche modelli feedback (reti di Hopfield).
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.
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 livello precedente, inoltre, come si vede in figura 3.2, il tipo
di feedback può essere ordinato o amorfo. Nei modelli gating le uscite delle unità
agiscono sui pesi delle connessioni. Altre distinzioni si possono fare riguardo la
connettività laterale, cioè le connessioni di elementi dello stesso strato. Nel tipo
cooperativo-competitivo ogni elemento è connesso ai suoi vicini mediante connessioni
alternativamente eccitatorie e inibitorie, nel tipo "on-center/off-surround" le
connessioni laterali sono tutte inibitorie, nel tipo a campo ricettivo (reti di Kohonen)
ogni ingresso ha una determinata distribuzione sull'intero livello e 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 lo stato delle singole unità di uscita rappresenta la verità o falsità
di una determinata proposizione.
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 31
Le differenze tra una rete neurale e un computer digitale convenzionale sono state
adeguatamente sintetizzate dal fisico Kohohen9 :
• I principi della logica digitale non sono applicabili a un sistema neurale. I neuroni
non possono essere circuiti logici a soglia, perché ogni neurone ha migliaia di input
variabili e la stessa soglia e dipendente dal tempo. L'accuratezza e la stabilita di un
circuito normale non è sufficiente a definire una variabile booleana. Inoltre i processi
collettivi, che sono di fondamentale importanza nel calcolo neurale, non sono
implementabili mediante semplici circuiti logici.
• I neuroni e le sinapsi non sono elementi di memoria bistabili come dei flip-flop.
I neuroni sembrano comportarsi come dei sistemi integratori analogici di natura non
lineare, le sinapsi sono delle connessioni la cui efficacia varia gradualmente.
• Una rete neurale non ha istruzioni o codici di controllo che regolano lo stato
funzionale del sistema.
• Lo schema di interconnessione di un sistema neurale non permette il calcolo
ricorsivo, per cui è impossibile implementare algoritmi di calcolo.
9
Kohonen Teuvo. “An Introduction to Neural Computing”, Neural Networks, Vol. 1. 1988,
pag 3-16.
Reti Neurali: modelli e aspetti applicativi: Cap 3 -Modelli di Reti Neurali 33
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 probabilistica (Macchina di Boltzmann). La simmetricità della matrice delle
connessioni origina una ulteriore suddivisione in reti simmetriche che sono
tipicamente le reti di Hopfield, e asimmetriche come i perceptroni. Si formano a questo
livello diverse famiglie di reti neurali .10 Nel presente lavoro saranno esaminati i
seguenti modelli:
10
Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP
Magazine, Aprile 1987, pag 4-22 .
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 34
4.1- INTRODUZIONE
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 Collective
Computational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982).
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 Ii è 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 [Vi (t)] 4.3
Nella 4.3 il tempo t assume valori discreti, stp(x) è una funzione a gradino uguale a 1 se
x ≥ Si , 0 se x < S , S è un valore definito soglia di attività del neurone i.
Senza nessuna perdita di generalità si possono assumere nulle le soglie di tutti i neuroni
della rete. Con questa assunzione si può definire la funzione d'attivazione nella forma:
4.4
Per le reti di Hopfield è definita anche una regola di apprendimento che definisce il
valore dei componenti della matrice di interconnessione T. La regola di apprendimento
utilizzata da Hopfield è la regola di Hebb, si esaminerà in dettaglio più avanti il legame
tra tale regola e le applicazioni della rete. L'evoluzione del modello discreto di Hopfield
nel suo spazio di configurazioni segue le leggi dinamiche dei processi stocastici, per
cui lo stato della rete al tempo t+1 è determinato unicamente dallo stato al tempo t
precedente. Per determinare lo stato della rete al tempo t+1, non è richiesta quindi
alcuna informazione per tempi precedenti l'istante t.
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 cui
schema è mostrato in basso. (FONTE P.N.A.S. 79/1982 J.J. HOPFIELD)
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 37
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 -∆Vi è uguale a 1 nel caso considerato per cui si ha:
∆Ei= -∆
∆Vi Ui (t+1)= -∆
∆Vi Vi (t+1) = -1 < 0 4.7
Si noti che nel caso di un neurone che passa da uno stato Vi(t) = 1 a uno stato Vi(t+1)=0
si ha ∆Vi = -1 , mentre per la 4.7 ∆Ei = 0. La variazione totale di energia della rete è:
Hopfield dimostrò l'esistenza di una funzione di Ljapunov 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:
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 sufficientemente vicina a una configurazione di attrazione,
ad esempio V = V1 + ∆, esso evolverà nel tempo fino a raggiungere la configurazione
stabile V1 (vedi figura 4.1b). Un sistema fisico la cui dinamica nello spazio delle
configurazioni è dominata da un certo numero di stati attrattori può trovare
applicazioni nel campo delle memorie indirizzabili per contenuto C.A.M. (Content
Addressable Memory o Memorie Associative) o come si vedrà più avanti col modello
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.9
Si deve avere inoltre Tii = 0 e Tij = Tji . Si noti che utilizzando le variabili di stato
µi=±1, la regola di Hebb viene espressa in una forma molto usata in alcuni lavori:
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:
La rete di Hopfield utilizzata come memoria associativa presenta due limiti non
trascurabili. Il primo limite fissa il numero massimo di vettori memorizzabili e
richiamabili con sufficiente accuratezza. Hopfield ha mostrato che il numero massimo di
vettori memorizzabili è Mmax ≅ 0.15*N, N è il numero di neuroni della rete. Un altro
limite consiste nella difficoltà di memorizzare vettori con molti bit in comune e vettori
con forti sbilanci tra bit ad 1 e bit a 0. Tali limiti saranno esaminati nel capitolo 7.
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 implementa
una memoria associativa, in basso si vede il proncipio di funzionamento
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 42
Nel lavoro successivo Hopfield12 propone un nuovo modello di rete di neuroni basato su
unità di elaborazione analogiche, che segue la dinamica di un sistema fisico in uno spazio
di configurazioni continuo. Nel nuovo modello si ha un'analogia più marcata tra i
fenomeni fisici osservati nei neuroni biologici e descritti dalla neurodinamica classica e
quelli che governano il funzionamento della rete artificiale. Lo stato del neurone è
descritto dalla variabile in ingresso U , la funzione di uscita è continua e limitata:
Vi (t) = gi (Ui (t)) Vi0 ≤ Vi (t) ≤ Vi1 g (-∞) = 0 g(+∞) = 1
La funzione di uscita Vi (t) è una sigmoide monotona crescente con asintoti Vi0 e Vi1.
La rete continua di Hopfield è progettata per essere facilmente realizzabile fisicamente
(si veda la figura 4.2). Le unità di elaborazione sono costruite mediante amplificatori
operazionali con tempo di risposta trascurabile, e la cui caratteristica ingresso-uscita
corrisponde alla funzione di uscita Vi (t) . In questo caso Vi (t) = gi (Ui (t)) è la tensione
di uscita del i-esimo amplificatore mentre Ui(t) è la tensione in ingresso.
La connessione tra un amplificatore j e uno i è realizzata mediante resistenze di
conduttanza Tij . Ogni amplificatore è dotato di due uscite, una normale e una inversa, in
modo da realizzare connessioni eccitatrici e inibitrici. Il valore dell'uscita normale è
compreso tra 0 e 1, mentre l'uscita inversa da i valori tra 0 e -1. Tra l'ingresso di
ciascun amplificatore e la massa è inserito un gruppo parallelo, costituito da una
resistenza ρi e una capacità Ci, che definisce le costanti di tempo della rete. La
corrente in ingresso totale di ciascun unità di elaborazione è composta da due termini, il
primo è la sommatoria di tutte le correnti provenienti da tutte le unità connesse, il
secondo è una corrente di alimentazione esterna . A questo punto si può descrivere la
dinamica del sistema degli N amplificatori interagenti mediante le equazioni
differenziali seguenti:
4.11
12
J.J Hopfield, “Neuron with graded response have collective computational properties like
two-state neurons”, Proc. Natl. Acad Sci. 81, pag. 3088 (1984).
Reti Neurali: modelli e aspetti applicativi: 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, in
basso è mostrato lo schema elettrico della rete. (FONTE P.N.A.S. 81/1984/J.J. HOPFIELD)
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.
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 45
4.12
ρi è la resistenza in ingresso dell'amplificatore i, si assume che l'impedenza in uscita
all'amplificatore sia nulla. L'interpretazione biologica del modello continuo di Hopfield è
quasi immediata. La neurodinamica classica porta alle seguenti considerazioni:
1. L'uscita Vi del unità computazionale i può essere identificata col numero medio di
potenziali d'azione nell'unità di tempo emessi dal neurone i.
2. Il voltaggio in ingresso Ui all'unità i è analogo al debole potenziale prodotto nel
neurone i postsinaptico quando i potenziali d'azione dei neuroni presinaptici
raggiungono la sinapsi e liberano i neurotrasmettitori chimici. L'input totale del
neurone i è Σ j Tij Vi + Ii , dove Tij rappresenta l'efficienza della sinapsi tra il neurone
i e il neurone j.
3. La resistenza e la capacità della membrana cellulare del neurone i sono espresse
dalle costanti ρi e Ci .
4.13
Hopfield ha dimostrato che la derivata rispetto al tempo dell'energia computazionale
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 46
4.14
-1
Dato che gi (Vi ) è una funzione monotona non decrescente e Ci è sempre positivo, ogni
termine della somma 4.14 non è negativo per cui si ha:
dE/dt ≤ 0 , dE/dt = 0 quando dVi /dt = 0 ∀ i
Si può affermare che l'energia computazionale è una funzione di Ljapunov per il sistema.
Inoltre se la curva di guadagno dell'amplificatore è molto stretta l'ultimo termine di questa
equazione è nullo, per cui E è espressa nella stessa forma del modello discreto. Il
modello continuo di Hopfield è deterministico, analogamente al modello stocastico lo
stato della rete al tempo t determina unicamente lo stato della rete al tempo t + τ.
Hopfield studiando il comportamento dei due modelli descritti ha osservato che il
modello continuo deterministico continuo conserva le stesse proprietà del modello
discreto stocastico, ma si rivela più veloce nel risolvere difficili problemi
computazionali. Si vedranno adesso le relazioni tra gli stati stabili dei due modelli.
Siano fatte per semplicità le seguenti assunzioni:
gi (0) = 0, Vi0 = -1, Vi1 = 1, Ii = 0 ∀ indice i
4.15
Si ricercano adesso i massimi e i minimi del primo termine di E nel dominio dell'ipercubo
definito mediante i vertici -1≤ V≤ 1 ∀i. Nel caso discreto stocastico l'energia E è
rappresentata solo dal primo termine della 4.15, e si è detto che gli stati stabili
corrispondono ai vertici dell'ipercubo N-dimensionale rappresentante lo spazio degli stati.
Dato che E è una funzione lineare di Vi con Vj costante, allora i minimi di energia del
primo termine di E che ha variabili di stato continue nell'intervallo -1≤ V≤ 1
corrispondono a quelli del caso discreto con variabili di stato µi = ±1. Il secondo termine
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 47
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)
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 Vi = 0 e positivo altrimenti, e assume un valore molto alto
per Vi tendente a ±1. Riferendosi alla figura 4.3 che rappresenta la superficie
corrispondente alla funzione energia nello spazio di coordinate Vi 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 limite λ → ∞ (la sigmoide diventa una
funzione a gradino come si vede in alto alla figura 4.4) tale termine diventa trascurabile
e la posizione dei minimi di energia nello spazio degli stati è la stessa del modello
discreto stocastico. Nel limite opposto λ << 1 si ha un solo minimo per Vi = 0.
FIGURA 4.4 - (a) La funzione di attivazione tipica di un neurone. (b) La funzione V=g(λu)
mostrata per tre valori del parametro l. ((c) Relazione inversa u=g-1 (V) della funzione V=g(λu).
(d) Il contributo di g all'energia della relazione 4.15 in funzione di V. (FONTE P.N.A.S.
81/1984/J.J. HOPFIELD)
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 amplificatori. 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.
Si è visto che le reti di Hopfield nella loro evoluzione nello spazio degli stati
convergono verso stati di energia computazionale minima. Questi stati spesso
corrispondono a minimi locali di energia, e se la rete implementa la soluzione di un
problema, il minimo trovato non è detto che corrisponda alla soluzione ottimale.
Kirkpatrick ed altri13 hanno introdotto nel 1983 una nuova procedura per avvicinarsi al
minimo globale della funzione energia. La procedura elaborata deriva da
un'applicazione della meccanica statistica alla ricerca delle soluzioni di problemi di
ottimizzazione combinatoria, in particolare essa deriva dal metodo Monte Carlo di
Metropolis, che permette un efficiente simulazione di un sistema fisico in equilibrio
termico ad una data temperatura. La rete cui si applica la nuova procedura è la macchina
di Boltzmann. Si vedranno adesso le considerazioni che hanno portato
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.
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 50
4.17
Z è la funzione di partizione degli insiemi canonici che è legata all'energia libera di
Helmholtz dalla relazione: F = - kT ln(Z). La 4.17 esprime che la densità di probabilità
di una particolare configurazione del sistema corrispondente al microstato v è
proporzionale a exp(-Ev/kT), e corrisponde alla distribuzione di Boltzmann. Con le
premesse fatte si esaminerà adesso il metodo Monte Carlo di Metropolis, che permette
di generare possibili configurazioni di un sistema 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;
14
C. Kittel , “Introduzione alla Fisica dello Stato Solido”, Boringhieri 1971, Terza edizione.
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 52
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.
4.19
4.20
La 4.20 è la funzione di attivazione della macchina di Boltzmann, essa è una
sigmoide ed esprime la probabilità di attivazione del neurone i (vedi figura 4.4). La
regola di probabilità espressa dalla funzione 4.18 è uguale alla distribuzione di
probabilità di un sistema fisico a due stati di energia A e B. Un sistema di particelle a
contatto con un termostato a una data temperatura raggiungerà l'equilibrio termico, e la
probabilità di trovare il sistema in un dato stato globale segue la distribuzione di
Boltzmann. In modo concorde una rete di neuroni che segue la regola di decisione 4.20,
raggiungerà uno stato di equilibrio termico a temperatura T nel quale la probabilità
relativa dei due stati della rete segue la distribuzione di Boltzmann:
pa/pb = exp(-Ea - Eb)/T) 4.21
in tale relazione pa e pb sono rispettivamente le probabilità che il sistema si trovi nello
stato A o B di energia Ea e Eb . Si noti che l'equilibrio termico corrisponde a una
distribuzione di probabilità sugli stati stabile. Per un valore di T=0, il sistema si
comporta come una semplice rete di Hopfield discreta, la 4.20 diventa una funzione a
gradino come nella rete discreta di Hopfield. Per valori elevati di T, pi è pari circa a 0.5
ed il sistema presenta stati di attivazione casuali. Gli stati metastabili della macchina
di Bolzmann sono legati al parametro T della 4.20, infatti il loro numero cresce con la
temperatura T. Per quanto detto è possibile pensare ad una analogia tra gli stati
metastabili della macchina di Boltzmann e la configurazione dei difetti reticolari.
L'annealing simulato implementato nella macchina di Boltzmann non è un vero
algoritmo di apprendimento, piuttosto è una procedura utilizzata nella fase di
funzionamento della rete successiva all'apprendimento. La macchina di Boltzmann viene
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 54
15
S.E. Fahlman G.E. Hinton. “Connectionist Architectures for Artificial Intelligence”. IEEE
Computer, Gennaio 1987, pag. 100-109.
Reti Neurali: modelli e aspetti applicativi: Cap 4 Reti di Hopfield e Macchina di Boltzmann 55
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.
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 56
5.1 - INTRODUZIONE
In questo capitolo si approfondiranno gli sviluppi di uno dei primi modelli di rete di
neuroni ad apprendimento spontaneo, il perceptrone di Rosemblatt. Il perceptrone nasce
come un modello semplificato del sistema nervoso, di cui avrebbe dovuto duplicare le
funzioni cognitive. Rosemblatt proponeva il modello non come un dispositivo logico
equivalente alla macchina di Turing, bensì come un sistema capace di effettuare
associazioni fra stimoli simili. Le sue differenze rispetto un sistema logico erano notevoli,
infatti le sue risposte a stimoli nuovi non erano a priori prevedibili, essendo
determinate dai concetti appresi precedentemente, inoltre esso riusciva a funzionare
anche in presenza di rumore sul segnale di ingresso. Saranno esposti più avanti i principi
di funzionamento del perceptrone semplice che deriva direttamente dal modello di
Rosemblatt e dell'evoluzione successiva 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.
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 57
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 ingressi del
neurone i, le regioni di appartenenza degli input alle varie classi, separate da un
16
Frank Rosemblatt, “The perceptron, a probabilistic model for information storage and
organization in the brain”, Psychological review, 65 pag 386-408.
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 utilizzata per modificare i pesi di connessione dei neuroni che
forniscono una risposta scorretta. La regola delta è:
5.2
Vi* è l'uscita desiderata, η è un numero positivo minore di 1, Ui e Vi sono
rispettivamente l'ingresso e l'uscita del perceptrone. La scelta di η controlla la
stabilità e la velocità di convergenza dell'apprendimento al giusto risultato.
L'apprendimento avviene in modo iterativo secondo la procedura seguente:
1. Inizializzazione pesi e soglie. In questa fase vengono inizializzati a caso, a valori
diversi da zero, i pesi e la soglia del neurone di uscita.
2. Fase di apprendimento. In questa fase viene presentato un nuovo ingresso al
perceptrone ed è calcolata l'uscita, in base alla quale viene applicata
iterativamente la regola delta esposta. Nei casi semplici l'algoritmo converge, per
cui dopo un certo numero di passi le modificazioni da apportare ai pesi sono
nulle, e la risposta fornita dalla rete è quella giusta.
17
B. Widrow e M. Hoff, “Adaptive switching circuits”, Institute of Radio Engineers, 1960
WESCON Convention, Record Part IV, pag 96-104.
Reti Neurali: modelli e aspetti applicativi: 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-Vi*)
FIGURA 5.1a - Sono mostrati due schemi dell'originale perceptrone di Rosemblatt.. (FONTE
IEEE ASSP MAGAZINE 4/1987/R. P. LIPPMANN)
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 60
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)
Rosemblatt ha provato che se gli ingressi delle due classi presentati al perceptrone sono
separabili (cioè esiste un iperpiano che le divide nello spazio degli input in due
regioni), allora la procedura su esposta converge sempre. Uno dei problemi della
procedura di convergenza del perceptrone è che essa può oscillare continuamente
quando gli input non sono separabili. Ad esempio un perceptrone non può calcolare un
OR esclusivo, poiché vi è una sovrapposizione di classi. Questo limite originò l'aspra
critica di Minsky e Papert ai modelli basati sul perceptrone. Consideriamo il problema
dello XOR18 la tabella della verità della funzione logica è la seguente:
Tabella della verità della Funzione Logica XOR. (5.4)
INPUT 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”, The
MIT Press, Cambridge 1989.
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 61
E' evidente il paradosso sui pesi T1 e T2 , i quali devono essere ambedue maggiori della
soglia S mentre la somma T1 + T2 è minore di S. Il problema dello XOR è
rappresentato in figura 5.2 nello spazio degli stati degli ingressi. La figura 5.2 mostra
che è impossibile tracciare una retta corrispondente alla regione di decisione per il
problema XOR, mentre si nota la risolvibilità delle operazioni logiche AND e OR.
La retta di separazione corrisponde per 2 input all'equazione: S = V1T1 + V2T2.
Con 3 input si ha il piano S = V1T1 + V2T2 + V3 T3. In generale la regione di
decisione corrisponde a un iperpiano:
Tutte le funzioni per le quali esiste una regione di decisione sono dette linearmente
separabili. Consideriamo adesso la funzione logica seguente:
Tabella della verità della Funzione Logica XOR.
INPUT 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.
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 grafica
delle funzioni logiche AND, OR e XOR, e della loro solubilità tramite il perceptrone.
(FONTE Exploration in P.D.P 1989/D. E. RUMELHART)
FIGURA 5.3 - Perceptrone con uno strato di neuroni nascosto e 3 nodi in grado di risolvere la
funzione XOR, la cui rappresentazione grafica e mostrata a destra. (FONTE Exploration in
P.D.P 1989/D. E. RUMELHART)
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 63
I limiti del perceptrone di Rosemblatt sono stati superati con l'introduzione di nuove
regole di apprendimento e nuove topologie di rete. I perceptroni multistrato sono reti
con uno o più livelli di neuroni nascosti tra i neuroni di ingresso e uscita.
Un perceptrone a tre livelli è mostrato in figura 5.4a. La mancanza di adeguate regole di
apprendimento non ha permesso in passato la diffusione dei perceptroni multistrato.
Solo recentemente sono state introdotte nuove regole di apprendimento che, sebbene non
ne sia stata provata la convergenza, si sono dimostrate utili nella maggior parte dei
problemi cui sono state applicate. Si considerano adesso perceptroni multistrato feed-
forward con funzione di attivazione hard-limiter e con un solo nodo di uscita, ai quali
viene applicata la regola delta di apprendimento . Si è già visto che la regione di decisione
di un perceptrone a singolo strato è un iperpiano di dimensioni uguale a N-1 dove N e il
numero di neuroni di ingresso. Un perceptrone a due strati ha una regione di decisione
convessa illimitata di forma arbitraria. La regione di decisione convessa è formata dalle
intersezioni degli iperpiani di decisione dei perceptroni semplici del primo livello. Tali
regioni convesse sono formate al massimo di un numero di lati uguale ai neuroni di uscita
dei perceptroni semplici del primo strato, detti per semplicità nodi . Questa analisi porta
a adeguare il numero di nodi di un perceptrone multistrato alla complessità del un
problema da risolvere. Ad esempio due livelli sono sufficienti a risolvere il problema
dello XOR come è mostrato nella figura 5.3. Rumelhart ed altri hanno provato che in un
perceptrone feed-forward sono sufficienti tre strati di neuroni per generare una regione di
decisione arbitrariamente complessa per complicati problemi di classificazione. Inoltre il
numero di nodi del secondo strato deve essere maggiore di uno quando le regioni di
decisione sono disconnesse nel caso peggiore deve essere uguale al numero di
disconnessioni (vedi figura 5.5).
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 IEEE
ASSP MAGAZINE 4/1987/R. P. Lippmann)
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, due
e tre strati. I nodi utilizzano una funzione di attivazione hard-limiter non lineare. (FONTE
IEEE ASSP MAGAZINE 4/1987/R. P.Lippmann)
5.5
19
D. E: Rumelhart, G. Hinton e R.J. Williams, “Learning representations by back-propagating
errors”, Nature Vol. 323, 9 ottobre 1986.
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 66
5.6
Vi è l'uscita dell'ultimo livello della rete, Vi* è 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:
5.8
Nella 5.8 v è l'uscita del nodo i oppure un ingresso, mentre la derivata δe/δδu è un
termine che esprime l'errore per il nodo j. Se il nodo è di uscita si ha vi = Vi .
5.9
Nel caso di nodi interni nascosti si ha:
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 67
20
Luis B. Almeida, "Backpropagation in perceptron with feedback", NATO ASI Series 1, Vol.
F41 Neural Computers Springer-Verlag Berlino 1988.
Reti Neurali: modelli e aspetti applicativi: Cap 5 Altri modelli: Perceptroni e Reti di Kohonen 68
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:
5.12
Il procedimento viene ripetuto presentando un nuovo ingresso.
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 di
una rete autoorganizzante di Kohonen. (FONTE IEEE ASSP MAGAZINE 4/1987/R. P. Lippmann)
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 70
6.1 - INTRODUZIONE
21
Mitsuo Takeda e Joseph W. Goodman, "Neural networks for computation: number
representations and programming complexity", Applied Optics, Vol. 25, Num. 18, 15 Settembre
1986, pag. 3033-3046.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 72
6.1
Ad esempio, con q=6, K=2, M=3, le configurazioni associate al numero 5 sono 100 100,
010 001, 001 010, 100 001, e cosi via, infatti applicando la formula 6.1 si ha:
Per esprimere il numero N si devono impiegare M lgM+1 (N+1) elementi. Si noti che gli
schemi descritti precedentemente si possono ottenere come casi particolari dello
schema gruppi-pesi. Ponendo M = 1 e K = q si ha lo schema binario, mentre con M = q
e K = 1 si ottiene lo schema somma semplice. Altre rappresentazioni sono utilizzate
per numeri interi positivi e negativi, numeri complessi e numeri reali. Per numeri interi
positivi e negativi si può adottare la seguente espressione:
6.2
dove l'operazione 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)],
-(k’-1)
con un incremento minimo pari a (M + 1) . I sistemi di rappresentazione visti si
basano tutti su una corrispondenza lineare fra lo spazio numerico e lo spazio degli
stati della rete. Altri sistemi basati su corrispondenze non lineari, come il sistema a
virgola mobile, non possono essere utilizzati in quanto non conducono ad una funzione
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.4
La conversione analogica/digitale di x può essere ricondotta alla minimizzazione della
forma quadratica:
6.5
Per garantire che i valori delle tensioni di uscita Vi degli amplificatori, alla fine del
processo di minimizzazione siano sufficientemente vicini a 0 o 1, in modo da poter
essere identificati come livelli logici digitali, bisogna aggiungere ad E il termine seguente:
6.6
Tale termine è minimo per V = 1 o V = 0. L'introduzione del termine 6.6 è necessaria
22
J.J. Hopfield,"Computing with Neural Circuit: A Model",Science,Num.233,1986, pag.625-633.
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 amplificatore all'ingresso degli altri mediante resistenze di
conduttanza 2(i+j) . La seconda condizione 6.8 consiste nel fornire le correnti di
ingresso attraverso resistori di conduttanza pari a 2i collegati alla tensione di ingresso x,
più altri resistori di conduttanza 2(2i-1) collegati a un potenziale di riferimento di -1 Volt
(vedi matrice delle connessioni in figura 6.1).
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 75
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)
23
dipendente dal tempo ottenuto dalla combinazione lineare di impulsi di forma
gaussiana nota (vedi figura 6.2). Siano x (i = 1,...,N) i campioni del segnale x(t) presi
ai tempi t1 ,t2 ,...,tN , e si assuma N ≅ 100. L'impulso singolo è descritto dalla
seguente funzione gaussiana:
6.9
in tale funzione il parametro ρ può assumere un numero finito di possibili valori, mentre
l'istante di tempo t, in corrispondenza del quale si ha il valore massimo normalizzato
dell'impulso, coincide con uno degli istanti N fissati. Gli impulsi che costituiscono
l'insieme delle funzioni base dello spazio di x(t), sono descritti dagli indici ρ e t e
ognuna di esse avrà un coefficiente binario Vρt che corrisponde all'uscita
dell'amplificatore i e che rappresenta la presenza di ogni funzione base nella
composizione del segnale 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/D
Converter, Signal Decision Circuit, and a Linear Programming Circuit", IEEE Transactions
on Circuits and Systems, Vol. CAS-33, Num. 5, Maggio 1986.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 77
6.12
Il circuito della rete è mostrato in figura 6.2. Il segnale xi entra in parallelo nella rete e
produce delle correnti negli ingressi degli amplificatori attraverso le resistenze di
ingresso. Al termine del processo di minimizzazione, i valori digitali Vρt delle uscite
degli amplificatori indicheranno la presenza o meno del corrispondente impulso nella
forma d'onda da scomporre. Il convertitore A/D descritto nel paragrafo precedente
può essere visto come un caso particolare del circuito generale appena visto.
Nel convertitore A/D il segnale di ingresso è unidimensionale e consiste di un solo
valore analogico campionato in un solo punto. Il set di funzioni base è 2n n = 0,...,(n-1).
Il vettore binario in uscita dal circuito comprende i coefficienti che descrivono la
somma più vicina a x nel set di funzioni base considerato. Si noti che per i due problemi
considerati la base non è ortogonale, questo allo scopo di non annullare i termini che
definiscono i pesi delle connessioni.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 78
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
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.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 81
FIGURA 6.3 - Una figura stilizzata della rete implementate il problema TSP. Ogni neurone e
simbolicamente indicato da un quadrato. La soluzione del problema e rappresentata dai
quadrati scuri come nella matrice 6.14. Sono indicate anche le connessioni di due differenti
neuroni.(FONTE SCIENCE VOL.33/HOPFIELD)
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 82
6.16
V è un vettore le cui N componenti rappresentano le variabili del problema , A e Dj sono
vettori di N dimensioni, i cui elementi costanti costituiscono i coefficienti delle
variabili, rispettivamente nella funzione 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 amplificatori le cui uscite Vi rappresentano il vettore
V, M amplificatori di uscita Ψj cui sono associati l'insieme dei vincoli , j indica se è
soddisfatta la corrispondente equazione di vincolo. L'uscita normale Vi dell'amplificatore
i è connessa all'ingresso dell'amplificatore, cui corrisponde la j-esima equazione di vincolo
mediante una resistenza di conduttanza Dji . L'uscita inversa j dell'amplificatore j è
connessa all'ingresso dell'amplificatore i con una resistenza con conduttanza -Dji .
All'ingresso degli N amplificatori con uscita Vi si ha una corrente ottenuta dalla somma
di una corrente esterna proporzionale al coefficiente -A e le correnti fornite dagli altri
M amplificatori. La corrente in ingresso agli M amplificatori di uscita Ψj è data dalla
somma di una corrente esterna proporzionale a -B e le correnti fornite dagli N
amplificatori. Gli amplificatori Vi presentano un ingresso collegato a massa mediante
un gruppo parallelo costituito da una capacità Ci e una resistenza ρi , hanno inoltre una
funzione di attivazione Vi = g(Ui ) non lineare. Gli amplificatori j hanno una
funzione di attivazione non lineare definita come:
6.17
nella 6.18 si ha f(z) = 0 per z ≥ 0, f(z) = -z per z < 0. Tale funzione fa assumere una
uscita positiva Ψj.>> 1 all'amplificatore j corrispondente a un'equazione di vincolo
violata. Considerando trascurabile il tempo di risposta degli M amplificatori Ψj rispetto
quello degli N amplificatori Vi , le equazioni dinamiche del circuito calcolate per le
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 83
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 -
Schema
circuitale della
rete neurale di
Hopfield per un
problema di
programmazione
lineare.
(FONTE
APPLIED
OPTICS
TAKEDA/GOOD
MAN/1986)
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 84
6.20
nel rispetto dei vincoli:
6.21
Nella figura 6.5 sono riportati un esempio di matrice di costo ed un esempio di
soluzione in forma di matrice di flusso. La figura 6.5 mostra come può essere
descritta la matrice di flusso in termini dei valori di attivazione Vi delle unità della rete
neurale. Ogni elemento fXY di tale matrice viene codificato mediante q neuroni in tal
modo il numero totale di neuroni necessario per rappresentare la matrice di flusso è
N= qmn. Lo stato di attivazione di ciascun neurone viene indicato con VXY,i dove gli
indici XY si riferiscono all'elemento della matrice di flusso mentre i è un indice sui q
neuroni. Utilizzando lo schema di rappresentazione gruppi-pesi l'elemento fXY assume
la forma:
6.22
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 85
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:
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 86
6.24
6.25
6.26
Sostituendo la 6.26 in un'espressione di energia si ottiene:
6.27
Nella 6.27 il primo è un termine di minimizzazione binaria analogo al primo termine
della 6.24. La 6.27 può essere riportata nella forma dell'energia di Hopfield trovando
cosi le espressioni dei pesi e delle correnti in input.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 89
24
A.V.Aho, J.E. Hopcrroft e J.D. Ullman, The Design and Analysis of Computer Algorithms,
Addison-Wesley 1974.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 91
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 to
read aloud", The Johns Hopkins University EECS Technical Report 186/01.
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.
Reti Neurali: modelli e aspetti applicativi: Cap 6 Applicazioni di Reti Neurali 93
FIGURA 6.6 - In
alto si ha lo
schema della rete
NETtalk, in basso
un grafico
rappresentante le
prestazioni della
rete. Le diverse
curve si
riferiscono alle
prestazioni di
reti con 120, 60,
30, 15, 0 unità
nascoste. In
ordinata si ha la
percentuale di
errori, in ascissa
il numero di
parole che la
rete inpara. Si
noti che i migliori
risultati si hanno
con 120 unità
nascoste, e che le
performance della
rete crescono col
numero delle
parole imparate.
(FONTE
SEJNOWSKY)
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 94
7.1 - INTRODUZIONE
Nei capitoli precedenti (rif. par. 4.4) si è già vista la possibilità di utilizzare il modello
discreto di Hopfield per il progetto di memorie associative o memorie a contenuto
indirizzabile (C.A.M.). In questo capitolo, dopo un approfondimento su nuove
regole di apprendimento, sono presentati i risultati di simulazioni software di
memorie associative basate sul modello discreto di Hopfield. Sono stati utilizzati due
distinti algoritmi di memorizzazione, inizialmente la regola di Hebb, successivamente
si è utilizzata la regola di apprendimento di S.H. Oh. . Le prove fatte evidenziano le
caratteristiche e i limiti di memorie associative implementate col modello discreto di
Hopfield. Inoltre risaltano i vantaggi di utilizzo della regola di Oh.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 95
I problemi come il riconoscimento di forme appartengono alla classe dei problemi aleatori
e non si prestano, per loro natura, a una soluzione algoritmica semplice. Il termine
aleatorio indica la impossibilita di definire il problema in maniera concisa e completa.
L’aleatorietà del problema è legata alla quantità di informazione richiesta per definirlo e
all'altissimo numero di soluzioni possibili. Dalla definizione di entropia di
Shannon come misura dell'informazione contenuta in un messaggio si può affermare
che un problema aleatorio ha un alto grado di entropia rispetto un problema
strutturato. Per poter risolvere problemi aleatori, oltre ai metodi euristici, già menzionati,
si potrebbero memorizzare tutte le soluzioni possibili e dopo utilizzare dei metodi per
associare direttamente i dati in ingresso con le informazioni immagazzinate, senza
bisogno di un'esatta corrispondenza. Nelle memorie convenzionali i dati memorizzati
sono accessibili mediante degli indirizzi e informazioni parziali sono insufficienti per
richiamare i dati. Le memorie biologiche sembrano essere di differente natura. L'intero
set di caratteristiche connesso a un concetto memorizzato può essere ricavato da un
set parziale di informazioni, mediante dei processi associativi. A questi processi di
associazione si ispira il progetto di memorie associative costruite mediante reti
neurali. Diversi studiosi26 hanno mostrato la possibilità di utilizzare memorie associative
per problemi di riconoscimento (vedi figura 7.1a).
26
K. Nakano, "Associatron- A Model of Associative Memory", IEEE Transactions on Systems,
Man, and Cybernetics, Vol. SMC-2, Num. 3, Luglio 1972.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 96
Si approfondisce adesso l'analisi del modello discreto di Hopfield . E' già noto il modo
in cui il modello può essere utilizzato come memoria associativa: dato un set di M vettori
Vis binari (0,1) i = 1,..,N s = 1,..,M, essi vengono memorizzati in una matrice T in
accordo alla regola di Hebb seguente:
7.1
Il termine Mδij permette di rendere nulli i termini diagonali (Tij = 0).
La memoria può essere indirizzata moltiplicando la matrice T per uno dei vettore di
memorizzati ad esempio Vis’ , l'elemento Vis’ V in uscita risulta:
7.2
il valore medio del termine tra parentesi quadre è (N-1)/2 per s=s' mentre è nullo se s≠s'
per cui estraendo il termine s'-esimo dalla sommatoria con indice s si ha:
7.3
coefficienti à random:
7.4
se N è sufficientemente più grande di M allora Vis’ è approssimativamente un
autovettore della matrice T, inoltre il rumore è approssimativamente gaussiano e la
probabilità di errore su un singolo bit e:
otteniamo il valore Vis’ memorizzato. La grandezza del termine di rumore nella 7.3
cresce col numero M di vettori memorizzati e con l'ammontare della correlazione tra i
vettori memorizzati (la correlazione e proporzionale al numero di bit uguali tra due
vettori). Se i vettori sono ortogonali il rumore si annulla e i vettori Vs sono esattamente
autovettori della matrice T. Per quanto detto il numero M di vettori memorizzabili in
una matrice T di N dimensioni e limitato ad una frazione di N. Hopfield ha stimato
Mmax ≅ 0.15N,(M 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)).
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 99
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 utilizzate come algoritmi di memorizzazione in memorie associative.
Tali regole consistono in una modifica della originale regola di Hebb, e in condizioni
particolari si riducono in essa. Per esprimere tali regole in una forma più concisa
definiamo la regola di Hebb in forma incrementale:
7.5
Nella 7.5 TijAB denota una matrice T nella quale sono stati memorizzati i vettori A e B,
l'insieme delle Vic sono le componenti del nuovo vettore C da memorizzare. Il primo
algoritmo è noto come "Adaline learning rule", ed è dato da:
7.6
|| AB
Il termine: V i è una misura della correlazione tra la matrice T 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.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 100
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 ,
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.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 101
7.9
Tale vettore è memorizzato in una matrice T' mediante la seguente espressione:
7.10
Lo stato successivo del neurone è definito da:
28
Sang-Hoon Oh, Tae-Hoon Yoon e Jae-Chang Kim, "Associative memory model based on
neural networks: modification of Hopfield model", Optics Letters, Vol.13, Num.1, Gen. 1988.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 102
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. Utilizzando le 7.13 la 7.12 può
essere riscritta come:
7.14
Dalla 7.14 si nota che è espresso utilizzando solamente gli elementi Tij della matrice
T e lo stato attuale ViS . La 7.14 mostra che il prossimo stato corrisponde agli
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 in una
matrice di N neuroni. Tale miglioramento di prestazioni è evidenziato nelle simulazioni
descritte più avanti.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 103
In basso alle tabelle sono sintetizzati i risultati dei test. Le varie righe, che si riferiscono ai
vettori memorizzati totalizzano per ogni vettore la percentuale di successi dei richiami,
il numero di stati oscillatori e il numero di attrazioni indotte sui vettori di ingresso non
corrispondenti (ad esempio il vettore V1 può attrarre il vettore ingresso U2 costruito dal
vettore memorizzato V2 invertendo un certo numero di bit). Le simulazioni effettuate
sono:
1. - HOP16211, HOP16221, HOP16311, HOP16321
2. - HOP20211, HOP20221, HOP20311, HOP20321
3. - HOP3231, HOP3232, HOP3241, HOP3242, HOP3251, HOP3252
4. - PARE64412, PARE64411, PARE64422, PARE64421, PARE64522, PARE64521,
PARE128422, PARE128421, PARE128522, PARE128521
5 - HOP120221, HOP120321, HOP128621
Le simulazioni sono basate su diversi set di dati. I primi 5 set sono vettori di 16, 20, 32,
64 e 128 bit utilizzati rispettivamente nelle simulazioni 1, 2, 3 e 4. Gli ultimi due set di dati
di 120 e 128 bit sono impiegati nella simulazione 5. Nelle routine base dei programmi
utilizzati il termine del ciclo delle iterazioni è stabilito dalle seguenti condizioni:
1. il vettore in uscita è uguale a quello in ingresso.
2. il numero delle iterazioni supera un numero massimo di iterazioni prefissato I .
Segue adesso un breve commento ad ogni simulazione.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 105
7.6.1 - SIMULAZIONE 1
Nelle prove della prima simulazione (pag. A.1-A.2) si è utilizzato un set di 3 vettori di
16 bit e si sono misurare le prestazioni della memoria, presentando in ingresso tutti i 2
vettori possibili. Si sono utilizzate sia la regola di Hebb, sia la regola di Oh,
memorizzando prima 2 vettori e successivamente 3 vettori. Il terzo test mostra i
risultati: nelle prove HOP16311 e HOP16211, fatte con la regola di Hebb, il vettore 8768
caratterizzato da una bassa percentuale di 0 è completamente irrecuperabile e si ha la
presenza di 4 stati attrattori metastabili 577, 3478, 53388 e 56766 nella prova
HOP16211 e uno stato metastabile 48283 nella prova HOP16311; lo stesso vettore 8768
risulta perfettamente richiamabile insieme a tutti i vettori normali e complemento
memorizzati nelle prove HOP16312 e HOP16212, nelle quali è applicata la regola di Oh.
7.6.2 - SIMULAZIONE 2
7.6.3 - SIMULAZIONE 3
7.6.4 - SIMULAZIONE 4
7.6.5 - SIMULAZIONE 5
Quest'ultima simulazione (da pag. A.25) indica l'importanza del codice utilizzato per
la rappresentazione di dati alfanumerici memorizzati. Nella prova HOP120221 e
HOP120321 si è utilizzato 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 utilizzo 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 utilizzo è intrinseco nel modello di Hopfield e non può essere superato
con la regola di Oh. Una soluzione è di mantenere la media delle distanze di
Hamming H uguale circa a N/2. Il codice binario a 8 bit utilizzato nella prova
HOP128621 permette di aumentare notevolmente il numero di vettori memorizzabili.
Nell'esempio vengono memorizzate 6 stringhe di 16 lettere con buone prestazioni
della memoria.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 108
29
J. Jang ed altri, "Optical implementation of the Hopfield model for two dimensional
associative memory", Optics Letters, Vol. 13, Num. 3, Marzo 1988.
30
N. H. Farthat, D. Psaltis, A. Prata e E. Paek, "Optical implementation of the Hopfield
Model", Applied Optics, Vol. 24, Num.10, 15 Maggio 1985.
Reti Neurali: modelli e aspetti applicativi: Cap 7 MA basate sul MDH e nuovi algoritmi di memorizzazione 109
7.8 - CONCLUSIONI
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 Computability, Formal Languages and Automata”, Prentice
Hall 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 Discrete
Variable Computer)”, Princeton University 1945.
5
Michael Conrad, "On Design Principles\ for a Molecular Computer", Communications of
the ACM 1, Vol. 28, Num. 5, Maggio 1985.
6
J.J. Hopfield, "Physics, biological computation, and complementarity", Proceedings of
Niels Bohr Centenary Symposium, Copenhagen 4 Ottobre 1985.
7
T. J. Sejnowsky, "Neural Network Learning Algorithms", NATO ASI Series, Vol. F41,
Springer-Verlag, Berlino 1988.
8
Donald O. Hebb, “The Organization of Behavior”, Wiley, New York 1949.
9
Kohonen Teuvo. “An Introduction to Neural Computing”, Neural Networks, Vol. 1. 1988,
pag 3-16.
10
Richard P. Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP
Magazine, Aprile 1987, pag 4-22 .
11
J.J.Hopfield, "Neural Networks and Physical Systems with Emergent Collective
Computational Abilities", Proc. Natl. Acad. Sci. 179, pag. 2554 (1982).
12
J.J Hopfield, “Neuron with graded response have collective computational properties like 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 Intelligence”. IEEE
Computer, Gennaio 1987, pag. 100-109.
16
Frank Rosemblatt, “The perceptron, a probabilistic model for information storage and
organization in the brain”, Psychological review, 65 pag 386-408.
17
B. Widrow e M. Hoff, “Adaptive switching circuits”, Institute of Radio Engineers, 1960
WESCON Convention, Record Part IV, pag 96-104.
18
D. E. Rumelhart, J. L. McClelland, “Exploration in Parallel Distributed Processing”, The
Reti Neurali: modelli e aspetti applicativi 112
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
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
Reti Neurali: modelli e aspetti applicativi 115