Strojno učenje i Umjetna inteligencija

Predavanja .Net 5, Blazor server i SQL


Front-end i back-end će biti napravljeni na .Net platformi koristeći Visual Studio razvojni alat. Za rad sa bazom podataka koristimo Microsoft SQL Server Management Studio razvojni alat.

Tehnologije koje ćemo koristiti:

  1. Za front-end: Blazor server (C#, HTML i CSS)

  2. Za back-end: .Net 5 - izrada Web API-a (C#)

  3. Baza podataka: SQL Server


1. Predavanje - 2 sata

    - Predstavljanje (ukratko o sebi, firmi, projektu koji ćemo raditi i načinu odvijanja predavanja)

    - Upoznavanje sa okolinama (Visual studio 2019 community, SQL server)

    - Backend-Frontend princip, baza podataka (pojašnjenje na koji način će aplikacija raditi)

    - Prezentacija kako izgleda konačna aplikacija


2. Predavanje - 2 sata

    - Kreiranje baze podataka

    - Osnovno o bazama podataka (tablice, kreiranje query-a za CRUD operacije), index(osnove)

    - Kreiranje backend .net 5 web api-a (FlightManagementApi)

    - Povezivanje FlightManagementApi-a sa bazom podataka


3. Predavanje - 2 sata

    - Postavljanje Entity Frameworka

    - Kreiranje "Flight" entiteta

    - Kreiranje "Flight" tablice u bazi podataka na osnovu "Flight" entiteta, koristeći migracije

    - JSON i Swagger

   

4. Predavanje - 2 sata

    - Kreiranje frontend Blazor server projekta (FlightManagementView)

    - Kreiranje metode za dohvat podataka o letovima koji su upisani u bazu podataka na backend-u

    - Povezivanje frontend-a sa backendom

    - Prikazivanje podataka o letovima na frontendu (page flight list)


5. Predavanje - 2 sata

- Frontend design (kreiranje CSS file-a, dodavanje klasa, uređivanje stranice, dodavanje atributa)

   

6. Predavanje - 2 sata

    - Omogućavanje unosa podataka o letovima i spremanja u bazu podataka

   

7. Predavanje - 2 sata

    - CRUD operacije na listi letova (omogućivanje unosa, izmjene, čitanja i brisanja podataka o letovima)

    - Kreiranje mogućnosti za arhiviranje letova

    - Kreiranje View-a za pregled arhiviranih letova

   

8. Predavanje - 2 sata

    - Dodavanje Airport entiteta

    - Dodavanje Airport tablice kroz migracije

    - Povezivanje Flight i Airport entiteta

    - CRUD operacije za Airport

   

9. Predavanje - 2 sata

    - Dodavanje Carrier entiteta

    - Dodavanje Carrier tablice kroz migracije

    - Povezivanje Flight i Carrier entiteta

    - CRUD operacije za Carrier

   

Kolegij obrađuje osnovne koncepte iz strojnog učenja kroz primjere koji su realizirani kroz vizualni programski jezik i Python.

Upravljanje znanjem doživljava promjene sukladno potrebama tržišta i interesu studenata.

Kroz ovaj kolegij upoznat ćete se s problemima znanja, predstavljanja znanja i njegove uporabe u sustavima temeljenim na umjetnoj inteligenciji. Na nizu primjera moći ćete uočiti prednosti i mane pojedinih statističkih metoda koje se uobičajeno koriste u području umjetne inteligencije. Iako se većina metoda koristi u podatkovnoj znanosti u ovom je kolegiju cilj kritički se osvrnuti na pristup u kojem se statističke metode koriste neselektivno te time ne doprinose znanju. Osim toga kroz kolegij biti će prikazane najčešće korištene arhitekture neuronskih mreža kako bi se na primjerima pokazale prednosti i mane ovog pristupa rješavanju problema. Kako se danas sve teže dolazi do velike količine podataka potrebnih za primjenu strojnog učenja uvodi se i pojam plitkog učenja koje se za razliku od dubokog učenja koristi malim skupom ulaznih podataka za uvježbavanje neuronske mreže. Do primjenjivih rezultata može se doći isključivo uporabom već uvježbanih dubokih neuronskih mreža i njihove prilagodbe novoj instanci problema postupkom koji je poznat pod nazivom "transfer learning".

Kako bi se smanjio prag učenja za vrednovanje pojedinih modela učenja koristi se vizualno programiranje i vizualizacija podataka. Nakon što ste se upoznali sa temeljnim metodama upravljanja znanjem temeljenom na podacima, odabirete jedno područje za koje ćete razviti konkretnu programsku podršku. Iako alat nije propisan, ilustracijski primjeri izradit će se pomoću biblioteke tensorflow.js koja omogućuje primjenu tehnika umjetne inteligencije na mobilne i web aplikacije, što je danas iznimno zanimljivo područje primjene.

Cilj kolegija je upoznavanje sa problemom znanja i stvaranja bijele ili sive kutije od klasične crne kutije koju predstavlja uvježbana duboka neuronska mreža. Kako ste upoznati s problemima učenja i poučavanja, očekuje se kako ćete teorije učenja koje se primjenjuju kod ljudi primijeniti kod sustava temeljenih na umjetnoj inteligenciji.

Za one koji žele doznati više o ovom području pri Odjelu za informatiku nude se specjalistički kolegiji poput Rudarenja podataka, Dubinskih neuronskih mreža i slično koji će vam pomoći u produbljivanju pojedinih koncepata koje imate prilike upoznati na ovom kolegiju.


Uvodni koncepti umjetne inteligencije

1.Što je umjetna inteligencija?
2.Kako koristiti tehnike umjetne inteligencije pri rješavanju problema?
3.Kakva je primjena umjetne inteligencije u stvarnom svijetu?
4.Što je strojno učenje?
5.Što su neuronske mreže?
6.Koje su posljedice uporabe umjetne inteligencije?