Umjetna neuronska mreža

**Neuronska mreža** je jedan oblik implementacije sistema veštačke inteligencije, koji predstavlja sistem koji se sastoji od određenog broja međusobno povezanih procesora ili čvorova, ili procesnih elemenata koje nazivamo veštačkim neuronima.

Telo neurona naziva se čvor ili jedinica. Svaki od neurona ima lokalnu memoriju u kojoj pamti podatke koje obrađuje. Podaci koji se obrađuju su lokalni podaci kao i oni koji se primaju preko veze. Podaci koji se ovim kanalima razmenjuju su obično numerički.

Arhitektura neuronske mreže predstavlja specifično povezivanje neurona u jednu celinu. Struktura neuronske mreže se razlikuje po broju slojeva. Prvi sloj se naziva ulazni, a poslednji izlazni, dok se slojevi između nazivaju skriveni slojevi. Najčešće ih ima tri. Prvi sloj, tj. ulazni je jedini sloj koji prima podatke iz spoljašnje sredine, sledeći (skriveni) prosleđuje relevantne podatke do trećeg (izlaznog) sloja. Na izlazu trećeg sloja dobijamo konačan rezultat. Složenije neuronske mreže imaju više skrivenih slojeva. Slojevi su međusobno potpuno povezani.

Slojevi komuniciraju tako što se izlaz svakog neurona iz prethodnog sloja povezuje sa ulazima svih neurona narednog sloja. Znači, svaki čvor ima nekoliko ulaza i jedan izlaz. Jačina veza kojom su neuroni povezani naziva se težinski faktor (weight).

## Specifičnost i karakteristike
Značaj neuronskih mreža je u tome da mogu paralelno da obrađuju podatke, čije komponente su nezavisne jedne od drugih. Istovremeno radi više procesorskih jedinica, da bi rezultati njihove obrade prešli na sledeće jedinice (neurone). Procesorske jedinice u jednoj neuronskoj mreži su jednostavne i mogu obavljati samo jedno ili eventualno nekoliko računarskih operacija i međusobno su povezani tako da u jednoj neuronskoj mreži postoji mnogo više veza nego procesorskih jedinica. Broj ovih veza između neurona predstavlja snagu neuronske mreže. Težinski koeficijenti veza (težine veza) su koeficijenti koji su dodeljeni u svakom trenutku vezama neuronske mreže.

Neuronske mreže se koriste u situacijama kada nisu poznata pravila prema kojima bi bilo moguće dovesti u vezu ulazne i izlazne podatke iz željenog sistema.
 
Neuronske mreže se ne programiraju, već se treniraju, tako da je potrebno dosta vremena za njihovo obučavanje, pre nego što počnu da se koriste.
 	
Koeficijenti veza između neurona podešavaju na osnovu ulaznih podataka, tako da neuroni „uče“ preko primera i poseduju sposobnost za generalizaciju posle unetog primera. Obučavanje se vrši tako što se ažuriraju težinski koeficijenti da bi se sledeći put dobio izlaz bliži zadatoj vrednosti. Kada se obučavanje završi, težinski koeficijenti ostaju isti i mreža se može primeniti za predviđeni zadatak.
	
Trening se sastoji iz toga da korisnik zadaje ulazne i izlazne vrednosti, a program pokušava da dobije odgovarajuću izlaznu vrednost. Pri tome program, u početku, pravi određene greške, a odgovarajućom promenom težinskih koeficijenata, smanjuje se razlika dobijene i zadate izlazne vrednosti.

Zaključujemo da neuronsku mrežu čine: 
			 
# arhitektura mreže (šema vezivanja neurona) 
# prenosna funkcija neurona 
# zakoni učenja

## Poređenje sa biološkim nervnim sistemom
Funkcije neuronske mreže možemo, u određenoj meri, porediti sa funkcijom biološkog nervnog sistema. Međutim, iako je razvoj veštačkih neurona inspirisan biološkim nervnim ćelijama za potrebe računarskog sistema koji koriste neuronske mreže veza veštačkih i prirodnih (bioloških) neurona nema naročitog značaja.

## Istorijska pozadina
Početak neuro-računarstva se obično vezuje za 1943. godinu i članak Vorena MekKuloha (Warren McCulloch) i Voltera Pitsa (Walter Pitts) „Logički račun ideja svojstvenih nervnoj aktivnosti“. Kibernetičar Norbert Viner (Norbert Winer) i matematičar DŽon von Nojman (John von Neumann) su smatrali da bi istraživanja na polju računarstva, inspirisana radom ljudskog mozga, mogla biti izuzetno zanimljiva.

Početkom pedesetih godina, najviše uticaja na dalji razvoj neuronskih mreža je imao rad Marvina Minskog (Marvin Minsky) koji je u tom periodu konstruisao neuroračunar pod imenom Snark (1951). Frenk Rozenblat Frank Rosenblatt je zaslužan za otkriće jednoslojne neuronske mreže, zvane Perceptron. Međutim ovaj računar nije postigao značajnije praktične rezultate. Tek krajem pedesetih godina (1957-1958), Frank Rosenblatt i Čarls Vajtman (Charles Wightman) sa svojim saradnicima su uspeli da razviju računar pod nazivom Mark I koji predstavlja prvi neuroračunar.
U periodu od 1950-ih godina napisano je nekoliko knjiga i osnovano nekoliko kompanija koje se bave neuroračunarima.

Krajem 80-ih i početkom 90-ih, neuronske mreže i neuro-računarstvo se uvodi kao predmet na nekoliko elitnih univerziteta u SAD, dok se danas neuronske mreže gotovo mogu sresti na svim univerzitetima.
Iako su one imale neobičnu istoriju, još uvek su u ranoj fazi razvoja. Danas neuronske mreže nalaze veoma širok spektar primena u različitim oblastima.

## Podela
Neuronske mreže možemo klasifikovati prema:
# broju slojeva
## jednoslojne
## višeslojne;
# vrsti veza između neurona
# vrsti obučavanja neuronskih mreža 
# smeru prostiranja informacija
## feedforward (nepovratne) 
## feedback (povratne)
# vrsti podataka

Neuronska mreža se može realizovati na dva načina:
# Hardverska realizacija: fizičko povezivanje čvorova.
# Softverska realizacija: logičko (virtuelno) povezivanje čvorova

## Primena
Od otkrića neuronskih mreža, postalo je moguće rešavanje niza problema koji pre toga nisu bili rešivi klasičnim sredstvima računarske tehnike.

Primeri primene:
# obrada senzornih signala; 
# prepoznavanje oblika; 
# obrada slike i mašine koje vide; 
# inspekcijski poslovi u industriji, 
# robotika i automatsko upravljanje, 
# raspoznavanje i sinteza govora; 
# obrada prirodnih jezika; 
# obrada znanja; 
# finansijske i bankarske primene; 
# prepoznavanje štampanih tekstova; 
# prepoznavanje rukom pisanih tekstova; 
# medicinska dijagnostika; 
# vojne i policijske primene; 
# prognoza vremena; 
# telekomunikacije i računarstvo.

U budućnosti se takođe očekuju brojne nove primene, naprimer - pouzdano prepoznavanje i verifikacija rukom pisanih tekstova, prevođenje telefonskih razgovora sa jezika na jezik, rutinsko komuniciranje sa računarima posredstvom ljudskog glasa.

## Literatura
* Neuronske Mreže 
* „Veštačka inteligencija“, M. Jocković, Z. Ognjanović
* „Neuronske mreže u računarskoj tehnici“, IRCN

## Vanjske veze

* Neuronske mreže
* Veštačke neuronske mreže 
* Uvod u neuronske mreže i modeliranje znanja
* Uvod u veštačke neuronske mreže
* Još jedan uvod u neuronske mreže