30678 - MACHINE LEARNING (MODULE II - DEEP LEARNING)
Department of Computing Sciences
Course taught in English
Go to class group/s: 45
Course Director:
LUCA BIGGIO
LUCA BIGGIO
Suggested background knowledge
The prerequisites for this course include a solid understanding of calculus, linear algebra, probability, and statistics, along with basic prior programming experience in Python.
Mission & Content Summary
MISSION
The course offers an introduction to Deep Learning (DL), with a focus on recent advances in Natural Language Processing (NLP). It is structured into lectures that cover the fundamental concepts of the field, complemented by practical tutorials and exercises, where these concepts are further expanded and practically implemented through live coding sessions (mainly in Python).
CONTENT SUMMARY
The course is organized along the following themes:
- Recap of Machine Learning (ML) fundamentals.
- Introduction to Neural Networks and the connectionist paradigm: from the perceptron to Multi-Layer Perceptrons (MLPs), universality theorems, the backpropagation algorithm, and principles of Neural Network design.
- The rise of Deep Learning: Convolutional Neural Networks (CNNs), regularization techniques, and residual connections. Basics of Recurrent Neural Networks (RNNs), attention mechanisms, and Transformers.
- Introduction to Natural Language Processing (NLP): text preprocessing, static and contextual word embeddings, language modelling, and neural approaches to text processing—from neural machine translation to modern large language models (LLMs).
Intended Learning Outcomes (ILO)
KNOWLEDGE AND UNDERSTANDING
At the end of the course student will be able to...
- Understand the motivations, historical origins, and evolution of Deep Learning.
- Recognize the strengths, limitations, and appropriate applications of neural networks.
- Grasp the key architectural and design principles underlying modern Deep Learning systems.
- Understand the fundamental concepts of Natural Language Processing (NLP) and the technical aspects of applying modern Deep Learning methods to NLP tasks.
APPLYING KNOWLEDGE AND UNDERSTANDING
At the end of the course student will be able to...
- Design, implement, and evaluate Deep Learning algorithms for a range of tasks.
- Translate research concepts and ideas into practical implementations and real-world applications.
- Employ advanced Deep Learning frameworks and platforms effectively.
Teaching methods
- Lectures
- Individual works / Assignments
DETAILS
- Core lectures: Face-to-face lectures introducing students to the core concepts of the course.
- Tutorial sessions: for deeper exploration of advanced topics.
- Practical exercise sessions: focused on coding, hands-on assignments, and in-class implementation.
Assessment methods
Continuous assessment | Partial exams | General exam | |
---|---|---|---|
|
x | ||
|
x |
ATTENDING STUDENTS
Some individual assignments during the semester (30% of the final grade) + an end of semester reduced written exam (70% of the final grade).
NOT ATTENDING STUDENTS
A single full written exam (100% of the final grade).
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
- Slides and notes will be provided throughout the course. Within these resources, additional readings will be provided to students to expand on more advanced topics.
- Books:
- Bishop, Chris, and Bishop, Hugh. Deep Learning: Foundations and Concepts, Springer, 2024
- Prince, Simon J.D. "Understanding Deep Learning". MIT press (2023)
- Goodfellow, Ian, et al. Deep learning. Vol. 1. No. 2. Cambridge: MIT press, 2016.
Last change 29/08/2025 16:49