Apprendimento competitivo

annuncio pubblicitario
Perchè competere?
RETI DI KOHONEN
In alcuni casi, la risposta di una rete può
essere ambigua:
Competitive Learning
&
Self Organizing Maps
P
0.6
Q
0.1
R
0.6
1
2
Forzare una decisione
Mappe sensoriali
Connettendo opportunamente lo strato di
uscita è possibile innescare una competizione
tra i neuroni, che forza la rete a decidersi.
Le aree sensoriali della corteccia cerebrale
sono organizzate topologicamente:
P
0.3
Q
0.1
R
0.8
• sulla corteccia somato-motoria esiste una
rappresentazione dell’intero corpo;
• sulla corteccia uditiva esiste una mappa
tonotopica tra disposizione spaziale e
frequenza percepita.
3
Corteccia somato-motoria
4
Reti di Kohonen
Nel 1983, Teuvo Kohonen riuscì a costruire
un modello neurale in grado di replicare il
processo di formazione delle mappe sensoriali
sulla corteccia cerebrale:
• rete stratificata
• apprendimento senza supervisione basato
sulla competizione fra neuroni
5
6
1
Architettura
Neuroni lineari
x1
pesi fissi
wj1
x2
wj2
•
•
•
∑w
ji xi
i =1
wjn
xn
pesi
variabili
yj =
j
n
yj =
n
∑w
x = W j • X = W j • X cosθ
ji i
i =1
7
Distribuzione dei pesi fissi
8
Distribuzione dei pesi fissi
4  x 2 + y 2  x σ+2y
∇ G = 2 
− 1 e
σ  σ2

2
I pesi fissi dipendono dalla distanza dei neuroni:
• neuroni vicini ⇒ pesi positivi
• neuroni lontani ⇒ pesi negativi
Laplaciano di Gaussiana:
σ: raggio di interazione
−σ
y
σ
x
9
Bolle di attivazione
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
2
2
10
Apprendimento competitivo
• Grazie all’inibizione laterale, i neuroni competono per
rispondere ad uno stimolo.
•
•
•
•
•
•
•
•
•
•
•
•
•
• Il neurone con uscita maggiore vince la competizione
e si specializza a riconoscere lo stimolo.
• Grazie alle connessioni eccitatorie, i neuroni vicini al
vincitore risultano sensibili ad ingressi simili.
Si crea un isomorfismo tra
spazio di ingresso e spazio di uscita
11
12
2
Implementazione
Neurone vincitore (metodo 1)
• In realtà, per problemi di efficienza, i neuroni di
uscita non vengono connessi tra loro.
• Il neurone vincitore viene scelto con una strategia
globale confontando le uscite di tutti i neuroni.
• Si possono usare due tecniche:
Il neurone vincente sull’ingresso X è quello
che ha l’uscita maggiore:
yj =
n
w ji xi
∑
i =1
= W j • X = | W j | | X | cosθ
W2
1. Si sceglie il neurone con uscita massima;
W1
W3
2. Si sceglie il neurone i cui vettore dei pesi è più
simile all’ingresso presentato.
θ
X
13
Neurone vincitore (metodo 1)
14
Neurone vincitore (metodo 2)
Il neurone vincente sull’ingresso X è quello
che ha il vettore di pesi più simile a X:
Questo metodo richiede che: | X| = |W| = 1
W1
j0 : DIS(Wj0, X) < DIS(Wj , X)
Altrimenti può accadere che:
θ2
W1
W2
|W1||X| cosθ1 > |W2 ||X| cosθ2
X
nonostante:
X
15
Definizione di distanza
In questo caso non
occorre che i vettori
siano normalizzati.
W2
θ2 < θ1
Distanza Euclidea: DIS ( X , Y ) =
∀j ≠ j0
16
Legge di apprendimento
n
∑ (x − y )
2
i
i
∆W(t) = α (X − W)
i =1
Distanza stradale:
(o di Manhattan)
DIS ( X , Y ) =
∆W(t)
n
∑x −y
i
i
i =1
n
Distanza di Hamming: DIS ( X , Y ) = ∑ (xi != yi )
i =1
(solo per vettori binari)
17
X − W(t)
W(t)
W(t+1)
X
18
3
Apprendimento
Apprendimento
W(t)
W(t+1)
X
X
19
20
Apprendimento
Apprendimento
X
X
21
22
Aggiornamento del vicinato
Raggio di interazione
Per simulare le connessioni radiali, si variano i
pesi dei neuroni vicini al vincitore:
Il vicinato è l’insieme di neuroni aventi una
distanza dal vincitore minore di R:
vincitore
X1
23
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• •
• •
• •
•R•
• •
• •
• •
• •
• •
• •
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
R = raggio di
interazione
24
4
Tipologie di vicinato
Definizione della mappa
• Per consentire la formazione della mappa,
occorre definire una topologia sullo strato di
uscita.
Vicinanza 4
Vicinanza 8
• Ogni neurone deve avere una posizione
identificata da un vettore di coordinate.
• La mappa di uscita è di solito definita come
uno spazio a una o a due dimensioni.
25
Tipologie di vicinato
26
Tipologie di vicinato
Vicinanza 12
Vicinanza esagonale
27
Tipologie di vicinato
28
Tipologie di vicinato
Mesh
Griglia semplice
29
30
5
Variazione dei pesi
Variazione dei pesi
I pesi dei neuroni vengono variati in base alla
loro distanza dal neurone vincitore:
Detto j0 l’indice del neurone vincitore, si ha:
 d2 
Φ( d ) = 1 − 2 
 r 
1
∀j ∈ vicinato(j 0, r)
d = DIS(j, j 0)
∆wj = α Φ(d) (X − Wj)
d
Le quantità r e α variano nel tempo.
r
31
32
Algoritmo di apprendimento
Evoluzione temporale
Rmax
R
r ( t ) = Rmax  min
 Rmax
r(t)
Rmax =
Rmin
t
Amax
N
,
2
t
 Tmax


Rmin = 1
t
α(t)
 A  Tmax
α (t ) = Amax  min 
 Amax 
Amin
Amax = 1,
Amin = 0
t
33
1.
Si inizializzano i pesi in modo casuale;
2.
2.
Si inizializzano i parametri: α = A; r = R;
do {
4.
for each (Xk ∈ TS) {
5.
si calcolano tutte le uscite y j;
6.
si determina il neurone vincitore j0;
7.
si aggiornano i pesi del vicinato;
8.
}
9.
si riducono α e r;
10. } while ( α > α min);
Esempio
34
Stato Iniziale
N=M
x1
•
wj1
ingresso
peso
x2
wj2
M ingressi
N neuroni
Ingresso = vettore di coordinate su un piano
Mappa = Griglia con vicinanza 4
35
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
36
6
Stato finale
Esempio
N>M
N=M
•
•
ingresso
•
peso
M ingressi
N neuroni
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ingresso
peso
•
•
•
•
•
•
•
•
•
•
M ingressi
N neuroni
•
•
•
•
•
•
•
37
38
Esempio
Tassellazione di Voronoi
N<M
•
ingresso
•
•
peso
M ingressi
N neuroni
•
i=1
•
•
Si ∩ S j = φ
•
•
•
W2
S2
n
U Si = S
•
W1
Wi = centroide di Si
•
•
•
S1
•
•
•
•
E’ una suddivisione di uno spazio S in n sottospazi Si,
tali che:
•
W3
∀i ≠ j
S3
DIST ( X k , Wi ) < DIST ( X k , W j )
39
W4
S4
∀ i ≠ j, X k ∈ S i
40
Applicazioni
Applicazioni
Clustering
Classification
• Raggruppare un insieme enorme di dati in un
numero limitato di classi, in base alla somiglianza
dei dati.
• Classificare un insieme di frasi in un insieme di
classi distinte per argomenti correlati.
Compression
• Usato da alcuni motori di ricerca per classificare i
gusti degli utenti collegati.
• Convertire un’immagine con milioni di colori in
un’immagine compressa su 256 livelli (non fissi).
41
42
7
Applicazioni
Applicazioni
Classificazione di fonemi
Classificazione di fonemi
a
“telefono”
va
na
e
te
fe
i
o
sa
la
oe
le
no
va
na
ue
e
gi
fi si
fo
a
“telefono”
te
fe
i
o
u
oe
le
fo
no
u
44
Ottimizzazione
Problema del
commesso
viaggiatore
“telefono”
Rete
multistrato
Rete di
Kohonen
ue
gi
fi si
43
Riconoscimento di parole
sa
la
Inputs:
2
Outputs: n
Map: 1D-mesh
∆
ƥ
••
∆
45
46
8
Scarica