Deep Learning and Generative Models
Anno accademico 2026/2027 - Docente: CONCETTO SPAMPINATORisultati di apprendimento attesi
Obiettivi formativi
Il corso fornisce uno studio approfondito dei concetti fondamentali e avanzati del deep learning e dei modelli generativi, con particolare attenzione all’apprendimento di rappresentazioni dai dati, ai diversi paradigmi di apprendimento e alle moderne architetture neurali.
Al termine del corso, lo studente sarà in grado di comprendere e applicare le principali metodologie di deep learning, representation learning, self-supervised learning, reinforcement learning e generative modelling, nonché di selezionare architetture e strategie di addestramento appropriate rispetto al problema applicativo considerato.
Conoscenza e capacità di comprensione
Gli studenti:
- comprenderanno i principi fondamentali delle reti neurali profonde e della backpropagation;
- comprenderanno le principali architetture convoluzionali, ricorrenti e basate su Transformer;
- comprenderanno i principali paradigmi di apprendimento, inclusi supervised, unsupervised, self-supervised, transfer, continual, federated e reinforcement learning;
- comprenderanno i principi alla base dei foundation model e delle architetture multimodali;
- comprenderanno i fondamenti teorici e le differenze tra le principali famiglie di modelli generativi, inclusi VAE, GAN, diffusion models e moderni approcci flow-based;
- comprenderanno i principi delle principali tecniche di explainability e feature attribution per reti neurali profonde.
Capacità di applicare conoscenza e comprensione
Gli studenti saranno in grado di:
- progettare e implementare sistemi di deep learning utilizzando PyTorch;
- utilizzare in modo efficace strumenti per la preparazione, gestione e analisi dei dati;
- selezionare architetture e strategie di apprendimento adeguate al tipo di problema e alla modalità dei dati;
- applicare tecniche di transfer learning, self-supervised learning e representation learning;
- implementare e valutare modelli generativi profondi;
- progettare protocolli sperimentali appropriati, identificando benchmark e baseline adeguate;
- applicare tecniche di explainability per analizzare e visualizzare il comportamento dei modelli.
Autonomia di giudizio
Gli studenti saranno in grado di:
- identificare il paradigma di apprendimento e il modello più appropriati per un determinato problema;
- valutare criticamente punti di forza e limitazioni di differenti architetture e metodologie;
- riconoscere fenomeni di underfitting, overfitting e scarsa generalizzazione;
- interpretare criticamente i risultati sperimentali;
- confrontare differenti approcci di deep learning e generative modelling sulla base di evidenze quantitative e qualitative.
Abilità comunicative
Gli studenti saranno in grado di:
- descrivere in maniera chiara motivazioni, metodologie e risultati di uno studio di deep learning;
- presentare e discutere criticamente articoli scientifici;
- comunicare risultati sperimentali utilizzando una terminologia tecnica appropriata;
- discutere punti di forza, limitazioni e possibili sviluppi futuri di un metodo.
Capacità di apprendimento
Gli studenti:
- svilupperanno autonomia nello studio di metodologie di deep learning non direttamente affrontate durante il corso;
- acquisiranno la capacità di leggere e comprendere la recente letteratura scientifica;
- saranno in grado di approfondire autonomamente metodologie emergenti nel campo del deep learning e dei modelli generativi;
- svilupperanno la capacità di adattare metodologie e strumenti appresi a nuovi problemi applicativi.
Modalità di svolgimento dell'insegnamento
Il corso prevede 9 CFU, per un totale di 71 ore di attività didattica, articolate in 56 ore di didattica frontale (e.g., discussione articoli scientifici, seminari specialistici, etc.) e 15 ore di laboratorio/esercitazioni pratiche.
Le lezioni integreranno la presentazione dei fondamenti teorici con l’analisi di architetture, metodologie e applicazioni di deep learning e generative modelling.
Durante le esercitazioni pratiche, svolte principalmente mediante PyTorch e Jupyter Notebook, gli studenti saranno guidati nella progettazione, implementazione, addestramento e valutazione di modelli di deep learning e modelli generativi, applicando a casi concreti le metodologie presentate durante il corso.
Alcuni argomenti curriculari potranno essere affrontati attraverso seminari tenuti da ricercatori ed esperti internazionali, con particolare attenzione alle metodologie più recenti e alle attuali direzioni di ricerca.
Prerequisiti richiesti
-
Indispensabili
- Conoscenza dei concetti fondamentali delle reti neurali artificiali.
- Buona conoscenza della programmazione Python.
- Conoscenza dei principi fondamentali del machine learning, inclusi training, validation e testing.
Importanti
- Conoscenze di base di algebra lineare, in particolare vettori, matrici e operazioni matriciali.
- Conoscenze di base di analisi matematica, incluse derivate e gradienti.
- Conoscenze di base di probabilità e statistica.
Utili
- Familiarità con librerie Python per il calcolo scientifico e l’analisi dei dati.
- Conoscenza di base dei principali problemi di machine learning, quali classificazione e regressione.
- Familiarità con l’uso di ambienti di sviluppo interattivi, quali Jupyter Notebook.
Frequenza lezioni
La frequenza è fortemente consigliata. La partecipazione attiva alle lezioni, alle esercitazioni pratiche, ai seminari e alle altre attività didattiche costituisce parte integrante del percorso formativo e contribuisce alla valutazione finale.
Contenuti del corso
Il corso è organizzato in due parti principali: Paradigmi di Apprendimento e Deep Learning e Modelli Generativi. Le metodologie presentate saranno accompagnate da esempi pratici e implementazioni mediante PyTorch e Jupyter Notebook, utilizzati trasversalmente nelle diverse parti del corso. Alcuni argomenti avanzati potranno essere approfonditi attraverso seminari tenuti da ricercatori ed esperti internazionali.
PARTE I – PARADIGMI DI APPRENDIMENTO E DEEP LEARNING
- Fondamenti di Deep Learning: reti neurali profonde e backpropagation, funzioni di attivazione e funzioni di loss, algoritmi di ottimizzazione, regolarizzazione e normalizzazione, inizializzazione e strategie di addestramento, generalizzazione nelle reti neurali profonde.
- [Didattica frontale: 4 ore]
- Convolutional Neural Networks: convoluzione, padding, stride, dilation e pooling, convoluzioni 2D e 3D, principali architetture e varianti (AlexNet, VGG, ResNet, DenseNet, Inception), transfer learning, fine-tuning e data augmentation.
- [Didattica frontale: 4 ore - Esercitazione e Laboratorio: 3 ore]
- Recurrent Neural Networks e Sequence Modelling: recurrent neural networks, LSTM e varianti, sequence modelling, limiti delle architetture ricorrenti.
- [Didattica frontale: 2 ore - Esercitazione e Laboratorio: 2 ore]
- Attention e Transformer: meccanismi di attention, self-attention e multi-head attention, positional encoding, architettura Transformer, architetture encoder, decoder ed encoder-decoder, Vision Transformer.
- [Didattica frontale: 4 ore - Esercitazione e Laboratorio: 2 ore]
- Representation Learning e Self-Supervised Learning: representation e feature learning, autoencoder e varianti, contrastive learning (SimCLR, MoCo e varianti), approcci self-supervised non contrastivi, masked modelling e Masked Autoencoder (MAE), Joint-Embedding Predictive Architectures (JEPA), I-JEPA, V-JEPA e varianti, predictive representation learning.
- [Didattica frontale: 6 ore]
- Paradigmi di Apprendimento: supervised e unsupervised learning, self-supervised learning, transfer learning, few-shot e zero-shot learning, in-context learning, continual learning, federated learning.
- [Didattica frontale: 6 ore]
- Reinforcement Learning e Deep Reinforcement Learning: agente, ambiente, stato, azione e reward, Markov Decision Process, funzioni di valore e Q-learning, Deep Q-Network, metodi policy-based, approcci actor-critic.
- [Didattica frontale: 4 ore - Esercitazione e Laboratorio: 2 ore]
- Foundation Models: paradigma dei foundation model, Large Language Models, Vision Foundation Models, Vision-Language Models, foundation model multimodali, foundation model per segmentazione e serie temporali, fine-tuning e parameter-efficient adaptation.
- [Didattica frontale: 6 ore - Esercitazione e Laboratorio: 3 ore]
- Explainable Deep Learning: explainability e interpretability, metodi post-hoc di spiegazione, saliency map e feature attribution, Class Activation Maps (CAM), Grad-CAM e varianti, Integrated Gradients, SHAP, explainability per architetture convoluzionali e Transformer.
- [Didattica frontale: 4 ore]
PARTE II – MODELLI GENERATIVI
- Fondamenti di Deep Generative Modelling: modellazione generativa e discriminativa, modelli generativi espliciti e impliciti, modelli a variabili latenti, rappresentazioni latenti per la generazione.
- [Didattica frontale: 3 ore]
- Variational Autoencoder e varianti: Variational Autoencoder, inferenza variazionale, Evidence Lower Bound (ELBO), reparameterization trick, Conditional VAE, β-VAE, VQ-VAE e varianti, spazi latenti e generazione.
- [Didattica frontale: 3 ore]
- Generative Adversarial Networks e varianti: adversarial learning, formulazione e addestramento delle GAN, DCGAN, Conditional GAN, Wasserstein GAN, CycleGAN, StyleGAN e varianti, instabilità dell’addestramento e mode collapse.
- [Didattica frontale: 3 ore - Esercitazione e Laboratorio: 2 ore]
- Diffusion Models e varianti: principi della modellazione generativa basata su diffusione, processi forward e reverse, Denoising Diffusion Probabilistic Models (DDPM), DDIM, score-based generative modelling, conditional diffusion, classifier guidance e classifier-free guidance, Latent Diffusion Models, Diffusion Transformers (DiT).
- [Didattica frontale: 3 ore - Esercitazione e Laboratorio: 2 ore]
- Modern Generative Modelling: modelli generativi autoregressivi, modelli generativi basati su Transformer, flow-based generative modelling, Flow Matching, Rectified Flow, modelli generativi multimodali, generazione text-to-image, image-to-image e video, applicazioni avanzate e direzioni di ricerca emergenti.
- [Didattica frontale: 4 ore]
Testi di riferimento
- S. J. D. Prince, Understanding Deep Learning, MIT Press, 2023.
- S. Theodoridis, Machine Learning: From the Classics to Deep Networks, Transformers, and Diffusion Models, 3a edizione, Academic Press/Elsevier, 2025.
- P.-Y. Chen, S. Liu, Introduction to Foundation Models, Springer, 2025.
- I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016.
- Materiale didattico, Jupyter Notebook e articoli scientifici recenti selezionati e forniti dal docente.
Considerata la rapida evoluzione del deep learning e dei modelli generativi, i testi saranno integrati con articoli scientifici recenti e materiale di approfondimento relativo agli argomenti più avanzati ed emergenti.
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Fondamenti di Deep Learning | - 1: Chapts 3-6- 2: Chapts 18-20- 4: Chapts 6-8- 5 |
| 2 | Convolutional Neural Networks | - 1: Chapts 10-11- 4: Chapts 9- 5 |
| 3 | Recurrent Neural Networks e Sequence Modelling | - 4: Chapt 10- 5 |
| 4 | Attention e Transformer | - 1: Chapt 10- 5 |
| 5 | Representation Learning e Self-Supervised Learning | - 1: Chapt 14- 4: Chapt 15- 5 |
| 6 | Paradigmi di Apprendimento | 5 |
| 7 | Reinforcement Learning e Deep Reinforcement Learning | - 1: Chapt 19- 5 |
| 8 | Foundation Models | 5 |
| 9 | Explainable Deep Learning | 5 |
| 10 | Variational Autoencoder e varianti | - 1: Chapt 17- 5 |
| 11 | Generative Adversarial Networks e varianti | - 1: Chapt 15- 4: Chapt 20- 5 |
| 12 | Diffusion Models e varianti | - 1: Chapt 18- 5 |
| 13 | Modern Generative Modelling | - 5 |
| 14 | Pytorch | - 5 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
La valutazione finale è articolata nelle seguenti componenti:
- Progetto di Deep Learning / Modelli Generativi (max 13 punti): sviluppo, in gruppi di massimo due studenti, di un progetto in PyTorch, accompagnato da una relazione in formato articolo scientifico. Saranno valutati metodologia, implementazione, protocollo sperimentale, risultati e capacità di discussione critica.
- Presentazione di un articolo scientifico (max 5 punti): presentazione e discussione critica di un articolo selezionato da una lista fornita dal docente o preventivamente approvato.
- Valutazione teorica orale individuale (max 10 punti): domande sugli argomenti trattati durante il corso, inclusi quelli affrontati nei seminari curriculari. La valutazione è individuale e può determinare votazioni differenti tra studenti dello stesso gruppo.
- Frequenza e partecipazione attiva (max 2 punti): saranno valutate la frequenza e la partecipazione attiva alle lezioni, ai seminari e alle altre attività didattiche.
Studenti lavoratori e studenti ufficialmente esonerati dagli obblighi di frequenza: non saranno penalizzati per la mancata frequenza. I 2 punti relativi a frequenza e partecipazione saranno attribuiti sulla base delle altre attività d’esame.
In caso di valutazione insufficiente, potrà essere richiesta la revisione o la realizzazione di un nuovo progetto.
Esempi di domande e/o esercizi frequenti
- Descrivere il funzionamento della backpropagation e il ruolo delle principali strategie di ottimizzazione e regolarizzazione.
- Quali sono le caratteristiche principali delle Convolutional Neural Networks e delle architetture basate su Transformer?
- Descrivere il meccanismo di self-attention e il suo utilizzo nei Transformer.
- Quali sono le principali differenze tra contrastive learning, masked modelling e Joint-Embedding Predictive Architectures (JEPA)?
- Descrivere e confrontare differenti paradigmi di apprendimento, quali self-supervised, continual, federated e reinforcement learning.
- Che cos’è un foundation model e quali strategie possono essere utilizzate per adattarlo a uno specifico downstream task?
- Descrivere il funzionamento e le differenze tra CAM, Grad-CAM e Integrated Gradients.
- Descrivere il principio di funzionamento di un Variational Autoencoder e il ruolo dell’ELBO.
- Descrivere il processo di addestramento di una Generative Adversarial Network e le sue principali criticità.
- Descrivere i processi forward e reverse di un diffusion model e il principio della classifier-free guidance.
- Confrontare VAE, GAN e diffusion models evidenziandone principali caratteristiche, vantaggi e limitazioni.
- Descrivere i principi alla base di Flow Matching e le differenze rispetto ai diffusion models.