Introduzione all’Intelligenza Artificiale · Corso di Intelligenza Artificiale, a.a. 2018-2019...

28
Prof. Francesco Trovò Corso di Intelligenza Artificiale, a.a. 2018-2019 Introduzione all’Intelligenza Artificiale 25/02/2019

Transcript of Introduzione all’Intelligenza Artificiale · Corso di Intelligenza Artificiale, a.a. 2018-2019...

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

Come Viene Percepita l’Intelligenza Artificiale

L’Intelligenza Artificiale al Cinema

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

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