Neslužbene stranice predmeta Duboko učenje 1
O predmetu:
Duboko učenje je grana strojnog učenja
koja je posebno prikladna
za rješavanje problema
iz područja umjetne inteligencije.
Duboko učenje se temelji na predstavljanju podataka
složenim reprezentacijama do kojih se dolazi
slijedom naučenih nelinearnih transformacija.
Metode dubokog učenja svoju primjenu pronalaze u
izazovnim područjima gdje je dimenzionalnost
podataka iznimno velika: računalnom vidu,
obradi prirodnog jezika ili razumijevanju govora.
Ovaj predmet uvodi najvažnije
diskriminativne i generativne duboke modele
s posebnim naglaskom na praktične implementacije.
Prva cjelina daje pregled ključnih elemenata
klasičnih neuronskih mreža te uvodi
osnovne građevne elemente, tehnike regularizacije
i metode 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 modelima
i ilustrira primjene u području obrade prirodnog jezika.
Svi koncepti popraćeni su primjerima i zadatcima
u programskom jeziku Python.
Velik broj primjera biti će vezan uz
suvremeni aplikacijski okvir PyTorch.
Predmet se sastoji od tri sata predavanja tjedno,
te laboratorijskih vježbi
koje se kolokviraju jednom u svakom od četiri ciklusa.
Predmet za sada nema preduvjeta, ali pretpostavlja se
solidno znanje iz domena strojnog učenja, optimizacije,
vjerojatnosti i linearne algebre
stečena na prethodnim kolegijima.
Predavanja
-
0. Uvodno predavanje i pregled osnova dubokog učenja
(pdf)
-
motivacija za duboko učenje (§1.1)
-
informacije o predmetu
-
elementi strojnog učenja
(§5.1 - §5.5)
-
prema dubokom učenju
(§5.11)
-
1. Unaprijedni potpuno povezani diskriminativni modeli (§6)
(pdf)
-
duboki unaprijedni modeli (§6.1)
-
funkcija gubitka (§6.2)
-
aktivacijske funkcije (§6.2 - §6.3)
-
univerzalni aproksimacijski teorem (§6.4)
-
učenje širenjem unatrag (§6.5)
-
2: Konvolucijski modeli za računalni vid (§9)
(naprijed,
natrag,
vježbe)
-
konvolucijski slojevi (§9.1 - §9.2, §9.5)
-
slojevi sažimanja (§9.3)
-
efikasna implementacija (§9.8)
-
arhitekture za klasifikaciju (§9.4)
-
izračun gradijenata (-)
-
3: Optimizacija (§8)
(pdf)
-
Izazovi u učenju dubokih modela (§8.1-§8.4)
-
učenje s momentom, akcelerirani gradijent, prilagodljivi moment (§8.5)
-
normalizacije podataka: LRN, batchnorm (§8.7)
-
4: Regularizacija (§7)
(pdf)
-
Kažnjavanje norme težina (§7.1-§7.3)
-
generiranje podataka i unošenje šuma (§7.4-§7.5)
-
rano zaustavljanje (§7.8)
-
vezanje i dijeljenje parametara (§7.9)
-
kombiniranje modela baggingom (§7.11)
-
isključivanje čvorova grafa (dropout) (§7.12)
-
5: Povratni modeli
(pdf)
-
modeliranje slijedova (§10.1-§10.2)
-
primjene u razumijevanju prirodnog jezika (-)
-
6: Napredni povratni modeli
(pdf)
-
duboki i dvosmjerni modeli (§10.3, §10.5)
-
povratne ćelije s propusnicama (§10.10)
-
prevođenje iz slijeda u slijed (§10.4)
-
modeli utemeljeni na pažnji (-)
-
7: Metrička ugrađivanja
(pdf)
-
kontrastni i trojni gubitak
-
detalji izvedbe i prosječna preciznost
-
primjeri: stereoskopska korespondencija, samonadziranje
-
8: Stanje tehnike konvolucijskih modela
računalnog vida
(pdf)
Laboratorijske vježbe
-
Logistička regresija, gradijentni spust, Python, numpy:
upute.
-
Osnove dubokih modela, PyTorch, MNIST:
upute;
-
Konvolucijski modeli, MNIST, CIFAR:
upute;
-
Povratni modeli:
upute.
-
Metrička ugrađivanja:
upute.
Snimke predavanja
YouTube kanal
kolegija.
Preporučena literatura
-
Ian Goodfellow, Yoshua Bengio and Aaron Courville.
Deep Learning.
MIT Press
(html)
-
Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola.
Dive into Deep Learning.
(html)
-
Michael Nielsen.
Neural Networks and Deep Learning.
Determination press.
(html)
Primjeri pismenih ispita
-
Završni ispit 2021/22
(pdf)
-
Laboratorijska provjera 2020/21
(lab1,
lab2,
lab3)
-
Završni ispit 2019/20
(pdf)
-
Međuispit 2018/19
(pdf)
-
Završni ispit 2017/18
(pdf)
-
Međuispit 2017/18
(pdf)
-
Završni ispit 2016/17
(pdf)
-
Međuispit 2016/17
(pdf)
Pomoćna literatura
-
Zoran Kalafatić, Antonio Pošćić, Siniša Šegvić i Julijan Šribar.
Python za znatiželjne.
Element
(html)
Studentski projekti
-
Riješeni zadatci s predavanja iz Dubokog učenja 1.
Ivan Rep.
tekst.
-
Minimalni okvir za unatražnu automatsku diferencijaciju u Pythonu.
Bruno Gavranović.
Seminar,
prezentacija,
kod.
-
Numerička provjera gradijenata.
Marin Kačan.
Prezentacija.
-
Interaktivna 3D vizualizacija gradijentne optimizacije.
Petar Afrić.
Seminar,
prezentacija,
kod.
Zanimljivi sadržaji
-
Ilya Sutskever.
A Brief Overview of Deep Learning
html
-
Yann LeCun, Yoshua Bengio, Geoffrey Hinton.
Deep learning.
pdf
-
Pedro Domingos.
A Few Useful Things to Know about Machine Learning.
CACM 2012.
pdf
-
Awesome Deep Vision.
A curated list of deep learning resources
for computer vision.
html
-
Tensorflow - open source deep learning framework.
html
-
A neural network playground.
html
-
C. Olah.
Neural networks and data representations.
html
-
Convolutional Neural Networks for Visual Recognition.
Stanford CS programme.
html
-
Deep Learning for Natural Language Processing.
Stanford CS programme.
html
-
Deep Learning Courses.
html
-
Terence Tao.
Linear algebra.
html
-
Randal Barnes.
Matrix Calculus.
html
-
Eduardo Sontag.
VC Dimension of Neural Networks. NATO ASI Series F.
pdf
-
Slav Ivanov.
37 Reasons why your Neural Network is not working.
html
-
Olexa Bilaniuk.
Einstein summation in Numpy.
html
-
Terence Parr and Jeremy Howard.
The Matrix Calculus You Need For Deep Learning.
html