91250 - Deep Learning

Academic Year 2023/2024

  • Docente: Matteo Ferrara
  • Credits: 6
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Computer Science and Engineering (cod. 8614)

Learning outcomes

The course aims at providing advanced skills (both theoretical and practical) on machine learning and, in particular, on deep learning.
At the end of the course the student will be able to:

  • in-depth train and optimize deep learning approaches;
  • choose and customize the most appropriate techniques to be used in real application scenarios;
  • use advanced deep learning techniques.

Course contents

  • Introduction to deep learning
  • Linear algebra, calculus and automatic differentiation
  • Artificial neural networks
  • Backpropagation
  • Optimization algorithms
  • Convolutional Neural Networks (CNN)
  • Recurrent Neural Networks (RNN)
  • Transformers
  • AutoEncoders (AE)
  • Generative models
  • Reinforcement Learning (RL)
  • Natural Language Processing (NLP) (a practical example)

Readings/Bibliography

Slides of the course.

Suggested reading:

Teaching methods

Lectures + Practical (guided) sessions in lab.

Note: as concerns the teaching methods of this course unit, all students must attend the online e-learning modules 1 and 2 on health and safety.

Assessment methods

The examination consists of the realization and discussion of a deep learning project and an oral test.

Teaching tools

Software libraries and tools for deep learning:

  • Python
  • Jupyter
  • Tensorflow
  • Keras

Office hours

See the website of Matteo Ferrara

SDGs

Quality education

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.