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.
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 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: 1949 - Donald Hebb: 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: anni 70 - sfiducia 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) 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: Esecuzione: 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
Imparare a lanciare un sasso per centrare un bersaglio 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