30562 - MACHINE LEARNING AND ARTIFICIAL INTELLIGENCE
Course taught in English
Go to class group/s: 27
Synchronous Blended: Lessons in synchronous mode in the classroom (for a maximum of one hour per credit in remote mode)
- Basic concepts in machine learning - Programming in Python, including Numpy
The mission of the course is to introduce the students to state-of-the-art approaches of modern artificial intelligence. The course will focus on deep learning architectures at the frontier of current research and applications, including image classification, image generation, translation, reinforcement learning, and more.
- Introduction to AI and Machine Learning;
- Deep learning systems and examples of state-of-the-art capabilities in different domains;
- Basic concepts and basic theoretical background around artificial neural networks;
Gradient descent variants and automatic differentiation techniques;
- Basic tools (PyTorch, ssh, etc.);
- Architectures and implementations for Image Classification and Language Modelling;
- Unresolved issues in deep learning and outlook.
- Describe how state-of-the-art deep learning systems work
- Reproduce the results of state-of-the-art deep learning systems (assuming the computational resources are available)
- Select a sensible architecure when faced with a new problem
- Estimate the computational resources necessary for training and deploying these models
- Identify shortcomings, caveats and limits of state-of-the-art deep learning systems
- Illustrate the pipeline used during training and deploying these models
- Formulate state-of-the-art models in code
- Evaluate current research literature and understand it
- Apply these models using appropriate tools
- Assess and validate the models
- Face-to-face lectures
- Exercises (exercises, database, software etc.)
Face-to-face lectures will introduce fundamental and advanced concepts around modern machine learning and artificial intelligence. During the exercises, the students will (under the guidance of the instructor) implement and train state-of-the-art models partially or fully, and also validate the quality of the trained models.
The final grade will be determined by a group project (50%) and the result of a written individual exam (50%).
The group project will verify that the student is able to design, train and validate a machine learning approach to solve a concrete problem, using the concepts and architectures treated in class. The written individual exam will assess the students' understanding of the theoretical concepts treated in class and also their capability of quantitative reasoning around the models studied.
Non-attending students, or students doing the exams in the sessions after the summer
(September of later) will need to do an individual project.
For each of the two parts there will be a minimum passing grade of 15 (out of 30). The grade of
30 cum laude corresponds to 31. The final grade will be obtained as an average of the two
parts, rounded up. The minimum passing final grade is 18, as usual.
We will use original research works as far as possible. These and additional material will be distributed during the lectures.
Books that will be useful for following the course are:
- Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.
- Shalev-Shwartz, Shai, and Shai Ben-David. Understanding machine learning: From theory to algorithms. Cambridge university press, 2014. (The first few chapters, for the theory parts).
Simon J.D. Prince, Understanding Deep Learning. MIT Press, 2023