Introduzione all'Intelligenza Artificiale e Machine Learning PDF
Document Details
LUMSA
2024
Alessandra Musolino
Tags
Summary
These lecture notes cover the introduction to Artificial Intelligence (AI) and Machine Learning (ML). The document explores the history of AI, different types of intelligence, the concept of algorithms, and various machine learning methods. The notes are suitable for undergraduate-level computer science students.
Full Transcript
Lumsa Dipartimento di Scienze umane Corso di studi in Scienze della Comunicazione, Marketing e Digital media Informatica per la comunicazione (Gruppo A-F e P-Z) Introduzione all’Intelligenza Artificiale Machine Learning Prof.ssa Alessandra Musolino A.A. 2024-25 Storia Nel 1956, nel...
Lumsa Dipartimento di Scienze umane Corso di studi in Scienze della Comunicazione, Marketing e Digital media Informatica per la comunicazione (Gruppo A-F e P-Z) Introduzione all’Intelligenza Artificiale Machine Learning Prof.ssa Alessandra Musolino A.A. 2024-25 Storia Nel 1956, nel Dartmouth College nel New Hampshire un gruppo di scienziati si riunì per confrontarsi su alcuni concetti che potevano riassumersi nell’espressione che l’anno precedente John McCarthy aveva proposto: Intelligenza artificiale (AI) I principali temi oggetto di studio della ricerca che ne scaturì erano: Elaborazione del linguaggio naturale Reti neurali Principi e tecniche di astrazione, teoria della computabilità Costruzione di modelli creativi 2 Storia La proposta di incontro riportava: «Lo studio procederà sulla base dell’ipotesi che l’apprendimento e qualunque altra caratteristica dell’intelligenza, possa in linea di principio essere descritta con una tale precisione che sia possibile costruire una macchina per simularlo.» «… costruire macchine che possano risolvere problemi oggi di competenza esclusiva degli uomini, macchine in grado di migliorare se stesse». 3 Una prima definizione di AI “L’intelligenza artificiale è la teoria e lo sviluppo di un sistema informatico in grado di eseguire compiti che normalmente richiedono l’intelligenza umana, come la percezione visiva, il riconoscimento del parlato, il processo decisionale “English Oxford Living Dictionary” 4 Intelligenza naturale (1) In relazione all’ambiente di appartenenza rileviamo: Percezione attraverso i sensi disponibili (in AI parliamo spesso di sensori) Osservazione e investigazione Ragionamento e Problem solving, comprensione per prendere decisioni e trovare soluzioni Il dato descrive in maniera elementare, un fatto, un oggetto, un evento o altro, attraverso simboli o combinazione di simboli. Il dato diventa informazione quando ci permette di scegliere. L’informazione diventa conoscenza quando ci permette di capire. La conoscenza diventa competenza quando ci permette di agire Prof.ssa Alessandra Musolino 5 Intelligenza naturale (2) Se ne consideriamo i processi caratteristici avremo: Apprendimento, inteso come trasformazione dell’esperienza accumulata in patrimonio conoscitivo da utilizzare autonomamente Comunicazione, scambio informativo tra entità intelligenti non necessariamente della medesima tipologia Comprensione Possiamo altresì pensare di sfruttare la potenza di calcolo di un computer a supporto di elaborazioni automatiche che possano riprodurre la flessibilità della mente umana. (Test di Alan Turing del 1950) 6 Paradosso di Moravec Il paradosso di Moravec è la scoperta da parte dei ricercatori di intelligenza artificiale e robotica che, contrariamente alle ipotesi tradizionali, il ragionamento di alto livello richiede pochissimo calcolo, ma le capacità sensomotorie di basso livello richiedono enormi risorse computazionali. Il principio è stato articolato da Hans Moravec, Rodney Brooks, Marvin Minsky e altri negli anni ottanta. Come scrive Moravec, "è relativamente facile fare in modo che i computer mostrino prestazioni di livello adulto nei test di intelligenza o nel giocare a dama, e difficile o impossibile dare loro le competenze di un bambino di un anno quando si tratta di percezione e mobilità“. Allo stesso modo, Minsky ha sottolineato che le abilità umane più difficili da decodificare sono quelle che sono inconsce. "In generale, siamo meno consapevoli di ciò che le nostre menti sanno fare meglio", ha scritto, e ha aggiunto "siamo più consapevoli dei processi semplici che non funzionano bene che di quelli complessi che funzionano perfettamente“. Fonte:Wikipedia 7 Interdisciplinarietà Intesa come competenze di base da utilizzare congiuntamente per predisporre gli strumenti, non solo come conoscenza dei domini di riferimento, indispensabile ma anche abbastanza ovvia. Informatica Biologia Psicologia Matematica Statistica Calcolo delle probabilità Il carattere interdisciplinare è una caratteristica peculiare e la capacità di lavorare in team diventa essenziale 8 Algoritmo : fondamento della disciplina Aumenta ogni giorno l’importanza di applicazioni che ne fanno uso, sono l’asse portante del mondo dell’informatica, ne tessono la trama. Stanno trasformando il nostro mondo e dobbiamo conoscerli per governare il nostro futuro Algoritmo: soluzione di un problema attraverso una sequenza di passi/istruzioni che portano alla soluzione Ing. Alessandra Musolino 9 Algoritmi di IA Sin dagli anni ottanta sono state sviluppate tecniche di apprendimento automatico ma molte delle applicazioni pratiche che oggi fanno parte del nostro quotidiano sono state possibili solo in tempi recenti per: La potenza computazionale fornita dagli elaboratori aumentata enormemente La disponibilità di grandi moli di dati da fornire in input alle macchine Queste tecniche possono essere ricondotte al percettrone di Rosenblatt del 1958 (reti neurali) Oggi non è solo la nostra interazione con gli algoritmi da valutare ma anche come gli algoritmi interagiscono tra loro. Ing. Alessandra Musolino 10 Deep Blue e AlphaGo: quali differenze? 1997: il campione mondiale di scacchi Garry Kasparov fu sconfitto dal programma «Deep Blue» sviluppato dall’IBM Si trattava di programmazione esplicita, cioè i programmatori avevano scritto le istruzioni utilizzando tutta la conoscenza disponibile in letteratura riguardo le regole da applicare in ogni possibile situazione 2016: AlphaGo batte Lee Sedol, campione coreano di Go (gioco nel quale anche l’intuito è importante) Sono state utilizzate tecniche di apprendimento automatico, dando in input all’algoritmo scritto dalla società Deep-Mind di Google la sequenza delle mosse di partite di grandi campioni 2017: un misterioso avversario online batte Ke Jie, campione in carica di Go; sarà rivelato dopo che aveva combattuto contro AlphaGo. Qualche mese dopo Ke Jie accetta una sfida ufficiale, affermando di avere una mossa a sorpresa per battere AlphaGo (sulla base della sua esperienza precedente) Ma la versione di AlphaGo non era più la stessa, era stato addestrato giocando contro se stesso. Milioni di partite contro se stesso erano state utilizzate come dati di input. Ke Jie perse ancora. Ing. Alessandra Musolino 11 Machine Learning:appunti Se chi ha il compito di scrivere le righe di codice per risolvere un problema, non è in grado di descrivere in modo “non ambiguo” i passi necessari per interpretare correttamente le informazioni a disposizione, possiamo scegliere di sviluppare un algoritmo che invece di descrivere come risolvere descriverà come imparare a risolvere, passeremo quindi dalla programmazione esplicita all’implementazione di algoritmi che, a seguito della lettura dei dati impostano gli algoritmi più adatti a risolvere correttamente il problema. Faremo sì che il sistema possa apprendere dai dati; l’apprendimento si dice supervisionato quando utilizziamo una quantità sufficiente di dati di Input e di Output con la finalità di addestrare un sistema a compiere un compito specifico. Ricordiamo che non possiamo addestrare un sistema per compiere in maniera generalizzata tutto, ma solo un “compito specifico”, e che i dati sono sempre etichettati da esperti. 12 Machine Learning:appunti L’apprendimento è invece non supervisionato quando si parte dai soli dati di Input per trovare delle “strutture” caratterizzanti all’interno dei dati. Il nucleo di ML è l'inferenza di un semplice modello nascosto, a seguito della convinzione che dietro tutti questi dati apparentemente complessi e voluminosi ci sia una spiegazione che non è agevole individuare attraverso un tradizionale trattamento dei dati grezzi. Possiamo quindi affermare che se, nella programmazione esplicita, ogni algoritmo produce un output a seguito di un input fornito, con il ML si capovolge il paradigma: si parte dai dati e dal risultato e si arriva alla definizione dell’algoritmo; l’apprendimento è così governato da algoritmi che creano altri algoritmi 13 Machine Learning Ritroviamo questa «tecnica» nel trattamento delle informazioni per apprendere dai dati: data mining: machine learning applicato a “database", ovvero raccolte di dati inferenza e / o stima nelle statistiche riconoscimento di un modello induzione ottimizzazione L’osservazione dovrà servire non solo per prendere decisioni direttamente derivate dall’osservazione, ma anche e soprattutto per far si che la macchina possa prendere in maniera autonoma decisioni in futuro sulla base dell’esperienza appresa 14 Un modello semplice nascosto Convinzione che dietro tutti questi dati apparentemente complessi e voluminosi ci sia una spiegazione semplice. Il nucleo di ML è l'inferenza di un semplice modello nascosto. Se ogni algoritmo produce un output a seguito di un input fornito, con il ML si capovolge il paradigma: si parte dai dati e si arriva alla definizione dell’algoritmo L’apprendimento è governato da algoritmi che creano altri algoritmi Esempi di dati provenienti dalle transazioni di un supermercato: ci sono milioni di record, ma una persona che organizza una festa acquisterà un determinato sottoinsieme di prodotti e una persona che ha un cane acquisterà un sottoinsieme diverso Ci sono fattori nascosti che spiegano il comportamento del cliente. 15 Macchine che apprendono Se chi ha il compito di scrivere le righe di codice per risolvere un problema, non è in grado di descrivere in modo “non ambiguo” i passi necessari per interpretare correttamente le informazioni a disposizione, come avviene nella programmazione esplicita, possiamo scegliere di sviluppare un algoritmo che → invece di descrivere come risolvere → descrive come imparare a risolvere Se disponiamo di una quantità adeguata di dati si potrà, con poche righe di codice di apprendimento, veder generare in automatico milioni di righe di codice 16 Macchine che apprendono Ad esempio, con il Data Mining possiamo estrarre dai dati tutto quello che gli esperti ancora non sanno Vogliamo imparare tutto quello che è possibile sapere Ad un maggior numero di dati corrisponde una maggior possibilità di imparare Ma non dimentichiamo che il ML usa la lingua della probabilità mentre l’ingegneria usa la lingua della conoscenza, alla base della programmazione classica, il linguaggio cioè della logica 17 Definizione Arthur Samuel, un pioniere dell’AI diede la seguente definizione di machine learning: il machine learning è il settore dell’AI che studia come dare ai computer l’abilità di apprendere senza essere esplicitamente programmati a farlo”. (1959) 18 Definizione Un «sistema» di ML viene addestrato e non programmato Vengono forniti dati in input, ed il sistema trova in essi una struttura statistica che, trasformata in algoritmo, sta alla base dell’automazione dello stesso compito, in presenza di dati nuovi Le dimensioni dei dataset utilizzati per addestrare i sistemi sono tali, che l’analisi statistica classica sarebbe inutilizzabile. 19 Classificazione Machine Learning Apprendimento Supervisionato Regressione Clustering Apprendimento NON Supervisionato Riduzione della dimensionalità Apprendimento con Rinforzo Prof.ssa Alessandra Musolino 20 Campi di applicazione (1) diagnostica classificazione delle immagini Classificazione identificazione delle frodi fidelizzazione dei clienti....... previsioni del tempo Machine Learning previsioni del mercato..... Regressione aspettative della speranza di vita trend di crescita........ Profilazione Clustering Market mirato.... Prof.ssa Alessandra Musolino 21 Campi di applicazione (2) ricerca di modelli nascosti estrazione di caratteristiche Riduzione della analisi e visualizzazione di Big Data dimensionalità compressione significativa delle informazioni Machine Learning ………...... decisioni in tempo reale Apprendimento giochi con Rinforzo acquisizione di competenze..... Prof.ssa Alessandra Musolino 22 Apprendimento supervisionato 23 Machine Learning: Apprendimento supervisionato DATI di INPUT MACHINE LEARNING Algoritmo DATI di OUTPUT 24 Elementi caratteristici Dati di Input: la migliore rappresentazione di questi sarà a sua volta oggetto di elaborazione durante l’addestramento Output atteso: es. in un problema di classificazione, si tratterà di identificare le etichette da assegnare Valutazione del risultato (feedback) per ottimizzare l’algoritmo Il sistema quindi non dovrà soltanto individuare un modello statistico contenuto nei dati forniti, ma si dovrà preoccupare anche di trasformare i dati, trovare una rappresentazione utile, per l’individuazione delle regole che portano all’output atteso. 25 Elementi caratteristici «Questo è, tecnicamente il Machine Learning: una ricerca delle rappresentazioni più utili dei dati di input, in uno spazio delle possibilità predefinito, usando come guida un segnale di feedback.»* Gli algoritmi ricercano le trasformazioni, utilizzando un insieme predefinito di operazioni, chiamate «spazio delle ipotesi» * Franḉois Chollet, Deep Learning con Python, Apogeo, 2019 26 Apprendimento supervisionato Abbiamo dati etichettati da esperti Se l'etichetta è numerica, si tratta di un problema di REGRESSIONE Se l'etichetta fa riferimento a categorie, allora è un problema di CLASSIFICAZIONE Nell’addestramento con supervisione dovremo: Scegliere: ▪ le caratteristiche da valutare e i dati di esempio etichettati ▪ una metrica prestazionale ▪ l’algoritmo Valutare le prestazioni del modello Ottimizzare l’algoritmo 27 Un esempio Dagli incontri dello scorso anno di squadre in campionati campioni: REGRESSIONE: prevedere il numero di punti nei loro gruppi CLASSIFICAZIONE: prevedere se passeranno o meno il turno 28 Apprendimento supervisionato: Classificazione Utilizzata per predire l’appartenenza a gruppi o variabili di tipo categorico Alcuni concetti chiave: Target: verità, quello che il modello dovrebbe produrre in output Valore loss (errore) la differenza tra quanto il modello produce ed il target Classi, un insieme di etichette fra le quali scegliere Etichetta, una istanza di un’annotazione appartenente ad una classe Classificazione multi-etichetta(es un’immagine contiene sia un gatto che un cane) Recap: utilizziamo per l’addestramento un dataset tra le cui variabili è contenuta l’etichetta, quando il sistema lavorerà con dati nuovi sarà la «variabile etichetta» a dover essere individuata. 29 Albero decisionale Un modello utilizzato per dividere i dati di input, effettuando una scelta sulla base di un certo numero di domande Partiamo dalla radice dell’albero e procediamo suddividendo i dati Prendiamo dati di input descritti mediante una serie di attributi, ed abbiamo in uscita una «decisione» I dati di input possono essere sia discreti che continui, come anche quelli di output Nell’esempio (*) abbiamo una classificazione, abbiamo dati discreti, ed in output possiamo avere Vero o Falso (SI/NO) (classificazione booleana) Una possibile rappresentazione per ipotesi Ad esempio, ecco l'albero "vero" per decidere se aspettare: 30 Alberi decisionali Affollato? Nessuno Pieno Qualcuno Attesa stimata? NO SÌ 0-10 >60 30-60 10-30 SÌ Alternativa? Fame? NO NO SÌ NO SÌ SÌ Alternativa? Prenotazione? Ven/Sab? NO SÌ NO SÌ NO SÌ SÌ Pioggia? Bar? SÌ NO SÌ NO SÌ NO SÌ NO SÌ NO SÌ 31 Apprendimento degli alberi decisionali Problema: decidere se attendere un tavolo in un ristorante, in base ai seguenti attributi: Alternativa: c'è un ristorante alternativo nelle vicinanze? Bar: c'è una comoda area bar dove aspettare? Ven / Sab: è oggi venerdì o sabato? Affamato: abbiamo fame? Clienti: numero di persone nel ristorante (Nessuno, Alcuni, Completo) Prezzo: fascia di prezzo ($, $$, $$$) Piove: fuori piove? Prenotazione: abbiamo effettuato una prenotazione? Tipo: tipo di ristorante (francese, italiano, tailandese, hamburger) Tempo di attesa : tempo di attesa stimato (0-10, 10-30, 30-60,> 60) 32 Rappresentazioni basate su attributi Esempi descritti da valori di attributo (booleano, discreto, continuo) Ad esempio, situazioni in cui aspetterò / non aspetterò un tavolo: La classificazione degli esempi è positiva (T) o negativa (F) 33 Apprendimento supervisionato: REGRESSIONE Predire le variabili target su scala continua Possiamo effettuare: analisi di tendenze Previsioni Comprendere le relazioni tra più variabili Alcuni concetti chiave: Target: verità, quello che il modello dovrebbe produrre in output Regressione scalare: il target è un valore scalare continuo Regressione vettoriale: il target è un insieme di valori continui 34 Regressione Predire le variabili target su scala continua Regressione lineare: Semplice se il modello utilizza una sola variabile descrittiva ed una sola variabile target (come in figura) Multipla se il modello utilizza due o più variabili descrittive 35 Apprendimento supervisionato VS apprendimento non supervisionato Apprendimento supervisionato: scopre modelli nei dati che mettono in relazione gli attributi dei dati con un attributo target (classe). Questi schemi vengono quindi utilizzati per prevedere i valori dell'attributo target in future istanze di dati Apprendimento non supervisionato: i dati non hanno attributi di destinazione. Vogliamo esplorare i dati per trovare alcune strutture intrinseche in essi. 39 Apprendimento non supervisionato 40 Apprendimento non supervisionato: Analisi dei cluster Trovare gruppi di oggetti nei dati in modo tale che gli oggetti in un gruppo siano simili (o correlati) tra loro e diversi dagli (o non correlati) agli oggetti in altri gruppi Le distanze intra-cluster sono minimizzate Le distanze tra cluster sono massimizzate Raggruppare dati in base a proprietà comuni Es. algoritmo k-means 41 Applicazioni dell'analisi dei cluster Comprensione Es. Raggruppa documenti correlati per la navigazione, raggruppa geni e proteine con funzionalità simili o raggruppa stock con oscillazioni di prezzo simili Riepilogo Ridurre le dimensioni di grandi set di dati Clustering precipitazioni in Australia 42 Reinforcement Learning Apprendimento di una serie di azioni, con l’obiettivo di ottimizzare la ricompensa Si basa sul concetto di apprendimento attraverso l’interazione Il modello apprende a seguito di interazioni con l’ambiente, per massimizzare una funzione di ricompensa Le etichette corrette durante il processo di apprendimento non sono note per le singole azioni, ma solo alla fine dell’intero processo, come ad esempio per il gioco degli scacchi 43