Kako AI i strojno učenje u web pregledniku mogu doprinijeti korisničkom iskustvu?

Umjetna inteligencija i strojno učenje zasigurno su teme o kojima se u zadnje vrijeme najviše raspravlja, a kako njihova primjena u web pregledniku može doprinijeti svijetu objasnio je na svom predavanju u sklopu Shift konferencije - Keyfer Mathewson, frontend developer iz Shopifya.

Shift konferencija 7. godinu za redom okupila je developere iz svih dijelova svijeta. Na poznatoj lokaciji u Hrvatskom narodnom kazalištu, u gradu Splitu – srcu Dalmacije, našlo se preko 1300 sudionika. Od predavača iz svjetski poznatih tvrtki kao što su GitHub, Twitch, Shopify, GitLab, Heroku, Google, Facebook i mnoge druge, u dva dana se moglo saznati sve o najvećim trendovima u developmentu i novim tehnologijama.

Jedno od tih predavanja ticalo se neizbježne i sveprisutne teme umjetne inteligencije i strojnog učenja te njihove primjene u web pregledniku u što nas je izvrsno uveo Keyfer Mathewson iz Shopifya.

Što su umjetna inteligencija i strojno učenje?

Na početku predavanja Keyfer je dao nezaobilaznu teorijsku pozadinu glavnih pojmova, a budući da je dobro ponavljati – prisjetimo se.

Umjetna inteligencija znanost je koja omogućuje kompjuterima izvršavanje ljudskih djelatnosti dok pod strojnim učenjem podrazumijevamo pristup koji omogućuje umjetnoj inteligenciji učenje iz iskustva kako bi pronašla uzorke u podacima. U tom kontekstu – kako sama umjetna inteligencija uči kroz primjenu strojnog učenja, dolazimo i do koncepta koji se tiče nadziranog strojnog učenja.

Nadzirano strojno učenje, kojem se Keyfer najviše posvetio u svom predavanju još zovemo i duboko učenje odnosno deep learning. Duboko učenje je grana strojnog učenja koja je posebno prikladna za rješavanje problema iz područja umjetne inteligencije, a opisuje se kao nadzirano zato jer ispitivač bira odnosno označava što će AI učiti od tog podatka. Primjerice, ako bočicu vode označimo kao napunjenu vodom i prozirnu te je označimo kao varijablu 0,7 – umjetna inteligencija će za sve ostale podatke koje odgovaraju tom skupu obilježja pripisati istu oznaku. Prema tome, duboko učenje je tehnika implementiranja strojnog učenja kroz strukture koje se nazivaju neuronske mreže.

Shift Facebook

Glavni cilj strojnog učenja je predviđanje odnosno zaključivanje – modelu se daju podaci, a on predviđa neke buduće vrijednosti. Dvije vrste modela u strojnom učenju su regresija i klasifikacija. Regresija predstavlja pronalaženje najboljeg odgovarajućeg pravca, a udaljenost točaka od pravca označava količinu pogreške, tj. koliko smo u krivu. Cilj u ovakvom modelu je da stroj nauči smanjiti grešku. Klasifikacija pak predstavlja svrstavanje – koje daje odgovore “da” ili “ne” te “ovo” ili “ono”. Naprimjer:

  • Je li ovo mačka?” Na što će odgovor biti “da” ili “ne”.
  • Je li ovo mačka ili pas? Na što će odgovor biti “mačka” ili “pas”.

Kako su povezani JavaScript i strojno učenje?

Razlika između tradicionalnog i strojnog učenja je da tradicionalno ne može predvidjeti vrijednost, već samo može provjeriti neku apsolutnu vrijednost. Ideja kod strojnog učenja je predvidjeti vrijednost, mijenjati ju kako bi se smanjile greške i to ponavljati dok greške nisu najmanje moguće.

Koncepti strojnog učenja se mogu primijeniti u svim jezicima, no upravo brojnost JS developera u ovom području može značiti promjenu. Na LinkedInu 4 milijuna developera navodi poznavanje JavaScripta, dok Python kao vještinu navodi 10 puta manje developera, njih tek oko 400 tisuća. Također, JS je najpopularniji jezik na GitHubu prema podacima iz 2017.

Keyfer navodi, u slučajevima gdje su developeri direktno povezani s korisnicima (frontend development, JS development ili općenito development vezan za korisnike) interaktivno strojno učenje može se primijeniti na podacima koji se obrađuju u stvarnom vremenu.

Prije osam godina postojao je jedan JS framework vezan za strojno učenje i to je bio brain.js. Danas ih postoji više od osam, a razvijeni su uglavnom od strane Google-a i Tensorflow-a.

Frameworkovi za strojno učenje

Prvi predstavljeni framework je brain.js. To je open source library s dva tipa neuronskih mreža:

  • feedforward neuronske mreže koje uvijek idu isključivo prema sljedećem sloju i
  • recurrent neruonske mreže, tj. povratne, gdje su veze zatvorene i koje mogu zapamtiti neke prethodne radnje.

Treniranje modela i zaključivanje koristeći ovaj framework je iznimno jednostavno. Koristi se tako da se podaci organiziraju u objekt koji sadrži ulazne i izlazne vrijednosti. Ulazne moraju biti niz ili objekt s vrijednostima između 0 i 1 što znači da se podaci prije svega moraju prevesti u odgovarajući oblik.

Još jedan framework za strojno učenje je TensorFlow.js koji se prije zvao deeplearn.js, a razvio ga je Google Brain team. Baziran je na TensorFlow Python frameworku. Vrlo je moćan library budući da može raditi i NLP (obradu prirodnog govora), regresiju, klasifikaciju… Podaci ovdje moraju biti u obliku tenzora, tj. strukturiranih podataka predstavljenih n-dimenzionalnim nizom.

Umjetna inteligencija i strojno učenje u pregledniku

Keyfer je dao nekoliko primjera kako se umjetna inteligencija i strojno učenje mogu primijeniti u pregledniku.

Fast neural style transfer with Deeplearn.JS omogućava stiliziranje fotografija prema tipu neke poznate slike. Odabere se željena fotografija te označi stil s poznate slike koji želimo primijeniti. Ovdje se modeli preuzimaju i treniraju koristeći JS, pokreću se u pregledniku i predviđaju kako će izlazni piksel izgledati ako se u obzir uzme ulazni piksel i stil koji se treba primijeniti na taj piksel.

Cyborg writer je eksperimentalni text editor s ugrađenim neuronskim sintetizatorom teksta.

Rock paper scissors u pregledniku je klasična papir-škare-kamen igra protiv kompjutera temeljena na TensorFire libraryju. Dovoljno je brza da u stvarnom vremenu izvršava klasifikaciju webcam videa na klijentskoj strani.

Emoji scavenger hunt je web aplikacija u kojoj korisnik hoda te snima svoje okruženje u potrazi za danim emojiem. Ovdje se koriste klasifikacija slika, klasifikacija objekata, generalizacija piksela te previđanje objekta.

Webcam pacman je još jedan zanimljiv primjer umjetne inteligencije i strojnog učenja u pregledniku. Temeljen je na TensorFlow.js i sadrži četiri klase: lijevo, desno, gore dolje. Model trenira sam korisnik svojim podacima i trenira se tako da prepoznaje komande kao one s joysticka za lijevo, desno, gore i dolje.

Keyfer je predstavio i vlastiti projekt, Britbot, koji kreira u partnerstvu s Libby Heany i Koryjem Mathewsonom. Britbot je online chatbot izrađen u potpunosti u JS-u te treniran na višegodišnjim sadržajima iz novina i knjiga. Omogućuje komunikaciju u stvarnom vremenom i različitu interakciju koja uključuje i glas i video, a cilj je i omogućiti interakciju izrazima lica. Projekt je u izradi pola godine, a kroz mjesec dana bi trebao biti live.

Samo zabava ili i nešto više?

I za sam kraj, iako se možda činilo da je to sve za zabavu, postoji i nešto više iza toga. Keyfer zaključuje da kao developeri strojnim učenjem možemo dosta toga promijeniti. Možemo igrati igrice na druge i nove načine, možemo stvarati robote i nove programe, ali ono što je najbitnije jest da možemo pomoći drugim ljudima, ljudima koji ne mogu koristiti računala na način na koji su predviđeni da se koriste.

Treniranje modela da pogled očima interpretiraju kao pomicanje cursora ili da treptanje interpretiraju kao potvrdu odabira u web pregledniku, omogućilo bi ljudima s poteškoćama i invalidima lakše korištenje računala te doživljavanje potpunog korisničkog iskustva.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

Svoj novčanik od sada i u Hrvatskoj možete zamijeniti – aplikacijom!

Za Google Pay ste vjerojatno već čuli, ali ako nemate račun u nekoj stranoj banci, niste ga mogli niti koristiti u Hrvatskoj. To se sada mijenja - ali samo za neke.

Kultura 2.0

Zašto je HRT ukinuo HD čim je završilo Svjetsko prvenstvo (i tek onda predstavio novi HRTi app?!)

Nova HRTi aplikacija stigla je tek nakon završetka Svjetskog prvenstva u nogometu, a nakon prvenstva se čini kako trebamo i zaboraviti da ćemo zemaljskim signalom dobiti HD programe u skorije vrijeme. Zašto?

Startupi i poslovanje

Good Gameov žiri odlučit će kojem hrvatskom startupu ide 100 tisuća kuna!

Nakon uspješnog trećeg izdanja Good Gamea ove godine, od kotizacija timova prikupljeno je 100 tisuća kuna, a taj novac će se investirati u jednu poslovnu ideju. Koja će to biti saznat ćemo na Good Game Liftoffu u rujnu ove godine, ali za sada znamo imena članova žirija koji će tu odluku i donijeti.

Što ste propustili

Startupi i poslovanje

Zakon o doprinosima: Uključite se u javnu raspravu za spas malih tvrtki!

Jedno od rijetkih povećanja plaća kojima se mnogi neće veseliti. Tisuće malih i mikro poduzeća, a među njima brojna iz IT industrije, mogli bi se naći na rubu propasti ako prođe nova Vladina izmjena i dopuna Zakona o doprinosima.

Kultura 2.0

Živjeti od glazbe u Hrvatskoj: Svirali su u garažama, a sada produciraju za video igre

Donosimo priču četiri glazbenika, producenta i kompozitora kroz put nekonvencionalne glazbene karijere: kako se sklada za gaming blockbustere?

Digitalni mediji

Infowars dokazuje da su društveni mediji – mediji bez odgovornosti (čak i kod nas)

Društveni mediji ne žele imati odgovornost kakvu imaju mediji, njihovi novinari, urednici. A opet, imaju je.

Društvene mreže

Trebamo li ‘out of office’ za Facebook, LinkedIn i Instagram (i kako ga postaviti)

Je li vrijeme da postavimo 'out of office' i na društvene mreže, ne samo službeni email?

Internet marketing

Kako Poreznoj upravi dokazati da doista obavljate digitalne, a ne fiktivne usluge?

Kako dokazati da je digitalna usluga koju ste prodali klijentu zapravo digitalna usluga, a ne samo nešto fiktivno osmišljeno samo kako biste zgrabili te pare, pitanje je koje postaje sve aktualnije u vremenu kada sve više tvrtki posluje isključivo ovim putem, a posebice kad ovakvi slučajevi postaju predmet istrage USKOK-a.

Društvene mreže

Sad kad znate koliko trošite Facebook i Instagram, blokirajte ih (znamo da ne-će-te)

Godinama nakon što smo se počeli time opterećivati, Facebook nam je predstavio (pre)jednostavan alat koji nam otkriva koliko točno godi… minuta trošimo, ne samo na njemu, nego i Instagramu. Je li ovo znak da konačno blokiramo društvene mreže - ili možemo biti iskreni sami sa sobom kako ih koristimo?