MATEMATICA E INFORMATICAData ScienceAnno accademico 2024/2025
9796558 - DEEP LEARNING
Modulo ADVANCED
Docente: GIOVANNI BELLITTO
Risultati di apprendimento attesi
The course covers the fundamental concepts of machine and deep learning methods and how to use them for extracting, modelling and visualizing the learned knowledge.
Topics include: linear and logistic regression, support vector machines, neural networks with backpropagation, convolutional neural networks, recurrent neural networks, methods for representation learning, and how to use them under different learning regimes (supervised, unsupervised and reinforcement learning) and in variety of real-world applications ranging from computer vision, machine translation and medical image analysis.
The learning objectives are:
- to understand and use the main methodologies and techniques for learning from data
- to understand the main methodologies to design and implement machine learning methods for real-world applications
- to understand how to extract and learn knowledge in scenarios when supervision cannot be provided
- to understand and foresee the reliability of machine learning methods in operational scenarios.
Knowledge and understanding
- To understand the main concepts of learning from data
- To understand concepts and tools for building intelligent systems using supervision and no supervision
- To understand the most important machine learning and artificial intelligence methodologies and techniques used by industries to make sense of data in order to support the decision process
- To understand what are the most appropriate techniques to be used in different real-world applications
Applying knowledge and understanding
- To be able to effectively understand and use the main tools for creating, loading and manipulating datasets.
- To design and implement from scratch a machine learning system following application-derived constraints in terms of modelling and data
- To understand proper benchmarks and baselines and analysing achieved results and their generalization in real-world applications
- To be able to apply methodologies and techniques to analyse data.
Making judgements
- To be able to identify the most suitable model to address a complex data analysis problem
- To be able to identify the motivations of underfitting and overfitting by a specific model
- To Iteratively refine a model by designing specific models to learn desired features
Communication
- Learning how to discuss critically the pros and cons of deep learning techniques
Lifelong learning skills
- To be able to design a sound and complete methodological approach given a real-world data analysis problem
- To gain independence in handling machine learning techniques beyond the ones presented during the course
- To design and develop robust, calibrated, effective and efficient deep learning-based pipelines adapted to specific problems
Modalità di svolgimento dell'insegnamento
The main teaching methods are as follows:
- Lectures, to provide theoretical and methodological knowledge of the subject;
- Hands-on exercises, to provide “problem solving” skills and to apply design methodology;
- Laboratories, to learn and test the usage of related tools.
- Paper reading and presentations to enhance understanding of the core concepts
- Seminars by renowned experts (from both universities and industries) in the field to understand the current state of the art.
Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.
Prerequisiti richiesti
Python programming language, statistical learning basic concepts
Frequenza lezioni
Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment of the final exam.
Contenuti del corso
Testi di riferimento
Pattern Recognition and Machine Learning, C. Bishop, 2006
Deep Learning. I. Goodfellow, Y. Bengio and A. Courville, MIT Press, 2016
Programming PyTorch for Deep Learning, I. Pointer, O'Reilly Media
Teaching materials and reading paper list provided by the instructor
Programmazione del corso
| | Argomenti | Riferimenti testi |
| 1 | Linear and Logistic Regression | 1 |
| 2 | Feature and model selection | 1 |
| 3 | Non-linear classification | 1 |
| 4 | Neural networks: derivatives, gradient descent, back-propagation | 1 |
| 5 | Deep Learning: basic concepts, optimization algorithms, training procedures | 1,3 |
| 6 | Convolutional Neural Networks | 1,3 |
| 7 | Explainable AI | 3,4 |
| 8 | Recurrent Neural Networks | 1,3 |
| 9 | Attention mechanisms and Transformers | 3 |
| 10 | Unsupervised Learning with Deep Networks: Representation and Feature Learning | 1,3 |
| 11 | Autoencoders and Variational Autoencoders | 1,3 |
| 12 | Generative Adversarial Networks | 1,3 |
| 13 | Diffusion models | 3 |
| 14 | Deep Learning Frameworks: PyTorch and Jupyter Notebooks | 2,3 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Esempi di domande e/o esercizi frequenti
Examples of questions and exercises are available on the Studium platform and on the course website.
English version