Ingegneria Informatica e Intelligenza artificiale L-8
Machine Learning e Artificial Intelligence
| Settore scientifico disciplinare | Numero crediti formativi (CFU) | Docente |
| ING-INF/05 (IINF-05/A) | 9 | Pasquale De Luca |
Obiettivi Formativi
L’insegnamento si propone di far acquisire agli studenti i concetti fondamentali dell’Intelligenza Artificiale con particolare riferimento alle tecniche di ricerca, rappresentazione della conoscenza e ragionamento automatico. Saranno inoltre introdotti i fondamenti teorici, le proprietà computazionali e gli usi delle principali tecniche di apprendimento supervisionato e non supervisionato. In particolare, gli studenti esploreranno argomenti come Machine Learning saranno in grado di impostare problemi di classificazione, regressione e clustering usando algoritmi e strumenti condivisi dalla comunità scientifica e industriale.
L’insegnamento include un modulo pratico dedicato all’implementazione di modelli con Python utilizzando librerie come scikit-learn e TensorFlow
L’insegnamento contribuisce anche al potenziamento delle capacità trasversali Autonomia di giudizio, Abilità comunicative e Capacità di apprendimento degli studenti.
Testi consigliati
Video lezioni + seminari aggiuntivi
Bishop, C.M. (2006). Pattern Recognition and Machine Learning. Springer.
Modalità di esame
Programma del Corso
================================================================
MODULO 1 — AGENTI INTELLIGENTI
================================================================
Lezione 1 — Introduzione all'Intelligenza Artificiale
Definizioni di IA (pensare/agire, umanamente/razionalmente); storia e
fondamenti disciplinari; stato dell'arte e ambiti applicativi.
Lezione 2 — Agenti intelligenti e ambienti
Concetto di agente razionale; misure di prestazione; proprietà degli
ambienti (osservabile, deterministico, episodico, statico, discreto,
singolo/multi-agente); nozione PEAS.
Lezione 3 — Struttura degli agenti
Programmi-agente; agenti reattivi semplici, basati su modello, basati
su obiettivi, basati su utilità; agenti che apprendono.
================================================================
MODULO 2 — RISOLUZIONE DI PROBLEMI MEDIANTE RICERCA
================================================================
Lezione 4 — Agenti risolutori di problemi
Formulazione del problema; spazio degli stati; grafo di ricerca;
misure di prestazione (completezza, ottimalità, complessità).
Lezione 5 — Algoritmi di ricerca
Struttura generale della ricerca ad albero e su grafo; frontiera,
espansione, insieme esplorato.
Lezione 6 — Ricerca non informata
BFS, ricerca a costo uniforme, DFS, depth-limited, iterative
deepening; confronto costi e completezza.
Lezione 7 — Ricerca informata
Euristiche; best-first greedy; algoritmo A*; ammissibilità e
consistenza; progettazione di euristiche.
================================================================
MODULO 3 — LOGICA E RAPPRESENTAZIONE DELLA CONOSCENZA
================================================================
Lezione 8 — Agenti basati su conoscenza
Base di conoscenza; ciclo TELL/ASK; il mondo del Wumpus; entailment.
Lezione 9 — Logica proposizionale
Sintassi e semantica; modelli; equivalenza, validità, soddisfacibilità;
inferenza per enumerazione e risoluzione.
Lezione 10 — Logica del primo ordine (FOL)
Oggetti, relazioni, funzioni; quantificatori; sintassi e semantica;
espressività rispetto alla logica proposizionale.
Lezione 11 — Usare la logica del primo ordine
Assiomatizzazione di domini; asserzioni e query; ingegneria della
conoscenza in FOL.
Lezione 12 — Introduzione all'inferenza
Regole di inferenza; forward e backward chaining; clausole di Horn.
Lezione 13 — Inferenza nella logica del primo ordine
Unificazione; forward/backward chaining in FOL; risoluzione e forma a
clausole; teorema di completezza.
Lezione 14 — Rappresentazione della conoscenza
Ontologie; categorie e oggetti; eventi; ragionamento con default;
reti semantiche e sistemi a frame.
================================================================
MODULO 4 — FONDAMENTI PROBABILISTICI E INTRODUZIONE AL ML
================================================================
Lezione 15 — Basi di probabilità
Incertezza; assiomi di probabilità; probabilità congiunta e
condizionata; indipendenza; teorema di Bayes.
Lezione 16 — Introduzione al Machine Learning
Forme di apprendimento (supervisionato, non supervisionato, per
rinforzo); ipotesi e generalizzazione; overfitting/underfitting.
================================================================
MODULO 5 — APPRENDIMENTO SUPERVISIONATO
================================================================
Lezione 17 — Apprendimento supervisionato
Classificazione e regressione; spazio delle ipotesi; funzione di
perdita; rischio empirico e atteso.
Lezione 18 — Selezione del modello e ottimizzazione
Trade-off bias-varianza; validazione incrociata; regolarizzazione;
ricerca degli iperparametri.
Lezione 19 — Metriche di valutazione
Accuratezza, precisione, recall, F1; matrice di confusione; curve
ROC e AUC; metriche per la regressione (MSE, MAE, R²).
Lezione 20 — Alberi di decisione
Apprendimento induttivo; entropia e guadagno informativo; algoritmo
ID3/C4.5; potatura (pruning).
Lezione 21 — Apprendimento bayesiano
Massima verosimiglianza e MAP; Naive Bayes; stima delle densità;
classificazione probabilistica.
Lezione 22 — Regressione lineare
Modello lineare; minimi quadrati; discesa del gradiente; regressione
logistica per la classificazione.
Lezione 23 — Nearest Neighbor
k-NN; metriche di distanza; effetto di k; costo computazionale e
strutture dati (k-d tree).
Lezione 24 — Support Vector Machines
Margine massimo; iperpiano separatore; kernel trick; soft margin;
SVM non lineari.
================================================================
MODULO 6 — METODI DI ENSEMBLE E ALTA DIMENSIONALITÀ
================================================================
Lezione 25 — Ensemble Learning
Combinazione di modelli; bagging; random forest; voto di maggioranza.
Lezione 26 — Ensemble Learning avanzato
Boosting; AdaBoost; gradient boosting; stacking.
Lezione 27 — Machine Learning in dimensioni elevate
Maledizione della dimensionalità; selezione delle feature;
regolarizzazione L1/L2; sparsità.
================================================================
MODULO 7 — APPRENDIMENTO NON SUPERVISIONATO
================================================================
Lezione 28 — Clustering
k-means; clustering gerarchico; modelli a miscela gaussiana (EM);
valutazione dei cluster.
Lezione 29 — Riduzione della dimensionalità
PCA; SVD; proiezioni; t-SNE; apprendimento di rappresentazioni.
================================================================
MODULO 8 — TEORIA E PARADIGMI AVANZATI DI APPRENDIMENTO
================================================================
Lezione 30 — Teoria dell'apprendimento
Apprendimento PAC; dimensione di Vapnik-Chervonenkis; limiti di
generalizzazione; complessità del campione.
Lezione 31 — Apprendimento incrementale e online
Apprendimento online; discesa del gradiente stocastica; concept
drift; algoritmi a passaggio singolo.
Lezione 32 — Apprendimento per rinforzo
Processi decisionali di Markov (MDP); funzione valore e policy;
Q-learning; esplorazione vs sfruttamento.
================================================================
MODULO 9 — IL PROCESSO DI MACHINE LEARNING NELLA PRATICA
================================================================
Lezione 33 — Pipeline e processo di Machine Learning
Raccolta e preparazione dati; feature engineering; addestramento,
validazione, test; ciclo di vita del modello.
Lezione 34 — Bias nei dati e fairness
Fonti di bias; equità algoritmica; metriche di fairness; mitigazione
e implicazioni etiche.
Lezione 35 — Conduzione, monitoraggio e manutenzione dei modelli
Deployment; monitoraggio delle prestazioni; degrado e drift;
ri-addestramento; MLOps di base.
================================================================
MODULO 10 — FONDAMENTI DI DEEP LEARNING
================================================================
Lezione 36 — Introduzione al Deep Learning
Dal percettrone alle reti multistrato; funzioni di attivazione;
motivazioni e differenze rispetto al ML classico.
Lezione 37 — Backpropagation
Grafo computazionale; regola della catena; propagazione in avanti e
all'indietro; calcolo dei gradienti.
Lezione 38 — Architetture di Deep Learning
Reti feedforward profonde; scelte progettuali; profondità e capacità
rappresentativa.
Lezione 39 — Convolutional Neural Networks
Operazione di convoluzione; filtri; campi recettivi; condivisione dei
pesi; architetture per immagini.
Lezione 40 — Pooling, tensori e connessioni residue
Strati di pooling; rappresentazione tensoriale; blocchi residui
(ResNet); reti profonde.
Lezione 41 — Ottimizzazione e backpropagation
SGD e varianti (Momentum, Adam); learning rate; batch; problemi di
gradiente evanescente/esplosivo.
Lezione 42 — Generalizzazione nelle reti neurali
Regolarizzazione; dropout; early stopping; data augmentation;
capacità e overfitting nelle reti profonde.
================================================================
MODULO 11 — SEQUENZE, APPRENDIMENTO NON SUPERVISIONATO
PROFONDO E MODELLI GENERATIVI
================================================================
Lezione 43 — Reti neurali ricorrenti
RNN; elaborazione di sequenze; backpropagation nel tempo; cenni a
LSTM/GRU.
Lezione 44 — Apprendimento non supervisionato nel Deep Learning
Autoencoder; rappresentazioni latenti; pre-addestramento;
apprendimento di feature.
Lezione 45 — Modelli generativi
Modelli generativi ================================================================
MODULO 1 — AGENTI INTELLIGENTI
================================================================
Lezione 1 — Introduzione all'Intelligenza Artificiale
Definizioni di IA (pensare/agire, umanamente/razionalmente); storia e
fondamenti disciplinari; stato dell'arte e ambiti applicativi.
Lezione 2 — Agenti intelligenti e ambienti
Concetto di agente razionale; misure di prestazione; proprietà degli
ambienti (osservabile, deterministico, episodico, statico, discreto,
singolo/multi-agente); nozione PEAS.
Lezione 3 — Struttura degli agenti
Programmi-agente; agenti reattivi semplici, basati su modello, basati
su obiettivi, basati su utilità; agenti che apprendono.
================================================================
MODULO 2 — RISOLUZIONE DI PROBLEMI MEDIANTE RICERCA
================================================================
Lezione 4 — Agenti risolutori di problemi
Formulazione del problema; spazio degli stati; grafo di ricerca;
misure di prestazione (completezza, ottimalità, complessità).
Lezione 5 — Algoritmi di ricerca
Struttura generale della ricerca ad albero e su grafo; frontiera,
espansione, insieme esplorato.
Lezione 6 — Ricerca non informata
BFS, ricerca a costo uniforme, DFS, depth-limited, iterative
deepening; confronto costi e completezza.
Lezione 7 — Ricerca informata
Euristiche; best-first greedy; algoritmo A*; ammissibilità e
consistenza; progettazione di euristiche.
================================================================
MODULO 3 — LOGICA E RAPPRESENTAZIONE DELLA CONOSCENZA
================================================================
Lezione 8 — Agenti basati su conoscenza
Base di conoscenza; ciclo TELL/ASK; il mondo del Wumpus; entailment.
Lezione 9 — Logica proposizionale
Sintassi e semantica; modelli; equivalenza, validità, soddisfacibilità;
inferenza per enumerazione e risoluzione.
Lezione 10 — Logica del primo ordine (FOL)
Oggetti, relazioni, funzioni; quantificatori; sintassi e semantica;
espressività rispetto alla logica proposizionale.
Lezione 11 — Usare la logica del primo ordine
Assiomatizzazione di domini; asserzioni e query; ingegneria della
conoscenza in FOL.
Lezione 12 — Introduzione all'inferenza
Regole di inferenza; forward e backward chaining; clausole di Horn.
Lezione 13 — Inferenza nella logica del primo ordine
Unificazione; forward/backward chaining in FOL; risoluzione e forma a
clausole; teorema di completezza.
Lezione 14 — Rappresentazione della conoscenza
Ontologie; categorie e oggetti; eventi; ragionamento con default;
reti semantiche e sistemi a frame.
================================================================
MODULO 4 — FONDAMENTI PROBABILISTICI E INTRODUZIONE AL ML
================================================================
Lezione 15 — Basi di probabilità
Incertezza; assiomi di probabilità; probabilità congiunta e
condizionata; indipendenza; teorema di Bayes.
Lezione 16 — Introduzione al Machine Learning
Forme di apprendimento (supervisionato, non supervisionato, per
rinforzo); ipotesi e generalizzazione; overfitting/underfitting.
================================================================
MODULO 5 — APPRENDIMENTO SUPERVISIONATO
================================================================
Lezione 17 — Apprendimento supervisionato
Classificazione e regressione; spazio delle ipotesi; funzione di
perdita; rischio empirico e atteso.
Lezione 18 — Selezione del modello e ottimizzazione
Trade-off bias-varianza; validazione incrociata; regolarizzazione;
ricerca degli iperparametri.
Lezione 19 — Metriche di valutazione
Accuratezza, precisione, recall, F1; matrice di confusione; curve
ROC e AUC; metriche per la regressione (MSE, MAE, R²).
Lezione 20 — Alberi di decisione
Apprendimento induttivo; entropia e guadagno informativo; algoritmo
ID3/C4.5; potatura (pruning).
Lezione 21 — Apprendimento bayesiano
Massima verosimiglianza e MAP; Naive Bayes; stima delle densità;
classificazione probabilistica.
Lezione 22 — Regressione lineare
Modello lineare; minimi quadrati; discesa del gradiente; regressione
logistica per la classificazione.
Lezione 23 — Nearest Neighbor
k-NN; metriche di distanza; effetto di k; costo computazionale e
strutture dati (k-d tree).
Lezione 24 — Support Vector Machines
Margine massimo; iperpiano separatore; kernel trick; soft margin;
SVM non lineari.
================================================================
MODULO 6 — METODI DI ENSEMBLE E ALTA DIMENSIONALITÀ
================================================================
Lezione 25 — Ensemble Learning
Combinazione di modelli; bagging; random forest; voto di maggioranza.
Lezione 26 — Ensemble Learning avanzato
Boosting; AdaBoost; gradient boosting; stacking.
Lezione 27 — Machine Learning in dimensioni elevate
Maledizione della dimensionalità; selezione delle feature;
regolarizzazione L1/L2; sparsità.
================================================================
MODULO 7 — APPRENDIMENTO NON SUPERVISIONATO
================================================================
Lezione 28 — Clustering
k-means; clustering gerarchico; modelli a miscela gaussiana (EM);
valutazione dei cluster.
Lezione 29 — Riduzione della dimensionalità
PCA; SVD; proiezioni; t-SNE; apprendimento di rappresentazioni.
================================================================
MODULO 8 — TEORIA E PARADIGMI AVANZATI DI APPRENDIMENTO
================================================================
Lezione 30 — Teoria dell'apprendimento
Apprendimento PAC; dimensione di Vapnik-Chervonenkis; limiti di
generalizzazione; complessità del campione.
Lezione 31 — Apprendimento incrementale e online
Apprendimento online; discesa del gradiente stocastica; concept
drift; algoritmi a passaggio singolo.
Lezione 32 — Apprendimento per rinforzo
Processi decisionali di Markov (MDP); funzione valore e policy;
Q-learning; esplorazione vs sfruttamento.
================================================================
MODULO 9 — IL PROCESSO DI MACHINE LEARNING NELLA PRATICA
================================================================
Lezione 33 — Pipeline e processo di Machine Learning
Raccolta e preparazione dati; feature engineering; addestramento,
validazione, test; ciclo di vita del modello.
Lezione 34 — Bias nei dati e fairness
Fonti di bias; equità algoritmica; metriche di fairness; mitigazione
e implicazioni etiche.
Lezione 35 — Conduzione, monitoraggio e manutenzione dei modelli
Deployment; monitoraggio delle prestazioni; degrado e drift;
ri-addestramento; MLOps di base.
================================================================
MODULO 10 — FONDAMENTI DI DEEP LEARNING
================================================================
Lezione 36 — Introduzione al Deep Learning
Dal percettrone alle reti multistrato; funzioni di attivazione;
motivazioni e differenze rispetto al ML classico.
Lezione 37 — Backpropagation
Grafo computazionale; regola della catena; propagazione in avanti e
all'indietro; calcolo dei gradienti.
Lezione 38 — Architetture di Deep Learning
Reti feedforward profonde; scelte progettuali; profondità e capacità
rappresentativa.
Lezione 39 — Convolutional Neural Networks
Operazione di convoluzione; filtri; campi recettivi; condivisione dei
pesi; architetture per immagini.
Lezione 40 — Pooling, tensori e connessioni residue
Strati di pooling; rappresentazione tensoriale; blocchi residui
(ResNet); reti profonde.
Lezione 41 — Ottimizzazione e backpropagation
SGD e varianti (Momentum, Adam); learning rate; batch; problemi di
gradiente evanescente/esplosivo.
Lezione 42 — Generalizzazione nelle reti neurali
Regolarizzazione; dropout; early stopping; data augmentation;
capacità e overfitting nelle reti profonde.
================================================================
MODULO 11 — SEQUENZE, APPRENDIMENTO NON SUPERVISIONATO
PROFONDO E MODELLI GENERATIVI
================================================================
Lezione 43 — Reti neurali ricorrenti
RNN; elaborazione di sequenze; backpropagation nel tempo; cenni a
LSTM/GRU.
Lezione 44 — Apprendimento non supervisionato nel Deep Learning
Autoencoder; rappresentazioni latenti; pre-addestramento;
apprendimento di feature.
Lezione 45 — Modelli generativi
Modelli generativi profondi; VAE; GAN; cenni ai modelli di
diffusione; generazione di dati.
; VAE; GAN; cenni ai modelli didiffusione; generazione di dati.
Propedeuticità
Non sono previste propedeuticità formali.
Prerequisiti
Per il proficuo raggiungimento degli obiettivi formativi del corso, è auspicabile che lo studente possegga conoscenze pregresse relative ai fondamenti di programmazione, ai concetti elementari di probabilità e statistica, nonché alle nozioni fondamentali di algebra lineare e analisi matematica, indispensabili per la comprensione degli algoritmi di apprendimento automatico e delle reti neurali.
Ricevimento Studenti
Organizzazione della didattica
Modalità di accertamento dei risultati di apprendimento acquisiti dallo studente
L'acquisizione dei risultati di apprendimento previsti viene accertata attraverso la verifica del completamento delle attività di autovalutazione presenti alla fine di ogni videolezione e attraverso la prova d'esame finale.
I test di autovalutazione consentono allo studente di monitorare la propria comprensione degli argomenti trattati e, in caso di difficoltà, di attivarsi per colmare le lacune attraverso le attività di didattica interattiva o contattando il docente.
Risultati di apprendimento attesi
Lezioni
Introduzione all'intelligenza artificiale
Agenti intelligenti e ambienti operativi
Struttura degli agenti
Agenti risolutori di problemi
Algoritmi di ricerca
Strategie di Ricerca Non Informata
Fondamenti della ricerca informata
Agenti basati sulla conoscenza
Logica e Logica delle Proposizioni
Logica del primo ordine
Usare la logica del primo ordine
Introduzione all'Inferenza
Inferenza nella Logica del Primo Ordine
Rappresentazione della conoscenza
Notazioni base della teoria della probabilità
Introduzione al Machine Learning
Apprendimento supervisionato
Selezione del Modello e Ottimizzazione
Metriche di valutazione
Alberi di decisione
Apprendimento bayesiano
Regressione lineare
Modelli Nearest Neighbor
Support Vector Machines
Ensemble Learning
Ensemble Learning avanzato
Machine Learning e dimensioni elevate
Apprendimento non supervisionato: Clustering
Riduzione della dimensionalità
Teoria dell'apprendimento computazionale
Apprendimento incrementale e online
Apprendimento per rinforzo: introduzione
Pipeline e processo di ML
Bias nei dati e Fairness
Conduzione, monitoraggio e manutenzione
Introduzione al Deep Learning
Back-propagation e calcolo del gradiente nei network neurali
Architettura dei modelli deep learning
Convolutional Neural Networks
Pooling, Tensor Operations e Residual Networks
Ottimizzazione e back-propagation nei network neurali
Generalizzazione nelle reti neurali
Reti Neurali Ricorrenti
Apprendimento non supervisionato e modelli generativi in deep learning
Modelli generativi