Tehnologija veštačke inteligencije je zasnovana na dva međusobno isprepletena oblika automatizacije.
Iako je u poslednje vreme veštačka inteligencija svuda oko nas, teško nam je da razumemo najosnovnije procese funkcionisanja te izuzetno moćne i uticajne tehnologije. Dve najvažnije oblasti u razvoju veštačke inteligencije su mašinsko učenje i njegova potkategorija, poznata kao duboko učenje. S obzirom na to da se ta dva termina koriste tako kao da imaju isto značenje, veoma često dolazi do izvesnih zabuna i nerazumevanja. Zbog toga smo odlučili da ukratko objasnimo te dve važne discipline i kako one doprinose razvoju automatizacije.
Pojam veštačke inteligencije
Zagovornici veštačke inteligencije kažu da se nadaju da će jednog dana stvoriti mašinu koja može samostalno da „misli“. Ljudski mozak je veličanstven instrument, sposoban da napravi proračune koji daleko nadmašuju kapacitet bilo koje trenutno postojeće mašine. Softverski inženjeri koji su se posvetili razvoju veštačke inteligencije nadaju se da će konačno napraviti mašinu koja može na intelektualnom nivou da parira čoveku, ali može i da ga nadmaši. Trenutno, primeri primene veštačke inteligencije u poslovanju i državnim vladama uglavnom se svode na algoritme za predviđanje, koji su veoma slični onima koji vam predlažu pesmu koju ćete slušati u aplikaciji Spotify ili pokušavaju da vam prodaju sličan proizvod onome kojeg ste kupili na Amazonu prošle nedelje. Međutim, vatreni zagovornici veštačke inteligencije veruju da će tehnologija, na kraju, moći da rasuđuje i donosi odluke koje su mnogo komplikovanije. U tom slučaju, mašinsko učenje i duboko učenje stupaju na scenu.
Šta je mašinsko učenje
Mašinsko učenje (machine learning – ML) je široka kategorija veštačke inteligencije koja se odnosi na proces kojim se softverski programi „podučavaju“ kako da „predviđaju“ ili „odlučuju“. Inženjer iz kompanije IBM definiše mašinsko učenje kao „veoma napredan oblik statističke analize“. Prema njegovim rečima, ta analiza omogućava mašinama da „predviđaju ili odlučuju na osnovu podataka“. Što se više informacija unese u sistem, to je on sposobniji da nam pruži tačnija predviđanja.
Za razliku od opšteg programiranja gde je mašina projektovana da obavi veoma specifičan zadatak, mašinsko učenje se vrti oko obučavanja algoritma da sam prepozna obrasce u podacima. Kao što je ranije rečeno, mašinsko učenje obuhvata širok spektar aktivnosti.
Šta je duboko učenje
Duboko učenje je mašinsko učenje. To je jedna od onih prethodno spomenutih potkategorija mašinskog učenja koja se, kao i drugi njegovi oblici, usredsređuje na to da nauči veštačku inteligenciju kako da „razmišlja“. Za razliku od nekih drugih oblika mašinskog učenja, duboko učenje nastoji da dozvoli algoritmima da urade veći deo posla. Duboko učenje je podstaknuto matematičkim modelima koji su poznati kao veštačke neuronske mreže (artificial neural network – ANN). Te mreže nastoje da oponašaju procese koji se prirodno dešavaju u ljudskom mozgu, kao što su odlučivanje i prepoznavanje obrazaca.
Glavna razlika između mašinskog i dubokog učenja
Jedna od najvećih razlika između dubokog učenja i drugih oblika mašinskog učenja je nivo „nadzora“ koji se obavlja nas radom mašine. U manje komplikovanim oblicima mašinskog učenja, računar se verovatno nalazi u procesu nadgledanog učenja. U tom procesu čovek pomaže mašini da prepozna obrasce u označenim, odnosno, strukturiranim podacima da bi se tako poboljšala sposobnost izvršavanja prediktivne analize.
Mašinsko učenje se oslanja na ogromne količine „podataka na kojima se obučava“. Takve podatke ljudi često prikupljaju putem označavanja podataka (za šta ne dobijaju značajnu novčanu nadoknadu). U tom procesu se gradi skup podataka za obuku, koji zatim može da se unese u algoritam veštačke inteligencije i koristi se da bi algoritam naučio kako da prepoznaje obrasce. Na primer, ako kompanija obučava algoritam da prepozna određeni model automobila na fotografijama, onda ona ubacuje u njega ogroman broj fotografija tog modela automobila koje su ljudi ručno označili. Napravljen je i „skup podataka za testiranje“ da bi se izmerila moć predviđanja mašine pošto se završi njena obuka.
U međuvremenu, kada je u pitanju duboko učenje, mašina se uključuje u proces koji se naziva „učenje bez nadzora“. Učenje bez nadzora podrazumeva da mašina koristi svoju neuronsku mrežu za prepoznavanje obrazaca u onome što se naziva nestrukturirani ili „sirovi“ podaci, a to su podaci koji još nisu označeni ili organizovani u bazu podataka. Kompanije mogu da koriste automatizovane algoritme da bi „prosejali“ gomile neorganizovanih podataka i na taj način izbegle angažovanje ljudske radne snage.
Kako funkcionišu neuronske mreže
Veštačke neuronske mreže (artificial neural network – ANN) se sastoje čvorova (engl. node). Prema MIT-u, jedna veštačka neuronska mreža može da ima „hiljade, čak milione“ čvorova. Ti čvorovi mogu da budu pomalo komplikovani, ali ukratko možemo da kažemo da su oni veoma slični čvorovima u ljudskom mozgu i da prenose i obrađuju informacije. U neuronskoj mreži, čvorovi su raspoređeni u organizovanim oblicima koji se nazivaju „slojevi“. Dakle, mreže „dubokog“ učenja obuhvataju više slojeva čvorova. Informacije se kreću kroz mrežu i stupaju u interakciju sa različitim okruženjem, što doprinosi tome mašina počinje proces odlučivanja kada treba da odgovori zahtevima ljudi.
Drugi ključni koncept u veštačkim neuronskim mrežama je „težina“, koju jedan stručnjak upoređuje sa sinapsama u ljudskom mozgu. Težine, koje su samo numeričke vrednosti, distribuiraju se kroz neuronsku mrežu veštačke inteligencije i pomažu u određivanju konačnog ishoda konačnog rezultata određenog sistema veštačke inteligencije. Težine su informativni ulazi koji pomažu u kalibraciji neuronske mreže da bi mogla da donosi odluke. Pošto se MIT temeljno bavio suštinom neuronskih mreža, pružio je sledeći komentar:
Čvor će svakoj od svojih dolaznih veza dodeliti broj koji je poznat kao „težina“. Kada je mreža aktivna, čvor prima različitu stavku podataka, odnosno, drugačiji broj, preko svake svoje veze i množi ga odgovarajućom težinom. Zatim sabira dobijene proizvode, što daje jedan broj. Ako je taj broj ispod granične vrednosti, čvor ne prosleđuje podatke sledećem sloju. Ako broj premašuje graničnu vrednost, čvor se „pali“, što u današnjim neuronskim mrežama generalno znači slanje broja – zbira ponderisanih ulaza – duž svih njegovih odlaznih veza.
Ukratko: neuronske mreže su strukturisane tako da pomognu algoritmu da dođe do sopstvenih zaključaka o podacima koji su mu dostavljeni. Algoritam, na osnovu sopstvenog programiranja, može da identifikuje korisne veze u velikim tranšama podataka i tako pomogne ljudima da izvuku sopstvene zaključke na osnovu njegove analize.