Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONTENUTO
1
INTRODUZIONE
1.1
1.2
La mente umana
2
2.1
NEURONE DI MCCULLOCH-PITTS
Modello neurone
2.2
Tipi di funzione di attivazione
2.2.1
Threshold function (o Heaviside function)
2.2.2
Piecewise-linear function
2.2.3
Sigmoid function
6
6
6
7
3.1
3.2
3.3
PROCESSI DI APPRENDIMENTO
4.1
4.2
4.3
Apprendimento di Hebbian
10
4.4
Apprendimento competitivo
10
ATTIVIT DI APPRENDIMENTO
11
5.1
Associazione di pattern
11
5.2
Riconoscimento di pattern
12
5.3
Approssimazione di funzioni
12
13
6.1
13
6.2
14
6.3
Esempio di applicazione: operatori booleani
6.3.1
NOT
6.3.2
AND
6.3.3
OR
6.3.4
XOR
15
15
15
16
16
MULTILAYER PERCEPTRONS
16
7.1
Algoritmo di back-propagation
7.1.1
Neurone j di output
7.1.2
Neurone j nascosto
7.1.3
In generale
7.1.4
Fattore di apprendimento
7.1.5
Criteri darresto
7.1.6
Euristiche per migliorare lalgoritmo di back-propagation
17
17
18
19
19
20
20
7.2
Generalizzazione
21
7.3
Approssimazione di funzioni
22
7.4
Cross-validation
7.4.1
Selezione del modello
7.4.2
Metodo di training early stopping
7.4.3
Variante del cross-validation
23
23
24
25
7.5
Tecniche di network pruning
7.5.1
OBS (Optimal Brain Surgeon)
7.5.2
CFP
25
25
27
8
8.1
NEURODINAMICA
28
Introduzione
28
8.2
Sistemi dinamici
8.2.1
Spazio degli stati
8.2.2
Condizione di Lipschitz
28
29
29
8.3
Stabilit degli stati di equilibrio
8.3.1
Definizioni di stabilit
8.3.2
Teorema di Lyapunov
29
30
30
8.4
31
Attrattori
8.5
Reti di Hopfield
8.5.1
Caso discreto
8.5.2
Caso continuo
8.5.3
Reti di Hopfield come CAM
31
32
33
34
8.6
Ottimizzazione ricorrendo alle reti di Hopfield
8.6.1
Travelling Salesman Problem TSP
8.6.2
Maximum Clique Problem (MCP)
8.6.3
Problemi
35
35
37
38
8.7
38
1 Introduzione
1.1 Cosa sono le reti neurali
Sono sistemi computazionali ispirati a processi biologici con le seguenti caratteristiche:
formati da milioni di unit computazionali (neuroni) capaci di eseguire una somma pesata;
elevato numero di connessioni pesate (sinapsi) tra le unit;
altamente paralleli e non lineari;
adattivi e addestrabili e l'apprendimento avviene attraverso la modifica dei pesi delle
connessioni;
tolleranti agli errori in quanto la memorizzazione avviene in modo diffuso;
non c' distinzione tra memoria e area di calcolo;
capacit di generalizzazione: producono output ragionevoli con input mai incontrati prima
durante l'apprendimento.
un processo presinaptico libera una sostanza trasmettitrice che si diffonde lungo la giunzione
sinaptica tra 2 neuroni;
un processo postsinaptico azionato dalla sostanza trasmettitrice rigenera un segnale elettrico.
Quindi una sinapsi converte un segnale elettrico in chimico della presinapsi e poi da chimico a
elettrico nella postsinapsi.
Ci sono 2 tipi di sinapsi:
1.
eccitatorie: favoriscono la generazione di elettricit nel neurone postsinaptico;
2.
inibitorie: inibiscono la generazione di elettricit nel neurone postsinaptico.
Pare che l'apprendimento avvenga attraverso variazioni nell'efficacia sinaptica di ogni sianpsi.
2 Neurone di McCulloch-Pitts
2.1 Modello neurone
Un neurone l'unit di calcolo fondamentale della rete neurale ed formato da 3 elementi di base
nel modello neurale:
1.
un insieme di sinapsi o connessioni ciascuna delle quali caratterizzata da un peso
(efficacia sinaptica); a differenza del modello umano, il modello artificiale pu avere
pesi sia negativi che positivi;
2.
un sommatore che somma i segnali in input pesati dalle rispettive sinapsi, producendo
in output una combinazione lineare degli input;
3.
una funzione di attivazione per limitare l'ampiezza dell'output di un neurone.
Tipicamente per comodit l'ampiezza degli output appartengono all'intervallo [0,1]
oppure [-1,1].
Il modello neuronale include anche un valore soglia che ha l'effetto, a seconda della sua positivit o
negativit, di aumentare o diminuire l'input netto alla funzione di attivazione.
u k = wkj x j
j =1
y k = (u k + bk )
dove:
xi sono i pesi sinaptici del neurone k;
uk la combinazione lineare degli input nel neurone k;
bk il valore soglia del neurone k;
(x) la funzione di attivazione;
yk l'output generato dal neurone k.
5
v k = wkj x j
j =0
y k = (v k )
dove linput x0=1 e wk0=bk . Definiamo vk potenziale di attivazione.
(v ) =
1 se v 2
1
1
(v) = v se - < v <
2
2
1
0 se v
4 Processi di apprendimento
L'apprendimento un processo col quale parametri liberi di una rete neurale sono adattati,
attraverso un processo di stimolazione, all'ambiente in cui essa inserita. Il tipo di apprendimento
determinato dal modo in cui questi adattamenti avvengono.
Un algoritmo di apprendimento un insieme di regole ben definite che risolvono un problema di
8
apprendimento.
Un algoritmo di apprendimento pu essere di due tipi:
1.
con supervisione: c' un insegnante che conosce l'ambiente che fornisce mappature
corrette di input/output. La rete dovr aggiustare i propri parametri liberi in modo da
emulare l'insegnante in modo statisticamente ottimale.
2.
senza supervisione: la rete apprende autonomamente.
Vediamo alcune tipologie di apprendimento.
Figura 11: esempio di apprendimento con correzione di errore con rete multistrato feedforward.
Questo processo avviene un passo alla volta minimizzando una funzione costo:
1
E ( n) = ek2 ( n)
2
Per fare ci si ricorre al metodo del gradiente o metodo di Widrow-Hoff. Siano wkj(n) i pesi
sinaptici del neurone k eccitati dall'elemento xj(n) del segnale di stimolo, allora l'aggiustamento
applicato a wkj(n) :
wkj = e k ( n) x j ( n)
dove una costante positiva detta tasso di apprendimento.
I nuovi pesi saranno allora:
wkj ( n + 1) = wkj ( n) + wkj ( n)
L'apprendimento con correzione di errore un esempio di sistema ricorrente la cui stabilit dipende
dai parametri che costituiscono il ciclo e in particolare . La scelta di questo parametro importante
perch influenza la convergenza e la stabilit del processo di apprendimento.
dove d la distanza euclidea. La classe che viene assegnata ad xtest la stessa di x'N.
Una variante di questo metodo il k-nearest neighbor in cui:
l'intorno dell'esempio test non pi uno solo, ma l'insieme dei k esempi memorizzati pi vicini;
la classe assegnata quella con la frequenza maggiore nell'intorno dell'esempio test.
Il neurone k che vince la competizione quello con input netto vk pi alto per un dato input x. Il
segnale di output yk del neurone vittorioso settato a 1, mentre quello degli altri viene settato a 0.
1 se v k > v j j , j k
yk =
0 altrimenti
dove vk la combinazione lineare di tutti gli input forward e feedback.
Siano wkj 0 i pesi sinaptici tra input j e neurone k. Supponiamo che ogni neurone abbia un
ammontare fisso di peso sinaptico distribuito tra i nodi di input:
wkj = 1 k
j
Il neurone che vince la competizione apprende spostando i pesi sinaptici dagli input inattivi agli
input attivi. Per fare ci si utilizza la regola standard di apprendimento competitivo:
(x j wkj ) se il neurone k vince
wkj =
altrimenti
0
5 Attivit di apprendimento
5.1 Associazione di pattern
Una memoria associativa una memoria ispirata al cervello distribuita che impara per
associazioni.
Le associazioni possono essere di due forme:
1.
autoassociazioni: una rete neurale memorizza un insieme di pattern (vettori)
presentandoli ripetutamente alla rete. Successivamente viene presentato alla rete un
pattern (tra quelli memorizzati nella rete) parziale o distorto e l'obiettivo che la rete
richiami la versione del pattern completa/originale che stata precedentemente
memorizzata. L'apprendimento in questo caso generalmente non supervisionato;
2.
eteroassociazioni: ogni pattern associato ad un altro pattern. Sia xk il pattern chiave a
cui associato yk ovvero il pattern memorizzato. Il pattern chiave xk opera come uno
stimolo per richiamare il pattern yk. Nelle autoassociazioni avevamo che xk = yk mentre
in questo caso abbiamo che xk yk.
La memoria associativa si articola in 2 fasi:
1.
fase di memorizzazione: in cui la rete viene addestrata per fare in modo che i pattern
vengano associati;
2.
fase di richiamo: in cui si richiama dalla rete un pattern memorizzato a seguito della
presentazione di una versione parziale o distorta di un pattern chiave.
11
12
w (n + 1) = x(i )
i =1
Sia w0 una soluzione che classifica correttamente gli x(i) e definiamo come:
13
= min w T0 x(n)
x ( n ) X 1
dove >0 dal momento che la classificazione corretta con w0 vettore dei pesi e x(n)X1.
Possiamo dedurre che:
n
w T0 w (n + 1) = w T0 x(i ) n
i =1
w0
w (n + 1) w T0 w (n + 1) n 2 2
quindi
w (n + 1)
n2 2
2
w0
Facciamo ora queste altre considerazioni. Riscriviamo la regola di aggiornamento applicando la
norma quadrata euclediana ad entrambi i lati ottenendo:
2
2
2
w ( n + 1) = w ( n) + x(n) + 2 w T (n) x(n)
Ora abbiamo presupposto che il percettrone classifica in modo errato gli input con n=1,2,... quindi,
w T (n) x(n) < 0 e di conseguenza:
w ( n + 1)
w ( n) + x( n)
x(i )
i =1
= max x(n)
x ( n ) X 1
Quindi abbiamo dimostrato che se X1 e X2 sono due insiemi linearmente separabili, il percettrone
converge con al massimo nmax iterazioni utilizzando il metodo fixed increment adaptation.
Nel caso di (n) variabile, consideriamo (n) come il pi piccolo intero per cui:
(n) x T (n) x( n ) > w T ( n) x( n)
avremo che se all'interazione n w T ( n) x(n) ha un segno errato, se ripresentiamo lo stesso input
all'iterazione successiva avremo che il segno diventa corretto infatti:
1.
se w T (n) x(n) 0 e x(n) X1 abbiamo:
w T (n + 1) x(n) = w T (n) x(n) + (n) x T (n) x(n) > 0
2.
se w T (n) x(n) > 0 e x(n) X2 abbiamo:
w T (n + 1) x(n) = w T (n) x(n) (n) x T (n) x(n) < 0
In altre parole ogni pattern viene presentato pi volte di seguito finch non viene classificato
correttamente.
2.
3.
4.
5.
+ 1 se x(n) X 1
dove d (n) =
1 se x(n) X 2
Continuazione: si incrementa n e si torna a 2.
Il processo termina quando si giunti ad uno step n0 tale per cui w(n0)=w(n0+1)=w(n0+2)= ...
ovvero finch tutti i pattern sono classificati correttamente senza modifiche ai pesi.
Il parametro di apprendimento una costante reale positiva limitata all'intervallo (0,1], tenendo
conto di queste considerazioni:
pi piccola pi si tiene in considerazione il peso passato, garantendo stime stabili, a scapito
della velocit di convergenza;
pi grande e maggiore la velocit di convergenza.
6.3.1 NOT
6.3.2 AND
15
6.3.3 OR
6.3.4 XOR
Non linearmente separabile infatti possiamo vedere dalla figura che necessitiamo di 2 rette per
separare le 2 classi.
7 Multilayer Perceptrons
La rete consiste in un insieme di ingressi (input layer), uno o pi strati nascosti di neuroni (hidden
layers) e un insieme di neuroni di uscita (output layer). Il segnale di input si propaga attraverso la
rete in avanti da layer a layer.
Una rete di questo tipo ha 3 caratteristiche distintive:
ogni neurone include una funzione di attivazione non lineare differenziabile (ad es: funzione
sigmoidale);
la rete contiene una o pi strati nascosti (hidden layers) che non fanno parte n dell'input n
dell'output della rete;
la rete ha un alta connettivit.
Un metodo efficiente per l'addestramento della rete quello del back-propagation.
16
1.
2.
segnali di funzione: un segnale di funzione un segnale di input o stimolo che entra nel
layer di input, si propaga in avanti attraverso i layer nascosti per emergere al layer di
uscita come segnale di output;
segnale di errore: un segnale di errore ha origine nel layer di uscita e si propaga
all'indietro attraverso la rete.
17
w ji (n) =
E (n)
w ji (n)
E (n)
E ( n) e j (n) y j (n) v j (n)
=
v j (n)
v j ( n)
] = ' [v (n)]
j
w jk ( n)
k =0
w ji ( n)
= y k ( n)
= y i ( n)
E (n)
= j (n) yi (n)
w ji (n)
= e j ( n) ' v j ( n )
v j (n)
e j ( n) y j (n) v j (n)
Quindi la variazione di peso sinaptico tra il neurone i e j relativo all'n-esimo esempio del training
set la seguente:
w ji ( n) = j ( n) y i ( n)
=
' v j ( n)
v j (n)
y j (n) v j (n)
y j (n)
Calcoliamo la derivata:
ek2 ( n) ek ( n) y k ( n) v k ( n)
E ( n) 1
18
E (n)
= k (n) wkj (n)
y j (n)
kC
Abbiamo supposto che j fosse collegato a neuroni di output ma in generale questa formula vale
anche se j fosse collegato ad un altro strato nascosto. In questo caso per la sommatoria non estesa
ai neuroni di uscita ma ai neuroni dello strato successivo. Per fare questo possiamo considerare la
sommatoria estesa a tutti i neuroni perch wkj=0 se j non adiacente a k; quindi in generale:
E (n)
= k (n) wkj (n)
y j (n)
k
A questo punto il gradiente locale del neurone nascosto j relativo all'n-esimo esempio del training
set
j (n) = ' v j (n) k (n) wkj (n)
7.1.3 In generale
In generale la variazione di peso sinaptico tra il neurone i e j relativo all'n-esimo esempio del
training set dato da:
w ji ( n) = j ( n) y i ( n)
[
]
se j un neurone di output
e j (n) ' v j (n)
dove j (n) = ' v (n) (n) w (n) altrimenti
k k
j
kj
Questo modello prende il nome di apprendimento on-line in quanto la rete apprende un esempio
alla volta. Esiste per un altro modello detto off-line o batch che considera tutti gli esempi del
training set alla volta, anche se questo meno coerente al modello biologico. Per l'apprendimento
off-line abbiamo la seguente funzione costo:
1
E = e 2j ( n)
2 n jC
da cui deriva la seguente regola di apprendimento:
w ji (n) = j (n) y i (n)
w ji ( n) = n t j (t ) y i (t )
t =0
ricordando che
E (t )
= j (t ) yi (t ) abbiamo
w ji (t )
E (t )
w ji (t )
t =0
che converge per valori di [0,1). Inoltre se la derivata parziale tende a mantenere lo stesso segno su
iterazioni consecutive, grazie alla sommatoria, l'aggiornamento sar per valori pi ampi e quindi
tende ad accelerare nelle discese. Se per la derivata ha segni opposti ad iterazioni consecutive la
19
n
w ji (n) = n t
v j = w ji y i
i =1
y2 = E [( y i y ) 2 ] = E [y i2 ] = 1, i
o gli input siano non correlati con gli altri input e con i pesi sinaptici e poniamo:
1 se k = j
E[ yi y k ] =
0 se k j
o i pesi siano scelti da un insieme uniformemente distribuito con media zero
w = E [w ji ] = 0, (i, j )
e varianza
w2 = E ( w ji w ) 2 = E w 2ji , (i, j )
Definiamo a questo punto la media e la varianza dellinput netto vj .
] [ ]
v = E [v j ] = E [w ji y i ] = E [w ji ] E [ y i ]
[ ]
i =1
i =1
v2 = E [(v j v ) 2 ] = E [v 2j ] = E [w ji w jk y i y k ]
m
i =1 k =1
[ ]
= E w ji w jk E [ y i y k ] = E w 2ji = m w2
i =1 k =1
i =1
w =
m
Anzich vedere m come il numero di neuroni consideriamolo come numero di connessioni
sinaptiche della rete.
Quindi desiderabile che i pesi sinaptici siano scelti da una distribuzione uniforme che abbia
media zero e varianza pari al reciproco del numero di connessioni sinpatiche della rete neurale.
7.2 Generalizzazione
Una rete neurale generalizza bene se la mappa input/output che genera la rete corretta (o quasi)
per esempi di test mai presentati alla rete in fase di training. Si assume che gli esempi di test siano
tratti dalla stessa popolazione usata per generare il training set.
21
Figura 19: Esempio di buona generalizzazione (a), e di una cattiva generalizzazione (overfitted) (b)
F x1 ,K, x m0 = i wij x j + bi
i =1
j =1
) (
7.4 Cross-validation
Vediamo ora uno strumento per risolvere il problema della selezione dellarchitettura della rete
neurale; pi precisamente questo strumento consente, dato un insieme di possibili modelli, di
scegliere quello migliore secondo certi criteri.
Inizialmente il set di dati viene ripartito in modo random in un training set e un test set. Il training
set ulteriormente ripartito in 2 insiemi disgiunti:
Estimation subset: usato per il training del modello;
Validation subset: usato per validare il modello.
La motivazione quella di validare il modello su un set di dati diverso da quello usato per
laddestramento. In questo modo possiamo usare il training set per stimare le prestazioni dei vari
modelli candidati e scegliere quindi il migliore. C comunque la possibilit che il modello pi
performante in realt incappato in un overfitting del validation set. Per evitare questo si ricorre al
test set per verificare la capacit di generalizzazione della rete.
Se guardiamo la sola curva dellerrore quadrato medio dellestimation set, questo si riduce
allaumentare delle epoche, e verrebbe naturale pensare di eseguire il training anche oltre il punto di
24
minimo della curva del validation set. In realt per ci che la rete apprende dopo quel punto il
rumore contenuto nei dati dellestimation set. Questa euristica suggerisce quindi di fermare
laddestramento in corrispondenza del minimo della curva relativa al validation set.
Una teoria statistica sul fenomeno delloverfitting mette in guardia dallutilizzo del metodo
dellearly stopping. Vengono distinti 2 casi dipendenti dalla dimensione del training set:
modalit non asintotica: N<W, dove N la dimensione del training set e W il numero di
parametri liberi. Lutilizzo dellearly stopping migliora la capacit di generalizzazione rispetto
al training esaustivo. Loverfitting potrebbe verificarsi quando N < 30 W e ci sono vantaggi
pratici ad usare il cross-validation per bloccare il training. Il valore ottimo per il parametro r
definito da:
2 W 1 1
ropt = 1
2 (W 1)
Per valori grandi di W questa formula si approssima a
1
ropt 1
2 W
modalit asintotica: N > 30 W . I miglioramenti nella capacit di generalizzazione sono scarsi
rispetto al training esaustivo, in altre parole il training esaustivo soddisfacente se la dimensione
del training set elevata se comparata col numero di parametri liberi.
1
w T H (w ) w
2
dove w la perturbazione applicata al punto w (il vettore di pesi sinaptici della rete), g(w) il
vettore gradiente valutato nel punto w e infine H(w) lhessiano valutato nel punto w.
Lo scopo quello di trovare un insieme di parametri la cui eliminazione dal percettrone multilayer
causi il minor incremento nella funzione costo. Per risolvere il problema introduciamo delle
approssimazioni:
1.
assumiamo che il vettore dei pesi w sia il risultato di una fase di training completa, e
corrisponda quindi ad un minimo locale o globale sulla superficie dellerrore. Quindi il
gradiente nullo in quel punto e quindi lo anche il termine g T (w ) w ;
2.
assumiamo che la superficie dellerrore attorno ad un minimo locale abbia circa un
andamento quadratico, in modo da poter giustificare lespansione di Taylor fino al
secondo ordine.
E av (w + w ) = E av (w ) + g T (w ) w +
T
dS
T
1
1i w + wi = 0
1i H (w ) 1i + wi = 0
=0
d
a questo punto abbiamo che 1Ti H 1 (w ) 1i = H 1 (w ) i ,i ovvero lelemento in posizione (i,i)
E av = E av (w + w ) E av (w ) =
dellhessiano inverso
wi
1
w = H 1 (w ) H (w ) 1i
i ,i
wi
=
H 1 (w ) i ,i
wi2
2 H 1 (w ) i ,i
1Ti H 1 (w ) 1i
{[
wi2
] } = [H
T
2 H 1 (w ) i ,i
26
i ,i
(w ) i ,i e quindi
7.5.2 CFP
A differenza del metodo OBS un metodo che agisce localmente al neurone di cui si vuole
eliminare un peso sinaptico.
Supponiamo di avere una rete addestrata con uno strato hidden e supponiamo di voler eliminare il
peso whi che esce dal neurone h ed entra nel neurone i. Lidea del metodo quella di rimuovere la
connessione sinaptica e aggiustare i rimanenti pesi wji, j h in modo tale da mantenere inalterato
linput netto del neurone i.
Definiamo Ri il campo recettivo del neurone i, ovvero linsieme di neuroni con connessione
entrante in i.
Linput netto del neurone i a seguito della presentazione alla rete di un generico pattern prima
della rimozione del peso whi dato da
vi( ) = w ji y (j )
jRi
Vogliamo a questo punto che linput netto del neurone i dopo la rimozione del peso sia uguale a
v i( ) perturbando opportunamente i pesi sinaptici
vi( ) =
w
jRi
ji
y (j ) =
(w
jRi /{h}
ji
+ w ji ) y (j ) , Ts
whi y
jRi /{ h}
( )
h
jRi /{ h}
ji
y (j )
oppure ricorrendo a metodi di riduzione dei residui che partono da un valore x0 iniziale e calcolano
2
il residuo con la formula ri = A x i b , quindi trovano un nuovo valore xi+1 tale per cui ri+1<ri .
Altrimenti si pu ricorrere a una soluzione euristica che cerca semplicemente il neurone h tale per
2
cui lo scarto r0 minimo il quale, scegliendo x0=0, vale r0 = z h .
27
Quindi lalgoritmo non fa altro che scegliere la connessione che minimizza r0 (supponiamo che entri
nel neurone i) la elimina, aggiusta i pesi rimanenti entranti in i e itera il procedimento finch non si
raggiungono le prestazioni desiderate
La complessit del metodo O ( M ri ) con M la cardinalit del training set e ri il numero di
connessioni entranti nel neurone i.
Una variante del metodo pu essere quella di rimuovere neuroni interi, basta fare in modo che gli
input netti entranti nello strato successivo non cambino.
8 Neurodinamica
8.1 Introduzione
Un modo implicito per introdurre in una rete neurale la variabile tempo mediante lutilizzo di reti
con feedback o ricorrenti. Ci sono 2 modi per rendere ricorrente una rete:
1.
introducendo feedback locale che interessa solamente il singolo neurone;
introducendo feedback globale che interessa lintera rete.
2.
Porremo lattenzione sulle reti di tipo (2).
Lo studio delle reti neurali viste come sistemi dinamici non lineari, con particolare attenzione al
problema della loro stabilit chiamato neurodinamica.
Nel contesto dei sistemi dinamici non lineari quando parliamo di stabilit ci riferiamo alla stabilit
vista in senso di Lyapuanov, vedremo in seguito di cosa si tratta.
Lo studio della neurodinamica segue due strade a seconda dellinteresse applicativo:
1.
neurodinamica deterministica: nella quale la rete neurale ha un comportamento
deterministico ed descritto attraverso un insieme di equazioni differenziali non lineari;
2.
neurodinamica statistica: nella quale la rete neurale perturbata dalla presenza di
rumore e il sistema descritto da un insieme di equazioni differenziali non lineari
stocastiche.
28
d
x(t ) come ad un vettore di velocit.
dt
()
Fx =0
dove 0 il vettore nullo. Il vettore velocit si annulla nel punto di equilibrio e quindi x(t ) = x una
soluzione dellequazione dello spazio degli stati. Lo stato di equilibrio anche detto punto
singolare e la traiettoria degenera nel punto stesso.
Questa seconda definizione afferma che se lo stato iniziale di una traiettoria adeguatamente vicino
allo stato di equilibrio x , allora la traiettoria descritta dal vettore di stato x(t) converger a x
allaumentare del tempo.
Definizione 3: Lo stato di equilibrio x detto asintoticamente stabile se stabile e convergente.
Definizione 4: Lo stato di equilibrio x detto globalmente asintoticamente stabile se stabile e
tutte le traiettorie del sistema convergono a x per t che tende ad infinito.
()
30
3.
V(x)>0 se x x .
8.4 Attrattori
Lo spazio degli stati di sistemi dinamici non lineari sono caratterizzati dalla presenza di attrattori.
Questi possono essere punti o orbite periodiche (cicli) a cui le vicine traiettorie tendono
allaumentare del tempo.
Gli attrattori rappresentano gli unici stati di equilibrio di un sistema dinamico osservabili
sperimentalmente. Facciamo notare che uno stato di equilibrio non implica un equilibrio statico, ne
prova il fatto che possono esserci cicli in cui lo stato varia nel tempo.
Un attrattore racchiuso in una regione distinta detta bacino di attrazione e qualunque traiettoria
abbia come stato iniziale un punto del bacino di attrazione, tende allattrattore che questo contiene.
31
Vedremo inoltre le reti di Hopfield nel caso discreto con aggiornamento asincrono e nel caso
continuo con aggiornamento continuo.
dove xj lo stato del neurone j e Ii una corrente esterna (input esterno) applicata al neurone i. Se
Ii=0 abbiamo il tradizionale neurone di McCulloch-Pitts.
Ogni neurone aggiorna il proprio stato in modo asincrono nel seguente modo
se vi (t ) < 0
1
xi (t ) = xi (t 1) se vi (t ) = 0
+ 1
se vi (t ) > 0
Abbiamo detto la matrice dei pesi deve essere simmetrica perch questa una condizione
sufficiente alla convergenza, in quel caso infatti il sistema ha una funzione di energia di Lyapunov
che viene minimizzata con levolvere del processo. Inoltre abbiamo detto che non ci devono essere
autoloop, quindi settiamo wii = 0, i
La funzione quadratica di energia la seguente:
1
E (t ) = x(t ) T W x(t ) x(t ) T I
2
dove x il vettore di stato del sistema, W la matrice simmetrica dei pesi con gli elementi
diagonali nulli e I e il vettore di input esterno.
Possiamo verificare che la funzione strettamente monotona decrescente verificando che
E (t ) = E (t + 1) E (t ) < 0, t
Abbiamo detto che i neuroni si aggiornano in modo asincrono, quindi supponiamo sia h il neurone
che ha cambiato stato, allora:
1
1
E (t ) = wij xi (t + 1) x j (t + 1) I i xi (t + 1) + wij xi (t ) x j (t ) + I i xi (t )
2 i j
2 i j
i
i
ora dal momento che h lunico stato che cambiato abbiamo che
xi (t + 1) = xi (t ), i h
quindi
1
E (t ) = whj x h (t + 1) x j (t + 1) x h (t ) x j (t ) + w jh x h (t + 1) x j (t + 1) x h (t ) x j (t )
2 j
j
j
dove sfruttando la simmetricit della matrice dei pesi e il fatto che ha gli elementi diagonali nulli,
abbiamo che le sommatorie del primo passaggio sono uguali; nel terzo passaggio abbiamo sfruttato
il fatto che v h (t + 1) = whj x j (t ) + I h e x h (t ) = x h (t + 1) x h (t ) e nellultimo passaggio
j h
dx
xi + C i i = i [vi ] = i wij x j + I i
dt
j
da cui segue
dx
Ci i = xi + i wij x j + I i
dt
j
dove i una funzione di attivazione continua, non lineare e crescente associata al neurone i e Ci
una costante.
Possiamo vedere come il sistema raggiunge la stabilit solo quando il vettore velocit del sistema si
azzera ovvero quando
dxi
= 0, i
dt
In maniera del tutto equivalente possiamo esprimere lequazione di stato non incentrando
lattenzione sulla variazione dello stato nel tempo, quanto sulla variazione dellinput netto nel
tempo, pervenendo alla seguente equazione
dv
vi +C i i = wij x j + I i = wij j (v j ) + I i
dt
j
j
da cui segue
dv
C i i = vi + wij j (v j ) + I i
dt
j
La funzione di energia del sistema nel caso continuo la seguente
xi
1
E = wij xi x j + i1 ( x) dx I i xi
2 i j
i 0
i
T
Cos come nel caso discreto se W=W (matrice dei pesi simmetrica) allora la funzione
dE
Lyapunoviana e quindi
0 , dove in caso di uguaglianza ci troviamo in un punto stazionario.
dt
Dimostriamo ora questultima affermazione.
Facciamo notare innanzitutto che vi = i1 ( xi ) e quindi
xi
1
i
dE
1
= wij
dt
2 i j
1
= wij
2 i j
d ( xi x j )
dt
xi
xi
( x) dx = ( x) dx = vi dx =vi xi
1
i
+ vi
i
dxi
dx
Ii i =
dt
dt
i
dx j
dx
dx
dx
dx
xi
+ x j i + vi i I i i = vi + wij x j + I i i
dt
dt i
dt
dt
i
i
j
dt
dv dx
= C i i i = C i
dt dt
i
i
d
dx
d
dx
i1 (xi ) i = C i
i1 ( xi ) i
dt
dt
i
dxi
dt
33
Essendo una funzione monotona crescente lo anche la sua inversa -1, quindi la sua derivata
prima positiva in ogni punto, di conseguenza possiamo affermare che
d
i1 ( xi ) 0, i
dxi
2
dE
dx
Inoltre banalmente i 0 e Ci una costante positiva, di conseguenza
0.
dt
dt
Da ci deduciamo che E una funzione di Lyapunov stabile secondo il primo Teorema.
Facciamo notare che non possibile che un sistema con funzione di Lyapunov entri in ciclo, infatti
trattandosi di una funzione monotona decrescente ad ogni istante temporale t abbiamo che
E (t + 1) E (t ), t 0 ., dove con E(t) indichiamo il valore della funzione di energia relativa allo
stato del sistema al tempo t.
Supponiamo ora di avere un ciclo nella sequenza degli stati cui corrisponde la seguente relazione
della funzione di energia E (k ) E ( k + 1) K E ( k + m) = E ( k ) , dove lo stato x(k+m)=x(k).
Questa condizione non soddisfa la condizione di monotonia a meno che non valga luguaglianza per
tutto il ciclo infatti risulterebbe E ( k ) E ( k ) . Ma se vale luguaglianza non avremo un ciclo ma un
punto stazionario, quindi non possiamo avere cicli.
La freccia verso destra detta operazione di codifica, mentre quella verso sinistra detta
operazione di decodifica. Gli attrattori nello spazio degli stati della rete sono memorie
fondamentali o stati prototipo della rete.
Supponiamo a questo punto che alla rete venga presentato un pattern contenente sufficienti
informazioni parziali su una memoria fondamentale. Possiamo rappresentare questo pattern come
uno stato iniziale nello spazio degli stati e, se questo sufficientemente vicino allo stato che
34
E4 =
v x ,i n
2 x i
A questo punto una soluzione ottima del TSP richiederebbe che le 4 funzioni energia vengano
minimizzate, noi abbiamo per bisogno di ununica funzione energia, per questo esprimiamo la
funzione costo totale come combinazione lineare delle funzioni energia Ei
E = E1 + E 2 + E3 + E 4
dove il peso da attribuire a ciascun addendo determinato dalle costanti positive Ci .
Dobbiamo ora ricondurci alla funzione di energia nella forma vista al paragrafo 8.5.1, ovvero
1
E = wij xi x j I i xi
2 i j
i
Per fare questo consideriamo v un vettore e indichiamo con vx,i la ( x + i n) -esima componente del
vettore, analogamente facciamo la stessa considerazione per I e consideriamo W una matrice
quadrata e indichiamo con w(x,i),(y,j) la ( x + i n, y + j n) -esima componente della matrice. Quindi la
forma a cui vorremmo arrivare :
1
E = w( x ,i ),( y , j ) v x ,i v y , j I x ,i v x ,i
2 x y i j
x
i
Introduciamo innanzitutto una notazione:
1 se i = j
0 se i j
e trasformiamo ciascuna delle funzioni energia Ei nella forma sopra indicata.
i, j =
n
C1
1
d x , y v x ,i (v y ,i 1 + v y ,i +1 ) = C1 d x , y v x ,i v y , j ( j ,i 1 + j ,i +1 )
2 x y i =0
2 x y i j
C
1
E 2 = 2 v x ,i v x , j = C 2 v x ,i v y , j x , y (1 i , j )
2 x i j i
2 x y i j
C
1
E3 = 3 v x ,i v y ,i = C3 v x ,i v y , j i , j (1 x , y )
2 i x y x
2 x y i j
E1 =
C
C
1
E 4 = 4 v x ,i n = C 4 v x ,i v y , j C 4 n v x ,i 4 n 2
2 x i
2 x y i j
2
x
i
in E4 tralasciamo il termine costante alla fine in quanto non modifica il punto in cui abbiamo il
minimo, ma solo il valore della funzione E4 in corrispondenza del minimo, cosa che a noi non
interessa, dal momento che il nostro scopo minimizzare le 4 funzioni.
Mettendo il tutto assieme otteniamo
1
E = v x ,i v y , j C1 d x , y ( j ,i 1 + j ,i +1 ) C 2 x , y (1 i , j ) C 3 i , j (1 x , y ) C 4
2 x y i j
+ C 4 n v x ,i
x
da cui segue che possiamo risolvere in modo approssimato il problema del TSP utilizzando la
matrice dei pesi W che ha come ( x + i n, y + j n) -esima componente
w( x ,i ),( y , j ) = C1 d x , y ( j ,i 1 + j ,i +1 ) C 2 x , y (1 i , j ) C 3 i , j (1 x , y ) C 4
e come vettore corrente esterna il vettore I che ha come ( x + i n) -esima componente
I ( x ,i ) = n C 4
36
C
xi = C
0
altrimenti
dove C denota la cardinalit dellinsieme C e i {1,K, V }.
Definiamo simplesso standard in n linsieme Sn definito come
n
S n = x n xi = 1, xi 0 i
i =1
Sia A=(aij) la matrice di adiacenza di G=(V,E) ovvero una matrice tale per cui
1 se (i, j ) E
a ij =
0 altrimenti
Consideriamo a questo punto la seguente funzione
n
f (x) = x T A x = aij xi x j
i =1 j =1
f ( x) = x T A x +
1 T
1
x x = xT A + I x
2
2
8.6.3 Problemi
I problemi che si hanno utilizzando una rete di Hopfield come strumento di ottimizzazione sono:
in molti casi abbiamo un numero di connessione dellordine di n4 ;
abbiamo un numero di unit dellordine di n2 ;
le soluzioni ottenute sono raramente ammissibili;
difficolt nel determinare i parametri per risolvere il problema;
difficolt di evitare minimi locali.
i (t ) = wij x j (t ) = (W x(t ) )i
j =1
(t ) = xi (t ) i (t ) = x T (t ) W x(t )
i =1
Vediamo ora come aggiornare, nel caso discreto, lo stato della popolazione.
Per fare ci vogliamo che la frazione di popolazione che utilizza la strategia i sia, al tempo t+1, pari
al rapporto fra il guadagno ottenuto da coloro che hanno giocato la strategia i e il guadagno totale
della popolazione. In pratica se una strategia risulta efficace allora la porzione di popolazione che la
utilizzer sar maggiore. Giungiamo cos ad un equazione di replicazione discreta
x (t ) i (t )
xi (t + 1) = i
(t )
38
Ogni neurone per aggiornarsi deve conoscere lo stato di tutti gli altri neuroni.
Vediamo ora come ottenere la stessa relazione nel continuo. Dellequazione di replicazione discreta
ci interessano soprattutto i punti stazionari tali per cui xi(t+1)=xi(t). Sia x un punto fisso
dellequazione allora
x i (t )
x i (t ) x (t )
x=
0=
0 = x [ i (t ) (t )]
(t )
(t )
Dal momento che un punto stazionario in un equazione dinamica se la sua derivata rispetto al
tempo nulla, un equazione di replicazione continua equivalente a quella discreta la otteniamo
ponendo
dx
= x [ i (t ) (t )]
dt
Le due equazioni dinamiche (discreto e continuo) hanno quindi gli stessi punti stazionari ed inoltre
Sn invariante rispetto ad entrambe le equazioni, ovvero qualunque traiettoria nasca in Sn rimane in
Sn.
Se W=WT (matrice dei pesi simmetrica) allora (t) strettamente crescente, ovvero
sistema continuo e (t+1)>(t) per quello discreto a meno di punti stazionari.
d
> 0 per il
dt
1
I dove A la matrice di adiacenza e I la matrice identica
2
possiamo risolvere il problema MCP in modo approssimato trovando un punto fisso del sistema.
f ave f re
f ave
dove fave il valore medio della funzione calcolato su n campioni, fre il valore della funzione in
corrispondenza della soluzione ottenuta e il valore della funzione in corrispondenza della
soluzione ottimale.
Q=
39