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