Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo

Pagina creata da Fabio Girardi
 
CONTINUA A LEGGERE
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
Introduzione all’Intelligenza Artificiale

     Corso di Intelligenza Artificiale, a.a. 2019-2020
                    Prof. Francesco Trovò

                        09/03/2020
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
Introduzione all’Intelligenza Artificiale

 • Definizione di intelligenza
 • Evoluzione dell’intelligenza artificiale
 • Applicazioni dell’intelligenza artificiale
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
Come Viene Percepita l’Intelligenza Artificiale
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
L’Intelligenza Artificiale al Cinema
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
Definizioni di Intelligenza Artificiale

 Domande:
    Cos’è l’intelligenza? Cos’è il pensiero? (Filosofia, biologia)
    Come possiamo creare, progettare o costruire entità intelligenti?

 Definire intelligenza:
 • Agire umanamente
 • Pensare umanamente
 • Pensare razionalmente
 • Agire razionalmente
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
1. Agire Umanamente: Il test di Turing

 Alan Turing (1912 - 1954)
     Formalizzazione algoritmo, macchina di turing
     Primo crittoanalista (macchina Enigma)
     Padre dell’informatica e dell’IA

 Test di Turing:
 • Alice (donna), Bob (uomo), Charlie (giocatore) in stanze separate
 • Charlie deve capire da domande dattiloscritte chi dei due è Bob
 • Uno dei due gioca con Charlie, altro contro
 • Se, sostituendo Alice con un’IA, Charlie ha le stesse prestazioni di
    riconoscimento, allora l’IA ha passato il test

 (Vedi anche l’esperimento stanza cinese)
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
Requisiti di un’IA Capace di Passare il Test

 Test di Turing:
 • Interpretazione del linguaggio naturale
 • Rappresentazione della conoscenza
 • Ragionamento automatico
 • Apprendimento

 Test di Turing totale:
 • Visione artificiale
 • Manipolazione robotica
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
2. Pensare Umanamente

Definire come opera il pensiero umano:
    Introspezione o psicologia (top-down)
    Imaging cerebrale (bottom-up)

Argomento trattato da Scienze cognitive:
• Analisi del pensiero umano ed animale
• Modelli sul funzionamento della mente umana

NB: I due campi (AI e Scienze cognitive) sono interconnessi e si alimentano a
vicenda, ma sono distinti (ad esempio Reti Neurali)
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
3. Pensare Razionalmente

Modellizzare i processi cognitivi in maniera formale: Logica (Aristotele)

Partendo da programmi basati sulla logica vogliamo creare dei sistemi
intelligenti

Problemi:
• Molto difficile formalizzare i problemi in termini logici (in particolare
   quando sono in presenza di incertezza)
• Risolvere tramite la logica problemi di dimensione elevata non è feasible
   computazionalmente
Introduzione all'Intelligenza Artificiale - Corso di Intelligenza Artificiale, a.a. 2019-2020 - Francesco Trovo
4. Agire Razionalmente

Non significa pensare razionalmente: possiamo raggiungere l’obbiettivo anche
se non pensiamo in maniera corretta

Contest: far camminare un agente bipede
(https://www.youtube.com/watch?v=gn4nRCC9TwQ)

Vantaggi:
• possiamo definire in maniera formale la razionalità
• possiamo richiedere che l’agente abbia razionalità perfetta oppure
   razionaltà limitata
Un po’ di Storia

 • Filosofia
   • Aristotele: sillogismi
   • Pascal: calcolatori
   • Cartesio: discussione mente/materia
   • Carnap, Hempel: teoria della conferma

 • Matematica
   • Boole: logica booleana
   • Al-khuwarzemi: algoritmi
   • Godel: teorema di incompletezza
   • Cock, Karp: NP-completezza
   • Bernoulli, Bayes: probabilità
Un altro po’ di Storia

 • Economia
   • Neumann: teoria delle decisioni
   • Bellman: Markov Processes

 •   Neuroscienze
 •   Psicologia
 •   Ingegneria informatica
 •   Controllo e cibernetica
 •   Linguistica
La Gestazione dell’IA

   (1943)     W. McCulloch e W. Pitts
              Prima definizione di un neurone artificiale

   (1949)     D. Hebb
              Regola di aggiornamento dei pesi di una rete

   (1950)     M. Minsky e D. Edmonds
              Primo calcolatore basato su rete neurale – 40 neuroni

              A. Turing
              «Computing Machinery and Intelligence»
La Nascita dell’IA

   (1956)      J. McCarthy
                Workshop a Darmouth sullo studio dell’intelligenza
                Coniato il termine Intelligenza Artificiale

               A. Newell e H. Simon
               Programma in grado di ragionare Logic Theorist (LT)
               General Problem Solver (pensare umanamente)

               A. Samuel
               programmi per gioco della dama

   (1959)      N. Rochester
               Geometry Theorem Prover
I Primi Passi

   (1958)       J. McCarthy
                 Sviluppo linguaggio LISP

   (1962)       B. Widrow (1962)
                Reti adaline

                F. Rosemblatt (1962)
                 Sviluppo del perceptrone

   (1965)       J.A. Robinson
                 Algoritmo per la dimostrazione di teoremi per la logica del
                primo ordine

   (1968)       Minsky
                Studio di programmi per i micromondi
Le Prime Difficoltà (1966-1973)

 I primi programmi non avevano idea del contesto in cui stavano lavorando e
 assumevano che non ci fossero problemi di complessità

 • Traduzione del linguaggio naturale
    es: lo spirito è forte ma la carne è debole → la vodka è buona ma la
         bistecca è marcia
 • Modifica di programmi per ottenerne di più efficienti
 • Esplosione combinatoria di alcune metodologie
 • Limitazione dei perceptroni

 Stop ai finanziamenti alle ricerche di IA (inverno dell’IA)
Metodi Basati sulla Conoscenza di Settore

DENDRAL (1969)

Ricostruire la struttura molecolare partendo
dai dati di uno spettrometro di massa

Soluzione banale: generare ogni possibile
combinazione e poi confrontarla con un
risultato (unfeasible)

Integrazione dell’esperienza dei chimici nel
programma (sistemi esperti)

La possibilità di applicare industrialmente i
risultati dell’IA porta a finanziamenti ingenti
negli anni tra il 1980 e il 1988
Metodi Connessionisti (1986-oggi)

Rumelhart e McLelland (1986)
Rivitalizzazione dei metodi basati su reti neurali
Applicazione a problemi di apprendimento

Due differenti linee di ricerca:
• Definizione di topologie di reti per risolvere efficientemente i problemi e
  per definirne le proprietà matematiche
• Modellizzazione delle proprietà dei neuroni reali

G. Hinton e Y. LeCun (2006)
Nuova interpretazione delle reti neurali
Nascita del Deep Learning
Metodi Basati sui Dati (2001-oggi)

 Negli ultimi 20 anni il volume dei dati generati è cresciuto a ritmi
 impressionanti

 Idea: utilizzare i dati per prendere decisioni

 • Nascita del Machine Learning, Mitchell (1959)
 • Tecniche di apprendimento da sostituire al processo di categorizzazione
   della conoscenza
 • Richiesta di uno sforzo computazionale importante
Esempi Importanti di Algoritmi di IA

 Yarowsi (1995)                       plant     living/factory
  Disambiguazione di una parola       tank    vehicle/container
                                      palm       hand/tree
                                      base       fish/music
                                      crane    bird/machine

 Hays ed Efros (2007)
 Completamento di una foto corrotta
Esempi di problemi risolti da metodi di IA

 Veicoli autonomi – DARPA urban challenge, TESLA
 (https://www.youtube.com/watch?v=lULl63ERek0)
Esempi di problemi risolti da metodi di IA

 Chatbot – call center automatizzati, SpacoBot
Esempi di problemi risolti da metodi di IA

 Scheduling
 • REMOTE AGENT pianificazione delle operazioni di controllo e
    manutenzione di un veicolo spaziale
 • MAPGEN pianificazione delle attività per i Mars Rover
Esempi di problemi risolti da metodi di IA

 Giochi – scacchi DEEPBLUE, go ALPHA GO, poker LIBRATUS
 (https://www.youtube.com/watch?v=8tq1C8spV_g)
Esempi di problemi risolti da metodi di IA

 Robotica – esplorazione Roomba, BOSTON DYNAMICS
 (https://www.youtube.com/watch?v=RYzn_gmFs5w)
Esempi di problemi risolti da metodi di IA

 NLP – WolframAlpha, Google Translate
Esempi di problemi risolti da metodi di IA

 Kidney exchange
Conclusioni

• Non aspettiamoci troppo dall’IA (winter is coming!)
• Molto spesso ha come scopo l’automatizzazione di compiti già svolti da
  umani
• Risulta utile per molti problemi pratici

• Non tutto si può risolvere basandosi sui dati
• Machine Learning è solo una delle possibili branche dell‘IA
Puoi anche leggere