You are on page 1of 25

Neuronske mreže i njihovo

obučavanje

Predmet: Veštačka inteligencija


Marija Gojkov SI 9/19
Model biološke neuronske mreže
 Ideja veštačkih neuronskih mreža bazira se na modelu biološke neuronske
mreže. Poznato je da se biološka neuronska mreža, (mozak) čoveka sastoji od
oko 1019 neurona. Mozak čoveka je veoma kompleksan, ne-linearan procesor
koji paralelno obrađuje informacije i kao takav je u mnogim zadacima brži od
super-računara (npr. prepoznavanje lica u nepoznatom okruženju) iako se
smatra da biološki neuroni funkcionišu 5 do 6 redova veličine sporije od
veštačkih neurona. Biološka neuronska mreža sastoji se od velikog broja veza
medu neuronima, a pretpostavlja se da je energija potrebna za funkcionisanje
biološke neuronske mreže manja za 10 redova veličine od energije potrcbne za
funkcionisanje veštačke neuronske mreže.
Telo ćelije (soma)
biološkog neurona sastoji
se od jezgra i veza ka
drugim neuronima.
Biološki neuron prima
informadje preko dendrita,
obrađuje ih i prosleđuje
susednim neuronima
putem aksona. Prema
tome, dendriti obezbeđuju
ulaz neurona, a akson
izlaz.

Dužina aksona varira od dela milimetra do oko jednog metra u ljudskom organizmu. Akson se deli na veći
broj grana (103 do 104); na kraju svake grane nalazi se sinapsa koja određuje 'snagu' izlaznog signala iz te
grane. Mreža neurona stvorena je tako što se akson (izlaz) jednog neurona deli na više grana i preko
sinapse nastavlja na dendrit (ulaz) susednih neurona.
 Svaki neuron prima ulazne signale od većeg broja susednih neurona preko
sinapsi koje se nalaze na spoju aksona jedne ćelije i dendrita. Impulsi koje
provode aksoni su električne prirode; električni pokreču hemijske reakcije
unutar sinapse te se dalje ponovo kao električni impulsi, preko dendrita
sprovode do tela čelije susednog neurona. Tačno funkcionisanje biološke
neuronske mreže nije poznato ali je predloženi model dovoljan da se na njemu
bazira veštačka neuronska mreža.
Veštački neuron
 Ideja veštačkog neurona počiva na modelu biološklog neurona. Kako su biološki neuroni
osnovne jedinice biološke neuronske mreže, tako su i veštački neuroni osnovne jedinice
veštačke neuronske mreže (Artifitial Neural Network – ANN). Veštački neuron se stoga sastoji
od ulaza (dendriti), za koje su vezane sinaptičke težine, tela neurona i izlaza (akson).
 Bitni pojmovi za implementaciju veštačkog neurona su: ulazi, sinaptičke težine (težinski
koeficijenti), funkcije neurona i izlaz.
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 čvorova 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 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šce 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 veze kojom su neuroni povezani naziva se
težinski faktor (weight).
 Značaj neuronskih mreža je u tome što 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 jednu 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. 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.
 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
između dobijene i zadate izlazne vrednosti .
 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.
 Neuronske mreže možemo klasifikovati prema:
1. Broju slojeva (jednoslojne i višeslojne)
2. Vrsti veza između neurona
3. Vrsti obučavanja neuronskih mreža
4. Smeru prostiranja informacija (feedforward (nepovratne) i feedback
(povratne))
5. Vrsti podataka
 Neuronska mreža se može realizovati na dva načina:
1. Hardverska realizacija: fizičko povezivanje čvorova
2. Softverska realizacija: logičko (virtuelno) povezivanje čvorova
 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 senzorskih signala
• prepoznavanje oblika
• obrada slike i mašinska vizija
• inspekcijski poslovi u industriji
• robotika i automatsko upravljanje
• raspoznavanje i sinteza govora
• 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
Back-propagation algoritam i
generalizovano Delta pravilo
 Ovo je najčešće upotrebljavan algoritam obuke feed-forward NM koji vrši
obučavanje na osnovu skupa ulazno/izlaznih parova – obučavajući skup:
{ (x1,d1), (x2,d2), … (xP,dP) }
xi = [xi1 xi2 … xin] – vektor ulaznih podataka
di = [di1 di2 … dim] – vektor izlaznih podataka
Ako se posmatra NM sa jednim skrivenim slojem, i težine koje pripadaju
izlaznom sloju su W, a skrivenom V, tada se postupkom minimizacije funkcije E
dobija:

gde je: δok greška vezana za izlazni sloj, Vj vrsta iz matrice V, a y – vektor
izlaza neurona skrivenog sloja.

Princip izvršanja BP algoritma


1. Inicijalizuju se težine W i V na slučajne male vrednosti
2. Postavi se ulaz x i izračunaju se izlazi neurona u skrivenom sloju y i izlazi
neurona izlaznog sloja o
3. Izračuna se greška Ep
4. Odrede se “delte” δok i δyj (“delta” propagira u nazad – back-propagation)
5. Koriguju se težine u izlaznom sloju wj
6. Koriguju se težine u skrivenom sloju vj
7. Uzme se naredni ulaz i nastavi od koraka 2.
8. Nakon upotrebljenih svih elemenata obučavajudeg skupa izračuna se ukupna greša E i
uporedi sa zadanim Emax
9. Ako je E < Emax mreža je obučena, inače se nastavlja od koraka 2, gde se na
ulaz mreže ponovo dovodi prvi elemenat obučavajućeg skupa
Osobine BP algoritma
• sporo konvergira
• sporo radi za veliki broj težina (>>1000)
• ograničen je samo na feed-forward mreže
• dobar je za generalizaciju, ali loš za učenje specifičnih slučajeva
• obučavanje višeslojne feed-forward NM je NP kompletan problem,
gde broj računanja raste sa veličinom problema brže od bilo kog
konačnog stepena neke odgovarajuće mere
Ubrzanje konvergencije BP algoritma
1. Ubaciti “momentum član”
2. Izlaze skalirati i svesti na interval [-0.5, +0.5]
3. Linijski tražiti u pravcu gradijenta
4. Upotrebiti neku od metoda promenljive metrike
5. Ubaciti “trešenje mreže” – ako algoritam “zaglavi” u lokalnom minimumu,
težinama dodati male vrednosti
6. Ulaze mreže ne birati uniformno, već na osnovu odstupanja izlaza. Npr.,
treba ubaciti faktore prilagođenja uz svaki ulazni vektor i njegovu vrednost
povećavati kada E raste, a smanjivati kada E opada
KRAJ

You might also like