Deep Learning and Generative Models

Anno accademico 2026/2027 - Docente: CONCETTO SPAMPINATO

Risultati 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

  1. S. J. D. Prince, Understanding Deep Learning, MIT Press, 2023.
  2. S. Theodoridis, Machine Learning: From the Classics to Deep Networks, Transformers, and Diffusion Models, 3a edizione, Academic Press/Elsevier, 2025.
  3. P.-Y. Chen, S. Liu, Introduction to Foundation Models, Springer, 2025.
  4. I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016.
  5. 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

 ArgomentiRiferimenti testi
1Fondamenti di Deep Learning- 1: Chapts 3-6- 2: Chapts 18-20- 4: Chapts 6-8- 5
2Convolutional Neural Networks- 1: Chapts 10-11- 4: Chapts 9- 5
3Recurrent Neural Networks e Sequence Modelling- 4: Chapt 10- 5
4Attention e Transformer- 1: Chapt 10- 5
5Representation Learning e Self-Supervised Learning- 1: Chapt 14- 4: Chapt 15- 5
6Paradigmi di Apprendimento5
7Reinforcement Learning e Deep Reinforcement Learning- 1: Chapt 19- 5
8Foundation Models5
9Explainable Deep Learning5
10Variational Autoencoder e varianti- 1: Chapt 17- 5
11Generative Adversarial Networks e varianti- 1: Chapt 15- 4: Chapt 20- 5 
12Diffusion Models e varianti- 1: Chapt 18- 5 
13Modern Generative Modelling- 5
14Pytorch- 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.