NEURONSKE MREZE - Predavanja
NEURONSKE MREZE - Predavanja
NEURONSKE MREZE - Predavanja
Milosavljević
NEURONSKE MREŽE
radni materijal uz predmet
Milan M. Milosavljević
Elektrotehnički fakultet Beogradskog Univerziteta
januar 2005.
1.UVOD
Tabela 1.1 Sličnosti i razlike izmedju neuronskih mreža i Fon Nojmaovog računara.
4. MODELI NEURONA
Model neurona čine tri bazična elementa:
x1 wk 1
aktivaciona
sumator izlaz
funkcija
ulazi wk 2 uk yk
x2 a( . )
wkm
xm
sinaptičke veze k prag
y k a (u k k ) (4.2)
Alternativni zapis
x0 1
fiksni ulaz
wk 0 k
x1 wk 1
aktivaciona
sumator izlaz
funkcija
ulazi wk 2 uk yk
x2 a( . )
wkm
xm
sinaptičke veze k prag
x0 1
fiksni ulaz
wk 0 bk
x1 wk 1
aktivaciona
sumator izlaz
funkcija
ulazi wk 2 uk yk
x2 a( . )
wkm
xm
sinaptičke veze k prag
1
1, v 0
a (v )
0, v 0
v
-1/2 1/2
1, v 1/ 2
a (v ) 1/ 2 v, 1/ 2 v 1 / 2
v 1 / 2
0,
a(v)
Sigmoidalna (logistička)
1 b1
b2
1 b1 b2
a (v )
1 exp( bv )
v
0 v
-1
Milan M. Milosavljević
1 , v 0
a (v ) 0, v 0
1, v 0
a(v)
1 b1
b2
v 1 exp(v )
a (v ) tanh( ) b1 b2 v
2 1 exp(v)
-1
skriveni sloj
z 1 z 1 z 1
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 t
z 1 x
t
t t
e e
z 1 x x
t t
izlaz
t t
e e
z 1 x x
t t
t
e
z 1 x
t
t t
e e
x x
t
te t
x
t
ulaz
t
e
x
t
x y
Neuronska mreža
ulaz W izlaz
Generator
signala greške željeni signal
signal greške
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
x1
wi1
i-ti neuron
x2 wi 2 yi
X
wi m 1 Wi
x m 1
r Generator di
X signala
obučavanja
wim
xm 1
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)
r yi , wi y i x. (6.4)
( x (1)
, d (1) ),..., ( x ( p ) .d ( p ) ) . (7.1)
w
j 1
j x (jk ) d ( k ) , k 1,2,..., p (7.2)
1 p 1 p 1 p m
E ( w)
2 k 1
(d ( k ) y ( k ) ) 2 ( d ( k ) W T x ( k ) ) 2 (d ( k ) w j x (jk ) ) 2 . (7.3)
2 k 1 2 k 1 j 1
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)
E (w)
E ( w)
w
E min
E (e)
w
w
w0 w( n 1) w(n) w
8. JEDNOSLOJNI PERCEPTRON
Prethodni rezultat se lako može generalisati na slučaj opšte nelinearne diferencijabilne
aktivacione funkcije a(). Razmotrimo strukturu jednoslojnog perceptrona.
1
w11 d1
x1 y1 -
w12 e1
x2
izlaz
željeni izlaz
neuronske mreže
w1 m 1
x m 1
wn1
wn 2 n
w1m
yn - dn
x m 1 wnm
en
m
y i( k ) aWi T x ( k ) a wij x (jk ) d i( k ) , i 1,2, , n, k 1,2, . p. (8.1)
j 1
gde je
Wi T wi1 , wi 2 , , wim
T
(8.2)
2
1 p n (k ) m
2 k 1 i 1
(k ) 2
2 k 1 i 1
T (k ) 2
E ( w) d i y i d i a ( wi x ) d i a wij x (jk ) .
1 p n k 1 p n (k )
2 k 1 i 1
j 1
E
d i( k ) a net i( k ) a ' neti( k ) x (jk )
p
, (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 i( k ) . (8.4)
net i( k )
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)
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).
HSW Teorema
1. lim a ( ) 1
2. lim a ( ) 0 ( 1)
3. a ( ) je neopadajuća funkcija
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
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
m
z q a net q a v qj x j
j 1
l l m
y i a neti 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 neti 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 i net i
wiq d i y i a net i z q 0i z q ,
y i net i wiq
gde je sa 0 i označen signal greške
E E y i
0i 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.
Korekcija težina izmedju neurona j u ulaznom i ineurona q u skrivenom sloju je data sa
E E netq E z q netq
d i y i a neti wiq a net q x j .
n
v qj
v qj netq v qj z q netq v qj i 1
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.
q
Neka postoji m ulaznih i n izlaznih čvorova. Neka 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 1 y 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
wij
q q 1
yj
i, q
j
sve dok se ne dobije izlaz Q y i .
KORAK 3: (Računanje izlazne greške Q i )
2
E
1 n
2 i 1
d i( k ) Q y i E ,
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 ,
q 1
i a q 1 net i q w ji q j , za q Q, Q 1,...,2.
j
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.5.1.Inicijalizacija težina
, a,b>0
a , E 0, konzistentno
b , E 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.
E t 1 w t
E t 1 w t
E t 1
E t 1 w t B
w t
9.5.5.Pravila korekcije.
xi , di se zamenjuje sa x , d , j 1, m,
i j i i 1, , p.
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.
obu
Gre
vali
ke i
dac
ške
ije
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
d. Kresanje (Prunning)
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
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.