Servizi per la didattica
PORTALE DELLA DIDATTICA

Machine learning for IOT

01TXPSM

A.A. 2021/22

2021/22

Machine learning for IOT

The course aims to introduce the problems related to the implementation of machine learning applications and algorithms on platforms other than high-performance servers available in the cloud.

Machine learning for IOT

The course aims to introduce the problems related to the implementation of machine learning applications and algorithms on platforms other than high-performance servers available in the cloud. Specifically, it introduces the main challenges which arise from the use of portable, low-power devices as (i) the main gateway to collect, pre-process, and exchange raw data, and (ii) as the main hosting node for the inference stages, showing which are the design and optimization techniques available today for App-Developers. This encompasses three main objectives: 1. understand the IoT ecosystems, the IoT/sensor data and how to manage them, the characteristics of the compute architectures available at the edge; 2. how to implement, train, and optimize inference engines that can be ported into a low-power micro-computer (e.g. a smartphone or an embedded sensor); 3. how to let distributed inference nodes communicate each other and/or with a private server.

Machine learning for IOT

The contents and the thus the skills acquired at the end of the course include both the hardware aspects of the problem (architectures of "edge" devices) and the software aspects (programming models, protocols and related APIs). The skills acquired will allow a correct understanding of decentralized systems in which the flow of data is processed not only on servers, but rather locally on devices with reduced computational resources and energy.

Machine learning for IOT

The contents and thus the skills acquired at the end of the course include both the hardware aspects of the problem (architectures of "edge" devices) and the software aspects (programming models, protocols, and related APIs). The skills acquired will allow a correct understanding of IoT infrastructures in which the flow of data is processed not only on servers but rather locally on devices with reduced computational resources and energy budget. At the end of the course, each student will be able to train, optimize, deploy a ML/DL inference engine on a low-power commercial board, and to implement the data-exchange protocols to communicate raw-data and distilled information among distributed end-nodes.

Machine learning for IOT

- Theory and basic concepts of machine-learning - Software programming theories and tools - Object-oriented programming - Basic concepts on computer networks and architectures

Machine learning for IOT

- Theory and basic concepts of machine-learning and deep-learning - Software programming theories and tools - Object-oriented programming - Basic concepts on computer architectures and networks

Machine learning for IOT

● Hardware [30h]: o Computer architectures used for running and developing "edge" machine learning algorithms: ▪ "quantitative" analysis between single/multi-core microprocessors, microcontrollers, DSP, PLC, GPU, etc. ▪ implications on the programming model o Basic knowledge about sensors: filtering, conversion o understanding, modeling and optimization of non-functional metrics (energy, performance) ● Software [24h]: o Classification and taxonomy of ML [4h]: ▪ real problems in IT-industrial applications ▪ machine-learning algorithms o Distributed software for edge computing [20h] ▪ Event processing / sensor fusion ▪ Management of edge-fog-cloud interfaces (web programming/network programming of IoT protocols - REST response and Publish subscribe) ▪ Microservices design patterns ▪ Cloud/edge workload balancing

Machine learning for IOT

The course topics are organized in three main parts: 1. Internet-of-Things: HW and SW technologies adopted on a typical multi-layer IoT architecture, computer architectures used for running and developing "edge" machine learning algorithms, basic knowledge about sensors (sensing technologies, filtering, conversion), modeling of non-functional metrics (energy, performance). 2. Machine and Deep Learning in the IoT: Classification and taxonomy of ML/DL algorithms and methods, industrial framework for model training and optimization, resource-driven model optimization. 3. Data exchange: Distributed software platforms for edge computing, management of edge-fog-cloud interfaces (web programming/network programming of IoT protocols - REST response and Publish subscribe and MQTT), Microservices design patterns, cloud/edge workload balancing. Lab practices will touch upon the above topics, teaching students to implement their own optimization and communication applications using as benchmark real-life use-cases where IoT will be sampled, pre-processed, distilled and communicated with a dedicated server node.

Machine learning for IOT

Machine learning for IOT

Machine learning for IOT

- First Part [8h]: board embedded (e.g., Raspberry, Zynq), configuration of several setting parameters and their exploration, assessment of different FoMs - Second Part [8h]: Management of edge-fog-cloud interface (web/net programming using IoT protocols - REST/ MQTT) - Third Part [8h]: interface with cloud and web services

Machine learning for IOT

The structure of the course reflects the organization of the main topics, with three main teaching blocks organized as follows: Part 1 [18h] - IoT (definitions, architectures, challenges and use-cases); Part 2 [20h] - ML/DL inference models (commercial training and optimization frameworks, resource-driven optimization techniques); Part 3 [12h] - Communication protocols and their implementation (how to send/receive data from/to edge/remote servers) Within each block, there are lab sessions [30h] during which students (group of 2-3 people) can practice with a real software implementation of the "theoretic" concepts and strategies introduced during the regular classes.

Machine learning for IOT

Class handouts and additional material will be made available on the course webpage. User guides for lab sessions will be made available as well.

Machine learning for IOT

Class handouts and additional material will be made available on the course webpage. User guides and tutorials for lab sessions will be made available as well, including code templates and all the needed tools/library.

Machine learning for IOT

Modalità di esame: Prova scritta (in aula); Elaborato scritto individuale; Elaborato progettuale in gruppo;

Machine learning for IOT

The final exam consists of a written test and a group project on some the topics addressed during the course

Machine learning for IOT

Exam: Written test; Individual essay; Group project;

Machine learning for IOT

The exam consists of two mandatory parts: 1. the evaluation of three (3) group projects assigned during the course, one assignment for each of the three main parts of the course, i.e., IoT device programming, ML/DL optimization for edge devices, data exchange protocols); the maximum score for each delivered project is 6 points. 2. a written test on the theoretical aspects introduced during the course, including numerical exercises and open-ended questions. The time allowed for the test is 2 hours, closed books; the maximum score for this part is 12 points. The final score is the sum of the score obtained in the two parts.

Machine learning for IOT

Modalità di esame: Elaborato scritto prodotto in gruppo; Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus); Elaborato progettuale in gruppo;

Machine learning for IOT

The exam includes two main mandatory parts: 1) written test on the theoretical aspects introduced during the course (multiple choice and open-ended questions using the online platform Exam integrated with proctoring tools Respondous); 2) the evaluation of the report on a team project assigned at the end of the course.

Machine learning for IOT

Exam: Group essay; Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus); Group project;

Machine learning for IOT

The exam consists of two mandatory parts: 1. the evaluation of three (3) group projects assigned during the course, one assignment for each of the three main parts of the course, i.e., IoT device programming, ML/DL optimization for edge devices, data exchange protocols); the maximum score for each delivered project is 6 points. 2. a written test on the theoretical aspects introduced during the course, including numerical exercises and open-ended questions. The time allowed for the test is 2 hours, closed books; the maximum score for this part is 12 points. The final score is the sum of the score obtained in the two parts.

Machine learning for IOT

Modalità di esame: Elaborato scritto prodotto in gruppo; Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus); Elaborato progettuale in gruppo;

Machine learning for IOT

The exam includes two main mandatory parts: 1) written test on the theoretical aspects introduced during the course (multiple choice and open-ended questions using the online platform Exam integrated with proctoring tools Respondous); 2) the evaluation of the report on a team project assigned at the end of the course.

Machine learning for IOT

Exam: Group essay; Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus); Group project;

Machine learning for IOT

The exam consists of two mandatory parts: 1. the evaluation of three (3) group projects assigned during the course, one assignment for each of the three main parts of the course, i.e., IoT device programming, ML/DL optimization for edge devices, data exchange protocols); the maximum score for each delivered project is 6 points. 2. a written test on the theoretical aspects introduced during the course, including numerical exercises and open-ended questions. The time allowed for the test is 2 hours, closed books; the maximum score for this part is 12 points. The final score is the sum of the score obtained in the two parts.

Esporta Word


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