- 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)
-
from Feb 19, 2024 to May 27, 2024
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:
- F. Chollet, "Deep Learning with Python (2nd edition)", Manning Publications Co., USA, 2021.
- A. Zhang, Z. C. Lipton, M. Li, and A. J. Smola, "Dive into Deep Learning", 2020.
- M. Elgendy, "Deep Learning for Vision Systems", Manning Publications Co., USA, 2020.
- A. Geron, “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems”, O'Reilly Media, Inc., USA, 2019.
- M. Nielsen, "Neural Networks and Deep Learning", 2019.
- I. Goodfellow, Y. Bengio, and A. Courville, "Deep Learning", MIT Press, 2016.
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
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.