380 likes | 608 Views
Reti Neurali. Alessandro Mazzetti. 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
E N D
Reti Neurali Alessandro Mazzetti
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.
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
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
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à.
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
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
...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 rigorosamente Grossberg realizza applicazioni Hopfield definisce proprietà fisiche
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
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)
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”
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
Due modalità d’uso • Apprendimento: • dato input & output • trovare i pesi • Esecuzione: • dato input e pesi • trovare l’output
Formule di apprendimento • Hebbiano W[i,j] = * O[i] * O[j] • Error propagation W[i,j] = * ( D[i] - O[i] ) * O[j]
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)
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)
Punti deboli delle reti neurali • scarse capacità di calcolo • scarse capacità logiche • scarsa precisione • incapacità di spiegare i risultati forniti
Esempio Imparare a lanciare un sasso per centrare un bersaglio
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
Esercizio • Lanciare il programma SASSO.COM • definire una topologia • addestrare la rete • provarla
Riassumendo... • Le reti neurali sono una tecnologia "orizzontale” • Trovano applicazioni nell'industria, finanza, medicina, difesa, telecomunicazioni, assicurazioni...
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
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
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).