Ingegneria Informatica e Intelligenza artificiale L-8
Deep Learning per Applicazioni Avanzate
| Settore scientifico disciplinare | Numero crediti formativi (CFU) | Docente |
| ING-INF/05 (IINF-05/A) | 9 | Luca Pascarella |
Programma del Corso
45 videolezioni articolate in 7 blocchi.
================================================================
BLOCCO I — FONDAMENTI E ADDESTRAMENTO
================================================================
Lezione 1 — Introduzione al Deep Learning avanzato
Panoramica del campo; apprendimento di rappresentazioni gerarchiche;
motivazioni, successi applicativi e sfide aperte.
Lezione 2 — Reti neurali feedforward
Percettrone multistrato; teorema di approssimazione universale;
architettura, strati e capacità rappresentativa.
Lezione 3 — Backpropagation e differenziazione automatica
Grafo computazionale; regola della catena; modalità forward/reverse;
autograd nei framework moderni.
Lezione 4 — Funzioni di attivazione e inizializzazione
Sigmoid, tanh, ReLU e varianti; problema del gradiente evanescente;
inizializzazione Xavier/He.
Lezione 5 — Ottimizzazione delle reti profonde
Discesa del gradiente stocastica; Momentum, RMSProp, Adam; learning
rate scheduling; superfici di perdita.
Lezione 6 — Regolarizzazione e generalizzazione
Penalità L1/L2; early stopping; data augmentation; controllo della
capacità e trade-off bias-varianza.
Lezione 7 — Tecniche di normalizzazione
Batch normalization; layer/instance/group normalization; effetti su
stabilità e velocità di addestramento.
Lezione 8 — Dropout e regolarizzazione stocastica
Dropout come ensemble implicito; DropConnect; rumore stocastico;
inferenza con dropout.
Lezione 9 — Tecniche di addestramento efficace
Curriculum e transfer; gradient clipping; mixed precision;
monitoraggio della convergenza.
Lezione 10 — Profondità e connessioni residue
Degrado con la profondità; blocchi residui (ResNet); skip connection;
reti molto profonde.
Lezione 11 — Iperparametri, tuning e riproducibilità
Ricerca a griglia/random/bayesiana; gestione dei seed; logging ed
esperimenti riproducibili.
================================================================
BLOCCO II — VISIONE E CNN
================================================================
Lezione 12 — Reti convoluzionali: fondamenti
Convoluzione, stride, padding; pooling; condivisione dei pesi; campi
recettivi.
Lezione 13 — Architetture CNN classiche
LeNet, AlexNet, VGG, GoogLeNet/Inception; evoluzione e scelte
progettuali.
Lezione 14 — Reti residue e architetture moderne
ResNet, DenseNet, EfficientNet; blocchi bottleneck; scaling di
profondità/larghezza/risoluzione.
Lezione 15 — Rilevamento di oggetti (object detection)
R-CNN e famiglia; YOLO; SSD; anchor box; metriche mAP e IoU.
Lezione 16 — Segmentazione di immagini
Segmentazione semantica e di istanza; FCN, U-Net, Mask R-CNN;
upsampling e convoluzioni trasposte.
Lezione 17 — Applicazioni avanzate di visione
Stima della posa; super-risoluzione; style transfer; casi d'uso
reali della visione profonda.
================================================================
BLOCCO III — SEQUENZE, LINGUAGGIO E PARLATO
================================================================
Lezione 18 — Reti ricorrenti (RNN)
Elaborazione di sequenze; backpropagation through time; problemi di
gradiente su sequenze lunghe.
Lezione 19 — LSTM e GRU
Celle con gate; memoria a lungo termine; confronto LSTM vs GRU;
applicazioni sequenziali.
Lezione 20 — Sequence-to-sequence e attenzione
Architettura encoder-decoder; meccanismo di attenzione; allineamento;
traduzione automatica.
Lezione 21 — Rappresentazioni del linguaggio
Word embedding (word2vec, GloVe); embedding contestuali; semantica
distribuzionale.
Lezione 22 — Elaborazione del linguaggio naturale
Classificazione del testo; NER; language modeling; pipeline NLP con
reti profonde.
Lezione 23 — Deep learning per il parlato (speech)
Feature acustiche; riconoscimento vocale end-to-end; CTC; sintesi
vocale.
================================================================
BLOCCO IV — TRANSFORMER E MODELLI FONDAZIONALI
================================================================
Lezione 24 — Il Transformer: self-attention
Self-attention e scaled dot-product; multi-head attention; encoding
posizionale; superamento delle RNN.
Lezione 25 — Architetture Transformer
Encoder, decoder, encoder-decoder; connessioni residue e
normalizzazione; varianti architetturali.
Lezione 26 — Modelli encoder pre-addestrati: BERT
Masked language modeling; pre-addestramento e fine-tuning; BERT e
derivati (RoBERTa, ALBERT).
Lezione 27 — Modelli generativi del linguaggio: GPT
Language modeling autoregressivo; architettura solo-decoder; famiglia
GPT; generazione di testo.
Lezione 28 — Large Language Models
Leggi di scala; emergenza; in-context learning; prompting;
instruction tuning e RLHF (cenni).
Lezione 29 — Transformer per la visione e multimodali
Vision Transformer (ViT); modelli multimodali (CLIP); fusione
testo-immagine.
Lezione 30 — Modelli fondazionali e transfer su larga scala
Paradigma pre-train/fine-tune; adattamento efficiente (adapter,
LoRA); riuso su larga scala.
================================================================
BLOCCO V — MODELLI GENERATIVI PROFONDI
================================================================
Lezione 31 — Autoencoder e rappresentazioni latenti
Autoencoder; undercomplete/sparse/denoising; spazio latente;
compressione e denoising.
Lezione 32 — Variational Autoencoder (VAE)
Inferenza variazionale; reparameterization trick; ELBO; generazione
campionando dallo spazio latente.
Lezione 33 — Generative Adversarial Networks (GAN)
Gioco min-max generatore/discriminatore; addestramento avversario;
instabilità e mode collapse.
Lezione 34 — GAN avanzate e applicazioni
DCGAN, WGAN, StyleGAN, conditional GAN; image-to-image (pix2pix,
CycleGAN).
Lezione 35 — Modelli di diffusione
Processi di diffusione forward/reverse; denoising diffusion (DDPM);
score matching; campionamento.
Lezione 36 — Generazione condizionata e text-to-image
Guida condizionata; latent diffusion; modelli text-to-image
(Stable Diffusion, DALL·E); classifier-free guidance.
================================================================
BLOCCO VI — PARADIGMI DI APPRENDIMENTO AVANZATI
================================================================
Lezione 37 — Transfer learning e fine-tuning
Pre-addestramento e trasferimento; feature extraction vs fine-tuning;
domain adaptation.
Lezione 38 — Apprendimento auto-supervisionato
Pretext task; contrastive learning (SimCLR, MoCo); metodi non
contrastivi (BYOL); rappresentazioni senza etichette.
Lezione 39 — Few-shot learning e meta-learning
Apprendimento da pochi esempi; reti prototipiche; MAML;
learning-to-learn.
Lezione 40 — Deep Reinforcement Learning: fondamenti
MDP; Deep Q-Network; experience replay; approssimazione della
funzione valore con reti profonde.
Lezione 41 — Policy gradient e RL avanzato
REINFORCE; metodi actor-critic (A2C/A3C); PPO; RL con reti profonde.
================================================================
BLOCCO VII — TEMI AVANZATI, AFFIDABILITÀ E PRODUZIONE
================================================================
Lezione 42 — Graph Neural Networks
Dati su grafo; message passing; GCN, GAT, GraphSAGE; applicazioni su
grafi.
Lezione 43 — Interpretabilità e spiegabilità (XAI)
Saliency map; Grad-CAM; SHAP e LIME; attribuzione delle feature;
trasparenza dei modelli.
Lezione 44 — Robustezza, adversarial e sicurezza
Esempi avversari (FGSM, PGD); addestramento robusto; attacchi e
difese; affidabilità dei modelli.
Lezione 45 — Efficienza e deployment (MLOps per il DL)
Pruning, quantizzazione,45 videolezioni articolate in 7 blocchi.
================================================================
BLOCCO I — FONDAMENTI E ADDESTRAMENTO
================================================================
Lezione 1 — Introduzione al Deep Learning avanzato
Panoramica del campo; apprendimento di rappresentazioni gerarchiche;
motivazioni, successi applicativi e sfide aperte.
Lezione 2 — Reti neurali feedforward
Percettrone multistrato; teorema di approssimazione universale;
architettura, strati e capacità rappresentativa.
Lezione 3 — Backpropagation e differenziazione automatica
Grafo computazionale; regola della catena; modalità forward/reverse;
autograd nei framework moderni.
Lezione 4 — Funzioni di attivazione e inizializzazione
Sigmoid, tanh, ReLU e varianti; problema del gradiente evanescente;
inizializzazione Xavier/He.
Lezione 5 — Ottimizzazione delle reti profonde
Discesa del gradiente stocastica; Momentum, RMSProp, Adam; learning
rate scheduling; superfici di perdita.
Lezione 6 — Regolarizzazione e generalizzazione
Penalità L1/L2; early stopping; data augmentation; controllo della
capacità e trade-off bias-varianza.
Lezione 7 — Tecniche di normalizzazione
Batch normalization; layer/instance/group normalization; effetti su
stabilità e velocità di addestramento.
Lezione 8 — Dropout e regolarizzazione stocastica
Dropout come ensemble implicito; DropConnect; rumore stocastico;
inferenza con dropout.
Lezione 9 — Tecniche di addestramento efficace
Curriculum e transfer; gradient clipping; mixed precision;
monitoraggio della convergenza.
Lezione 10 — Profondità e connessioni residue
Degrado con la profondità; blocchi residui (ResNet); skip connection;
reti molto profonde.
Lezione 11 — Iperparametri, tuning e riproducibilità
Ricerca a griglia/random/bayesiana; gestione dei seed; logging ed
esperimenti riproducibili.
================================================================
BLOCCO II — VISIONE E CNN
================================================================
Lezione 12 — Reti convoluzionali: fondamenti
Convoluzione, stride, padding; pooling; condivisione dei pesi; campi
recettivi.
Lezione 13 — Architetture CNN classiche
LeNet, AlexNet, VGG, GoogLeNet/Inception; evoluzione e scelte
progettuali.
Lezione 14 — Reti residue e architetture moderne
ResNet, DenseNet, EfficientNet; blocchi bottleneck; scaling di
profondità/larghezza/risoluzione.
Lezione 15 — Rilevamento di oggetti (object detection)
R-CNN e famiglia; YOLO; SSD; anchor box; metriche mAP e IoU.
Lezione 16 — Segmentazione di immagini
Segmentazione semantica e di istanza; FCN, U-Net, Mask R-CNN;
upsampling e convoluzioni trasposte.
Lezione 17 — Applicazioni avanzate di visione
Stima della posa; super-risoluzione; style transfer; casi d'uso
reali della visione profonda.
================================================================
BLOCCO III — SEQUENZE, LINGUAGGIO E PARLATO
================================================================
Lezione 18 — Reti ricorrenti (RNN)
Elaborazione di sequenze; backpropagation through time; problemi di
gradiente su sequenze lunghe.
Lezione 19 — LSTM e GRU
Celle con gate; memoria a lungo termine; confronto LSTM vs GRU;
applicazioni sequenziali.
Lezione 20 — Sequence-to-sequence e attenzione
Architettura encoder-decoder; meccanismo di attenzione; allineamento;
traduzione automatica.
Lezione 21 — Rappresentazioni del linguaggio
Word embedding (word2vec, GloVe); embedding contestuali; semantica
distribuzionale.
Lezione 22 — Elaborazione del linguaggio naturale
Classificazione del testo; NER; language modeling; pipeline NLP con
reti profonde.
Lezione 23 — Deep learning per il parlato (speech)
Feature acustiche; riconoscimento vocale end-to-end; CTC; sintesi
vocale.
================================================================
BLOCCO IV — TRANSFORMER E MODELLI FONDAZIONALI
================================================================
Lezione 24 — Il Transformer: self-attention
Self-attention e scaled dot-product; multi-head attention; encoding
posizionale; superamento delle RNN.
Lezione 25 — Architetture Transformer
Encoder, decoder, encoder-decoder; connessioni residue e
normalizzazione; varianti architetturali.
Lezione 26 — Modelli encoder pre-addestrati: BERT
Masked language modeling; pre-addestramento e fine-tuning; BERT e
derivati (RoBERTa, ALBERT).
Lezione 27 — Modelli generativi del linguaggio: GPT
Language modeling autoregressivo; architettura solo-decoder; famiglia
GPT; generazione di testo.
Lezione 28 — Large Language Models
Leggi di scala; emergenza; in-context learning; prompting;
instruction tuning e RLHF (cenni).
Lezione 29 — Transformer per la visione e multimodali
Vision Transformer (ViT); modelli multimodali (CLIP); fusione
testo-immagine.
Lezione 30 — Modelli fondazionali e transfer su larga scala
Paradigma pre-train/fine-tune; adattamento efficiente (adapter,
LoRA); riuso su larga scala.
================================================================
BLOCCO V — MODELLI GENERATIVI PROFONDI
================================================================
Lezione 31 — Autoencoder e rappresentazioni latenti
Autoencoder; undercomplete/sparse/denoising; spazio latente;
compressione e denoising.
Lezione 32 — Variational Autoencoder (VAE)
Inferenza variazionale; reparameterization trick; ELBO; generazione
campionando dallo spazio latente.
Lezione 33 — Generative Adversarial Networks (GAN)
Gioco min-max generatore/discriminatore; addestramento avversario;
instabilità e mode collapse.
Lezione 34 — GAN avanzate e applicazioni
DCGAN, WGAN, StyleGAN, conditional GAN; image-to-image (pix2pix,
CycleGAN).
Lezione 35 — Modelli di diffusione
Processi di diffusione forward/reverse; denoising diffusion (DDPM);
score matching; campionamento.
Lezione 36 — Generazione condizionata e text-to-image
Guida condizionata; latent diffusion; modelli text-to-image
(Stable Diffusion, DALL·E); classifier-free guidance.
================================================================
BLOCCO VI — PARADIGMI DI APPRENDIMENTO AVANZATI
================================================================
Lezione 37 — Transfer learning e fine-tuning
Pre-addestramento e trasferimento; feature extraction vs fine-tuning;
domain adaptation.
Lezione 38 — Apprendimento auto-supervisionato
Pretext task; contrastive learning (SimCLR, MoCo); metodi non
contrastivi (BYOL); rappresentazioni senza etichette.
Lezione 39 — Few-shot learning e meta-learning
Apprendimento da pochi esempi; reti prototipiche; MAML;
learning-to-learn.
Lezione 40 — Deep Reinforcement Learning: fondamenti
MDP; Deep Q-Network; experience replay; approssimazione della
funzione valore con reti profonde.
Lezione 41 — Policy gradient e RL avanzato
REINFORCE; metodi actor-critic (A2C/A3C); PPO; RL con reti profonde.
================================================================
BLOCCO VII — TEMI AVANZATI, AFFIDABILITÀ E PRODUZIONE
================================================================
Lezione 42 — Graph Neural Networks
Dati su grafo; message passing; GCN, GAT, GraphSAGE; applicazioni su
grafi.
Lezione 43 — Interpretabilità e spiegabilità (XAI)
Saliency map; Grad-CAM; SHAP e LIME; attribuzione delle feature;
trasparenza dei modelli.
Lezione 44 — Robustezza, adversarial e sicurezza
Esempi avversari (FGSM, PGD); addestramento robusto; attacchi e
difese; affidabilità dei modelli.
Lezione 45 — Efficienza e deployment (MLOps per il DL)
Pruning, quantizzazione, distillazione della conoscenza; serving;
MLOps e ottimizzazione per l'inferenza.
distillazione della conoscenza; serving;MLOps e ottimizzazione per l'inferenza.
Obiettivi Formativi
L'insegnamento fornisce allo studente le basi teoriche e metodologiche del Deep Learning avanzato, con l'obiettivo di sviluppare la capacità di progettare, addestrare e valutare reti neurali profonde per applicazioni complesse nei domini della visione artificiale, del linguaggio naturale e dei modelli generativi.
Il percorso muove dai fondamenti dell'addestramento delle reti profonde — backpropagation, ottimizzazione, regolarizzazione, normalizzazione e tuning degli iperparametri — per poi affrontare le principali famiglie architetturali: reti convoluzionali per la visione, reti ricorrenti per le sequenze, e l'architettura Transformer con i modelli fondazionali che ne derivano (BERT, GPT, Large Language Models, modelli multimodali).
Il corso dedica ampio spazio ai modelli generativi profondi (autoencoder, VAE, GAN, modelli di diffusione e generazione text-to-image) e ai paradigmi di apprendimento avanzati (transfer learning, apprendimento auto-supervisionato, few-shot learning, deep reinforcement learning). La parte finale affronta le Graph Neural Networks, l'interpretabilità (XAI), la robustezza contro attacchi adversarial e le tecniche di efficienza e deployment dei modelli in produzione.
Al termine del corso lo studente avrà acquisito:
- padronanza delle tecniche di addestramento, regolarizzazione e ottimizzazione delle reti neurali profonde;
- conoscenza delle principali architetture per visione, sequenze e linguaggio (CNN, RNN, Transformer);
- comprensione dei modelli fondazionali e dei Large Language Models;
- capacità di analizzare e confrontare i modelli generativi profondi (VAE, GAN, diffusione);
- familiarità con le problematiche di interpretabilità, robustezza,
L'insegnamento fornisce allo studente le basi teoriche e metodologiche del Deep Learning avanzato, con l'obiettivo di sviluppare la capacità di progettare, addestrare e valutare reti neurali profonde per applicazioni complesse nei domini della visione artificiale, del linguaggio naturale e dei modelli generativi.
Il percorso muove dai fondamenti dell'addestramento delle reti profonde — backpropagation, ottimizzazione, regolarizzazione, normalizzazione e tuning degli iperparametri — per poi affrontare le principali famiglie architetturali: reti convoluzionali per la visione, reti ricorrenti per le sequenze, e l'architettura Transformer con i modelli fondazionali che ne derivano (BERT, GPT, Large Language Models, modelli multimodali).
Il corso dedica ampio spazio ai modelli generativi profondi (autoencoder, VAE, GAN, modelli di diffusione e generazione text-to-image) e ai paradigmi di apprendimento avanzati (transfer learning, apprendimento auto-supervisionato, few-shot learning, deep reinforcement learning). La parte finale affronta le Graph Neural Networks, l'interpretabilità (XAI), la robustezza contro attacchi adversarial e le tecniche di efficienza e deployment dei modelli in produzione.
Al termine del corso lo studente avrà acquisito:
- padronanza delle tecniche di addestramento, regolarizzazione e ottimizzazione delle reti neurali profonde;
- conoscenza delle principali architetture per visione, sequenze e linguaggio (CNN, RNN, Transformer);
- comprensione dei modelli fondazionali e dei Large Language Models;
- capacità di analizzare e confrontare i modelli generativi profondi (VAE, GAN, diffusione);
- familiarità con le problematiche di interpretabilità, robustezza, efficienza e deployment dei modelli.
e deployment dei modelli.Risultati di apprendimento attesi
Testi consigliati
Modalità di accertamento dei risultati di apprendimento acquisiti dallo studente
Propedeuticità
Prerequisiti
Organizzazione didattica
Ricevimento studenti
Lezioni
I principi fondamentali del Prompt Engineering
Il secondo principio - La strutturazione del formato
Il terzo principio - Fornire degli esempi
Quarto principio - La valutazione della qualità
Quinto principio - La divisione del lavoro
Introduzione agli LLM
Le architetture Transformer
Il funzionamento di un LLM
Gli LLM per la generazione del testo
Il Prompt Engineering applicato a ChatGPT
Il chunking nei LLM
Dagli Instruct ai Chat Tools
Progettare applicazioni LLM
Gestione del contenuto nei sistemi basati su LLM
Progettare Prompt Efficaci
Function Calling con LLM
Meta prompting
LangChain per il Prompt Engineering
LangChain: Funzionalità avanzate
Creazione e utilizzo di catene di LLM Chains e Agents
Text-processing con LangChain
RAG con LangChain
Utilizzo della Memoria nei LLM
Integrazione tra Prompt Engineering e Diffusion Models
Altri modelli e scelta del modello di LLM
Workflow con LLM
Generazione di immagini con Midjourney
Tecniche avanzate per generazione di immagini con Stable Diffusion
La progettazione di un'applicazione AI-driven