Fakultet tehničkih nauka

Predmet: Mašinsko učenje u IoT tehnologijama (22.EAI031)

Matične organizacione jedinice predmeta:
Osnovne informacije:
 
Kategorija Stručno-aplikativni
Uža naučna oblast Elektronika
Multidisciplinarna Ne
ESPB 6
Cilj:

Predmet upoznaje studente sa osnovama projektovanja i korišćenja algoritama mašinskog i dubokog mašinskog učenja u oblastima koje koriste IoT tehnologije. Studenti će naučiti kako da pravilno odaberu algoritam za mašinsko ili duboko mašinsko učenje u zavisnosti od ciljne aplikacije. Ključni preduslov predstavlja razumevanje funkcionisanja i mogućnosti uređaja koji se koriste u oblasti IoT tehnologija (npr. Arduino Nano 33 BLE, RPi Zero, itd.), a koji su po pravilu sa ograničenim resursima i niskim performansama po pitanju procesorske snage, veličine memorije i sl. Studenti će takođe naučiti kako se odgovarajući algoritmi mašinskog učenja realizuju, implementiraju i primenjuju u IoT sistemima (embedded IoT systems), odnosno unutar tzv. Edge AI sistema. Deo predmeta biće posvećen i naprednim temama primene mašinskog učenja na ovakvim sistemima: kriptozaštita, detekcija anomalija i sajber napada, distribuirano i kolaborativno učenje.

Ishod:

Nakon završetka ovog kursa studenti će biti sposobni da: - Razumeju strukturu, funkciju i način funkcionisanja ugrađenih elektronskih IoT sistema - Razlikuju vrste i poznaju karakteristike i mogućnosti primene algoritama mašinskog, dubokog, distribuiranog i kolaborativnog učenja koje mogu da se primene u okviru ugrađenih elektronskih IoT sistema - Odaberu ili čak i razviju optimalne algoritme mašinskog, duboko mašinskog, distribuiranog ili kolaborativnog mašinskog učenja u skladu sa zahtevima ciljne aplikacije - Implementiraju odabrani algoritam na odgovarajućoj platformi koja koristi IoT tehnologiju - Testiraju i analiziraju rezultate rada algoritma na odgovarajućoj hardverskoj platformi koja će biti korišćena u ciljnoj aplikaciji

Sadržaj:

Teorijska nastava - Hardverske platforme koje se koriste u ugrađenim elektronskim IoT sistemima - Algoritmi i modeli mašinskog i dubokog mašinskog učenja koji mogu da se primene na ugrađenim elektronskim IoT sistemima (embedded IoT systems), odnosno unutar takozvanih “Edge AI” sistema - Distribuirano i kolaborativno učenje - Alati za treniranje i implementaciju modela mašinskog učenja prilagođeni platformama sa ograničenim resursima: TensorFlow Lite i Google toolkit - Metode optimizacije kašnjenja, potrošnje energije, modela i veličine koda u memoriji - Različite primene algoritama mašinskog učenja u ugrađenim elektronskim IoT sistemima Napredne teme: primena algoritama mašinskog učenja u okviru ugrađenih IoT sistema koji se bave problemima kripto zaštite, detekcije anomalija, sajber napada, primena blokčejn tehnologija i dr. Praktična nastava Računarske i laboratorijske vežbe koje prate ovaj kurssuosmišljene na takav način da kroz praktičan rad sa postojećim softverskim alatima, ali i sa odgovarajućim hardverskim platformama ograničenih resursa ilustruju sve teorijske koncepte koji će biti obrađivani na predavanjima. U tom smislu je planiran određeni skup vežbi: - Realizacija svih pojedinačnih koraka toka projektovanja u radu sa algoritmima dubokog učenja (postavka cilja, prikupljanje skupa podataka, projektovanje modela arhitekture, treniranje modela, konverzija modela, implementacija modela na odabranu platformu i evaluacija) na konkretnom primeru ciljne aplikacije - Vežbe iz realizacije konkretnih ciljnih aplikacija (detekcija pokreta/osobe/lica/predmeta/reči, klasifikacija objekata, prepoznavanje cifara/brojeva/lica i sl.) na odgovarajućim platformama sa ograničenim resursima (Arduino 33 BLE Sense, Sparkfun Edge, ESP32, RPi Zero i dr.) Neizostavni deo predmeta je samostalni studentski projekat, koji će od svakog studenta zahtevati da implentira konkretan algoritam za dati ugrađeni elektronski IoT sistem i ciljnu aplikaciju. Ovaj projekat će po pravilu biti realizovan kroz saradnju sa kompanijama koje se bave primenom algoritama mašinskog učenja oblastima obrade slike, videa, zvuka, komunikacionim tehnologijama tipa mobilnih komunikacija itd.

Metodologija izvođenja nastave:

Predavanja se izvode uz PowerPoint prezentacije. Praćena su računarskim i laboratorijskim vežbama u Laboratoriji za mikroprocesorske i programabilne sisteme na FTN. Kompanije koje se bave IoT tehnologijama kao i razvojem, implementacijom i primenama algoritama mašinskog učenja u IoT tehnologijama primaće studente na praksu, i omogućiće izradu samostalnih studentskih projekata. Predispitne obaveze činiće uspešno završen i odbranjen samostalni studentski projekat - uslov za izlazak na ispit je 25 od 50 bodova. Kroz kolokvijum na polovini semestra i u prvom ispitnom roku nakon završetka slušanja predmeta može se položiti prvi i drugi deo teorijskog ispita. Teorijski deo ispita moguće je polagati u redovnim ispitnim rokovima ukoliko se ne položi preko kolokvijuma.

Literatura:
Autori Naziv Godina Izdavač Jezik
Q. Yang et al. Federated Learning 2019 Morgan & Claypool Publishers Engleski
M. Merenda et al. “Edge Machine Learning for AI-Enabled IoT Devices: A Review”, in Sensors, 20(9) 2020 MDPI Engleski
P. Warden, D. Situnayake TinyML 2019 O’Reilly Media Inc Engleski
A. Banafa Secure and Smart Internet of Things (IoT) using Blockchain and Artificial Intelligence (AI) 2018 River Publishers Engleski
A. Kapoor Hands-On Artificial Intelligence for IoT: Expert machine learning and deep learning techniques for developing smarter IoT systems 2019 Packt Publishing Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Pismeni deo ispita - kombinovani zadaci i teorija Ne Da 50.00
Predmetni projekat Da Da 50.00
Kolokvijum Ne Ne 25.00
Kolokvijum Ne Ne 25.00
Izvođači nastave:
API Image

prof. dr Mezei Ivan

Redovni profesor

Predavanja
Računarske vežbe
Računarske vežbe
Računarske vežbe
Predavanja
Predavanja