NEURONSKE MREŽE - Predavanja
NEURONSKE MREŽE - Predavanja
NEURONSKE MREŽE - Predavanja
Milan M. Milosavljević
Elektrotehnički fakultet Beogradskog Univerziteta
januar 2005.
1
1.UVOD
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.
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:
x1 wk 1
wk 2 uk yk
x2 ∑
wkm
xm
θk
y k = a(u k − θ k ) (4.2)
4
Alternativni zapis
x0 = −1
wk 0 = θ k
x1 wk 1
wk 2 uk yk
x2 ∑
wkm
xm
θk
x0 = 1
wk 0 = bk
x1 wk 1
wk 2 uk yk
x2 ∑
wkm
xm
θk
5
4.1. TIPOVI AKTIVACIONIH FUNKCIJA
⎧1, v ≥ 0
a (v ) = ⎨
⎩0, v < 0
0 v
1
⎧1, v ≥ 1 / 2
⎪
a (v) = ⎨1 / 2 + v, − 1 / 2 < v < −1 / 2
⎪0, v ≤ −1 / 2
⎩ v
-1/2 1/2
a(v)
Sigmoidalna (logistička)
1 b1
b2
1 b1 > b2
a (v ) =
1 + exp(−bv)
v
0 v
-1 6
⎧ 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
7
Sl.4.9. Jednoslojni perceptron sa prostiranjem unapred
skriveni sloj
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
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.
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.
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 η
r = f r ( wi , x, d i ) , (6.2)
12
r = y i , ⇒ ∆wi = η y i x. (6.4)
{( x (1)
, d (1) ),..., ( x ( p ) .d ( p ) )}. (7.1)
∑w x
j =1
j
(k )
j = 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
) = ∑
2 k =1
( d (k )
− W T (k ) 2
x ) = ∑
2 k =1
( d (k )
− ∑
j =1
w j x (jk ) ) 2 . (7.3)
∆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)
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
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
⎛ 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
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)
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
λ →∞
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).
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
⎛ m ⎞
z q = a (net q ) = a⎜⎜ ∑ v qj x j ⎟⎟
⎝ j =1 ⎠
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
[ ]
∆v qj = η ∑ δ 0i wiq a ′(net q )x j = ηδ hq x j
n
,
i =1
q ∑ δ 0 i wiq
δ hq = − = −⎢ ⎥⎢ ⎥ = a ′ net ,
∂net q ⎢⎣ ∂z q ⎥⎦ ⎢⎣ ∂net q ⎥⎦ i =1
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
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.
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)
⎧ ⎫
⎪ 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.
21
gde je α momentum parametar (uobičajena praktična vrednost je 0.9).
− η∇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.
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.
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.
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
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
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.
26
27
28
9.5.7.Broj skrivenih neurona
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