Presentazione - Nucleo di Ricerca in Didattica dell`Informatica

annuncio pubblicitario
Reti Neurali: studi
sull'intelligenza artificiale
S. Gentili
Dipartimento di Matematica e Informatica
Cos’è l’intelligenza artificiale?
• Lo scopo dell’intelligenza artificiale è lo sviluppo
di algoritmi che svolgono operazioni che
apparentemente richiedono cognizione quando
fatte da umani
• Un sistema intelligente deve fare 3 cose:
• Memorizzare la conoscenza
• Applicare la conoscenza a risolvere i problemi
• Acquisire conoscenza tramite l’esperienza
Cos’è una rete neurale?
• Una rete neurale è letteralmente una rete di
neuroni (artificiali o no) collegati fra loro
• Il singolo neurone del cervello è più lento
di un chip (1 evento/ms vs 1 milione/ms)
• Il cervello è però composto da 100 miliardi
di neuroni ognuno dei quali comunica con
altri diecimila neuroni
Computer e reti neurali
• Il computer tradizionale (di Von Neumann) è
molto rapido e efficiente nel risolvere compiti in
cui l’essere umano è in difficoltà
• È però molto lento e inefficiente nel risolvere
problemi che riguardano la vita quotidiana che
l’essere umano risolve molto velocemente
Calcolatore tradizionale
• Ogni dato viene elaborato in successione
• Esiste un solo elemento di elaborazione
(processore) che fa tutte le operazioni
• Ogni dato è identificato da un indirizzo
• Il calcolatore deve essere programmato per
svolgere un compito
Cervello umano
• I dati vengono elaborati in parallelo
• Molti elementi di elaborazione (neuroni)
lavorano allo stesso problema
• Il singolo dato è identificato in base al
contenuto
• Il cervello impara in base all’esperienza o
con l’aiuto di un insegnante
Le reti neurali artificiali
• Le reti neurali artificiali sono sistemi di
elaborazione ispirati al sistema nervoso degli
esseri viventi li ricordano in due cose:
• La conoscenza è acquisita tramite un
processo di addestramento
• La forza delle connessioni fra neuroni è
usata per memorizzare la conoscenza
Il cervello umano
• Il cervello è costituito da
una rete di neuroni.
• Al singolo neurone,
tramite dendriti e sinapsi
arrivano segnali elettrici
dagli altri neuroni
• Se il segnale è al di sopra
di una soglia il neurone
genera un segnale in uscita
lungo l’assone
La rete neurale artificiale
• La rete neurale artificiale è
costituita da semplici unità
che simulano i neuroni
(neuroni o nodi)
• Al singolo neurone
arrivano segnali dagli altri
neuroni con una intensità
che dipende dai pesi
sinaptici delle connessioni
• Il segnale in uscita è in
genere una funzione della
somma di quelli in entrata
Struttura delle reti
• I neuroni sono distribuiti
e connessi in modi che
dipendono dal tipo di rete
• Nelle reti di tipo feedforward il segnale si
propaga da un input a un
output
• Nelle reti ricorrenti o di
tipo feedback torna anche
indietro
L’addestramento delle reti
• I computer tradizionali
non imparano dai
propri sbagli
• Il cervello umano sì
• La maggior parte delle
reti neurali anche
Addestramento
• Le reti neurali rispondono in funzione della
forza delle connessioni fra neuroni
• Una rete addestrata è quindi una rete in cui i
pesi delle connessioni sono stati fissati
• metodi:
• reti a struttura predefinita
• reti supervisionate
• reti auto-organizzate
La storia delle reti neurali
artificiali: gli inizi
• Il primo modello di neurone artificiale risale
al 1943 e fu ideato da Mc. Culloch e Pitts
• le prime reti neurali artificiali non
apprendevano e i pesi sinaptici venivano
modificati a mano
• I neuroni avevano una semplice attivazione
a soglia
Gli anni 50-60
• Nel 1949 Hebb propose il primo meccanismo di
apprendimento: se due neuroni sono attivi
contemporaneamente la forza della loro
connessione aumenta.
• Nel 1962 Rosemblatt propose una regola di
apprendimento che modificava i pesi se la risposta
era scorretta (perceptrons)
• Nello stesso periodo (1960) Widrow e Hoff
proposero un meccanismo simile ma più potente la
“regola della delta”.
Gli anni 70-80
Nel 1969 Minsky e Papert dimostrarono che i perceptron
non erano in grado di risolvere funzioni logiche non
linearmente separabili.
• Nel 1974 Kohonen propose le “mappe di Kohonen” si
trattava di reti “non supervisionate”
• Nel 1986 venne risolto il problema dei perceptron con lo
sviluppo della “Back-Propagation” il metodo più diffuso
ancor oggi.
• Nello stesso anno Grossberg propose la Teoria della
Risonanza Adattiva che permetteva di aggiungere
conoscenza a una rete già addestrata
Sviluppi degli ultimi 10 anni
• Applicazioni delle reti neurali esistenti a
moltissimi campi di ricerca
• Sviluppo di hardware parallelo per implementare
le reti neurali.
• Applicazione della logica Fuzzy alle reti neurali
• Possibilità di aggiungere conoscenza a reti
supervisionate già addestrate
Applicazioni esistenti
•
•
•
•
•
•
•
•
Compressione dei dati
Eliminazione del rumore
Riconoscimento segnali sonar
Macchina da scrivere fonetica
Riconoscimento di caratteri
Sistemi di guida automatica
Analisi finanziarie
Medicina
Alcuni esempi di applicazioni
• Classificazione di scene sottomarine
• Progetto Europeo Holomar:
classificazione di immagini olografiche
Il problema della segmentazione
• Uno dei problemi più difficili nell’analisi di
immagini è la segmentazione
• Gli oggetti cambiano colore, luminosità,
tessitura, a causa delle ombre,
dell’illuminazione variabile, di
caratteristiche proprie
La guida automatica di un mezzo
sottomarino
• Il sistema deve essere in
grado di compiere
autonomamente le
operazioni
• Non può essere controllato
continuamente da un
operatore umano
Controllo delle condotte: sistema
di guida
ANODO
S
Problemi:
• Presenza di sabbia,
alghe incrostazioni
(occlusione e
deformazioni)
• Cambiamento del
materiale e della
tessitura della condotta
• Cambiamento della
visibilità in acqua
Problema del riconoscimento di
oggetti
Oggetto
Costruzione di una
descrizione
formale
Pattern
Classificatore
Classificazione
Posizione dei bordi della
condotta
Confronto con metodi classici
trasformate di Hough
Rete neurale
Trasformata di Hough
Altre applicazioni di segmentazione
High resolution in situ HOLOgraphic recording and
analysis of MARine organisms and particles
• Il problema affrontato è la classificazione di
organismi diversi tramite reti neurali
Esempi di immagini olografiche
Immagini IN-LINE < 0.1 mm
Immagini OFF-AXIS <= 1 mm
Problemi
relativi alla
classificazione
• Il sistema non deve risentire di problemi legati a:
•
•
•
•
Differenze individuali
Problemi di segmentazione dell’immagine
rotazione casuale degli organismi di interesse
aggregazione variabile di organismi per talune
specie.
Classificazione
• La
classificazione è stata fatta tramite una rete
neurale feed-forward multistrato supervisionata
addestrata tramite un algoritmo di BackPropagation.
Risultati
100
100
80
Asterionella
Ceratium
60
Diatom
Floc
40
Zoo
Total
20
80
60
Crustaceans
40
20
0
0
Immagini IN-LINE
Copepods
Immagini OFF-AXIS
Total
Vantaggi delle reti neurali
• Le reti neurali sono in grado di risolvere
problemi estremamente complessi per
algoritmi tradizionali
• Sono in grado di imparare
• Lavorano in tempo reale
• Ottengono risultati anche in presenza di dati
complicati e imprecisi.
Possibili limiti
• Sono “scatole nere”, i problemi vengono
risolti, non capiti
• È necessario disporre di un ampio insieme
di esempi per addestrarle
Domande?
Scarica