- Docente: Matteo Ferrara
- Credits: 6
- SSD: IINF-05/A
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Cesena
-
Corso:
Second cycle degree programme (LM) in
Computer Science and Engineering (cod. 6699)
Also valid for Second cycle degree programme (LM) in Computer Science and Engineering (cod. 6699)
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:
- C. M. Bishop, and H. Bishop, "Deep Learning: Foundations and Concepts", Springer, 2024.
- 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 can be taken in one of the following ways:
- development and discussion of a Deep Learning project, complemented by an additional question on the course topics to assess the student's theoretical understanding;
- comprehensive oral examination covering the entire course syllabus.
The final grade will take into account the student's theoretical knowledge, practical application skills, and ability to critically analyze and discuss the topics covered in the course.
Note: students with specific learning difficulties (SLDs) or temporary or permanent disabilities are recommended to contact the responsible University office in due time. The office will suggest any necessary adjustments to the interested students. These adjustments must be submitted to the professor for approval at least 15 days in advance, who will evaluate their appropriateness in relation to the course's educational objectives.
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.