B0223 - DEEP LEARNING FOR ENGINEERING APPLICATIONS M

Anno Accademico 2023/2024

  • Docente: Claudio Ferrari
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Inglese
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Electronic Engineering for Intelligent Vehicles (cod. 5917)

Conoscenze e abilità da conseguire

This course enables students to manage and develop systems based on deep neural networks. Students will be able to deal with basic DL topologies, to apply supervised and unsupervised approaches, to investigate and understand the concept of latent space, and also to learn more recent advances. Moreover, specific focus will be put on adversarial and generative models. Laboratory activities will be used to allow students to be also able to apply such technologies to a number different problems.

Contenuti

Il corso fornisce le conoscenze di base ed avanzate sulle architetture di deep learning per immagini, affrontando sia aspetti teorici e di dettaglio, sia implementazione e possibili applicazioni. Dopo una parte introduttiva e di allineamento (sui concetti base di machine learning e geometria e algebra), si analizzeranno sia le principali reti neurali profonde discriminative (MLP, CNN, RNN, ...), sia i modelli generativi (auto-encoder, VAE, GAN, ...). Il corso comprende anche una breve introduzione al linguaggio Python e l'uso della libreria PyTorch per implementazione di reti profonde.

Testi/Bibliografia

- I. Goodfellow, Y. Bengio, A. Courville, “Deep Learning”, The MIT Press, 2016
- E. Stevens, L. Antiga, T. Viehmann, “Deep Learning with PyTorch”, Manning Publications
- D. Foster, "Generative Deep Learning", O'Reilly Media, 2019

Metodi didattici

Il corso comprende indicativamente 35 ore di lezioni frontali in aula e 25 ore di esercitazione pratica.

Modalità di verifica e valutazione dell'apprendimento

L'esame consiste in due prove, che possono essere date indipendentemente, sia come sessione sia come ordine.
La prova orale consiste nella lettura e comprensione di un articolo scientifico assegnato dal docente e nella presentazione mediante slides dei suoi contenuti principali (su cui il docente può poi chiedere approfondimenti per verificare l'apprendimento dei concetti teorici presentati durante le lezioni in aula).

La prova pratica consiste nel completare e/o modificare un codice PyTorch fornite durante l'esame per modificare l'architettura della rete proposta, i suoi parametri, le modalità di addestramento o l'obiettivo finale della rete stessa.


Il voto finale è dato dalla media dei voti delle due prove.

Strumenti a supporto della didattica

Il corso prevede l'utilizzo di slides e esempi di codice Python preparati dal docente come materiale aggiuntivo

Orario di ricevimento

Consulta il sito web di Claudio Ferrari