in ,

Umjetna inteligencija – praktična potreba ili loša ideja?

Umjetna inteligencija
Foto: Pixabay

Umjetna inteligencija za mnoge je budućnost, ali realno gledajući, ona je sadašnjost.

Iz dana u dan znanost u potpunosti mijenja naš način života. Ono što je do jučer bilo nevjerojatno i nemoguće, danas je moguće uz mnogo resursa, a sutra će biti moguće i uz manje resursa. Zaista je nevjerojatno promatrati kako se mijenja tehnologija koju je čovjek izradio te kako ona postaje sve sličnija čovjeku koji ju je zapravo osmislio. Mnogo je stvari koje ljude zanimaju i koje ljudi žele razumjeti, a računala su česta tema ovakvih diskusija.

Mnogi suštinski niti ne razumiju kako računala funkcioniraju i koji je njihov posao. Zbunjuje ih cijeli koncept računalnog mozga, odnosno procesora i ne shvaćaju kako je čovjek izradio stroj koji radi razne zadatke i obavlja kompleksne poslove. Ipak, neke stvari su nam intuitivno jasne. Jasno nam je da postoji određeno grafičko sučelje, određene funkcije, struja itd. Neke su stvari jednostavno opća kultura. Ipak što dublje učimo o računalima i što više razumijevamo kako računala funkcioniraju, to će nam biti jasnije da je proces na koji se računala oslanjaju puno kompliciraniji od očekivanog.

Danas ćemo raspravljati o jednoj od najpopularnijih tema današnjice, a to je umjetna inteligencija. Objasnit ćemo i što je umjetna inteligencija kako se ona postiže, čemu služi i je li umjetna inteligencija zapravo nepotrebna i loša ideja za ljudsku evoluciju.

Umjetna inteligencija jedno je od najzanimljivijih i najbrže rastućih polja računalne znanosti. Ova nauka se bavi automatizacijom rada računala te pokušava računalima dopustiti da emitiraju ono što rade ljudi putem određenog mehanizma strojnog učenja koji koristi neuronske mreže i primjenjuje genetske algoritme.

Što računala mogu, a što ne?

Računalo je skup komponenti koji radi zajedno kako bi dao korisniku određeno iskustvo. Komponente računala s kojim imate direktan dodir su tipkovnica, miš, zaslon i recimo mikrofon. Ipak oni najbitniji dijelovi računala su oni koje zapravo ne vidimo. Ti bitni dijelovi, odnosno komponente nalaze se unutar vašeg računala te pomažu vašem računalu da radi sve što je potrebno kako bi vam prikazao nešto putem monitora ili nekog drugog sučelja.

U pozadini cijele priče na najnižoj razini nalazi se struja. To vam je zasigurno jasno, jer vaše stolno računalo mora biti uključeno u struju, a vaš laptop se mora puniti. Ideja je da se ta struja iz analognog signala digitalizira te tako ulazi u vaše računalne komponente u obliku bitova. Bitovi su znakovi reprezentirani 0 ili jedinicom, a mogu se jednostavno prevesti u “nema struje“ ili „ima struje“.

Računalne komponente koje su prijeko potrebne za klasično i produktivno izvođenje računalnih procesa su procesor memorija, grafička kartica, mrežna kartica, sabirnice, odnosno žice koje povezuju komponente međusobno, radna memorija, diskovi, ulazno izlazne jedinice i naprave te razne druge komponente. 

Ljepota računala je u tome što računala sve svoje zadatke mogu obavljati brzo – ona imaju tu prednost da rade na određenoj frekvenciji procesora koja je isprojektirana tako da računala mogu biti izuzetno brza i produktivna. Njihov posao je, osim velike brzine, održavati sposobnost multitaskinga. Posao računala je da može puno stvari odjednom. Samo jedna jednostavna stvar, jedno otvaranje programa, zahtijeva ogroman broj dretvi (poslova) koje se dešavaju u pozadini.

Dakle, računalo je definitivno brzo, ali računalo ima jedan problem. Računalo zapravo može isključivo ono što smo mu mi isprojektirali. Računalo ne može samo odlučiti kako se nešto radi, niti ima moždani aparat da može odlučiti koja je opcija bolja. Ono što smo isprogramirali je ono što računalo može napraviti.

Što znači „programiranje“?

Zasigurno ste čuli za karijeru programera, a možda znate barem jednu osobu koja se time uistinu i bavi. Istina je da većina ljudi ne shvaća što programeri rade, čak ni kada im oni to objasne jer se zaista radi o  apstraktnom polju djelovanja. Programeri pišu kôd u programskom jeziku. Programski jezik je kao i bilo koji drugi jezik jer ima svoju gramatiku i ima svoje značenje. Kada programeri nauče programski jezik i nauče „pričati“ na njemu, odnosno pisati kôd u tom programskom jeziku, oni mogu komunicirati s računalom. Baš kao što vi materinjim jezikom komunicirate s drugim ljudima, tako programer komunicira s računalom i to čini kroz programiranje.

Naravno, računalo na kraju dana razumije samo nule i jedinice, te se svaki programski jezik u nekom procesu prevođenja svodi na te nule i jedinice. Sad vam vjerojatno nije jasno zašto postoji više programskih jezika jer je poanta da vas računalo jednoznačno razumije. Programski jezici su prilagođeni tome koja je svrha našeg programiranja.

Programski jezici

Na kraju cijelog procesa svaki programski jezik pretvorit će se u nule i jedinice, tako da računalu zapravo programski jezik ne čini neku veliku razliku. Programski jezik zapravo većinski čini razliku čovjeku koji neke stvari može lakše programirati u određenom programskom jeziku. Tako recimo razvijanje videoigara uglavnom koristi tehnologije kao što su C++ ili Java, dok se strukture podataka i razne analize podataka i programiranje uglavnom vrše u Pythonu ili Rubyju.

Dakle, ako programer želi da računalo nešto napravi, programer to mora računalu objasniti. Zasigurno  sad shvaćate zašto je umjetna inteligencija potrebna. Ako računalo ne zna ništa osim onog što mu mi kažemo to stavlja jako velik pritisak na programere i ljudi koji projektiraju ovakve stvari. Konstantno se javlja potreba za ažuriranjem raznih sustava, promjenama u sustavima te izgradnjom novih komponenti koje će iste stvari moći raditi brže ili bolje. Programski jezici se također razvijaju iz dana u dan, kao i njihovi prevodioci koji će na kraju izbaciti kôd u nulama i jedinicama.

Što je umjetna inteligencija i zašto je potrebna?

Ideja umjetne inteligencije je da računalo može obavljati svoje zadatke samostalno. Baš kao što i sama riječ kaže, umjetna inteligencija bi replicirala ono što radi čovjek. Ljudi kroz dan rade milijune odluka kojih nisu niti svjesni. Svaki korak koji napravite tehnički je jedna odluka, neke su vrlo jednostavne (kao npr. kad biramo put do autobusne stanice na koju svaki dan idemo), a neke su kompliciranije (kao što je možda rješavanje zadataka ili križaljki itd). Neke odluke radimo svjesno, a neke odluke radimo nesvjesno. Računalo nema tu razliku, već radi isključivo ono što je programer računalu naredio.

Posao programiranja vrlo brzo postaje jako redundantan. Puno se kodova mora napisati da bi računalo napravilo nešto što bi čovjeku bilo vrlo jednostavno. Zbog toga je ideja da računalo samo nauči kako raditi te stvari i da uz određene resurse shvati kako može ponovno iskorištavati određene dijelove koda. Umjetna inteligencija je koncept koji ukazuje na to da računala sama mogu promijeniti formu određenih stvari bez konzultacije ili projektiranja od strane programera.

Neki od najpoznatijih ljudi koji su djelovali u ovom polju jesu Minsky, Feigenbaum, Newell, McCarty i poznati Alan Turing. Ukoliko krenete istraživati o umjetnoj inteligenciji, naići ćete na još velik broj tema koje morate poznavati da biste uopće koncipirali umjetnu inteligenciju kao ideju. Radi se o jednom filozofsko – matematičkom polju koje spaja određene stavke ljudskog života koje su dosad bile u potpunosti nespojive. Neke ljude ovi koncepti u potpunosti plaše jer im je neprirodno da računala imaju mogućnost oponašanja ljudi, dok drugi svoju fascinaciju iskazuju tako što provode sate i sate istražujući teme kao što su neuralne mreže i strojno učenje.

Na što se oslanja umjetna inteligencija?

Umjetna inteligencija
Foto: Pixabay

Umjetna inteligencija sama po sebi nije polje koje se može naučiti koje bi vam omogućilo da onda stvorite određeno računalo ili robota koji ima procesor te zna replicirati ljudska ponašanja. Umjetna inteligencija zapravo je spoj nekih od najkompleksnijih polja u računalnoj znanosti – o njima ćemo malo više u narednim paragrafima.

Neuronske mreže

Računalo već ima svoj mozak i taj se mozak naziva procesor. Računalni procesor radi iznimnom brzinom te kroz njega prođu milijune i milijuni podataka u 1 sekundi. Ipak, ono što smo sada zaključili jest da takav model računala može samo činiti ono što je računalu već rečeno. Kad računalo ne može biti produktivno u raznim dilemama i odlukama odlučeno je da računalo mora na neki način replicirati ljudski mozak. Taj pokušaj umjetne neuronske mreže jest nešto čime se bavi polje neuronskih mreža.

Radi se o izuzetno kompleksnom polju u kojem rade mnogi interdisciplinarni znanstvenici kao što su neuroznanstvenici, programeri, inženjeri, tehničari i slično. Ideja je da se osmisli način za modeliranje neurona, odnosno umjetnih živčanih stanica, te da se modeliraju veze između njih. Kroz sve te neurone ići će određeni signali, tražit će se određene veze i zavisnosti te će se pokretati određena analiza. Ipak, neuronska mreža nije ništa sama po sebi. Ona je samo model koji pomaže u razvijanju nečega što se naziva strojno učenje.

Strojno učenje

Strojno je učenje jedno od najpopularnijih dijelova umjetne inteligencije. Zasigurno ste čuli barem jednu osobu koja obožava ovo polje jer je izuzetno napredno i stalno se mijenja. Ovo je jedno od onih polja u koje se kontinuirano investiraju novi inženjeri i stručnjaci, jer se vjeruje da će upravo napreci u ovom dijelu računalne znanosti dovesti do velikih promjena u konceptu umjetne inteligencije i optimizacije robota te automatskog rada.

Ideja strojnog učenja jest da računala nauče kako da sama analiziraju podatke i od njih stvaraju svoj programski kôd. U tom slučaju, kad bi računala sama znala uzimati podražaje izvana, dobro ih analizirati i povezati mi ne bismo morali programirati apsolutno svaki dio koda koji računalo poznaje. Jasno je da bismo morali razviti neki kompleksni sistem po kojem će računalo učiti, ali daljnje učenje i svaki kôd koji nastaje iz toga, bio bi samostalan.

Računalo mora putem određenih senzora i raspoznavanja uzoraka te dubinske analize kategorizirati stvari, davati im određene vrijednosti, banalizirati ih na svoju razinu razumijevanja, ali i prevesti u sam programski kod ili neku drugu strukturu podataka. Dakle, ideja je da računalo dobije neki podražaj izvana te da nauči kako ga analizirati i razumijevati bez da programer mora obaviti cijeli taj proces modeliranja. Prilično je jasno da se radi o vrlo kompleksnom procesu koji je u razvoju, zato što za taj proces učenja i povezivanja treba postojati komplicirana neuronska mreža te moramo naučiti što su genetski algoritmi.

Genetski algoritmi

Genetski algoritmi su algoritmi koji pokušavaju stvoriti savršen računalni sustav. Kao što smo rekli, računalo samo uči i stvara određene kodove. Ipak, računalo može stvoriti bolju ili lošiju verziju koda u ljudskoj evoluciji. Preživljavanje jedinke često je regulirano genetskim materijalom. Određeni vanjski faktori mogu utjecati na određene zdravstvene tegobe i stanja, te je tako na kraju priče ostanu samo prilagođene jedinke. Te prilagođene jedinke jesu one koje su generalno najuspješnije.

Ideja genetskog ili genetičkog algoritma jest da stalno promatra rješenja i kodove koje računalo razumijeva te da bira one koji su najoptimalniji. Taj mehanizam odabira ovisi o jako puno stvari i zapravo je pitanje koja je funkcija naših programa, odnosno što mi uopće želimo postići? Ponekad želimo imati optimalno korištenje memorije, a ponekad nam to uopće nije bitno, nego samo želimo da program bude jako brz. U nekim slučajevima preferiramo jednostavne, ali spore programe, dok u drugim slučajevima možda želimo nešto što je brzo, ali nije čitko ljudima.

Genetski algoritmi bave se upravo time. Oni na neki način prenose onaj dobar i pravilan kod u sljedeći ciklus učenja te tako računalo uči samo ono što je zaista kvalitetno. Razvoj ovakvih algoritama je kompliciran i nešto je na što se definitivno treba fokusirati kroz dulji period vremena. Ovime se bave vrhunski stručnjaci!

Je li umjetna inteligencija opasna?

Za kraj želimo ući u jednu interesantnu temu koja je više filozofska no što je znanstvena, ali se jako često pojavljuje u raspravama o umjetnoj inteligenciji. Pitanje koje se ljudi često pitaju jest, da li je ovo uopće moralno? Postavlja se pitanje je li u redu da računala pokušavaju emulirati ljudsko ponašanje i da ih praktički žele zamijeniti ili su tu računala samo alat koji ljudi koriste?

Iako je generalna ideja umjetne inteligencije je ta da računala mogu raditi stvari koje ljudi ne bi trebali, kao što su poslovi koji su opasni po život ili jako naporni fizički poslovi, mnoge je strah da će računala u potpunosti zamijeniti ljude. Dobra vijest je ta što su genetski algoritmi neuronske mreže i strojno učenje jako komplicirane teme i ne očekuje se da će u nekoj vrlo bliskoj budućnosti računala u potpunosti zamijeniti sve što radimo. Ipak, to je dobro štivo za razmišljanje, jer, na kraju dana, računala zaista sve mogu brže od nas.

Još jedna stvar koja se jako često javlja u ovakvim raspravama jest pitanje sigurnosti i koliko je zapravo sigurno da dajemo toliki autoritet i ovlast računalima i strojevima koji sami uče i teže razumiju moralne rasprave. Osim što se u ovakve procese mora unijeti jako velika razina sigurnosti, moramo se osigurati da programeri i ljudi koji su stvorili takve mehanizme nad njima imaju određenu kontrolu.

Osamostaljenje računala

Umjetna inteligencija samo po sebi nije loša stvar. Bilo bi odlično kad bi računala sa svojim senzorima mogla pregledavati špilje ili kopati u dubokim jamama ili raditi stvari na velikoj visini. Sve ove stvari za čovjeka su prilično opasne i računala bih mogla odraditi lakše, ali se postavlja pitanje da li će se ta računala u jednom trenutku možda osamostaliti.

Kao i sve na svijetu, umjetna inteligencija se može koristiti na ispravan i neispravan način. Svaki resurs otvara ljudima put da ga zloporabe te da od njega naprave nešto za što taj mehanizam nije prvotno namijenjen? Ipak, umjetnoj inteligenciji mogu pristupiti zaista samo oni koji se njome bave te zasad oko toga nema previše briga.

Crohnova bolest

Crohnova bolest – velika medicinska zagonetka

Najbolji psi za djecu

Najbolji psi za djecu – znate li koji su?