Reti Neurali Alessandro Mazzetti Definizioni • Reti Neurali, Neuronali, Neuroniche, Neuroinformatica, Paradigma Subsimbolico, Connessionismo, Parallel Distributed Processing • Inizialmente: riprodurre le strutture nervose dei tessuti cerebrali su strumenti di calcolo • Oggi: tecnologia alternativa di elaborazione dell'informazione. Rete di neuroni biologici La cellula neuronale 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 La Sinapsi 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 neurone formale 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 Funzione di trasferimento Rete Neurale Artificiale Modelli di Rete Neurale 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) Multi-Level-Feed-Forward 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 programma una 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 Topologia di rete Conoscenza della rete Apprendimento BACK-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). Guida autonoma di veicoli