Machine Learning ir JavaScript

2019 04 30 · 3 minutės
Parengė: Nedas Šimkus

Šiandien terminą Machine Learning girdime nuolat. Machine Learning tampa vis populiaresnis, norint aplikacijoms įkvėpti dar daugiau sumanumo. Kompleksiška duomenų analizė padeda priimti teisingus sprendimus ir išvengti nenumatytų problemų. Taigi, kas, visgi, yra Machine Learning ir kaip jis veikia?

Machine Learning yra duomenų analizės metodas. Tai viena iš dirbtinio intelekto atšakų, besiremianti idėja, kad sistema gali mokytis iš duomenų, identifikuoti pasikartojančius modelius ir priimti kompleksiškus sprendimus beveik nesikišant žmogui. Du iš dažniausiai taikomų machine learning metodų yra prižiūrimas mokymasis ir neprižiūrimas mokymasis:

  • Prižiūrimas mokymasis: algoritmai yra mokomi naudojant ženklintus pavyzdžius, pavyzdžiui input‘ą, kai norimas output‘as yra žinomas. Algoritmas gauna input‘ų rinkinį kartu su teisingais output‘ais. Algoritmas mokosi lygindamas faktinius output‘us su teisingais output‘ais tam, kad surastų klaidas. Pagal gautus rezultatus, jis atitinkamai modifikuoja modelį.
  • Neprižiūrimas mokymasis: naudojami duomenys, kur nėra jokių žymų. Sistemai nėra pateikiamas „teisingas atsakymas“. Algoritmas turi pats išsiaiškinti, kas jam yra rodoma. Pagrindinis tikslas – ištirti duomenis ir atrasti juose esančias struktūras.

Štai keli plačiai žinomi machine learning aplikacijų pavyzdžiai:

  • Facebook veido atpažinimas. Tu gali nepažinoti žmogaus, esančio tavo nuotraukoje, bet Facebook‘as jį tikrai atpažins.
  • Rekomendacijos ir pasiūlymai Amazon ir Netflix platformose.
  • Apgavysčių aptikimas.
  • Mūsų virtualūs pagalbininkai – Siri ir Alexa

JavaScript

Python visuomet buvo pagrindinė machine learning programavimo kalba. To pagrindinė priežastis – tai brandi programavimo kalba, turinti puikią ekosistemą machine learning‘ui.
Visgi, naujausi pokyčiai JavaScript pasaulyje atkreipė machine learning projektų dėmesį į save.

JavaScript, kaip ir kiekvienas įrankis, turi savo privalumų ir trūkumų. Išvardysiu keletą iš jų, Pradėkime nuo trūkumų:

  • Trūkumas #1: Nebrandi ekosistema machine learning vystymui. Nepaisant naujausių JavaScript patobulinimų, ši kalba yra dar labai nauja machine learning srityje, taigi jaučiamas informacijos deficitas. Laimei, JavaScript yra viena populiariausių programavimo kalbų pasaulyje, kuriai tiesiog reikia laiko prisipratinti naują sau sritį.

Privalumai

  • Privalumas #1: Matyt, didžiausias JavaScript privalumas yra kalbos universalumas. Modernios naršyklės leidžia paleisti kodą bet kokiame įrenginyje. Taip pat, tokie įrankiai kaip elektronas leidžia programuotojams kurti darbalaukio aplikacijas, kai tuo metu React Native suteikia galimybę native mobilias aplikacijas. Taigi, JavaScript yra universali, skirtingoms platformoms pritaikoma programavimo kalba.
    Privalumas #2: JavaScript yra populiariausia web programavimo kalba, turinti brandžią NPM (Node Package Manager) ekosistemą. Jau dabar galima rasti parengtų machine learning modelių ir paketų, kurie padeda susidūrus su problemomis. Vienas didžiausių pliusų – kalbos populiarumas, taigi augant machine learning projektų apimtims, mums bus paprasčiau augti kartu naudojant jau gerai žinomą kalbą.
  • Privalumas #3: TensorFlow.js

TesnsorFlow.js – yra atviro kodo biblioteka, kurią galima naudoti aprašant, mokant ir paleidžiant machine learning modelius naršyklėje, pasitelkiant JavaScript ir aukšto lygio API. Naršyklėje veikiančios machine learning programos atrakina naujas galimybes, tokias kaip interaktyvus machine learning‘as. Keli pagrindiniai šios atviro kodo bibliotekos pliusai, kuriant machine learning paremtas aplikacijas:

  • Leidžiant machine learning programas naršyklėje reiškia, kad aš kaip vartotojas neturėsiu įsirašyti jokių papildomų bibliotekų arba tvarkyklių, man užteks atsidaryti web puslapį ir programa pradės veikti. Be to, bus paleistas ir GPU pagreitėjimas, nes TensorFlow.js automatiškai palaiko WebGL ir akseleruos tavo kodą tuo metu kaip GPU bus pasiekiamas.
  • Visi duomenys lieka kliento pusėje, kas yra labai svarbu, ypač dabar, kai duomenys yra tokie svarbūs ir visais būdais stengiamasi užtikrtinti vartotojų privatumą.

Darbo su TensorFlow.js eiga:

  • Įkelk jau egzistuojantį, iš anksto apmokytą modelį. Tiesiog susirask apmokytą modelį, įkelk į savo aplikaciją ir naudok, kaip tau patinka.
  • Iš naujo išmokyk savo įkeltą ir iš anksto apmokytą modelį. Tu taip pat gali iš naujo mokyti modelį su nedidelių duomenų kiekiu, kad jis atitiktų tavo poreikius.
  • Mokyk modelį nuo pradžių. Gali naudotis TensorFlow.js aprašyti, mokyti ir paleisti modelius naršyklėje, naudojant JavaScript ir aukšto lygio API.

Išvados

Akivaizdu, kad planetos išsidėstė palankiai ir dabar yra pats geriausias laikas naudoti Machine Learning kartu su JavaScript.
Apibendrinant, norėčiau pasidalinti keliomis įžvalgomis iš Accenture technology Vision 2017 apie Dirbtinį Intelektą:

“Accenture tyrimas atskleidžia, kad iki 2035, Dirbtinis Intelektas gali padvigubinti ekonomikos augimą 12 išsivysčiusių šalių ir padidinti darbo jėgos produktyvumą iki 40 procentų. ”

“Daugiau nei 85 procentai verslo vadovų yra numatę investicijas į vieną ar daugiau Dirbtiniu Intelektu paremtą projektą per ateinančius trejus metus.”

Šios įžvalgos rodo, kad temos, susijusios su Machine Learning yra aktualios mūsų artimiausiai ateičiai, taigi labai svarbu apie tai kalbėti jau šiandien.