bsen

Šta je Machine Learning?

Mašinsko učenje se iz dana u dan pokazuje kao jedno od najmoćnijih oruđa modernog čovjeka.

Vještačka inteligencija je, bez premca, najdominantiji motiv SF stvaralaštva u posljednjih stotinu godina. Brojne novele, a kasnije i filmska ostvarenja, dala su nam mogućnost da zamislimo svijet budućnosti u svjetlu zajedničkog života ljudi i mašina.

Drame radi, vještačka inteligencija je najčešće prikazana kroz armije zlih robota koji žele preuzeti svjetsku dominaciju i uništiti ljudsku rasu.

To je bilo okej za neko ranije doba, za zadovoljenje gladne ljudske mašte, dobru prodaju SF romana i dobre box office rezultate. Znamo koja je godina i znamo da već sada u obzir možemo uzeti i nešto povoljnije scenarije po homo sapiense. Bilo bi kul svih 1050 kilometara puta od Berlina do Pariza provesti čitajući jedan takav roman, bez skretanja pogleda sa ispisanih stranica, a pritom biti jedina osoba prisutna u tom vozilu, zar ne?
Danas su ovakve stvari itekako realne i dostižne zahvaljujući vještačkoj inteligenciji i jednom njenom segmentu – mašinskom učenju.
Ukoliko ste ikada na Facebooku lajkovali bilo šta u vezi sa IT industrijom, pojam “Machine Learning” vam iskače na home page-u bar jednom u toku dana. Moćan pojam, mora se priznati, ali nejasan.
 
Mašinsko učenje je ogromno naučno polje, koje iz dana u dan doživljava rađanje sve više svojih particija i sub-particija, a najbolje bi se moglo opisati citatom Arthura Samuela, IBM-ovog programera i profesora sa Stanforda, koji je rekao: “[Machine Learning is the] field of study that gives computers the ability to learn without being explicitly programmed.” Vjerujem da ste razumjeli.
Mašinsko učenje se bazira na principu korištenja generičkih algoritama na velikim skupovima podataka, koji kao rezultat daju predviđanje određene vrijednosti ili kreiranje logike korelacije među datim podacima. Uprostićemo – određeni skup podataka biva ubačen u generički algoritam, koji potom, bez pisanja specifičnog koda za dati problem, uviđa logiku među unesenim informacijama, te ga je moguće primjeniti na više različitih skupova podataka.
Mašinsko učenje bazira se na dvije osnovne vrste generičkih algoritama – nadgledano i nenadgledano učenje.
 
Nadgledano učenje podrazumijeva treniranje programa unošenjem velikog broja “riješenih primjera”; cilj je unijeti što više poznatih vrijednosti funkcije f(x) za određene vrijednosti varijable x, na osnovu kojih bi program bio sposoban kao rezultat dati (približno) tačnu vrijednost funkcije za neko novo x, sa kojim se prvi put sreće. Da bismo pojasnili principe nadgledanog učenja, koristićemo jedan od najčešće korištenih primjera – slučaj agenta za nekretnine.
 
Uspješan agent za nekretnine ispred sebe ima podatke o svakoj kući koju je prodao – lokaciju, broj kvadrata, broj spavaćih soba i, naravno, cijenu po kojoj je određena nekretnina prodata. Da bi bio sposoban procijeniti cijenu svake naredne nekretnine koja mu bude ponuđena, agent sve podatke koje ima unosi u algoritam i na taj način ga trenira da uvidi matematičke korelacije kojima bi dati brojevi dobili smisao. Na osnovu utvrđenih odnosa među unesenim parametrima (lokacija, broj kvadrata, broj spavaćih soba), vođen logikom ranije definisanih primjera, algoritam će biti sposoban da predloži cijenu za neku novu nekretninu, uz minimalan procenat greške. Slične zadatke riješavali smo i sami – u školi su nam davali tri broja bez aritmetičkih znakova među njima, i rezultat: 
 
6 2 2 = 10



Na nama je bilo da odredimo logiku među datim brojevima, postavimo znakove, i dobijemo traženu jednakost. Sličnim principom, u nadgledanom učenju, algoritam zaključuje na koji je način, u svakom od “riješenih primjera”, postignut traženi rezultat, te postaje sposoban to znanje primjeniti na novounesene podatke i dati odgovarajuću krajnju vrijednost. Naravno, unošenjem više primjera u algoritam, procenat moguće greške se smanjuje i naš program postaje “pametniji”. Repetitio est mater studiorum.
 
Nenadgledano mašinsko učenje oslanja se na ideju da u program unesemo određenu količinu podataka, među kojima on treba da pronađe povezanosti i korelacije, bez ranije definisanih “riješenih primjera”, odnosno, bez definisane tražene vrijednosti ili rezultata. Uzećemo našeg agenta za nekretnine kao primjer, ponovo. Recimo da imamo parametre (lokacija, broj kvadrata, broj spavaćih soba) za svaku unesenu nekretninu, ali ni za jednu ne postoji definisana cijena. Ipak, i ovdje imamo mnoštvo interesantnih podataka. Unošenjem informacija u razvijen algoritam nenadgledanog učenja, kao rezultat možemo dobiti činjenicu da se na određenoj lokaciji bolje prodaju stanovi sa manje kvadrata, dok na drugoj većina nekretnina ima veći broj spavaćih soba od prosjeka. Na osnovu ovih saznanja, agent je spreman pravilo usmjeriti svoje marketinške aktivnosti na određenu lokaciju. Takođe, program nam, kao rezultat može dati određene nekretnine koje bitno odskaču od prosjeka unesenih parametara, govoreći nam da se radi o velikim, potencijalno skupim nekretninama, na koje treba obratiti posebnu pažnju.

 
Upotreba principa mašinskog učenja danas je prisutna svuda oko nas – Facebook nas često iznenadi prijedlogom da se sprijateljimo sa  osobom koju smo sreli na žurci nekoliko dana ranije, ali nismo stigli (imali petlje) da se sa istom upoznamo, Google Adwords zarađuje 60 milijardi dolara godišnje na osnovu reklama plasiranih tačno i precizno, tamo gdje treba, opet zahvaljujući algoritmima mašinskog učenja, Netflix nam je sposoban predložiti tačno onaj film koji nam se u datom trenutku gleda, znajući šta smo ranije gledali i “učeći” o našim ukusima. Vrativši se na početak, naš put od Berlina do Pariza u automobilu kojim “ne upravlja niko”, moguć je na osnovu algoritama koji analiziraju piksele snimaka kamere na automobilu i određuju pod kojim uglom volan treba da bude u određenom trenutku, da bismo ostali na dijelu slike koju računar poznaje kao “auto-put”.
 
Veliki umovi današnjice, poput Elona Muska i Stevena Hawkinga, već nekoliko godina unazad upozoravaju da nam razvoj vještačke inteligencije u pogrešnom pravcu zaista i može donijeti kraj ljudske rase. Međutim, mašinsko učenje se, iz dana u dan, pokazuje kao jedno od najmoćnijih oruđa modernog čovjeka. Neupitno je da će se ova naučna oblast razvijati velikom brzinom i otvoriti nam nevjerovatne mogućnosti i potencijal za ogromna dostignuća – i to u skoroj budućnosti.

Autor: Vanja Babić