Apprendimento Automatico Introduzione Stefano Cagnoni Organizzazione del corso

  • Slides: 13
Download presentation
Apprendimento Automatico Introduzione Stefano Cagnoni

Apprendimento Automatico Introduzione Stefano Cagnoni

Organizzazione del corso w Orario: Lunedì 16. 30 -18. 30 (A. 6/Lab Inf) Giovedì

Organizzazione del corso w Orario: Lunedì 16. 30 -18. 30 (A. 6/Lab Inf) Giovedì 14. 30 -16. 30 (A. B 5) w Sito web: http: //canone. ce. unipr. it/Appr. Aut (occorre registrarsi) w Suddivisione corso: 50% teoria 35% esercitazioni 15% seminari (dicembre) w Esame: 30% valutazione esercitazioni, 70% progetto finale w Esercitazioni: applicazione della teoria a casi reali (per lo più. . . ) utilizzando software di pubblico dominio + linguaggio C/C++. w Progetto: soluzione di un problema con tecniche di soft computing 2

Programma del corso w Apprendimento: concetti di base w Riepilogo delle tecniche di apprendimento

Programma del corso w Apprendimento: concetti di base w Riepilogo delle tecniche di apprendimento nell’Intelligenza Artificiale “classica” w Soft Computing (non solo apprendimento, ma, più in generale, ottimizzazione delle “prestazioni” su dati “imprecisi”) s Reti Neurali s Calcolo Evoluzionistico s (Cenni di) Logica Fuzzy (se ci sarà tempo…) 3

Testi (di consultazione) consigliati w Russell, Norvig “Artificial Intelligence: a Modern Approach” seconda edizione,

Testi (di consultazione) consigliati w Russell, Norvig “Artificial Intelligence: a Modern Approach” seconda edizione, Prentice-Hall, 2003. (anche in ed. italiana, 2005) w Haykin “Neural Networks: a Comprehensive Foundation” seconda edizione, Prentice-Hall, 1999 w Eiben, Smith “Introduction to Evolutionary Computing” Springer, 2003 w Banzhaf, Nordin, Keller, Francone, “Genetic Programming: an introduction”, Morgan Kaufmann, 1998 w A. Tettamanzi, M. Tomassini “Soft Computing: Integrating Evolutionary, Neural and Fuzzy Systems”, Springer, 2001 Questi testi sono tutti disponibili in biblioteca 4

Parole chiave w w Intelligenza Autonomia Adattività Evoluzione s come processo naturale/stocastico guidato dai

Parole chiave w w Intelligenza Autonomia Adattività Evoluzione s come processo naturale/stocastico guidato dai ‘risultati’ s come processo conscio guidato dall’esperienza/intelligenza w Sistemi ispirati alla biologia w Sistemi complessi s Cooperazione s Competizione w Comportamenti emergenti 5

Intelligenza (artificiale) w “Un sistema è intelligente se è in grado di risolvere problemi

Intelligenza (artificiale) w “Un sistema è intelligente se è in grado di risolvere problemi per affrontare i quali l’uomo deve usare intelligenza” (M. Minsky) w “Un sistema è intelligente se riesce a svolgere compiti che richiedono attività di tipo cognitivo, nelle quali in questo momento l’uomo è superiore” (A. P. Sage) w Fondamentale il ruolo dell’apprendimento: un comportamento intelligente richiede decisioni, prese sulla base della conoscenza, acquisita per esperienza diretta o per trasferimento di conoscenza da un “insegnante”. 6

Autonomia w Un sistema intelligente deve essere in grado di prendere decisioni in modo

Autonomia w Un sistema intelligente deve essere in grado di prendere decisioni in modo autonomo, in funzione delle condizioni in cui si trova ad operare. w Una volta acquisito un certo tipo di conoscenza, un sistema intelligente deve essere in grado di utilizzarlo in modo indipendente dall’”insegnante” 7

Adattività w Un sistema intelligente deve essere in grado di prendere decisioni in modo

Adattività w Un sistema intelligente deve essere in grado di prendere decisioni in modo autonomo, in funzione delle condizioni in cui si trova ad operare. w L’interazione di un sistema con l’ambiente circostante e l’esperienza che ne deriva, ne incrementano la base di conoscenza, attraverso un processo di apprendimento diretto. 8

Evoluzione = Adattività ( + Apprendimento) w Modificandosi per operare al meglio (sopravvivere) nell’ambiente

Evoluzione = Adattività ( + Apprendimento) w Modificandosi per operare al meglio (sopravvivere) nell’ambiente in cui opera, un sistema intelligente migliora le proprie prestazioni. w L’interazione con (apprendimento da)gli altri individui che lo circondano consente di instaurare un processo mediante il quale la specie migliora di generazione in generazione. w Il processo si instaura anche senza apprendimento (evoluzione darwiniana, a carattere essenzialmente stocastico) ma si sviluppa in modo ovviamente meno efficace. 9

Sistemi ispirati alla biologia w Numerosi paradigmi di sistemi intelligenti artificiali si basano su

Sistemi ispirati alla biologia w Numerosi paradigmi di sistemi intelligenti artificiali si basano su modelli di ispirazione biologica w Molti di questi modelli (in particolare, le reti neurali e il calcolo evoluzionistico) realizzano sistemi adattativi che consentono di generare processi di apprendimento da esempi. 10

Sistemi complessi: generalità w Alcuni modelli prevedono la simulazione di sistemi di più elementi,

Sistemi complessi: generalità w Alcuni modelli prevedono la simulazione di sistemi di più elementi, di per sé “non intelligenti”, che, interagendo localmente in modo meccanico, riescono tuttavia nel loro insieme a realizzare un comportamento intelligente. w Anche se non si può parlare di apprendimento in senso stretto, anche in questo caso esistono procedure di ottimizzazione che permettono di realizzare tali comportamenti. 11

Sistemi complessi e soft computing w Le reti neurali artificiali sono un esempio di

Sistemi complessi e soft computing w Le reti neurali artificiali sono un esempio di sistema di questo tipo w Anche i sistemi evolutivi possono rientrare in questa categoria, specialmente quando si evolvono più popolazioni con caratteristiche differenti, gestendo l’interazione e lo scambio di informazioni secondo differenti dinamiche possibili. w Altri paradigmi: “particle swarm optimization”, “artificial ants”, ecc. (in generale, tutti i modelli che rientrano nella cosiddetta “vita artificiale” (Alife) ) 12

Comportamenti emergenti w Nel caso di sistemi complessi si parla spesso di comportamenti emergenti,

Comportamenti emergenti w Nel caso di sistemi complessi si parla spesso di comportamenti emergenti, poiché sono osservabili (emergono) solo nel momento in cui si sposta l’attenzione dal comportamento del singolo individuo a quello collettivo. w Spesso questi comportamenti superano (o risultano sostanzialmente differenti) il comportamento previsto al momento della definizione (programmazione) dei singoli elementi. w Tipicamente, si programmano i singoli elementi per dotarli di comportamenti individuali in grado far tendere la popolazione verso un certo comportamento collettivo. Si lascia poi che il sistema si (auto-)organizzi e faccia emergere il comportamento che ottimizza un criterio con cui è possibile valutare fino a che punto l’obiettivo sia stato avvicinato. 13