Upload
others
View
29
Download
0
Embed Size (px)
Citation preview
Prof. Francesco Trovò
Corso di Intelligenza Artificiale, a.a. 2018-2019
Introduzione all’Intelligenza Artificiale
25/02/2019
Introduzione all’Intelligenza Artificiale
• Definizione di intelligenza
• Evoluzione dell’intelligenza artificiale
• Applicazioni dell’intelligenza artificiale
Definizioni di Intelligenza Artificiale
Domande:
Cos’è l’intelligenza? Cos’è il pensiero? (Filosofia, biologia)
Come possiamo geneare costruire entità intelligenti?
Definire intelligenza:
• Agire umanamente
• Pensare umanamente
• Pensare razionalmente
• Agire razionalmente
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 riuscita, allora l’IA ha passato il test
(Vedi anche l’esperimento stanza cinese)
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
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)
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
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
W. McCulloch e W. Pitts
Prima definizione di un neurone artificiale
D. Hebb
Regola di aggiornamento dei pesi di una rete
M. Minsky e D. Edmonds
Primo calcolatore basato su rete neurale – 40 neuroni
A. Turing
«Computing Machinery and Intelligence»
(1943)
(1949)
(1950)
La Nascita dell’IA
J. McCarthy
Workshop 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
N. Rochester
Geometry Theorem Prover
(1956)
(1959)
I Primi Passi
J. McCarthy
Sviluppo linguaggio LISP
B. Widrow (1962)
Reti adaline
F. Rosemblatt (1962)
Sviluppo del perceptrone
J.A. Robinson
Algoritmo per la dimostrazione di teoremi per la logica del primo ordine
Minsky
Studio di programmi per i micromondi
(1958)
(1965)
(1962)
(1968)
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 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)
Disambiguazione di una parola
Hays ed Efros (2007)
Completamento di una foto corrotta
plant living/factory
tank vehicle/container
palm hand/tree
base fish/music
crane bird/machine
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
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)