NEURONSKE MREŽE - Predavanja

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

NEURONSKE MREŽE

radni materijal uz predmet


Ekspertni sistemi
i
Veštačka inteligencija i neuronske mreže

Milan M. Milosavljević
Elektrotehnički fakultet Beogradskog Univerziteta
januar 2005.

1
1.UVOD

Neuronske mreže Fon Nojmanov digitalni računar


Obučavanje (učenje na osnovu primera) Programiranje kroz instrukcije
1 zasnovano na podešavanju jačine (ako-onda analiza zasnovana na logici)
knekcionih veza, pragova i strukture
2 Memorijski i procesni elementi su Memorija i procesiranje su separisani

2
kolocirani
3 Paralelni i asinhroni rad (kontinualni ili Sekvencijalni ili serijski rad, sinhronisan
diskretni) zajedničkim taktom
4 Otporan na greške usled distribuirane Nije otporan na greške
reprezentacije i velike redudanse
5 Smoorganizovanje u toku obučavanja Zavisan od programa
Kodovano znanje je adaptibilno. Znanje je memorisano u adresibilnoj
6 Prezentovano je interkonekcijama memoriji i striktno je replikabilno
izmedju neurona
7 Procesiranje je anarhično Procesiranje je autokratično
8 Osnovni vremenski ciklus obrade je reda Osnovni vremenski ciklus obrade je reda
milisekundi nanosekundi

Tabela 1.1 Sličnosti i razlike izmedju neuronskih mreža i Fon Nojmaovog računara.

2.DEFINICIJA NEURONSKIH MREŽA


Neuronske mreže simuliraju način rada ljudskog mozga pri obavljanju datog zadatka ili
neke funkcije. Neuronska mreža je masovno paralelizovan distribuirani procesor sa
prirodnom sposobnošću memorisanja iskustvenog znanja i obezbedivanja njegovog
korišćenja. Veštačke neuronske mreže podsećaju na ljudski mozak u dva pogleda:
1. Neuronska mreža zahvata znanje kroz proces obučavanja
2. Težine medjuneuronskih veza (jačina sinaptičkih veza) služe za memorisanje
znanja.
Procedura kojom se obavlja obučavanje je algoritam obučavanja. Kroz ovu se procesuru
se na algoritamski (sistematičan) način menjaju sinaptičke težine u cilju dostizanja
željenih performansi mreže.
Osnovnu računarsku snagu neuronskih mreža čini masivni paralelizam, sposobnost
obučavanja i generalizacija.
Generalizacija predstavlja sposobnost produkovanja zadovoljavajućeg izlaza neuronske
mreže i za ulaze koji nisu bili prisutni u toku obučavanja.

3. SVOJSTVA NEURONSKIH MREŽA


1. Nelinearnost, koja je u osnovi distribuirana.
2. Ulazno-izlazno preslikavanje, koje se restauriše kroz proces obučavanja
3. Adaptivnost-sposobnost menjanja jačine sinaptičkih veza.
4. Evidencionalni odziv. Neuronska mreža kao izlaz može da produkuje i stepen
uverenja o datoj odluci.
5. Kontekstualna informacija. Svaki neuron u neuronskoj mreži je pod uticajem
globalne aktivnosti ostalih neurona. Stoga je kontekstualna informacija prirodno
imanentna ovim strukturama

3
6. Otpornost na otkaz.
7. Mogućnost realizacije u VLSI (Very Large Scale Integration) tehnologiji.
8. Uniformnost analize i sinteze. Neuron je zajednički element za sve tipove
neuronskih mreže. Modularne neuronske mreže se mogu formirati integracijom
pojedinih celina-modula. Za rešavanje različitih praktičnih problema koriste se
iste teorijske postavke i algoritmi obučavanja.
9. Neurobiološke analogije. Neurobiolozi gledaju na neuronske mreže kao
istraživački alat za interpretaciju neurobioloških fenomena, i obrnuto, inženjeri
gledaju na neurobiologiju kao oblast iz koje mogu da izvlače nove ideje za
rešavanje kompleksnijih problema od onih koji se mogu rešiti klasičnim
hardversko-softverskim tehnikama.

4. MODELI NEURONA
Model neurona čine tri bazična elementa:

Skup sinaptičkih težina {wij }. Pozitivne težine odgovaraju ekscitirajućim


sinaptičkim vezama, a negativne inhibitornim.
Sumator (linearni kombajner) – formira težinsku sumu ulaza.
Aktivaciona funkcija – limitira amplitudu izlaznog signala neurona. Tipično se
uzima normalizacija izlaza na interval [0,1] ili [-1,1].

Jednačine modela sa sl.4.1


m
u k = ∑ wkj x j (4.1)
j =1

x1 wk 1

wk 2 uk yk
x2 ∑

wkm

xm
θk

Sl.4.1. Nelinearni model neurona

y k = a(u k − θ k ) (4.2)

4
Alternativni zapis

v k = ∑ wkj x j , y k = a(v k ) , x0 = −1, wk 0 = θ k . (4.3)

x0 = −1

wk 0 = θ k

x1 wk 1

wk 2 uk yk
x2 ∑

wkm

xm
θk

Sl.4.2. Nelinearni model neurona sa proširenim ulazom i prenosom praga u sinaptičku


težinu.

Ako stavimo da je x0 = 1, a wk 0 = bk , tada se bk naziva bajas, videti sl.3.3.

x0 = 1

wk 0 = bk

x1 wk 1

wk 2 uk yk
x2 ∑

wkm

xm
θk

Sl.3.3. Nelinearni model neurona sa proširenim ulazom i bajasom u obliku sinaptičke


težine.

5
4.1. TIPOVI AKTIVACIONIH FUNKCIJA

Razlikujemo sledeće najčešće tipove aktivacionih funkcija.


Funkcija praga
a(v)

⎧1, v ≥ 0
a (v ) = ⎨
⎩0, v < 0
0 v

Sl.3.4. Aktivaciona funkcija tipa praga. Neuron sa ovom aktivacionom funkcijom je


poznat kao Mek Kuloč – Pitasov model neurona (1943)
a(v)
U delovima linearna

1
⎧1, v ≥ 1 / 2

a (v) = ⎨1 / 2 + v, − 1 / 2 < v < −1 / 2
⎪0, v ≤ −1 / 2
⎩ v
-1/2 1/2

Sl.3.5. U delovima linearna aktivaciona funkcija

a(v)
Sigmoidalna (logistička)
1 b1

b2

1 b1 > b2
a (v ) =
1 + exp(−bv)
v

Sl.4.6. Sigmoidalna (logistička) aktivaciona funkcija. Parametar b je parametar nagiba.

Ukoliko se izlaz neurona normira na interval [-1,1], tada dobijamo


a(v)

0 v

-1 6
⎧ 1, v ≥ 0

a (v) = ⎨ 0, v = 0
⎪− 1, v < 0

Sl.4.7. Bipolarna aktivaciona funkcija tipa znaka (sgn(v))

a(v)

1 b1

b2
v 1 − exp(−v)
a (v) = tanh( ) = b1 > b2 v
2 1 + exp(−v)
-1

Sl.4.8. Bipolarna aktivaciona funkcija tipa tangensa hiperboličnog (sigmoidalna


aktivaciona funkcija)

4.2. ARHITEKTURE NEURONSKIH MREŽA

Jednoslojne neuronske mreže sa prostiranjem signala unapred (feed forward single


layer neural network)

ulazni sloj izlazni sloj

7
Sl.4.9. Jednoslojni perceptron sa prostiranjem unapred

Višeslojne neuronske mreže sa prostiranjem signala unapred (feedforward


multilayer neural network)

skriveni sloj

ulazni sloj izlazni sloj

Sl.4.10. Višeslojna neuronska mreža sa prostiranjem unapred

Rekurentske neuronske mreže

Za razliku od višeslojnih neuronskih mreža, rekurentne neuronske mreže poseduju


zatvorene petlje povratnih sprega.

z −1 z −1 z −1

8
Sl.4.11. Rekurentna neuronska mreža bez sopstvenih povratnih sprega i skrivenih slojeva.
Operator z −1 ima značenje jediničnog vremenskog kašnjenja.

t
e
t x
e
z −1 x
t
t

t t

z −1
e e
x x
t t

izlaz

t t
e
z −1 x
e
x
t t

t
e
z −1 x
t
t t
e e
xt x
te t
x
t
ulaz
t
e
x
t

Sl.4.12. Rekurentna neuronska mreže sa skrivenim slojem

5. PREZENTACIJA ZNANJA U NEURONSKIM MREŽAMA


Znanje o okruženju je generalno dvojako

1. Poznata znanja o okruženju, izražena kroz činjenice o tome šta je poznato –


apriorno znanje.

2. Observacije (merenja) – dobijena od različitih senzora kao odraz stanja okruženja.


Na osnovu ovih observacija se kreiraju obučavajući skupovi za obučavanje
neuronskih mreža. Svaki primer u njemu se sastoji od parova (ulaz, izlaz).

Obučavajući skupovi predstavljaju znanje o okruženju od interesa.


U klasičnom procesiranju, prirodno je prvo kreirati matematički model observacija,
izvršiti validaciju ovog modela na realnim podacima

9
Neuronske mreže su direktno bazirane na podacima i daju implicitni model okruženja uz
istovremeno obavljanje željenog procesiranja.
Znanje o okruženju u neuronskim mrežama je kodovano kroz konkretne vrednosti
slobodnih parametara dobijenih kroz obučavanje.
Teško je bilo šta konkretno reći o reprezentaciji samog znanja unutar neuronske mreže.
Postoje četiri pravila o reprezentaciji znanja u neuronskim mrežama, koji su opšte
prirode.

Pravilo 1. Slični ulazi sličnih klasa prouzrokuju sličnu unutrašnju reprezentaciju.


Pravilo 2. Primeri koji pripadaju različitim klasama treba da budu predstavljeni različitim
unutrašnjim reprezentacijama.
Pravilo 3. Apriorne informacije se ugradjuju direktno u neuronsku mrežu bez procesa
obučavanja (specijalizacija strukture). Ovo se postiže ili
restrikcijom arhitekture (lokalne konekcije)
restrikcijom izbora sinaptičkihh težina (weight shearing – metoda zajedničkih
sinaptičkih težina).
Specijalizacijom strukture se postiže:
manji broj slobodnih parametara
manji potrebni obučavajući skupovi
brže obučavanje
bolja generalizacija
ubrzana je prenos signala kroz restriktovanu neuronsku mrežu
cena realizacije je manja.

6. OBUČAVANJE NEURONSKIH MREŽA


Obučavanje je proces adaptiranja slobodnih parametara neuronske mreže, koji se obavlja
kroz stimulaciju okruženja u kome se neuronska mreža nalazi. Proces obučavanja je
klasifikovan u tri kategorije:
1. obučavanje sa učiteljem (nadzorom), (supervized learning)
2. obučavanje sa podsticanjem (reinforcement learning)
3. samoobučavanje (obučavanje bez učitelja), (unsupervised learning)

x y
Neuronska mreža

ulaz W izlaz

Generator
signala greške željeni signal
signal greške

10
Sl.6.1.a Obučavanje sa učiteljem

x y
Neuronska mreža

ulaz W izlaz

Generator
signala kritike signal podsticanja
signal kritike

Sl.6.1.b.Obučavanje sa podsticanjem

x Neuronska mreža y

ulaz W izlaz

Sl.6.1.c.Samoobučavanje

{
Kod obučavanja sa učiteljem prisutan je obučavajući skup u formi parova X ( i ) , d ( i ) , }
gde je X ( i ) ulaz, a d (i ) željeni izlaz.

Kod obučavanja sa podsticanjem, neuronska mreža dobija rudimentirane informacije o


tome kakav izlaz produkuje, najčešće samo u formi jednog bita informacije tipa {dobar,
loš}. Analogno obučavanju sa učiteljem, ova forma obučavanja se može tretirati na isti
način s tim što umesto učitelja, koji egzaktno ukazuje kakav odziv neuronske mreže treba
da bude, u ovom slučaju imamo “kritičara” koji daje grublju ocenu odziva neuronske
mreže.

Samoobučavanje je karakterisano odsustvom bilo kakve povratne sprege od okruženja.

11
6.1. OPŠTA FORMA PRAVILA OBUČAVANJA

x1•
wi1

x2 wi 2 yi
+

X
• wi m −1 ∆Wi
x m −1

×
r di
X
wim = θ

xm = −1 η

Sl.6.1.Opšta šema obučavanja i-tog neurona

wi = ( wi1 , wi 2 ,..., wim ) T , i = 1,2,..., n - vektor sinaptičkih težina i-tog neurona

∆wi (t ) = η r x(t ) , (6.1)

η - koeficijent obučavanja – pozitivna konstanta.


r – signal obučavanja, u opštem slučaju funkcija oblika

r = f r ( wi , x, d i ) , (6.2)

wi (t + 1) = wi (t ) + η f r ( wi (t ), x(t ), d i (t )) x(t ) , (6.3)

Na osnovu opšte jednačine (6.3), generisani su mnogi zakoni obučavanja, dominantno


variranjem načina generisanja signala obučavanja r.

6.2 HEBOVO UČENJE

Hebov princip učenja je jedan od najstarijih i najpoznatijih. Zasniva se na Hebovom


postulatu:
Kada je akson neurona A dovoljno blizu neurona B, tako da ga može eksitovati, i ako se
to ponavlja dovoljno često, dešavaju se takve promene i metabolički procesi u obe ćelije
da je efikasnost uticaja neurona A na neuron B povećana.

12
r = y i , ⇒ ∆wi = η y i x. (6.4)

Hebovo učenje je u osnovi samoobučavajuće, budući da nije prisutan signal željenog


izlaza. U skalarnoj formi (6.4), ima formu

∆wij = η y i x j , i = 1,2,..., n, j = 1,2,..., m (6.5)

Ako je ulazno-izlazni korelacioni član y i x j pozitivan, wij se povećava (u suprotnom se


smanjuje), usled čega se povećava izlaz. Stoga će ulaz koji se najčešće pojavljuje, imati
najveći uticaj na promenu težina, i na kraju će produkovati najveći izlaz, što i jeste ideja
Hebovog postulata.

7. ADALINA (Adaptive Linear Element)


Neuron sa linearnom aktivacionom funkcijom se naziva linearni neuron. Neka je na
raspolaganju obučavajući skup

{( x (1)
, d (1) ),..., ( x ( p ) .d ( p ) )}. (7.1)

Cilj obučavanja je izračunavanje težina wi , koje zadovoljavaju relaciju

∑w x
j =1
j
(k )
j = d ( k ) , k = 1,2,..., p (7.2)

i pri tome se minimizira kriterijum performansi

1 p 1 p 1 p m
E ( w) = ∑
2 k =1
( d (k )
− y (k ) 2
) = ∑
2 k =1
( d (k )
− W T (k ) 2
x ) = ∑
2 k =1
( d (k )
− ∑
j =1
w j x (jk ) ) 2 . (7.3)

Ekstremizaciju kriterijuma (7.3) možemo obaviti gradijentnom metodom. datom sa

∆w = η ∇ w E (w) , (7.4)
odnosno
∂E p
∆w j = η
∂w j
=η ∑ (d
k =1
(k )
− W T x ( k ) ) x (jk ) , j = 1,2,..., m (7.5)

Ukoliko se ove promene obavljaju individualno za svaki ulazni signal x (k ) , nalazimo da


je
∆w j = η (d ( k ) − W T x ( k ) ) x (jk ) , (7.6)
što je poznato Vidrov-Hofovo pravilo obučavanja. Ono se susreće i pod nazivom LMS
pravilo (pravilo najmanjih kvadrata, Least Mean Square).

13
Akoželimo da Vidrov-Hofovo pravilo obučavanja izvedemo iz opšte jednačine
obučavanja, neophodno je staviti za signal učenja
r = d − y = d −W T x . (7.7)
Budući da je E(w) hiperparabolična površ u prostoru sinaptičkih težina w, sa
jedinstvenim globalnim ekstremumom (minimumom), postupak konvergira ka njemu bez
obzira na početne uslove, pod uslovom da je η dovoljno malo.

E(w)

∂E(w)
∂w

Emin
∂E (e)
∆w = η
∂w
w0 w(n + 1) w(n) w

Sl.7.1. Ilustracija Vidrov-Hofovog pravila obučavanja za jedan koeficijent sinaptičkih


težina w.

8. JEDNOSLOJNI PERCEPTRON
Prethodni rezultat se lako može generalisati na slučaj opšte nelinearne diferencijabilne
aktivacione funkcije a(w). Razmotrimo strukturu jednoslojnog perceptrona.

14
1
w11 d1
x1 y1
w12 e1
x2

w1 m −1
x m−1
wn1
wn 2 n
w1m
yn dn
x m = −1 wnm
en

Sl.8.1. Jednoslojni perceptron

(w1m = θ1 , w2 m = θ 2 , ..., wnm =θ n )


m – broj ulaza
n – brj izlaza
p – dužina obučavajućeg skupa

⎛ m ⎞
( )
y i( k ) = a WiT x ( k ) = a⎜⎜ ∑ wij x (jk ) ⎟⎟ = d i( k ) , i = 1,2, K , n, k = 1,2, K. p. (8.1)
⎝ j =1 ⎠
gde je

WiT = [wi1 , wi 2 , K , wim ]


T
(8.2)

vektor težina pridružen neuronu i. Ako definišemo kriterijumsku funkciju kao


matematičko očekivanje greške na izlazu neuronske mreže, odnosno u slučaju konačnih
obučavajućih skupova u obliku ukupne kvadratne greške na obučavajućem skupu,
dobijamo

2
1 p n ⎡ ⎛ m ⎞⎤
1 p n
(
E ( w) = ∑∑ d ik − y i( k )
2 k =1 i =1
)
2 1 p n
[ ]
= ∑ ∑ d i( k ) − a( wiT x ( k ) ) = ∑∑ ⎢d i( k ) − a⎜⎜ ∑ wij x (jk ) ⎟⎟⎥ .
2 k =1 i =1
2

2 k =1 i =1 ⎢⎣ ⎝ j =1 ⎠⎥⎦

∂E
[ ( )] ( )
p
= −∑ d i( k ) − a net i( k ) a ' net i( k ) x (jk ) , (8.3)
∂wij k =1

net i( k ) = WiT x ( k ) - ulaz u i-ti neuron kada je k-ti ulazni vektor prisutan.
∂a(net i( k ) )
a (net
' (k )
i ) = ∂net (k ) . (8.4)
i

15
Korekcija wij nakon prezentacije k-tog obučavajućeg uzorka je

∆wij = −η
∂E
∂wij
[ ] ( )
= η d i( k ) − a (net i( k ) ) a ' net i( k ) x (jk ) , (8.5)

i naziva se Delta pravilo obučavanja (delta learning rule), koje se iz opšteg pravila
obučavanja dobija stavljanjem

[ ]
r = d i − a( wiT x) a ' ( wiT x) . (8.6)

Opisana procedura konvergira ka nekom od lokalnih ekstremuma. Budući da kriterijum


obučavanja poseduje više lokalnih ekstremuma, gradijentna procedura (8.5) ne garantuje
globalni, već samo neki od lokalnih ekstremuma, zavisno od početnih uslova i parametara
obučavanj.

9. VIŠESLOJNI PERCEPTRON
Višeslojni perceptron (feed forward artificial neural networks FFANN), predstavlja jednu
od najvažnijih neuronskih struktura, kako zbog opštosti preslikavanja koju potencijalno
može restaurisati, tako i zbog efikasnog algoritma obučavanja poznato pod nazivom
algoritam propagacije greške unazad (backpropagation algorithm).

9.2. HORNIK STINCHOMBE WHITE-OVA TEOREMA (1989)

HSW Teorema

Višeslojna neuronska mreža sa najmanje jednim skrivenim slojem i aktivacionom


funkcijom koja poseduje sledeća svojstva

1. lim a(λ ) = 1
λ →∞

2. lim a(λ ) = 0 (−1)


λ → −∞

3. a(λ ) je neopadajuća funkcija

aproksimira bilo koju Borel merljivu funkciju na kompaktnim skupovima, sa


proizvoljnom tačnošću, pod uslovom da je na raspolaganju dovoljan broj neurona u
skrivenom sloju.

16
Borel merljive funkcije na kompaktnim skupovima obuhvataju sve neprekidne i u
delovima neprekidne funkcije (sa konačno ili prebrojivo mnogo diskontinuiteta na
skupovima mere nula).

Odavde sledi da je FFANN univerzalni aproksimator. Stoga neuspeh FFANN da u nekom


konkretnom slučaju restauriše preslikavanje implicitno zadato obučavajućim skupom,
potiče ili od neadekvatnog izbora arhitekture, parametara obučavanja, obučavajućih
skupova i drugih faktora, ali ne i od samog osnovnog restauratorskog principa FFANN.
Za mnoge praktične probleme, pokazuje se da uprkos HSV teoremi jedan skriveni sloj
nije dovoljan, budući da zahteva neprihvatljivo velik broj neurona. raktično bolji rezultati
se često dobijaju razmeštanjem manjeg broja neurona u dva ili više skrivenih slojeva.

9.3. ALGORITAM PROPAGACIJE GREŠKE UNAZAD

Ovaj algoritam obuhvata dve faze:


1. ulazni vektor x (k ) propagira od ulaznog ka izlaznom sloju, produkujući izlaz y (k ) .
2. sinal greške, zatim u drugoj fazi propagira unazad od izlaznog ka ulaznom sloju u
cilju korigovanja težina wij .
U cilju ilustracije rada algoritma propagacije greške unazad (BP algoriram) razmotrimo
višeslojni perceptron tipa m – l – n sa jednim skrivenim slojem.
y1 yi yn

wiq
w1q wnq
q

v q1 v qj v qm

x1 xj xm
Sl.9.1. Višeslojni perceptron sa jednim skrivenim slojem

17
Neka je neuronskoj mreži sa sl.9.1 prezentovan par (x,d) iz zadatog obučavajućeg skupa.
Uvedimo sledeće oznake
net q - ulazni signal u neuron q u skrivenom sloju,

m
net q = ∑ v qj x j ,
j =1

z q - izlazni signal neurona q

⎛ m ⎞
z q = a (net q ) = a⎜⎜ ∑ v qj x j ⎟⎟
⎝ j =1 ⎠

Ulaz u i-ti neuron u izlaznom sloju dat je sa


l l ⎛ m ⎞
net i = ∑ wiq z q = ∑ wiq a⎜⎜ ∑ v qj x j ⎟⎟ .
q =1 q =1 ⎝ j =1 ⎠
Izlazi neurona u izlaznom sloju dati su sa
⎛ l ⎞ ⎛ l ⎛ m ⎞⎞
y i = a(net i ) = a⎜⎜ ∑ wiq z q ⎟⎟ = a⎜ ∑ wiq a⎜⎜ ∑ v qj x j ⎟⎟ ⎟ .
⎜ q =1 ⎟
⎝ q =1 ⎠ ⎝ ⎝ j =1 ⎠⎠
Ovim je opisana prva faza, propagacija ulaynog signala. Kriterijumska funkcija
obučavanja ima oblik
2
1 n 1 n 1 n ⎡ ⎛ l ⎞⎤
E ( w) = ∑ (d i − y i ) = ∑ [d i − a(net i )] = ∑ ⎢d i − a⎜⎜ ∑ wiq z q ⎟⎟⎥ .
2 2

2 i =1 2 k =1 2 i =1 ⎢⎣ ⎝ q =1 ⎠⎥⎦
U skladu sa gradijentnim postupkom ekstremizacije, korekcija težina izmedju skrivenog i
izlaznog sloja je data sa
∂E
∆wiq = −η ,
∂wiq
odnosno uzimajući u obzir relaciju o prostiranju unapred i lančano pravilo parcijalnih
izvoda za ∂E / ∂wiq , imamo
⎡ ∂E ⎤ ⎡ ∂y ⎤ ⎡ ∂net i ⎤
[ ]

∆wiq = −η ⎢ ⎥ ⎢ i ⎥ ⎢ ⎥ = η [d i − y i ][a ′(net i )] z q = ηδ 0i z q ,
⎣ ∂y i ⎦ ⎣ ∂net i ⎦ ⎢⎣ ∂wiq ⎥⎦
gde je sa δ 0i označen signal greške

∂E ⎡ ∂E ⎤ ⎡ ∂y ⎤
δ 0i = − = − ⎢ ⎥ ⎢ i ⎥ = [d i − y i ] [a ′(net i )] ,
∂net i ⎣ ∂y i ⎦ ⎣ ∂net i ⎦
gde je net i ulaz u neuron i u izlaznom sloju, dok je
∂a (net i )
a ′(net i ) = .
∂net i
Rezultat je u potpunosti identičan Delta pravilu za jednoslojni perceptron čiji je ulaz z q
jednak izlazu neurona iz skrivenog sloja.

18
Korekcija težina izmedju neurona j u ulaznom i ineurona q u skrivenom sloju je data sa
⎡ ∂E ⎤ ⎡ ∂E ⎤ ⎡ ∂net q ⎤ ⎡ ∂E ⎤ ⎡ ∂z q ⎤ ⎡ ∂net q ⎤
[ ]
⎥ = η ∑ (d i − y i )a ′(net i )wiq a ′(net q )x j .
n
v qj = η ⎢ ⎥ = −η ⎢ ⎥⎢ ⎥ = −η ⎢ ⎥⎢ ⎥⎢
⎣⎢ v qj ⎦⎥ ⎣⎢ ∂net q ⎦⎥ ⎣⎢ ∂v qj ⎦⎥ ⎣⎢ ∂z q ⎦⎥ ⎣⎢ ∂net q ⎦⎥ ⎣⎢ ∂v qj ⎦⎥ i =1

Korišćenjem izraza za signal greške δ 0i , dobijamo

[ ]
∆v qj = η ∑ δ 0i wiq a ′(net q )x j = ηδ hq x j
n
,
i =1

gde je δ hq signal greške za neuron q u skrivenom sloju i definiše se kao


∂E ⎡ ∂E ⎤ ⎡ ∂z q ⎤
( )
n

q ∑ δ 0 i wiq
δ hq = − = −⎢ ⎥⎢ ⎥ = a ′ net ,
∂net q ⎢⎣ ∂z q ⎥⎦ ⎢⎣ ∂net q ⎥⎦ i =1

gde je net q ulaz u neuron q.


Izraz za δ hq pokazuje da se ovaj signal greške za neuron q u skrivenom sloju dobija
propagiranjem unazad od izlaznog sloja signala greške δ 0i pridruženih izlaznim
neuronima. Ovo svojstvo pokazuje važnu lokalnu osobinu algoritma, naime, da bi se
izračunala korekcija koeficijenata zadate grane potrebne su samo veličine (signali) na oba
kraja ove grane.
Ova razmatranja se lako mogu proširiti na perceptron sa proizvoljnim brojem slojeva,
sukcesivnom primenom pravilom ulančavanja za diferenciranje. U opštem slučaju, za
proizvoljan broj slojeva, pravilo korekcije težina u algoritmu propagacije greške unazad
ima formu
∆wij = ηδ i x j = ηδ output −i xinput − j ,
gde se „output-i“ i „input-j“ odnose na dva kraja konekcije neurona j ka neuronu i.
Sumarno, algoritam propagacije greške unazad se može opisati kroz sledeće korake.
Neka višeslojni perceptron ima Q slojeva, q=1,2,...,Q i neka je
q
net i - net ulaz za i-ti neuron u q-tom sloju
q
y i - izlaz neurona i u q-tom sloju.
Neka postoji m ulaznih i n izlaznih čvorova. Neka q wij označava težinu veze izmedju
q −1
y j i q yi .
ULAZ: Skup parova {(x ( k ) , d ( k ) ) , k = 1,2,..., p}
KORAK 0: (Inicijalizacija) Izabrati η > 0 i E max (maksimalna prihvatljiva
greška).Inicijalizovati sve sinaptičke težine malim slučajnim vrednostima. E=0, k=1.
KORAK 1. Primeniri k-ti obučavajući vektor na ulaz (q=1):
q
y i =1y i = xi( k ) , za sve i.
KORAK 2. (Propagacija unapred). Propagirati signal unapred do izlaza po formuli
⎛ ⎞
q
y i = a ( q net i ) = a⎜⎜ ∑ q wij q −1 y j ⎟⎟ ∀i, q
⎝ j ⎠
Q
sve dok se ne dobije izlaz y i .
KORAK 3: (Računanje izlazne greške Qδ i )

19
2

E = ∑ (d i( k ) − Q y i ) + E ,
1 n
2 i =1
Q
y i = (d i( k ) − Q y i ) a ′ ( Q net i ) .
KORAK 4: (Propagacija greške unazad). Propagacija greške unazad u cilju korigovanja
težina i sračunavanja greške q −1δ i za prethodni sloj:
∆ q wij =η qδ iq −1 y j , q
wijnew = q wijolld + ∆ q wij ,

δ i = a ′( q −1 net i )∑ q w ji qδ j
q −1
, za q = Q, Q − 1,...,2.
j

KORAK 5. Provera da li su svi uzorci iz obučavajućeg skupa jednom prošli proceduru.


Ako je k<p, tada je k=k+1 i prelazi se na korak 1. U suprotnom prelazi se na korak 6.

KORAK 6. (Provera ukupne greške). Da li je ukupna akumulirana greška prihvatljiva?


Ako je E < E max , prekida se proces obuke, u suprotnom E=0, k=1, preći na korak 1.

END algoritam propagacije greške unazad.

Ova varijanta algoritma propagacije greške unazad je tzv. inkrementalna, tj. težine se
koriguju nakon predstavljanja svakog uzorka iz obučavajućeg skupa. Alternativni pristup
je tzv. blokovski (batch – mod training) algoritam, po kome se težine menjaju nakon što
su svi uzorci u obučavajućem skupu prezentovani.

9.4 PROBLEM KONVERGENCIJE


Površina na kojoj se traži ekstremum (error surface – površina greške) nije
deterministička. Algoritam ustvari pripada klasi algoritama stohastičke aproksimacije. Za
površinu greške se znaju tri bazična svojstva:
veliki broj lokalnih minimuma, budući da postoji veliki broj kombinatornih
permutacija težina koje daju isti izlaz mreže.
postojanje lokalnih minimuma iznad nivoa globalnog minimuma
postojanje višestrukih platoa sa malim nagibima. Ovo je direktna posledica
zasićenja aktivacionih funkcija u domenu velikih signala, kada su izlazi
neosetljivi na male promene težina. Postojanje ovakvih delova površine greške
prouzrokuje sporu konvergenciju algoritma propagacije greške unazad.

9.5 FAKTORI KOJI UTIČU NA OBUČAVANJE ALGORITMA


PROPAGACIJE GREŠKE UNAZAD

20
9.5.1.Inicijalizacija težina
Početne vrednosti izuzetno utiču na krajnji rezultat obučavanja. Tipična inicijalizacija je
malim slučajnim vrednostima. Velike vrednosti vode u zasićenje i zaglavljivanje u
lokalnim ekstremumima bliskim startnoj poziciji. Praktična preporuka za inicijalizaciju je
⎡ 3 3 ⎤
izbor početnih težina u opsegu ⎢− , ⎥ , gde je k i broj ulaznih konekcija u neuron
⎣⎢ ki k i ⎦⎥
i.
9.5.2.Koeficijent obučavanja. (learning constant)

Velike vrednost za η mogu da ubrzaju konvergenciju, ali i da dovedu do premašaja cilja,


dok isuviše male vrednosti imaju suprotan efekat. Dosadašnja praksa pokazuje da se
η može kretati, zavisno od konkretnog problema u opsegu od 0.001 do 10. Dobra
strategija je adaptivna promena za η , npr. po sledećem zakonu

⎧ ⎫
⎪ a , ∆ E < 0 , konzistent no ⎪
⎪⎪ ⎪⎪
∆η = ⎨ − bµ , ∆E > 0 ⎬ , a,b>0
⎪ 0 , u osta lim slu člučaje a ⎪
⎪ ⎪
⎪⎩ ⎪⎭
Konzistentno, može da ima značenje ili npr. K uzastopnih koraka ili težinsko pokretno
usrednjavanje ∆E .

9.5.3.Funkcija cilja

Kvadratna funkcija nije jedini mogući izbor. promenom ove funkcije menja se samo
signal greške δ 0i u izlaznom sloju, dok ostale jednačine ostaju nepromenjene. Mogući
izbori funkcije greške su L p norma
1
E= ∑ (d i − yi ) p , 1≤ p < ∞ ,
p i
Čebiševljeva norma
L∞ = sup d i − y i .
i

9.5.4.Momentum.

Jedan od načina da se konstanta obučavanja poveća, a da ne dodje do divergentnog


oscilovanja je dodavanje tzv. momentum člana. Momentum je u stvari dodatni inercijalni
član koji omogućava odvijanje procesa obučavanja u pravcu „srednje sile na dole“. Ovo
se može ostvariti uključivanjem prethodnih promena težina u trenutnu promenu, npr. na
sledeći način

∆w(t ) = −η∇E (t ) + α∆w(t − 1) , , α ∈ [0,1] ,

21
gde je α momentum parametar (uobičajena praktična vrednost je 0.9).

Na sl.9.2. prikazana je analiza uticaja momentuma na proces korekcije težina neuronske


mreže u toku obučavanja. Elipse prikazuju izohipse hipotetičke površine greške (error
surface) kvadratnog tia. Primer AA′ ilustruje slučaj dobrog usmerenja vektora korekcije
težina. Korekcija momentumom u ovom slučaju poboljšava usmerenje korekcije težina.
Priner BB ′ ilustruje slučaj pogrešno usmerenog vektora korekcije težina (prebačaj).
Korekcija momentumom preusmerava ovaj vektor u dobrom pravcu. Ovi primeri
pokazuju da momentup tipično ubrzava konvergenciju.

trajektorija bez momentuma


A
trajektoraija sa momentumom ∆w(t ′) B
α∆w(t ′) A′

− η∇E (t ′ + 1) ∆w(t )

− η∇E (t ′ + 1) + α∆w(t )

− η∇E (t + 1)

− η∇E (t + 1) + α∆w(t ) B′

α∆w(t )

Sl.9.2. Uticaj momentuma na konvergenciju težina u toku obučavanja

9.5.5.Pravila korekcije.

Do sada analizirano pravilo korekcije težina se zasnivalo na najjednostavnijem postupku


gradijentnog spusta. Dobro razvijena teorija optimizacije nudi niz daleko razvijenijih i
efikasnijih tehnika. Prvo poboljšanje se može učiniti uključivanjm viših redova
kriterijumske funkcije. Ako E (w) razvijemo u tajlorov red dobijamo
1
E ( w) = E ( w0 ) + ( w − w0 ) T ∇E ( w0 ) + ( w − w0 ) T H ( w)( w − w0T ) + L
2
gde je
∂2E
H ( w) = ∇ E ( w) , H ij =
2
.
∂wi ∂w j
Da bi smo našli minimum od E(w), stavljamo ∇E ( w) = 0 , odnosno

22
∇E ( w) = ∇E ( w0 ) + H ( w0 )( w − w0 ) + L = 0 .
Ako zanemarimo članove reda većeg od dva u gornjem razvoju, dobijamo
w = w0 − H −1 ( w)∇E ( w0 ) ,
ili u iterativnoj proceduri
w ( k +1) = w ( k ) − H −1 ( w ( k ) )∇E ( w ( k ) ) ,
što je poznat Njutnov metod korekcije težina, za koga se dokazuje da u slučaju
konveksnih kriterijumskih funkcija E, konvergira kvadratno ka rešenju. Medjutim i dalje
procedura ima niz nedostataka:
računarska kompleksnost
zahteva dobro početno pogadjanje
za ne konveksne kriterijumske funkcije može da konvergira ka lokalnom
ekstremumu i sedlastim tačkama.
Računarski relaksirana metoda pogodna za implementaciju je npr. kvazi Njutnova
metoda ili algoritam konjugovanih pravaca.

9.5.6.Obučavajući skup i generalizacija.

Algoritam propagacije greške umazad ima dobra svojstva generalizacije. Neuronska


mreža dobro generalizuje ukoliko daje dobre interpolacije za nove ulaze, koji nisu bili
prisutni u postupku obučavanja. Neuronska mreža sa isuviše slobodnih parametara za
zadati obučavajući skup može biti dobro obučena, sa velikom verovatnoćom loše
generalizacije. Ovaj fenomen se naziva overfitting. Ukoliko medjutim mreža ima isuviše
malo slobodnih parametara, nije u stanju da se obuči na obučavajućem skupu, a samim
tim ima loše performanse i na test skupu ( skup za testiranje obuhvata primere koji ne
pripadaju obučavajućem skupu). Budući da generalizacija predstavlja važno svojstvo,
razvijeno je više procedura za njeno poboljšanje.

a.Smanjivanje osetljivosti mreže. Da bi neuronska mreža posedovala dobra svojstva


generalizacije, potrebno je da male promene ulaznih signala ne izazivaju velike promene
na izlazu neuronske mreže. Jedan od mogućih načina za poboljšanje generalizacije
direktnom primenom ovog principa je proširivanje obučavajućeg skupa varijacijama
ulaznih signala, recimo dodavanjem šuma niskog nivoa oko svakog elementa
obučavajućeg skupa. Formalno, obučavajući skup

{ (xi , di ) } se zamenjuje sa { (x + ξ ) , d }, j = 1,Km,


i j i i = 1,K, p.

Druga mogućnost postizanja sličnog efekta smanjivanja osetljivosti mreže u odnosu na


ulazne signale je dodavanje novog člana standardnoj kriterijumskoj funkciji oblika
1 ⎡⎛ ∂E f ⎞ ⎛ ∂E f ⎞ ⎛ ∂E f ⎞ ⎤
2 2 2

Eb = ⎢⎜⎜ ⎟ +⎜ ⎟ + L + ⎜⎜ ⎟ ⎥ ,
2 ⎢⎝ ∂x1 ⎟⎠ ⎜⎝ ∂x2 ⎟⎠ ⎝ ∂xn ⎟⎠ ⎥
⎣ ⎦
gde je E f funkcional greške u standardnom algoritmu obučavanja. Razlog za
uključivanje Eb je da njegova minimizacija u stvari znači, prema gornjoj definiciji, malu
osetljivost E f na varijacije ulaza, što je i bio cilj.

23
b.Regularizacija. Ovaj metod se svodi na proširivanje kriterijumske funkcije tzv.
regularizacionim članom
~
E = E + νΩ
gde je E standardni kriterijum, ν je parametar kojim se kontroliše uticaj dodatnog člana
Ω , koji je u direktnoj vezi sa kompleksnošću neuronske mreže. Na taj način,
~
minimizacijom ukupnog kriterijuma E postiže se uslovna ekstremizacija standardnog
kriterijuma E uz uslov minimalne kompleksnosti neuronske mreže, koja je osnovni uzrok
overfittinga. Najčešće korišćen oblik regularizacionog člana je
1
Ω = ∑ wi2 ,
2 i
poznat pod nazivom weight decay – smanjivanje težina, pri čemu se suma odnosi na sve
težine i bajase u mreži. Praksa pokazuje da se na ovaj način postiže značajno poboljšanje
generalizacije. Moguće heurističko objašnjenje ovog efekta se svodi na sledeće
rezonovanje. Ukoliko su težine mreže velike, aktivacije neurona su u predelu zasićenja,
dakle nelinearnih oblasti koje upravo prouzrokuju kompleksna preslikavanja mreže, i
obrnuto, za male vrednosti težina aktivacije su u predelu linearnosti aktivacionih funkcija
i kompleksnost mreže je mala, čime se smanjuje verovatnoća overfitinga za fiksiranu
dužinu obučavajućeg skupa.

c.Rano zaustavljanje (early stopping).

Tokom tipične procedure obučavanja greška obučavanja (vrednost kriterijumske


funkcije) po pravilu opada sa brojem iteracija obučavanja. Medjutim greška merena na
skupu podataka nezavisnih od obučavajućeg skupa (test ili validacioni skup) po pravilu
opada do jedne odredjene vrednosti iteracia, a zatim počinje da raste. Ovaj rast je vezan
za pojavu overfittinga, pa je stoga celishodno proceduru obučavanja zaustaviti u toj tački,
iako kriterijumska funkcija na obučavajućem skupu i dalje opada. Otuda naziv ove
metode – rano zaustavljanje.

24
Greške obuke i validacije
1.6

1.4

Greška validacije
1.2
Trenutak obucavanja
Minimalna greška validacije
1

0.8
Greška obuke
0.6

0.4

0.2
0 2 6 8 10 12 14 16 18
Broj iteracija obučavanja

Sl.9.3. Tipični oblik zavisnosti greške obučavanja i validacije

d. Kresanje (Prunning)

Budući da je generalizacija vezana za adekvatan odnos izmedju broja slobodnih


parametara (bogatstvo arhitekture) i složenosti modelovane pojave (struktura i dužina
obučavajućeg skupa), ideja kresanja se temelji na principu ostvarivanja što boljih
performansi sa što siromašnijom arhitekturom. Operativno se ovo može postići sledećom
klasom procedura:

korak.1. Izabrati početnu bogatu arhitekturu neuronske mreže. Obučiti zatim. neuronsku
mrežu na obučavajućem skupu i testirati na validacionom skupu. Neka su vrednosti ovih
kriterijuma Eobuka i Evalid .
korak.2. Saobrazno nekom od unapred usvojenih kriterijuma značajnosti parametra,
izračunati značajnost svih parametara obučene neuronske mreže i sortirati ih po rastućim
vrednostima, tako da se na prvom mestu nalazi najneznačajniji parametar.

korak.3. Izbaciti granu lil bajas koji odgovara najneznačajnijem parametru. Na ovaj način
smo smanjili složenost arhitekture i broj slobodnih parametara

25
korak.4. Za novu arhitekturu izvršiti novu slučajnu inicijalizaciju mreže i novo
′ . Ako je Evalid
obučavanje. Izračunati ponovo Evalid ′ ≤ Evalid , staviti da je Evalid = Evalid
′ i
preći na korak 2., u suprotnom zaustaviti proceduru.

Nakon završetka rada ovog algoritma, posedovaćemo neuronsku mrežu najsiromašnije


arhitekture i minimalne vrednosti kriterijumske funkcije na validacionom skupu, što i
jeste bio cilj.

Postavlja se pitanje izbora kriterijuma značajnosti. Jedan od češće korišćenih je tzv.


kriterijum oštećenja mozga (brain demage), po kome je značajniji onaj parametar za koga
je vezana veća promena kriterijumske funkcije nakon njegovog uklanjanja. Pored ovog
kriterijuma i njegovih različitih varijanti, razvijeni su i drugi, vezani prevashodno za
različite statističke testove značajnosti nelinearnih parametarskih modela.

U nardnoj seriji slika dat je primer izbora arhitekture sa dobrim generalizacionim


svojstvima, u problemu predvidjanja broja sunčevih pega.

26
27
28
9.5.7.Broj skrivenih neurona

Pitanje broja neurona u skrivenom sloju je fundamentalno pitanje koje se nezaobilazno


javlja gotovo u svakoj primeni višeslojnog perceptrona. Egzaktnu analizu je teško
sprovesti, budući da je preslikavanje koje ostvaruje višeslojni perceptron veoma
komleksno, kao i usled stohastičke prirode većine algoritama obučavanja. Praktične
preporuke se svode na princip: probaj sa početnim brojem neurona u skrivenom sloju
znatno manjim od dimenzije ulaznog sloja. Ako je obučavanje zadovoljavajuće, pokušati
sa daljnjim smanjivanjem, u suprotnom, inkrementalno povećavati njihov broj. postoje i
odredjene analitički zasnovane analize o ovom broju. Ekvivalentrirajmo pitanje
odgovarajućeg broja neurona u sk rivenom sloju sa pitanjem koliko je tih neurona
potrebno da bi se u m dimenzionom ulaznom prostoru formiralo M disjunktnih oblasti na
kojima mreža ima konstantne izlaze, razdeljene medjusobno hiperravnima. Ako taj broj
obeležimo sa N m , tada je u važnosti
m
⎛N ⎞ ⎛N ⎞
N m + 1 ≤ M ≤ ∑ ⎜⎜ m ⎟⎟ , gde je ⎜⎜ m ⎟⎟ = 0 , za N m < j .
j =0 ⎝ j ⎠ ⎝ j ⎠
Maksimalan broj linearno separabilnih oblasti upotrebom N m skrivenih neurona u m-
dimenzionom prostoru, M max je dat sa
m
⎛N ⎞ N ( N − 1) N ( N − 1)L( N m − j + 1)
M max = ∑ ⎜⎜ m ⎟⎟ = 1 + N m + m m +L+ m m , za N m > m.
j =0 ⎝ j ⎠ 2! m!
U slučaju N m ≤ m , važi M max = 2 N m , odnosno N m = log 2 M max . Podsetimo se da
je broj disjunktnih particija u izlazno prostoru neuronske mreže u direktnoj vezi sa
maksimalnim brojem koncepata (klasa) koje ta mreža može da prepozna.

10.Literatura
[1] C.M. Bishop, Neural Networks for Pattern Recognition, Oxford university press,
2000.
[2] C.T. Lin, C.S.George Lee, Neural Fuzzy Systems, Prentice Hall, 1996.

29

You might also like