The course covers the fundamental concepts of deep learning methods and how to use them for extracting, modelling and visualizing the learned knowledge.
Topics include: 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:
Knowledge and understanding
Applying knowledge and understanding
The main teaching methods are as follows:
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.
The KD module consists of two parts: the first one will be addressing the general and modern techniques based on deep learning paradigm to create KD systems from data, while the second one on how to extract, represent and visualize knowledge from data and trained models.
Part I: Methods and Architectures
Neural Networks and Backpropagation
Convolutional Neural Networks
Recurrent Neural Networks
Part II: Knowledge Discovery from Data and Models
Unsupervised Learning with Deep Networks
Explainable AI
Deep Learning Frameworks:
Applications:
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
Autore | Titolo | Editore | Anno | ISBN |
---|---|---|---|---|
I. Goodfellow, Y. Bengio and A. Courville | Deep Learning | MIT PRESS | 2016 | 978-0262035613 |
I. Pointer | Programming PyTorch for Deep Learning | O'Reilly Media | 2019 | 1492045357 |
Argomenti | Riferimenti testi | |
---|---|---|
1 | Neural networks: derivatives, gradient descent, back-propagation | 3 |
2 | Deep Learning: basic concepts, optimization algorithms, training procedures | 1,3 |
3 | Convolutional Neural Networks | 1,3 |
4 | Explainable AI | 3 |
5 | Recurrent Neural Networks | 1,3 |
6 | Unsupervised Learning with Deep Networks: Representation and Feature Learning | 1,3 |
7 | Autoencoders and Variational Autoencoders | 1,3 |
8 | Generative Adversarial Networks | 1,3 |
9 | Deep Learning Frameworks: PyTorch and Jupyter Notebooks | 2,3 |
The final exam consists of the development of a project in Pytorch, addressing one of the topics discussed during classes, together with a final report (structured as a scientific paper) discussing motivation, models, datasets and results used in the project.
The exam is evaluated according to the ability to create a deep learning model from scratch for extracting and learning knowledge from data on a given real-world problem, to understand how to properly measure its performance and to motivate the devised solutions.
The grading policy for the KD module is:
70%: Final project
30%: Theory test
The vote on the knowledge discovery module will account for 50% of the total grade for the entire course.
The module also foresees intermediate assignments only for students attending the course. These assignments include: a) between 2 and 3 homeworks regarding python scripts to solve simple basic learning problems on datasets discussed during with the instructor and b) a theory test to verify the correct understanding of the presented techniques. The grading policy is this case is the following one
55%: Homeworks
35%: Theory test
10%: Class attendance
Learning assessment may also be carried out on line, should the conditions require it.