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
Scarica

Lezione Reti Neurali