Servizi per la didattica
PORTALE DELLA DIDATTICA

Embedded Electronic Systems for AI/ML

01TVUQW

A.A. 2021/22

Course Language

Inglese

Course degree

Master of science-level of the Bologna process in Mechatronic Engineering (Ingegneria Meccatronica) - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in aula 15
Esercitazioni in laboratorio 15
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Lavagno Luciano Professore Ordinario ING-INF/01 15 15 0 0 3
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/01 6 D - A scelta dello studente A scelta dello studente
2021/22
The course is taught entirely in English. The course begins by introducing the main concepts and algorithms behind the most common Machine Learning and Artificial Intelligence methods and algorithms. Then it describes the main hardware platforms used for both training and inferencing, and their impact on the algorithm design and optimization, with a particular focus on embedded platforms and hardware acceleration support. Finally it provides hands-on experience programming some significant applications on commonly used embedded AI platforms (e.g. Movidius, Zynq, ...). It does not require any background on AI or ML, but a solid knowledge of linear algebra, of programming in C/C++ and some knowledge of processor architecture and hardware design.
The course is taught entirely in English. Machine Learning and Artificial Intelligence methods and solutions are being applied to every human activity, from agriculture to zoology. Effective implementation of ML and AI algorithms, in particular in the embedded context, is essential to enable this transition on a broad scale. The course begins by introducing the main concepts and algorithms behind the most common Machine Learning and Artificial Intelligence methods and algorithms. Then it describes the main hardware platforms used for both training and inferencing, and their impact on the algorithm design and optimization, with a particular focus on embedded platforms and hardware acceleration support. Finally it provides hands-on experience of programming some significant applications on commonly used embedded AI platforms (e.g. Movidius, Zynq, ...). It does not require any background on AI or ML, but a solid knowledge of linear algebra, of programming in C/C++ and some knowledge of processor architecture and hardware design.
- Knowledge of the main computational models and algorithms for ML and AI (e.g. regression, Support Vector Machine, Singular Value Decomposition, Neural Networks, ....) - Knowledge of the main platforms to implement training and inferencing (CPUs, GPUs, vector processors, FPGAs, Tensor Processing Units) - Knowledge of the main techniques for training and quantization of Neural Networks (DNNs, CNNs, LSTMs, ...) - Knowledge of some programming environments for some embedded AI/ML platforms - Ability to understand an ML or AI and discuss algorithmic implementation options with AI/ML experts and domain experts - Ability to select the best implementation platform for a given training or inferencing task - Ability to program and optimize an AI/ML application using a variety of acceleration options, from vector processors to FPGAs
- Knowledge of the main computational models and algorithms for ML and AI (e.g. regression, Support Vector Machine, Neural Networks, ....) - Knowledge of the main platforms to implement training and inferencing (CPUs, GPUs, vector processors, FPGAs, Tensor Processing Units) - Knowledge of the main techniques for training and quantization of Neural Networks (DNNs, CNNs, LSTMs, ...) - Knowledge of some programming environments for some embedded AI/ML platforms - Ability to understand an ML or AI application and discuss its algorithmic implementation options with AI/ML experts and application domain experts - Ability to select the best implementation platform for a given training or inferencing task - Ability to program and optimize an AI/ML application using a variety of acceleration options, from vector processors to FPGAs
There is no required background on Machine Learning or Artifical Intelligence A good background is required about: - Linear algebra - C/C++ programming - Processor architecture - Hardware design at Register Transfer Level
There is no required background on Machine Learning or Artifical Intelligence The course requires a good background about: - Linear algebra - C/C++ programming - Processor and memory architecture - Hardware design at Register Transfer Level
- Embedded applications of Artificial Intelligence and Machine Learning (e.g. precision agriculture, robotics, Automated Driver Assistance, Unmanned Aerial Vehicles, medicine, ...) - Main models and their training/inferencing algorithms: regression, Support Vector Machines, Neural Networks (Deep, Convolutional and Recursive), K-Means, SIngular Value Decomposition, Principal Component Analysis - Hardware platforms, in particular for embedded inferencing (but not only): CPUs, GPUs, Vector Processors (e.g. Xeon, Movidius), FPGAs, TPUs, ... - Differences between training and inferencing, and hardware platform requirements - HW design abstraction levels, HW/SW partitioning and HW acceleratoon, C++ for beginners - AI/ML design frameworks, with a particular emphasis on NN training and quantization (e.g. pytorch, tensorflow/keras) - Code optimization and compilation for DSPs and GPUs (e.g. OpenCL, SyCl) - High-level design and synthesis for ML/AI acceleration (e.g. Xilinx Vitis)
- Embedded applications of Artificial Intelligence and Machine Learning (e.g. precision agriculture, robotics, Automated Driver Assistance, Unmanned Aerial Vehicles, medicine, ...) - Main AI/ML models and their training/inferencing algorithms: regression, Support Vector Machines, Neural Networks (Deep, Convolutional and Recursive), SIngular Value Decomposition and Principal Component Analysis, clustering - Hardware platforms, in particular for embedded inferencing (and training, when applicable): CPUs, GPUs, Vector Processors (e.g. Xeon, Movidius), FPGAs, TPUs, ... - Differences between training and inferencing, and hardware platform requirements - HW design abstraction levels, HW/SW partitioning and HW acceleration, C++ and python for beginners - AI/ML design frameworks, with a particular emphasis on NN training and quantization (e.g. pytorch, tensorflow/keras) - Code optimization and compilation for DSPs and GPUs (e.g. OpenCL, SyCl) - High-level design and synthesis for ML/AI acceleration (e.g. Xilinx Vitis)
The lessons will include exercises to reinforce the learning of the course topics. Laboratory sessions will include the use of both training and quantization algorithms for neural networks and of software and hardware compilation and implementation tools
The lessons will include exercises to reinforce the learning of the course topics. Laboratory sessions will include the use of both training and quantization algorithms for neural networks and of software and hardware compilation and implementation tools
- Machine LEarning Yearning https://www.deeplearning.ai/machine-learning-yearning/ - Efficient Processing of Deep Neural Networks: A Tutorial and Survey, https://ieeexplore.ieee.org/document/8114708
- Machine Learning Yearning https://www.deeplearning.ai/machine-learning-yearning/ - Efficient Processing of Deep Neural Networks: A Tutorial and Survey, https://ieeexplore.ieee.org/document/8114708 Slides from the lectures will be made available
Modalità di esame: Prova scritta (in aula); Prova orale facoltativa;
Exam: Written test; Optional oral exam;
... The exam will be composed of - a closed-book written part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes, covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, including to get a 30 lode grade.
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: Written test; Optional oral exam;
The exam will be composed of - a closed-book written part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes, covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, including to get a 30 lode grade.
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.
Modalità di esame: Prova orale facoltativa; Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
The exam will be composed of - a written part, including exercises and quizzes, covering the practical aspects of the course, and - a mandatory oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms
Exam: Optional oral exam; Computer-based written test using the PoliTo platform;
The exam will be composed of - a closed-book written part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes offered via the EXAM platform, covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, including to get a 30 lode grade.
Modalità di esame: Prova orale facoltativa; Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
The exam will be composed of - a written part, including exercises and quizzes, covering the practical aspects of the course, and - a mandatory oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms
Exam: Optional oral exam; Computer-based written test using the PoliTo platform;
The exam will be composed of - a closed-book written part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes offered via the EXAM platform (with respondus if online and without respondus if onsite), covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, including to get a 30 lode grade.
Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti