You are on page 1of 22

Uvod u koncept neuralnih mreža

Veštačke neuralne mreže (Artificial Neural Networks) su sistemi koji su konstruisani sa

osnovnom namenom da na jedan sistematski način oponašaju prirodu neurona u ljudskom mozgu.

Stepen razvoja nauke koja se bavi veštačkim neuralnim mrežama je takav da one predstavljaju novu

generaciju sistema za procesiranje informacija. Veštačke neuralne mreže su izuzetno korisne i

efikasne u uparivanju i klasifikaciji oblika, aproksimaciji funkcija, optimizaciji, vektorskoj kvantizaciji i

klasterizaciji podataka, dok su konvencionalni računari, zbog svoje arhitekture, neefikasni u

navedenim zadacima, ali zato pokazuju nadmoć u realizaciji algoritamski definisanih izračunavanja i u

realizaciji preciznih aritmetičkih operacija.

Veštačke neuralne mreže imaju ogroman broj gusto povezanih procesorskih elemenata

(takozvanih čvorova) koji uobičajeno funkcionišu u paraleli formirajući regularnu arhitekturu.

Kolektivno ponašanje elemenata u veštačkoj neuralnoj mreži, obezbeđuje ponašanje slično ljudskom

mozgu sa mogućnostima da uči, asocira i generalizuje i to sve na osnovu poznavanja obučavanja na

određenom skupu takozvanih obučavajućih podataka. Često se čvor veštačke neuralne mreže naziva i

veštački neuron ili jednostavno neuron. Ljudski mozak se sastoji od približno 1011 neurona različitog

tipa. Šematski dijagram tipičnog biološkog neurona je dat na slici 1.

Slika 1.
Tipični neuron ima tri glavna dela: telo ćelija ili somu u kojoj se nalazi ćelijsko jedro ili nukleus,

dendrite i akson. Dendriti su tvorevine koje liče na mrežu nerva. Akson je dug, cilindrični deo nerva sa

glavnom funkcijom da prenosi impuls iz okruženja do tela ćelije i obrnuto. Akson se na svom kraju

završava kratkim izraslinama koje se nazivaju završne nožice. Svaka od ovih nožica završava organom

u obliku malog mehura koji se naziva sinapsa. Preko sinapse nerv prima ili predaje signal susednom

nervu. Sinapse postoje i na krajevima dendrita. Svaki nerv u ljudskom mozgu u proseku na sebi ima

oko 104 sinapsi.

Signali koji dolaze do sinapsi i koji se kao takvi preuzimaju jesu električni impulsi. Ova

transmisija signala uključuje kompleksan hemijski proces u kojima se oslobađa odgovarajuća

prenosna substanca na mestu kontakta. Pojava ove hemijske supstance za svoju posledicu ima

smanjivanje ili povećanje električnog potencija unutar tela nerva koji prima impuls. Prijemni neuron

okida (fires) ako električni potencijal pređe neku vrednost praga, i tada se četvrtka aktivacionog

potencijala fiksne amplitude i fiksnog trajanja šalje kroz akson prema drugim, susednim neuronima, a

kroz sinaptičke veze. Posle okidanja, neuron mora da sačeka neko vreme koje se naziva period

refrakcije (refractory period) pre nego što može ponovo da bude aktiviran (okinut). Sinapse mogu biti

eksitirajuće ako dozvoljavaju prolazak impulsa koji će aktivirati prijemni neuron, ili inhibirajuće

ukoliko propuštaju prolazak impulsa koji zabranjuju aktiviranje neurona.

Na slici 2 je prikazan pojednosavljeni matematički model koji ima zadatak da oponoša prirodu

biološkog neurona. Ovaj model je prodložen od strane McCulloch-a i Pitts-a 1943. godine i zato se

naziva M-P neuron. U ovom modelu i-ti procesorski element računa težinsku sumu svih ulaza i na

svom izlazu generiše vrednost 𝑦𝑖 = 1 (aktivira se, ili okida) ako je težinska suma veća od praga

okidanja Θ𝑖 ili je 𝑦𝑖 ako je težinska suma manja od praga:

𝑦𝑖 (𝑡 + 1) = 𝑎(∑𝑚
𝑗=1 𝑤𝑖𝑗 𝑥𝑗 (𝑡) − Θ𝑖 ) (1)

gde je sa 𝑎(𝑓) označena jedinična odskočna funkcija:


1, ako je 𝑓 ≥ 0
𝑎(𝑓) = { (2)
0, ako je 𝑓 < 0

Težina 𝑤𝑖𝑗 predstavlja snagu sinapse (i često se zove konekcija ili link) i predstavlja vezu između

neurona 𝑗 (izvor) i neurona 𝑖 (destinacija). Pozitivna težina odgovara eksitirajućoj sinapsi, dok

negativna vrednost parametra 𝑤𝑖𝑗 karakteriše inhibirajuću sinapsu između neurona 𝑖 i 𝑗. U slučaju da

je 𝑤𝑖𝑗 = 0 kažemo da nema linka ili konekcije između ova dva neurona. Relacija (1) je napisana tako

kao da postoji jedinično kašnjenje između vremenskih trenutaka 𝑡 i 𝑡 + 1. Ovakva notacija će biti

korišćena i u kasnijim razmatranjima.

Slika 2

Iako je M-C model isuviše pojednostavljen u odnosu na biološki neuron, McCulloch-Pitss

neuron ima neverovatne računarske potencijale. Pomoću njega je moguće formirati složene logičke

mreže. Značajne varijacije i generalizacije su izvršene nad M-P neuronom, tako da se može

prilagodjavati problemima koji se rešavaju. U svakom slučaju, za veštačku neuralnu mrežu se može

reći da je to distribuiirana struktura za obradu podataka kojoj se mogu pridružiti sledća svojstva:

1. Njen matematički model je inspirisan nervnim sistemom čoveka.

2. Sastoji se od velikog broja međusobno povezanih procesorskih elemenata.

3. Znanje koje mreža poseduje se nalazi u težinama koje su pridružene pojedinim vezama

između čvorova (procesorskih elemenata).


4. Svaki procesorski element dinamički odgovara (reaguje) na pobudu i odgovor kompletno

zavisi samo od informacije koja je lokalno stigla na ulaz procesorskog elementa.

5. Veštačka neuralna mreža ima sposobnosti da uči, da asocira na već viđeno i da generalizuje.

Ove sposobnosti se obezbeđuju obučavanjem neuralne mreže korišćenjem obučavajućeg

skupa podataka, tokom koga se podešavaju pojačanja veza između čvorova.

6. Samo kolektivno ponašanje velikog broja neurona može da pokaže neku snagu u

rezonovanju. Pojedinačni neuron, sam po sebi, ne nosi nikakvu informaciju niti poseduje

znanje.

Zbog svega ovog, veštačke neuralne mreže se ponekad nazivaju: distribuirani procesorski

model, model povezanosti, samo-organizujući sistem, neuro-računarski sistem ili neuromorfološki

sistem.

Bazični modeli veštačkih neuralni mreža

Tri osnovna obeležja koja definišu model veštačke neuralne mreže su: model neurona ili

čvora, model sinaptičke veze ili struktura neuralne mreže, i postupak obučavanja neuralne mreže.

Otuda je sledeći tekst posvećen ovim karakteristikama veštačkih neuralnih mreža.

Procesorski element

Funkconalnost M-P neurona koja je definisana relacijama (1) i (2) može da se generalizuje u

opštu formu procesorskog elementa (PE). Posmatrajući strukturu ovog elementa na slici 2 jasno je da

se mogu prepoznati ulazi u procesorski element i izlaz koji on generiše. Prisustvo većeg broja ulaza u

PE se može reprezentovati u jednu jedinu vrednost (takozvani mrežni ulaz u PE) koji se obeležava

često sa neti i koja se dobija primenom integrišuće funkcije:

𝑓𝑖 = 𝑛𝑒𝑡𝑖 = ∑𝑚
𝑗=1 𝑤𝑖𝑗 𝑥𝑗 − Θ𝑖 (3)

Na ovaj način je generisana linearizovana fnkcija mrežnog ulaza, što znači da je primenjena linearna

integrišuća funkcija. U literaturi se često koriste drugačiji tipovi integrišućih funkcija, kao na primer:

Kvadratna integrišuša funkcija: 𝑓𝑖 = ∑𝑚 2


𝑗=1 𝑤𝑖𝑗 𝑥𝑗 − 𝛩𝑖 (4)
2
Sferična funkcija: 𝑓𝑖 = 𝜌−2 ∑𝑚
𝑗=1(𝑥𝑗 − 𝑤𝑖𝑗 ) − 𝛩𝑖 (5)

gde je 𝜌 takozvani radijus a 𝑤𝑖𝑗 centar sfere.

𝛼 𝛼
Polinomska integrišuća funkcija: 𝑓𝑖 = ∑𝑚 𝑚 𝑗 𝑘
𝑗=1 ∑𝑘=1 𝑤𝑖𝑗𝑘 𝑥𝑗 𝑥𝑘 + 𝑥𝑗 + 𝑥𝑘 − 𝛩𝑖 (6)

gde su 𝑤𝑖𝑗𝑘 težine linkova između PEj i PEk prema čvoru PEi, dok su 𝛼𝑗 i 𝛼𝑘 realne konstante. Relacija

(6) se može proširiti na način da uključi i članove višeg reda. PE sa polinomijalnom integracionom

funkcijom se često označava kao sigma-pi jedinica (  ).

Sledeća aktivnost svakog procesorskog elementa jeste da generiše izlazni signal. Ova se

aktivnost realzuje primenom funkcije jednog argumenta nad 𝑓𝑖 , i ova se funkcija uobičajeno naziva

aktivacionom funkcijom 𝑎(𝑓). Najčešće korišćene aktivacione funkcije su:

1, ako je 𝑓 ≥ 0
Step aktivaciona funkcija: 𝑎(𝑓) = { (7)
0, ako je 𝑓 < 0

1, ako je 𝑓 ≥ 0
Hard limit (funkcija praga): 𝑎(𝑓) = sgn(𝑓) = { (8)
−1, ako je 𝑓 < 0

1, ako je 𝑓 > 1
Funkcija rampe: 𝑎(𝑓) = {𝑓, ako je 0 ≤ 𝑓 ≤ 1 (9)
0, ako je 𝑓 < 0

1
Unipolarna sigmoidna funkcija: 𝑎(𝑓) = 1+𝑒 −𝜆𝑓 (10)

2
Bipolarna sigmoidna funkcija: 𝑎(𝑓) = 1+𝑒 −𝜆𝑓 − 1 (11)

gde parametar 𝜆 > 0 u jednačinama (10) i (11) predstavlja strminu funkcije 𝑎(𝑓) u okolini argumenta

𝑓 = 0. Primetimo da za vrlo velike vrednosti ovog parametra unipolarna sigmoidna funkcija podseća

na step funkciju a bipolarna sigmoida teži hard limit funkciji. Procesorski element sa linearnom

integracionom funkcijom i hard limit aktivacionom funkcijom se u literaturi naziva linear threshold

unit sa skraćenicom LTU, dok se čvor sa linearnom integracionom funkcijom i aktivacionom funkcijom

tipa sigmoide (10) ili (11) se naziva linear graded unit (LGU). LTU i LGU su dva najčešće korišćena tipa

procesorskih elemenata u veštačkim neuralnim mrežama.


Arhitektura neuralnih mreža

Veštačke neuralne mreže predstavljaju skup gusto povezanih procesorskih elemenata, pri

čemu je izlaz svakog čvora, preko nekih grana koje na sebi imaju vrednost težina 𝑤𝑖𝑗 , povezan sa

ulazima drugih procesorskih elementa. Drugim rečima, svaka neuralna mreža ima svoju strukturu

koja predstavlja geometriju rasporeda procesorskih elemenata i veza između njih. Osim

najjednostavnijih neuralnih mreža koje se sastoje od jednog jedinog procesorskog elementa (slika 2),

postoji pet različitih arhitektura koje su prikazane sledećom slikom 3. Za početak je potrebno uzeti

određeni broj procesorskih elemenatai poređati ih u niz. Na taj način se formira sloj neura (layer of

nodes). Ulazi u ove elemente mogu biti dovedeni sa različitim težinama, što rezultuje različitim

izlazima za svaki čvor ponaosob. Na taj način se dobija jednoslojna feed-forward neuralna mreža

(single-layer feedforward network), kakva je prikazana na slici 3(a). U sledećem koraku se može

formirati više takvih slojeva koji će biti međusobno povezani, čime se formira višeslojna feedforward

neuralna mreža (slika 3(b)). Prvi sloj koji prima ulazne signale obično nema nikakvu funkciju i naziva

se ulazni sloj. On uglavnom služi kao bafer za skladištenje ulaznih signala. Poslednji sloj se zove izlazni

sloj, dok su svi slojevi između ova dva skriveni slojevi (hidden layers). Broj skrivenih slojeva može biti

od nula pa do nekoliko. Za neuralnu mrežu se kaže da je potpuno konektovana (fully connected) ako

je izlaz svakog čvora u sloju povezan sa svakim čvorom u sledećem sloju. Na slici (3a) i (3b) su

prikazane feedforward mreže jer izlazi procesorskih elementa ne mogu biti iskorišćeni u fukciji ulaza

procesorskih elemenata iz prethodnih slojeva.


Slika 3

Ukoliko se ovakva veza dozvoli formiraju se takozvane feedback neuralne mreže (feedback networks).

Često se ovakve neuralne mreže sa povratnom spregom zovu rekurentne neuralne mreže.

Rekurentne neuralne mreže kod kojih se izlaz iz jednog sloja koristi za formiranje ulaza na čvorovima

istog sloja se nazivaju lateralnim mrežama a takva povratna sprega se zove lateralni feedback. Na slici

3(c) je prikazana najjednostavnija rekurentna mreža sa jednim čvorom. Na slikama 3(d) i 3(e) su

prikazane jednoslojna i višeslojna rekurentna neuralna mreža.

Pravila obučavanja neuralnih mreža

Treći važan element koji određuje neuralnu mrežu jeste pravilo po kome se ona obučava.

Uopšteno govoreći postoje dve različite grupe tehnika za obučavanje neuralnih mreža. Jedna je

takozvano parametarsko obučavanje koje se bazira na podešavanju težinskih koeficijenata u mreži, a

drugo je strukturalno obučavanje koje se fokusira na promenu strukture neuralne mreže, uključujući

broj čvorova i vrstu njihovih veza. Ove dve tehnike obučavanja mogu čak biti primenjene i simultano,
a uobičajeno je da se primenjuju nezavisno jedna od druge. U ovom kursu ćemo se fokusirati na

parametarsko obučavanje ANN.

U cilju da tehnici parametarskog obučavanja damo matematičku formu, pretpostavimo da se

sve težine veza koje povezuju dva susedna sloja, od kojih izvorni sloj ima 𝑚 čvorova a destinacioni 𝑛

čvorova, mogu predstaviti u matričnoj formi:

𝑤1𝑇 𝑤11 𝑤12 ⋯ 𝑤1𝑚


𝑇 𝑤21 𝑤22 ⋯ 𝑤2𝑚
𝑊 = 𝑤2 = [ ⋮ ⋮ ⋱ ⋮ ]

[𝑤𝑛𝑇 ] 𝑤𝑛1 𝑤𝑛2 ⋯ 𝑤𝑛𝑚

gde je sa 𝑤𝑖𝑗 označena veza od procesorskog elementa 𝑗 u prethodnom sloju do procesorskog

elementa 𝑖 u sledećem sloju. Pretpostavimo još da težinska matrica 𝑊 sadrži isključivo adaptivne

elemente, odnosno da se svaka od težina može menjati. Ovakvih matrica u neuralnoj mreži ima

onoliko koliko ima slojeva, i sve one zajedno čine znanje sadržano u ANN. Često se kaže da je long-

term-memory (LTM) sadržano u ovim matricama, a trenutno stanje, odnosno izlazi iz proceskorskih

elemenata čine takozvano short-term-memory (STM).

Dakle, parametarsko obučavanje neuralne mreže podrazumeva tehniku za podešavanje

elemenata u težinskim matricama 𝑊. Sve ove tehnike se dele u tri kategorije: supervizirano

obučavanje, nesupervizirano obučavanja i obučavanje sa reinforcement-om.

U superviziranom obučavanju u svakom trenutku, kada se neki ulazni signal dovede na ulazni

sloj ANN, mora biti poznat željeni odziv d mreže na takav ulazni signal. Na taj način se mreži precizno

kaže kako bi trebalo da odgovori na dati stimulus. Drugim rečima, formira se sekvenca za obučavanje

tipa (𝑥 (1) , 𝑑(1) ), (𝑥 (2) , 𝑑(2) ),..., (𝑥 (𝑘) , 𝑑(𝑘) ),... od parova ulaz/željeni izlaz.
Slika 4.

Na slici 4 je prikazana struktura supervizirane obuke ANN. Za svaki dovedeni stimulus 𝑥 (𝑘) formira se

razlika ili greška između onoga što je mreža generisala 𝑦 (𝑘) i onoga što je trebalo da generiše 𝑑(𝑘), i

ta se greška koristi za korekciju težina u neuralnoj mreži. U superviziranom režimu obuke se

podrazumeva da je svaki željeni izlaz potpuno poznat. Međutim, ponekada ovaj podatak nije poznat u

toj formi, već se, recimo zna, da je odziv mreže suviše veliki, ili 50% veliki ili mali. A ponekad, u

ekstremnim slučajevima postoji samo jedan bit (0/1) koji govori da li je odziv dobar ili loš. Obuka

neuralne mreže sa ovakvim kritičkim informacijama se naziva obuka sa reinforcement-om. Na slici 5

je prikazana struktura sistema ovakvom vrstom obuke.

Slika 5

Sa slike 5 se vidi da je reinforcement obuka zapravo neka vrsta obuke sa supervizijom, jer se iz

okruženja dobija signal koji na neki način ukazuje koliko je dobro trenutno ponašanje mreže. A

ključna razlika između ove i supervizirane vrste obuke je ta da je taj signal evolutivnog (kritičkog) tipa.
Često se zbog ovih razlika i sličnosti, supervizirana obuka naziva učenjem sa učiteljem, dok se

reinforcement označava kao učenje sa kritikom.

U strukturi nesupervizirane obuke ne postoji učitelj koji će vratiti informaciju o trenutnom

kvalitetu rada mreže. Mreža mora sama na osnovu svojih oblika, obeležja, regularnosti, korelisanosti

ili na osnovu kategorizacije ulaza da nauči. Struktura ovakve tehnike obučavanja je data na slici 6.

Slika 6.

Dok mreža traži ovakva obeležja, paramteri mreže se menjaju, i ovaj se proces naziva samo-

organizacijom (self-organizing). Tipičan primer obuke neuralne mreže bez učitelja jest

nesupervizirana klasterizacija podataka.

Uzimajući u obzir sve tri navedene tehnike parametarskog obučavanja, moguće je formirati

zajedničku strukturu promene vrednosti težina koje ulaze u jedan procesorski element, kakva je

prikazana na slici 7. Ulazni signali koji dolaze na ulaz i-tog neurona mogu ili biti eksterni ulazi ili izlazi

iz procesorskih elemenata prethodnog sloja. Primetimo i to da signal praga Θmože biti tretiran kao

pojačanje, koje se množi sa fiktivnim ulazom 𝑥𝑚 = −1. Signal 𝑑𝑖 postoji u slučaju superviziranog

učenja, u slučaju reinforcmenta on više postoji u obliku binarne informacije, dok ga nema u slučaju

nesuperviziranog učenja. U opštoj strukturi obučavanja usvaja se da priraštaj težina Δ𝑤𝑖 jeste

proporcionalan obučavajućem signalu 𝑟 i ulaznom signalu 𝑥(𝑡), odnosno

Δ𝑤𝑖 (𝑡) ∝ 𝑟𝑥(𝑡) ili Δ𝑤𝑖 (𝑡) = 𝜂𝑟𝑥(𝑡)


Slika 7

Konsanta 𝜂 se naziva obučavajućom konstantom a signal 𝑟 obučavajućim signalom, koji je u opštem

slučaju funkcija ulaza, težina i željenog izlaza:

𝑟 = 𝑓𝑟 (𝑤𝑖 , 𝑥, 𝑑𝑖 )

Shodno tome zakon obučavanja glasi:

𝑤𝑖 (𝑡 + 1) = 𝑤𝑖 (𝑡) + 𝜂𝑓𝑟 (𝑤𝑖 (𝑡), 𝑥(𝑡), 𝑑𝑖 (𝑡))𝑥(𝑡)

u slučaju diskretne neuralne mreže, ili

𝑑𝑤𝑖 (𝑡)
= 𝜂𝑟𝑥(𝑡)
𝑑𝑡

ukoliko se neuralna mreža obučava kao kontinualni sistem. Ovo je opšta struktura obučavanja i na

njenoj osnovi je razvijen veliki broj različitih tehnika koje se uglavnom razlikuju u obučavajućem

signalu 𝑟 odnosno u funkciji 𝑓𝑟 (⋅).

Jedna od često korišćenih tehnika obučavanja je takozvani Hebb-ov zakon obuke. Hebb-ov

zakon obuke polazi od pretpostavke da ako se dešava da veza (akson) od neurona A do neurona B

dovodi do okidanja neurona B, tada je snaga ove veze (pojačanje između čvorova) utoliko veće
ukoliko do ovog okidanja dolazi češće. Matematičkim jezikom govoreći, Hebb-ov zakon podeševanja

težine između čvorova glasi

𝑟 = 𝑎(𝑤𝑖𝑇 𝑥) = 𝑦𝑖

pri čemu 𝑎(⋅) predstavlja aktivacionu funkciju procesorskog elementa. Shodno tome, po Hebb-ovom

zakonu učenja signal obuke 𝑟 predstavlja izlaz iz PE, pa je onda priraštaj težine

Δ𝑤𝑖 = 𝜂𝑎(𝑤𝑖𝑇 𝑥)𝑥 = 𝜂𝑦𝑖 𝑥

Poslednja relacija kaže da Hebb-ovo pravilo obučavanja predstavlja nesupervizirano pravilo

obučavanja za feedforward ANN, jer se u zakonu obuke ne pojavljuje željeni odziv 𝑑(⋅).

Metod propagacije greške unazad

Metod propagacije greške unazad je možda najčešće korišćen metod za obuku ANN. Njegova

primena će biti ilustrovana na primeru mreže sa jednim skrivenim slojem. Struktura mreže je

prikazana na slici 8. Protok signala u ovakvoj mreži se može podeliti na propagaciju signala unapred i

na propagaciju signala unazad. Za propagaciju signala unapred se podrazumeva transformacija od

signala x prema signalima y i onda možemo pisati. Ako sa 𝑛𝑒𝑡𝑞 označimo integratorsku funkciju (ulaz)

u q-ti čvor skrivenog sloja, tada je

𝑛𝑒𝑡𝑞 = ∑ 𝑣𝑞𝑗 𝑥𝑗
𝑗=1
y1 yi yn

wiq

z1 zq zl zl

vqj

x1 xj xm

Slika 8

Dok je izlaz iz ovog čvora

𝑧𝑞 = 𝑎(𝑛𝑒𝑡𝑞 ) = 𝑎 (∑ 𝑣𝑞𝑗 𝑥𝑗 )
𝑗=1

Slično tome, integratorska funkcija (ulaz) u i-ti čvor izlaznog sloja je:

𝑙 𝑙 𝑙 𝑚

𝑛𝑒𝑡𝑖 = ∑ 𝑤𝑖𝑞 𝑧𝑞 = ∑ 𝑤𝑖𝑞 𝑎(𝑛𝑒𝑡𝑞 ) = ∑ 𝑤𝑖𝑞 𝑎 (∑ 𝑣𝑞𝑗 𝑥𝑗 )


𝑞=1 𝑞=1 𝑞=1 𝑗=1

Izlaz iz ovog čvora tada glasi

𝑙 𝑚

𝑦𝑖 = 𝑎(𝑛𝑒𝑡𝑖 ) = 𝑎 (∑ 𝑤𝑖𝑞 𝑎 (∑ 𝑣𝑞𝑗 𝑥𝑗 ))


𝑞=1 𝑗=1
Sa druge strane, propagacija signala unazad, podrazumeva da formiramo grešku koja govori o tome

šta je izlaz mreže i koliko je on daleko od onoga što je proklamovano za željeni izlaz. Formira se

ukupna greška na sledeći način:

1
𝐸 = ∑𝑛𝑖=1(𝑑𝑖 − 𝑦𝑖 )2 (12)
2

Primenićemo gradijentni metod koji kaže kako da izvršimo korekciju pojačanja sa željom da

minimiziramo ovu grešku:

𝜕𝐸
Δ𝑤𝑖𝑞 = −𝜂
𝜕𝑤𝑖𝑞

Otuda imamo sledće relacije:

𝜕𝐸 𝜕𝐸 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖
= = (𝑦𝑖 − 𝑑𝑖 )𝑎′ (𝑛𝑒𝑡𝑖 )𝑧𝑞
𝜕𝑤𝑖𝑞 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 𝜕𝑤𝑖𝑞

Odatle zakon promene glasi

Δ𝑤𝑖𝑞 = 𝜂(𝑑𝑖 − 𝑦𝑖 )𝑎′ (𝑛𝑒𝑡𝑖 )𝑧𝑞 = 𝜂𝛿𝑜𝑖 𝑧𝑞

Slično tome

𝑛
𝜕𝐸 𝜕𝐸 𝜕𝑧𝑞 𝜕𝑛𝑒𝑡𝑞 𝜕𝐸 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 ′
Δ𝑣𝑞𝑗 = −𝜂 = −𝜂 = −𝜂 (∑ ) 𝑎 (𝑛𝑒𝑡𝑞 )𝑥𝑗
𝜕𝑣𝑞𝑗 𝜕𝑧𝑞 𝜕𝑛𝑒𝑡𝑞 𝜕𝑣𝑞𝑗 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 𝜕𝑧𝑞
𝑖=1

= 𝜂 (∑(𝑑𝑖 − 𝑦𝑖 )𝑎′ (𝑛𝑒𝑡𝑖 )𝑤𝑖𝑞 ) 𝑎′ (𝑛𝑒𝑡𝑞 )𝑥𝑗 = 𝜂𝛿ℎ𝑞 𝑥𝑗


𝑖=1

Dijagram toka signala prilikom obuke ANN je dat sledećom slikom 9:


Usvoje se  i Emax

Inicijalizuju se w, v i 

epoha  1

k = 1,..., N

X k   Y k 

e k  = d k  − Y k 

epoha  epoha + 1 e  k   w, v

Racuna se E epohe

E epohe  Emax

KRAJ

Slika 9

Važni komentari vezani za ovaj dijagram toka signala su sledeći. Konstanta obučavanja može uzeti

pozitivne vrednosti iz intervala 𝜂 ∈ [0.001,10], zavisno od željene brzine obučavanja. Dobro je

poznato da je u početku poželjna velika brzina (veliko 𝜂), ali da je u kasnim epohama dobro imati

manju vrednost ove konstante. Zbog toga se često preporučuje adaptivna vrednost konstante

obučavanja:

𝑎, Δ𝐸 < 0
Δ𝜂 = {−𝑏𝜂, Δ𝐸 > 0
0, inače
Ponekada se, da bi se ubrzala konvergencija neuralne mreže uvodi pojam momentuma koji menja

zakon promene težina na sledeći način:

Δ𝑤(𝑡) = −𝜂∇𝐸(𝑡) + 𝛼Δ𝑤(𝑡 − 1)

Parametar 𝛼 se naziva momentom ili momentumom, usvaja se iz intervala (0,1), uobičajeno je

𝛼~0.9. Za mrežu kažemo da je podobučena ako je obučavajući skup nedovoljan (mali). Za mrežu

kažemo da je preobučena ako je obučavajući skup isuviše veliki. U tom slučaju neuralna mreža gubi

osobinu generalizacije. Cilj je da se mreža obučai na način da male promene ulaznih signala ne

dovode do promene izlaznih signala.

Hopfildove neuralne mreže

Hopfildove neuralne mreže su takozvane asocijativne memorije. U pitanju je jednoslojna binarna

ANN sa n čvorova u kojoj se uglavnom 𝑠𝑔𝑛(⋅) funkcija koristi za aktivacionu funkciju. To je

rekurentna mreža sa punom rekurentnošću osim auto-povratnih sprega. Struktura takve mreže je

prikazana na slici 10.

Slika 10.

Mreža se koristi tako što se na ulaz mreže dovede pobuda (binarna slika) i zatim se ukloni. Mreža se

obučava po zakonu
𝑀

𝑊 = ∑ 𝑌𝑚 𝑌𝑚𝑇 − 𝑀𝐼
𝑚=1

Korišćenje (testiranje) mreže se realizuje kroz sledeće korake:

1. inicijalizuje se ulaz 𝑥𝑖 (0) = 𝑥𝑖 , 𝑖 = 1, … , 𝑛 i sračunava se početno stanje svih neurona

𝑦𝑖 (0) = 𝑎 (∑ 𝑤𝑖𝑗 𝑥𝑗 (0) − Θ𝑖 ) , 𝑖 = 1,2, … , 𝑛


𝑗=1

2. Vrši se ažuriranje stanja

𝑦𝑖 (𝑝 + 1) = 𝑎 (∑ 𝑤𝑖𝑗 𝑦𝑗 (𝑝) − Θ𝑖 )
𝑗=1

Važna napomena uz ovaj korak je da je ažuriranje asinhrono, što znači da se ažurira vrednost neurona

i u svim daljim izračunavanjima se koristi novoizračunata vrednost.

3. Prethodni korak se ponavlja sve dok se izlaz menja, odnosno dok se ne dostigne ravnotežno stanje

𝑌(𝑝 + 1) = 𝑎(𝑊𝑌(𝑝) − Θ)

Kapacitet memorije predstavlja broj različitih slika kojima se memorija može naučiti i da iza toga vrši

pravilnu asocijaciju. Hopfild pokazao da je teorijski maksimum 𝑀𝑚𝑎𝑥 = 0.15𝑛. Sedam godina kasnije

eksperimentalno pokazano da je za perfektnu asocijaciju većine stanja potrebno da bude zadovoljen


𝑛 𝑛
uslov 𝑀𝑚𝑎𝑥 = 2 ln 𝑛, dok je za perfektnu asocijaciju svih stanja uslov 𝑀𝑚𝑎𝑥 = 4 ln 𝑛. Primera radi za

sliku od 10x10 piksela 𝑀𝑚𝑎𝑥 = [5.43] = 5 paterna.

Sposobnost generalizacije neuralnih mreža


Kad se neuralna mreža obuči na odgovarajući način pravi test funkcionalnosti je njena sposobnost da

klasifikuje ulazne parametre koje ranije nije videla. Ovo se naziva sposobnost generalizacije neuralne

mreže. Način na koji se proverava ova sposobnost je tako što se skup parova ulazno-izlaznih

podataka koje imamo na raspolaganju podeli na dva dela: obučavajući skup i testirajući skup

(najčešće u odnosu 80:20 ili 70:30). Parametri modela neuralne mreže se podese prema

obučavajućem skupu, tako da se minimizira greška obučavanja iz jednačine (12)

𝑛𝑜𝑏
1 2
𝐸 = ∑(𝑑𝑖𝑜𝑏 − 𝑦𝑖 ) .
2
𝑖=1

Posle toga se greška generalizacije procenjuje na osnovu odstupanja izlaza ovako obučene neuralne

mreže od stvarnih izlaza testirajućeg skupa

𝑛𝑡𝑒𝑠𝑡
1 2
𝐸𝑡𝑒𝑠𝑡 = ∑ (𝑑𝑖𝑡𝑒𝑠𝑡 − 𝑦𝑖 ) .
𝑛𝑡𝑒𝑠𝑡
𝑖=1

Kao što je već spomenuto, prilikom obučavanja neuralne mreže mogu da se jave dva problema u

kontekstu njene sposobnosti dobre generalizacije:

1) Mreža je podobučena ako je greška obučavanja velika iako je prošlo više epoha obučavanja.

Do podobučavanja najčešće dolazi ako je obučavajući skup koji imamo na raspolaganju suviše

mali, ili ako se odabrala suviše mala kompleksnost modela neuralne mreže (malo neurona i

slojeva) u odnosu na kompleksnost datog problema.

2) Mreža je preobučena ako je greška obučavanja mala, ali je greška testiranja velika. Do

preobučavanja najčešće dolazi ako je obučavajući skup podataka suviše veliki ili ako je

kompleksnost modela suviše velika.

U ovom kontekstu neophodno je napraviti kompromis prilikom biranja kompleksnosti modela

neuralne mreže, jer želimo istovremeno da smanjimo grešku na obučavajućem skupu (kako bi izbegli

podobučavanje) i grešku na testirajućem skupu (kako bi izbegli preobučavanje). Ovo dovodi do


konflikta u odabiru složenosti modela jer se greška obučavanja monotono smanjuje kako se

kompleksnost modela povećava, a greška testiranja počinje da se povećava ako je kompleksnost

modela prevelika (slika 11).

Slika 11.

Validacioni skup

Obučavajući skup kod neuralnih mreža se koristi za određivanje parametara modela (težina 𝑤𝑖𝑗 ),

međutim postavlja se pitanje kako odrediti hiperparametre određenih klasifikatora. Kod neuralnih

mreža hiperparametri mogu da se odnose na topologiju i veličinu mreže (hiperparametri modela),

kao i na obučavajuću konstantu, moment, vreme zaustavljanja (hiperparametri algoritma). U cilju

određivanja ovih hiperparametara može da se koristi validacioni skup. Naime, ako bi dodatno podelili

skup podataka rezervisan za obučavanje na obučavajući i validacioni podskup (najčešća je podela 60%

podataka za obučavanje, 20% za validaciju i 20% testiranje) onda se validacioni podskup može

koristiti za proveru performansi neuralnih mreža u toku obučavanja, kao i za poređenje poerformansi

obučenih neuralnih vreža sa različitom strukturom u cilju usvajanja finalnog modela.


Rano zaustavljanje

Rano zaustavljanje (early stopping) je jedna od najpopularnijih i najefikasnijih tehnika za sprečavanje

preobučavanja. Bazična ideja je veoma jednostavna i predstavljena je na slici 12. Naime, na kraju

svake epohe obučavanja izračuna se greška neuralne mreže na validacionom skupu. Kada ova greška

prestane da opada, to je indikacija da neuralna mreža počinje da gubi sposobnost generalizacije i da

dolazi do preobučavanja. Obučavanje se tada zaustavlja i finalna tačnost modela se proverava na

testirajućem skupu koji neuralna mreža nije videla u toku obučavanja. U praksi se pokazalo da je

najbolje sačekati da greška na validacionom skupu prestane da opada u toku 4 ili 5 sukcesivnih epoha

pre nego što se algoritam obučavanja zaustavi.

Slika 12.

Vredi spomenuti da je tačka zaustavljanja obučavanja takođe jedan od hiperparametara modela za

čiju optimizaciju se koristi validacioni skup. Ono što je specifično za algoritam ranog zaustavljanja je

što uspeva u toku jednog perioda obučavanja da testira različite vrednosti ovog hiperparametra i da

usvoji najbolji. Za razliku od ovoga, tehnike za optimizaciju hiperparametara uglavnom zahtevaju

kompletno obučavanje modela za jednu vrednost tog hiperparametara, pa poređenje performansi

tako obučenih modela na validacionom skupu. Još jedna korist kod ranog zaustavljanja je da što nije
invazivna tehnika, odnosno ne zahteva nikakve promene u modelu ili kriterijumskoj funkciji koje

mogu da promene dinamiku obučavanja sistema.

L2 Regularizacija

Tehnike regularizacije se koriste za sprečavanje preobučavanja neuralnih mreža tako što vrše

korekcije u kriterijumskoj funkciji koja se minimizuje. L2 regularizacija je najčešće korišćena vrsta ovih

tehnika i funkcioniše tako što se u izraz za grešku iz jednačine (12) doda kvadratni član koji se naziva i

regularizacioni član. Tako nova funkcija koja se minimizuje postaje:

𝜆 𝑃 𝑟−1
𝑃 𝑟𝑟 2
𝐸𝑅 = 𝐸 + 2 ∑𝑅+1
𝑟=1 ∑𝑗=1 ∑𝑖=1(𝑤𝑖𝑗 ) . (13)

Ovde 𝐸 predstavlja izraz za grešku iz jednačine (12), 𝑅 je broj skrivenih slojeva neuralne mreže, 𝑃𝑟 je

broj neurona u 𝑟-tom skrivenom sloju, a 𝑤𝑖𝑗𝑟 je težina veze između 𝑗-tog neurona u sloju 𝑟 − 1 i 𝑖-tog

neurona u sloju 𝑟. Ukratko, nova kriterijumska funkcija dodaje kvadrat težine svake veze između

neurona u neuralnoj mreži. Parametar 𝜆 se naziva regularizacioni parametar i predstavlja još jedan

hiperparametar modela čija vrednost može da se odredi koristeći validacioni skup. Vrednost ovog

parametra utiče na relativnu važnost regularizacionog člana u kriterijumskoj funkciji.

Da bismo dobili intuitivno razumevanje kako L2 regularizacija štiti od preobučavanja, prvo treba da

primetimo da je ukupni efekat dodavanja regularizacionog člana u kriterijumsku funkciju forsiranje

neuralne mreže da u toku obučavanja bira manje vrednosti težinskih parametara 𝑤𝑖𝑗𝑟 . Parametar 𝜆

nam govori o tome koliko nam je važno da smanjimo vrednost težina u odnosu na smanjivanje

ukupne greške 𝐸. Kako se 𝜆 povećava, tako će algoritam obučavanja da konvergira ka sve manjim

vrendostima 𝑤𝑖𝑗𝑟 . Dakle, L2 regularizacija sprečava velike vrednosti težina 𝑤𝑖𝑗𝑟 , a samim tim forsira

neuralnu mrežu da koristi sve ulazne parametre po malo, umesto da koristi samo neke parametre

mnogo.
Korisno je ispitati kako ovaj kvadratni član iz jednačine (13) utiče na promenu težina kod propagacije

greške unazad. Naime, parcijalni izvod nove kriterijumske funkcije sada postaje:

𝜕𝐸𝑅 𝜕𝐸
𝑟 = + 𝜆𝑤𝑖𝑗𝑟 .
𝜕𝑤𝑖𝑗 𝜕𝑤𝑖𝑗𝑟

Gradijentni metod kaže da korekcija pojačanja sada treba da bude

𝜕𝐸𝑅 𝜕𝐸
Δ𝑤𝑖𝑗𝑟 = −𝜂 𝑟 = −𝜂 − 𝜂𝜆𝑤𝑖𝑗𝑟 ,
𝜕𝑤𝑖𝑗 𝜕𝑤𝑖𝑗𝑟

odnosno novo pojačanje posle jedne epohe ima ažuriranu vrednost

𝑤𝑖𝑗𝑟 (𝑡) = 𝑤𝑖𝑗𝑟 (𝑡 − 1) − 𝜂∇𝐸(𝑡) − 𝜂𝜆𝑤𝑖𝑗𝑟 (𝑡 − 1) = (1 − 𝜂𝜆)𝑤𝑖𝑗𝑟 (𝑡 − 1) − 𝜂∇𝐸(𝑡).

Odavde se može videti da je ukupan efekat regularizacionog člana u gradijendnoj metodi skaliranje

težine 𝑤𝑖𝑗𝑟 sa faktorom (1 − 𝜂𝜆) pre nego što se na nju primeni gradijent. Na taj način dolazi do

smanjenja težina u svakoj iteraciji obučavanja.

You might also like