Kako frontend developeri mogu iskoristiti AI i strojno učenje?

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.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome)
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime (Hrvoje Lončar) ili barem ime i inicijala (Hrvoje L.) te pravu email adresu. Kako koristimo podatke koje tamo ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Kultura 2.0

Dinamo je prvi hrvatski sportski ICO, kupite njihov $DZG token za 2 eura – i uključite se u klupske odluke!

Nakon brojnih drugih velikih klubova hrvatski nogometni prvak odlučio se na iskorak u blockchain svijet kroz novi model članstva. U "inicijalnoj ponudi tokena” od 29. rujna moći ćete postati vlasnik fan tokena Dinama s kojima ćete moći trgovati i sudjelovati u određenim odlukama kluba. Što to znači za kripto dioničare, koja je motivacija kluba za ovaj projekt i tko stoji iza Sociosa istražili smo iz prve ruke.

Intervju

Splitski Blank s partnerima uskoro lansira hrvatski NFT marketplace na Ethereumu!

Uz bok nekolicine renomiranih umjetnika suvremene umjetničke scene, a pod vodstvom splitske agencije Blank, stiže nam Endemic platforma za trgovanje NFT umjetninama. Više o projektu otkrivamo od samih pokretača.

Digitalni marketing

Prima se rebrendirala: Što (i tko) stoji iza prepoznatljivog, a inovativanog vizualnog identiteta?

Od obiteljske tvrtke do poslovnog sustava s više od 2000 zaposlenih. Prima je u posljednjih 25 godina poprilično odmaknula od svojih početaka, stoga je bilo krajnje vrijeme za vizualni identitet koji bi odražavao takvu promjenu.

Što ste propustili

Novost

HAVC prvi put raspisao natječaj za poticanje razvoja i proizvodnje videoigara

Hrvatski gaming studiji dobili su još jednu priliku za financiranje svojih projekata i to u Hrvatskoj!

Intervju

Photomath ima tim specijaliziran za animirane instrukcije koje se programiraju? I to bez pisanja koda?

Jeste li znali da čak 60% učenika koristi video za pomoć pri učenju matematike? Photomath danas nudi i vizualni način učenja matematike pomoću animiranih instrukcija. Uz njih korisnik ima dojam kao da pred sobom ima instruktora matematike, a mi smo provjerili kako se takve animacije uopće kreiraju uz Andriju Ražnatovića i Janu Čičko.

Startupi i poslovanje

Omega software postaje dio M SAN grupacije

I službeno je potvrđeno, drugi najveći sistemski integrator u Hrvatskoj, King ICT u sastavu grupacije M SAN, preuzeo je Omega software.

Kultura 2.0

Naš mozak nije poput ladica koje možemo neprestano puniti informacijama, kako mu pomoći da pamti bitno?

Svi smo se u jednom trenutku zapitali zašto ne mogu bolje pamtiti, odgovor na to pitanje otkrili smo na zagrebačkom TEDx-u!

Startupi i poslovanje

“Pristup top-down, gdje menadžment sam, ili skupa s HR-om osmisli vrijednosti tvrtke, je passé”

Nakon što se hrvatskom SofaScoreu u samo godinu i pol dana udvostručio broj zaposlenika, bilo je sigurno kako treba transformirati i internu kulturu koja će pratiti takav strelovit rast - a to je značilo ispitati vrijednosti sa svim ljudima u tvrtki.

Startupi i poslovanje

AI2FUTURE: “Odgovornost za izgradnju ekosustava prebačena je na tvrtke poput Infobipa i Photomatha”

Unatoč novim nadama koji su pitchali na AI2FUTURE konferenciji, izgradnju AI ekosustava u Hrvatskoj uvelike otežava što sve veći broj domaćih AI stručnjaka radi na daljinu za strane kompanije, a suradnja sa stručnjacima iz akademije je otežana...