Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica,...

35
Reti Neurali Alessandro Mazzetti

Transcript of Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica,...

Page 1: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Reti Neurali

Alessandro Mazzetti

Page 2: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Definizioni

• Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub-simbolico, Connessionismo, Parallel Distributed Processing

• Inizialmente: riprodurre le strutture nervose dei tessuti cerebrali su strumenti di calcolo

• Oggi: tecnologia alternativa di elaborazione dell'informazione.

Page 3: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Rete di neuroni biologici

Page 4: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

La cellula neuronale

Page 5: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Cervello biologico

• Il cervello umano ha circa 10 bilioni di cellule nervose.

• Il numero di interconnessioni è stimato dell'ordine di un milione di miliardi

• Nell'uomo non sono presenti tipi diversi di neurone da quelli di altre specie animali

Page 6: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

La Sinapsi

Page 7: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

L’intelligenza biologica

• Il contenuto informativo del cervello è l'insieme dei valori di attivazione di tutti i neuroni.

• L'elaborazione dell'informazione è il flusso di segnali fra i vari neuroni che si eccitano e inibiscono a vicenda.

• La memoria è l'insieme delle sinapsi che formano addensamenti e rarefazioni nella rete neurale

Page 8: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

L’elaborazione biologica

• La frequenza massima di trasmissione degli impulsi fra neuroni è bassa (100/sec)

• In un computer i segnali elettronici viaggiano a velocità migliaia di volte superiori.

• Cervello = meccanismo diffuso e parallelo di trasmissione dell'informazione

• L'elaborazione risiede in intere regioni del cervello piuttosto che in singole unità.

Page 9: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Differenze cervello - computer• Computer :

– elaborazione sequenziale nella CPU– memoria concentrata in unità separate (RAM).– anche il software separa i dati dall'algoritmo

• Cervello:– informazione distribuita su una moltitudine di

unità elementari di per sé semplici– ogni unità opera in parallelo con le altre– non vi è netta distinzione fra memoria e calcolo

Page 10: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Storia...

• 1943 - McCulloch e Pitts:– individuazione delle funzioni computabili– equivalenza con la Macchina di Turing

• 1949 - Donald Hebb:– apprendimento biologico = fenomeno sinaptico

• 1957 - Rosenblatt costruì il perceptrone– impara a riconoscere immagini– teorema che garantisce la capacita' di apprendere– robustezza e flessibilita' tipica dei sistemi biologici

Page 11: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

...storia

• 1969 - Minsky e Papert:– evidenziano i limiti e l'incapacita' di risolvere

alcuni problemi banali

• anni 70 - sfiducia• anni 80 - Rumelhart supera le limitazioni

Kohonen formalizza rigorosamenteGrossberg realizza applicazioniHopfield definisce proprietà fisiche

Page 12: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Il neurone formale

Page 13: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Il meccanismo

• Il neurone viene “eccitato” da altri neuroni

A[i] = j( W[i,j] * O[j] )• l’eccitazione viene “trattenuta” all'interno

dell'unità fino ad un certo livello di soglia, oltre il quale l'unità si “scarica”

O[i] = T( A[i] )• e a sua volta va ad eccitare altri neuroni

Page 14: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Funzione di trasferimento

Page 15: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Rete Neurale Artificiale

Page 16: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Modelli di Rete Neurale

Page 17: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Teorema di Hecht-Nielsen

Una qualsiasi funzione Y=F(X) può essere

computata con elevata accuratezza da una rete

neurale non ricorrente a soli tre livelli avente un

opportuno numero di unità (anche molto elevato)

nel livello intermedio

(purtroppo non dice come definire i pesi)

Page 18: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Multi-Level-Feed-Forward

Page 19: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Due principali caratteristiche

• Resistenza al rumore– input incerto, incompleto o leggermente errato– output distorto proporzionalmente

• Resistenza al degrado– guasti o parti difettose (reti hardware)– output distorto proporzionalmente

Una rete neurale non ha “colli di bottiglia”l’informazione è elaborata “a pezzettini”

Page 20: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Come si programmauna rete neurale?

• Una rete neurale NON si programma

• La si addestra

• Impara da sola da esempi

Imparare il concetto di somma:

5+3=8; 24+1329=1353; 1+17=18;…

Dopo aver "osservato" un numero sufficiente di somme, la rete avrà imparato, quindi sarà in grado di eseguire anche somme di numeri mai visti prima, come ad esempio 37+9

Page 21: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Due modalità d’uso

• Apprendimento:– dato input & output– trovare i pesi

• Esecuzione:– dato input e pesi– trovare l’output

Page 22: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Formule di apprendimento

• HebbianoW[i,j] = * O[i] * O[j]

• Error propagationW[i,j] = * ( D[i] - O[i] ) * O[j]

Page 23: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Tipologie di apprendimento

• Supervisionato– il maestro dà sia input che output

• Non-supervisionato– il maestro dà solo l’input

In entrambi i casi la rete generalizza(riesce a trattare casi non imparati)

Page 24: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Punti forti delle reti neurali

• capacità di associazione– (fare analogie, trovare similarità)

• autoapprendimento

• capacità di generalizzazione

• resistenza al rumore e al degrado

• familiarità con gli eventi più frequenti

• velocità (parallelismo)

Page 25: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Punti deboli delle reti neurali

• scarse capacità di calcolo

• scarse capacità logiche

• scarsa precisione

• incapacità di spiegare i risultati forniti

Page 26: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Esempio

Imparare a lanciare un sasso per centrare un bersaglio

Page 27: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Topologia di rete

Page 28: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Conoscenza della rete

Page 29: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

ApprendimentoBACK-PROPAGATION

• Per ogni esempio– prova ad eseguirlo– calcola l’errore commesso– aggiusta i pesi del livello di output– propaga l’errore al livello inferiore– aggiusta i pesi del livello inferiore

• ripeti il tutto finché non commetti più errori

Page 30: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Esercizio

• Lanciare il programma SASSO.COM

• definire una topologia

• addestrare la rete

• provarla

Page 31: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Riassumendo...

• Le reti neurali sono una tecnologia "orizzontale”

• Trovano applicazioni nell'industria, finanza, medicina, difesa, telecomunicazioni, assicurazioni...

Page 32: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Dove usarle?

• Non ha senso impiegare reti neurali dove i computer sono eccellenti (calcoli, basi di dati, word-processing,...)

• E’ opportuno adottarle dove i computer falliscono:– dove ci sono informazioni incomplete, vaghe,

contradditorie, distorte, imprecise– dove manca un algoritmo adeguato (apprendimento)– dove la velocità richiede parallelismo

Page 33: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Campi d’applicazione• riconoscimento/classificazione di immagini,

testi, voce, segnali, patterns;• filtri di rumore su segnali;• sintesi di parlato;• pianificazione/ottimizzazione;• controllo di processo e di qualita';• supporto alle decisioni;• analisi finanziaria;• diagnostica medica e industriale;• previsioni metereologiche;• compressione/trasmissione di dati

Page 34: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Applicazioni• Riconoscitore di caratteri manoscritti, in grado di

riconoscere il 95% di un testo, a seconda della qualita' della calligrafia.

• Autenticatore di firme, i cui casi di falso allarme ammontano finora al 4%

• Rivelatore di carte di credito rubate (Chase Manhattan Bank).

• Rivelatore di esplosivi in servizio dal 1988 presso l'aereoporto di New York, Los Angeles e S. Francisco (tecnica back propagation, controlla 10 valige al minuto, realizzato solo con prodotti commerciali).

Page 35: Reti Neurali Alessandro Mazzetti. Definizioni Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Sub- simbolico, Connessionismo, Parallel.

Guida autonoma di veicoli