Kako funkcioniše Deep Learning
Deep Learning, Veštačka inteligencija (AI) i mašinsko učenje (ML) su neke od trenutno najpopularnijih tema među IT stručnjacima, ali i šire. Možemo slobodno reći da su u pitanju teme koje postepeno iz naučnog okvira prelaze u našu svakodnevicu i počinju da se nameću u mnogim segmentima naših života. Ali šta su ti pojmovi i koliko zapravo oni zaista imaju veze sa našom svakodnevicom?
Izraz „AI“ vrlo često čujemo od ljudi različitih interesovanja i zanimanja, od inženjera do ljudi iz sveta biznisa. Ali prilično često mnogi od njih ne razumeju baš najbolje šta se sve može podvesti pod AI.
Nadamo se da će nakon što pročitate ovaj članak, ovi pojmovi biti malo jasniji. Još važnije, upoznaćemo vas sa načinom na koji funkcioniše Deep Learning, sigurno najpopularnija vrsta ML-a.
Veštačka inteligencija (AI) vs mašinsko učenje (ML)
Pre svega da pojasnimo neke osnovne pojmove, kako bismo bolje razumeli poemnute koncepte:
Veštačka inteligencija (AI) predstavlja, slobodno možemo reći, simulaciju ljudske inteligencije u računarima.
Kada su AI istraživanja prvi put započela, naučnici su pokušavali da kopiraju ljudsku inteligenciju za specifične zadatke – recimo za igranje neke igre (npr. šah ili go).
Da bi pokušali verno da simuliraju ljudsku inteligenciju, uveli su prilično veliki broj pravila koja je računar trebalo da poštuje prilikom obavljanja određenog zadatka. Računar je imao određenu listu mogućih akcija koje je mogao da preduzima i donosio je odluke na osnovu postavljenih pravila.
Mašinsko učenje (ML) se, sa druge strane, odnosi na sposobnost mašine da uči koristeći velike skupove podataka umesto strogo definisanih i kodiranih pravila. Zapravo, ML omogućava računarima da sami uče. Ova vrsta učenja koristi moć savremenih računara, koji lako mogu obraditi velike grupe i količine različitih podataka.
DEEP LEARNING
Najkraće moguće rečeno, deep learning je metoda mašinskog učenja. Ona nam omogućava da treniramo AI da predvidi odeđene ishode na osnovu podataka koje joj stavimo na raspolaganje i kojima je vremenom snabdevamo.
Na jednom imaginarnom primeru možemo bolje razumeti kako funkcioniše deep learning. Za tu priliku ćemo pokušati da kreiramo AI koji će se baviti uslugom procene cene avionskih karata. Nešto što zaista može biti veoma korisno u realnom životu.
Želimo da naš kalkulator cene avionskih karata izračuna cenu korišćenjem sledećih ulaza (izuzev povratnih karata, kako bi primer bio jednostavniji):
- Polazni aerodrom
- Dolazni aerodrom
- Dan poletanja
- Aviokompanija
Učenje AI prestavlja najteži deo deep learning-a. To je prosto iz razloga što je za to potreban veliki skup podataka, a uz to i velika količina računske snage.
Za našu procenu cene avionskih karata potrebno je da pre svega pronađemo istorijske podatke o cenama karata. Zbog velike količine mogućih aerodroma i kombinacija datuma odlaska i avioprevoznika potrebna nam je veoma velika lista cena karata.
Da bismo naučili AI, moramo joj dati ulazne podatke iz našeg skupa podataka i uporediti njegove izlazne podatke sa rezultatima drugih skupova podataka. Pošto je AI zapravo tek na početku procesa učenja, njeni rezultati će biti pogrešni.
Jednom kada prođemo kroz čitav skup podataka, možemo da napravimo funkciju koja nam pokazuje koliko su pogrešni bili rezultati AI u odnosu na stvarne rezultate. Ova funkcija se naziva Funkcija troškova ili funkcija gubitka. Ova greška može biti i posledica naše želje da cena karte bude što je moguće niža, a poželjno jednaka nuli.
Na koji način možemo smanjiti funkciju troškova?
Kao najbolje ređenje pokazala se tehnika koja se zove gradijentni spust (Gradient Descent). Uopšteno gredano Gradijentni spust je tehnika koja nam omogućava da nađemo minimum određene funkcije.
U našem slučaju tražimo minimum funkcije troškova.
Ova tehnika deluje tako što utiče na pravac kretanja rezultata u malim koracima nakon svake iteracije skupa podataka. Računajući gradijent funkcije troškova na određenom skupu rezultata, mi smo u mogućnosti da vidimo u kom pravcu se nalazi minimum, što nam konačno i pomaže u minimiziranju funkcije troškova.
Ipak, da bismo minimizirali funkciju troškova, moramo je ponoviti kroz skup podataka više puta. Zbog toga nam je potrebna velika količina računarske snage, koja će biti u stanju da se nosi sa tim složenim operacijama. Ona svakako predstavlja važan segment AI i slobodno možemo reći da bez rekativno jeftine računarske snage, AI ne bi danas bio tu gde jeste. Upravo je arhitektura i snaga današnjih računarskih sistema u velikoj meri doprinela pojavi i napretku AI kakvu danas poznajemo.
Ono što je važno napomenuti jeste da se takvo ažuriranje rezultata dobijenih u više iteracija, kod tehnike gradijentnog spusta vrši automatski, u čemu zapravo i leži sva magija deep learning-a!
Time smo i konačno na dobrom putu da u ovom našem imaginarnom projektu postignemo željeni ishod. Nakon što uspemo da AI naučimo kako da radi procenu cene avionskih karata, sledeći korak bi bio da je koristimo za predviđanje budućih cena karata. U kojoj meri bi to moglo da utiče na globalnu ekonomiju, o tome bi se dalo dosta raspravljati, ali Iz svega do sada navedenog lako je uvideti ekonomski značaj jednog takvog projekta, makar i on bio imaginaran i korišćen samo za potrebe ovog teksta.
Činjenica je da je deep learning i AI uopšte od neizmerne važnosti za sve sfere ljudskog života, pa se može s razlogom očekivati da u skorijoj budućnosti neki za sada imaginarni projekti postanu realni i da postepeno formiraju našu realnost u pravcu sve veće primene AI na sve sfere našeg svakodnevnog života.
Bez komentara