Realizzazione e caratterizzazione di una
semplice rete neurale per la separazione
di due campioni di eventi
• Vincenzo Izzo
Sommario
• Le reti neurali
• L’algoritmo di apprendimento
• I risultati
Vincenzo Izzo
Reti neurali biologiche
•
corpo cellulare o “soma”, dal quale
partono collegamenti (dendriti) verso
altri neuroni: compito dei dendriti è
ricevere i segnali dagli altri neuroni
collegati
•
il soma ha un collegamento
di uscita, o assone, con il
quale il neurone trasmette i
suoi dati verso i dendriti di
altri neuroni
1
Vincenzo Izzo
Reti neurali artificiali
•
•
•
Composta da un certo numero di neuroni collegati tra
loro da collegamenti “pesati”
Accetta dati sulle unità in ingresso (input) e presenta i
corrispondenti dati sulle unità di uscita; può avere unità
nascoste (hidden) che contribuiscono a codificare i
legami tra le variabili di input e quelle di output
Ogni neurone riceve una combinazione lineare delle
uscite dei neuroni dello strato precedente e tali
connessioni sono pesate dai pesi sinaptici wi
2
Vincenzo Izzo
L’apprendimento (1)
•
La funzione di trasferimento input-output della rete viene ottenuta attraverso
un processo di addestramento (training) con dati proposti alla rete
•
•
•
•
Si inizializza la rete scegliendo i pesi in modo casuale;
Si fornisce un campione di training composto da coppie Input/output atteso;
Si calcola il risultato in output della rete e lo si confronta con l’output atteso;
Si modificano i pesi dei collegamenti tra i neuroni in funzione dello scarto tra
output e output atteso.
•
La correzione dei pesi avviene secondo una semplice somma wi = wi + ∆wi
3
Vincenzo Izzo
L’apprendimento (2)
•
Definiamo l’errore commesso dalla rete
N0
T
E = 1 ∑ ∑ (Yi(t) - Outi(t) )2
N0 i=1 t=1
•
N0 = neuroni in uscita, T = eventi del campione di training,
•
Outi = valori in uscita della rete, Yi = valori attesi
•
La correzione sui pesi è
4
Vincenzo Izzo
L’apprendimento (3)
•
Per un solo perceptrone la correzione vale ∆wi = η(t-y)xi,
•
Per una rete a tre livelli, tra layer d’ingresso e nascosto
Dove xi sono gli input, i = Outi(t) (Yi - Outi )(1 - Outi(t) ) e wil sono i pesi
tra layer di input e layer nascosto; tra layer nascosto e layer di uscita è
Dove gli hk indicano l’output del k-esimo neurone del layer nascosto
5
Vincenzo Izzo
I problemi nell’apprendimento
•
Si inizializza la rete scegliendo
i pesi in modo casuale
•
Si può risolvere scegliendo
diverse velocità di
apprendimento
6
Vincenzo Izzo
La programmazione
•
La generazione dei dati gaussiani
Insieme S
x1
σ1
x2
σ2
x3
σ3
x4
σ4
0
1
1
1
1
1
1
1
Insieme N
•
x1
σ1
x2
σ2
x3
σ3
x4
σ4
4
1
4
1
4
1
4
1
Se un dato appartiene
all’insieme S, l’uscita del
neurone dovrà essere 1,
se appartiene all’insieme
N l’uscita sarà 0
•
•
i dati sono mescolati alternando una quadrupla
dell’insieme S ed una quadrupla dell’insieme N
i dati sono mescolati in modalità casuale basata
sullo stesso algoritmo di generazione di numeri
casuali
7
Vincenzo Izzo
I risultati
•
Errore commesso dal neurone, per
il campione di training e quello di
controllo
•
Risposta in uscita, per il campione
di training e quello di controllo
•
Efficienza e contaminazione per
gli insiemi S e N del neurone, per
il campione di training e quello di
controllo
N0
T
E = 1 ∑ ∑ (Yi(t) - Outi(t) )2
N0 i=1 t=1
8
Vincenzo Izzo
I risultati – 100 eventi
•
Errore del neurone su 100 eventi: training (a sin.) e controllo
9
Vincenzo Izzo
I risultati – 100 eventi
•
Uscita del neurone per l’insieme S: training (a sin.) e controllo
10
Vincenzo Izzo
I risultati – 100 eventi
•
Uscita del neurone per l’insieme N: training (a sin.) e controllo
11
Vincenzo Izzo
I risultati – 100 eventi
•
Efficienza del neurone sul campione S in funzione del taglio: training (a sin.)
e controllo
12
Vincenzo Izzo
I risultati – 100 eventi
•
Efficienza del neurone sul campione N in funzione del taglio: training (a sin.)
e controllo
13
Vincenzo Izzo
I risultati – 100 eventi
•
Contaminazione del campione S in funzione del taglio: training (a sin.) e
controllo
14
Vincenzo Izzo
I risultati – 100 eventi
•
Contaminazione del campione N in funzione del taglio: training (a sin.) e
controllo
15
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Errore del neurone per 50, 100, 200 eventi – campione di training
16
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Errore del neurone per 50, 100, 200 eventi – campione di controllo
17
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Output per l’insieme N per 50, 100, 200 eventi – campione di training
18
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Output per l’insieme N per 50, 100, 200 eventi – campione di controllo
19
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Output per l’insieme S per 50, 100, 200 eventi – campione di training
20
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Output per l’insieme S per 50, 100, 200 eventi – campione di controllo
21
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Efficienza per l’insieme N per 50, 100, 200 eventi – campione di training
22
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Efficienza per l’insieme N per 50, 100, 200 eventi – campione di controllo
23
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Efficienza per l’insieme S per 50, 100, 200 eventi – campione di training
24
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Efficienza per l’insieme S per 50, 100, 200 eventi – campione di controllo
25
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Contaminazione per l’insieme N per 50, 100, 200 eventi – campione di training
26
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Contaminazione per l’insieme N per 50, 100, 200 eventi – campione di controllo
27
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Contaminazione per l’insieme S per 50, 100, 200 eventi – campione di training
28
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Contaminazione per l’insieme S per 50, 100, 200 eventi – campione di controllo
29
Vincenzo Izzo
I risultati – dipendenza da n. eventi
•
Andamento dei pesi in funzione delle epoche, per 50, 100, 200 eventi nel
campione
30
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Andamento dell’errore in funzione delle epoche, per α=0.5, 2, 10 - Training
31
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Andamento dell’errore in funzione delle epoche, per α=0.5, 2, 10 - Controllo
32
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Efficienza per il campione N, per α=0.5, 2, 10 - Training
33
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Efficienza per il campione N, per α=0.5, 2, 10 - Controllo
34
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Efficienza per il campione S, per α=0.5, 2, 10 - Training
35
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Efficienza per il campione S, per α=0.5, 2, 10 - Controllo
36
Vincenzo Izzo
I risultati – dip. dal parametro 
•
Andamento dei pesi in funzione delle epoche, per α=0.5, 2, 10
37
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Andamento dell’errore in funzione delle epoche, modalità alternata (a sin.) e
pseudorandom - Training
38
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Andamento dell’errore in funzione delle epoche, modalità alternata (a sin.) e
pseudorandom - Controllo
39
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Efficienza per il campione N, modalità alternata (a sin.) e pseudorandom –
Training
40
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Efficienza per il campione N, modalità alternata (a sin.) e pseudorandom –
Controllo
41
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Efficienza per il campione S, modalità alternata (a sin.) e pseudorandom –
Training
42
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Efficienza per il campione S, modalità alternata (a sin.) e pseudorandom –
Controllo
43
Vincenzo Izzo
I risultati – dip. dal mixing dei dati
•
Andamento dei pesi in funzione delle epoche, modalità alternata (a sin.) e
pseudorandom
44
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
Insieme S
x1
σ1
x2
σ2
x3
σ3
x4
σ4
0
1
1
1
1
1
1
1
Insieme N
x1
σ1
x2
σ2
x3
σ3
x4
σ4
4
1
4
1
4
1
4
1
Insieme S
x1
σ1
x2
σ2
x3
σ3
x4
σ4
2
1
2
1
2
1
2
1
Insieme N
x1
σ1
x2
σ2
x3
σ3
x4
σ4
4
1
4
1
4
1
4
1
45
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Andamento dell’errore in funzione delle epoche, per i dati della tabella 1 (a sin.)
e tabella 2 - Training
46
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Andamento dell’errore in funzione delle epoche, per i dati della tabella 1 (a sin.)
e tabella 2 - Controllo
47
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Efficienza per il campione N, per i dati della tabella 1 (a sin.) e tabella 2 –
Training
48
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Efficienza per il campione N, per i dati della tabella 1 (a sin.) e tabella 2 –
Controllo
49
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Efficienza per il campione S, per i dati della tabella 1 (a sin.) e tabella 2 –
Training
50
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Efficienza per il campione S, per i dati della tabella 1 (a sin.) e tabella 2 –
Controllo
51
Vincenzo Izzo
I risultati – dip. dalla sovrapposizione dei dati
•
Andamento dei pesi in funzione delle epoche, per i dati della tabella 1 (a sin.) e
tabella 2
52
Vincenzo Izzo
Vincenzo Izzo
La programmazione
•
La generazione dei dati gaussiani: metodo di Box-Muller
•
Si parte da una distribuzione gaussiana bidimensionale
•
Si passa da coordinate cartesiane X e Y in
coordinate polari r e θ, tenendo conto che r
è lo Jacobiano della trasformazione e che
quindi dxdy = rdrdθ
•
Si ottiene l’espressione per r e θ a partire
da due distribuzioni uniformi in (0,1)
descritti dalle grandezze X1 e X2
•
che invertite danno
•
Ritornando alle coordinate X e Y si ottiene così X = r cos e Y = r sin.
Vincenzo Izzo