Home SOFTWAREŠta je mašinsko učenje? (Praktični primeri koji pokreću naš svet)

Šta je mašinsko učenje? (Praktični primeri koji pokreću naš svet)

od itn
Mašinsko učenje

Da li ste se ikada zapitali…

  • Kako Netflix ili YouTube sa neverovatnom preciznošću znaju koji će vam se film ili video sledeći svideti?
  • Kako vaš imejl provajder uspešno filtrira 99% neželjene pošte (spam), dok važne poruke uvek stižu u inboks?
  • Kako vaš telefon može da prepozna vaše lice i otključa se za delić sekunde, čak i pod različitim osvetljenjem?
  • Kako je moguće da vam Google Maps predvidi tačno vreme dolaska, uzimajući u obzir gužve u saobraćaju koje se tek stvaraju?
  • Ili kako vaša banka može da detektuje sumnjivu transakciju na vašoj kartici i blokira je pre nego što nastane veća šteta?

Ovo nije magija, niti je delo armije ljudi koja radi u pozadini. Odgovor na sva ova pitanja, i na hiljade drugih, leži u jednoj od najmoćnijih i najtransformativnijih tehnologija našeg doba. Ta tehnologija se zove Mašinsko učenje (Machine Learning – ML).

Mašinsko učenje je tihi motor koji pokreće moderni digitalni svet. Ono je svuda oko nas, integrisano u aplikacije i servise koje koristimo svakog dana, često bez naše svesti o tome. To je tehnologija koja omogućava kompjuterima da uče iz iskustva, prepoznaju obrasce i donose odluke bez da su eksplicitno programirani za svaki mogući scenario.

Cilj ovog teksta je da demistifikuje mašinsko učenje. Da skinemo veo misterije i pokažemo vam ne samo šta je ono, već i kako fundamentalno funkcioniše, kroz praktične i razumljive primere. Zaronićemo u njegovu suštinu, istražiti njegove različite „škole mišljenja“ i otkriti kakve neverovatne prilike ono donosi za razvoj tehnologije, poslovanja i društva u celini, sa posebnim osvrtom na Srbiju.

Spremite se da otkrijete nevidljivu silu koja oblikuje vašu svakodnevicu.

Mašinsko učenjeFundamentalna promena: Razlika između programiranja i učenja

Da bismo shvatili suštinu mašinskog učenja, prvo moramo razumeti kako se ono razlikuje od tradicionalnog programiranja.

Tradicionalno programiranje: Zamislite da želite da napišete program koji pretvara evre u dinare. Kao programer, vi biste mašini dali eksplicitna, korak-po-korak pravila.

  1. Uzmi iznos u evrima.
  2. Pronađi trenutni kurs evra (npr. 117.2 RSD).
  3. Pomnoži iznos u evrima sa kursom.
  4. Prikaži rezultat. Program će savršeno raditi svoj posao, ali on ne zna ništa osim onoga što ste mu rekli. On ne može da uradi ništa drugo, niti može da nauči nešto novo. On je kao kuvar koji sledi recept do najsitnijeg detalja.

Mašinsko učenje: Sada zamislite mnogo kompleksniji problem. Želite da napravite program koji će na osnovu fotografije prepoznati da li je na njoj pas ili mačka. Kako biste to uradili tradicionalnim programiranjem? Morali biste da napišete milione pravila: „Ako ima špicaste uši I brkove I trouglastu njušku, ONDA je verovatno mačka“. Ali šta ako mačka spava, pa joj se uši ne vide? Šta ako je u pitanju rasa psa sa špicastim ušima? Problem postaje praktično nerešiv.

Mašinsko učenje pristupa ovome na potpuno drugačiji način. Umesto da mu dajemo pravila, mi mu dajemo podatke.

  1. Prikupimo ogroman broj podataka – na primer, 100.000 slika mačaka i 100.000 slika pasa.
  2. Svaku sliku obeležimo (labeliramo) – „ovo je mačka“, „ovo je pas“.
  3. Zatim kažemo algoritmu mašinskog učenja: „Evo ti primeri. Sam pronađi obrasce i nauči pravila koja razlikuju psa od mačke.“

Mašina tada analizira sve te slike i sama uči karakteristike. Uči da mačke generalno imaju određeni oblik očiju, teksturu krzna, oblik njuške. Ne zato što smo joj mi to rekli, već zato što je videla dovoljno primera da sama zaključi.

To je suštinska razlika.

  • Tradicionalno programiranje: Podaci + Pravila -> Odgovori
  • Mašinsko učenje: Podaci + Odgovori -> Pravila

Mašinsko učenje je kao da kuvaru, umesto recepta, date hiljade slika savršenih pica i kažete mu da sam nauči kako da ih napravi. Kroz posmatranje, on uči o debljini testa, rasporedu sastojaka, boji korice… On uči suštinu, a ne samo instrukcije.

Mašinsko učenjeKako mašina „uči“? Anatomija procesa

Proces mašinskog učenja, iako matematički kompleksan, može se razložiti na nekoliko logičkih koraka. Nastavimo sa našim primerom prepoznavanja pasa i mačaka.

  1. Prikupljanje podataka (Data Collection): Prvi i najvažniji korak. Potrebni su nam kvalitetni i raznovrsni podaci. Moramo prikupiti hiljade slika različitih rasa pasa i mačaka, u različitim pozama, okruženjima i uslovima osvetljenja. Kvalitet podataka direktno utiče na kvalitet „znanja“ mašine. Princip „đubre unutra, đubre napolju“ ovde važi apsolutno.
  2. Priprema podataka (Data Preparation): Sirovi podaci su retko spremni za upotrebu. Moramo ih očistiti, srediti i formatirati. To uključuje promenu veličine svih slika na istu dimenziju, normalizaciju boja i, što je najvažnije, obeležavanje (labeliranje). Svakoj slici moramo dodeliti tačnu oznaku: „pas“ ili „mačka“.
  3. Odabir algoritma/modela (Model Selection): Sada biramo „strategiju učenja“. Postoji mnogo različitih algoritama mašinskog učenja (npr. neuronske mreže, stabla odlučivanja, support vector machines…). Svaki je dobar za određenu vrstu problema. Za prepoznavanje slika, najčešće se koriste konvolucione neuronske mreže (CNN), koje su posebno dobre u prepoznavanju vizuelnih obrazaca.
  4. Trening (Training): Ovo je srce procesa. Algoritam prolazi kroz obeležene podatke (naše slike) i pokušava da napravi predikciju za svaku od njih.
    • Pokažemo mu sliku mačke. On na početku nasumično pogađa, npr. „pas“.
    • Mi mu kažemo: „Netačno, ovo je mačka.“
    • Algoritam tada analizira svoju grešku i blago podešava svoje unutrašnje parametre (svoju „logiku“) kako bi sledeći put bio bliži tačnom odgovoru.
    • Ovaj proces se ponavlja stotinama hiljada ili milionima puta. Kroz svaki ciklus, model postaje sve bolji i bolji u razlikovanju suptilnih karakteristika koje definišu psa i mačku.
  5. Evaluacija (Evaluation): Nakon treninga, moramo da proverimo koliko je naš model zaista naučio. Testiramo ga na novom setu podataka – slikama koje nikada pre nije video. Ako na tim novim slikama postiže visoku tačnost (npr. 98% tačnih prepoznavanja), znamo da je model dobar. Ako nije, vraćamo se na prethodne korake i pokušavamo da ga poboljšamo (npr. sa više podataka ili drugačijim algoritmom).
  6. Implementacija i predikcija (Deployment & Prediction): Kada smo zadovoljni performansama, model je spreman za upotrebu u stvarnom svetu. Možemo ga integrisati u aplikaciju. Kada korisnik postavi novu sliku, naš istrenirani model će je analizirati i dati svoju predikciju: „Verovatnoća 99% da je ovo mačka“.

Ovaj šestostepeni proces je osnova gotovo svake primene mašinskog učenja.

mashine lerningTri glavne „škole“ mašinskog učenja

Nisu svi problemi učenja isti. Zavisno od prirode zadatka i dostupnosti podataka, mašinsko učenje se grubo deli na tri glavne kategorije ili „škole“.

1. Nadgledano učenje (Supervised Learning)

Ovo je najčešći i najintuitivniji tip mašinskog učenja. Kao što naziv kaže, proces učenja je „nadgledan“.

  • Analogija: To je kao učenje uz pomoć učitelja ili fleš kartica. Za svako pitanje (ulazne podatke) imamo tačan odgovor (izlaznu oznaku). Model uči tako što poredi svoje odgovore sa tačnim odgovorima i ispravlja se.
  • Ključni zahtev: Potrebni su nam obeleženi (labelirani) podaci. Ovo je često najskuplji i najzahtevniji deo procesa, jer zahteva ljudski rad.

Nadgledano učenje se dalje deli na dve glavne vrste problema:

a) Klasifikacija (Classification): Odgovor je kategorija. Pitanje je „Šta je ovo?“ ili „Da li pripada grupi A ili grupi B?“. * Primeri: * Filter za spam: Da li je imejl „spam“ ili „nije spam“? * Prepoznavanje slika: Da li je na slici „pas“, „mačka“, „ptica“ ili „automobil“? * Medicinska dijagnostika: Da li snimak tkiva ukazuje na „maligni“ ili „benigni“ tumor? * Analiza sentimenta: Da li je komentar korisnika na proizvod „pozitivan“, „negativan“ ili „neutralan“? * Detekcija prevara: Da li je transakcija karticom „legitimna“ ili „sumnjiva“?

b) Regresija (Regression): Odgovor je kontinuirana, numerička vrednost. Pitanje je „Koliko?“ ili „Koja je vrednost?“. * Primeri: * Predviđanje cena nekretnina: Kolika će biti cena stana od 70 kvadrata u centru Beograda na osnovu njegove lokacije, spratnosti, starosti zgrade, itd.? * Predviđanje cena akcija: Kolika će biti cena akcije neke kompanije sutra? * Predviđanje potražnje: Koliko komada određenog proizvoda treba da naručimo za sledeći mesec na osnovu prethodne prodaje i sezonskih trendova? * Predviđanje vremena dolaska: Koliko minuta će trajati vožnja od Niša do Novog Sada u petak popodne?

2. Nenadgledano učenje (Unsupervised Learning)

Ovde stvari postaju zanimljivije. U ovom slučaju, nemamo „učitelja“.

  • Analogija: To je kao da vam neko da ogromnu kutiju pomešanog voća (jabuke, banane, pomorandže, grožđe) i kaže vam: „Sortiraj ovo u grupe.“ Vi ne znate imena voća, ali možete da ih grupišete po sličnosti – crvene i okrugle na jednu gomilu, žute i duguljaste na drugu, narandžaste i okrugle na treću.
  • Ključni zahtev: Radimo sa neobeleženim podacima. Cilj nije da se predvidi tačna oznaka, već da se otkrije skrivena struktura ili obrasci unutar samih podataka.

Glavne vrste problema u nenadgledanom učenju su:

a) Klasterovanje (Clustering): Grupiše podatke u klastere (grupe) na osnovu njihove sličnosti. * Primeri: * Segmentacija kupaca: Marketinški tim može da koristi klasterovanje da grupiše svoje kupce u segmente (npr. „štedljivi studenti“, „porodice sa decom“, „luksuzni kupci“) kako bi im slali prilagođene ponude. * Organizacija vesti: Google News automatski grupiše hiljade članaka o istoj temi (npr. o nekom sportskom događaju) u jedan klaster. * Genomika: Naučnici koriste klasterovanje za grupisanje gena sa sličnim funkcijama.

b) Asocijacija (Association): Pronalazi interesantne veze i pravila između različitih stavki u velikim skupovima podataka. * Primeri: * Analiza tržišne korpe: Ovo je klasičan primer. Supermarketi analiziraju račune i otkrivaju pravila poput: „Kupci koji kupe pivo i čips, vrlo često kupe i kikiriki.“ Na osnovu ovoga, mogu da pozicioniraju te proizvode blizu jedni drugih u radnji. * Preporuke proizvoda: „Korisnici koji su gledali ovaj film, takođe su gledali i…“ – ovo je delom zasnovano na pravilima asocijacije.

3. Učenje potkrepljivanjem (Reinforcement Learning)

Ovo je treća velika škola, koja najviše podseća na način na koji ljudi i životinje uče.

  • Analogija: To je kao dresura psa. Pas ne razume ljudski jezik, ali uči kroz sistem nagrada i kazni. Kada uradi nešto dobro (npr. sedne na komandu), dobije nagradu (poslasticu). Kada uradi nešto loše, dobije blagu kaznu (oštriji ton glasa). Vremenom, pas nauči koje ponašanje vodi ka nagradi i počinje da ga ponavlja.
  • Kako funkcioniše: Imamo agenta (naš model) koji se nalazi u nekom okruženju. Agent preduzima akcije, a za svaku akciju dobija nagradu (reward) ili kaznu (penalty) od okruženja. Cilj agenta je da nauči politiku – niz akcija koje će maksimizovati ukupnu nagradu tokom vremena. Učenje se dešava kroz milione pokušaja i grešaka.

Primeri:

  • Igranje igara: AI sistemi poput AlphaGo (koji je pobedio najboljeg svetskog igrača igre Go) su učili igrajući milione partija protiv samih sebe. Za pobedu su dobijali nagradu, za poraz kaznu.
  • Autonomna vožnja: Automobil uči da vozi u simulaciji. Dobija nagradu za ostajanje u svojoj traci i poštovanje pravila, a kaznu za sudaranje ili kršenje propisa.
  • Robotika: Robot uči kako da hoda ili da hvata predmete. Dobija nagradu za uspešno izvršen zadatak.
  • Upravljanje resursima: Google koristi učenje potkrepljivanjem da optimizuje hlađenje svojih data centara, čime štedi ogromne količine električne energije.

mashine lerningMašinsko učenje u Srbiji: Od poljoprivrede do IT sektora

Iako se može činiti kao tehnologija rezervisana za Silicijumsku dolinu, mašinsko učenje je i te kako prisutno i relevantno za Srbiju. Njegova primena može biti ključ za rešavanje nekih od naših specifičnih izazova i za stvaranje nove ekonomske vrednosti.

  • IT Sektor i Gaming Industrija: Ovo je najočiglednije polje. Kompanije u Beogradu, Novom Sadu, Nišu i Kragujevcu već uveliko koriste ML. U gamingu, ML se koristi za kreiranje pametnijih protivnika (NPC-ova), za personalizaciju iskustva igrača i za balansiranje težine igre. U razvoju softvera, alati zasnovani na ML-u pomažu u pisanju i testiranju koda.
  • Poljoprivreda: Ovde leži ogroman, neiskorišćen potencijal. Srbija je zemlja sa velikim poljoprivrednim resursima. Mašinsko učenje može da donese revoluciju u preciznoj poljoprivredi:
    • Analiza satelitskih i dronskih snimaka: ML modeli mogu da analiziraju snimke useva i sa velikom preciznošću detektuju pojavu bolesti, nedostatak vode ili hranljivih materija, omogućavajući poljoprivrednicima da reaguju na vreme i samo na onim delovima njive gde je to potrebno.
    • Predviđanje prinosa: Na osnovu istorijskih podataka o vremenskim uslovima, kvalitetu zemljišta i primenjenim merama, ML modeli mogu predvideti prinos za tekuću sezonu.
    • Optimizacija navodnjavanja: Senzori u zemljištu šalju podatke ML sistemu koji odlučuje kada i koliko vode je potrebno, čime se štede voda i energija.
  • Bankarstvo i Finansije: Domaće banke već koriste sofisticirane ML sisteme za detekciju prevara sa platnim karticama u realnom vremenu. Takođe ga koriste za procenu kreditnog rizika klijenata (credit scoring), analizirajući stotine faktora kako bi doneli bolju odluku.
  • Zdravstvo: Iako je primena još uvek u povoju, potencijal je ogroman. ML može pomoći radiolozima u bržem i preciznijem očitavanju snimaka (mamograma, CT skenova), detektujući anomalije koje ljudsko oko može da propusti.
  • E-trgovina: Domaće online prodavnice sve više implementiraju sisteme za preporuku proizvoda, povećavajući prodaju i poboljšavajući korisničko iskustvo.

Odnos snaga: AI, Mašinsko učenje i Duboko učenje

Često se ovi termini koriste kao sinonimi, ali oni to nisu. Važno je razumeti njihov hijerarhijski odnos. Zamislite ruske babuške.

  1. Veštačka inteligencija (AI – Artificial Intelligence): Ovo je najveća babuška – najširi pojam. To je svaka tehnika koja omogućava kompjuteru da oponaša ljudsku inteligenciju. To uključuje sve, od mašinskog učenja do sistema zasnovanih na logici i pravilima (kao što je bio šahovski kompjuter Deep Blue).
  2. Mašinsko učenje (ML – Machine Learning): Ovo je manja babuška unutar AI. To je podskup veštačke inteligencije koji se fokusira isključivo na sposobnost mašina da uče iz podataka bez eksplicitnog programiranja. Sve mašinsko učenje je AI, ali nije sva AI mašinsko učenje.
  3. Duboko učenje (DL – Deep Learning): Ovo je još manja babuška, unutar ML. To je podskup mašinskog učenja koji koristi specifičnu vrstu algoritama zvanu duboke veštačke neuronske mreže (sa mnogo slojeva neurona). Duboko učenje je odgovorno za najnovije proboje u AI, posebno u oblastima prepoznavanja slika, govora i u pokretanju Velikih jezičkih modela (LLM) poput ChatGPT-ja.

Dakle, kada čujete za ChatGPT, on je primer primene Dubokog učenja, koje je vrsta Mašinskog učenja, koje je deo Veštačke inteligencije.

Mašinsko učenjeZaključak: Učenje kao najvažnija veština – i za mašine i za ljude

Mašinsko učenje nije više samo akademska disciplina ili buzzword iz tehnološkog sveta. To je fundamentalna sila koja preoblikuje industrije, stvara nova tržišta i menja način na koji komuniciramo sa svetom.

Videli smo da njegov princip nije magičan, već je zasnovan na logičkom procesu učenja iz podataka. Bilo da se radi o nadgledanom učenju koje nam pomaže da klasifikujemo svet oko sebe, nenadgledanom koje nam otkriva skrivene veze, ili učenju potkrepljivanjem koje omogućava mašinama da savladaju kompleksne zadatke kroz pokušaje i greške – suština je ista. Sposobnost učenja je ključ.

Za Srbiju, ovo predstavlja dvostruku priliku. S jedne strane, imamo priliku da primenimo ovu moćnu tehnologiju za rešavanje naših jedinstvenih problema i povećanje konkurentnosti u ključnim sektorima poput poljoprivrede i IT-ja. S druge strane, ovo je poziv na akciju i za sve nas kao pojedince. U svetu gde mašine mogu da uče, najvažnija veština za čoveka postaje upravo to – sposobnost neprestanog učenja, prilagođavanja i razumevanja alata koji oblikuju našu budućnost.

Sledeći put kada vam Netflix preporuči film koji vam se baš gleda, ili kada vas telefon prepozna u mraku, setite se nevidljivog procesa učenja koji se odigrao u pozadini. Setite se hiljada primera, miliona podešavanja parametara i elegantne moći mašinskog učenja na delu. Budućnost nije nešto što dolazi; ona uči, adaptira se i razvija se oko nas, svakog trenutka.

Banner

Banner

Možda će vam se svideti i