Duboko učenje

Duboko učenje

Uključene obrazovne institucije

Univerzitet u Kragujevcu

Osposobljavanje studenata za razumevanje paradigme dubinskog učenja kao grane mašinskog učenja, koja se zasniva na predstavljanju podataka na visokom stepenu apstrakcije. Predmet upoznaje studente sa ključnim elementima klasičnih neuronskih mreža, gradivnim tehnikama naučnog izračunavanja, tehnikama regularizacije i algoritmima učenja i razmatra modele kao što su: konvolucione, rekurentne i generativne suparničke neuronske mreže. Proučavaju se metode dubinskog učenja u važnim područjima veštačke inteligencije kao što su: prognoziranje, računarski vid, obrada prirodnih jezika, razumevanja govora i zvučnih signala. Predmet podrazumeva razvoj aplikacija u modernim softverskim okvirima za dubinsko učenje (Tensorflow, Keras, R, Python).

Savladano gradivo osposobiće studenta: da suštinski razume prednosti dubinskog učenja u odnosu na alternativne pristupe mašinskog učenja; da ovlada tehnikama učenja dubinskih modela; da objasni područja primene diskriminativnih i generativnih dubinskih modela; da na odgovarajući način primenjuje modele za nadgledano, polu-nadgledano i nenadgledano učenje; da primeni metode i tehnike dubinskog učenja na razumevanje slika, teksta i govora; da vrednuje metrike kvaliteta dubinskih modela; da dizajnira i oblikuje dubinske modele u jezicima visokog nivoa.

Teorijska nastava

Gradivni elementi dubinskog učenja. Linearna algebra (Specijalne vrste matrica i vektora, tenzori, sopstvene vrednosti, norme, PCA…). Verovatnoća i teorija informacija (zakoni raspodele, Bajesova pravila…). Elementi numeričkog izračunavanja (stabilizacija funkcija u pogledu grešaka – overflow, underflow, gradijentne metode optimizacije, optimizacija sa ograničenjima…). Elementi mašinskog učenja (algoritmi učenja, overfitting, underfitting, hiperparametri i validacioni skupovi, metoda maksimalne verodostojnosti, nadgledano i nadgledano učenje, stohastički gradijentni spust…). Arhitektura dubinskih neuronskih mreža (višeslojne arhitekture procesnih jedinica, backpropagation algoritam). Regularizacija dubinskih mreža (L1, L2, dropout, proširenje skupa podataka, šum, multitask learning…). Optimizacija u obučavanju dubinskih mreža (izazovi – vanishing/exploding gradient, strategije inicijalizacije parametara, adaptivni algoritmi učenja…). Konvolucione mreže (konvolucija, pooling, deljenje parametara, konvolucione funkcije, struktuirani izlazi, efikasni konvolucioni algoritmi…). Sekvencijalni modeli (rekurentne i rekurzivne mreže, LSTM, GRU). Generativni modeli (Bolcmanove mašine, autoenkoderi, GANN…). Praktična metodologija i primena dubinskih modela (metrike performansi, izbor odgovarajućeg modela, strategije izbora hiperparametara, debugging, large-scale deep learning, CUDA, computer vision, speech recognition, natural language processing, ostale primene).

Praktična nastava

Primena softverskih okvira za dubinsko učenje (Tensorflow, Keras, R, Python). Rad na vežbama podrazumeva primenu stečenog znanja na rešavanje konkretnih aktuelnih problema u različitim oblastima dubinskog učenja.