Razvoj strojnog učenja - besplatni tečaj Škole analize podataka, obuka 4 semestra, Datum: 02.12.2023.
Miscelanea / / December 06, 2023
Ovaj smjer je pogodan za one koji vole programirati i stvarati usluge i aplikacije koje mogu koristiti tisuće i milijuni ljudi.
Napišite učinkovit kod, izgradite i optimizirajte industrijski učinkovite sustave vođene podacima.
U razvoju visokotehnoloških proizvoda temeljenih na strojnom učenju.
Svaki student mora uspješno odslušati najmanje tri kolegija tijekom semestra. Na primjer, ako su dva od njih u glavnom programu, tada morate odabrati jedan od posebnih tečajeva.
Znanje se provjerava prvenstveno domaćim zadaćama – ispiti i kolokviji se provode samo iz pojedinih predmeta.
Prvi semestar
Obavezno
Algoritmi i strukture podataka, 1. dio
01Složenost i računalni modeli. Analiza knjigovodstvenih vrijednosti (početak)
02 Analiza knjigovodstvenih vrijednosti (kraj)
03Algoritmi spajanja i brzog sortiranja
04Ordinalna statistika. Hrpe (početak)
05Hrpe (kraj)
06 Raspršivanje
07Stabla pretraživanja (početak)
08 Stabla pretraživanja (nastavak)
09Stabla pretraživanja (kraj). Sustav disjunktnih skupova
10 Problemi RMQ i LCA
11 Strukture podataka za geometrijsko pretraživanje
12Problem dinamičke povezanosti u neusmjerenom grafu
C++ jezična obuka, 1. dio
C++ je moćan jezik s bogatim nasljeđem. Za one koji su tek krenuli putem svladavanja ovog jezika, vrlo se lako izgubiti u obilju tehnika i tehnika nastalih u proteklih 30 godina. Predmet podučava "Modern C++" - suvremeni podskup jezika (standardi 11, 14 i 17). Puno se pažnje posvećuje alatima i bibliotekama – stvarima koje nisu dio jezika, ali bez kojih neće biti moguće izgraditi velik i složen projekt.
01 Uvod u C++.
02Konstante. Pokazivači i poveznice. Prijenos argumenata funkciji.
03Nastava.
04Dinamičko upravljanje memorijom.
05Varijable, pokazivači i reference.
06 Upravljanje memorijom, pametni pokazivači, RAII.
07 Standardna biblioteka predložaka.
08Nasljeđivanje i virtualne funkcije.
09Rješavanje pogrešaka.
10 Dizajn uzorci.
11Prostori imena Semantika premještanja Savršeno prosljeđivanje.
12Reprezentacija struktura i klasa u memoriji. Usklađivanje podataka. Pokazivači na članove klase/metode. Različiti predlošci.
Strojno učenje, 1. dio
01Osnovni pojmovi i primjeri primijenjenih problema
02 Metode metričke klasifikacije
03Metode logičke klasifikacije i stabla odlučivanja
04 Metode linearne gradijentne klasifikacije
05Support Vector Machine
06 Multivarijatna linearna regresija
07 Nelinearna i neparametarska regresija, nestandardne funkcije gubitaka
08 Predviđanje vremenskih serija
09Bayesove metode klasifikacije
10Logistička regresija
11 Potražite pravila asocijacije
Drugi termin
Obavezno
Strojno učenje, 2. dio
01 Metode klasifikacije i regresije neuronske mreže
02Kompozicijske metode klasifikacije i regresije
03 Kriteriji za odabir modela i metode za odabir značajki
04 Poredak
05 Učenje s potkrepljenjem
06 Učenje bez učitelja
07 Problemi s djelomičnim treningom
08Kolaborativno filtriranje
09Tema modeliranja
Izabrati od
Algoritmi i strukture podataka, 2. dio
01Zaobilaznica u širini. Prvo obilaženje dubine (početak)
02 Puzanje po dubini (nastavak)
03 Puzanje po dubini (kraj). 2-reza
04 Pronalaženje najkraćih puteva (početak)
05 Pronalaženje najkraćih putova (nastavak)
06 Minimalna razapeta stabla
07Minimalni rezovi. Traži podstringove (početak)
08Traženje podnizova (nastavak)
09Traži podstringove (kraj)
10 Stabla sufiksa (početak)
11Sufiks stabla (završetak). Nizovi sufiksa (početak)
12 Nizovi sufiksa (završetak)
13Najduži zajednički podnizovi. Približno pretraživanje podniza.
ili
Python jezik
01 Osnove jezika (1. dio)
02Osnove jezika (2. dio)
03 Objektno orijentirano programiranje
04Rješavanje pogrešaka
05 Dizajn i testiranje koda
06Rad sa žicama
07 Memorijski model
08Funkcionalno programiranje
09 Pregled biblioteke (1. dio)
10 Pregled biblioteke (2. dio)
11Paralelno računanje u Pythonu
12Napredni rad s objektima
ili
C++ jezična obuka, 2. dio
Drugi dio tečaja C++, koji pokriva napredne teme i jezične sposobnosti.
01 Višenitno programiranje. Sinkronizacija niti pomoću muteksa i uvjetnih varijabli.
02Atomske varijable. C++ memorijski model. Primjeri struktura podataka bez zaključavanja.
03Napredne tehnike meta-programiranja u C++. Metafunkcije, SFINAE, pojmovi.
04 Natjecateljsko programiranje, interakcija s mrežom.
05llvm arhitektura. Rad s C++ stablom parse. Razvoj alata za analizu C++ koda.
Treći semestar
Izabrati od
Obrada prirodnog jezika
“NLP (Obrada prirodnog jezika) podskup je šireg područja umjetne inteligencije koji pokušava naučiti računalo da razumije i obrađuje neobrađene podatke na prirodnom jeziku. Većina informacija dostupnih danas nije strukturirani tekst. Kao ljudima, naravno, nije nam teško razumjeti ih (ako su na našem materinjem jeziku), ali nismo u stanju obraditi onoliko podataka koliko bi stroj mogao obraditi. Ali kako možete natjerati stroj da razumije te podatke i, štoviše, izvuče neke informacije iz njih? Prije nekoliko godina, na otvaranju ACL-a (jedna od glavnih, ako ne i najvažnija NLP konferencija) u svojoj Predsjednički govor Marti Hearst priznala je da studentima više ne može dati svoje omiljene vježbanje. Koristeći HAL 9000 kao primjer (jedan od primjera umjetne inteligencije u znanstvenoj fantastici), pitala je studente što stroj može raditi poput HAL-a, a što još ne može. U današnje vrijeme to više nije tako dobra vježba, budući da se gotovo sve to sada može izvesti pomoću računala. Nevjerojatno je kako brzo polje raste i koliko smo postigli. Na tečaju ćemo pokušati da shvatite i osjetite što se događa u svijetu. Koji se problemi rješavaju, kako se to događa; kako neki statistički pristupi (kojima su prije nekoliko godina bili gotovo u potpunosti posvećeni tečajevi o NLP-u) dobivaju novi život i novo tumačenje u neuronskim mrežama, a koji postupno odumiru. Pokazat ćemo da NLP nije skup parova (problem, rješenje), već općih ideja koje prodiru u različite probleme i odražavaju neki zajednički koncept. Također ćete saznati što se događa u praksi i kada koji su pristupi primjenjiviji. Ovo je ono što radimo, ono što volimo i spremni smo to podijeliti s vama :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
ili
Računalni vid
„Kolegij je posvećen metodama i algoritmima računalnog vida, odnosno izvlačenju informacija iz slika i videa. Pogledajmo osnove obrade slika, klasifikaciju slika, pretragu slika po sadržaju, prepoznavanje lica, segmentaciju slika. Zatim ćemo govoriti o algoritmima za obradu i analizu videa. Posljednji dio tečaja posvećen je 3D rekonstrukciji. Za većinu problema raspravljat ćemo o postojećim modelima neuronskih mreža. Na kolegiju se nastoji obratiti pozornost samo na najsuvremenije metode koje se trenutno koriste u rješavanju praktičnih i istraživačkih problema. Tečaj je uglavnom praktičan, a ne teorijski. Stoga su sva predavanja opremljena laboratorijskim i domaćim zadaćama, koje omogućuju da većinu obrađenih metoda isprobate u praksi. Rad se izvodi u Pythonu korištenjem raznih biblioteka."
01Digitalna slika i korekcija tonova
02Osnove obrade slike
03 Spajanje slika
04Klasifikacija slika i traženje sličnih
05 Konvolucijske neuronske mreže za klasifikaciju i traženje sličnih slika
06 Otkrivanje objekata
07Semantička segmentacija
08 Prijenos stila i sinteza slike
09 Video prepoznavanje
10Sparse 3D rekonstrukcija
11Gusta 3D rekonstrukcija
12Rekonstrukcija iz jednog okvira i oblaka točaka, parametrijski modeli
ili
Bayesove metode u strojnom učenju
01Bayesov pristup teoriji vjerojatnosti
02Analitičko Bayesovo zaključivanje
03Odabir Bayesovog modela
04Automatsko određivanje relevantnosti
05 Metoda vektora relevantnosti za problem klasifikacije
06Probabilistički modeli s latentnim varijablama
07Varijacijski Bayesov zaključak
08Bayesov model odvajanja smjese Gaussovih
09Monte Carlo metode s Markovljevim lancima
10 Latentna Dirichletova alokacija
11Gaussovi procesi za regresiju i klasifikaciju
12Neparametrijske Bayesove metode
Četvrti semestar
Obavezno
ML inženjerska praksa
Predmet je projektni rad na razvoju ML projekata u timovima.
ML istraživačka praksa
Predmet predstavlja rad na timskim istraživačkim projektima u području strojnog učenja.
Preporučeni posebni tečajevi
Duboko učenje
01 Materijal za tečaj
Učenje s potkrepljenjem
01 Materijal za tečaj
Samovozeći automobili
Tečaj pokriva ključne komponente tehnologije samovozeće: lokalizaciju, percepciju, predviđanje, razinu ponašanja i planiranje kretanja. Za svaku komponentu bit će opisani glavni pristupi. Dodatno, studenti će se upoznati s trenutnim tržišnim uvjetima i tehnološkim izazovima.
01Pregled glavnih komponenti i senzora bespilotnog vozila. Razine autonomije. Vožnja putem žice. Samovozeći automobili kao poslovni proizvod. Načini procjene napretka u stvaranju dronova. Osnove lokalizacije: gnss, odometrija kotača, Bayesovi filteri.
02Lidar metode lokalizacije: ICP, NDT, LOAM. Uvod u vizualni SLAM na primjeru ORB-SLAM-a. Izjava GraphSLAM problema. Svođenje GraphSLAM problema na nelinearnu metodu najmanjih kvadrata. Odabir ispravne parametrizacije. Sustavi s posebnom strukturom u GraphSLAM-u. Arhitektonski pristup: frontend i backend.
03Zadatak prepoznavanja u samovozećem automobilu. Statičke i dinamičke prepreke. Senzori za sustav prepoznavanja. Predstavljanje statičkih prepreka. Detekcija statičkih prepreka pomoću lidara (VSCAN, metode neuronske mreže). Korištenje lidara u kombinaciji sa slikama za otkrivanje statike (semantička segmentacija slike, dovršavanje dubine). Stereo kamera i dobivanje dubine slike. Svijet Stixela.
04Prikaz dinamičkih prepreka u samovozećem automobilu. Metode neuronske mreže za detekciju objekata u 2D. Detekcija na temelju ptičje perspektive lidarskog prikaza oblaka. Korištenje lidara sa slikama za otkrivanje dinamičkih prepreka. Detekcija automobila u 3D bazirana na slikama (3D ugradnja kutija, CAD modeli). Radarsko dinamičko otkrivanje prepreka. Praćenje objekata.
05 Obrasci vožnje automobila: stražnji kotač, prednji kotač. Planiranje puta. Pojam konfiguracijskog prostora. Grafičke metode za konstruiranje putanja. Putanje koje minimaliziraju trzaj. Optimizacijske metode za konstruiranje putanja.
06Planiranje brzine u dinamičnom okruženju. ST planiranje. Predviđanje ponašanja drugih sudionika u prometu
Neuro-Bayesove metode
Tečaj se fokusira na primjenu Bayesovih metoda u dubokom učenju. Na predavanjima će se govoriti o korištenju probabilističkog modeliranja za izgradnju generativnih modela podataka, korištenju konkurentskih mreže za aproksimativno zaključivanje, modeliranje nesigurnosti u parametrima neuronske mreže i neki otvoreni problemi u dubini trening.
01Stohastički varijacijski zaključak
02 Dvostruko stohastički varijacijski zaključak
03Varijacijski autokoder, normaliziranje tokova za varijacijsko zaključivanje
04Metode za smanjenje varijance u modelima latentnih varijabli
05 Procjena omjera gustoća distribucije, primjena na primjeru \alpha-GAN
06 Bayesove neuronske mreže
07Bayesova kompresija neuronskih mreža
08 Poluimplicitni varijacijski zaključak