Home Freccia destra Ingegneria Informatica e Intelligenza artificiale L-8 Freccia destra Deep Learning per Applicazioni Avanzate

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

Conoscenza e capacità di comprensione Lo studente dovrà aver acquisito conoscenza e capacità di comprensione: - dei fondamenti teorici dell'addestramento delle reti profonde: backpropagation, differenziazione automatica, ottimizzazione e regolarizzazione; - delle architetture convoluzionali e delle loro applicazioni alla visione artificiale (classificazione, rilevamento, segmentazione); - delle architetture per sequenze (RNN, LSTM, GRU, seq2seq con attenzione) e dell'architettura Transformer; - dei modelli fondazionali e generativi: BERT, GPT, LLM, autoencoder, VAE, GAN e modelli di diffusione; - dei paradigmi di apprendimento avanzati (transfer, self-supervised, few-shot, deep reinforcement learning) e dei temi di interpretabilità, robustezza ed efficienza. Capacità di applicare conoscenza e comprensione Lo studente dovrà sviluppare la capacità di applicare le conoscenze acquisite, con particolare riferimento: - alla progettazione e all'addestramento efficace di reti profonde, con scelta appropriata di attivazioni, inizializzazione, normalizzazione e iperparametri; - alla selezione dell'architettura più adeguata al compito (visione, sequenze, linguaggio, grafi); - all'impiego di modelli pre-addestrati mediante transfer learning e fine-tuning; - all'utilizzo di modelli generativi per compiti di sintesi e rappresentazione; - all'analisi di robustezza, interpretabilità ed efficienza di un modello in vista del deployment in produzione. Abilità di giudizio Lo studente dovrà aver sviluppato capacità di giudizio critico, in particolare: - nell'analisi comparativa delle architetture profonde e nella scelta della soluzione più adeguata al contesto applicativo; - nella valutazione dei compromessi tra capacità del modello, generalizzazione, costo computazionale ed efficienza; - nel riconoscimento dei limiti, dei rischi (adversarial, bias) e delle implicazioni dei modelli fondazionali e generativi. Abilità di comunicare Lo studente svilupperà la capacità di: - esporre concetti, architetture e algoritmi con linguaggio tecnico appropriato e rigoroso; - collegare in modo coerente le famiglie architetturali studiate, evidenziando relazioni evolutive e strutturali; - presentare e discutere soluzioni progettuali in ambito deep learning con chiarezza espositiva. Capacità di apprendimento Lo studente dovrà aver acquisito le basi necessarie per: - proseguire negli studi avanzati in intelligenza artificiale e deep learning; - aggiornare e approfondire le proprie conoscenze attraverso lo studio di articoli scientifici e testi specialistici, in un campo in rapida evoluzione; - sviluppare un metodo di apprendimento fondato sulla comprensione  Conoscenza e capacità di comprensione Lo studente dovrà aver acquisito conoscenza e capacità di comprensione: - dei fondamenti teorici dell'addestramento delle reti profonde: backpropagation, differenziazione automatica, ottimizzazione e regolarizzazione; - delle architetture convoluzionali e delle loro applicazioni alla visione artificiale (classificazione, rilevamento, segmentazione); - delle architetture per sequenze (RNN, LSTM, GRU, seq2seq con attenzione) e dell'architettura Transformer; - dei modelli fondazionali e generativi: BERT, GPT, LLM, autoencoder, VAE, GAN e modelli di diffusione; - dei paradigmi di apprendimento avanzati (transfer, self-supervised, few-shot, deep reinforcement learning) e dei temi di interpretabilità, robustezza ed efficienza. Capacità di applicare conoscenza e comprensione Lo studente dovrà sviluppare la capacità di applicare le conoscenze acquisite, con particolare riferimento: - alla progettazione e all'addestramento efficace di reti profonde, con scelta appropriata di attivazioni, inizializzazione, normalizzazione e iperparametri; - alla selezione dell'architettura più adeguata al compito (visione, sequenze, linguaggio, grafi); - all'impiego di modelli pre-addestrati mediante transfer learning e fine-tuning; - all'utilizzo di modelli generativi per compiti di sintesi e rappresentazione; - all'analisi di robustezza, interpretabilità ed efficienza di un modello in vista del deployment in produzione. Abilità di giudizio Lo studente dovrà aver sviluppato capacità di giudizio critico, in particolare: - nell'analisi comparativa delle architetture profonde e nella scelta della soluzione più adeguata al contesto applicativo; - nella valutazione dei compromessi tra capacità del modello, generalizzazione, costo computazionale ed efficienza; - nel riconoscimento dei limiti, dei rischi (adversarial, bias) e delle implicazioni dei modelli fondazionali e generativi. Abilità di comunicare Lo studente svilupperà la capacità di: - esporre concetti, architetture e algoritmi con linguaggio tecnico appropriato e rigoroso; - collegare in modo coerente le famiglie architetturali studiate, evidenziando relazioni evolutive e strutturali; - presentare e discutere soluzioni progettuali in ambito deep learning con chiarezza espositiva. Capacità di apprendimento Lo studente dovrà aver acquisito le basi necessarie per: - proseguire negli studi avanzati in intelligenza artificiale e deep learning; - aggiornare e approfondire le proprie conoscenze attraverso lo studio di articoli scientifici e testi specialistici, in un campo in rapida evoluzione; - sviluppare un metodo di apprendimento fondato sulla comprensione concettuale e sull'analisi critica delle architetture neurali.  e sull'analisi critica delle architetture neurali.

Testi consigliati

Il docente stabilisce la necessità di integrare il materiale fornito (videolezioni, slide, test di autovalutazione, dispense) con i seguenti testi di riferimento: Testo Principale - I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016. Testi di Approfondimento - C.M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006. - T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning (2nd ed.), Springer, 2009. - S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach (4th ed.), Pearson, 2021. - R.S. Sutton, A.G. Barto, Reinforcement Learning: An Introduction (2nd ed.), MIT Press, 2018.

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.

Propedeuticità

Non sono previste propedeuticità formali. Il corso presuppone tuttavia i contenuti dell'insegnamento di Machine Learning.

Prerequisiti

Per il proficuo raggiungimento degli obiettivi formativi del corso, è auspicabile che lo studente possegga conoscenze pregresse relative ai fondamenti del machine learning e delle reti neurali, ai concetti di probabilità e statistica, nonché alle nozioni fondamentali di algebra lineare e calcolo differenziale, indispensabili per la comprensione degli algoritmi di addestramento delle reti profonde.

Organizzazione didattica

Modalità di Erogazione del Corso Il corso si articola in 7 Moduli per un totale di 45 videolezioni. Sono comprese videolezioni e attività di didattica interattiva. I contenuti delle videolezioni sono parte integrante del programma d'esame, ma per numerosi argomenti sono necessari ulteriori approfondimenti ed è raccomandata la consultazione dei testi indicati dal docente. Attività Didattiche Previste Le attività di didattica, suddivise tra didattica erogativa (DE) e didattica interattiva (DI), saranno costituite da 7 ore per CFU e ripartite secondo una struttura di almeno 2,5 ore di DE (5 ore, tenuto conto della necessità di riascolto) e 2 ore di DI per ciascun CFU. Attività Didattica Erogativa (DE) — 45 ore: 45 videolezioni della durata di circa 30 minuti ciascuna, sempre disponibili in piattaforma didattica (ogni videolezione corrisponde a 1 ora di didattica erogativa considerando la necessità di riascolto). Ogni lezione è corredata da: slide in PowerPoint, dispensa di almeno 10 pagine e test di autovalutazione a risposta multipla. Attività Didattica Interattiva (DI) — 18 ore: 18 ore di esercitazioni interattive in aula virtuale, svolte in modalità sincrona, organizzate in date e orari concordati e su tematiche specifiche del programma per gli studenti che preparano l'esame. Forum di approfondimento tematici: strumento che consente a ciascun studente di proporre argomenti di discussione che verranno successivamente approfonditi insieme al docente. Attività di Autoapprendimento: - Test di autovalutazione con domande a scelta multipla, disponibili alla fine di ogni videolezione. - Dispense e materiale di studio disponibili in piattaforma per l'approfondimento degli argomenti trattati. - Articoli scientifici e risorse bibliografiche aggiuntive disponibili in piattaforma.

Ricevimento studenti

Gli studenti sono ricevuti previo appuntamento tramite mail. Il docente è contattabile al seguente indirizzo e-mail: Prof. Pasquale De Luca — pasquale.deluca@uniroma5.it

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