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