The course addresses the core issues in modern artificial intelligence and machine learning, with a special focus on advanced algorithms and theory of shallow and deep machine learning. Lab activities will equip students with first-hand experience on modern optimization methods and programming framework most used in advance research and companies as of today, and to have first hand experiences on the properties of such algorithms on specific case studies.
The course focuses on key methodologies for data analysis and artificial intelligence, specifically machine learning. It aims to equip students with the necessary tools to comprehend how systems can learn from data, recognize patterns, and make informed decisions. The curriculum covers both the theoretical foundations and practical aspects of shallow and deep learning models. It provides a comprehensive overview of convolutional neural networks, encompassing contemporary architectures and showcasing advanced algorithms for computer vision applications. Through lab activities, students will gain practical knowledge about the characteristics of these algorithms and develop strategies for designing innovative solutions. Additionally, they will gain firsthand experience with state-of-the-art optimization methods and programming frameworks commonly utilized in advanced research and industry settings.
- Knowledge of the main characteristics of artificial intelligence: historical overview and modern definition
- Knowledge of how to formalize a learning problem from the mathematical foundations of the optimization objectives to the composition of a deep architecture
- Knowledge of the main characteristics of modern deep learning techniques with practical engineering tricks for end-to-end training and fine-tuning the networks
- Basic knowledge about how to deal with research questions, how to organize a project and prepare a scientific conference report
- Knowledge of the main characteristics of artificial intelligence: historical overview and modern definition
- Knowledge of how to formalize a learning problem from the mathematical foundations of the optimization objectives to the composition of a deep architecture
- Knowledge of the main characteristics of modern deep learning techniques with practical engineering tricks for end-to-end training and fine-tuning the networks
- Basic knowledge about how to deal with research questions, how to organize a project and prepare a scientific conference report
- Linear Algebra
- Probability theory concepts
- Basic concepts of decision theory (model optimization)
- Python: Basic elements
- Linear Algebra
- Probability theory concepts
- Basic concepts of decision theory (model optimization)
- Python: Basic elements
- Artificial Intelligence: historical definition, brief overview, modern definition and current role of machine and deep learning
- Overview of fundamental knowledge of probability
- Overview of decision theory: loss, risk, Probably Approximately Correct (PAC) Learning
- Perceptron - Support Vector Machines beyond classification
- Artificial Neural Networks
- Convolutional Neural Networks basic algorithms: Backpropagation and Stochastic Gradient Descent
- Training a CNN (data preprocessing, weight initialization and hyperparameter optimization)
- Visualizing and Understanding the CNN inner working
- Multi-Task and Structured Output Learning (Semantic Segmentation and Detection)
- Unsupervised and Metric Learning (Siamese networks and Contrastive Learning for Retrieval)
- Generative Networks (Autoencoders and GANs) - Recurrent Neural Networks
- Learning with few samples and across domains
- Active and Incremental learning
- Basic concepts and networks for Reinforcement Learning
Part 1 (16h)
- Artificial Intelligence: historical definition, brief overview, modern definition and current role of machine and deep learning
- Overview of fundamental knowledge of probability
- Overview of decision theory: loss, risk, Probably Approximately Correct (PAC) Learning
- K-nearest-neighbour
- Principal Component Analysis for dimensionality reduction
- K-means Clustering
- Perceptron and Support Vector Machines
- Cross Validation
+ 3h python crash course and exercises
+ 5h lab. practice on K-nearest neighbor, Support Vector Machines, and Cross-Validation
Part 2 (16h)
- Artificial Neural Networks
- Convolutional Neural Networks basic algorithms: Backpropagation and Stochastic Gradient Descent
- CNN architectures overview (from Alexnet to ResNet and Transformers)
- Training a CNN (data preprocessing, weight initialization and hyperparameter optimization)
- Visualizing and Understanding the CNN inner working
+ 3h pythorch crash course and exercises
+ 3h CNN classification exercises
Part 3 (10h)
- Multi-Task and Structured Output Learning (Semantic Segmentation and Detection)
- Unsupervised and Metric Learning (Siamese networks and Contrastive Learning for Retrieval)
- Generative Networks (Autoencoders and GANs)
- Recurrent Neural Networks
- Transfer Learning, learning with few samples and across domains
+ 4h adversarial learning and domain adaptation exercises
- 48 hours of lectures (theory section)
- 12 hours of 'laboratory' exercises (practical section)
- 42 hours of lectures (theory section)
- 18 hours of 'laboratory' exercises (practical section)
Slides + State of the art deep learning top conference and journal papers.
Optional - specific pointers to chapters of the following books will be indicated during the lectures.
Artificial Intelligence: A Modern Approach S. Russell, P.Norvig
Deep Learning by I. Goodfellow, Y. Bengio, A. Courville.
Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz and Shai Ben-David
Machine Learning: a Probabilistic Perspective by Kevin P. Murphy
The Elements of Statistical Learning, T. Hastie, R. Tibshirani, and J. Friedman
Pattern Recognition and Machine Learning, Christopher M. Bishop
Machine Learning, Tom M. Mitchell A Course in Machine Learning, Hal Daumé III
Neural Networks - a Systematic Introduction, Raul Rojas
Slides + State of the art deep learning top conference and journal papers.
Optional - specific pointers to chapters of the following books will be indicated during the lectures.
Artificial Intelligence: A Modern Approach S. Russell, P.Norvig
Deep Learning by I. Goodfellow, Y. Bengio, A. Courville.
Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz and Shai Ben-David
Machine Learning: a Probabilistic Perspective by Kevin P. Murphy
The Elements of Statistical Learning, T. Hastie, R. Tibshirani, and J. Friedman
Pattern Recognition and Machine Learning, Christopher M. Bishop
Machine Learning, Tom M. Mitchell A Course in Machine Learning, Hal Daumé III
Neural Networks - a Systematic Introduction, Raul Rojas
Slides; Video lezioni dell’anno corrente;
Lecture slides; Video lectures (current year);
Modalità di esame: Prova orale obbligatoria; Elaborato progettuale in gruppo;
Exam: Compulsory oral exam; Group project;
...
- group project (50%): the students are asked to test pre-existing code of state of the art deep learning models and to understand its functioning. Each group prepares slides and organize a short presentation to discuss the literature related to the chosen project topic and report on the observed behavior of the models.
- individual evaluation (50%): questions on the theory and laboratory (exercises) part of the course program.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Compulsory oral exam; Group project;
- group project (50%): the students are asked to use pre-existing code of state-of-the-art deep learning models, run experiments, and test some suggested extensions.
The teams can choose among a set of proposed topics and will submit 10 days before the oral exam a PDF report of 8 pages in IEEE paper format.
This part of the exam aims at evaluating the students' ability to understand deep learning code, prepare a rigorous experimental evaluation campaign, as well as report and discuss the obtained results.
The evaluation process includes a check on the code and a review of the submitted pdf report.
Extra points (for honors, "lode") are assigned to original, well-justified, and experimentally validated method extensions proposed by the students.
- individual evaluation (50%): questions on the project, as well as theory and laboratory part of the course program.
This part of the exam aims at verifying the equal contribution of all the authors to the project work. The students are asked to present the work done in the project. The content and timing of the presentation will be evaluated as well as the answers to individual questions. The students are also asked about more general theory topics presented in class.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.