Fakultet tehničkih nauka

Predmet: Razvoj hardvera za sisteme dubokog učenja sa nagrađivanjem (22.EAI026)

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

Cilj predmeta je da studente upozna sa osnovama primene, kao i projektovanja i implementacije sistema za učenje putem nagrađivanja (Reinforcement Learning). Ovi sistemi predstavljaju moćnu paradigmu autonomnih sistema koji samostalno uče kako da donose dobre odluke u različitim zadacima, uključujući robotiku, igranje igara, modelovanje potrošača, zdravstvenu zaštitu, marketing. Studenti će se upoznati sa osnovnim konceptima oblasti učenja kroz nagrađivanje, naučiti da koriste već postojeća softverska rešenja i biblioteke za treniranje sistema, ali i osmisle i dizajniraju sopstveno “okruženje” sa sopstvenim sistemom nagrađivanja i algoritmom treniranja putem nagrađivanja. Takođe, studenti će biti upoznati sa korišćenjem dubokog učenja sa nagrađivanjem (Deep Reinforcement Learning), obećavajućeg, novog, pristupa koji kombinuje tehnike dubokog učenja (Deep Learning) sa konceptom učenja kroz nagrađivanje.

Ishod:

Nakon završetka ovog kursa studenti će biti sposobni da: - Definišu osnovne karakteristike učenja kroz nagrađivanje, koje ga razlikuju od ostalih koncepata u oblasti veštačke inteligencije i mašinskog učenja bez interakcije - Za datu aplikaciju prepoznaju da li se ona može formulisati kao problem koji se rešava uz učenje sa nagrađivanjem, definišu problem formalno, u terminima prostora stanja, prostora akcija, dinamike i modela nagrađivanja i odaberu najprikladniji algoritam za rešavanje. - Implementiraju i testiraju tipične algoritme za rad sa sistemima za učenje sa nagrađivanjem koristeći već dostupna softverska “okruženja” - Projektuju sopstveno “okruženje” koje će biti korišćeno kao platforma za implementaciju i testiranje - Koriste standardne softverske alate za dizajniranje i treniranje dubokih mreža za učenje sa nagrađivanjem - Implementiraju u hardveru duboke mreže za učenje sa nagrađivanjem i integrišu svoj dizajn sa datim ulazno/izlaznim periferijama

Sadržaj:

Teorijska nastava - Uvod, upoznavanje sa fundamentalnim konceptima teorije učenja sa nagrađivanjem: linearna algebra, teorija verovatnoće, konačni Markovljevi procesi sa odlučivanjem (eng. Finite Markov Decision Processes – MDP) - Tabelarno planiranje Markovljevog procesa sa odlučivanjem: agent-okruženje interfejs, cilj i nagrada, vrednosna funkcija (eng. Value Function), Q funkcija (eng. Q function), polisa, optimalna polisa, optimalna vrednosna funkcija, optimalna Q funkcija - Rešavanje optimalne polise korišćenjem dinamičkog programiranja: evaluacija polise (eng. Policy evaluation), poboljšanje polise (eng. Policy improvement), iteracija polise (eng. Policy iteration), iteracija vrednosti (eng. Value iteration) - Monte-Karlo metode za estimiranje vrednosnih funkcija i pronalaženje optimalnih polisa, Monte-Karlo predikcija, Monte-Karlo estimacija vrednosti stanje-akcija parova, Monte-Karlo aprokcimacija optimalne polise - Aproksimativne metode za velike prostore stanja: aproksimacija funkcije polise, aprokcimacija funkcije kontrole (Q funkcije), metod gradijenta polise (eng. Policy gradient method), duboke Q mreže (DQN) - Hardverska implementacija mreža za duboko učenje sa nagrađivanjem - Primene sistema za učenje sa nagrađivanjem: veze ovih sistema sa psihologijom i neurologijom, primena u igrama (primeri igara, izazovi), pregled primene u robotici Praktična nastava - Uvod u rad sa programskim jezikom Python, instalacija Python virtualnog okruženja kao i svih potrebnih paketa, instalacija Gym OpenAI biblioteke. Implementacija jednostavnog modela za učenje sa nagrađivanjem korišćenjem tabelarnog planiranja Markovljevog procesa sa odlučivanjem - Implementacija modela sistema za učenje sa nagrađivanjem, korišćenjem postojećeg Python Gym OpenAI okruženja (stanja, akcije, tranzicije, nagrade): mountain car, pendulum, car racing, ATARI games - Dizajn i implementacija sistema za učenje sa nagrađivanjem baziranog na prilagođenom, sopstvenom Python Gym okruženju - Korišćenje Python-a i Google Tensorflow-a kao standardnih softverskih alata za implementaciju kompleksnog sistema za učenje sa nagrađivanjem baziranog na dubokoj Q mreži (DQN) - Hardverska implementacija DQN-a, integracija sistema sa senzorom (npr. kamera), hardverskim akceleratorom DQN-a i izlaznom periferijom (npr. motor)

Metodologija izvođenja nastave:

Predavanja se izvode uz PowerPoint prezentacije. Praćena su računarskim i laboratorijskim vežbama u Laboratoriji za diskretne sisteme i algoritme na FTN. Kompanije koje se bave primenama sistema za učenje sa nagrađivanjem, ili su zainteresovane za istraživanja u toj oblasti, 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, kao i poeni osvojeni na zadacima i ocenjivani na laboratorijskim vežbama. Uslov za izlazak na ispitje 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 moći će se, takođe, polagati u redovnim ispitnim rokovima.

Literatura:
Autori Naziv Godina Izdavač Jezik
R. S. Sutton, A. G. Barto Reinforcement learning: An Introduction, 2nd Ed. 2018 MIT Press Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Prezentacija Da Da 5.00
Kolokvijum Ne Ne 25.00
Kolokvijum Ne Ne 25.00
Odbranjene laboratorijske vežbe Da Da 15.00
Predmetni projekat Da Da 30.00
Pismeni deo ispita - kombinovani zadaci i teorija Ne Da 50.00
Izvođači nastave:
Predavanja
Predavanja
Računarske vežbe
Računarske vežbe
Predavanja
Računarske vežbe