DEEP LEARNING Canale unico

Docente coordinatore e verbalizzante: AURELIO UNCINI

Risultati di apprendimento attesi

Sono fornite le nozioni di base e avanzate che riguardo i metodi Deep Learning (DL), le altre metodologie specifiche ad essi riconducibili e i vari contesti applicativi, generalmente riferiti ai “big-data”, oggetto dei metodi DL. In particolare gli obbiettivi formativi riguardano la conoscenza e comprensione: 1) delle architetture di reti neurali profonde (DNNs), definite anche in funzione dei contesti applicativi in cui vengono utilizzate: classificazione, elaborazione di sequenze di dati, modelli generativi; 2) delle diverse modalità di apprendimento per DNNs; 3) delle principali metodologia per la analisi prestazionale dei metodi sviluppati; 4) delle principali librerie utilizzate nel contesto delle DL-DNNs e in particolare TensorFlow 2.x. 5) approfondimento di alcuni contesti applicativi: natural language processing, computer vision e altri.

Prerequisiti

Per poter affrontare il corso DL, lo studente deve aver acquisito le competenze di un insegnamento di Machine Learning di base e le conoscenze, almeno preliminari, del linguaggio Python.

Programma dell’insegnamento

1. Introduzione e prerequisiti:
a. Richiami di Apprendimento supervisionato e non supervisionato.
b. Algoritmi di ottimizzazione stocastica.
c. Architettura di una rete neurale.
d. Backpropagation
e. Lab session: Python e NumPy.

2. Deep neural networks
a. Problema del vanishing gradient
b. Varianti backpropagation per deep neural networks
c. Meccanismi di regolarizzazione
d. Lab session: introduzione a TensorFlow.

3. Deep learning per la computer vision
a. Reti neurali convolutive.
b. Scelta della funzione di attivazione.
c. Tecniche di regolarizzazione avanzate: dropout e batch normalization.
d. Lab session: reti neurali convolutive in TensorFlow.

4. Modelli generativi
a. Autoencoder (AE), AE variazionali (VAE).
b. Generative Adversarial Networks (GAN), Cycle GAN, Diffuse GANs.
c. Deep Convolutional GANs
d. Lab session: modelli generativi.

5. Deep learning per l’analisi di sequenze e testi
a. Tokenization; Word embedding.
b. Meccanismi di attenzione.
c. Reti neurali per sequenze (es., reti neurali ricorrenti, LSTM, GRU, Transformer).
d. “Sequence to sequence”, NLP concetti di base.
e. Lab session: reti neurali ricorrenti in TensorFlow.

Testi di riferimento

A. Uncini, "MeM-AI: Mathematical Elements of Modern Artificial Intelligence", Dispense 2024.

A. Uncini, "Introduction to Neural Networks and Deep Learning", Dispense 2024.

Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola, “Dive into Deep Learning,” CoRR abs/2106.11342 (2021)

Modalità di svolgimento

NO
Didattica a distanza solo in eventi specifici ed eccezionali.

Frequenza

In aula tutti seduti

Modalità di esame

Elaborato finale (tesina) pdf, Presentazione del progetto e dei risultati, eventuale demo 24 pt
Discussione + domanda teoriche 6 pt

Esempi di domande

Approccio end-to-end con le reti neurali profonde;
Architetture e uso delle reti neurali ricorrenti e problema del gradiente che svanisce.
Modelli di autoencoder variazionali e possibili applicazioni.
Modelli generativi e possibili applicazioni.
Problemi etici relativi ai metodi di deep learning
Come implementare un sistema di riconoscimento per un compito specifico - Scelta della architettura di sistema, Implementazione con libreria Tensorflow (o altro), risultati attesi.

  • Anno accademico/1
  • Codice insegnamento10612271
  • Anno e semestre2º anno - 2º semestre
  • TipologiaAttività formative affini ed integrative
  • AmbitoAttività formative affini o integrative
  • SSDING-IND/31
  • Presenza obbligatoriaNo
  • Linguaeng
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore36 classroom hours, 24 training hours