At the end of the course, students will be able to use state-of-the-art tools to implement deep-learning solutions for real-world problems. They will be also able to understand the practical issues posed by advanced deep-learning techniques.
Prerequisiti
The course requires a basic knowledge of the main concepts of machine learning and artificial neural networks. It also requires students to be able to write simple scripts in the Python programming language.
Metodi didattici
The course is delivered in the form of practical exercises in which students reimplement and extend case studies presented by the teachers. Each lecture covers a single topic (e.g., diffusion models). After a brief presentation of the theory, students will be guided through a case study relevant to the topic.
Verifica Apprendimento
To pass the exam, students must prepare reports describing the activities carried out in the lab. As an optional alternative, students attending the lab may replace the reports with short quizzes.
Testi
Material prepared by the teachers and a selection of recommended papers.
Contenuti
The course begins with an introduction to the state-of-the-art frameworks for the development of systems based on deep learning models. Then, it presents the implementation of advanced deep learning models such as convolutional networks, encoder/decoder architectures, and attention mechanisms. Two main topics are addressed. The first is generative AI, and includes experiments in image generation with models like variational autoencoders, generative adversarial networks, and diffusion probabilistic models. Image editing tasks, such as style transfer and image-to-image translation, will also be covered. The second topic concerns the security of AI systems. It includes techniques and methods to design attacks on AI systems and to defend from them. The techniques covered include adversarial attacks, data and model poisoning, and membership inference.