Soft Computing

Transcript

Soft Computing
Università degli Studi di Bari
Centro Interuniversitario Servizi Ingegneria
Biomedica
“Giovanni Alfonso Borelli”
Soft Computing:
teoria tecniche e applicazioni
Livio Quagliarella
Nicola Sasanelli
1
Intelligenza Artificiale
È una disciplina che si occupa della
1. Comprensione e
2. Riproduzione del pensiero intelligente.
Esistono due diversi approcci:
• IA forte
• IA debole
Intelligenza Artificiale
• Approccio della psicologia cognitiva (IA forte):
– task: comprensione e simulazione dell’intelligenza umana
– metodo: costruzione di modelli computazionali plausibili della
mente umana e dei suoi processi
– criterio di successo: risolvere i problemi con gli stessi processi
usati dall’uomo
• Approccio ingegneristico (IA debole):
– task: costruzione di entità dotate di intelligenza razionalizzata o
razionalità
– metodo: continuazione della tradizione logicistica di Aristotele,
codifica del pensiero razionale
– criterio di successo: più pratico ed utilitaristico; l’importante è
risolvere i problemi che richiedono intelligenza
2
Cos’è l’Intelligenza
“Qualità mentale che consiste nella abilità di
apprendere dall’esperienza, di adattarsi a nuove
situazioni, comprendere e gestire concetti astratti,
e utilizzare conoscenza per agire sul proprio
ambiente”
[Enciclopedia Britannica]
Cos’è l'Intelligenza Artificiale
• È lo studio di come rendere i calcolatori capaci di
pensare nel vero senso letterale del termine
(Haugeland, 1985).
Cioè realizzare sistemi che pensano come gli uomini.
• È lo studio di come far fare ai calcolatori cose che,
ora come ora, gli uomini fanno meglio (Rich and
Knigth, 1991).
Cioè realizzare sistemi che agiscono come gli uomini.
3
Cos’è l'Intelligenza Artificiale
• È lo studio delle facoltà mentali attraverso l'uso di
modelli computazionali (Charniak and McDermott,
1985).
Cioè realizzare sistemi che pensano razionalmente.
• È lo studio di come spiegare ed emulare il
comportamento intelligente attraverso processi
computazionali (Schalkoff, 1990).
Cioè realizzare sistemi che agiscono razionalmente.
I problemi
dell’Intelligenza Artificiale
• Attività formali:
– giochi
– dimostrazioni automatiche di teoremi, geometria, logica
• Attività quotidiane:
– percezione visiva, percezione audio
– linguaggio naturale (comprensione, generazione, traduzione)
– ragionamento di senso comune
• Attività specializzate:
– sistemi esperti (analisi scientifica, diagnosi medica, analisi
finanziaria, progetto in ingegneria)
4
Le basi
dell'Intelligenza Artificiale
• L'Intelligenza Artificiale è una campo di ricerca
giovane (1943 o 1956)
• l'Intelligenza Artificiale si basa sulle idee e risultati
ottenuti in altri campi:
– Filosofia
– Matematica
– Ingegneria dei calcolatori
– Psicologia
– Linguistica
Basi Filosofiche (428 BC - )
• Platone nel 428 BC: descrive un dialogo in cui
Socrate cerca un algoritmo per distinguere la pietà
dalla non-pietà;
• Aristotele cerca di formulare le leggi che governano
la parte razionale della mente.
5
Basi Matematiche (1800 - )
George Boole (1815-1864) introduce un linguaggio formale
per fare dell'inferenza logica (AND, OR, NOT)
Inferire Î trarre un conclusione da affermazioni e fatti
Basi Psicologiche (1879 - )
Herman von Helmholz (1821-1894) e Wilhelm Wundt (18321920) applicano il metodo scientifico allo studio della
visione umana
6
Basi dell'Ingegneria dei Calcolatori
(1940 - )
• Nel 1940 in Inghilterra venne costruito dal gruppo di Alan
Turing il primo computer moderno, Heath Robinson
• Nel 1941 in Germania venne costruito da Konraad Zuse il
primo computer programmabile, Z-3
• Tra il 1940 e il 1942 negli Stati Uniti venne realizzato il
primo calcolatore elettronico, ABC
• Nel 1945 viene realizzato per Z-3, il primo linguaggio di
programmazione ad alto livello
Storia
dell'Intelligenza Artificiale
• Warren McCulloch e Walter Pitts nel 1943 propongono un
modello di neurone artificiale
• Nel 1956 durante il workshop di Dartmounth John
McCarthy coniò per questi tipi di ricerca il nome di
Intelligenza Artificiale
• Allen Newell and Herbert Simon nel 1956 realizzano un
programma di ragionamento, Logic Theorist
• Allen Newell and Herbert Simon nel 1956 realizzano un
programma per la risoluzione di problemi, General
Problem Solver
7
Sistemi Intelligenti
• Quando è che una macchina si può dire intelligente?
• Turing Test (un uomo/macchina A, una donna B, e una terza
persona C ??)
– elaborazione del linguaggio naturale
– rappresentazione della conoscenza
– ragionamento automatico
– apprendimento
•
Total Turing Test
–
–
visione
robotica
Sistemi Intelligenti
• Si riuscirà mai a passare il test di Turing?
Forse no, ma possiamo accontentarci di qualcosa in
meno della completa imitazione di una persona
• Utilizzo dell' IA in settori più specifici e limitati
• In questi casi i sistemi possono arrivare a comportarsi
meglio della maggioranza delle persone (scacchi)
8
Sistemi Intelligenti
• Se lo scopo è quello di simulare il comportamento
umano, la misura del successo è data dal grado di
somiglianza delle prestazioni del sistema con il
comportamento umano
• Importante: non si cerca il miglior comportamento
possibile, ma si vuole che il sistema possa sbagliare,
come l'uomo
• Quindi la domanda se una macchina abbia
intelligenza o possa pensare è troppo confusa per
poter dare una risposta precisa
Campi di Applicazione
•
•
•
•
•
•
•
•
Percezione
Linguaggio Naturale
Giochi
Matematica
Ingegneria
Robotica
Diagnosi Medica
Analisi Finanziaria
9
Tecniche di
Intelligenza Artificiale
• I problemi di IA coprono uno spettro larghissimo
e sembra che possano avere poco in comune,
eccetto la caratteristica di essere difficili
• L'obiettivo è cercare delle tecniche che possano
essere sufficientemente generali
• Uno dei primi risultati certi della ricerca è che:
l'intelligenza richiede conoscenza
Tecniche di
Intelligenza Artificiale
• Le tecniche di IA manipolano conoscenza
• La conoscenza ha alcune caratteristiche poco desiderabili:
– è voluminosa
– è difficile da caratterizzare con precisione
– è in continuo cambiamento
• Le tecniche di IA sono metodi che sfruttano la conoscenza
rappresentata in modo che:
–
–
–
–
dia conto delle generalizzazioni ('conoscenza' vs 'dati')
possa essere compresa/definita da coloro che devono fornirla
possa essere facilmente modificabile
possa essere utilizzata in molte situazioni anche se non è del tutto
completa e precisa
10
Scopi dell’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
Perché il Soft Computing
LA POTENZA DEL CALCOLO ELETTRONICO…
• calcoli numerici complessi (anni per un uomo) in frazioni di
secondo
• memorizzazione grandi quantità di dati
… E I SUOI LIMITI
•
•
•
•
•
•
riconoscimento di persone, oggetti, suoni (anche in presenza
di rumore)
riconoscimento del parlato e comprensione del linguaggio
naturale
apprendimento, classificazione, generalizzazione
visione e controllo del movimento
adattamento a nuove situazioni
soluzione di problemi complessi in modo esaustivo
(ottimizzazione combinatoria)
11
Perché il Soft Computing
• Perché il cervello risulta superiore al computer
per certe categorie di problemi?
• I meccanismi operanti nel cervello possono
essere imitati per produrre macchine più
efficienti ?
Perché il Soft Computing
La differenza non sta nelle componenti:
Cellule nervose:
tempo risposta ordine msec
Circuiti logici elettronici:
tempo risposta ordine nsec
ma nella "architettura"
12
Perché il Soft Computing
IL CERVELLO COME CALCOLATORE
•
•
•
•
•
L'elaborazione è frutto di un processo parallelo
La potenza di calcolo deriva dalla cooperazione di
molti processori semplici e fortemente interconnessi
Le connessioni si modificano con l'apprendimento
L'informazione non é localizzata, ma distribuita
globalmente nella rete di processori
L'intelligenza deriva dalla interazione tra i neuroni,
non é prerogativa di un singolo neurone
Ha una notevole tolleranza ai guasti Î plasticità
Logica classica
Logica a due valori
Strumento per modellare la realtà ed effettuare
ragionamenti logici corretti
Tre principi:
• Identità: ogni cosa è uguale a sé stessa (A è A)
• Non contraddizione: non si possono affermare e
negare nello stesso tempo dello stesso oggetto due
predicati contraddittori (A = B e A = not B)
• Terzo escluso: non esiste un terzo termine tra A e
not A
13
Soft Computing
Filosofia di base
(Dartmouth Summer Research Project on Artificial Intelligence, 1955):
la macchina (il computer) può agire con una logica simile a
quella umana:
• può apprendere,
• può cogliere aspetti “qualitativi”,
• può tener conto della casualità (si può fare in modo che
un algoritmo si comporti in modo non deterministico? )
Soft Computing
Risulta dall’integrazione di
tecniche complementari:
•Reti neurali
•Sistemi Fuzzy
•Algoritmi genetici e stocastici
Nasce nel 1970, ideato da Lofti Zadeh
(un ingegnere iraniano alla Berkeley University)
14
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 è 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
15
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
16
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
Reti neurali
Idea
di
partenza:
copiare
il
funzionamento del cervello umano.
Caratteristiche:
• organizzato come una rete di neuroni,
collegati da sinapsi (input) e assoni
(output).
• l’informazione viaggia in modo
parallelo
• la ridondanza è utile per conferire
robustezza al sistema.
17
Il Neurone Naturale
La cellula nervosa o neurone fu chiamata cosi'
dall'anatomista spagnolo Santiago Ramon y Cayal,
(vissuto verso la fine del secolo scorso) il quale
mostro' che tutte le parti del sistema nervoso
animale sono formate di unita' fondamentali tutte
simili tra di loro, pur potendo essere differenti in
dimensioni e forma.
È stato provato che essi rappresentano le unita'
fondamentali del sistema nervoso. Essi generano e
trasmettono impulsi elettrici tra di loro, mediante i
quali interagiscono
Il Neurone Naturale
18
Il Neurone Naturale
Tipicamente un neurone è costituito di
3 parti principali: il soma (corpo
cellulare), l'assone (linea di uscita del
neurone unica ma che si dirama in
migliaia di rami) e il dendrite (linea di
entrata del neurone che riceve segnali
in ingresso da altri assoni tramite
sinapsi. Il corpo cellulare fa una
"somma pesata" (integrazione) dei
segnali in ingresso.
Se il risultato eccede un certo valore di soglia allora il neurone si attiva ed è
prodotto un "potenziale di azione" che è mandato all'assone. Se il risultato non
eccede il valore di soglia, il neurone rimane in uno stato di riposo. Una rete
neurale artificiale riceve segnali esterni su uno strato di nodi (unità di
elaborazione) d'ingresso, ciascuno dei quali è collegato con numerosi nodi
interni, organizzati in più livelli. Ogni nodo elabora i segnali ricevuti e
trasmette il risultato a nodi successivi
Il Neurone Naturale
Le linee di ingresso, corrispondenti ognuna ad un dendrite,
terminano su di un modulo somma Σ corrispondente al soma del
neurone. In questo modulo i segnali vengono sommati (stimolatori)
o sottratti (inibitori) per dare un segnale che perverra' al modulo A.
Il modulo A e' un elemento decisionale che trasmette sulla sua
linea di uscita (assone) un segnale con certe caratteristiche e che
uscira' solo se l'uscita di Σ e' maggiore di un certo valore
corrispondente alla soglia del neurone stesso.
19
Il neurone artificiale (1)
I neuroni ricevono in ingresso degli stimoli e li elaborano.
L'elaborazione può essere anche molto sofisticata ma in un
caso semplice si può pensare che i singoli ingressi vengano
moltiplicati per un opportuno valore detto peso, il risultato
delle moltiplicazioni viene sommato e se la somma supera
una certa soglia il neurone attiva la sua uscita.
Il peso indica l'efficacia sinaptica della linea di ingresso e serve a
quantificarne l'importanza, un ingresso molto importante avrà un peso
elevato, mentre un ingresso poco utile all'elaborazione avrà un peso
inferiore.
Si può pensare che se due neuroni comunicano fra loro
utilizzando maggiormente alcune connessioni allora tali
connessioni avranno un peso maggiore.
Il neurone artificiale (2)
Sinapsi 1
Neurone
Artificiale j
Sinapsi 2
….
input
Assone
(output)
Sinapsi N
L’informazione portata da ogni sinapsi (si) viene “pesata” con
un coefficiente wij (i – sinapsi; j – neurone)
20
Il neurone artificiale (3)
x1
x2
w1j
Σi w
w2j
….
ij * xi
wNj
xN
Neurone
Artificiale j
zi
Valore di
attivazione
yj
gj(.)
Valore
di output
Valore
di soglia
bj
La funzione di attivazione gj(.) può essere un gradino, una
funzione lineare, una tangente iperbolica, ecc.
Generalmente produce un valore tra –1 e 1
Il neurone artificiale (4)
1
0.5
1.5
2
Σi w
ij * xi
….
1
3
zi
Valore di
Neurone Attivazione:
6.5
Artificiale j
yj
gj(.)
Valore
di soglia
bj = 1
Valore
di output:
P = 5.5
21
Il neurone artificiale (5)
Alcune funzioni di attivazione:
Gradino
Lineare
Sigmoide
Tangente iperbolica
Il neurone artificiale (6)
L'ampia varietà di modelli non può prescindere dal
costituente di base, il neurone artificiale proposto da
W.S. McCulloch e W. Pitts in un famoso lavoro del
1943, il quale schematizza un combinatore lineare a
soglia, con dati binari multipli in entrata e un singolo
dato binario in uscita: un numero opportuno di tali
elementi, connessi in modo da formare una rete, è in
grado di calcolare semplici funzioni booleane.
22
Percettrone (1)
Nel 1958, F. Rosenblatt introduce il primo schema di rete
neurale, detto perceptron (percettrone), antesignano delle
attuali reti neurali, per il riconoscimento e la classificazione di
forme,
allo
scopo
di
fornire
un'interpretazione
dell'organizzazione generale dei sistemi biologici.
Esso costituisce un progresso decisivo rispetto al modello
binario di McCulloch e Pitts, perché i suoi pesi sinaptici
sono variabili e quindi il percettrone è in grado di
apprendere.
Percettrone (2)
Un’applicazione del percettrone:
realizzare le funzioni logiche
AND e OR.
Modalità d’uso:
La funzione svolta dallo stesso
percettrone varia a seconda del
valore dei pesi wij delle sinapsi.
Il valore dei pesi si determina
attraverso un processo di
apprendimento.
x
y
x.AND.y
0
0
0
0
1
0
1
0
0
1
1
1
x
y
x.OR.y
0
0
0
0
1
1
1
0
1
1
1
1
23
Percettrone (3)
Neurone artificiale in cui la funzione di attivazione gj(.) è un
gradino.
x1
x2
yj = 1 se
Σi
(wij * xi) > bj
yj = -1 se
Σi
(wij * xi) < bj
w1j
Σi w
w2j
….
ij *xi
wNj
xN
zi
gi(.)
yj
Valore
Valore di
di
output
Neurone attivazione
Valore
Artificiale j
di soglia bj
Percettrone (4): Processo di
apprendimento
L’apprendimento è un processo iterativo.
Può essere realizzato mediante la Regola di apprendimento
di Hebb:
Il peso di una sinapsi deve aumentare quando:
• la sinapsi è attivata (input a livello alto) e
• il neurone è attivato (output a livello alto)
24
Percettrone (5): Regola di Hebb
Matematicamente:
Significato reale
win
Δwi
η
t
xi
win +1 = win + Δwi
Δwi = η ⋅ t ⋅ xi
peso della sinapsi i-esima alla n-esima iterazione
variazione del peso della sinapsi i-esima
tasso di apprendimento
output del neurone
valore della sinapsi i-esima
Percettrone (6)
L'opera di Rosenblatt stimola una quantità di studi e
ricerche, destinati ad essere notevolmente
ridimensionate allorché nel 1969 Marvin Minsky e
Seymour A. Papert mostrano i limiti operativi delle
semplici reti a due strati basate sui percettroni, e
dimostrano l'impossibilità di risolvere per questa via
molte classi di problemi, ossia tutti quelli non
caratterizzati da separabilità lineare delle soluzioni:
questo tipo di rete neurale non è abbastanza potente,
infatti non è in grado di calcolare neanche la
funzione or esclusivo (XOR).
25
La crisi del percettrone
Un solo percettrone può risolvere problemi “linearmente
separabili”, come la funzioni AND e OR.
Non funziona in casi “non linearmente separabili” , come la
funzione XOR (Or esclusivo Î andrò al mare o in montagna)
x
y
x.XOR.y
F
F
F
F
V
V
V
F
V
V
V
F
Oltre il percettrone
Per poter risolvere problemi più complessi occorre
connettere più neuroni, secondo una determinata
topologia, realizzando una rete neurale artificiale
(artificial neural net - ANN).
26
La rete neurale artificiale
Una ANN è un modello non-lineare caratterizzato
da:
• numero di neuroni
• topologia di connessione
• funzioni di attivazione
• valori dei pesi sinaptici e dei valori di soglia
s1
s2
w1j
w2j
….
sN
Σi w
ij * si
wNj
zi
gj(.)
sj
Valore di
Neurone attivazione
Artificiale j
Valore
Valore
di output
di soglia bj
Struttura generica di una ANN - MLP
(Multi-Layers Perceptron)
Output
Livello di
Output
Livello nascosto
Livello di Input
27
Comportamento di una rete neurale
artificiale (ANN)
È una “scatola nera”: riceve valori in ingresso e produce
valori in uscita.
A differenza del modello matematico di un sistema, i valori
dei parametri interni (i pesi ed il valore di soglia) non
hanno nessun significato fisico.
Necessita di un apprendimento (processo iterativo con cui si
determinano i valori dei pesi ed i valori di soglia).
Altre tipologie di Reti
• Reti di Hopfield
• Reti di Elman
• Radial Basis Function
• Self Organizing Feature Maps (SOM)
28
Reti neurali e apprendimento
Apprendimento:
capacità della rete ad autoorganizzarsi in una topologia che
esibisce le caratteristiche desiderate
(cambiamento nel comportamento che deriva dall'attività,
dall'addestramento o dall'osservazione)
Principali metodi di apprendimento:
1. Apprendimento con supervisione
noti ingresso e uscita corrispondente
i pesi sono modificati per produrre l'uscita migliore
2. Apprendimento rinforzato
non è data l'uscita corretta
viene detto se l'uscita prodotta é buona o cattiva
3. Apprendimento senza supervisione
La rete sviluppa le proprie regole di classificazione
mediante l'estrazione di informazioni dagli esempi
ricevuti
Quando finisce l’apprendimento
Quando l’errore tra l’output della ANN e quello
atteso è inferiore ad un limite prefissato,
l’apprendimento è terminato.
Segue la fase di validazione della rete, che consiste
nel fornire in input una serie di dati (Validation Set,
diversa da quella utilizzata per l’apprendimento) ed
osservare se la rete ha “imparato”, valutando l’errore
tra il suo output e quello atteso.
29
Altri problemi di apprendimento
Anche la topologia di una rete influisce sulla sua capacità di
imparare dai dati.
Generalmente:
• si fissa una topologia di partenza con un numero ridotto di
neuroni nel livello nascosto (hidden layer), che si sottopone
ad apprendimento e a validazione;
• si incrementa il livello di complessità;
• si valuta l’eventuale riduzione dell’errore in fase di
validazione;
• si sceglie la topologia che produce il più basso errore di
validazione (con preferenza per le topologie più semplici).
ANN in sintesi
Pregi
Le reti neurali lavorano in parallelo e sono quindi in grado di trattare
molti dati. Si tratta in sostanza di un sofisticato sistema di tipo
statistico dotato di una buona immunità al rumore; se alcune unità
del sistema dovessero malfunzionare la rete nel suo complesso
avrebbe delle riduzioni delle prestazioni ma difficilmente andrebbe
incontro ad un blocco del sistema.
Difetti
I modelli prodotti dalle reti neurali, non sono spiegabili in linguaggio
simbolico umano: i risultati vanno accettati "così come sono", da cui
anche la definizione inglese delle reti neurali come "black box".
• Le reti neurali sono efficienti solo se le variabili predittive sono
scelte con cura.
• La fase di addestramento del sistema può richiedere molto tempo.
• Non esistono teoremi o modelli che permettano di definire la rete
ottima quindi la riuscita di una rete dipende molto dalla esperienza
del creatore.
30
Alcune applicazioni delle ANN:
• Controlli automatici (pendolo inverso, lavatrici,
telecamere)
• Riconoscimento di immagini
• Riconoscimento vocale
• Robotica
• Previsioni del tempo
• Ergonomia (ottimizzazione della forma sul
soggetto)
• Riconoscimento di segnali funzionali
• Classificazione di soggetti
Programma del corso
•
•
•
•
Reti neurali;
Logica fuzzy;
Algoritmi genetici;
Sistemi ibridi.
31
1930 Edwin Garrigues Boring
psicologo
Tutto ciò che è Fuzzy
• Insiemi
• Logica
• Modelli
32
Il concetto di insieme "fuzzy"
Insiemi Fuzzy (Fuzzy set): insiemi la cui funzione
di appartenenza non è booleana
Insiemi tradizionali
Insiemi fuzzy
(fuzzy sets)
Metodi: logica fuzzy
• Insiemi Fuzzy: insiemi con contorni sfumati
• Ad esempio …
Valori Fuzzy
Funzione di
appartenenza
1
Giovane
Mezza età
Anziano
0.5
0
25
40
55
Età
• Logica Fuzzy: estensione della logica binaria ad insiemi fuzzy
33
Metodi: insiemi tradizionali e fuzzy
Insieme tradizionale
A
NON - A
Insieme Fuzzy
A
NON - A
METODI: SISTEMA ESPERTO FUZZY
• Esempio: autofocus macchina fotografica
• Un sistema esperto fuzzy è un insieme di funzioni di
appartenenza e di regole utilizzate per ragionare sui dati.
• Le regole hanno la seguente forma:
“se x è basso e y è alto allora z è medio”
34
METODI: SISTEMI FUZZY
Vantaggi
• Per interfacciamento con operatore in linguaggio
naturale
• Non necessitano di un modello matematico
• Per rappresentare efficientemente la conoscenza di un
esperto attraverso sistemi esperti fuzzy
• Robusti nei confronti del rumore e della variazioni di
parametri
Funzioni di appartenenza
Le funzioni di appartenenza (membership function)
determinano il grado di appartenenza (Grade of
Membership) di un elemento ad un insieme
35
Alcune funzioni di appartenenza
1
Il valore 1 indica il massimo grado di appartenenza
Fuzzy sets e intervalli
Molto basso Basso
Medio
Alto
MoltoAlto
Approccio classico
Molto basso Basso
Medio
Alto
MoltoAlto
Approccio fuzzy
36
Logica classica
Logica a due valori
Strumento per modellare la realtà ed effettuare
ragionamenti logici corretti
Tre principi:
• Identità: ogni cosa è uguale a sé stessa (A è A)
• Non contraddizione: non si possono affermare e
negare nello stesso tempo dello stesso oggetto due
predicati contraddittori (A = B e A = not B)
• Terzo escluso: non esiste un terzo termine tra A e not
A
Logica a due valori: dubbi antichi...
• Già Aristotele aveva dubbi sulla validità generale della
logica a due valori.
Ad esempio, che valore di verità si può associare alle
proposizioni formulate al futuro?
P= "Domani pioverà“
• Eraclito (e Lao-Tsu): tutto scorre
Non possiamo bagnarci due volte nelle acque dello stesso
fiume
• Euclide: il paradosso
Mentitore cretese: un abitante di Creta afferma che tutti i
cretesi mentono…
37
Logica fuzzy
La fuzzy logic o logica sfumata o logica sfocata è una logica polivalente e pertanto
un'estensione della logica booleana in cui si può attribuire a ciascuna proposizione un
grado di verità compreso tra 0 e 1.
Quando parliamo di grado di verità o valore di appartenenza, per dirla con
un'esemplificazione, intendiamo che una proprietà può essere oltre che vera (= a valore
1) o falsa (= a valore 0) come nella logica classica, anche di valori intermedi.
In logica fuzzy si può ad esempio dire che un bambino appena nato è giovane di valore 1,
un diciottenne è giovane 0,8, ed un sessantacinquenne è giovane di valore 0,15.
Solitamente il valore di appartenza si indica con μ; per il valore di appartenenza ad un
insieme fuzzy F di un predicato p, si indicherà con μF(p)
La funzione di appartenenza non ha nulla a che vedere con la teoria della probabilità,
Logiche a più valori
Logiche a 3 valori: viene introdotto un simbolo per
l'indeterminatezza (1/2)
Dalle logiche a 3 valori a quelle a infiniti valori il passo
è breve.
38
Logica fuzzy
Utilizzando come supporto gli insiemi fuzzy e le
funzioni di appartenenza, si possono manipolare i
predicati (ad es. la temperatura è alta), utilizzando
operatori logici e modificatori particolari (molto,
poco, almeno, molto più)
poco
molto
Modelli fuzzy: perché?
• Classificazione dei valori
• Descrizione ad alto livello di astrazione => modello compatto
• Modello euristico (intuito e circostanze)
• Modello non lineare
• Nessuna forma matematica predefinita
• Supporti alla sintesi del modello
• Acquisizione della conoscenza
• Sistemi di apprendimento automatico (NN, GA, ...)
39
Applicazioni di modelli fuzzy
• Simulazione
• sistemi non ancora esistenti
• sistemi conoscibili solo approssimativamente
• sistemi difficilmente modellizzabili
• Applicazioni
• supporto alle decisioni
• diagnosi industriale
• controllo di qualita'
• supporto alla progettazione
• controllo
Superfici (linee) di
demarcazione di immagini rx
FLC: i vantaggi
• robustezza
• ampio campo di applicazione
• facilita' di definizione euristica
• smoothness
• non linearità
40
FLC: un esempio
1985: metropolitana di una città giapponese
Controllo della frenata del treno.
Perché fuzzy? Diverse condizioni di carico
Risultati:
• risparmio energetico
• maggior comfort per i passeggeri
FLC: altre applicazioni
• Forno per l’invecchiamento di trafilati metallici
– Condizioni di carico diverse, bassa qualità del segnale dei sensori
• Mini-elicottero in presenza di raffiche di vento
– Situazioni difficilmente prevedibili
• Aspirapolveri, lavatrici, telecamere
– Semplificazione interazione con utente, basso costo
• Reattori chimici
– Modello matematico troppo complesso, disponibilità di personale
esperto
• Braccio robot su carrozzina per disabili
– Possibilità di adattamento a situazioni diverse, integrando i sistemi
di controllo tradizionali
41
Computer and Robot
IEEE Robotics & Automation Society
Agricultural Robotics Technical Committee
Australia and the
National Centre for Engineering in Agriculture
develop Vision/GPS/Inertial guidance systems
for farm machinery
University of Southern Queensland researchers and
the National Centre for Engineering in Agriculture
develop image processing systems for livestock
recognition
University of Georgia researchers develop networked
autonomous GPS guided farm vehicles
42
Computer and Robot Vision
.
Camera Networks
Computer Vision in
Industry
.
Human
Activity
Monitoring`
.
.
Cognex Inc.
SIFT features by D. Lowe
Vision for Localization
Computer and Robot
DB learning by
demonstration to
play air-hockey at
ATR
Leonardo sharing attention during
collaborative tasks at MIT Media
Lab
Robonaut (teleop)astronaut teams at NASA
JSC
43
Rehabilitation Robotics
ROBOT-THERAPIST CO-OPERATION
FOR LOWER LIMB MOTOR THERAPY
A NEW SIMPLE SYSTEM FOR ROBOTMEDIATED UPPER LIMB MOTOR THERAPY
• The KineAssist is a robotic device for
gait and balance motor training
• It results from a partnership of the
Rehab Institute of Chicago with the
IDEO company
• Key novel feature is therapist-robot
physical interaction and co-operation
for assisting the patient exercise
THE WL-16 LEGGED CHAIR FOR MOBILITY
OF THE ELDERLY AND THE DISABLED
• MEMOS is a novel low-cost, 2 d.o.f. • This robot consists of two Stewart
Platform type legs and waist with a
mechatronic system for elbow-shoulder
passenger seat
rehabilitation
• Developed by the ARTS Lab of the Scuola • Developed by Waseda University (Tokyo)
in co-operation with the
TMSUK
Superiore Sant’Anna (Pisa) and experimented
company
at Fondazione S. Maugeri (Veruno), Italy
•
Preliminary
tests
confirmed
the
stability
• Preliminary clinical trials on post-stroke
and effectiveness of the system carrying
patients show very encouraging results
one 60 Kg passenger
RECENT ACHIEVEMENTS
Surgical Robotics
Some examples of recent applications…
MRI-Compatible Robotics
Locomoting Devices
Automatic Detection
of Instruments in
Laparoscopic Images
44
Oltre il controllo
Gli strumenti fuzzy sono utilizzati anche per:
• Supporto decisionale (sistemi esperti);
• Controllo di qualità
• Diagnostica di impianti
• Ricerca di informazioni all’interno di database
complessi (motori di ricerca)
Algoritmi genetici: la biologia
L’evoluzione è un processo lento che cambia
una popolazione di organismi attraverso la
riproduzione dei migliori esemplari
45
Algoritmi genetici: dalla biologia
Considerano una popolazione di cromosomi
(individui) che rappresentano
soluzioni possibili per un certo problema.
La qualità di un individuo (cioè quanto è buona la
soluzione per il problema) è misurata mediante
una funzione di fitness.
Dalla biologia agli algoritmi genetici
Cromosoma: la codifica della possibile soluzione ad un
problema, rappresentata di solito da una sequenza di bit o
di caratteri
Gene: un singolo bit or un set di bit che codificano parte di
una soluzione
Allele: uno degli elementi (valori) usati per la codifica dei
geni
Fitness: valutazione della soluzione effettiva
Crossover: generazione di una nuova soluzione mediante il
“mixing” di due soluzioni esistenti
Mutation: cambiamento casuale di una soluzione
46
Algoritmi genetici
Un GA è una procedura di ricerca iterativa il cui scopo è
l’ottimizzazione della funzione di fitness.
Partendo da una popolazione iniziale, un GA produce
nuove generazioni che contengono (di solito) individui
migliori delle precedenti: l’algoritmo evolve verso l’ottimo
globale della funzione di fitness.
In realtà, non è garantito che un GA trovi una soluzione
ottima globale; un GA è in grado di trovare soluzioni
buone in tempi ragionevoli.
Algoritmi genetici
Nel modello tradizionale, i cromosomi sono stringhe di bit di
lunghezza fissa e tutte le generazioni hanno la stessa dimensione
(numero di individui).
Ogni cromosoma rappresenta un punto nello spazio di ricerca.
I più importanti operatori di ricerca sono la ricombinazione (o
crossover) e la mutazione.
Il crossover combina i geni tipicamente di due individui per
produrre individui figli che ereditano caratteristiche da entrambi i
genitori.
La mutazione reintroduce nella popolazione materiale genetico
perduto.
47
Applicazioni degli Algoritmi Genetici
•
Ottimizzazione (ad es. layout di circuiti)
•
Predizione (previsioni)
•
Classificazione (valutazione di qualità)
•
Economia (valutazione dei mercati)
•
Ecologia (evoluzione di colonie di parassiti)
•
Programmazione Automatica
Algoritmi genetici
Popolazione iniziale
N individui.
48
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
Tramite una funzione di
fitness, dalla scelta della
quale dipende buona parte
dell’efficacia dell’algoritmo
genetico.
49
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
Scelta di coppie di genitori
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
Scelta di coppie di genitori
Formando le coppie
casualmente, ma
prediligendo la formazione
di coppie fra individui con
alto valore di fitness.
Accoppiando il miglior individuo
con il secondo,
il terzo con il quarto…
50
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
Scelta di coppie di genitori
Creazione della nuova generazione
Algoritmi genetici
Popolazione iniziale
N individui.
Valutazione dell’efficacia
di ciacuno degli individui
nel risolvere il problema.
N cicli
Scelta di coppie di genitori
Creazione della nuova generazione
51
Evoluzione
• In ogni popolazione si verificano delle mutazioni.
• In un ambiente che varia, le mutazioni possono generare
individui che meglio si adattano alle nuove condizioni.
• Questi individui tenderanno a sopravvivere più a lungo
(selezione naturale) e quindi a generare un numero più
elevato di figli (riproduzione).
Evoluzione
• I figli preservano in parte i caratteri genetici dei
genitori (cromosomi, composti da geni) e, in parte,
mescolandoli (crossover), creano nuovi tipi.
• In questo modo, si ha una maggiore probabilità che
nelle generazioni successive siano presenti i
caratteri degli individui più “adatti” (con fitness più
elevata) all’ambiente in cui vivono (evoluzione).
52
Evoluzione: nomenclatura
• genotipo = insieme dei geni contenuti in un genoma (cioè,
il programma genetico di un individuo ereditato dai
genitori e codificato nel DNA di quell’organismo)
• fenotipo = realizzazione di un genotipo in un individuo
concreto, cioè l’insieme di tutte le caratteristiche
osservabili di un organismo.
Calcolo evoluzionistico
Ispirandosi alla evoluzione naturale ed ai meccanismi
esaminati, utilizzando le corrispondenze natura-calcolo
descritte, si sviluppano metodi di ottimizzazione (ricerca
della migliore soluzione possibile).
• Le prime idee risalgono agli anni ‘60, ma hanno trovato
applicazione solo negli anni ‘80
53
Generico algoritmo evoluzionistico
1. Inizializza una popolazione
2. Ripeti:
• Seleziona un sottoinsieme della popolazione (selezione)
• Ricombina i geni degli individui selezionati (Ricombinazione
crossover)
• Modifica in modo casuale la popolazione ottenuta
(Mutazione)
• Valuta la fitness della nuova popolazione
Fitness
Per un problema di ottimizzazione la funzione di fitness può
coincidere con la funzione obiettivo (o una sua
trasformazione).
I GA sono procedure di massimizzazione, quindi valori di
fitness piú alti sono associati ad individui migliori (problemi
di minimizzazione vengono di solito riformulati).
A volte la fitness di un cromosoma è misurata in maniera
implicita, valutando la qualitá della corrispondente soluzione
rispetto al problema.
Ad esempio, se abbiamo a disposizione un insieme di esempi, la
fitness puó essere calcolata in funzione dell’errore della
soluzione (differenza tra la soluzione attuale e l’uscita
desiderata
54
Algoritmi genetici
• I cromosomi sono stringhe di simboli (es. 0 o 1).
• Gli individui possono essere qualunque cosa che
possa essere codificata con una stringa di simboli.
• I fenotipi possono essere, ad esempio, vettori di
parametri, liste di possibili scelte, connessioni fra
neuroni in una rete neurale, ecc.
Selezione
• E’ l’operazione mediante la quale gli individui
(in realtà il loro genotipo, rappresentato dai cromosomi)
sono selezionati per la riproduzione.
• Per simulare la selezione naturale gli individui con fitness
più elevata hanno maggiore probabilità di essere
selezionati.
55
Selezione
• Vi sono diverse strategie per la selezione (tra cui alcune
non plausibili biologicamente).
• Di solito in un algoritmo genetico:
a. Un gruppo di soluzioni è selezionato per
l’accoppiamento (mating pool)
b. Coppie di individui sono estratti a caso dal
mating pool e vengono accoppiati
Condizione di stop
• Il processo viene arrestato:
– quando si raggiungono soluzioni con fitness
sufficientemente elevata
– quando la fitness media cresce al di sotto di una soglia
(quando, cioè, tutti gli individui sono simili tra loro)
– dopo un numero definito di iterazioni
• Il risultato può essere:
– il migliore dell’ultima generazione
– il migliore tra tutti gli individui generati dall’inizio del
processo (situazione non plausibile geneticamente)
56
Come lavora un Algoritmo Genetico (1)
1. [Start] Generazione casuale di una popolazione di n cromosomi
(probabili soluzioni)
2. [Fitness] Valutazione della fitness f(x) di ogni cromosoma x della
popolazione
3. [Nuova popolazione] Creazione di una nuova popolazione ripetendo i
seguenti passi fino al completamento della popolazione
(a) [Selezione] Selezione dei due cromosomi genitori da una
popolazione in base alla loro fitness (maggiore fitness, maggiore
possibilità di essere genitore)
(b) [Incrocio] Con una definita probabilità, si incrociano i genitori pe
formare un nuovo esemplare. Se non si verifica un incrocio, il
nuovo esemplare è una copia esatta dei genitori.
(c) [Mutazione] Con una probabilità di mutazione, si muta il nuovo
esemplare
(d) [Accettazione] Si posiziona il nuovo esemplare nella nuova
popolazione
(continua)
Come lavora un Algoritmo Genetico (2)
4. [Rimpiazzo] Si usa la popolazione per un ulteriore ciclo dell’algoritmo
5. [Verifica] Se è soddisfatta la condizione di arresto, si restituisce la
migliore soluzione data dalla popolazione corrente.
6. [Ciclo] Si ritorna al passo 2
57
Applicazione al modello SCIDDICA
• SCIDDICA (Simulation through Computational Innovative methods
for the Detection of Debris flow path using Interactive Cellular
Automata) è un modello bi-dimensionali per la simulazione di colate di
detrito (frane), applicato con successo alle colate di detrito avvenute a
Sarno (Campania) nel 1998
Sistemi ibridi
Usare gli aspetti più interessanti delle tre categorie di
tecniche viste, complementandole:
• reti neuro-fuzzy,
• algoritmi genetici per ottimizzare la struttura della
rete neurale,
• funzioni di fitness fuzzy per algoritmi genetici,
• ...
58
Sistemi fuzzy e reti neurali: similitudini
• modelli non numerici: stimano una funzione
senza una descrizione numerica della
relazione ingresso/uscita
• lavorano bene in ambienti rumorosi, incerti,
imprecisi
• si prestano ad implementazioni efficienti
anche in HW
• sono entrambi approssimatori universali
Perchè integrare reti neurali e sistemi
fuzzy?
Reti neurali: apprendono un modello
Sistemi fuzzy: rappresentano una conoscenza strutturata in
modo esplicito:
Integrazione: possibilità di capire il modello appreso e di
integrarlo con la conoscenza proveniente da un esperto
• Sistemi neuro-fuzzy: usare NN come strumenti per FS
• Reti neurali fuzzy: fuzzificazione dei modelli neurali
59
Sistemi fuzzy e algoritmi genetici
Algoritmi genetici per sistemi fuzzy
Apprendimento/adattamento dei Modelli Fuzzy e delle regole.
Perchè?
Apprendimento on-line, rinforzo
Sistemi fuzzy per algoritmi genetici
Fitness function fuzzy, Controllo dell’apprendimento
Perchè?
Rappresentazione simbolica, controllo robusto
Reti neurali e algoritmi genetici
Entrambi sono sistemi in grado di apprendere un modello
• Gli algoritmi genetici non si fermano in minimi locali
• Le reti neurali possono apprendere da esempi
60
Reti neurali per algoritmi genetici?
In linea di principio potrebbe essere utile apprendere da
esempi i parametri degli algoritmi genetici (probabilità di
mutazione e incrocio, ...), ma di solito il processo è così
costoso che questo caso non è considerato.
Algoritmi genetici per reti neurali
• Apprendimento dei pesi della rete
• Apprendimento della struttura della rete
• Integrazione di più reti
Image Understanding (IU)
is the process to understand the content of images in order to
automate visual tasks by computers.
A visual task is some activity which relies on vision.
Usually the "input" to the activity is an image or a sequence of
images, and the "output" may be decisions, descriptions,
actions, or reports.
61
The image processing pipeline
Typical imaging applications
• Automatic measuring and
counting.
• Automtic sorting
•Automatic quality control
• Medical imaging
• Security and surveillance
• Automatic traffic control
• Environmental surveys
• Testing
62
Detection and measuring of fish
Segmentation of an aneurysm
63
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
64
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
65
Problema del riconoscimento di oggetti
Oggetto
Costruzione di una
descrizione
formale
Pattern
Classificatore
Classificazione
Posizione dei bordi della condotta
66
Confronto con metodi classici
trasformate di Hough
Rete neurale
Trasformata di Hough
Altre applicazioni di segmentazione
67
High resolution in situ HOLOgraphic recording and analysis
of MARine organisms and particles
• Il problema affrontato è la classificazione di
organismi diversi tramite reti neurali
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.
68
CAD – Computer Aided Diagnosis
in radiologia
Diagnosi effettuata da un radiologo, che fa uso dell’uscita di
algoritmo computazionale basato sull’analisi quantitativa di
immagini radiologiche.
I.
Il CAD svolge la funzione di un “secondo lettore”
nella rivelazione di lesioni (es. noduli polmonari)
II. Segmentazione di lesioni e calcolo del volume
III. Altre funzioni: classificazione di lesioni in
benigne/maligne, ...
Identificazione noduli in TC
Nei primi stadi il tumore polmonare si presenta in genere
sotto forma di noduli polmonari
Perché un sistema CAD?
Motivazioni
• Elevato numero di immagini TC per esame può richiedere un
maggior tempo ed un maggior affaticamento durante la fase di
interpretazione delle immagini
• Ridurre la variabilità inter-osservatore
• In particolare in programmi di screening con TC a bassa dose
• deve essere refertato un elevato numero di esami
(CAD per riduzione del carico di lavoro)
• esigenza di aumentare sensibilità di rivelazione a parità di
specificità per diagnosi precoce
69
Identificazione noduli in TC
Specifiche di progetto del sistema CAD:
Compromesso tra
– Elevata sensibilità
– Basso numero di false segnalazioni
Identificazione noduli in TC
Caratteristiche noduli polmonari in TC:
• Più luminosi rispetto al fondo anatomico, di
forma quasi-sferica
• Densità HU comprese tra -600 e 50 HU (effetti
di volume parziale)
• Dimensioni di interesse nell’intervallo 5-10 mm
• Possibile prossimità con altre strutture
anatomiche (parete pleurica o vasi sanguigni)
70
EFFETTO DEL VOLUME PARZIALE
Presenza di Volume Parziale
Assenza di Volume Parziale
ARCHITETTURA DEL SISTEMA
CAD
1. Segmentazione Campi Polmonari
2. Focalizzazione dell’attenzione
3. Stadio di Validazione VOIs
(Volume Of Interest)
71
ARCHITETTURA SISTEMA
Estrazione
Volumi di
Interesse (VOI)
STADIO
FOCALIZZAZIONE
ATTENZIONE
Elevata sensibilità
STADIO
VALIDAZIONE VOI
Riduzione false segnalazioni
UN ESEMPIO
Segnalazioni fornite dal sistema
quadrati
Annotazione del radiologo
cerchi
72
UN ESEMPIO
Domande?
73