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 neuronskim mrežama i ilustrira primjene u području obrade prirodnog jezika.

Svi koncepti popraćeni su primjerima i zadatcima u programskom jeziku Python. Većina primjera biti će vezana uz suvremeni aplikacijski okvir Tensorflow.

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: Pregled klasičnih neuronskih mreža
  • 1: Uvod u duboko učenje
    • osnovni pojmovi
    • pregled programskih alata: Python, numpy, scipy, Tensorflow
    • poteškoće pri učenju dubokih modela
    • tehnike učenja dubokih modela
  • 2: Diskriminativni duboki modeli za računalni vid
    • konvolucijske mreže za klasifikaciju
    • potpuno konvolucijske mreže za segmentaciju
  • 3: Generativni duboki modeli
    • Boltzmannovi strojevi i kontrastna divergencija
    • napredni autoenkoderi
  • 4: Duboke povratne neuronske mreže
    • modeliranje slijedova
    • primjene u razumijevanju prirodnog jezika

Preporučena literatura

  1. Ian Goodfellow and Yoshua Bengio and Aaron Courville. Deep Learning. MIT Press (html)
  2. Michael Nielsen. Neural Networks and Deep Learning. Determination press. (html)

Pomoćna literatura

  1. Zoran Kalafatić, Antonio Pošćić, Siniša Šegvić i Julijan Šribar. Python za znatiželjne. Element (html)

Laboratorijske vježbe

  1. Python, numpy, neuronske mreže: upute.
  2. Tensorflow, osnove dubokih mreža, MNIST: upute;
  3. Konvolucijske mreže, MNIST, CIFAR: upute;
  4. Generativni modeli: upute.
  5. Povratne mreže: upute.

Zanimljivi sadržaji