Arhitektura i razvoj inteligentnih sustava

Opis predmeta

Brzim razvojem područja umjetne inteligencije (AI), poput algoritama za strojno učenje (ML), raste i interes industrije za upotrebu takvih algoritama u svakodnevnom životu i radu. Tako se već sada inteligentni sustavi upotrebljavaju u mnoge svrhe kao prodaja (npr. preporuka proizvoda), marketing (npr. inteligentna segmentacija kupaca), upravljanje proizvodima (npr. parametrizacija bankovnih proizvoda za bolje uklapanje u potrebe klijenata), detekcija prijevara (npr. financijske prijevare), upravljanje infrastrukturom (npr. upravljanje i predviđanje opterećenja infrastrukture oblaka) i slično. Interes za ugradnju i upotrebu inteligentnih sustava sve je veći. Cilj predmeta je upoznati studente s trenutnim glavnim poslovnim razlozima za uvođenje inteligentnog sustava, kao i bitnim slučajevima korištenja u raznim industrijama, a sve u cilju omogućavanja prepoznavanja konteksta u kojem je inteligentni sustav koristan i može donijeti značajnu poslovnu prednost poduzeću. Studenti će se upoznati sa dodatnim znanjima potrebnim za primijenjenu izvedbu i upotrebu inteligentnih sustava i algoritama, osnovnim razlikama u odnosu na klasične informacijske sustave, te dodirnim integracijskim točkama između takvih okolina, a kako bi bili u mogućnosti predložiti nadogradnje u infrastrukturi, podacima, te metodama dizajna, razvoja i održavanja potrebnih za uvođenje inteligentnog sustava. U predmetu će se obraditi cjelokupni životni ciklus razvoja i održavanja inteligentnih sustava, te agilnim metodologijama koje podržavaju takav životni ciklus (npr. MLOps). U sklopu održavanja inteligentnog sustava obraditi će se metode nadzora, te kontinuiranog poboljšavanja inteligentnog sustava, kako bi inteligentni sustav svojim odlukama i preporukama evoluirao prema promjeni u podacima, a koji indirektno reflektiraju ponašanje klijenata.

Ishodi učenja

  1. Definirati tipične poslovne slučajeve korištenja inteligentnih sustava, te procijeniti prikladnost i potrebu za uvođenjem inteligentnog sustava za određeni poslovni slučaj korištenja.
  2. Prepoznati koji od modernih algoritama ili tipova inteligentnih sustava je prikladan za rješavanje poslovnog slučaja korištenja.
  3. Procijeniti adekvatnost postojeće okoline i infrastrukture za rad inteligentnog sustava, te preporučiti potrebne nadogradnje kako bi se podržalo uvođenje inteligentnog sustava.
  4. Analizirati postojeće poslovne informacijske sustave i dizajnirati integraciju inteligentnog sustava sa postojećim poslovnim informacijskim sustavima.
  5. Dizajnirati i razviti inteligentni sustav korištenjem modernih i aktualnih programskih jezika i alata.
  6. Razviti automatizirani način kontinuiranog poboljšanja odluka i preporuka koje donosi inteligentni sustav.
  7. Preporučiti i izraditi metodu nadzora nad radom inteligentnog sustava.
  8. Razviti plan projekta i troškovnik za uvođenje inteligentnog sustava.

Oblici nastave

Predavanja

Samostalni zadaci

Laboratorij

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 0 % 20 % 0 % 20 %
Sudjelovanje u nastavi 0 % 10 % 0 % 10 %
Seminar/Projekt 0 % 70 % 0 % 70 %

Tjedni plan nastave

  1. 1. Uvod u primjenu inteligentnih sustava u industriji • Praktična upotreba inteligentnih sustava u industriji. Terminologija. • Poslovni slučajevi korištenja inteligentnih sustava. • Ocjena opravdanosti i potencijala za isplativost uvođenja inteligentnog sustava. • Problemi kod uvođenja inteligentnih sustava, te negativni slučajevi korištenja. O tome što nije inteligentni sustav i zašto poduzeća ostaju razočarana projektima uvođenja inteligentnih sustava.
  2. 2. Pregled osnova inteligentnih sustava • Tipovi inteligentnih sustava i tipične arhitekture. • Algoritmi koji se koriste za inteligentne sustave. • Donošenje odluka i preporuka kao rezultat rada inteligentnog sustava.
  3. 3. Ocjena trenutnog stanja infrastrukture i informacijskih sustava, te preporuke nadogradnji za uvođenje inteligentnog sustava • Infrastruktura podesna za izvršavanje inteligentnih sustava. • Pregled trenutne okoline i informacijskih sustava i uočavanje nužnih razlika za uvođenje inteligentnog sustava. • Preporuke za nadogradnju infrastrukture i informacijskih sustava.
  4. 4. Integracija postojeće okoline i informacijskih sustava sa inteligentnim sustavom - podatkovna integracija • Pregled trenutnih izvora podataka i njihovih modela. • Tokovi podataka. • Metodologije za analitiku i prikupljanje podataka. • Analiza i potreba za čišćenjem podataka. • Transformacije podataka za upotrebu u inteligentnom sustavu. • Izlaganje rezultata rada inteligentnog sustava kroz podatke.
  5. 5. Integracije postojeće okoline i informacijskih sustava sa inteligentnim sustavom - servisna integracija • Pregled trenutnih servisa i ocjena adekvatnosti. • Korištenje servisa kao izvora podataka. • Funkcionalno korištenje servisa za pozive potprograma u postojećim informacijskim sustavima. • Izlaganje rezultata rada inteligentnog sustava kroz servise.
  6. 6. Dizajn i razvoj inteligentnih sustava • Moderni i aktualni programski jezici za razvoj inteligentnih sustava. • Alati za razvoj. • Odabir algoritama. • Učenje: skaliranje, paralelizam, modeli. • Model: spoj algoritama inteligentnih sustava i podataka. Parametri modela kao rezultat procesa učenja algoritma.
  7. 7. Dizajn i razvoj inteligentnih sustava • Ocjena adekvatnosti i ispravnosti modela. • Kalibracija i zahvati u podatke za učenje. • Otklanjanje grešaka. • Problemi u podacima koji se reflektiraju na rezultate inteligentnog sustava. Sigurnost podataka. Utjecaj zatvorenog ciklusa između podataka, inteligentnog sustava i klijenata.
  8. 8. Praktični primjer • Primjer iz stvarnog života, od izvora podataka sve do konkretnog inteligentnog sustava.
  9. 9. Specifične primjene inteligentnih sustava • Analize velikih tokova podataka • Upravljanje korištenjem inteligentnih sustava: upravljanje infrastrukturom. • Inteligentna optimizacija: poslovni procesi, lanac dostave, proizvodnja i slično. • Masivni i paralelni inteligentni sustavi.
  10. 10. Aktualne metodologije za upravljanje životnim ciklusom inteligentnog sustava • Faze životnog ciklusa. • Utjecaj promjena nad postojećim informacijskim sustavom na inteligentni sustav. • Osmišljavanje projektnog plana i izrada troškovnika. • Preporuka nadogradnje standardnih postupaka dizajna, razvoja i održavanja informacijskih sustava u poduzeću dijelovima metodologija za dizajn, razvoj i održavanje inteligentnih sustava.
  11. 11. Automatizacija dizajna i razvoja inteligentnih sustava • Koncepti automatizacije u službi kontinuiranog poboljšanja rada inteligentnog sustava. • Inkrementalno učenje i adaptacija. • Utjecaj promjene u ulaznim podacima i/ili ponašanju korisnika i klijenata na potrebu adaptacije inteligentnog sustava.
  12. 12. Infrastruktura za inteligentne sustave • Infrastruktura u oblaku ili vlastita infrastruktura - mogućnosti i analiza isplativosti. • Virtualizacija kontejnerima. • Usklađivanje životnih ciklusa inteligentnih sustava i infrastrukture. • Puštanje inteligentnog sustava u rad.
  13. 13. Nadzor i analiza rezultata • Nadzor nad rezultatima inteligentnog sustava. Uspješnost i kvaliteta odluka i preporuka koje daje inteligentni sustav. • Infrastrukturno opterećenje. • Poslovna analiza opravdanosti uvođenja inteligentnog sustava.

Studijski programi

Sveučilišni diplomski
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmet profila (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)

Literatura

Emmanuel Ameisen (2020.), Building Machine Learning Powered Applications: Going from Idea to Product, O'Reilly Media
Andrew Ferlitsch (2021.), Deep Learning Design Patterns, Manning Publications
Valliappa Lakshmanan, Sara Robinson, Michael Munn. (2020.), Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps, O’Reilly Media
Ben Weber (2020.), Data Science in Production: Building Scalable Model Pipelines with Python,
Harvinder Atwal (2019.), Practical DataOps: Delivering Agile Data Science at Scale, Apress
Mark Treveil, Nicolas Omont, Clément Stenac, Kenji Lefevre, Du Phan, Joachim Zentici, Adrien Lavoillotte, Makoto Miyazaki, Lynn Heidmann. (2020.), Introducing MLOps: How to Scale Machine Learning in the Enterprise, O’Reilly Media
Jeremy Howard, Sylvain Gugger (2020.), Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD, O’Reilly Media
Géron, Aurélien (2020.), Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems, O’Reilly Media

Predavanja

Za studente

Izvedba

ID 240754
  Ljetni semestar
5 ECTS
R0 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

90 izvrstan
75 vrlo dobar
60 dobar
50 dovoljan