128
Facoltà di Scienze Matematiche Fisiche e Naturali Tesi di laurea in Fisica Realizzazione di una rete neuronale per la riduzione dell’informazione distribuita Relatori Prof. Rinaldo Santonico Il laureando Mauro Cirinei Dott. Gaetano Salina Anno Accademico 1998/99

Realizzazione di una rete neuronale per la riduzione dell

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Realizzazione di una rete neuronale per la riduzione dell

Facoltà di Scienze Matematiche Fisiche e Naturali

Tesi di laurea in Fisica

Realizzazione di una reteneuronale per la riduzione

dell’informazione distribuita

RelatoriProf. Rinaldo Santonico Il laureando

Mauro Cirinei Dott. Gaetano Salina

Anno Accademico 1998/99

Page 2: Realizzazione di una rete neuronale per la riduzione dell

A due bellissime Giulia chehanno la stessa età e a cuiauguro gli stessi bellissimisogni.

Page 3: Realizzazione di una rete neuronale per la riduzione dell

Indice

Prefazione

Capitolo I LANN27

1.1 Le reti neuronali ad attrattori………………………………………….. I.11.2 Il modello della LANN27……………………………………………... I.21.3 Probabilità di transizione……………………………………………… I.81.4 I test sulla LANN27…………………………………………………... I.13

Capitolo II La teoria

2.1 Cosa si vuole che faccia la rete di output………………………………. II.22.2 Il modello teorico…………………..………………………………….. II.32.3 Un esempio del funzionamento……...………………………..………. II.62.4 Alcuni esempi di possibili dinamiche di apprendimento……………… II.72.5 Conclusioni……………………………………………………………. II.12

Capitolo III L’hardware

3.1 La struttura della rete di output………………………………………... III.13.1.1 Il neurone di output……………………………………………………….. III.23.1.2 La sinapsi interstrato……………………………………………………… III.63.1.3 Il neurone inibitore………………………………………………………… III.113.1.4 La sinapsi laterale e la sinapsi del neurone inibitore……………………….. III.13

3.2 L’interfaccia digitale ………………………………………………….. III.143.3 Organizzazione della rete di output…………………………………… III.17

Capitolo IV Setup e test

4.1 Regolazioni preliminari………………………………………………… IV.14.2 Verifica del loop sulle schede 1N27S………………………………….. IV.34.3 I test con la LANN27…………………………………………………... IV.8

4.3.1 Probabilità di transizione alta……………………………………………… IV.84.3.2 Probabilità di transizione bassa…………………………………………… IV.14

4.4 Analisi dei risultati……………………………………………………... IV.30

Page 4: Realizzazione di una rete neuronale per la riduzione dell

Capitolo V La modifica

5.1 Un termine nuovo nelle equazioni……………………………………… V.15.2 Implementazione hardware ……………………………………………. V.45.3 Realizzazione della scheda di modifica………………………………… V.6

Capitolo VI Test finali e conclusioni

6.1 Regolazioni preliminari………………………………………………… VI.16.2 I test con la modifica…………………………………………………... VI.5

6.2.1 Modalità di svolgimento dei test………………………………………… VI.56.2.2 Le misure……………………………………………………………………VI.56.2.3 I commenti…………………………………………………………………..VI.17

6.3 Conclusioni……………………………………………………………... VI.17

Appendice A Il software

Appendice B I trimmer

B.1 I trimmer sul back-plane……………………………………………….. B.1B.2 I trimmer sulla scheda 1N27S………………………………………….. B.2B.3 I trimmer sulla scheda di modifica………………………………………B.3

Appendice C Schemi elettrici e documentazione

Bibliografia

Ringraziamenti

Page 5: Realizzazione di una rete neuronale per la riduzione dell

Prefazione

L’esperimento LANN (Learning Attractor Neural Network), ora NALS, finanziato dalla

commissione V dell’Istituto Nazionale di Fisica Nucleare si è prefisso di implementare

elettronicamente una rete neuronale ad attrattori.

Negli ultimi anni gli studi sulle reti neuronali, intese come l’insieme delle cellule nervose che

costituiscono la corteccia cerebrale dei primati, hanno vissuto un periodo di notevole fermento.

Lo studio delle reti neuronali investe varie discipline scientifiche: la biologia, la neurofisiologia,

la psicologia, la fisica, la matematica, l’informatica e l’ingegneria elettronica. Si può dire anzi

che uno dei motivi di interesse di tale studio stia proprio nella forte interazione tra queste

discipline che altrimenti sarebbero lontane.

In questo ambito la fisica si pone a metà strada tra la biologia e la psicologia. Lo scopo della

fisica è di fare da ponte tra questi due diversi aspetti dello studio del cervello attraverso gli

strumenti forniti da una disciplina ormai consolidata come la meccanica statistica.

Il punto di svolta per quanto riguarda la fisica si ha con un articolo di Hopfield dell’82, in cui si

faceva notare che qualunque sistema fisico, la cui dinamica nello spazio delle fasi è dominata da

un certo numero di attrattori stabili, può essere usata come una memoria associativa. Un

sistema come LANN27 è in grado di auto-organizzarsi imparando dal flusso di stimoli esterni

creando delle rappresentazioni dinamiche, su lunghe scale di tempo, della statistica del flusso di

stimoli esterni

Questa rete ha delle proprietà che sono molto vicine a quelle della memoria umana: la sua

struttura, composta da ventisette neuroni totalmente connessi da 351 sinapsi, fa si che si venga

a formare una struttura sinaptica che funziona da memoria associativa indirizzabile per il

contenuto, ed è capace di correggere gli errori (pattern diversi ma sufficientemente simili

cadono nello stesso attrattore)

La rete è non super visionata. LANN27 è il nucleo centrale di un sistema più complesso che

vede anche una unità di input (retina) e una unità di output per l’interpretazione dei suoi stati di

equilibrio. Quest’ultima è l’argomento di questa tesi di laurea.

Page 6: Realizzazione di una rete neuronale per la riduzione dell

Capitolo I : Si presenta il progetto LANN27, illustrando le caratteristiche di una rete neuronale

ad attrattori

Capitolo II: Viene discussa la teoria del modello della Rete di Output

Capitolo III: Riguarda la implementazione hardware della rete. Vengono mostrati i blocchi

funzionali e i rispettivi circuiti elettronici. In fine si illustrerà la interfaccia digitale,

componente fondamentale per la gestione dell’intera rete.

Capitolo IV: Vengono discussi i test sistematici sul funzionamento dell’hardware e i primi test

effettuati collegando la Rete di Output con la LANN27. Si mostra la necessita di

una modifica all’elettronica della sinapsi inter strato.

Capitolo V: La realizzazione della modifica hardware alle sinapsi inter strato

Capitolo VI: La fase conclusiva con i test sulla modifica e la verifica del funzionamento della

rete come interprete dei segnali provenienti dalla LANN27.

Page 7: Realizzazione di una rete neuronale per la riduzione dell

I—1

Capitolo I “Il meccanismo del pensiero è basato suassociazioni di idee, il che vuol dire che se unapersona vestita di rosso ti da una martellata intesta, ogni volta che vedrai una persona vestitadi rosso il cervello, per evitare incontrisgradevoli, ‘salta’ concentrando la propriaattenzione su qualcos’altro.

(Jacopo Fo)

Lann 27

Questo primo capitilo è dedicato alla descrizione del progetto LANN 27, ne mostreremo le

principali caratteristiche. Verrà evidenziata la necessità della realizzazione della rete di

output per la interpretazione degli stati di equilibrio della LANN27.

1.1 Le reti neuronali ad attrattori

Le reti neuronali ad attrattori sono costituite da delle unità chiamate neuroni, che svolgono

il compito computazionale, connessi tra loro attraverso le sinapsi, che hanno la

caratteristica di modificare la propria efficacia in funzione degli stimoli che provengono

dall’esterno [1]. Ad esempio, una struttura di 3 neuroni completamente connessi è riportata

in figura 1.1.A. Stimolando i neuroni della rete ad una certa attività, è possibile

determinare una configurazione delle efficacia sinaptiche in modo che, l’attività globale

della rete si autosostenga una volta rimosso lo stimolo esterno. La rete è in grado di

modificarsi dinamicamente senza perdere la configurazione delle distribuzioni delle attività

dei neuroni, essendo realizzata tramite un elevato grado di feedback. Una importante

caratteristica delle reti neuronali è che stimolando il sistema in modo da modificare una

certa configurazione di equilibrio, se lo spostamento da questo è piccolo la rete sarà ancora

attratta verso il suo stato stabile.

L’attrattore è la configurazione stabile in cui la rete cade. La configurazione di tutte le

configurazioni associate ad un certo attrattore costituisce il bacino di attrazione.

Page 8: Realizzazione di una rete neuronale per la riduzione dell

I—2

L'attrattore rappresenta il prototipo della classe di pattern Cioè ogni volta che alla rete

viene presentato un pattern appartenente ad un certo bacino, la rete cade nell’attrattore

corrispondente quando lo stimolo esterno viene rimosso.

Figura 1.1.A: Struttura di una rete neuronale ad attratori composta da tre neuroni e tre sinapsi,

completamente connessa.

Page 9: Realizzazione di una rete neuronale per la riduzione dell

I—3

1.2 Il modello della LANN27.

Il progetto LANN27 consiste in una rete neuronale ad attrattori che ha le seguenti

caratteristiche: Esegue un apprendimento stocastico non supervisionato: cioè l’efficacia

sinaptica viene modificata con una certa probabilità, ogni volta che, vengono presentati in

ingresso gli stimoli che possano permettere la transizione, il tutto senza nessun tipo di

controllo esterno che possa influenzare questo processo. Possiede una memoria di tipo

eteroassociativo: il prototipo della classe di pattern presentati in ingresso e che viene

appreso può non coincidere con nessuno dei pattern presentati. E’ completamente

analogica: tutte le fasi di dinamica neuronale e sinaptica, (quest’ultima su piccole scale di

tempo), sono completamente analogiche; su grandi scale di tempo le sinapsi possono avere

solo tre stati stabili (labile, potenziato e depresso), il tutto tramite un meccanismo di

refresh anch’esso completamente analogico [2].

Si è verificato che la rete neuronale ad attrattori Lann27 gode anche della capacità di

palinsesto, cioè è in grado di dimenticare i pattern che non vengono più presentati per

apprenderne di nuovi.

Ora andiamo a vedere in dettaglio quali sono le equazioni della dinamica del neurone e

della sinapsi [3,4,5]

La rete ha 27 neuroni analogici completamente connessi da 351 sinapsi. Definiamo la

corrente afferente hi, i=1....27, al neurone i-esimo come:

h t J t s ti ij jj

( ) ( ) ( )==∑

1

27

(I.2.A)

dove Jij è l’efficacia della sinapsi che connette il neurone i con quello j, mentre sj(t) è una

variabile che può assumere i valori ±1 e che rappresenta lo stato del neurone j-esimo.

L’equazione che governa la dinamica del neurone è definita da:

s t t h t H tj j j( ) ( ( ) ( ))+ = +δ φ (1.2.B)

Page 10: Realizzazione di una rete neuronale per la riduzione dell

I—4

dove Hj(t) rappresenta lo stimolo esterno sul neurone j-esimo al tempo t, mentre φ(f(t)) è la

funzione di trasferimento del neurone. Nei neuroni di questo modello di rete neuronale si

ha φ(f(t)) = sign( f(t) ).

Il δt nella 1.2.B è molto più piccolo dei tempi caratteristici della dinamica delle sinapsi

perché si vuole che durante la dinamica neuronale, l’efficacia sinaptica sia considerata

costante. L’equazione che descrive la dinamica sinaptica è:

))t(J)t(J(J))t(J)t(J(J)t(B)t(J)t(J 0ijc0ijcijijc ω++−θ⋅−ω−−θ⋅++−=⋅

τ (I.2.C)

dove τc rappresenta la costante di tempo della sinapsi ed il termine B(t) è il termine di

apprendimento hebbiano:

( ) ( )B t s t s H t H s t s H t Hi i i i j j j j( ) ( ) ( ) ( ) ( )= − + − ⋅ − + −′ ′′ ′ ′′

ατ τ τ τ

(I.2.D)

dove <...>τ rappresenta il valore medio della grandezza tra parentesi, calcolato sul tempo τ

ed α rappresenta l’ampiezza del termine di apprendimento. I termini

(1.2.E)

rappresentano i termini di refresh stocastico, ± J0 sono le soglie (termini costanti) ed ω(t)

rappresenta il rumore bianco, con distribuzione di ampiezze gaussiana a media nulla e

varianza σ. La LANN27 è realizzata in modo tale che su scale di tempo confrontabili con

τc la sinapsi evolve con una dinamica completamente analogica, mentre su scale di tempo

più lunghe (t >> τc), l’efficacia sinaptica può assumere, come detto, solo tre valori +Jc

(potenziato),-Jc (depresso) e J0 (labile). Il termine di apprendimento hebbiano ha una parte

che ne fissa l’ampiezza e altre due che rappresentano, quella con indice i, il contributo del

neurone pre-sinaptico, quella con l’indice j, il contributo di quello post-sinaptico. I

contributi dei due neuroni sono calcolati in modo da ottenere la matrice dei pesi

simmetrica, e sono strutturati in modo tale che possano rappresentare alcuni aspetti del

modello biologico. Il termine si rappresenta il contributo alla dinamica neuronale e dipende

))t(J)t(J(J 0ijc ω−−θ⋅

)t(J)t(J(J 0ijc ω++−θ⋅

Page 11: Realizzazione di una rete neuronale per la riduzione dell

I—5

dello stato in cui si trova la rete (attrattore), Hi è lo stimolo esterno, che tipicamente e’

molto più forte di quello interno. Questo deriva sempre dal modello biologico, in cui

l’attività di un neurone è tipicamente molto più alta durante la presentazione dello stimolo

che dopo la sua rimozione.

La sottrazione dei valori medi è stata adottata per evitare che stimoli troppo lunghi

possano portare a modifiche troppo forti delle efficacia sinaptiche, altrimenti si avrebbe un

attrattore cosi profondo da non consentire più l’apprendimento di altri pattern.

Lo schema di una possibile dinamica di apprendimento della rete è riportato nella tabella

I.2.A che mostra le possibili transizioni della sinapsi in presenza dello stimolo esterno. p+

e p- rappresentano le probabilità di transizione rispettivamente dallo stato labile a quello

potenziato e dallo stato labile a quello depresso.

Page 12: Realizzazione di una rete neuronale per la riduzione dell

I—6

Stato iniziale attività d’input Stati accessibili probabilità di transizione

Sj = 1 Jij = 1 1

Jij = 1

Jij = 1 1 - q-

Sj = -1

Jij = 0 q-

Jij = 1 p+

Sj = 1

Jij = 0 1 - p+

Jij = 0

Jij = 0 1-p-

Sj = -1

Jij = -1 p-

Jij = 0 q+

Sj = 1

Jij = -1 1 - q+

Jij = -1

Sj = -1 Jij = -1 1

Tabella I.2.A: schema di apprendimento di LANN27.

Page 13: Realizzazione di una rete neuronale per la riduzione dell

I—7

Descriviamo brevemente le caratteristiche del “termine di refresh stocastico”.

Consideriamo la sinapsi nello stato stabile labile (associato a 0: Jij = 0), e stimoliamo i

neuroni i-esimo e j-esimo con un pattern composto da ξ1 = 1 e ξ2 = 11. In questo caso il

termine di learning è positivo. Mostriamo nella figura sotostante i due casi che si possono

presentare.

Figura 1.2.A: meccanismo di refresh stocastico, nel caso di mancata comparazione (a) e, invece, di avvenuto

clipping della sinapsi (b).

Nella figura a) è evidenziato in rosso il rumore e in nero lo stimolo esterno. In questo caso

non avviene la transizione e lo stimolo esterno, finito il tempo di presentazione, tende a

zero in modo esponenziale. Nella b) invece avviene una transizione verso lo stato

potenziato poiché il rumore ha incontrato il segnale proveniente dallo stimolo esterno. Un

discorso del tutto simile può essere fatto quando il prodotto delle attività dei neuroni pre e

post-sinaptici è negativo nel qual caso entra in gioco la comparazione con la soglia

negativa. Vediamo ora quali sono state le motivazioni che hanno indotto a introdurre un

meccanismo di refresh stocastico [8] nella dinamica delle sinapsi della rete neuronale ad

attrattori LANN27.

1 ξ1 e ξ2 rappresentano lo stimolo esterno sui neuroni i e j

-7,5 -5,0 -2,5 0,0 2,5 5,0 7,50

50

100

150

200

250

300

350

(a)

ampi

ezza

dei

segn

ali (m

V)

tempo (ms)-1m 0 1m 2m 3m 4m 5m

(b)

400

300

200

100

0

ampi

ezze

(mV

)

tempo (sec)

Page 14: Realizzazione di una rete neuronale per la riduzione dell

I—8

L’introduzione di un meccanismo di refresh stocastico permette una capacità ottimale della

rete accettabile, mantenendo una limitata profondità analogica (il massimo della capacità lo

si ottiene nel caso di transizioni delle efficacia sinaptiche deterministiche attraverso un

numero infinito di stati stabili).

Una ulteriore proprietà che si ha dall’introduzione di un meccanismo di refresh stocastico,

è che si possono definire delle probabilità (piccole) di transizione delle efficacia sinaptiche

anche in fase di retrieval1. L’effetto che questo meccanismo produce e’ che una volta

scavato un attrattore, la rete neuronale è in grado di modificarlo solo se sono avvenute un

alto numero di presentazioni di una forma corrotta del prototipo appreso. In questo senso si

dice che la rete neuronale impara dall’esperienza. Nella figura 1.2.B è rappresentato lo

schema a blocchi del circuito elettronico che svolge questo compito. I blocchi

fondamentali sono:

− il generatore delle due soglie più rumore (± J0 + ω(t) ), caratterizzato dai due livelli di

offset della soglia e dalla frequenza di taglio del rumore (f0 = 1 / τ0);

− la comparazione tra il segnale di learning B e le due soglie;

− la memorizzazione dell’efficacia sinaptica.

Genratore dellesoglie

f0

d b

f

Integratoresinaptico

BJij(t)

Comparatore

Soglie

Figura 1.2.B: rappresentazione a blocchi del circuito impiegato per la realizzazione del termine di refresh

stocastico.

1 in fase di retrieval il tempo di presentazione di un pattern è molto inferiore al tempo definito in fase di

apprendimento.

Page 15: Realizzazione di una rete neuronale per la riduzione dell

I—9

1.3 Probabilità di transizione

L’introduzione del refresh stocastico ci porta a dover definire il valore delle probabilità di

transizione [9]. Queste proprietà dipendono sia da dei parametri hardware, che sono scelti

in fase di progettazione, sia da parametri software, su cui è possibile intervenire in qualsiasi

momento tramite il programma di gestione.

I parametri hardware sono la frequenza di taglio del filtro del rumore (f0), il rumore e la

Vrms del rumore stesso. Quelli software invece sono i valori che si assegnano all’offset delle

soglie, (J0), l’ampiezza dei campi esterni (B), e quelli della finestra temporale durante la

quale si presenta il pattern (τp).

I parametri software non sono indipendenti, si può infatti definire un ∆V = J0 - B, come la

distanza del valore della soglia con il valore a regime del campo esterno. Nei grafici delle

figure dalla I.3.A alla I.3.D si mostra la dipendenza della probabilità di transizione da questi

parametri.

0 5 10 15 20 250,0

0,2

0,4

0,6

0,8

1,0

∆V = 72 mV

∆V = 54 mV

∆V = 36 mV∆V = 0 mV

∆V = -9 mV

∆V = 90 mV

Prob

abilit

à di

tran

sizio

ne

Tempo di presentazione (ms)

Page 16: Realizzazione di una rete neuronale per la riduzione dell

I—10

Figura I.3.A: probabilità di transizione in funzione del tempo di presentazione per vari valori del ∆V, f0 = 1

KHz.

Questa dipendenza della frequenza del rumore si può giustificare considerando il generatore

di rumore come un generatore di livelli di tensione costanti, questi livelli sono distribuiti

gaussianamente attorno al valore medio della soglia. Durante l’apertura della finestra

temporale c’è una probabilità che questo valore si trovi al di sotto del livello del campo,

causando una transizione verso lo stato stabile a cui è riferita la soglia.

0 5 10 15 20 250,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

1,1

f0 = 2400 Hz

f0 = 1000 Hz

f0 = 500 Hz

f0 = 200 Hz

Prob

abili

tà d

i tra

nsizi

one

Tempo di presentazione (ms)

Figura I.3.B: probabilità di transizione in funzione del tempo di presentazione per vari valori di f0 ∆V = 36

mV.

E’ chiaro che in questo modo un aumento del ∆V corrisponde a mettere più lontano la

soglia dal campo, e quindi si abbassa la probabilità di avere una transizione. Si alza invece

la probabilità se si abbassa ∆V. La durata del tempo di presentazione fa si che maggiore è

τp, più grande è il numero di confronti che si effettuano e quindi maggiore è la probabilità

di realizzare una transizione. Per ultima guardiamo la frequenza di taglio f0 = 1/τ0, questa è

legata al tempo più breve con cui vengono generate queste tensioni casuali: maggiore è la

frequenza, più alto è il numero di livelli di tensione generati e quindi maggiore è la

probabilità che uno di questi porti ad una transizione. Naturalmente le frequenze più basse

Page 17: Realizzazione di una rete neuronale per la riduzione dell

I—11

presenti nel rumore partecipano di meno alla determinazione della probabilità di transizione

essendo legate a poche “generazioni” di tensioni random.

80 60 40 20 0 -20 -40 -600,0

0,2

0,4

0,6

0,8

1,0

f0 = 2400 Hz

f0 = 1000 Hz

f0 = 500 Hz

f0 = 200 Hz

Prob

abilit

à di

tran

sizio

ne

∆V (mV)

Figura I.3.C: probabilità di transizione in funzione del ∆V per diversi valori di f0, τp=13 ms.

Nella figura 1.3.E riportiamo le curve a probabilità costante come una funzione di ∆V e di

τp, per una data frequenza di taglio del filtro. Da questo grafico è facile trovare una coppia

di parametri che soddisfino una certa scelta per la probabilità di transizione.

Page 18: Realizzazione di una rete neuronale per la riduzione dell

I—12

-80 -60 -40 -20 0 20 40 600,0

0,2

0,4

0,6

0,8

1,0

τ p decrescenti

Prob

abilit

à di

tran

sizio

ne

DV (mV)

Figura 1.3.D: probabilità di transizione in funzione del ∆V, per vari valori del tempo di presentazione τp, f0

= 500 Hz.

Page 19: Realizzazione di una rete neuronale per la riduzione dell

I—13

0 5 10 15 20 25 30-80

-70

-60

-50

-40

-30

-20

-10

0

10

20

30

0,90,80,70,60,50,40,30,2

p = 0,1

DV

(mV)

Tempo di presentazione (ms)

Figura 1.3.E: Superfici equiprobabili (isoprobe), per diversi valori della probabilità di transizione ogni

punto della superficie è determinato dalla terna τp, ∆V ed f0..

Page 20: Realizzazione di una rete neuronale per la riduzione dell

I—14

1.4 I test su LANN27.

Per effettuare i test su LANN27 [10] è stata utilizzata la seguente procedura:

si sono generati due prototipi con livello di codifica1 f = 0.5 ed overlap2 minore di un certo

overlap massimo che abbiamo fissato a 0.2 (40 % di neuroni differenti).Da questi due

prototipi si sono generati un certo numero di pattern “corrotti” con livello di corruzione tra

il 5% e il 20%. Si sono impostati i parametri in modo tale da avere una probabilità di

transizione dell’efficacia sinaptica bassa (~ 30 %), in fase di learning, ed una praticamente

nulle in fase di retrieval. Nella fase di learning si presenta, prima un pattern corrotto di un

prototipo (estratto a sorte tra tutti gli elementi della classe) e poi un pattern corrotto

dell’altro prototipo, sempre estratto a sorte. In fase di retrieval si presenta il primo

prototipo. Si fa trascorrere un tempo sufficientemente lungo in modo tale che la rete si

rilassi in uno stato stabile, e quindi se ne legge lo stato. Si presenta, ancora in fase di

retrieval, il secondo prototipo. Si rilegge lo stato della rete.

I test sono stati effettuati ripetendo per un numero Npres di volte questa procedura

(ciascuna corrispondente ad una coppia di pattern corrotti estratti a sorte).

Ad ogni presentazione (punto a) si sono calcolati l’overlap tra il pattern corrotto ed il

prototipo da cui il corrotto è stato generato (figura I.4.A). E’ stato misurato l’overlap tra

lo stato della LANN dopo la lettura (punti c ed e), in seguito alla presentazione di uno dei

due prototipi, ed il prototipo che avrebbe dovuto essere recuperato (figura I.4.B).

1 Per livello di codifica si intende la frazione di neuroni attivi all’interno di un pattern. Il neurone è attivo se la somma dei pesi

delle sinapsi afferenti supera lo 0.2 L’overlap tra due pattern ξi

µ e ξiν è definito come:

ON i i

i

N

µ νµ νξ ξ, = ⋅

=∑1

1

Page 21: Realizzazione di una rete neuronale per la riduzione dell

I—15

0 100 200 300 400 500

-0,2

0,0

0,2

0,4

0,6

0,8

1,0

Over

lap

Numero di presentazioni

Figura 0.A: Andamento dell’overlap tra il prototipo, da cui è stata generata una classe di pattern, e gli

elementi della sua classe, come funzione del numero di estrazione di un elemento. Npres = 500. Con la linea

continua si rappresentano gli overlap relativi agli elementi della classe del prototipo no 1, con quella

tratteggiata quelli relativi al no 2.

A parte fluttuazioni la LANN27 ha recuperato il prototipo con un errore che oscilla tra il

5% ed il 15 %, con punte verso il 20 %.

Page 22: Realizzazione di una rete neuronale per la riduzione dell

I—16

0 100 200 300 400 500-0,2

0,0

0,2

0,4

0,6

0,8

1,0

Over

lap

Numero di presentazioni

Figura 0.B: Andamento dell’overlap tra il prototipo di una certa classe e la lettura dello stato della LANN27

dopo la sua presentazione in fase di retriva, come funzione del numero d’ordine della presentazione. Npres =

500. Linea continua: dati relativi al prototipo no 1, linea tratteggiata: dati relativi al prototipo no 2.

L’inconveniente della LANN27 è che non è possibile interpretare gli stati in cui la rete

cade in fase di rilassamento. Non si può sapere se uno stato è o meno un attrattore. Da qui

si è pensato di realizzare una rete di output che svolga questo compito.

Page 23: Realizzazione di una rete neuronale per la riduzione dell

I—17

Page 24: Realizzazione di una rete neuronale per la riduzione dell

II-1

Capitolo II “Se ti opponi a tutte lesensazioni non avrai alcunmetro per distinguerequelle vere dalle false.”

Epicuro

La teoria

La realizzazione della rete di output è necessaria per maneggiare i risultati delle

elaborazioni di una rete neuronale ad attrattori come la LANN27, poiché a priori non si

possono conoscere le configurazioni degli attrattori che la rete ha imparato, le quali

possono essere diverse da qualsiasi pattern mai presentato. La capacità della LANN27 di

modificare, dinamicamente, la struttura degli attrattori adattandola a cambiamenti della

statistica del flusso di stimoli crea un ulteriore problema. Quando alla LANN27 viene

mostrato un pattern che sia una versione corrotta del prototipo appreso, la rete neuronale è

tale che l’attrattore si sposta, in questa maniera si è sicuri che l’attrattore è sempre

rappresentativo della classe di stimoli. Quello che la rete di output deve fare è di indicare il

raggiungimento di un attrattore ed informarci di quale, di quelli già memorizzati, si tratta.

Uno schema che riassume la struttura di un possibile apparato neuronale è riportata in fig.

2.1, dove sono riportati i tre moduli base indicati nella prefazione.

Figura II.1: struttura di un sistema neuronale completo

Page 25: Realizzazione di una rete neuronale per la riduzione dell

II-2

2.1 Cosa si vuole che faccia la rete di output

In questo paragrafo vediamo brevemente quali devono essere le caratteristiche di base della

rete di output. Si vuole associare un particolare indice (un neurone di output che si attiva)

ad una certa configurazione di LANN27, questo procedimento va sotto il nome di Vector

Quantization, [11,12,13].

L’input alla rete è costituito dallo stato dei neuroni della LANN27. Si vuole che la rete di

output associ ad ogni attrattore l’attivazione di un certo neurone di output.

Perché questo avvenga è necessario che al momento della presentazione di un attrattore si

instauri, tra le unità della rete di output, un sorta di competizione che va sotto il nome di

Winner Take All, W.T.A. [14]. In questo modo le sinapsi afferenti al neurone attivo

potranno modificare la loro efficacia, questo ultimo comportamento va sotto il nome di

Competitive Learning, C.L. [15].

Si vorrebbe anche che la rete, una volta imparato a riconoscere un certo attrattore, fosse

sensibile a tutti gli attrattori che sono vicini, in un senso da definire, all’attrattore appreso.

Nel caso della LANN27 gli attrattori saranno rappresentati da parole di 27 bit, composte da

0 od 1 (valori TTL: 0V, +5 V) e il criterio di vicinanza può essere definito dalla distanza di

Hamming* dall’attrattore.

Quando alla rete viene presentato un nuovo attrattore non appartenente a nessuna classe

precedentemente memorizzata, la rete di output deve essere in grado di disattivare il

neurone precedentemente vincitore e attivarne uno nuovo, imparando quindi una nuova

configurazione. Per quanto riguarda la dinamica di apprendimento, questa, in conformità

con il progetto LANN, sarà di tipo stocastico ed avverrà facendo transire il valore

dell’efficacia sinaptica attraverso un numero discreto di stati stabili.

I meccanismi con cui avverranno queste transizioni saranno spiegate nei prossimi

paragrafi, per ora basti sapere che ci sarà uno spostamento verso stati di efficacia maggiore

delle sinapsi che collegano i neuroni di output ai neuroni della LANN attivi, e di efficacia

minore qualora i suddetti neuroni siano inattivi. Il tutto, è ancora il caso di ricordarlo, in

corrispondenza delle sole sinapsi afferenti al neurone vincitore.

* La distanza di hamming tra due pattern è definita da:

( )

N2O1

D ,H ⋅

−= νµ

dove νµ,O è l’overlap tra i due pattern ξiµ e ξi

ν ed è definito come

∑=

νµνµ ξ⋅ξ=

N

1iii, N

1O

Page 26: Realizzazione di una rete neuronale per la riduzione dell

II-3

Alla fine dell’apprendimento tutte le sinapsi, o quasi, di neuroni selettivi per certi

attrattori si troveranno negli stati potenziati o depressi.

2.2 Il modello teorico.

Nella figura 2.3.1, rappresentiamo la struttura della rete di output in cui è presente uno

strato di N neuroni di input, che rappresentano la LANN27 con due soli stati stabili,

connessi agli M neuroni dello strato di output per mezzo di N*M sinapsi inter strato di

tipo eccitatorio. Per far si che si inneschi un meccanismo di tipo Winner Take All è

necessario introdurre delle sinapsi “laterali” che connettano in maniera inibitoria le unità di

output. Queste sinapsi hanno tutte lo stesso peso. E’ presente anche un neurone che ha

una funzione inibitoria non specifica per limitare l’attività complessiva della rete tramite

sinapsi di peso fissato.

Figura 2.2.A: descrizione a blocchi della rete di output.

Page 27: Realizzazione di una rete neuronale per la riduzione dell

II-4

Vediamo ora le equazioni che caratterizzano gli elementi base della rete.

Il neurone di output i-esimo è caratterizzato dallo spike-rate f(Ii):

( )f II I

Iii i

i=

⋅ ><

φ 00 0

( 2.2.A)

proporzionale alla corrente afferente al neurone i-esimo. Questa corrente è descritta dalla

seguente equazione della dinamica :

II

C T H f Iii

outi j

j i

.( ) ( )= − + − −

≠∑

τ(2.2.B)

In cui Ci è il contributo eccitatorio delle sinapsi inter strato. La sommatoria, f I ij i

( )≠∑ è

estesa a tutti i neuroni di output, diversi da quello i-esimo e rappresenta il termine di

inibizione specifica proveniente dalle sinapsi laterali. T(H) è il segnale generato dal

neurone inibitore e fornisce un’inibizione non specifica data da:

T Hg H H

H( )

( )=

⋅ − ><

θ θθ0

( 2.2.C)

che rappresenta una funzione di trasferimento del tipo lineare- soglia, così come la 2.2.A,

in cui però la soglia θ è direttamente legata alla corrente massima dell’intera rete. Quando

la corrente H > θ, l’unità emetterà una frequenza proporzionale ad H-θ tramite la costante

g. La corrente del neurone inibitore segue una dinamica simile a quella del neurone di

output con τinib < τout, data da

HH

f Iinib

jj

M.( )= − +

=∑

τ 1( 2.2.D)

Per quanto riguarda le sinapsi inter strato abbiamo che il contributo al neurone i-esimo,

proveniente dalle N sinapsi che lo connettono allo strato di input, è dato da:

CN

J Si ij jj

N

=⋅

⋅=∑1

1f(2.2.E)

Page 28: Realizzazione di una rete neuronale per la riduzione dell

II-5

Nella 2.2.E N⋅f rappresenta il numero totale di neuroni attivi in un attrattore, dove f* è il

livello di codifica della rete di input, mentre Sj, j=1...N, è l’uscita del neurone di input

j-esimo e può valere 0 od 1.

Le Jij rappresentano l’efficacia sinaptica che può esistere in un numero finito di stati stabili.

Il prodotto Jij per Sj rappresenta il contributo di corrente al neurone di output i-esimo,

dovuto all’attività del neurone di input j-esimo. La rete deve mostrare un comportamento

di tipo Competitive Learning, bisogna quindi fare in modo che le uniche sinapsi che si

possano modificare siano solo quelle connesse con il neurone di output, la cui attività, in

corrispondenza di un dato attrattore, sia la più elevata. Questa rete ha un apprendimento di

tipo stocastico non supervisionato, cioè la transizione di una sinapsi verso stati con

efficacia maggiore o minore, che chiameremo potenziato e depresso, deve avvenire con

certe probabilità, rispettivamente p+ e p-, e quindi è necessario fare in modo che le suddette

probabilità dipendano dall’attività dell’unità di output.

Per fare in modo che ciò avvenga è stato previsto un feedback dei neuroni di output sulle

sinapsi inter strato. Le probabilità di transizione sono date da

p p pe aI b+ − − += = =

+1

1( 2.2.F)

dove I è la corrente del neurone a cui la sinapsi è connessa, mentre a e b sono dei

coefficienti che regolano la pendenza ed il punto di flesso della sigmoide.

Il meccanismo di feedback appena introdotto, è necessario solo durante il funzionamento

in fase di apprendimento (vedremo che questo avverrà solo durante l’apertura della finestra

temporale che metterà in comunicazione la rete di output con la LANN27).

Le sinapsi inter strato sono governate dalla seguente equazione della dinamica:

τ s ij ij jJ J S fresh.

Re= − + + ( 2.2.G)

dove il termine di refresh introduce dei termini forzanti che spingono l’efficacia della

sinapsi verso i suoi stati stabili (depresso o potenziato). Una possibile definizione è

mostrata in tabella 2.5.1, in questo caso però si hanno sinapsi a soli due stati. La costante di

tempo della sinapsi, τs deve essere molto più grande di quella del neurone poiché su

* il livello di codifica è pari a inattivi

attivi

NN

f =

Page 29: Realizzazione di una rete neuronale per la riduzione dell

II-6

piccole scale di tempi (dell’ordine di τout) il valore dell’efficacia sinaptica si mantenga

costante.

2.3 Un esempio del funzionamento del modello teorico

Cercheremo in questo paragrafo di spiegare a parole il funzionamento della rete di output.

Al tempo t=0 tutte le sinapsi si trovano nello stato labile.

Alla presentazione del primo pattern ciascun neurone della rete riceverà un contributo in

corrente pari a Ci. Poiché le sinapsi subiranno transizioni e quindi non si troveranno negli

stessi stati, questo contributo non sarà lo stesso in neuroni di output diversi. Si instaurerà

una sorta di competizione tra i neuroni con attività maggiore. Tutto questo tramite le

sinapsi laterali. Dopo un certo tempo un solo neurone “sopravviverà” avendo inibito tutti

gli altri. Come abbiamo già detto il tempo τout, in cui avviene questa competizione, è

minore di quello della dinamica delle sinapsi, τs, per cui le uniche che avranno un

probabilità maggiore di modificare la propria efficacia sinaptica, saranno proprio quelle

relative all’unità vincitrice.

Definita una connettività afferente al neurone i-esimo, Ci, possiamo cercare di valutare

quali siano le condizioni per le quali una sola unità riesca a vincere. Dalla teoria si deduce

[16] che mano a mano che il numero di neuroni attivi diminuisce, le condizione per

l’inattivazione di quello con attività minore diventano sempre più stringenti, fino ad

arrivare a sole due unità attive con contributi afferenti di corrente: C1 e C2. La condizione

per cui il neurone 1 vince su quello numero 2 è:

C1 > C2 ⇒ CC

out1

2

1

≥−τφ

( 2.3.A)

dove, ricordiamo, φ rappresenta lo spike rate del neurone di output.

Questa condizione è soddisfatta se:

φ ≥ τ-1out ( 2.3.B)

Fissate le condizioni per le quali si attivi un solo neurone di output, bisogna controllare se

questa attività non sia tale da impedire che un’altra unità possa attivarsi in corrispondenza

Page 30: Realizzazione di una rete neuronale per la riduzione dell

II-7

di un differente attrattore. Queste nuove condizioni si trovano imponendo che, per un

nuovo input, ci sia un nuovo neurone attivo con connettività, C1´, candidato alla vittoria. In

modo del tutto analogo al precedente si arriva a definire una condizione di vittoria di

questo neurone, per l’esattezza:

′′

≥ −

CC

j

out11

φτ

( 2.3.C)

dove C´j, j ≠ 1, sono le unità dei neuroni che si devono inattivare, l’apice indica che

l’attrattore può essere diverso dal precedente.

Dalla 2.3.C si deduce che la costante φ deve soddisfare la relazione

φ ≤ τ-1out ( 2.3.D)

combinando i risultati della 2.3.B con quelli della 2.3.D, si ottiene

φ ≈ τ-1out ( 2.3.E)

Andiamo ad analizzare quali sono gli effetti dell’inibizione non specifica sull’attività del

neurone vincitore (quando è ormai l’unica unità attiva) il valore asintotico a cui tende la

corrente del neurone vincitore è dato da

IC g

g

==

++

11

φ( 2.3.F)

scegliendo g >> 1, quindi supponendo che l’attivazione del neurone inibitore sia uno spike-

rate molto intenso se paragonato a quello dei neuroni di output, si arriva ad avere che:

I=

=1θφ

( 2.3.G)

A questo punto si vede che, fissato il valore di θ, si riesce a valutare la corrente presente

nel neurone di output vincitore dopo che siano passati tutti i transienti , soprattutto, a fare

in modo che questo sia lontano dal suo valore di saturazione.

2.4 Alcuni esempi di possibili dinamiche di apprendimento

Descriviamo, a grandi linee, il meccanismo di apprendimento nelle sinapsi interstrato, per

fare ciò assumiamo che il neurone a cui afferisce la sinapsi in esame, sia proprio quello

attivo.

Supponiamo di partire con unità dotate di solo due stati stabili: J0 = 0 e J1 = 1. Il

meccanismo di apprendimento deve far si` che vengano “tagliate” tutte le sinapsi in

corrispondenza di attività nulla dei neuroni di input.

Page 31: Realizzazione di una rete neuronale per la riduzione dell

II-8

Assumiamo, inoltre, che negli stimoli presentati ci sia solo una frazione f di neuroni attivi,

questo implica che ci siano f ⋅N neuroni la cui attività deve tendere a mantenere le sinapsi

in uno stato di efficacia maggiore ed N⋅(1 - f) in uno minore.

stato iniziale attività d’input stati accessibili probabilità di transizione

Sj = 1 Jij = 1 1

Jij = 1

Jij = 1 1 - p-

Sj = 0

Jij = 0 p-

Jij = 1 p+

Sj = 1

Jij = 0 1 - p+

Jij = 0

Sj = 0 Jij = 0 1

Tabella 2.5.1 Dinamica di apprendimento relativa alle sole sinapsi afferenti al neuroneattivo.

Poiché il sistema si muove su un numero discreto di stati stabili, effettuando le transizione

con una certa probabilità, si ha un “cammino aleatorio” rappresentabile con un processo

markoviano al quale si associa una matrice di probabilità di transizioni M. L’elemento Mjk

di tale matrice definisce la probabilità di avere una transizione dallo stato j-esimo a quello

k-esimo. A seconda, quindi, dello stato in cui ci si trova e dello stato del neurone di input a

cui la sinapsi è connessa, avremo probabilità generalmente differenti di effettuare o meno

la transizione.

Possiamo allora definire uno schema di apprendimento come quello descritto nella tabella

2.5.1.

Una rete di output con tale schema di apprendimento risulta godere della proprietà di

palinsesto, difatti esiste una distribuzione asintotica per le efficacia sinaptiche [16], che è

indipendente dalla struttura del flusso di stimoli. In tal caso il livello di connettività è

fissato. Se presentiamo, però, un numero P di pattern ad una rete composta da N neuroni di

Page 32: Realizzazione di una rete neuronale per la riduzione dell

II-9

input e con una frazione c di sinapsi per neurone di output, nello stato J1, si ha che la

condizione per cui la connettività non varia è:

c⋅(1 - f)q- = (1 - c)⋅ f q+ ( 2.4.A)

dove f rappresenta il livello di codifica quindi (1 - f)q- e f q+ rappresentano le probabilità di

avere transizioni verso il basso e verso l’alto, rispettivamente in presenza di un neurone

inattivo o di uno attivo, nello strato d’input. Rammentiamo che stiamo considerando tutte

le sinapsi afferenti al neurone di output vincitore.

Nella equazione (2.4.A) il termine di sinistra indica il numero di sinapsi che vengono

tagliate, mentre quello di destra la frazione di sinapsi che, assenti all’inizio, si rigenerano.

Nel caso in cui la connettività evolva in maniera tale che

(1 - c)⋅ f q+ > c⋅(1 - f)q- ( 2.4.B)

allora si avrebbe un aumento della connettività afferente al neurone vincitore dello strato di

output, come conseguenza si avrebbe che l’unità in esame vedrebbe aumentare la propria

attività e sarebbe, quindi, sempre più difficile disattivarla nel caso in cui si cambi il pattern.

Quest’unità rimarrebbe selettiva per una classe via via più ampia di pattern.

Comunque è possibile vedere che anche nelle condizioni di mantenimento costante della

connettività, è molto facile che la rete presenti lo stesso problema di “confusione”, che

risponda cioè a pattern sbagliati. Infatti se ci calcoliamo la probabilità che ciascuno degli

N neuroni della rete di output, sia selettivo per uno solo dei P < N pattern presentati,

otteniamo [16]:

NP

NN

P N P NP P

=−

!!( )!

( 2.4.C)

questo numero è effettivamente molto piccolo, a meno di non considerare P << N, questa

scelta pone chiaramente dei limiti fortissimi alla capacità della rete di output che, almeno

in linea di principio, potrebbe apprendere O(N) differenti pattern.

Una possibilità di risolvere questo problema potrebbe consistere nel modificare le regole di

apprendimento in maniera tale che siano consentite solo delle transizioni delle sinapsi

verso lo stato depresso, partiamo cioè con una rete con una frazione c di sinapsi attive

molto alta, tipicamente c ≈ 0.6 - 0.8, quando viene presentato un pattern si ha una

probabilità di avere transizioni verso il basso data da q-, naturalmente per le sole sinapsi

afferenti al neurone vincitore. In questo modo dopo un certo tempo che lo stesso pattern è

Page 33: Realizzazione di una rete neuronale per la riduzione dell

II-10

presentato alla rete si ha che la connettività del neurone selettivo per quella configurazione

tenderà al valore

c⋅f << c ( 2.4.D)

A questo punto, se si presenta un nuovo stimolo il neurone che avrà modificato la propria

connettività sarà sfavorito rispetto a tutti gli altri che non hanno subito modificazioni

sinaptiche.

Chiaramente quest’ultimo modello non possiede più la proprietà di palinsesto, il grado di

connettività dipende fortemente dalla struttura degli stimoli ed una volta che la rete ha

appreso un pattern è impossibile che possa scordarlo in favore di un altro, a meno di non

inizializzare di nuovo una parte delle sinapsi in modo da riottenere alti livelli di

connettività.

Si può, però, pensare a dei meccanismi per cui avvenga una rigenerazione spontanea delle

sinapsi, cioè si può introdurre una probabilità r che una sinapsi possa riportarsi nello stato

J1. Naturalmente questo meccanismo deve avvenire a prescindere dall’attività dei neuroni a

cui è connessa. Una siffatta soluzione porterebbe alla reinizializzazione delle sinapsi

relative ad unità di output che non sono attive da più tempo. Così facendo abbiamo, però,

posto una grossa limitazione alla statistica del flusso dei pattern, qualora infatti alla rete

non fosse presentato niente per un lungo periodo di tempo, si avrebbe la distruzione

completa della memoria del sistema.

Un’altra soluzione al problema discusso prima, a proposito delle limitazioni del modello

con il palinsesto, può essere ricavata ancora dalla biologia [17], infatti è stato visto che

oltre al già citato meccanismo di eliminazione delle sinapsi, esiste un fenomeno per cui

viene aumentata l’efficacia di talune sinapsi. Possiamo, quindi, introdurre uno stato J2, di

efficacia superiore ai precedenti, ci troveremmo ad avere, perciò, uno stato depresso (J0),

uno labile (J1) ed uno potenziato (J2).

In tale contesto la dinamica di apprendimento sarebbe allora descritta dalla tabella 2.5.2.

Facendo partire il sistema da una condizione in cui una certa frazione di sinapsi si trovano

fuori dallo stato labile, diciamo in J0, il continuo presentarsi di un pattern fa si che la

connettività afferente al neurone vincitore diminuisca. Le sinapsi che, però, lo connettono

ad unità di input attive vedranno la loro efficacia aumentare. In questo modo la corrente

afferente verrà maggiorata rendendo l’unità di output ancora più sensibile a quel dato

pattern. Se il livello di codifica è sufficientemente basso (tipicamente ~ 0.1), la

presentazione di un altro pattern, differente dal primo, farà si che l’unità prima vincitrice

avrà le sinapsi eliminate proprio in corrispondenza dei nuovi neuroni attivi, mentre quelle

Page 34: Realizzazione di una rete neuronale per la riduzione dell

II-11

che prima erano state potenziate si troveranno a connettere il neurone di output con unità

d’ingresso inattive.

Jij(t-1)=2 ∀ Sj Jij(t) = 2 p = 1

Jij(t) = 2 p = p+

Sj=1

Jij(t) = 1 p = 1-p+

Jij(t-1)=1

Jij(t) = 1 p = 1-p-

Sj=0

Jij(t) = 0 p = p-

Jij(t-1)=0 ∀ Sj Jij(t) = 0 p = 1

Tabella 2.5.2

Page 35: Realizzazione di una rete neuronale per la riduzione dell

II-12

2.5 Conclusioni

In questo paragrafo riassumiamo le principali caratteristiche di questo modello. Si deve

attivare un’unica unità di output vincitrice a partire da una condizione in cui le sinapsi sono

tutte nello stato labile. Se esiste già un’unità che si è già attivata per un dato attrattore

questa deve essere in grado di disattivarsi nel caso in cui si presenti un pattern per cui non

è selettiva*. La rete deve essere in grado, alla ripresentazione di un attrattore già

memorizzato, di riattivare l’unità che in precedenza aveva vinto. La modificazione

dell’efficacia di una sinapsi inter strato deve aver luogo solo se il neurone a cui è connessa

è quello vincitore, la sua dinamica deve essere, quindi, sufficientemente lenta da poter

permettere ai neuroni di competere prestabilire l’unità vincente.

Si deve realizzare quindi una rete che inneschi, prima un meccanismo di Winner Take All,

per la determinazione delle sinapsi su cui effettuare l’apprendimento tramite l’attivazione

di un solo neurone di output, poi un meccanismo di tipo Competitive Learning, con il quale

ad ogni attrattore corrisponde una sola unità di output. Il neurone di output deve

corrispondere a tutta una classe di attrattori, cioè anche per delle versioni corrotte.

La rete deve essere in grado di riconoscere e quindi attivare l’unità corrispondente

all’attrattore da cui il corrotto è stato generato.

Come abbiamo già visto il nostro stato di input sono i neuroni della LANN27. Il

programma di gestione della LANN27 genera automaticamente in modo random pattern

con decodifica f = 0.5 e distanza di hamming massima. La rete di output è stata progettata

per funzionare correttamente con decodifica f ≈0.1 (solo tre neuroni della LANN27 attivi).

Durante il lavoro di tesi si è visto, comunque, che la rete ha un comportamento corretto

anche con decodifica f =0.5, ed alcuni test saranno effettuati con tale livello. Nel prossimo

paragrafo si vedrà come sia possibile ridurre tale livello di codifica modificando i valori

della probabilità di transizione delle sinapsi della LANN27.

* vedremo che questa condizione è garantita dal fatto che l’unità di output resta attiva solo durante l’aperturadella finestra temporale con la LANN27.

Page 36: Realizzazione di una rete neuronale per la riduzione dell

II-13

2.5.1 Adattamento della LANN27 alla rete di output.

In questo paragrafo si mostrerà brevemente come sia possibile fare in modo che una rete

neuronale ad attrattori, come la LANN27, funzioni anche con un livello di codifica

inferiore allo 0.5 per cui è stata progettata (tipicamente f = 0.1). Si dimostrerà come, sotto

particolari condizioni, la capacità di memorizzazione dei prototipi aumenti.

Per semplicità di calcolo, in quanto segue, si analizzerà il caso di una rete con sinapsi con

due soli stati stabili: -1 e +1. I neuroni hanno i due stati corrispondenti ancora a +1 e -1.

Definita la probabilità che ξ sia +1 o -1 come:

Pr(ξ = +1) = f ( 2.5.A.a)

Pr(ξ = -1) = 1 - f ( 2.5.A.b)

poiché il segnale che guida la dinamica della sinapsi è dato dal prodotto dell’attività del

neurone pre-sinaptico per quella del post-sinaptico, la distribuzione delle sorgenti è data

da:

Pr(ξ⋅ξ´ = +1) = f 2 + (1 - f)2 = u ( 2.5.B.a)

Pr(ξ⋅ξ´ = -1) = 2f (1 - f) = 1 - u = u ( 2.5.B.b)

ottenute considerando che la sorgente positiva può essere ottenuta tanto con (+1)*(+1)

quanto con (-1)*(-1), mentre quella negativa con (+1)*(-1) viceversa.

Se assumiamo per le probabilità condizionate di avere delle transizioni verso l’alto o verso

il basso:

Pr( ↑ | ξ⋅ξ´ = +1) = q+ ( 2.5.C.a)

Pr( ↓ | ξ⋅ξ´ = -1) = q- ( 2.5.C.b)

siamo in grado di scrivere la matrice associata al processo markoviano:

M =−

− −

+ +

11

uq uquq uq ( 2.5.D)

Tramite le relazioni appena trovate siamo in grado di valutare il peso del livello di codifica

sulle capacità della rete neuronale. Come prima cosa cerchiamo di valutarne la capacità di

memorizzazione, per fare questo presentiamo un primo pattern casuale e lo facciamo

seguire da p pattern, anch’essi casuali, e scorrelati dal primo.

La capacità della rete è definita come il numero di presentazioni dopo le quali è ancora

possibile recuperare il primo pattern.

Page 37: Realizzazione di una rete neuronale per la riduzione dell

II-14

Supponiamo di presentare un primo pattern tale che α = ξ⋅ξ´ = 1, lo stato in cui si trova la

rete è dato dallo stato iniziale, quello asintotico, moltiplicato per la matrice delle

probabilità condizionate da α = 1:

( )c c q q c c q c q11 0

1 1−−

= + −

+ ++ +

_(_

) ( 2.5.E.a)

dove c è la connettività iniziale (sinapsi con Jij = 1, prima della presentazione del pattern

che deve essere recuperato) e c c_

= −1 . Nel caso in cui, invece, α = -1:

( )c cq q

c q cq c11

0 1−−

= +

− −

− −

_ _( 2.5.E.b)

a partire da questi stati, successive presentazioni di pattern casuali, scorrelati dal primo, si

rappresentano applicando alle 2.5.E.a la matrice del processo markoviano 2.5.E.b.

Le probabilità di trovare la sinapsi in uno dei due stati, avendo fissato il segno della coppia

di neuroni che da lei sono connessi ed avendo effettuato altre p-1 presentazioni casuali, è

data da:

( P(J=1 | α=1)p, P(J=-1 | α=1)p ) = ( P( J=1| α=1)1, P( J=-1| α=1)1 )⋅ Mp-1

( 2.5.F)

dove l’indice p indica la probabilità dopo p presentazioni.

Si può dimostrare [8] che la probabilità di avere J=1 dopo p presentazioni, condizionata

dall’avere presentato α=1 durante la prima, è data da:

P(J=1 | α=1)p = c-λp-1⋅[( cq+ + c) c - ccq+] =

= c-λp-1⋅ cq+ = S+ ( 2.5.G)

Usando la 2.5.E.b si ottiene l’equivalente della 2.5.F, ma per α = -1.

P(J=1 | α= -1)p = c-λp-1⋅[ ccq- - c⋅(1 - q-c)] =

= c-λp-1⋅cq- = S- ( 2.5.H)

Con le probabilità ottenute siamo in grado di calcolarci la corrente media, afferente ad un

neurone attivo: <h>ξ, dove l’indice ξ indica la media su tutti i possibili valori di attività

dell’altro neurone.

Page 38: Realizzazione di una rete neuronale per la riduzione dell

II-15

( ) ( )( )[ ] ( )[ ]

( ) ( )[ ]

h J P J J P J

J P J

P J P J

JJξ ξ ξ

ξ ξ

ξ ξ

= ⋅ − − ⋅ − =

= − − − − − =

= − − + −

∑∑f f

f 2P f

f - f f

1 1 1

1 1 1 2 1 1

2 1 1 1 1 2

, ( ) ,

, ( ) ,

, ( ) ,

(2.5.H)

Usando le 2.5.f e la 2.5.G, si ottiene

[ ]h S S+ + −= − − + −1 2 1 1 2f f f( ) ( 2.5.I)

[ ]h S S− − += − − + −1 2 1 1 2f f f( ) ( 2.5.J)

A questo punto siamo in grado di valutare il segnale totale S che altri non è se non la

differenza tra i due valori medi appena calcolati.

S = <h>+ - <h>- = 2⋅(S+ - S-) ( 2.5.K)

da cui si deriva il valore di S2:

S2 = 4λ2p-2⋅( cq+ + cq- )2 ( 2.5.L)

Assumendo le distribuzioni delle attività dei neuroni indipendenti e con distribuzione

gaussiana (per N → ∞), è possibile dimostrare [8] che il quadrato del rumore, definito

come ( ) ( )[ ]R R R2 21

22

12

= +ς ς con ( ) ( )R h hip

ip2

2

ξξ

ξ

= − , è maggiore di una quantita`

proporzionale ad 1/N.

In quest’ipotesi si ha che

SR

c q cq Np2

22 2

2

4< +

+ −λ_

( 2.5.M)

dove λp è legato alla u, e quindi alla f, dalle 2.5.B a e b:

λp = [1-[f 2+(1-f)2]q+ -2f(1-f)q-]p ( 2.5.N)

Per avere un recupero dei pattern senza errori, il rapporto segnale rumore deve andare, per

N → ∞, almeno come il log N [18]. Inoltre, poiché la 2.5.N tende asintoticamente ad un

valore finito, è necessario fare in modo che λ tenda ad 1 il più rapidamente possibile, in

modo che si possano usare dei valori di p abbastanza grandi senza che λp tenda a zero

(ricordiamo che p indica il numero di pattern memorizzabili). Se si riesce a far si che λp ~

(1- x)p, con x → 0, allora:

(1-x)p = expp⋅log(1-x) ≈ expp⋅(-x + o(x2) (2.5.O)

Page 39: Realizzazione di una rete neuronale per la riduzione dell

II-16

affinchè λp sia finito si dovrà avere p⋅x < 1, quindi si pone un limite superiore a p (capacità

della rete):

p < 1/x (2.6.P)

con x = O(f), allora si può arrivare ad ottenere p < O(1/f).

La prima cosa che viene in mente di fare è quella di far variare le probabilità di transizione,

visto che il termine che moltiplica q+ è O(1), sfortunatamente se si fanno andare a 0 molto

velocemente, con la stessa rapidità va a zero il termine quadratico che moltiplica N

nell’espressione di S2/R2. Dovendo comunque essere soddisfatta la condizione logaritmica

il massimo che si può avere è un decadimento d f O(logN/N), e quindi p < O(logN).

Se però, fissato il valore di q-, si rende q+ dipendente da f, allora si potrebbe a fare di

meglio: infatti prendendo q+ ~ O(f) = logN / N, si arriverebbe ad p < N.

Naturalmente, avendo fatto diminuire q+, bisogna che q- sia sufficientemente forte da

mantenere il limite logaritmico per il rapporto segnale / rumore.

In realtà, nel calcolo del rumore, esiste un termine di correlazione [8] che deriva dal fatto

che due sinapsi non sono completamene indipendenti poichè entrambe hanno un neurone

in comune.

Questo terrmine è del tipo:

J J Jij kj j k⋅ ⋅ −ξ ξ ξξ ξ

2

Si può dimostrare [18] che questo può essere trascurato se si pone

q+ >> q- ~ f ≈ O(log N / N) (2.6.Q)

Nella 2.6.1.14 il termine che moltiplica q+ è o(1), impedendo a λ di tendere ad 1.

Una possibile soluzione consiste nell’eliminazione di tutte le transizioni indotte dalla

configurazione di neuroni del tipo (-1)⋅(-1). Così facendo, nella 2.6.1.14, viene eliminato il

termine (1 - f)2 che moltiplica q+.

Da un punto di vista pratico un simile artificio può essere implementato senza dover

modificare l’hardware già esistente. Infatti è sufficiente ridurre l’ampiezza dei segnali di

learning negativi per far si che il termine (-1)⋅(-1) risulti molto minore di quello (+1)⋅(+1) e

quindi che abbia un probabilità nulla di attraversare la soglia positiva.

Così facendo, però, viene ridotta anche l’ampiezza dei segnali di learning negativi. Con

un’opportuna scelta del valore dei campi e delle soglie, è possibile fare in modo che sia

soddisfatta anche la relazione 2.6.Q

Adottando quest’artificio, si ottiene che x → 0 ~ O(f2), quindi si ha p ~ O(1/f2) ≈ O(N2).

Page 40: Realizzazione di una rete neuronale per la riduzione dell

II-17

In questo caso le correnti medie <h>+ ed <h>- , risultano essere dello stesso segno. Quindi,

per poter discriminare tra neuroni attivi e quelli inattivi, si deve scegliere una soglia

opportuna che in generale sarà non nulla e dipendente da f . Questa e` una soluzione un po’

artificiosa, esistono modelli [19] per i quali il livello della soglia e` fissato dinamicamente

tramite una opportuna inibizione

Page 41: Realizzazione di una rete neuronale per la riduzione dell

III-1

Capitolo III “Si riesce a far funzionarequalsiasi cosa se ci si pasticciaabbastanza"A.Bloch

L’hardware

In questo capitolo vogliamo descrivere la struttura hardware della rete di output, andando a

mostrare i singoli blocchi di cui è composta. Andremo inoltre a descrivere l’interfaccia

digitale, colei che permette alla rete di output di comunicare con LANN27 e con il mondo

esterno.

3.1 La struttura della rete di output

L’intero sistema della rete di output è composta da cinque blocchi funzionali:

• Il neurone di ouput

• La sinapsi interstrato

• La sinapsi laterale

• Il neurone inibitore

• La sinapsi del neurone inibitore

La rete di output è formata da M neuroni di output connessi agli N neuroni di LANN

tramite le sinapsi interstrato, di tipo eccitatorio, il numero totale di queste sinapsi sarà

quindi 27*M. Inoltre i neuroni di output sono tra loro completamente connessi tramite le

sinapsi laterali, di tipo inibitorio, il numero totale di queste sinapsi sarà [(M-1)*M]/2. Il

neurone inibitore è connesso agli M neuroni di output da altrettante sinapsi laterali,

anch’esse di tipo inibitorio. In figura III.1.A è mostrata la rappresentazione a blocchi della

rete di output.

Page 42: Realizzazione di una rete neuronale per la riduzione dell

III-2

figura III.1.A Rappresentazione della struttura della rete di output

Andiamo ora a descrivere singolarmente le cinque parti che compongono questa rete

neuronale.

3.1.1 Il neurone di output

Abbiamo già descritto nel secondo capitolo l’equazione della dinamica del neurone di

output, riprendiamola, adesso, per descrivere brevemente l’elettronica con cui è stato

implementato questo blocco.

∑∑≠

−−⋅

+−=⋅τij

jj

jijiin )I(f)H(TSJfN

1I.I (3.1)

Page 43: Realizzazione di una rete neuronale per la riduzione dell

III-3

τn rappresenta la costante di tempo del neurone.

Gli indici i rappresentano i neuroni di output [1,M], mentre gli indici j rappresentano

I neuroni di input di LANN [1,N].

La funzione che definisce lo spike rate è:

( )f II I

I=⋅ >

<φ 00 0 (3.2)

Nella equazione 3.1 il contributo eccitatorio consiste nel prodotto tra Jij che rappresenta il

valore della sinapsi interstrato ed Sj che rappresenta lo spike rate dei neuroni di input.

L’equazione della dinamica può essere riscritta come:

)i()i(iin EI

.I Λ−+−=⋅τ (3.3)

dove:

+=Λ

⋅=

≠ijj

)i(

jjij

)i(

)I(f)H(T

SJfN

1E(3.4)

dove questi ultimi due termini rappresentano il contributo eccitatorio e inibitorio.

La figura III.1.B mostra lo schema a blocchi del neurone di output che è stato

implementato.

+f(Ii)

Ii

Sommatored'ingresso Integratore

Generatore dispike-rate

E(i)

Λ(i)

( )f II I

I=⋅ >

<φ 00 0

τ n i iiI I⋅ = − +

.( )Σ

∫ f I( )Σ( i)

Σ(i) = E(i) - Λ(i)

figura III.1.B Schema a blocchi del neurone di output

Riportiamo qui sotto i circuiti che svolgono le funzioni di integratore+sommatore, quella di

generatore di spike rate, (figura III.1.C e figura III.1.D) e lo schema elettrico completo

(figura III.1.E).

Page 44: Realizzazione di una rete neuronale per la riduzione dell

III-4

Figura III.1.C Schema elettrico dell’integratore + sommatore.

Figura III.1.D Schema elettrico del generatore di spike rate.

Page 45: Realizzazione di una rete neuronale per la riduzione dell

III-5

Figura III.1.E Neurone di output.

Page 46: Realizzazione di una rete neuronale per la riduzione dell

III-6

3.1.2 La sinapsi interstrato

La sinapsi interstrato è l’elemento più complesso dell’intera rete. Il processo di

apprendimento e di calcolo della corrente afferente al neurone di output è svolto da questa

unità. Come abbiamo già fatto per il neurone di output, riprendiamo qui le equazioni della

dinamica della sinapsi e mostriamo come sia stata implementata elettronicamente.

L’equazione della dinamica della sinapsi è la seguente:

τ s ij ij jJ t J t S f⋅ = − + +.

( ) ( ) Re (3.5)

dove gli indici i rappresentano le unità neuronali della rete di output [1,M], mentre gli

indici j quelle della LANN [1,N].

Nella 3.5, τs rappresenta la costante di tempo della sinapsi, Sj rappresenta lo spike rate del

neurone di input, Jij il valore istantaneo dell’efficacia sinaptica.

Il termine di refresh stocastico è dato da:

[ ] [ ]Re ( ) ( )f J J J t T J T J tc ij th c th ij= + ⋅ − + ⋅ −+ + − −0 θ θ (3.6)

in questa eqauzione θ[.....] è la funzione theta, mentre i termini Tth!

sono le soglie per le transizioni verso i livelli potenziato e depresso, e sono descritte dalla

seguente equazione:

T J f I tth th i± ±= +! ( ) ( )ω (3.7)

Dove il primo termine rappresenta il termine di offset, il secondo l’ampiezza dell’attività

del neurone di output a cui le sinapsi afferiscono e l’ultimo il rumore gaussiano filtrato ad

f0 e di ampiezza opportuna.

L’uscita della sinapsi è data da

Cij = Sj ⋅ Jij (3.8)

Possiamo ora identificare dei blocchi strutturali che svolgono le funzioni rappresentate da

queste equazioni.

Page 47: Realizzazione di una rete neuronale per la riduzione dell

III-7

• L’integratore dato dalla (3.5)

• Il generatore di refresh stocastico dato dalla (3.6)

• Il generatore di soglie e di rumore gaussiano dato dalla (3.7)

• Il moltiplicatore post-sinaptico dato dalla (3.8)

In figura III.2.A è rappresentato lo schema a blocchi della sinapsi interstrato in cui sono

indicati anche i segnali globali comuni a tutte le sinapsi, gli offset delle soglie

e il potenziale del neurone di output a cui sono afferenti.

Termine di refreshstocastico

Generatore dirumore filtrato

f0

d b

f

Moltiplicatorepost sinaptico

IntegratoresinapticoSj Jij(t)

cij

ω(t)

+Jc, 0, -Jc

f(Ii)

Tth+/-

Jth+/-

Generatoredi soglie

figura III.1.F Schema a blocchi della sinapsi interstrato.

Sono riportati qui di seguito tutti gli schemi elettrici dei singoli blocchi costituenti la

sinapsi interstrato( figure III.2.B-III.2.E) e lo schema elettrico complessivo (figura III.2.F).

Page 48: Realizzazione di una rete neuronale per la riduzione dell

III-8

Figura III.1.G Generatore rumore + soglie .

Figura III.1.H Moltiplicatore post-sinaptico

Page 49: Realizzazione di una rete neuronale per la riduzione dell

III-9

Figura III.1.I Generatore del refresh stocastico.

Figura III.1.L Integratore sinaptico

Page 50: Realizzazione di una rete neuronale per la riduzione dell

III-10

Figura III.1.M Sinapsi interstrato

Page 51: Realizzazione di una rete neuronale per la riduzione dell

III-11

3.1.3 Il neurone inibitore

Il neurone inibitore, essendo uno solo per tutta la rete neuronale è stato implementato

sull’interfaccia digitale, che sarà discussa nel paragrafo 3.2.

L’equazione della dinamica del neurone inibitore è la seguente:

τ inib H H⋅ = − +.

Φ (3.8)

dove il secondo termine rappresenta la somma di tutte le ampiezze dei neuroni di output:

Φ ==∑ f I jj

M

( )1

(3.9)

Gli spike rate dei neuroni di output possono essere considerati delle costanti poiché la loro

costante di tempo τn è molto più grande di quella del neurone inibitore.

Il generatore di spike rate del neurone inibitore deve realizzare la seguente funzione di

trasferimento.

T Hg H H

H( )

( )=

⋅ − ><

θ θθ0

(3.10)

Il neurone inibitore, poiché deve produrre un segnale inibitorio, genererà una segnale

negativo (g è di segno negativo).

Questo circuito è molto simile a quello del neurone di output, con la differenza che il

generatore di spike rate ha segno opposto e che in ingresso di quest’ultimo compare un

offset (θ) anch’esso negativo.

Riportiamo in figura III.3.A lo schema a blocchi di questa unità e in figure III.3.B lo

schema elettrico del neurone inibitore.

Page 52: Realizzazione di una rete neuronale per la riduzione dell

III-12

+ T(H)

Sommatored'ingresso Integratore

Generatore dispike-rate

-f(I1)

-f(IN)

H(t)T(H)

H∫ θΦ

τ in H H⋅ = − +.

ΦΦ ==∑ f I jj

M

( )1

T Hg H H

H( )

( )=

⋅ − ><

θ θθ0

figura III.1.N Schema a blocchi del neurone inibitore

Figura III.1.P Il neurone inibitore

Page 53: Realizzazione di una rete neuronale per la riduzione dell

III-13

3.1.4 La sinapsi laterale e la sinapsi del neurone inibitore

Le sinapsi laterali sono sinapsi statiche che connettono tra loro tutti i neuroni di output,

questo tipo di sinapsi è stata implementata direttamente sul back-plane della rete di output.

Il compito di questa sinapsi è quello di generare un segnale che è la somma di tutte le

ampiezze delle attività di tutti i neuroni meno quello a cui la sinapsi afferisce. Riportiamo

in figura III.3.B lo schema elettrico complessivo per tutta la rete di tale sinapsi.

Figura III.1.Q Una delle sinapsi laterali sul back plane

La sinapsi del neurone inibitore è semplicemente una connessione fisica anch’essa

Realizzata sul back-plane

Page 54: Realizzazione di una rete neuronale per la riduzione dell

III-14

3.2 L’interfaccia digitale

Quest’unità è di estrema importanza per la gestione di tutta la rete neuronale.

E’ stata progettata per poter interfacciare la rete di output con un PC, per poterla mettere in

comunicazione con Lann27 e per gestire tutti i segnali globali (gli offset, le tensioni di

riferimento). Inoltre su di essa è stato implementato il neurone inibitore, già descritto nel

paragrafo 3.1.3.

In figura III.2.A riportiamo lo schema a blocchi di questo dispositivo, mentre nella figura

III.3.B riportiamo la fotografia (in scala 1:0.8) del medesimo evidenziando i singoli

blocchi strutturali.

Figura III.2.A schema a blocchi dell’interfaccia digitale.

Page 55: Realizzazione di una rete neuronale per la riduzione dell

III-15

Figura III.2.B Fotografia dell’interfaccia digitale, sono evidenziati i blocchi strutturali

1. Traslatori di livello2. I2C per lettura sinapsi3. Interfaccia RS 2324. Gruppo di 8 DAC a 12 bit5. Comparatori per lettura neuroni di output6. ADC supplementare7. Neurone inibitore8. Circuito di reset , e clock per porta I2C

Page 56: Realizzazione di una rete neuronale per la riduzione dell

III-16

L’interfaccia digitale ha a bordo una logica di controllo basata su un micro controllore

della famiglia Intel, l’87C52 una Ram di 256 K byte espandibile a 512 Kbite, una GAL,

una Eprom su cui è stato scritto il programma di gestione in assembler, inoltre è possibile

inserire una TOY per la gestione della data e dell’ora, è disponibile anche un connettore

dove poter connettere un display a 40 caratteri su 2 righe per la visualizzazione delle

operazioni in corso. Sul pannello frontale sono state predisposti i pulsanti per il reset

dell’intera scheda e il reset delle sinapsi.

Il dispositivo, come abbiamo già detto deve generare tutti i segnali globali necessari al

funzionamento della rete di output, questo compito è affidato a 8 DAC MAX522BCPE

della MAXIM a 12 bit, questi DAC, ci permettono di avere una sensibilità di circa 0.5

mV, molto maggiore di quella a noi necessaria, se vogliamo sono sovradimensionati.

Vediamo ora quali sono i segnali globali che vengono gestiti dai DAC. Per quanto riguarda

la sinapsi, la soglia positiva (Vthr), variabile tra 0.2 e 5 Volt, la soglia negativa (Nvthr),

variabile tra –0.2 e 5 Volt e l’offset sul moltiplicatore post-sinaptico (Jc/2), variabile tra 0 e

5 Volt. Per quanto riguarda il neurone inibitore l’offset sul generatore si spike rate (θ),

variabile tra 0 e –5 Volt. Due DAC sono poi impiegati per compiere la traslazione di

livello dei segnali provenienti dai neuroni della LANN27. Il neurone di LANN27 ha solo

due stati stabili, quello inattivo ("0 Volt) e quello attivo (" 5 Volt), corrispondenti quindi

a valori TTL. Questi due stati vengono traslati in un valore positivo per lo stato attivo,

variabile tra 0 e 5 Volt e in un valore negativo, variabile tra 0 e –5 Volt, per quello

disattivo. Questi segnali traslati vanno in ingresso alle sinapsi interstrato, rappresentano

cioè, lo stimolo esterno alla rete di output. Un altro ADC è dedicato alla generazione del

valore di soglia per la lettura dei neuroni di output. Essendo il neurone di output totalmente

analogico, è stato implementato sulla interfaccia digitale un comparatore a soglia per

l’identificazione dell’unità vincente.

Sono stati, inoltre, previsti ed implementati sull’interfaccia 27 switch analogici che, in test

successivi, avranno il compito di trasferire il segnale di campo interno dei neuroni della

LANN in ingresso alle sinapsi interstrato, quindi, senza nessuna manipolazione da parte

dell’interfaccia. Si è pensato a questa, come possibile soluzione della indistinguibilità da

parte della rete di output tra attrattore e semplice pattern.

Per la gestione dell’interfaccia è stato sviluppato un software in ambiente DOS utilizzando

il compilatore C++ di Borland. Questo software permette l’impostazione di tutti i segnali

Page 57: Realizzazione di una rete neuronale per la riduzione dell

III-17

globali, la lettura dell’unita vincente, l’impostazione e quindi l’apertura della finestra

temporale, variabile tra 10 e 10000 ms, tra LANN27 e rete di output.

3.3 Organizzazione della rete di output.

La rete di output ha una struttura modulare, composta da un cestello da 84 TE su cui è

stato implementato il back-plane al quale possono essere collegate, tramite un connettore

Euro da 96 pin, sette schede di tipo doppio eurocard (220 mm x 200 mm), Su queste

schede sono state implementate 27 sinapsi interstrato e il neurone di output a cui

afferiscono. Al back plane è connessa anche la scheda di interfaccia, realizzata anch’essa

su una scheda doppio eurocard. In figura III.3.A è rappresentato lo schema a blocchi della

rete di output in tutte le sue parti.

Figura III.3.A Schema a blocchi della rete di output

Page 58: Realizzazione di una rete neuronale per la riduzione dell

III-18

L’hardware utilizzato durante lo svolgimento di questo lavoro di tesi è composto da sole

tre schede 1N27S. Il motivo principale di questa scelta è nella impossibilità da parte di

LANN di apprendere più di tre attrattori, e quindi della inutilità di schede aggiuntive. In

figura III.3.B mostriamo la struttura finale della rete da noi utilizzata.

Figura III.3.B Schema finale della rete di output,

Page 59: Realizzazione di una rete neuronale per la riduzione dell

IV-1

Capitolo IV “....per fortuna il pubblico vede soloil prodotto finito….” W. Allen

Setup e test

In questo capitolo illustriamo le fasi di regolazione dell’hardware che sono state effettuate

per porre la rete di output nella condizione di funzionare. Mostreremo anche i risultati delle

prime misure effettuate utilizzando la LANN27, quindi spiegheremo i motivi che ci hanno

spinto ad realizzare una modifica hardware che verrà discussa in modo approfondito nel

capitolo V.

4.1 Regolazioni preliminariAbbiamo a disposizione sette schede 1N27S (che indicheremo con una numerazione da 1 a

7). Di queste sette ne sono state scelte, per i test, tre. Il primo motivo è legato al fatto che i

test verranno effettuati con la LANN27 che non è in grado di apprendere più di tre

attrattori, il secondo motivo, più pratico, è legato a fattori di tempo. Ogni scheda a richiesto

diverse settimane di lavoro per sostituire i componenti danneggiati e per regolare

l’ampiezza dei rumori del refresh stocastico. Le schede scelte sono la numero2 , la numero

3 e la numero 4. L’ampiezza del rumore stocastico con media nulla e varianza ! è stata

fissata a 60 mVpp, la stessa ampiezza che hanno i rumori sulla LANN27. La fase

successiva è stata quella di regolare tutti i segnali globali, a tale scopo è stato sviluppato

un software in C++* che tramite l’interfaccia digitale, ci permette di impostare tutti i

segnali globali e l’ampiezza della finestra temporale. La probabilità di transizione dipende

chiaramente dal valore che assumono i segnali globali. Il valore del segnale di traslazione

Jc/2, che fa pesare in modo opportuno i tre stati della sinapsi interstrato, è fissato

teoricamente in metà del valore di clipping. Riportiamo in figura IV.1.A e IV.1.B due

immagini, acquisite tramite l’oscilloscopio digitale, in cui si vede la soglia rumorosa e lo

stimolo esterno (con il neurone afferente della LANN27 attivo) durante l’apertura della

finestra temporale, nel primo caso, senza che avvenga la transizione, nel secondo caso con

il clipping verso lo stato potenziato Jc.

* Per una descrizione approfondita del software si rimanda il lettore all’Appendice A

Page 60: Realizzazione di una rete neuronale per la riduzione dell

IV-2

Figura IV.1.A Immagine acquisita dall’oscilloscopio, in cui è mostrata l’apertura della finestra temporale in

presenza di stimolo esterno, senza che avvenga la transizione.

Figura IV.1.B Immagine acquisita dall’oscilloscopio in cui è mostrata l’apertura della finestra temporale in

presenza di stimolo esterno, con clipping dallo stato labile a quello potenziato

Page 61: Realizzazione di una rete neuronale per la riduzione dell

IV-3

Dalle misure effettuate tramite l’oscilloscopio si trova che i valori di clipping Jc e –Jc

valgono circa 2.4 V e –2.4 V, quindi si è fissato il valore di Jc/2 a 1.2 V. Stesso valore,

sempre imposto dalla teoria, deve avere il segnale di comparazione del neurone inibitore θ.

Per quanto riguarda i valori da assegnare alle soglie rumorose e ai livelli corrispondenti

allo stato attivo e inattivo dei neuroni di LANN27, questi andranno ad influire sulle

probabilità di transizione.

4.2 Verifica del loop sulle schede 1N27S

E’ stata eseguita una verifica sistematica, del funzionamento a livello elettrico, sulle tre

schede utilizzate nella rete di output. Si e’ proceduto nel seguente modo: si è generato un

pattern sulla LANN con livello di codifica f=0.1, si è collegata al back-plane una sola

scheda per volta, si è presentato il pattern un numero di volte sufficiente a far transire tutte

le sinapsi e si sono effettuate le misure delle tensioni in punti specifici, indicati con le

lettere verdi nello schema a blocchi raffigurante il loop tra neurone di output e neurone

inibitore di figura IV.2.A. Sono stati prelevati i valori dei segnali globali sia sulla scheda

inserita che sulle s-lot delle altre due schede. Si è verificato infine che il loop tra il neurone

di output e il neurone inibitore funzionasse in modo corretto.

Figura IV.2.A Schema a blocchi del loop tra neurone di output e neurone inibitore

Page 62: Realizzazione di una rete neuronale per la riduzione dell

IV-4

Il pattern generato sulla Lann è il seguente:

- + + + - - - - - - - - - - - - - - - - - - - - - - -dove il segno + sta a significare che il neurone della Lann è attivo mentre il segno – che è

inattivo. Il peso che avrà Cj dipende dal valore del segnale di traslazione Jc/2. E

chiaramente dalla presenza o meno dello stimolo esterno. Riportiamo qui di seguito una

tabella in cui sono indicati i valori di Cj in funzione di Jc/2 con cui sono state effettuate le

misure.

Tabella dei valori di Cj in funzione di Jc/2

Jc/2 Cj con sinapsi potenziata Cj con sinapsi depressa Cj con sinapsi labile

1.2 V 900±±±± 10mV -90±±±±1 mV 530±±±±10 mV

Nelle seguenti pagine riportiamo le tabelle con le misure effettuate sulle tre schede.

Abbiamo quindi verificato che il loop si chiudesse in modo corretto. Le tre schede hanno

dimostrato un corretto funzionamento elettronico. Nei prossimi paragrafi illustriamo i test

che hanno visto l’impiego della LANN27.

Page 63: Realizzazione di una rete neuronale per la riduzione dell

IV-5

Scheda #2 inserita nella slot #5

Impostazione segnali globali

Vthr = 1 V Jc/2 = 1.2 VNvthr = -1 V 1* = 5 V

Theta = -1.2 V 0** = -5 V

MisureSegnale prelevato Riferimento schema

a blocchi(lettera verde)

Valoremisurato

(mV)

Note

f(I) E 853±±±±10

Nf(I) F -846±±±±10

Uscita neurone inibitore H -3.2±±±±.1 Su interfaccia con θθθθ=1.2 V

Uscita neurone inibitore C 3.2±±±±.1 Su Back-plane con θθθθ=1.2 V

Uscita neurone inibitore H -114±±±±10 Su interfaccia con θθθθ=0.8 V

Uscita neurone inibitore C 114±±±±10 Su back-plane con θθθθ=0.8 V

Inibizione laterale B -888±±±±10 Misurata su slot # 9

Ingresso Nf(I) slot #5 -901±±±±10

Ingresso Nf(I) slot #9 -18±±±±1

Ingresso Nf(I) slot #13 -18±±±±1

Uscita sommatore*** D -843±±±±10

Verifica H=F+G= (-910±10)+(800)=110±10

H calcolato è in accordo con il valore misurato

Scheda #3 inserita nella slot # 9 * Nel software di gestione si indica con il sibolo”1” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza dell’attivazione del neuronedella LANN** Nel software di gestione si indica con il sibolo”0” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza della non attivazione delneurone della LANN*** Uscita del sommatore di ingresso del neurone di output, in riferimento allo schema elettrico del neuronedi output in figura III.1.E è il pin #1 del primo amplificatore operazionale

Page 64: Realizzazione di una rete neuronale per la riduzione dell

IV-6

Impostazione segnali globali

Vthr = 1 V Jc/2 = 1.2 VNvthr = -1 V 1* = 5 V

Theta = -1.2 V 0** = -5 V

MisureSegnale prelevato Riferimento schema

a blocchi(lettera verde)

Valoremisurato

(mV)

Note

f(I) E 843±±±±10

Nf(I) F -875±±±±10

Uscita neurone inibitore H -3.5±±±±.1 Su interfaccia con θθθθ=1.2 V

Uscita neurone inibitore C 3.5±±±±.1 Su Back-plane con θθθθ=1.2 V

Uscita neurone inibitore H -124±±±±10 Su interfaccia con θθθθ=0.8 V

Uscita neurone inibitore C 124±±±±10 Su back-plane con θθθθ=0.8 V

Inibizione laterale B -866±±±±10 Misurata su slot # 13

Ingresso Nf(I) slot #5 -11.4±±±±.1

Ingresso Nf(I) slot #9 -875±±±±10

Ingresso Nf(I) slot #13 -11.4±±±±.1

Uscita sommatore*** D -843±±±±10

Verifica H=F+G= (-910±10)+(800)=110±10

H calcolato è in accordo con il valore misurato

Scheda #4 inserita nella slot #13

* Nel software di gestione si indica con il sibolo”1” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza dell’attivazione del neuronedella LANN** Nel software di gestione si indica con il sibolo”0” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza della non attivazione delneurone della LANN*** Uscita del sommatore di ingresso del neurone di output, in riferimento allo schema elettrico del neuronedi output in figura III.1.E è il pin #1 del primo amplificatore operazionale

Page 65: Realizzazione di una rete neuronale per la riduzione dell

IV-7

Impostazione segnali globali

Vthr = 1 V Jc/2 = 1.2 VNvthr = -1 V 1* = 5 V

Theta = -1.2 V 0** = -5 V

MisureSegnale prelevato Riferimento schema

a blocchi(lettera verde)

Valoremisurato

(mV)

Note

f(I) E 932±±±±10

Nf(I) F -900±±±±10

Uscita neurone inibitore H 3.8±±±±.1 Su interfaccia con θθθθ=1.2 V

Uscita neurone inibitore C 3.8±±±±.1 Su Back-plane con θθθθ=1.2 V

Uscita neurone inibitore H -130±±±±10 Su interfaccia con θθθθ=0.8 V

Uscita neurone inibitore C -130±±±±10 Su back-plane con θθθθ=0.8 V

Inibizione laterale B -876±±±±10 Misurata su slot # 9

Ingresso Nf(I) slot #5 -10±±±±1

Ingresso Nf(I) slot #9 -10±±±±1

Ingresso Nf(I) slot #13 -900±±±±10

Uscita sommatore*** D -878±±±±10

Verifica H=F+G= (-948±10)+(800)=148±10

H calcolato è in accordo con il valore misurato

4.3 I test con la LANN27 * Nel software di gestione si indica con il sibolo”1” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza dell’attivazione del neuronedella LANN** Nel software di gestione si indica con il sibolo”0” l’istruzione che ci permette di assegnare il valore ditensione che si vuole inviare in ingresso alle sinapsi interstrato in corrispondenza della non attivazione delneurone della LANN*** Uscita del sommatore di ingresso del neurone di output, in riferimento allo schema elettrico del neuronedi output in figura III.1.E è il pin #1 del primo amplificatore operazionale

Page 66: Realizzazione di una rete neuronale per la riduzione dell

IV-8

Descriviamo in questo paragrafo la fase dei test preliminari effettuati sulla rete di output.

Si è utilizzata la LANN27 per generare i pattern da presentare alla rete di output. Abbiamo

fatto apprendere (fase di learning), a gruppi di tre, un certo numero di pattern ( generati in

modo random) alla LANN27. Ricordiamo qui che i pattern generati sulla LANN27 hanno

tutti la distanza di hamming massima. Una volta richiamati (fase di retrieval) i pattern

singoli, si apre la finestra temporale. In questo modo si presenta un singolo pattern (uno dei

tre) alla rete di output. A questo punto si dovrebbe instaurare il meccanismo di

competitive learning tra le tre schede della rete e da questa competizione ne dovrebbe

uscire una vincente. Quello che è emerso dai test è che la rete presenta due comportamenti

distinti. Questi comportamenti sono dipendenti dalla probabilità di transizione delle

sinapsi. Da adesso in poi indicheremo questi due comportamenti con i nomi di probabilità

di transizione alta e probabilità di transizione bassa.

Le probabilità di transizione non possono essere calcolate poiché non è stato ancora

ultimato l’hardware che ci permetterà di acquisire da computer lo stato delle sinapsi

interstrato di tutte le schede di output.

4.3.1 Probabilità di transizione alta

Inizialmente le sinapsi interstrato si trovano tutte nello stato labile. Presentiamo il primo

pattern, In questo caso si ha che al momento dell’apertura della finestra temporale, le

sinapsi di una delle schede (non si sa a priori quale delle tre) transiranno quasi

istantaneamente verso i rispettivi stati potenziati e depressi innescando una inibizione tale

che le altre due schede non subiranno transizioni delle sinapsi. Alla chiusura della finestra

si ha una scheda che ha acquisito il pattern e quindi è in grado di riconoscerlo in una

eventuale ripresentazione, Le altre due schede hanno ancora tutte le sinapsi nello stato

labile. Presentando il secondo pattern, si ha lo stesso meccanismo, ma questa volta tra le

due schede rimaste. Quindi una seconda scheda imparerà il secondo pattern. Il terzo pattern

verrà appreso dalla scheda rimasta. La rete ha dimostrato di sapere riconoscere tre pattern

diversi. Infatti ripresentandoli in ingresso si ha l’attivazione del neurone di output

corrispondente all’unità che in fase di apprendimento aveva vinto. Non c’è stato però,

almeno in apparenza , quel fenomeno di competizione tra le schede. Vediamo di capire

cosa è successo. Nello stesso instante in cui una prima sinapsi ha subito una transizione

verso lo stato potenziato si è innescato un doppio effetto: sulla scheda stessa si è attivato il

neurone di output, il che ha portato ad un ulteriore aumento della probabilità di

Page 67: Realizzazione di una rete neuronale per la riduzione dell

IV-9

transizione*, mentre sulle schede rimanenti si è innescato il meccanismo di inibizione dato

dal neurone inibitore. Questo processo è corretto, ma l’alta probabilità di transizione fa si

che vinca la scheda 1N27S su cui è avvenuta la prima transizione verso uno stato

potenziato. E’ chiaro quindi che l’attivazione della scheda dipende, non tanto da un

fenomeno di competizione con le rimanenti schede, ma da delle asimmetrie

dell’elettronica, che favoriscono un’unità rispetto ad un’altra. Riportiamo nelle prossime

pagine le misure effettuate in queste condizioni. Nella tabella 2 sono indicati i tre pattern

utilizzati. I simboli “+” e “-“ stanno ad indicare, come detto, l’attivazione o meno del

neurone della LANN27. Si noti che abbiamo sempre indicato con il nome di pattern e mai

di attrattore le parole di 27 bit provenienti da LANN27. Questo perché attualmente la rete

di output non è in grado di distinguere se un pattern è un attrattore o meno. Una possibile

soluzione a questo problema sarà discussa nel sesto capitolo. Nella tabella 3 riportiamo le

configurazioni finali delle tre schede di output dopo aver appreso i tre pattern, i simboli

“+” e “-“ indicano lo stato potenziato e depresso delle sinapsi interstrato, il simbolo “o”

indica lo stato labile. Riportiamo qui di seguito i valori dei segnali globali con i quali sono

state effettuate le presentazioni.

Vthr 0.9 VNvthr -0.9 VJc/2 1.2 V

θθθθ -1.2 V

1 5 V0 -5 V

Finestra temporale 10 ms Tabella 1 Impostazione dei segnali globali

* si ricordi che nella sinapsi intersrato è presente un feed-back proveniente dal neurone di output che faaumentare le probabilità di transizione poiché agisce sulle soglie rumorose del circuito di refresh stocastico.

Page 68: Realizzazione di una rete neuronale per la riduzione dell

IV-10

1° set di presentazioni

P0 """"####""""""""############""""""""####""""####""""""""####""""""""################""""""""####""""""""####

P1 """"########""""####""""####""""####""""########""""####""""########""""""""""""####""""########""""""""""""

P2 """"""""""""""""""""####""""""""""""####""""""""####################""""####""""####""""################""""

Tabella 1 I tre pattern della LANN27

Presentato P0 con overlap 1 con finestra temporale di 10 ms

o#""###""#"#""#""####""#""# si attiva la scheda #3

Presentato P1 con overlap 1 con finestra temporale di 10 ms

o##"#"#"#"##"#"###""#"o#""" si attiva la scheda #4

Presentato P2 con overlap 1 con finestra temporale di 10 ms

#"""#"""#""#####"""#"o###" si attiva la scheda # 2Tabella 2 le configurazioni delle schede della rete di output dopo la presentazione dei tre pattern

Page 69: Realizzazione di una rete neuronale per la riduzione dell

IV-11

2° set di presentazioni

P0 ####""""""""####""""""""""""####""""############""""""""########""""""""########""""""""####""""########""""

P1 ####""""""""####""""####""""""""""""####""""""""""""####""""############""""####""""################""""####

P2 """"############""""""""""""########""""########""""""""""""""""########""""########""""############""""""""

Tabella 1 I tre pattern della LANN27

Presentato P0 con overlap 1 con finestra temporale di 20 ms

o#"#"""#"#o#"###"o##""o"##" si attiva la scheda #2

Presentato P1 con overlap 1 con finestra temporale di 20 ms

o#"#"#""o#"""#"##oo#"#o##"# si attiva la scheda #4

Presentato P2 con overlap 1 con finestra temporale di 20 ms

o###"""##""#""""#oo##"o#o"" si attiva la scheda # 3Tabella 2 le configurazioni delle schede della rete di output dopo la presentazione dei tre pattern

Page 70: Realizzazione di una rete neuronale per la riduzione dell

IV-12

3° set di presentazioni

P0 """"####""""""""############""""""""####""""####""""""""####""""""""################""""""""####""""""""####

P1 """"########""""####""""####""""####""""########""""####""""########""""""""""""####""""########""""""""""""

P2 """"""""""""""""""""####""""""""""""####""""""""####################""""####""""####""""################""""

Tabella 1 I tre pattern della LANN27

Presentato P0 con overlap 1 con finestra temporale di 20 ms

o#""###""#"#""#""####"o#""# si attiva la scheda #2

Presentato P1 con overlap 1 con finestra temporale di 20 ms

"o#"#"#"#"##"#"###""#"o#""" si attiva la scheda #4

Presentato P2 con overlap 1 con finestra temporale di 20 ms

"#"o"#"""#""#####"""#"o###" si attiva la scheda # 3Tabella 2 le configurazioni delle schede della rete di output dopo la presentazione dei tre pattern

Page 71: Realizzazione di una rete neuronale per la riduzione dell

IV-13

Su quest'ultima serie di pattern è stato fatto un ulteriore test. Si è voluto verificare, con

successo, che la rete fosse in grado di riconoscere pattern corrotti degli attrattori acquisiti.

Riportiamo nelle tabella 3 le misure effettuate generando sulla LANN27 dei pattern

corrotti dei tre imparati. Nella prima colonna sono indicati gli overlap dei tre pattern (in

colore rosso mostriamo il pattern più vicino ad uno già imparato), nella seconda è indicato

il numero del neurone corrispondente alla scheda che dovrebbe attivarsi e nella terza quello

che si attiva. L’overlap può variare tra –1 e +1. Vale –1 quando il pattern è esattamente

opposto a quello con cui viene fatto il confronto, vale 1 quando i due pattern sono identici,

vale 0 quando i pattern hanno metà bit uguali. Sono stati generati pattern con livelli di

corruzione tra l’8% e l’89%. In tutti i casi la rete ha dimostrato di essere in grado di

attivare l’unità giusta.

Pattern corrottiCon overlap di corruzione

Si dovrebbeattivare

Siattiva

Pattern corrotticon overlap di corruzione

Si dovrebbeattivare

Siattiva

P0 0.037P1 0.92

P2 0.037#4 #4

P0 -0.037P1 0.85P2 0.11

#4 #4

P0 0.62P1 -0.025P2 -0.40

#2 #2P1 -0.185P2 -0.037P3 0.85

#3 #3

P0 -0.11P1 -0.11P2 0.92

#3 #3P0 0.92

P1 0.037P2 -0,11

#2 #2

P0 -0.11P1 0.037P2 0.92

#3 #3P0 -0.92

P1 -0.037P2 0.11

#3 #3

Tabella 3 Attivazione dei neuroni di output con pattern corrotti di prototipi imparati

Page 72: Realizzazione di una rete neuronale per la riduzione dell

IV-14

4.3.2 Probabilità di transizione bassa

Descriviamo in questo paragrafo i test effettuati con probabilità di transizione bassa.

Abbiamo abbassato le probabilità di transizione modificando alcuni dei segnali globali,

regolabili tramite il software di gestione. Riportiamo nella seguente tabella i valori dei

segnali globali impostati in questa fase.

Vthr 1.0 VNvthr -1.0 VJc/2 1.2 V

θθθθ -1.2 V

1 4 V0 -4 V

Finestra temporale 20 ms Tabbella1 Impostazione dei segnali globali

Alla apertura della finestra temporale, a differenza del caso precedente, solo alcune sinapsi

subiranno transizioni verso lo stato depresso e potenziato. Per far vincere una delle unità si

dovrà ripresentare il pattern diverse volte riaprendo la finestra temporale.

In questo modo si instaura il processo di competizione tra le unità di output.

I test effettuati in questa fase sono divisi in due gruppi. I primi utilizzando pattern con

decodifica f=0.1 , cioè con soli tre neuroni attivi, creati da noi. I secondi con f=0.5, cioè

con pattern in cui la metà dei neuroni sono attivi e la metà sono disattivi, generati in modo

random e con distanza di hamming massima dal programma di gestione della LANN27.

Riportiamo nelle prossime pagine le misure effettuate. I pattern sono indicati con parole di

ventisette bit in cui con il segno “#” si è indicato lo stato attivo del neurone della

LANN27 e lo stato potenziato della sinapsi interstrato, con il segno”"” lo stato inattivo del

neurone e lo stato depresso della sinapsi, con il simbolo “0” lo stato labile della sinapsi.

Commenteremo nel prossimo paragrafo i risultati.

Page 73: Realizzazione di una rete neuronale per la riduzione dell

IV-15

1° Set di presentazioni con f = 0.1

1° patternP0 """"""""""""""""#### """""""""""""""""""" ####""""""""####"""" """""""""""""""""""" """""""""""""""""""" """"""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """"""""0000""""0000 00000000000000000000 00000000000000000000 00000000""""00000000 """"""""0000""""0000 """"""""

Scheda #3 """"00000000""""0000 00000000000000000000 0000000000000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 000000000000""""0000 00000000""""0000"""" 00000000""""0000"""" 00000000"""""""""""" 0000""""00000000"""" """"""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """"""""0000""""0000 00000000""""00000000 00000000000000000000 00000000""""00000000 """"""""""""""""0000 """"""""

Scheda #3 """"00000000""""0000 """"""""000000000000 0000000000000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""0000""""#### 0000"""""""""""""""" ####""""""""00000000 """"00000000"""""""" """"0000""""00000000 """"""""

Configurazione delle schede dopo la 3° apertura della finestra temporale

Scheda #2 """"""""0000""""0000 00000000""""00000000 00000000000000000000 00000000""""00000000 """"""""""""""""0000 """"""""

Scheda #3 """"00000000""""0000 """"""""000000000000 0000000000000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Si attiva l’unità #4, si osserva però che le sinapsi delle altre due unità hanno subito alcune

transizioni. Presentiamo il secondo pattern

Page 74: Realizzazione di una rete neuronale per la riduzione dell

IV-16

2° pattern

P1 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """""""""""""""""""" ####"""""""""""""""" """"""""

Configurazione iniziale delle schede

Scheda #2 """"""""0000""""0000 00000000""""00000000 00000000000000000000 00000000""""00000000 """"""""""""""""0000 """"""""

Scheda #3 """"00000000""""0000 """"""""000000000000 0000000000000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """""""""""""""""""" 0000""""""""00000000 """"""""0000""""0000 """"0000""""00000000 """"""""""""""""0000 """"""""

Scheda #3 """"""""""""""""0000 """"""""000000000000 0000""""00000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """"""""""""""""0000 """"""""000000000000 0000""""00000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Si disattiva l’unità #4 e si attiva l’unità #2. L’unità restante, la #3 ha il 59,2% di sinapsi

nello stato depresso. Presentiamo il terzo pattern

Page 75: Realizzazione di una rete neuronale per la riduzione dell

IV-17

3° pattern

P2 """""""""""""""""""" ####"""""""""""""""" """"####"""""""""""" """""""""""""""""""" """"""""""""""""#### """"""""

Configurazione iniziale delle schede

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """"""""""""""""0000 """"""""000000000000 0000""""00000000"""" 0000""""000000000000 0000""""00000000"""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """""""""""""""""""" """"""""000000000000 0000""""00000000"""" 0000""""0000""""0000 0000""""0000"""""""" 00000000

Scheda #4 0000""""""""""""#### """""""""""""""""""" ####""""""""####"""" """"0000"""""""""""" """""""""""""""""""" """"""""

Si disattiva l’unità #2 ma si attiva l’unità #4, questo perché l’unità #3 è stata “corrotta” dai

pattern P0 e P1 e non è più in grado di riconoscere un ulteriore pattern. Si può notare che in

corrispondenza dei neuroni attivi del pattern P2 le sinapsi dell’unità #3 sono nello stato

depresso e non hanno possibilità di transire verso quello potenziato. Discuteremo di questo

problema nelle conclusioni di questo capitolo. Presentiamo ora il secondo set di pattern.

Page 76: Realizzazione di una rete neuronale per la riduzione dell

IV-18

2° Set di presentazioni con f = 0.1

1° pattern

P0 """"####"""""""""""" """"""""####"""""""" """""""""""""""""""" """"""""""""####"""" """""""""""""""""""" """"""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 00000000""""""""0000 00000000000000000000 """"""""00000000"""" 00000000000000000000 00000000000000000000 00000000

Scheda #3 """"000000000000"""" 000000000000""""0000 00000000""""00000000 0000000000000000"""" 00000000000000000000 """"""""

Scheda #4 00000000000000000000 0000""""000000000000 000000000000""""0000 00000000000000000000 0000""""""""00000000 00000000

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 00000000""""""""0000 00000000000000000000 """"""""00000000"""" 00000000000000000000 00000000000000000000 00000000

Scheda #3 """"000000000000"""" 000000000000""""0000 00000000""""00000000 0000000000000000"""" 00000000000000000000 """"""""

Scheda #4 00000000000000000000 0000""""000000000000 000000000000""""0000 00000000000000000000 0000""""""""00000000 00000000

Configurazione delle schede dopo la 3° apertura della finestra temporale

Scheda #2 00000000""""""""0000 00000000000000000000 """"""""00000000"""" 00000000000000000000 00000000000000000000 00000000

Scheda #3 """"000000000000"""" 000000000000""""0000 00000000""""00000000 0000000000000000"""" 00000000000000000000 """"""""

Scheda #4 00000000000000000000 0000""""000000000000 000000000000""""0000 00000000000000000000 0000""""""""00000000 00000000

Si attiva l’unità #3, come nel caso precedente le sinapsi delle altre due unità hanno subito

alcune transizioni. Presentiamo il secondo pattern

Page 77: Realizzazione di una rete neuronale per la riduzione dell

IV-19

2° pattern

P1 """""""""""""""""""" """""""""""""""""""" """"""""############ """""""""""""""""""" """""""""""""""""""" """"""""

Configurazione iniziale delle schede

Scheda #2 00000000""""""""0000 0000""""""""00000000 """"""""00000000"""" 00000000000000000000 00000000000000000000 """"""""

Scheda #3 """"####"""""""""""" """"""""####"""""""" """""""""""""""""""" """"""""""""####"""" """"""""""""""""0000 """"""""

Scheda #4 """"00000000"""""""" 0000""""000000000000 000000000000""""0000 0000""""00000000"""" 0000""""""""00000000 00000000

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 00000000""""""""0000 0000""""""""00000000 """"""""00000000"""" 000000000000"""""""" 00000000""""0000""""""""""""

Scheda #3 """"####"""""""""""" """"""""####"""""""" """""""""""""""""""" """"""""""""####"""" """"""""""""""""0000 """"""""

Scheda #4 """"""""0000"""""""" 0000""""0000""""0000 000000000000""""0000 0000""""00000000"""" 0000""""""""00000000 0000""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """""""""""""""""""" """"""""0000"""""""" """"""""""""########"""" 0000"""""""""""""""" """""""""""""""""""" """"""""

Scheda #4 """"""""0000"""""""" 0000""""0000""""0000 000000000000""""0000 0000""""00000000"""" 0000""""""""00000000 0000""""

Si disattiva l’unità #3 e si attiva l’unità #2. L’unità restante, la #4 ha il 55,5% di sinapsi

nello stato depresso. Presentiamo il terzo pattern

Page 78: Realizzazione di una rete neuronale per la riduzione dell

IV-20

3° pattern

P2 ####"""""""""""""""" """"""""""""####"""" """""""""""""""" """""""""""""""""""" """""""""""""""""""" """"####

Configurazione iniziale delle schede

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """""""""""""""""""" """"""""0000"""""""" """"""""""""########"""" 0000"""""""""""""""" """""""""""""""""""" """"""""

Scheda #4 """"""""0000"""""""" 0000""""0000""""0000 000000000000""""0000 0000""""00000000"""" 0000""""""""00000000 0000""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """""""""""""""""""" ####""""""""""""#### """""""""""""""""""" """"0000"""""""""""" """"""""""""""""0000""""""""

Scheda #3 """""""""""""""""""" """"""""0000"""""""" """"""""""""########"""" 0000"""""""""""""""" """""""""""""""""""" """"""""

Scheda #4 """"""""0000"""""""" 0000""""0000""""0000 000000000000""""0000 0000""""00000000"""" 0000""""""""00000000 0000""""

Con la presentazione del terzo pattern non si ha la disattivazione dell’unità che aveva

precedentemente vinto. Si sarebbe dovuta attivare l’unità #4, ma come nel caso

precedente, il livello di “corruzione è tale da impedire alle sinapsi afferenti ai neuroni della

LANN27 attivi di transire. L’attivazione dell’unità #4 è del tutto casuale, dovuta

probabilmente ad asimmetrie dell’elettronica, poiché le sinapsi afferenti ai neuroni attivi di

LANN27 si trovano tutte nello stato depresso quindi non possono contribuire al

potenziamento del neurone di output.. I prossimi pattern sono stati presentati con

decodifica f =0.5. Si è verificato in fasi precedenti che la rete di output funziona anche

con livelli di decodifica più alti di f=0.1

Page 79: Realizzazione di una rete neuronale per la riduzione dell

IV-21

1° Set di presentazioni con f = 0.5

1° pattern

P0 """"########""""####""""####""""####""""########""""####""""########""""""""""""####""""########""""""""""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 000000000000""""00000000000000000000""""000000000000000000000000000000000000000000000000000000000000""""""""

Scheda #3 """"00000000""""""""0000000000000000000000000000000000000000000000000000000000000000000000000000""""""""""""

Scheda #4 000000000000""""000000000000""""0000""""00000000""""0000""""00000000""""""""""""0000""""00000000""""""""""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 000000000000""""00000000000000000000""""000000000000000000000000000000000000000000000000000000000000""""""""

Scheda #3 """"00000000""""""""000000000000000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000####0000""""000000000000""""0000""""00000000""""0000""""####0000""""""""""""0000""""0000####""""""""""""

Configurazione delle schede dopo la 3° apertura della finestra temporale

Scheda #2 000000000000""""00000000000000000000""""000000000000000000000000000000000000000000000000000000000000""""""""

Scheda #3 """"00000000""""""""000000000000000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Il pattern P0 fa attivare l’unità #4. Presentiamo il secondo pattern.

Page 80: Realizzazione di una rete neuronale per la riduzione dell

IV-22

2° pattern

P1 """"""""""""""""""""####""""""""""""####""""""""####################""""####""""####""""################""""

Configurazione iniziale delle schede

Scheda #2 000000000000""""00000000000000000000""""000000000000000000000000000000000000000000000000000000000000""""""""

Scheda #3 """"00000000""""""""000000000000000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """"""""""""""""00000000000000000000""""00000000000000000000000000000000""""0000""""0000000000000000""""""""

Scheda #3 """"""""""""""""""""0000""""""""000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """"""""""""""""####00000000""""####""""""""####################0000####""""####""""################""""""""

Scheda #3 """"""""""""""""""""0000""""""""000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Il pattern P1 fa attivare la scheda # 2. Presentiamo il terzo pattern.

Page 81: Realizzazione di una rete neuronale per la riduzione dell

IV-23

3° pattern

P2 """"####""""""""############""""""""####""""####""""""""####""""""""################""""""""####""""""""####

Configurazione iniziale delle schede

Scheda #2 """"""""""""""""####00000000""""####""""""""####################0000####""""####""""################""""""""

Scheda #3 """"""""""""""""""""0000""""""""000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """"""""""""""""####00000000""""####""""""""####################0000####""""####""""################""""""""

Scheda #3 """"""""""""""""""""0000""""""""000000000000000000000000000000000000""""""""""""0000""""00000000""""""""""""

Scheda #4 0000########""""############""""####""""########""""""""""""####0000""""""""""""####""""########""""""""""""

Il pattern P2 fa attivare la scheda # 4, la stessa che si era attivata con il pattern P0, quindi

l’unità #3 è troppo corrotta dai pattern P0 e P1 per attivarsi con il pattern P2, si attiva la

scheda #4 perché è quella che ha le sinapsi nella configurazione più vicina al pattern P2

Page 82: Realizzazione di una rete neuronale per la riduzione dell

IV-24

2° Set di presentazioni con f = 0.5

1° pattern

P0 ################""""########""""############""""""""""""########""""""""########""""""""""""""""""""####""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 0000000000000000000000000000""""0000000000000000""""""""000000000000000000000000000000000000""""""""00000000

Scheda #3 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""000000000000

Scheda #4 ####000000000000""""00000000000000000000000000000000000000000000""""""""00000000000000000000000000000000""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 0000000000000000000000000000""""0000000000000000""""""""000000000000000000000000000000000000""""""""00000000

Scheda #3 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""000000000000

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Configurazione delle schede dopo la 3° apertura della finestra temporale

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""000000000000000000000000000000000000""""""""0000""""

Scheda #3 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""000000000000

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Si attiva l’unità # 4. Presentiamo il pattren P1

Page 83: Realizzazione di una rete neuronale per la riduzione dell

IV-25

2° pattern

P1 """"####################""""########""""""""####""""""""""""########""""""""""""########""""""""""""########

Configurazione iniziale delle schede

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""000000000000000000000000000000000000""""""""0000""""

Scheda #3 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""000000000000

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""""""00000000""""""""""""00000000""""""""""""0000""""

Scheda #3 """"####0000000000000000""""00000000""""""""0000000000000000000000000000""""0000000000000000""""00000000####

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""""""00000000""""""""""""00000000""""""""""""0000""""

Scheda #3 """"####################""""########""""""""####0000""""0000########""""""""""""########""""""""0000########

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Si attiva la scheda #3. Presentiamo il pattern P2

Page 84: Realizzazione di una rete neuronale per la riduzione dell

IV-26

3° pattern

P2 ####################""""""""####""""####""""""""########""""################""""""""""""""""""""""""""""""""

Configurazione iniziale delle schede

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""""""00000000""""""""""""00000000""""""""""""0000""""

Scheda #3 """"####################""""########""""""""####0000""""0000########""""""""""""########""""""""0000########

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 ####000000000000""""00000000""""0000000000000000""""""""""""00000000""""""""""""00000000""""""""""""0000""""

Scheda #3 """"####################""""########""""""""####0000""""0000########""""""""""""########""""""""0000########

Scheda #4 ################""""########0000########""""""""""""""""####0000""""""""########""""""""""""""""""""0000""""

Il pattern P2 fa attivare la scheda # 3, la stessa che si era attivata con il pattern P1.

Page 85: Realizzazione di una rete neuronale per la riduzione dell

IV-27

3° Set di presentazioni con f = 0.5

1° pattern

P0 """"####""""####""""""""####""""############""""""""########""""""""########""""""""####""""########""""####

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 00000000""""00000000""""00000000000000000000""""""""000000000000""""00000000000000000000000000000000""""0000

Scheda #3 """"000000000000""""000000000000000000000000000000000000000000000000000000000000""""000000000000000000000000

Scheda #4 00000000""""0000000000000000000000000000000000000000000000000000000000000000""""0000000000000000000000000000

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """"0000""""0000""""""""0000""""000000000000""""""""000000000000""""00000000000000000000""""00000000""""0000

Scheda #3 """"0000""""0000""""000000000000000000000000""""00000000000000000000000000000000""""0000""""00000000""""0000

Scheda #4 00000000""""0000000000000000000000000000000000000000000000000000000000000000""""00000000000000000000""""0000

Configurazione delle schede dopo la 3° apertura della finestra temporale

Scheda #2 """"####""""0000""""""""0000""""000000000000""""""""000000000000""""00000000000000000000""""00000000""""0000

Scheda #3 """"0000""""0000""""""""00000000000000000000""""00000000000000000000000000000000""""0000""""00000000""""0000

Scheda #4 00000000""""0000000000000000000000000000000000000000000000000000000000000000""""00000000000000000000""""0000

Configurazione delle schede dopo la 4° apertura della finestra temporale

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""00000000000000000000""""00000000000000000000000000000000""""0000""""00000000""""0000

Scheda #4 00000000""""0000000000000000000000000000000000000000000000000000000000000000""""00000000000000000000""""0000

Si attiva l’unità #2. Presentiamo il pattern P1

Page 86: Realizzazione di una rete neuronale per la riduzione dell

IV-28

2° pattern

P1 ########""""########""""""""############""""####""""################""""""""####""""""""""""####""""""""""""

Configurazione iniziale delle schede

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""00000000000000000000""""00000000000000000000000000000000""""0000""""00000000""""0000

Scheda #4 00000000""""0000000000000000000000000000000000000000000000000000000000000000""""00000000000000000000""""0000

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""""""0000000000000000""""""""0000000000000000000000000000""""0000""""00000000""""""""

Scheda #4 """"0000""""00000000""""00000000""""""""000000000000000000000000""""00000000""""00000000000000000000""""0000

Configurazione delle schede dopo la 2° apertura della finestra temporale

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""""""0000000000000000""""""""0000000000000000000000000000""""0000""""00000000""""""""

Scheda #4 """"####""""0000####""""""""####""""""""########""""####""""####""""########""""####""""############""""""""

Si attiva l’unità #4. Presentiamo il terzo pattern.

Page 87: Realizzazione di una rete neuronale per la riduzione dell

IV-29

3° pattern

P2 ########""""########""""""""############""""####""""################""""""""####""""""""""""####""""""""""""

Configurazione iniziale delle schede

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""""""0000000000000000""""""""0000000000000000000000000000""""0000""""00000000""""""""

Scheda #4 """"####""""0000####""""""""####""""""""########""""####""""####""""########""""####""""############""""""""

Configurazione delle schede dopo la 1° apertura della finestra temporale

Scheda #2 """"####""""####""""""""####""""############""""""""########0000""""########0000""""####""""########""""####

Scheda #3 """"0000""""0000""""""""""""0000000000000000""""""""0000000000000000000000000000""""0000""""00000000""""""""

Scheda #4 """"####""""0000####""""""""####""""""""########""""####""""####""""########""""####""""############""""""""

Il pattern P2 fa attivare la scheda # 4, la stessa che si era attivata con il pattern P1 .

Page 88: Realizzazione di una rete neuronale per la riduzione dell

IV-30

4.4 Analisi dei risultati

Le verifiche sistematiche dell’elettronica hanno dimostrato un perfetto comportamento

elettronico a basso livello

Dalle misure effettuate con l’ausilio della LANN27 sono emersi diversi aspetti interessanti.

Con probabilità di transizione alte la rete di output apprende e riconosce tre attrattori

distinti anche con valore di decodifica maggiore di 0,1 ma non si osserva, almeno

apparentemente, il fenomeno della competizione tra le unità. La rete ha comunque

dimostrato di saper riconoscere pattern corrotti e di attivare l’unità corrispondente al

prototipo da cui il corrotto è stato generato.

Con probabilità di transizione basse (in senso da definire) ci sono due comportamenti che

meritano la nostra attenzione.

Fino a quando nessuna sinapsi transisce verso lo stato potenziato esiste la possibilità che

una qualsiasi delle tre unità (a priori non si sa quale) possa vincere. Si instaura il

meccanismo della competizione per cui ad ogni apertura della finestra temporale si ha

l’attivazione di un’unita rispetto ad un’altra fino a che una non avrà un numero tale di

sinapsi transite verso gli stai potenziati, che il contributo all’efficacia sinaptica della scheda

e l’inibizione sulle altre due unità saranno tali da farla essere la vincente. Questo

comportamento è quello che si voleva che la rete avesse in fase di progettazione

Si osserva però un secondo aspetto non meno importante. Le schede subiscono una

corruzione in fase di apprendimento che fa si che la terza unità non riesca mai ad attivarsi

alla presentazione del pattern P2. Questo perché lo stato depresso e potenziato sono stati

definitivi in cui la sinapsi, una volta esserci transita, ci resta qualsiasi sia lo stimolo esterno.

L’impossibilità di effettuare transizioni verso lo stato labile è dovuta al gap troppo ampio

tra gli stati potenziato (depresso) e le soglie rumorose. In figura IV.4.1 riportiamo una

immagine acquisita tramite l’oscilloscopio in cui si mette in evidenza il ∆V che esiste tra la

Vthr e Jc

Si rende quindi necessaria una modifica che permetta alle sinapsi di effettuare delle

transizioni anche dallo stato potenziato e depresso. Si vuole ridurre il ∆V solo se la sinapsi

si trova in uno stato diverso da quello labile. Nel capitolo V mostreremo il circuito

elettronico che è stato implementato per avere questo effetto.

Page 89: Realizzazione di una rete neuronale per la riduzione dell

IV-31

Figura IV.4.A Immagine acquisita dall’oscilloscopio in cui si mostra una transizione verso lo stato

potenziato Jc durante l’apertura della finestra temporale. E’ evidenziato il gap ∆V presente tra lo statoJc e la soglia rumorosa Vthr. Si noti, durante l’apertura della finestra temporale, il contributo dello stimolo

esterno ed il contributo del neurone di output presente sulla soglia rumorosa.

Page 90: Realizzazione di una rete neuronale per la riduzione dell

V-1

Capitolo V “Quanto più innocua sembreràuna modifica, tanto più le sueconseguenze si estenderanno emaggiore sarà il numero di disegniche dovranno essere rifatti.”

A. Bloch

La modifica

Abbiamo mostrato nel precedente capitolo l’impossibilità da parte della sinapsi di

interstrato di effettuare transizioni verso lo stato labile una volta che questa abbia effettuato

una transizione verso lo stato potenziato (Jc) o depresso (-Jc). Si è resa quindi necessaria

una modifica che, in funzione dello stato in cui si trovi la sinapsi, sposti le soglie in modo

da avere una probabilità di transizione non nulla verso lo stato labile. Mostriamo in questo

capitolo la modifica che permette questo.

5.1 Un termine nuovo nelle equazioniVediamo ora cosa succede alle equazioni della dinamica sinaptica dopo l’aggiunta della

modifica.

Riprendiamo l’equazione (2.2G) senza soffermarci sui singoli termini che sono stati

ampiamente illustrati nel secondo e terzo capitolo:

τ s ij ij jJ t J t S f⋅ = − + +.

( ) ( ) Re (5.1.A)

dove il primo termine rappresenta l’efficacia sinaptica, il secondo termine rappresenta lo

stimolo esterno mentre l’ultimo termine rappresenta il refresh stocastico. E’ quindi questo

il termine che a noi interessa. Il termine di refresh è dato da:

[ ] [ ])t(JTJT)t(JJJfRe ijthcthijc0 −θ⋅+−θ⋅+= −−++ (5.1.B)

dove

T J f I tth th i± ±= +! ( ) ( )ω (5.1.C)

In questa ultima equazione viene aggiunto un nuovo termine

Page 91: Realizzazione di una rete neuronale per la riduzione dell

V-2

)J()t()I(fJT ijithth±±± Φ+ω+= ! (5.1.D)

La modifica quindi non fa altro che aggiungere un offset al termine Tth!. Dalle figure

V.1.A e V.1.B si può capire bene il perché di questa modifica. La prima mostra la

transizione della sinapsi interstrato dallo stato labile allo stato potenziato quando è presente

in ingresso uno stimolo esterno positivo. Appena il segnale Si incontra la soglia Vthr+ si ha

la transizione. In figura V.1.B si ha la sinapsi nello stato potenziato. In presenza di uno

stimolo esterno che tenda a portare la sinapsi nello stato depresso, non si ha nessuna

transizione per la presenza di un gap tra Jc e Vthr+ (∆V) troppo ampio.

Figura V.1.A Transizione dallo stato labile (J0) allo stato potenziato (Jc) in presenza di uno stimolo esterno

positivo

Figura V.1.B Presenza in ingresso alla sinapsi dello stimolo esterno negativo, con il neurone di output

inattivo

Page 92: Realizzazione di una rete neuronale per la riduzione dell

V-3

E’ quindi necessaria una modifica che sposti le soglie verso gli stati potenziato e depresso.

Si vuole inoltre che questo effetto non sia presente sulle sinapsi afferenti al neurone di

output attivo durante l’apertura della finestra temporale. Questo ci è garantito, come si

vede chiaramente in figura V.1.C, dalla presenza sulla soglia + rumore del contributo del

neurone di output fi.

Si vede chiaramente che in presenza di stimolo esterno negativo e neurone di output attivo

il gap tra lo stato Jc e la soglia aumenta, rendendo impossibile la transizione.

Figura V.1.C Presenza sulla sinapsi dello stimo esterno negativo, con il neurone di output attivo.

Quindi anche in presenza della modifica la transizione è comunque proibita. Ricapitolando,

quando la sinapsi si trova nello stato potenziato, e il neurone a cui afferisce è disattivo, la

soglia + rumore si sposta verso questo. Quando la sinapsi è nello stato labile non è presente

nessun effetto sulle soglie, mentre, quando il neurone a cui la sinapsi afferisce, è attivo,

l’effetto della modifica è annullato dalla presenza del contributo fi sulla soglia. Il

procedimento appena descritto vale, specularmente, anche per lo stato depresso.

Page 93: Realizzazione di una rete neuronale per la riduzione dell

V-4

5.2 Implementazione hardware

Per l’implementazione si è utilizzato il più semplice circuito raddrizzatore realizzabile con

un amplificatore operazionale. Poiché abbiamo la necessità di agire in modo separato sulla

soglia positiva e su quella negativa, sono stati realizzati due raddrizzatori, uno a semionda

positiva e uno a semionda negativa. I due circuiti sono mostrati in figura V.2.A e figura

V.2.B. Analizziamo il circuito a semionda positiva (fig.V.2.A) L’operazionale è utilizzato

in configurazione invertente.

Figura V.2.A Raddrizzatore a semionda positiva

Quando il segnale di ingresso (V0) è positivo, l’uscita (V1) è a una tensione negativa che

interdice il diodo D2. Quindi la controreazione attraverso la resistenza R0 è

interrotta. La tensione di uscita cresce fino a che non entra in conduzione il diodo D1

creando una linea di retroazione sull’operazionale. Quindi con ingressi positivi il circuito

ha uscita nulla. Quando l’ingresso è negativo, l’uscita è positiva, il diodo D2 conduce

mentre D1 è interdetto. In questo modo l’operazionale è controreazionato dalla resistenza

R1 con guadagno A=-R0/R1. Questo circuito ha una linearità perfetta poiché il diodo D2

entra in conduzione appena la tensione V0 vale V"/A0. Montando i diodi in modo opposto

si ottiene il raddrizzatore a semionda negativa

Page 94: Realizzazione di una rete neuronale per la riduzione dell

V-5

Figura V.2.B Raddrizzatore a semionda negativa

Mostriamo in figura V.2.C la funzione di trasferimento dei due raddrizzatori. Ai due

circuiti è stato mandato in ingresso il segnale di clipping della sinapsi. E’ chiaro che

quando questa è nello stato potenziato si attiva solo il raddrizzatore positivo, viceversa

quando è nello stato depresso. In figura V.2.D riportiamo lo schema a blocchi della sinapsi

modificata. Le uscite dei due raddrizzatori sono state collegate tramite un trimmer

multigiro all’ingresso dei due sommatori soglia+rumore. Lo scopo dei trimmer è quello di

poter regolare il guadagno del segnale proveniente dalla modifica. I trimmer sono da 10

KΩ, mentre la resistenza di controreazione dei sommatori vale 4.7 KΩ, questo ci porta ad

avere un guadagno regolabile, che può variare da .47 a valori ben al di sopra di 1. Si è

scelto di utilizzare l’operazionale LF 412 sia per l’estrema versatilità, sia per il costo

contenuto (visto che per la realizzazione della modifica ne sono stati utilizzati centootto).

Figura V.2.C Funzioni di trasferimento dei due raddrizzatori.

Page 95: Realizzazione di una rete neuronale per la riduzione dell

V-6

In figura V.2.E riportiamo lo schema elettrico completo di una singola sinapsi interstrato

con la propria modifica.

Figura V.2.D Schema a blocchi della sinapsi interstrato più la modifica.

5.3 Realizzazione della scheda di modifica

Per la realizzazione della scheda si è utilizzato il software Ace-Plus per gli schemi elettrici

e il software Board-Master per la realizzazione dello stampato. Le dimensioni della scheda

sono esattamente quelle del back-plane ( 8993 mils x 16800 mils), in modo tale da poterla

applicare, con appositi distanziatori esattamente sul back-plane.

Questa modifica deve essere realizzata individualmente per ogni sinapsi interstrato della

rete di output. Il numero di circuiti di modifica dipende, quindi, dal numero di schede

1N27S che si intende adoperare, come abbiamo già visto nel capitolo IV, in questa fase

abbiamo lavorato con massimo tre schede. Si è deciso quindi di implementare la modifica

per sole quattro schede. La scheda contiene 108 circuiti di modifica (27x4).

Page 96: Realizzazione di una rete neuronale per la riduzione dell

V-7

Questa scheda è stata realizzata in modo tale che la modifica non sia permanente. A tale

scopo sulla scheda sono presenti 4 connettori EURO da 96 pin nei quali possono essere

inseriti i connettori provenienti dalle singole schede 1N27S, uno per ogni scheda. Non

potendo riprogettare le schede 1N27S, le connessioni che collegano i circuiti di modifica

con le sinapsi interstrato sono state effettuate tramite fili da wire-wrape.

La scheda di modifica è stata realizzata su sei strati, su di essa sono presenti 432 diodi,

108 LF 412

216 trimmer e 432 resistenze. La realizzazione fisica della scheda è stata affidata alla ditta

Ermes.

Riportiamo nelle figure V.3.A ÷ V.3.G i layer della scheda. In figura V.3.H e V3.I

riportiamo le foto in scala della scheda completa e delle saldature che sono state effettuate

sulla scheda 1N27S. Discuteremo nel prossimo capitolo la fase di messa a punto e

regolazione riguardante la scheda di modifica.

Figura V.3.I Foto delle saldature con fili per wire-wrap sulle schede 1N27S.

Page 97: Realizzazione di una rete neuronale per la riduzione dell

V-8

Page 98: Realizzazione di una rete neuronale per la riduzione dell

VI-1

Capitolo VI “La conoscenza razionale è ricavatadall’esperienza che abbiamo deglioggetti e degli eventi del nostroambiente quotidiano. Essa appartieneal campo dell’intelletto, la cuifunzione è quella di discriminare,dividere, confrontare, misurare eordinare in categorie” Fritjof Capra - Il Tao della Fisica

Test finali e conclusioni

6.1 Regolazioni preliminari

Prima di effettuare i test sulla rete di output modificata si è proceduto alla regolazione dei

valori degli offset da sommare alle soglie rumorose quando le sinapsi inter strato si trovano

in uno stato diverso da quello labile. Questa fase è piuttosto delicata poiché da questa

regolazione dipenderanno le probabilità di transizione dagli stati potenziato e depresso a

quello labile. E’ chiaro che questa probabilità dipenderà anche dal valore che si assegna

alle due soglie rumorose tramite il software di gestione. Questo perché l’offset si somma al

valore impostato via software, quindi più questo è lontano dallo stato labile più sarà vicino

a quello potenziato e viceversa. Nelle figure VI.1.A e messo in evidenza questo aspetto. La

prima operazione da effettuare è quindi quella di fissare il valore delle soglie rumorose con

cui si vorrà lavorare. Nella tabella seguente mostriamo i valori delle due soglie rumorose

che sono stati fissati basandoci sui risultati ottenuti dai test preliminari illustrati nel

capitolo IV.

SEGANLE VALORE IMPOSTATOSoglia positiva (Vthr) 1 Volt

Soglia negativa (Nvthr) -1 Volt Tabella VI.1 Valori assegnati alle soglie rumorose per i test della rete modificata.

Page 99: Realizzazione di una rete neuronale per la riduzione dell

VI-2

Figura VI.1.A Immagine acquisita dall’oscilloscopio digitale in cui è mostrata una transizione verso lo stato

depresso durante l’apertura della finestra temporale, con la presenza del circuito di modifica

Nella figura sovrastante si mostra una transizione della sinapsi dallo stato labile allo stato

depresso durante l’apertura della finestra temporale con la presenza di uno stimolo esterno

che tende a deprimere la sinapsi. E’ presente l’effetto di spostamento delle soglie dovuto

alla modifica. Il ∆V’ è il valore che si assegna, via software, alla soglia rumorosa negativa

(Nvthr), il ∆V’’ è il valore che si assegna all’offset, questo valore è impostato dalla

regolazione hardware dei trimmer della soglia negativa presenti sulla scheda di modifica, il

∆V’’’ è la differenza tra il valore di clipping –Jc e la somma dei valori ∆V’ e ∆V’’. E’

evidente che il ∆V’’’ dipenderà, una volta fissato il ∆V’’, dal valore che viene assegnato

all’Nvthr tramite il software di gestione. Maggiore è il ∆V’(minore è quindi la probabilità

di transizione dallo stato labile a quello depresso) minore è il ∆V’’’(maggiore è quindi la

probabilità di transizione dallo stato depresso a quello labile). Bisogna quindi trovare un

compromesso tra l’ampiezza da assegnare all’offset e il valore della soglia impostato da

software. In realtà esistono altri parametri tramite cui si possono modificare le probabilità

di transizione, variando le ampiezze dello stimolo esterno si ha un aumento o una

diminuzione della probabilità di transizione che va nello stesso verso per tutte le transizioni

possibili.

Page 100: Realizzazione di una rete neuronale per la riduzione dell

VI-3

Un altro parametro che modifica la probabilità di transizione è il theta da cui dipende

l’ampiezza del segnale d’inibizione. Dal Jc/2 dipende invece l’ampiezza dell’efficacia

sinaptica. Inoltre bisogna considerare il fatto che la sinapsi dovrà transire solo quando il

contributo dato dal neurone a cui afferisce è nullo. Bisogna considerare quindi che il ∆V’’’

dovrà essere minore del ∆V’. Fissiamo quindi l’offset in modo tale da avere il ∆V’’’ (vedi

figura VI.1.A) sia pari a circa metà del ∆V’. Per capire bene quello che succede

guardiamo le figure VI.1.B.

Figura VI.1.B Transizioni con la presenza della modifica. Le finestre temporali sono tutte di 20 ms..

a) transizione dallo stato labile a quello potenziato.

b) transizione dallo stato labile a quello depresso.

c) transizione dallo stato potenziato a quello labile con neurone afferente disattivo.

d) impossibilità di transizione dovuta alla presenza del neurone afferente attivo

Nella figura a) si ha una transizione dallo stato labile a quello potenziato con relativo

spostamento della soglia verso Jc, nella b) si ha una transizione dallo stato labile a quello

depresso ed anche in questo caso si ha lo spostamento della soglia verso -Jc. Le figure c) e

d) sono le più interessanti. Nella prima è mostrata una transizione dallo stato potenziato a

quello depresso, si noti che durante l’apertura della finestra temporale non è presente sulla

soglia rumorosa il contributo dovuto all’attivazione del neurone di output a cui la sinapsi in

esame afferisce. Nella seconda, invece, è presente il contributo dovuto all’attivazione del

neurone di output. Quindi sia la soglia rumorosa che lo stimolo esterno subiscono uno

Page 101: Realizzazione di una rete neuronale per la riduzione dell

VI-4

spostamento nella stessa direzione, rendendo impossibile la transizione. Questo è proprio

quello che si vuole che accada. Le sinapsi, afferenti ad un neurone di output attivo durante

l’apertura della finestra temporale, non devono subire transizioni dagli stati potenziato e

depresso poiché stanno imparando a riconoscere l’attrattore.

Dai test descritti nel capitolo IV si osserva che la corruzione che impediva

l’apprendimento del terzo pattern era dovuto principalmente alla transizione delle sinapsi

nello stato depresso. Si è pensato quindi di sbilanciare leggermente i due offset in modo da

avere una probabilità di transizione maggiore dallo stato depresso a quello labile rispetto a

quella dallo stato potenziato a quello labile I valori assegnati ai trimmer che determinano

l’offset sono riportati nella tabella sottostante in cui è indicata anche l’amplificazione

dell’operazionale in configurazione di sommatore* e il valore del ∆V’’’ (figura VI.1.A) in

riferimento ai valori delle soglie della tabella VI.1

Valore del trimmer (ΩΩΩΩ) Guadagno del sommatore ∆∆∆∆V’’’ (mV)**

Offset Soglia Positiva 1650±±±±1*** -2.84±±±±0.05**** 532±±±±1Offìset Soglia Negativa 1400±±±±1 3.35±±±±0.05 620±±±±1Tabella VI.2 Impostazione dei valori dei trimmer del circuito di modifica

Nel prossimo paragrafo illustriamo i nuovi test effettuati sulla rete di output modificata

utilizzando la LANN27.

* Si veda lo schema elettrico della sinapsi inter strato modificata, nel capitolo V. I sommatori a cui si fariferimento sono quelli del circuito di refresh stocastico a cui vengono collegate le due uscite del circuito dimodifica (rappresentato in rosso). I sommatori sono montati in configurazione invertente e il valore dellaresistenza di controreazione che determina, insieme ai trimmer, il guadagno dell’amplificatore vale 4.7 KΩ±5%..** Il ∆V’’’ a cui si fa riferimento è quello indicato nella figura VI.1.A, cioè il gap tra lo stato potenziato odepresso e la soglia rumorosa dopo la transizione verso uno di questi stati. L’errore che è presente nellamisura è dovuto alla scala utilizzata nell’oscilloscopio per la misura*** L’errore nella misura del valore del potenziometro è determinato dallo strumento adoperato. In questocaso il tester digitale.**** Il calcolo dell’errore del guadagno è stato calcolato considerando sommando gli errori relativi dei valoridella resistenza di controreazione (±5%) e del trimmer (0.6%)

Page 102: Realizzazione di una rete neuronale per la riduzione dell

VI-5

6.2 I test con la modifica

Descriviamo in questo paragrafo i test conclusivi effettuati sulla rete di output con l’azione

della modifica sulle sinapsi inter strato.

6.2.1 Modalità di svolgimento dei test

Questa serie di test è stata effettuata con una modalità leggermente diversa da quella

descritta nel capitolo IV. La prima differenza rispetto ai test precedenti sta nell’apertura

della finestra temporale. In questo caso si è presentato il patten in ingresso per un tempo

fisso di 10 secondi. In questo modo è visibile il meccanismo di competizione tra le tre

unità e poiché le probabilità di transizione sono basse è garantito il clipping di tutte , o

quasi, le sinapsi dell’unità vincente. La seconda differenza sta nel fatto che si sono

presentati pattern in ingresso con decodifica che varia da 01 (tre neuroni attivi su

ventisette) a 0.5 (metà dei neuroni attivi). In particolare sono stati costruiti manualmente i

pattern con decodifica 0.1-0.2-0.3 mentre quelli con decodifica 0.5 sono stati generati in

maniera random e con distanza di hamming massima dal software di gestione della

LANN27. Si volgono i test con decodifica 0.5 per verificare il corretto comportamento

della rete di output in condizioni di massima efficienza di LANN27

6.2.2 Le misure

Nelle seguenti pagine sono riportate le tabelle contenenti i risultati dei test. La prima

tabella contiene i tre pattern utilizzati con il loro livello di codifica. Le successive

contengono i singoli pattern presentati in ingresso e i rispettivi stati delle unità (indicando

quella vincente in rosso) alla chiusura della finestra temporale di 10 secondi. Il

simbolo”!” indica che la sinapsi ha subito una transizione verso lo stato potenziato, il

simbolo “"” indica una transizione verso lo stato depresso, il simbolo “0” indica che la

sinapsi si trova nello stato labile. Poiché è presente l’azione della modifica, le sinapsi che

si trovano nello stato labile alla chiusura della finestra temporale possono aver subito delle

transizione durante la presentazione, ma poiché la loro unità non si è rilevata la vincente

sono transite verso lo stato labile.

Page 103: Realizzazione di una rete neuronale per la riduzione dell

VI-6

1° set di presentazioni con decodifica f=0.1 P0 """"""""!!!!""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!!""""

P1 !!!!""""""""""""""""!!!!""""""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""

P2 """"""""""""""""""""""""""""""""""""""""!!!!""""""""""""""""!!!!!!!!""""""""""""""""""""""""""""""""""""""""

1° patternP0 """"""""!!!!""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!!""""

Unità #2 0000""""!!!!""""""""""""""""""""0000!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""00000000!!!!""""

Unità #3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2° patternP1 !!!!""""""""""""""""!!!!""""""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""

Unità #2 0000""""!!!!""""""""0000""""""""0000!!!!""""""""""""""""0000""""""""""""""""""""""""0000""""""""0000!!!!""""

Unità #3 !!!!""""""""""""!!!!""""""""""""0000""""""""""""!!!!0000""""""""""""""""""""0000""""""""""""""""""""""""""""

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

3° patternP2 """"""""""""""""""""""""""""""""""""""""!!!!""""""""""""""""!!!!!!!!""""""""""""""""""""""""""""""""""""""""

Unità #2 0000""""!!!!""""""""0000""""""""0000!!!!""""0000""""""""0000""""""""0000""""""""""""0000""""""""0000!!!!0000

Unità #3 !!!!""""""""""""!!!!0000""""""""0000""""0000""""!!!!0000""""""""0000""""""""0000""""""""""""00000000""""0000

Unità #4 """"""""""""""""""""""""0000""""""""""""!!!!""""""""""""""""!!!!!!!!0000""""""""""""""""0000""""""""""""""""

Dopo l'apertura delle tre finestre temporali si osserva che si è attivata una unità di output

per ogni singolo pattern.

Page 104: Realizzazione di una rete neuronale per la riduzione dell

VI-7

2° set di presentazioni con decodifica f=0.1 P0 !!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

P1 """"""""""""!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

P2 """"""""""""""""""""""""!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

1° patternP0 !!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000""""0000000000000000000000000000""""

Unità #3 00000000000000000000000000000000""""000000000000""""""""0000000000000000000000000000000000000000000000000000

Unità #4 !!!!!!!!!!!!""""""""""""""""""""""""""""0000""""""""""""""""""""""""""""""""""""""""""""""""""""""""0000""""

2° patternP1 """"""""""""!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Unità #2 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""

Unità #3 0000""""""""!!!!0000!!!!00000000""""""""""""""""""""0000""""""""""""""""""""""""0000""""""""""""""""""""""""

Unità #4 !!!!!!!!!!!!""""""""0000""""""""""""""""0000""""""""""""""""0000""""""""""""""""00000000""""""""""""0000""""

3° patternP2 """"""""""""""""""""""""!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Unità #2 """"""""""""""""""""""""!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Unità #3 0000""""""""!!!!0000!!!!00000000""""0000""""""""""""000000000000""""""""""""""""0000""""0000""""""""0000""""

Unità #4 !!!!!!!!!!!!""""""""0000""""""""0000""""0000""""0000""""""""00000000""""""""""""00000000""""""""""""0000""""

Anche in questo caso, dopo l'apertura delle tre finestre temporali si osserva che si è attivata

una unità di output per ogni singolo pattern.

Page 105: Realizzazione di una rete neuronale per la riduzione dell

VI-8

3° set di presentazioni con decodifica f=0.1 P0 !!!!""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""

P1 """"""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!!

P2 """"""""""""""""""""""""""""""""!!!!""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""

1° patternP0 !!!!""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""

Unità #2 !!!!""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""

Unità #3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2° patternP1 """"""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!!

Unità #2 !!!!""""0000""""0000""""!!!!""""""""0000""""""""""""""""""""!!!!""""""""""""0000""""""""""""""""""""0000""""

Unità #3 00000000000000000000000000000000""""00000000000000000000000000000000000000000000""""000000000000000000000000

Unità #4 """"""""""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!!

3° patternP2 """"""""""""""""""""""""""""""""!!!!""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""

Unità #2 !!!!""""0000""""0000""""!!!!""""""""000000000000""""0000""""!!!!""""""""""""0000""""""""00000000""""0000""""

Unità #3 """"""""""""""""""""""""""""""""!!!!""""""""!!!!""""""""""""""""""""""""!!!!""""""""""""""""""""""""""""""""

Unità #4 """"0000""""0000!!!!""""""""00000000""""""""!!!!""""""""""""0000""""0000""""""""0000""""""""0000""""""""!!!!

Anche in questo caso la rete di output si comporta in modo corretto e si attiva una unità per

ogni singolo pattern.

Page 106: Realizzazione di una rete neuronale per la riduzione dell

VI-9

1° set di presentazioni con decodifica f=0.2 P0 """"!!!!!!!!""""""""""""!!!!""""""""""""!!!!""""""""""""""""""""""""!!!!""""!!!!""""""""""""""""""""""""""""

P1 """"""""""""""""!!!!!!!!""""""""""""!!!!""""!!!!""""""""""""!!!!""""""""""""""""""""""""""""""""!!!!""""""""

P2 """"""""""""!!!!""""""""""""!!!!!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""!!!!

1° patternP0 """"!!!!!!!!""""""""""""!!!!""""""""""""!!!!""""""""""""""""""""""""!!!!""""!!!!""""""""""""""""""""""""""""

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #3 0000!!!!!!!!""""""""""""!!!!""""""""""""!!!!""""""""""""""""""""""""!!!!0000!!!!""""""""""""""""""""""""""""

Unità #4 0000000000000000000000000000000000000000""""0000000000000000000000000000000000000000000000000000""""00000000

2° patternP1 """"""""""""""""!!!!!!!!""""""""""""!!!!""""!!!!""""""""""""!!!!""""""""""""""""""""""""""""""""!!!!""""""""

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #3 0000!!!!!!!!""""0000""""!!!!0000""""""""!!!!""""""""""""0000""""""""!!!!0000!!!!""""""""0000""""""""00000000

Unità #4 """"""""""""""""!!!!!!!!""""""""""""!!!!""""!!!!""""""""""""!!!!""""0000""""""""""""""""""""""""!!!!""""0000

3° patternP2 """"""""""""!!!!""""""""""""!!!!!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""!!!!

Unità #2 """"""""""""!!!!""""""""""""!!!!!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""""""""""""""""""0000""""!!!!

Unità #3 0000!!!!!!!!""""0000""""!!!!00000000""""!!!!0000""""""""0000""""""""!!!!0000!!!!""""""""0000""""""""00000000

Unità #4 00000000""""""""!!!!!!!!""""0000""""!!!!""""!!!!""""""""""""!!!!""""0000""""""""""""""""""""""""!!!!""""0000

Si noto che l'ordine di attivazione delle schede, nelle varie presentazioni è sempre diverso,

indice che esiste una simmetria tra le schede.

Page 107: Realizzazione di una rete neuronale per la riduzione dell

VI-10

1° set di presentazioni con decodifica f=0.3P0 !!!!""""!!!!""""!!!!""""!!!!""""!!!!""""""""""""!!!!""""""""!!!!""""""""""""""""""""""""!!!!""""""""!!!!""""

P1 """"!!!!""""!!!!""""!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""""""!!!!""""""""!!!!""""""""!!!!""""!!!!

P2 """"""""""""""""""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!!!!!""""""""!!!!""""""""""""

1° patternP0 !!!!""""!!!!""""!!!!""""!!!!""""!!!!""""""""""""!!!!""""""""!!!!""""""""""""""""""""""""!!!!""""""""!!!!""""

Unità #2 0000""""!!!!""""!!!!""""!!!!""""!!!!""""""""""""!!!!""""""""!!!!""""""""""""""""""""0000!!!!""""""""!!!!""""

Unità #3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #4 00000000000000000000000000000000000000000000""""000000000000000000000000000000000000000000000000000000000000

2° patternP1 """"!!!!""""!!!!""""!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""""""!!!!""""""""!!!!""""""""!!!!""""!!!!

Unità #2 0000""""!!!!0000!!!!0000!!!!""""!!!!0000""""""""!!!!""""0000!!!!""""""""0000""""""""0000!!!!0000""""!!!!""""

Unità #3 """"!!!!""""!!!!""""!!!!""""""""""""!!!!!!!!""""""""""""""""""""""""0000""""""""""""!!!!""""0000!!!!""""!!!!

Unità #4 00000000000000000000000000000000000000000000""""000000000000000000000000000000000000000000000000000000000000

3° patternP2 """"""""""""""""""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!!!!!""""""""!!!!""""""""""""

Unità #2 0000""""!!!!0000!!!!0000!!!!""""!!!!0000""""""""!!!!""""0000!!!!""""""""0000""""""""0000!!!!0000""""00000000

Unità #3 """"!!!!0000!!!!""""!!!!""""!!!!""""!!!!!!!!""""""""0000""""""""""""0000""""""""""""!!!!""""0000!!!!""""!!!!

Unità #4 """"0000""""""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!!!!!""""""""!!!!""""""""""""

Anche con decodifica 0.3 la rete presenta un corretto comportamento.

Page 108: Realizzazione di una rete neuronale per la riduzione dell

VI-11

1° set di presentazioni con decodifica f=0.5P0 !!!!!!!!""""!!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""!!!!""""""""""""""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!

P1 !!!!!!!!!!!!""""""""!!!!""""!!!!!!!!!!!!""""!!!!!!!!""""""""""""!!!!""""!!!!""""!!!!""""""""""""!!!!!!!!""""

P2 !!!!!!!!""""""""""""!!!!!!!!""""""""!!!!!!!!""""!!!!!!!!""""!!!!""""!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""

1° patternP0 !!!!!!!!""""!!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""!!!!""""""""""""""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #3 !!!!!!!!""""!!!!!!!!!!!!0000""""!!!!!!!!!!!!""""0000""""""""0000""""""""""""!!!!""""""""""""!!!!""""!!!!!!!!

Unità #4 0000000000000000000000000000000000000000000000000000""""000000000000000000000000000000000000000000000000

2° patternP1 !!!!!!!!!!!!""""""""!!!!""""!!!!!!!!!!!!""""!!!!!!!!""""""""""""!!!!""""!!!!""""!!!!""""""""""""!!!!!!!!""""

Unità #2 !!!!!!!!!!!!!!!!""""!!!!""""!!!!!!!!!!!!""""!!!!!!!!!!!!""""""""!!!!""""""""""""!!!!""""""""""""!!!!!!!!""""

Unità #3 !!!!!!!!""""!!!!!!!!!!!!0000""""!!!!!!!!!!!!""""0000""""""""0000""""0000""""!!!!""""""""""""!!!!0000!!!!!!!!

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

3° patternP2 !!!!!!!!""""""""""""!!!!!!!!""""""""!!!!!!!!""""!!!!!!!!""""!!!!""""!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""

Unità #2 !!!!!!!!!!!!!!!!0000!!!!""""!!!!!!!!!!!!""""!!!!!!!!!!!!00000000!!!!""""0000""""!!!!""""""""0000!!!!!!!!""""

Unità #3 !!!!!!!!0000!!!!!!!!!!!!0000""""!!!!!!!!!!!!""""0000""""""""0000""""0000""""!!!!""""""""""""!!!!0000!!!!!!!!

Unità #4 !!!!!!!!""""""""""""!!!!!!!!""""0000!!!!!!!!""""!!!!!!!!""""!!!!""""!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""

I tre pattern utilizzati qui, sono generati da LANN con distanza di hamming massima, la

rete di output distingue anche questa volta i tre pattern.

Page 109: Realizzazione di una rete neuronale per la riduzione dell

VI-12

2° set di presentazioni con decodifica f=0.5P0 !!!!!!!!""""""""""""!!!!!!!!!!!!!!!!""""""""""""""""""""!!!!""""!!!!!!!!""""!!!!!!!!!!!!!!!!""""!!!!""""""""

P1 !!!!!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""""""!!!!!!!!""""""""""""""""""""""""!!!!

P2 !!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""!!!!!!!!""""""""""""""""!!!!""""""""!!!!!!!!""""

1° patternP0 !!!!!!!!""""""""""""!!!!!!!!!!!!!!!!""""""""""""""""""""!!!!""""!!!!!!!!""""!!!!!!!!!!!!!!!!""""!!!!""""""""

Unità #2 000000000000000000000000000000000000""""00000000000000000000""""00000000000000000000000000000000000000000000

Unità #3 !!!!!!!!""""""""""""!!!!0000!!!!!!!!""""""""""""""""""""!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!""""!!!!""""""""

Unità #4 0000000000000000000000000000000000000000""""00000000000000000000""""0000000000000000000000000000000000000000

2° patternP1 !!!!!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""""""!!!!!!!!""""""""""""""""""""""""!!!!

Unità #2 000000000000!!!!00000000000000000000""""00000000000000000000""""00000000000000000000000000000000000000000000

Unità #3 !!!!!!!!0000""""""""!!!!0000!!!!!!!!""""00000000""""""""!!!!""""!!!!0000""""!!!!!!!!!!!!!!!!""""!!!!0000""""

Unità #4 !!!!!!!!0000!!!!""""""""!!!!!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""!!!!""""""""""""""""""""""""!!!!

3° patternP2 !!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""!!!!!!!!""""""""""""""""!!!!""""""""!!!!!!!!""""

Unità #2 !!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""!!!!!!!!""""""""""""""""!!!!""""""""!!!!!!!!""""

Unità #3 !!!!!!!!0000""""""""!!!!0000!!!!!!!!""""00000000""""00000000""""!!!!0000""""!!!!!!!!!!!!!!!!""""!!!!0000""""

Unità #4 !!!!!!!!0000!!!!""""00000000!!!!!!!!!!!!!!!!!!!!""""""""000000000000!!!!""""!!!!""""""""000000000000""""0000!!!!

Il funzionamento con decodifica 0.5 è corretto. Per il primo pattern si attiva la scheda 3 per

il secondo la scheda 4, per il terzo la scheda 2

Page 110: Realizzazione di una rete neuronale per la riduzione dell

VI-13

3° set di presentazioni con decodifica f=0.5P0 """"""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!""""!!!!""""""""!!!!""""!!!!!!!!!!!!!!!!!!!!!!!!""""""""!!!!

P1 """"!!!!!!!!""""!!!!!!!!""""""""!!!!""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""!!!!

P2 """"""""!!!!""""""""""""!!!!!!!!""""""""""""!!!!!!!!""""!!!!""""""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1° patternP0 """"""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!""""!!!!""""""""!!!!""""!!!!!!!!!!!!!!!!!!!!!!!!""""""""!!!!

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #3 """"""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!""""!!!!""""""""!!!!00000000!!!!!!!!!!!!!!!!0000""""""""!!!!

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2° patternP1 """"!!!!!!!!""""!!!!!!!!""""""""!!!!""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""!!!!

Unità #2 """"!!!!!!!!0000!!!!!!!!0000""""!!!!""""0000""""""""""""""""""""""""!!!!!!!!!!!!!!!!0000!!!!!!!!!!!!""""!!!!

Unità #3 0000""""""""0000""""""""""""!!!!!!!!!!!!!!!!!!!!""""!!!!""""""""!!!!00000000!!!!!!!!!!!!!!!!0000""""0000!!!!

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

3° patternP2 """"""""!!!!""""""""""""!!!!!!!!""""""""""""!!!!!!!!""""!!!!""""""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Unità #2 """"!!!!!!!!0000!!!!!!!!0000""""!!!!""""0000""""000000000000""""""""!!!!!!!!0000!!!!0000!!!!!!!!!!!!""""!!!!

Unità #3 0000""""""""0000""""""""""""!!!!0000!!!!!!!!!!!!""""00000000""""!!!!00000000!!!!!!!!!!!!!!!!0000""""0000!!!!

Unità #4 """"""""!!!!""""""""0000!!!!!!!!""""0000""""!!!!!!!!""""!!!!""""""""!!!!0000""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!

La scheda 3 si attiva per prima poi la scheda 2 ed infine la 4.

Page 111: Realizzazione di una rete neuronale per la riduzione dell

VI-14

4° set di presentazioni con decodifica f=0.5P0 !!!!""""""""""""!!!!!!!!""""!!!!!!!!!!!!!!!!""""""""!!!!""""""""!!!!!!!!""""""""!!!!""""!!!!!!!!!!!!""""""""

P1 """"""""""""""""""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""!!!!!!!!""""

P2 """"!!!!""""!!!!!!!!""""!!!!""""""""!!!!!!!!!!!!""""""""""""!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!""""!!!!""""

1° patternP0 !!!!""""""""""""!!!!!!!!""""!!!!!!!!!!!!!!!!""""""""!!!!""""""""!!!!!!!!""""""""!!!!""""!!!!!!!!!!!!""""""""

Unità #2 !!!!""""""""""""!!!!!!!!""""!!!!!!!!!!!!!!!!""""""""!!!!""""""""!!!!!!!!""""""""!!!!""""!!!!!!!!!!!!""""""""

Unità #3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2° patternP1 """"""""""""""""""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""!!!!!!!!""""

Unità #2 !!!!""""00000000!!!!!!!!""""0000!!!!!!!!!!!!00000000!!!!""""""""!!!!!!!!""""""""!!!!0000!!!!!!!!!!!!""""""""

Unità #3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #4 """"""""""""""""""""""""!!!!""""""""!!!!!!!!!!!!!!!!!!!!""""""""!!!!!!!!""""!!!!0000""""!!!!!!!!""""!!!!!!!!""""

3° patternP2 """"!!!!""""!!!!!!!!""""!!!!""""""""!!!!!!!!!!!!""""""""""""!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!""""!!!!""""

Unità #2 !!!!""""00000000!!!!!!!!00000000!!!!!!!!!!!!00000000!!!!""""""""!!!!!!!!0000""""!!!!0000!!!!!!!!!!!!""""0000

Unità #3 """"!!!!""""!!!!!!!!""""!!!!""""""""!!!!!!!!!!!!""""""""""""!!!!""""!!!!""""""""!!!!!!!!!!!!!!!!""""!!!!""""

Unità #4 """"00000000""""0000""""!!!!00000000!!!!!!!!!!!!!!!!!!!!""""00000000!!!!""""!!!!0000""""!!!!!!!!""""!!!!!!!!0000

Anche con decodifica 0.5 l'ordine di attivazione delle schede è stocastico

Page 112: Realizzazione di una rete neuronale per la riduzione dell

VI-15

5° set di presentazioni con decodifica f=0.5P0 !!!!!!!!""""!!!!!!!!""""!!!!""""""""!!!!""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!""""!!!!""""""""""""""""!!!!

P1 !!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""""""""""!!!!!!!!!!!!""""""""""""""""!!!!""""""""!!!!""""!!!!""""""""""""

P2 !!!!""""""""!!!!""""!!!!""""""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""""""!!!!""""!!!!""""

1° patternP0 !!!!!!!!""""!!!!!!!!""""!!!!""""""""!!!!""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!""""!!!!""""""""""""""""!!!!

Unità #2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Unità #3 !!!!!!!!""""!!!!!!!!""""!!!!""""""""!!!!""""!!!!""""!!!!!!!!""""!!!!00000000!!!!""""!!!!""""0000""""""""!!!!

Unità #4 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2° patternP1 !!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""""""""""!!!!!!!!!!!!""""""""""""""""!!!!""""""""!!!!""""!!!!""""""""""""

Unità #2 !!!!!!!!!!!!!!!!""""!!!!!!!!!!!!""""""""0000!!!!!!!!!!!!""""""""""""""""!!!!0000""""!!!!0000!!!!""""""""""""

Unità #3 !!!!!!!!0000!!!!!!!!""""!!!!00000000!!!!""""!!!!""""!!!!!!!!0000!!!!00000000!!!!""""!!!!""""0000""""""""!!!!

Unità #4 00000000000000000000000000000000""""0000000000000000000000000000000000000000""""00000000""""""""""""""""0000

3° patternP2 !!!!""""""""!!!!""""!!!!""""""""!!!!""""!!!!!!!!""""!!!!!!!!""""!!!!""""""""!!!!!!!!""""""""!!!!""""!!!!""""

Unità #2 !!!!!!!!!!!!!!!!0000!!!!0000!!!!""""""""0000!!!!!!!!!!!!""""00000000""""!!!!0000""""!!!!0000!!!!""""""""0000

Unità #3 !!!!!!!!0000!!!!!!!!""""!!!!00000000!!!!0000!!!!""""!!!!!!!!0000!!!!00000000!!!!!!!!""""0000""""0000!!!!

Unità #4 !!!!""""""""!!!!""""!!!!0000""""!!!!0000!!!!!!!!0000!!!!!!!!""""!!!!""""""""!!!!0000""""""""0000""""!!!!""""

Nel prossimo paragrafo commentiamo i risultati di questa fase di test.

Page 113: Realizzazione di una rete neuronale per la riduzione dell

VI-16

6.2.3 Commenti

Il principale problema che era stato riscontrato durante i test descritti nel capitolo IV era la

impossibilità da parte della rete di riconoscere tutti i pattern perché si presentava un effetto

di corruzione delle unità che risultavano non vincenti. Con la presenza della modifica è

scomparso questo effetto. Questo perché le sinapsi delle unità che non risultano le vincenti,

se si trovano in uno stato diverso da quello labile, hanno una certa probabilità di transire

verso lo stato labile. Dai test emerge però un particolare importante. Durante la

presentazione del secondo e terzo pattern, le unità che risultano vincenti, rispettivamente,

per il primo e secondo possono subire delle transizioni delle proprie sinapsi dagli stati

potenziato e depresso verso quello labile. Avendo impostato la probabilità di transizione

dallo stato depresso verso quello labile più alta di quella dallo stato potenziato a quello

labile, si ha che la scheda non perde totalmente l’informazione corrispondente al pattern

memorizzato. Questo si riflette in una parziale perdita di informazione che viene subito

recuperata se alla rete di output viene ripresentato il pattern originale. Si riscontra quindi

che la rete di output ha acquisito la proprietà di palinsesto, cioè è in grado di dimenticare

pattern che non vengono presentati su lunghe scale di tempo, e di memorizzare nuovi

pattern senza che ci sia bisogno di un intervento esterno per forzare le sinapsi nello stato

labile.

La rete di output ha dimostrato di funzionare correttamente anche con pattern con

decodifica maggiore di f=0.1. Questo è stato possibile avendo progettato l’interfaccia

digitale in modo da poter avere un ampio range di variazione dei segnali Jc/2 e θ.

Impostando i valori di Jc/2 e θ opportuni per ogni livello di decodifica si è verificato che la

rete risponde in modo ottimale anche con livelli paria a f=0.5, cioè il valore con il quale

lavora la LANN27. Effettuando test più specifici pensiamo che la rete possa essere in

grado anche di adattare le schede agli spostamenti degli attrattori della LANN27, in modo

tale da riconoscerlo sempre insieme al proprio bacino di attrazione.

Page 114: Realizzazione di una rete neuronale per la riduzione dell

VI-17

6.3 Conclusioni

La rete neuronale di output ha dimostrato di saper attivare una sola unità alla presentazione

di un pattern con un apprendimento di tipo stocastico non supervisionato. Ha dimostrato

ulteriormente, in corrispondenza di pattern corrotti, di attivare l’unità che aveva vinto con

il pattern da cui i corrotti sono stati generati. La modifica ha inoltre potenziato la rete

dotandola di proprietà di palinsesto, cioè su lunghe scale di tempo la rete è in grado di

dimenticare i pattern che non vengono più presentati.

Specifichiamo inoltre che la rete di output prescinde dall’utilizzo della LANN27, l è infatti

in grado di catalogare e quindi ridurre informazione da parole di 27 bit qualsiasi sia lo loro

origine.

Per quanto riguarda le prospettive future, siamo in attesa del completamento delle schede

che permetteranno la lettura delle sinapsi e quindi permetteranno test ad alto livello per il

calcolo delle probabilità di transizione.

Per quanto riguarda la impossibilità da parte della rete di distinguere patter da attrattori, è

stato previsto, ma non ha riguardato questo lavoro di tesi, la possibilità di presentare in

ingresso alle sinapsi interstrato, non più un valore traslato dello stato del neurone della

LANN27, ma il campo interno degli stessi neuroni. In questo modo si potrebbe risolvere

questo problema essendo questo segnale più forte quando la rete si trova in un’atrattore.

Il gruppo NALS sta tuttora completando i test sulla rete da 21 neuroni realizzata su chip in

tecnologia VLSI.

Page 115: Realizzazione di una rete neuronale per la riduzione dell

A-1

Appendice A

Il software

La rete di output ha richiesto lo sviluppo di tre distinti software, due ha bordo delle EPROM

rispettivamente sulla scheda di interfaccia e sulle unità slave per la lettura delle sinapsi, ed

uno per il controllo dell'intero sistema da Personal Computer. Quest'ultimo è stato sviluppato

in linguaggio C++.

! Il software dell'unità Master

Il software a bordo dell'unità Master svolge le seguenti operazioni:

-Controllo completo tramite RS232 mediante software su PC. Oppure tramite terminale.

-Set dei parametri di funzionamento della rete di OUT con risoluzione 12 bit :

-Soglie delle sinapsi(Thr,Nthr) regolabili in un range di 2.5Volt a partire da Voffset.

Voffset puo’ essere impostato ad un valore compreso tra 0.5 e 1 Volt per.

-Parametro JC_Mezzi (tra 0 e 2.5Volt)

-Parametro Theta del neurone inibitore (tra 0 e -2.5Volt)

-Valori dell’UNO e dello ZERO logici nell’adattatore di livello, Regolabili

separatamente . (Tra 0 e -5Volt per lo zero) (tra 0 e +5Volt per l’uno)

-Soglia dei comparatori per lettura neuroni (tra 0 e + 5Volt)

- Procedura di reset per le sinapsi. (agisce sulle sogli portandole fuori range e può essere sia

manuale che Software.

-Durata della presentazione dei dati provenienti da LANN

-Lettura valore analogico di 8 neuroni con risoluzione 12 Bit.

-Lettura del valore binario dei neuroni, con soglia regolable tra 0 e 5 Volt.

-Controllo trasparente della comunicazione con le schede SLAVE e quindi per la lettura delle

sinapsi.

Page 116: Realizzazione di una rete neuronale per la riduzione dell

A-2

! Il software dell'unità Slave

Il software a bordo dell'unità Slave si occupa della lettura dello stato delle sinapsi e del

neurone di output, inoltre gestisce l 'impacchettamento e la trasmissione dei dati alla unità

Master.:

-Controllo completo tramite BUS I2C.

-Selezione delle sinapsi da leggere (ne vengono lette 2 contemporaneamente)

-Impacchettamento dei valori letti in una stringa di 7 byte e sua trasmissione.

-Possibilità di automatizzare o sincronizzare la lettura con eventi esterni :

-Tipo interrupt

-Temporizzata

-Accumulo locale di un certo numero di letture.

! Il software di gestione da PC

Il software di gestione comunica con l'unità master tramite una interfaccia RS-232 e permette

il controllo di tutte le funzioni e la regolazione di tutti i parametri gestiti dal software

dell'unità master. Questo tramite un software scritto in C++.

Il programma, di cui nella figura A.1 si mostra la schermata principale, ci permette di

impostare tutti i valori dei segnali globali, e ci dà la possibilità di gestire l’apertura della

finestra temporale. Saranno disponibili nella prossima versione, la lettura dell’unità vincente

con il rispettivo valore di tensione, e la lettura di tutte le sinapsi interstrato, che ci permetterà

di poter effettuare misure di probabilità di transizione.

Tutti i valori delle variabili che possono essere impostate, vengono inserite con il reale valore

che si vuole che assumano, è stata implementata nel software la conversione da decimale a

BCD che ci permette di pilotare i convertitori Digitale- Analogico. Riportiamo nella tabella

A.1 tutti i comandi con la relativa descrizione. Il software, inoltre, gestisce gli eventuali errori

durante la trasmissione e gestisce la ricostruzione dei dati ricevuti se questi sono

impacchettati.

Page 117: Realizzazione di una rete neuronale per la riduzione dell

A-3

Figura A.1 Schermata iniziale del programma di gestione della rete di output

Le istruzioni “1” e “0” associano al segnale del neurone della LANN27 ( originariamente

TTL, 0 Volt se il neurone è inattivo e 5 Volt se è attivo) i valori impostati a seconda che

questo sia attivo o inattivo. La possibilità di regolarli tra 0 e ±5 Volt ci permette di la variare

la probabilità di transizione, poiché questo segnale è l’input della sinapsi interstrato. La

finestra temporale può essere regolata da un minimo di 10 ms ad un massimo di 10 secondi.

In futuro prevediamo la possibilità di regolarla anche per tempi infiniti ( finestra temporale

sempre aperta). Il software presenta anche un comando per l’impostazione dei segnali di

default che ci permette, premendo un solo tasto, di inviare alla scheda di interfaccia un

pacchetto di comandi precedentemente deciso.

Questo comando è estremamente utile una volta decisa quale sia la probabilità di transizione

con cui si vuole che la rete funzioni. E’ presente anche il comando per il reset di tutte le

sinapsi interstrato, questo comando non fa altro che spostare, per circa 5 ms, le soglie

rumorose sui valori di clipping Jc e Jc in modo da far transire tutte le sinapsi nello stato labile.

In figura A.1 è riportata la schermata DOS del programma eseguibile Neu_ro.EXE

Page 118: Realizzazione di una rete neuronale per la riduzione dell

A-4

COMANDO SEGNALE GLOBALECORRISPONDENTE

RANGE DIVARIAZIONE

UNITA’DI MISURA

N Soglia rumorosa negativa (Nvthr) -0.5 ÷÷÷÷ -2.5 V

V Soglia rumorosa positiva (Vthr) 0.5 ÷÷÷÷ 2.5 V

T Theta (θθθθ) 0.2 ÷÷÷÷ -2.5 V

J Jc/2 0 ÷÷÷÷ 2.5 V

1 Valore del neurone attivo di LANN27 0 ÷÷÷÷ 5 V

0 Valore del neurone inattivo di LANN27 0 ÷÷÷÷ -5 V

G Soglia di attivazione neurone di output 0 ÷÷÷÷ 5 V

F Apertura della finestra temporale 10 ÷÷÷÷ 10.000 ms

R Reset sinapsiD Imposta i valori di defaultX Esce dal programma

Tabella A.1 Tutti i comandi disponibili nel software di gestione della rete di output

Page 119: Realizzazione di una rete neuronale per la riduzione dell

B-1

Appendice B

I trimmer

B.1 I trimmer sul Back-plane

Sul back-plane sono presenti 3 trimmer per ogni slot per la regolazione degli offset delle

due soglie rumorose e per l’offset del Jc/2. Sono stati regolati in modo tale da avere in

ingresso alle schede 1N27S il valore realmente impostato via software.

Figura B.1 Schematizzazione della posizione dei trimmer sul back-plane della slot i-esima. Le frecce curve

indicano il verso in cui vanno girate le viti dei trimmer per aumentare o diminuire i valori degli offset.

Page 120: Realizzazione di una rete neuronale per la riduzione dell

B-2

B.2 I trimmer sulla scheda 1N27S

Sulle schede 1N27S sono presenti 27 trimmer, uno per sinapsi interstrato, per la

regolazione dell’ampiezza dei rumori del circuito di refresh stocastico

Figura B.2 Schematizzazione della posizione del trimmer per la regolazione del rumore del refresh

stocastico della sinapsi interstrato. Le frecce curve indicano il verso in cui va ruotata la vite del trimmer per

aumentarne o diminuirne l’ampiezza

Page 121: Realizzazione di una rete neuronale per la riduzione dell

B-3

B.3 I trimmer sulla scheda di modifica

Sulla scheda di modifica sono presenti duecentosedici trimmer, due per ognuno dei

centootto circuiti di modifica. Uno per la regolazione dell’offset della soglia rumorosa

positiva e uno per quella negativa.

Figura B.3 Scematizzazione della posizione dei trimmer del circuito di modifica. Le frecce curve indicano il

verso in cui vanno ruotate le viti dei trimmer per aumentare o diminuire l’ampiezza dell’offset da assegnare

alle soglie rumorose, positiva e negativa.

Page 122: Realizzazione di una rete neuronale per la riduzione dell

Appendice C

Schemi elettrici e documentazione

Page 123: Realizzazione di una rete neuronale per la riduzione dell

Bibliografia

[1] Amit D.J., 1989 Modelling Brain Function, Cambridge University Press

[6] Hebb D.O. 1949, The organization of behaviour, Wiley.

[8] Amit D.J. & Fusi S. 1994, Learning in neural network with material

synapses, Neural computation, 4, 957-982.

[9] Badoni D., Bertazzoni S., Buglioni S., Salina G., Amit D.J. & Fusi S.

Stochastic refresh mechanism and electornic noise in an analogue neural

network, in preparazione.

[2] Badoni D., Bertazzoni S., Buglioni S., Salina G., Amit D.J. & Fusi S.

1995, electonic implementation of an analogue attractor neural network

with stochastic learning, Network: Computation in neural system, 6 125-

157

[3] Amit D.J. & Fusi S. 1992 Constraints on learning in dynamic synapses,

Network, 3, 443.

[4] Nadal J.P., Toulouse G., Changeux J.P. & Dehaene S. 1986, Networks of

formal neurons and memory palimpseets, Europhys. Lett., 1, 535.

[5] Parisi G. 1986 A memory which forgets, J. Phys., A19 L617

Page 124: Realizzazione di una rete neuronale per la riduzione dell

[7] Badoni D., Bertazzoni S., Buglioni S., Salina G., Amit D.J. & Fusi S.

1995 LANN27: An electronic implementation of an analog attractor

neural network with stochastic learning Proceedings del convegno SPIE:

Applications and science of artificial neural network, (Orlando, Florida),

vol. 2492 1206-1217.

[10] Badoni D., Bertazzoni S., Buglioni S., Salina G., Amit D.J. & Fusi S.

Testing LANN27, in preparazione.

[11] Kohonen T. 1982 Self-organized formation of topologically correct

feature maps, Biogical Cybernetics, 43, 59.

[12] Kohonen T. 1989, Self-organization and associative memory, Springer-

Verlag.

[13] Hertz J., Krog A. & Palmer R. G. 1993, Introduction to the theory of

neural computation, Santa Fe Institute, Addison-Wesley Publishing

company

[14] Grossberg S. 1976, Adaptive pattern classification and universal recoding:

I. Parallel development and coding of neural feature detectors, Biological

Cybernetics, 23, 121-134.

[15] Rumelhart D.E. & Zipser D. 1985, Feature discovery by competitive

learning, Cognitive science, 9, 75-112.

[16] Battaglia F. 1994, Competitive Learning with selective synaptic

elimination, International journal of neural system, supp. 1995.

Proceedings of the third workshop: Neural Network: from biology to high

energy physics, World Scientific Publishing Company.

[17] Changeaux J.P. & Danchin A. 1976, Selectiv stabilisation of developing

synapses for the specification of neural network, Nature, 264, 705.

Page 125: Realizzazione di una rete neuronale per la riduzione dell

[18] Weisbuch G., Fogelman-Souliè F., 1985. Scaling laws for the attractors of

Hopfield model, J. Phisique Lett., 2, 337

[19] Amit D.J. & Brunel N. 1994, Learning internal representations in an

analog attractor neural network with analogue neurons. Preprint n. 1055

Dip. Di Fisica, Università di Roma “La Sapienza”, I.N.F.N. sezione di

Roma. 18 Ottobre 1994.

[20] Gatti E. Manfredi P.F. 1986, Processing the signal from solid-state

detectors in elementary-particle physics, Rivista del nuovo cimento, ser.3

Vol. 9.1 p. 72-83

[21] Van der Ziel A. 1970, Noise: sources, characterization, mesurement.

Prentice-Hall, Englewood cliffs, p. 106

[22] Gayakwad A. Ramakant 1990, Amplificatori operazionali e circuiti

integrati lineari, gruppo editoriale Jackson, Milano.

[23] Millman J., Halkias C.C. 1972, Integrated electronics: analog and digital

circuits and system, McGraw Hill New York.

[24] Badoni D., Bertazzoni S., Buglioni S., Salina G., Grande G.C., Salmeri

M., Salsano A. & Simonelli O. 1995, VLSI implementation of an attractor

neural network with analog neurons and synapses, International journal

of neural system, supp. 1995.

Proceedings of the third workshop: Neural Network: from biology to high

energy physics, World Scientific Publishing Company.

[25] Gilbert B. 1968, A precise four quadrant multiplier with subnanosecond

response, IEEE J. Solid State Circuits, SC-3, 365-73

Page 126: Realizzazione di una rete neuronale per la riduzione dell

[26] Mead C. 1989, Analog VLSI an neural system, Reading MA: Addison-

Wesley.

[27] Ramacher U. 1992 SYNAPSE- A neurocomputer that synthesizes neural

algorithms on a parallel systolic engine J. Parallel Distrib. Comput. 14

306-18.

[28] Il-Song Han & Ki-Hwan Ahn 1993 Implementation of million

connections neural hardware with URAN-I, Proc. of ICANN’93 pp 1030-

1033.

[29] Watanabe T., Kimura K., Aoki M., Sakata T. & Ito k. A single 1.5 V

digital chip for 106 synapse neural network IEEE Trans. Neural Networks

4 307-93.

[30] Morishita T., Tamura Y. & Otsuli T. 1990 A BiCMOS analog neural

network with dynamically updated weights Proc. IEEEE ISSCC ‘90 TPM

9.2, pp 144-5.

[31] Furman B., Abidi A.A. 1988 An analog CMOS backward error

propagation LSI, Proc. First Annual INNS Symp.

[32] Graf H.P. & Henderson D. 1990 A reconfigurable CMOS neural network

Proc. IJCNN ‘90, San Diego II, 551-5

[33] Linares-Barranco B., Sanchez-Sinencio E., Rodriguez-Verquez A. &

Huertas J.L. 1993 A CMOS analog adaptive BAM with on chip learning

and weight refreshing IEEE Trans. Neural Networks, 4, 445-55.

[34] Alspector J., Allen R.B., Hu V. & Satyanarayana S. 1988 Stochastic

learning networks and their electronic implementation Neural Information

Page 127: Realizzazione di una rete neuronale per la riduzione dell

Processing Systems ed. D.Z. Anderson (New York: American Institute of

physics).

Page 128: Realizzazione di una rete neuronale per la riduzione dell

Ringraziamenti

Il mio primo ringraziamento va al Dott. Gaetano Salina che con la sua disponibilità e

i suoi consigli mi ha dato l'opportunità di svolgere un lavoro cosi affascinante. Un

sentito ringraziamento va a Davide Badoni (dell’I.N.F.N. sezione Roma2 “Tor

Vergata”) e a Vittorio Dante (dell’I.N.F.N, dell’Istituto Superiore di Sanità) con cui

ho collaborato e stretto una vera e sincera amicizia, ed è sopra tutto, grazie alle loro

attenzioni, ai loro consigli e alla loro professionalità ed esperienza in campo

elettronico che questo lavoro di tesi è andato a buon fine.

Al Prof. Rinaldo Sintonico un grazie per essersi gentilmente prestato come relatore

interno. Al Prof. Daniel. J. Amit, al Dott. Paolo Del Giudice (dell’I.N.F.N,

dell’Istituto Superiore di Sanità), al Dott. Stefano Fusi (dell’I.N.F.N, sezione Roma1

“La Sapienza”) e a tutti coloro che fanno parte dell'esperimento NALS il mio grazie

per avermi accolto nell'esperimento dimostrando amicizia e disponibilità. L'ultimo

pensiero va alla mia famiglia ed ai miei amici, che per due anni hanno resistito ai

miei discorsi su sinapsi che non “clippavano” bene e neuroni che non volevano

imparare.