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.

https://twitter.com/Keyfermath/status/1002194565581983744

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.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

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, kao i Zakon, 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). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • 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 te pravu email adresu.

Kako koristimo podatke koje 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

Veliki intervjui

Big Tech zarađuje skoro 200 milijuna eura od oglašavanja u Hrvatskoj, a ne plaća porez

Uvođenje oporezivanja internetskog oglašavanja moglo bi značajno pomoći domaćim medijima, ali kada će ući u Zakon o medijima?

Umjetna inteligencija

Najvažniji dio Rimčevog Vernea nije robotaksi, već iskustvo?

Ovaj tjedan rebrendirana u Verne, Project 3 Mobility, tvrtka koju su 2019. godine osnovali Mate Rimac, Adriano Mudri te Marko Pejković, danas napokon ima prvo “opipljivo” predstavljanje onog što su razvijali. No, je li robotaksi usluga zbilja najvažnije što mogu ponuditi?

Veliki intervjui

Postaj, Trebam.hr i Meštar.hr – što očekivati od platformi za pronalazak majstora

Usprkos tome što nam nedostaje majstora na raznim područjima, barem imamo dovoljno platformi koje će nas povezati s onima najboljima, ili se barem tome nadamo.

Što ste propustili

Novost

Boiler: U podbrend Degordiana dolaze Tomislav Presečki i Saša Ivan

Degordian osniva novi pobrend za online i offline komunikacijske aktivnosti!

Veliki intervjui

Stjepan Groš, FER: Ulaganje u cyber sigurnost je nužno iako ne donosi političke bodove

Što hrvatsko zdravstvo može napraviti po pitanju cybersigurnosti kada nemamo dovoljno novaca ni za lijekove i zapošljavanje kadra kojeg uvelike nedostaje? U razgovoru s FER-ovim stručnjakom pokušavamo razjasniti nedavni hakerski napad koji je otvorio puno pitanja.

Netokracijin Playbook IT industrije

Prve hrvatske startupe spašavali su bugarski fondovi i ulazak u EU – što smo naučili od tada?

Nekada se posuđivalo od baka, ujčeva i prijatelja, pokušavalo doći do profitabilnosti kakve-takve pa se guralo sa sićom dalje. Do kud smo došli kad je u pitanju financiranje startupa...

Startupi

Program InnoStars Awards traži startupe – nagradni fond iznosi 25 tisuća eura

Program InnoStars Awards podržava startup poduzetnike u ostvarivanju tržišnog uspjeha edukacijom, prilikama za umrežavanje s investitorima te nagradnim fondom do 25 tisuća eura. Rok za prijavu je 5. kolovoza.

Obrazovanje

Digitalni inovacijski inkubator odabrao najbolje mlade inovatore među 1800 učenika i studenata

Početkom ožujka programu Digitalnog inovacijskog inkubatora pridružilo se više od 900 učenika iz preko 70 različitih škola i više od 900 studenata koji pohađaju više od 120 fakulteta iz preko 20 država širom Europe. Oni najuspješniji predstavili su svoje projekte u velikom finalu prošli tjedan.

Tvrtke i poslovanje

Hrvatski IT u 2023: Bilo je otkaza, ali je otvoreno i 2000 novih radnih mjesta!

Novi izvještaj CISExa, krovne udruge hrvatskih izvoznika softvera, otkriva kako 2023. i nije bila toliko kritična. Teška i izazovna da, ali daleko od toga da je "podbacila"...