CODE 104780 ACADEMIC YEAR 2022/2023 CREDITS 2.5 cfu anno 2 INTERNET AND MULTIMEDIA ENGINEERING 10378 (LM-27) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/03 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester MODULES Questo insegnamento è un modulo di: INTERNET PROGRAMMING AND AUTONOMOUS SYSTEMS TEACHING MATERIALS AULAWEB AIMS AND CONTENT LEARNING OUTCOMES The course is aimed at providing machine learning basic and advanced techniques for data driven signal processing models to be used within autonomous systems design. In particular, perception and control modules in autonomous systems rely more and more on signal processing approaches whose parametrization can be learned from observing multimedia heterogeneous signals produced by the artificial system while performing specific tasks. The course analyses data acquisition and processing tradeoffs between edge and cloud resources on the basis of real-time, computational and energy consumption requirements. Specific attention will be devoted to high dimensional data processing on the edge (with real practical examples in Python), showing how deep learning approaches can be adapted and optimized for working with limited computational capabilities. AIMS AND LEARNING OUTCOMES The student who has successfully followed the teaching of "Multimedia Signal Processing for Autonomous Systems" will be able to understand the fundamental concepts of autonomous systems apply the concepts acquired to implement simple signal processing algorithms analyze and evaluate working solutions to identify their basic structure design, create and verify the functioning of a signal processing algorithm starting from theoretical models In particular, during this teaching the student will learn to: Understand the computational foundation of multimedia signal processing through Python's scientific computing stack Understand single-layer neural networks and the perceptron algorithm Apply linear algebra and calculus for deep learning, optimize parameters with gradient descent approach Use automatic differentiation with PyTorch Train, use and evaluate a variety of deep learning architecture with specific applications to autonomous systems, such as: multilayer perceptrons, convolutional neural networks, recurrent neural networks, autoencoders, variational autoencoders, generative adversarial networks, self-attention and transformer networks. Design and develop simple deep neural networks based architecture for adding new functionalities to autonomous systems TEACHING METHODS The lessons alternate theoretical explanations with practical exercises. Theoretical explanations are frequently exemplified with the analysis, execution, and debugging of code fragments directly on the teacher's PC. All the material seen in class (slides and practical examples) is shared through the AulaWeb and Teams platforms. Students can interact directly with the teacher during lessons or through the Teams platform. SYLLABUS/CONTENT The titles of the main contents discussed during frontal lessons are provided in the following list Introduction Computational foundations Python, Python’s scientific computing stack, data preprocessing and machine learning with scikit-learn) Single-layer neural networks: The perceptron algorithm Mathematical and computational foundations Linear algebra and calculus for deep learning, Parameter optimization with gradient descent, Automatic differentiation with PyTorch Introduction to neural networks Multinomial logistic regression / Softmax regression, Multilayer perceptrons and backpropration, Regularization to avoid overfitting, Input normalization and weight initialization, Learning rates and advanced optimization algorithms Deep learning for computer vision and language modeling Introduction to convolutional neural networks, Convolutional neural networks architectures, Introduction to recurrent neural networks Deep generative models Autoencoders, Variational autoencoders, Introduction to generative adversarial networks, Self-attention and transformer networks RECOMMENDED READING/BIBLIOGRAPHY Lectures slides (downloadable on AulaWeb) Source code developed during the lectures (downloadable on AulaWeb and GitHub) To learn more: Ian Goodfellow, Yoshua Bengio, Aaron Courville, "Deep Learning", The MIT Press 2016 Francois Chollet, "Deep Learning With Python", Manning Pubns Co; 2° edition, 2022 Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities. TEACHERS AND EXAM BOARD LUCIO MARCENARO Ricevimento: On request Exam Board SANDRO ZAPPATORE (President) ALDO GRATTAROLA ROBERTO BRUSCHI (President Substitute) LUCIO MARCENARO (President Substitute) LESSONS LESSONS START https://corsi.unige.it/10378/p/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Development and presentation of a practical project work demonstrating how signal processing can be used to improve the autonomy of an artificial system. ASSESSMENT METHODS The student who takes the "Multimedia Signal Processing for Autonomous Systems" exam is assigned a practical project to be solved through the implementation of signal processing algorithms by using one of the techniques described during the lectures. The implemented system should be able to increase the degree of autonomy of an artificial system by adding smart functionality to it. Through the analysis of the solution developed and presented by the student, it is verified at what level the fundamental concepts of autonomous systems have been understood, how these concepts have been applied for the implementation of the project, if the student is able to analyze and evaluate the functioning of the programs created and how the theoretical models studied in class are applied to design and create the required software. The evaluation of the exams is based on the effectiveness of the system implemented and its performance, on the quality of the project carried out and on the clarity of presentation. Exam schedule Data appello Orario Luogo Degree type Note 17/02/2023 09:00 GENOVA Esame su appuntamento 20/06/2023 09:00 GENOVA Orale 04/07/2023 09:00 GENOVA Orale 18/07/2023 09:00 GENOVA Orale 07/09/2023 09:00 GENOVA Orale 15/09/2023 09:00 GENOVA Esame su appuntamento