Duboko učenje
Opis predmeta
Duboko učenje je grana strojnog učenja temeljena na predstavljanju podataka složenim reprezentacijama na visokom stupnju apstrakcije do kojih se dolazi slijedom naučenih nelinearnih transformacija. Metode dubokog učenja svoju primjenu pronalaze u važnim područjima umjetne inteligencije poput računalnog vida, obrade prirodnog jezika, razumijevanja govora i zvučnih signala, kao i u bioinformatici. Ovaj predmet uvodi najvažnije diskriminativne i generativne duboke modele s posebnim naglaskom na praktične implementacije. Prva cjelina uvodi ključne elemente klasičnih neuronskih mreža i daje pregled građevnih elemenata, tehnika regularizacije i metoda učenja koji su specifični za duboke modele. Druga cjelina razmatra duboke konvolucijske modele i ilustrira njihovu primjenu u klasifikaciji slika i obradi prirodnog jezika. Treća cjelina je posvećena generativnim dubokim modelima i njihovim primjenama u računalnom vidu i obradi prirodnog jezika. Konačno, četvrta cjelina razmatra modeliranje slijedova dubokim povratnim
neuronskim mrežama i ilustrira primjene u području obrade prirodnog jezika. Svi koncepti popraćeni su primjerima i zadatcima u modernim dinamičkim jezicima (Python, Lua ili Julia). Većina primjera biti će vezana uz suvremene aplikacijske okvire za duboko učenje (npr. Theano, Tensorflow, Torch).
Ishodi učenja
- Objasniti prednosti dubokog učenja u odnosu na alternativne pristupe strojnog učenja.
- Razlikovati tehnike koje omogućavaju uspješno učenje dubokih modela.
- Objasniti područja primjene diskriminativnih i generativnih dubokih modela.
- Razlikovati duboke modele prikladne za nadzirano, polu-nadzirano i nenadzirano učenje.
- Primijeniti tehnike dubokog učenja u razumijevanju slika i teksta.
- Analizirati i vrednovati performansu dubokih modela.
- Dizajnirati (oblikovati) duboke modele u programskom jeziku visoke razine.
Oblici nastave
Predavanja
13 predavanja po tri sata.
Laboratorijske vježbePo dvije vježbe u svakoj polovini semestra.
KonzultacijePo prethodnom dogovoru e-mailom.
SeminariStudenti mogu dobiti dodatne bodove za predstavljanje tehničkog seminara.
Način ocjenjivanja
Odlukom Fakultetskoga vijeća, u akademskoj godini 2019./2020. međuispiti su ukinuti, a bodovi pridijeljeni toj komponenti prebacuju se u završni ispit, osim u slučaju kad su nositelji drugačije preraspodijelili bodove i komponente provjere. Obavijest o načinu ocjenjivanja potražite među obavijestima vezanim uz svaki predmet.
Kontinuirana nastava | Ispitni rok | |||||
---|---|---|---|---|---|---|
Vrsta provjere | Prag | Udio u ocjeni | Prag | Udio u ocjeni | ||
Laboratorijske vježbe | 40 % | 20 % | 40 % | 0 % | ||
Međuispit: Pismeni | 0 % | 40 % | 0 % | |||
Završni ispit: Pismeni | 0 % | 40 % | ||||
Ispit: Pismeni | 50 % | 80 % | ||||
Ispit: Usmeni | 20 % |
Tjedni plan nastave
- Motivacija za duboko učenje. Parcijalno deriviranje kompozicija vektorskih funkcija. Logistička regresija. Širenje pogreške unatrag. Višerazredna logistička regresija. Osnove Pythona, numpyja i matplotliba. Rješavanje problemskih zadataka.
- Osnovni pojmovi strojnog učenja: model, gubitak, optimizacija, klasifikacija, regresija, kapacitet, Occamova oštrica, regularizacija, pristranost i varijanca, hiper-parametri, stohastički gradijentni spust, prokletstvo dimenzionalnosti, kompozitni modeli, podatkovne reprezentacije.
- Diskriminativni potpuno povezani unaprijedni modeli. Gubitak. Nelinearna aktivacija. Univerzalna aproksimacija. Gradijenti gubitka. Učenje širenjem pogreške unatrag. Prikazivanje dubokog modela računskom grafom. Učenje računskog grafa autodiferenciranjem. Rješavanje problemskih zadataka.
- Konvolucijski modeli. Slojevi sažimanja. Gradijent gubitka. Učenje širenjem pogreške unatrag. Potpuno konvolucijske mreže. Načela fleksibilne implementacija. Rješavanje problemskih zadataka.
- Poteškoće pri učenju dubokih modela: sedla, višestruki minimumi, neprikladna inicijalizacija, iščezavajući i eksplodirajući gradijenti, odabir hiperparametara, slaba generalizacija.
- Tehnike učenja dubokih modela. Učenje s momentom. Akcelerirani gradijent. Prilagodljivi moment (ADAM). Normaliziranje podataka. Ugađanje. Rješavanje problemskih zadataka.
- Regularizacija. Kažnjavanje norme težina. Generiranje podataka i unošenje šuma. Rano zaustavljanje. Vezanje i dijeljenje parametara. Kombiniranje modela glasanjem. Isključivanje čvorova (dropout). Rješavanje problemskih zadataka, priprema za međuispit.
- Međuispit.
- Međuispit.
- Konvolucijske arhitekture za razumijevanje slike i videa te obradu prirodnog jezika. Učenje dubokih metrika. Ishodi učenja konvolucijskih modela.
- Modeliranje slijedova. Povratni i dvosmjerni povratni modeli. Duboki povratni modeli. Primjene u razumijevanju prirodnog jezika.
- Učenje povratnih modela (BPTT). Duboki povratni modeli. Ćelija s dugoročnom memorijom. Prevođenje slijedova. Pažnja.
- Boltzmannovi strojevi. Ograničeni Boltzmannovi strojevi. Markovljeva slučajna polja. Kontrastna divergencija. Kaskadirani Boltzmannovi strojevi. Duboke mreže vjerovanja.
- Duboki generativni modeli. Konvolucijski autoenkoderi. Varijacijski autoenkoderi. Suparnički modeli.
- Rješavanje problemskih zadataka, priprema za završni ispit.
Studijski programi
Sveučilišni diplomski
Računarska znanost (profil)
Predmeti specijalizacije profila
(2. semestar)
Literatura
Michael Nielsen (2015.), Neural Networks and Deep Learning, Determination press
Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2017.), Deep learning, MIT Press
Laboratorijske vježbe

Marin Oršić
mag. ing.

Ivan Krešo
mag. ing. comp.
Izvedba
ID 155250
Ljetni semestar
4 ECTS
R1 Engleski jezik
R1 E-učenje
39 Predavanja
0 Auditorne vježbe
8 Laboratorijske vježbe
0 Konstrukcijske vježbe
Ocjenjivanje
89 izvrstan
76 vrlo dobar
63 dobar
50 dovoljan