Post on 01-May-2015
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• 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 rigorosamenteGrossberg realizza applicazioniHopfield 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 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
• HebbianoW[i,j] = * O[i] * O[j]
• Error propagationW[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
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).
Guida autonoma di veicoli