Šta je neural network? Objašnjenje bez žargona

Kada prvi put čujete pojam neural network (neuronska mreža, odnosno veštačka neuronska mreža kako se kaže u Srbiji), zvuči kao nešto što razumiju samo ljudi u bijelim mantilima i sa doktoratima iz matematike. Istina je mnogo jednostavnija. Kroz cijeli ovaj tekst ćemo pratiti jedan primjer: kako računar prepoznaje da li se na slici nalazi mačka. Nema formula, nema grafova sa osama x i y, samo objašnjenje na način na koji biste ga vi objasnili prijatelju uz kafu.

Šta je zapravo neural network?

Neural network je sistem koji je napravljen po uzoru na to kako radi ljudski mozak, mada je poređenje daleko od savršenog, o čemu ćemo pričati kasnije u tekstu. Ideja je stara više od osamdeset godina. Davne 1943. godine dva naučnika, Warren McCulloch i Walter Pitts, prvi put su predložili matematički model koji podsjeća na to kako neuron u mozgu prima signal i odlučuje da li će ga proslijediti dalje. Petnaest godina kasnije, Frank Rosenblatt je napravio prvi praktični model koji je mogao da uči iz primjera.

Šta je zapravo neural network

Od tada pa do danas, ta osnovna ideja se nije mnogo promijenila, samo su računari postali dovoljno moćni da je stvarno primjene u praksi. Zanimljivo je da za taj skok u snazi nemamo da zahvalimo nekom naučnom institutu, nego industriji video igara. Grafičke kartice napravljene da crtaju eksplozije i pejzaže u igricama pokazalo se da su savršene i za pokretanje neuronskih mreža, jer oba zadatka zahtijevaju da se isti tip računanja obavlja hiljadama puta istovremeno. Zahvaljujući tome, mreže koje su prije decenijama imale jedan ili dva sloja danas mogu imati desetine, pa i stotine slojeva.

U suštini, neural network je skup malih jedinica koje zajedno donose odluku na osnovu podataka koje dobiju. Vratimo se na naš primjer sa mačkom. Vi date računaru sliku i on treba da odgovori sa da ili ne, radi li se o mački. Sam po sebi, jedan dio te mreže ne zna ništa o mačkama. Tek kada se svi ti mali dijelovi slože zajedno, dobijate sistem koji može da prepozna oblik ušiju, teksturu krzna i položaj repa, i da na osnovu toga donese zaključak.

Zašto nam uopšte treba neural network?

Ovdje dolazimo do pitanja koje mnogi preskoče: zašto programer jednostavno ne napiše pravila za prepoznavanje mačke? Recimo, ako ima šiljate uši i brkove, to je mačka. Problem je što svijet oko nas nije tako uredan. Mačke dolaze u stotinama boja, oblika i poza. Neka mačka spava sklupčana, druga skače, treća je fotografisana iz ugla gdje joj se vide samo leđa. Nemoguće je napisati listu pravila koja pokriva sve te slučajeve.

Tu neural network pokazuje svoju pravu vrijednost. Umjesto da mu neko kaže tačna pravila, mreža sama otkriva obrasce gledajući hiljade ili miliona primjera. Ovo je suštinska razlika između klasičnog programiranja i onoga što nazivamo mašinsko učenje, gdje mreža uči iz podataka umjesto da izvršava unaprijed zadata pravila. Kada mreža vidi dovoljno slika mačaka, počinje da prepoznaje šta je zajedničko svima njima, čak i one koje nikad ranije nije vidjela.

Kako neural network vidi sliku mačke? Slojevi objašnjeni jednostavno

Zamislite neuronsku mrežu kao niz stanica kroz koje prolazi vaša slika, slično kao na aerodromskoj kontroli. Prvi korak zove se ulazni sloj. Tu se slika mačke pretvara u brojeve, pošto računar ne vidi sliku onako kako je vidite vi, on vidi milione tačkica sa različitim vrijednostima boje.

Kako neural network vidi sliku mačke

Nakon toga, podaci prolaze kroz jedan ili više skrivenih slojeva. Ovo je faza gdje se dešava prava analiza. Prvi skriveni sloj možda prepoznaje samo osnovne linije i ivice na slici. Sljedeći sloj kombinuje te linije u oblike, poput oblika uha ili oka. Treći sloj možda već prepoznaje čitavu njušku. Svaki naredni sloj gradi na onome što je prethodni sloj već otkrio, sve dok se ne stigne do posljednjeg koraka.

Taj posljednji korak zove se izlazni sloj, i tu mreža konačno daje odgovor. U našem primjeru, to bi bio jedan broj koji govori koliko je mreža sigurna da je na slici mačka, recimo devedeset sedam posto sigurnosti da jeste. Cijeli ovaj proces, od ulaza do izlaza, dešava se u djeliću sekunde.

Šta su neuroni i težine u praksi?

Svaki od tih slojeva sastoji se od malih jedinica koje nazivamo neuronima, po uzoru na biološke neurone u mozgu. Zamislite jedan neuron kao člana žirija koji glasa. On dobija nekoliko informacija od prethodnog sloja, na primjer koliko je uho šiljato, koliko je krzno gusto, koliko je rep dugačak. Svaka od tih informacija nije podjednako važna za konačnu odluku, pa svaki neuron dodjeljuje veći ili manji značaj svakoj informaciji koju dobije. Taj značaj se u svijetu vještačke inteligencije naziva težina.

Šta su neuroni i težine u praksi

Ako je oblik uha jako pouzdan znak da se radi o mački, taj podatak će dobiti veću težinu prilikom odlučivanja. Ako je boja krzna manje pouzdan znak, jer mačke dolaze u svim bojama, taj podatak dobija manju težinu. Neuron onda sabere sve te ponderisane informacije i na osnovu zbira odlučuje da li će poslati signal dalje, ka sljedećem sloju, ili neće. Kada se ovo pomnoži sa hiljadama ili milionima neurona koji rade istovremeno, dobijate sistem koji može da uoči izuzetno suptilne obrasce.

Upravo zbog toga što obrađuje ogromne količine podataka i uočava obrasce koje ljudsko oko lako previdi, neural network je posebno koristan u dvije velike oblasti: prepoznavanju slika i objekata, poznatom pod nazivom computer vision, i obradi prirodnog jezika, koja omogućava da mašina razumije i generiše tekst. Postupak kojim mreža ispravlja svoje greške tokom učenja, o čemu ćemo pisati u nastavku, u stručnoj literaturi nosi naziv backpropagation, odnosno širenje greške unazad kroz slojeve.

Kako neural network uči?

Na samom početku, prije bilo kakvog treniranja, sve te težine su potpuno nasumične. Mreža bi u tom trenutku pogađala nasumično, kao dijete koje prvi put vidi životinju i nema pojma šta gleda. Proces učenja se sastoji od pokazivanja mreži hiljade slika koje su već označene, dakle unaprijed se zna koja slika prikazuje mačku, a koja ne.

Svaki put kada mreža pogriješi, sistem malo koriguje težine unutar neurona, tako da sljedeći put bude bliže tačnom odgovoru. Ovo se ponavlja iznova i iznova, često milione puta, dok mreža ne postane dovoljno precizna. Postoji nekoliko načina na koje mreža može učiti, u zavisnosti od toga da li joj neko unaprijed kaže tačne odgovore, da li sama traži obrasce bez pomoći, ili uči kroz nagrade i kazne, slično kao što pas uči trikove.

Koje vrste neural network-a postoje?

Nisu sve neuronske mreže iste, i svaka vrsta je napravljena za drugačiji zadatak. Najosnovniji tip zove se feedforward mreža, gdje podaci putuju samo u jednom pravcu, od ulaza ka izlazu, bez vraćanja nazad. Ovo je tip mreže koji smo koristili u primjeru sa mačkom.

Koje vrste neural network-a postoje

Za rad sa slikama, najčešće se koristi posebna varijanta koja se naziva konvoluciona mreža, skraćeno CNN, koja je posebno dobra u prepoznavanju oblika i uzoraka unutar fotografija. Za tekst i govor, gdje je redoslijed riječi bitan, koristi se drugačija vrsta koja pamti prethodni kontekst dok obrađuje novi podatak. Upravo takve mreže stoje iza sistema koji razumiju jezik, uključujući velike jezičke modele o kojima možete čitati u našem vodiču o tome šta je LLM.

Postoji i posebna vrsta mreža koja se sastoji od dvije mreže koje se takmiče jedna protiv druge, jedna pokušava da napravi lažnu sliku, a druga pokušava da otkrije da je lažna. Kroz to nadmetanje, mreža koja generiše slike postaje sve bolja, i upravo ova tehnologija stoji iza alata koji generišu slike i video na osnovu teksta, o čemu smo pisali u tekstu o generativnoj umjetnoj inteligenciji. Kada mreža ima mnogo slojeva, obično desetine ili čak stotine, tada govorimo o dubokom učenju, što je zapravo samo drugi naziv za veoma duboke neuronske mreže.

Najveće zablude o neural network-u

Prva i najčešća zabluda jeste da neuronska mreža misli kao ljudski mozak. Ovo nije tačno. Mreža nema svijest, nema osjećanja, ne razumije značenje riječi na način na koji to radite vi. Ona prepoznaje statističke obrasce u podacima, i koliko god rezultat izgledao pametno, iza toga stoji matematika, a ne razumijevanje u pravom smislu te riječi.

Druga zabluda je da neuronska mreža uvijek daje tačan odgovor. Mreže griješe, posebno kada naiđu na nešto veoma drugačije od onoga na čemu su trenirane. Ako je mreža trenirana samo na fotografijama crnih mačaka, moguće je da će imati problema da prepozna bijelu mačku, jednostavno zato što nije vidjela dovoljno takvih primjera tokom učenja.

Treća zabluda, koju čujemo najčešće, jeste da morate biti matematički genije da biste razumjeli ovu temu. Kao što ste upravo pročitali cijeli princip rada neuronske mreže bez ijedne formule, jasno je da suština nije nedostupna. Matematika postaje bitna tek kada želite sami da gradite i programirate ovakve sisteme, a ne kada samo želite da razumijete kako funkcionišu.

Gdje se neural network koristi u svakodnevnom životu?

Iako zvuči kao tema iz naučne fantastike, neuronske mreže su već duboko utkane u stvari koje svakodnevno koristite, često a da toga niste ni svjesni.

  • Otključavanje telefona licem, gdje mreža prepoznaje crte vašeg lica u djeliću sekunde
  • Filtriranje neželjene pošte, gdje mreža analizira sadržaj email poruke i procjenjuje da li je riječ o spamu
  • Glasovni asistenti poput onih koji razumiju izgovorene komande i pretvaraju govor u tekst
  • Preporuke sadržaja na platformama za muziku i video, koje predlažu šta biste sljedeće mogli da gledate ili slušate
  • Chatbotovi poput ChatGPT-a, koji koriste neuronske mreže da generišu odgovore u razgovoru, o čemu smo detaljnije pisali u tekstu šta je ChatGPT
  • Medicinska dijagnostika, gdje mreže pomažu ljekarima da uoče sitne promjene na skenovima koje je ljudsko oko lako previdjeti

Sve ove primjene dijele istu osnovu, samo je svaka mreža trenirana na drugačijem skupu podataka za drugačiji zadatak. Sistemi koji samostalno obavljaju zadatke i donose odluke bez stalnog nadzora, poznati i kao AI agenti, u pozadini se takođe oslanjaju na ovakve mreže da bi mogli da procesuiraju informacije i donesu odluku o sljedećem koraku.

Neural network naspram ljudskog mozga, koliko je analogija tačna?

Poređenje sa mozgom je odlična polazna tačka za razumijevanje, ali tu se sličnost uglavnom i završava. Ljudski mozak ima otprilike osamdeset šest milijardi neurona, dok najveće neuronske mreže danas imaju znatno manji broj umjetnih neurona, iako se ta razlika brzo smanjuje kako tehnologija napreduje. Biološki neuron je izuzetno složena ćelija koja koristi hemijske i električne signale, dok je umjetni neuron u suštini samo matematička operacija, sabiranje i množenje brojeva.

Takođe, mozak uči kontinuirano, tokom cijelog života, dok se najveći broj neuronskih mreža trenira jednom, na fiksnom skupu podataka, i onda se koristi bez daljeg učenja, osim ako je neko posebno ne ažurira. Ipak, upravo zato što ova tehnologija napreduje ovako brzo, mnogi se pitaju koliko smo daleko od sistema koji bi zaista mogao da razmišlja na svim poljima kao čovjek, što je tema koju detaljnije obrađujemo u tekstu šta je AGI. Za sada, neuronska mreža ostaje moćan alat inspirisan prirodom, a ne njena vjerna kopija.

Najčešća pitanja

Da li mi treba znanje matematike da bih razumio neural network?

Ne. Osnovni princip rada, ulaz, obrada kroz slojeve i izlaz, može se razumjeti bez ijedne formule, kao što ste vidjeli u ovom tekstu. Matematika postaje potrebna tek ako želite sami da gradite i programirate ovakve sisteme.

Koja je razlika između neural network-a i umjetne inteligencije?

Umjetna inteligencija je širok pojam koji obuhvata sve sisteme koji oponašaju neki oblik ljudske inteligencije, dok je neuronska mreža samo jedna konkretna tehnika kojom se to postiže, danas najčešće korišćena.

Da li neural network stvarno radi kao ljudski mozak?

Samo u osnovnoj ideji. Umjetni neuron je matematička operacija, dok je biološki neuron složena ćelija sa hemijskim i električnim procesima. Poređenje je korisno za razumijevanje, ali ne treba ga shvatiti doslovno.

Zašto se neural network ponekad naziva veštačka neuronska mreža?

To je isti pojam, samo drugačiji naziv u zavisnosti od regije. U Srbiji se češće koristi termin veštačka neuronska mreža, dok se u Bosni i Hrvatskoj koristi umjetna neuronska mreža ili engleski termin neural network.

Amer Fejzic
Amer Fejzic
Amer Fejzić je digitalni strateg i SEO stručnjak s višegodišnjim iskustvom u upravljanju content i affiliate sajtovima na više jezika. Vodi projekte u nišama finansija i tehnologije za tržišta u Bosni i Hercegovini, Hrvatskoj i Srbiji. NajboljiAI pokrenuo je s jednim ciljem: donijeti pouzdane, poštene informacije o alatima za umjetnu inteligenciju na bosanskom, srpskom i hrvatskom jeziku. Svaki alat koji preporučuje, prethodno testira u svakodnevnom radu.