Sunteți pe pagina 1din 20

3

REELE UNIDIRECIONALE
MULTINIVEL

3.1. GENERALITI
Reelele cu un singur nivel au numeroase restricii n utilizare. De exemplu, perceptronul simplu mparte spaiul strilor doar n dou semiplane. Pentru a realiza regiuni de decizie mai complicate trebuie mrit complexitatea reelei, inserndu-se nivele suplimentare (numite ascunse) ntre neuronii de intrare i cei de ieire. Un perceptron cu dou nivele poate realiza regiuni de decizie convexe, obinute prin intersecia semiplanelor generate de fiecare neuron de pe nivelul ascuns. Fiecare neuron de pe nivelul ascuns N x se comport ca un perceptron standard i genereaz un hiperplan de separare. Un neuron de pe nivelul N y genereaz o regiune de decizie mai complicat, folosind semiplanele generate de neuronii primului nivel.

50 Fie n1 numrul neuronilor de pe nivelul N x . Considerm c ponderile conexiunilor dintre N x i N y sunt toate + 1 i c pragul fiecrui neuron din N y este n1 , 0 < < 1 . Acum fiecare neuron

din N y are ieirea + 1 doar dac ieirile tuturor neuronilor de pe nivelul N x sunt + 1 . nseamn c nivelul N y realizeaz funcia logic I, regiunea de decizie generat de fiecare neuron de pe acest nivel fiind intersecia semiplanelor formate pe primul nivel.

x1 x2

M M
xn

M M

M M

M M

N0

Nx

Ny

Nz

Figura 3.1. Exemplu de reea multinivel S considerm doi neuroni a i b de pe nivelul N y , i fie A i B regiunile lor de decizie. Fie c un neuron de pe nivelul N z . Considerm c ponderile conexiunilor de la a i b ctre c sunt

51 egale cu + 1 i c pragul lui c este t < 1 . Dac unul din neuronii a sau b este activat, atunci ieirea neuronului c va fi + 1 ; nseamn c acest neuron realizeaz funcia logic SAU ntre suprafeele A i B . Minsky i Papert (n 1969) au fost primii care au artat c reelele cu dou nivele mbuntesc performanele reelelor uninivel, dar nu au precizat cum se ajusteaz ponderile de intrare n neuronii ascuni. n 1974, Paul Werbos a fost primul care a utilizat algoritmul de propagare napoi, dar nu a folosit aceast tehnic i pentru a calcula ponderile conexiunilor asociate neuronilor de pe nivelele ascunse. n 1982, David Parker a redescoperit acest algoritm. Rspunsul cu privire la calcularea acestor ponderi a fost dat de Rumelhart, Hinton i Williams n 1986. Ideea central a metodei const n faptul c erorile neuronilor de pe nivelul ascuns sunt determinate prin propagarea napoi a erorilor asociate neuronilor de pe nivelul de ieire. De aceea metoda este numit, adesea, regula propagrii napoi. De asemenea, propagarea napoi poate fi considerat ca o generalizare a regulii delta, pentru cazul funciilor de rspuns neliniare. O proprietate important a reelelor multinivel const n capacitatea lor de a aproxima orice funcie cu orice precizie dorit. Cybenko [5], Funahashi [17], Hornik i colaboratorii [25] au artat

52 c un perceptron cu un singur nivel ascuns (de uniti sigmoidale) i o unitate de ieire liniar poate aproxima orice funcie continu n orice hipercub. Totui, acest rezultat are i limite importante: - garanteaz existena unei astfel de reele dar nu ofer i o metod de a o construi; - nu d nicio informaie cu privire la numrul neuronilor din stratul ascuns.

3.2. PROPAGAREA NAPOI CU UN NIVEL ASCUNS


Considerm o reea cu un strat ascuns i folosim notaiile: i = un neuron de pe nivelul 0 , de intrare k = un neuron de pe nivelul 1, cel ascuns j = un neuron de pe nivelul 2 , de ieire xi = semnalul de intrare n neuronii nivelului 0 y i = semnalul de ieire din unitile nivelului 0 x k = activrile neuronilor de pe nivelul 1 y k = semnalul de ieire al neuronilor de pe nivelul 1 x j = activrile neuronilor de pe nivelul 2 y j = semnalul de ieire al neuronilor de pe nivelul 2 n = numrul de neuroni de pe nivelul 0 n1 = numrul de neuroni de pe nivelul 1

53 m = numrul de neuroni de pe nivelul 2 w1 ki = ponderea conexiunii ntre neuronii i i k w2 jk = ponderea conexiunii ntre neuronii j i k hk = funcia de activare a neuronului k f j = funcia de activare a neuronului j . Considerm c neuronii unui nivel sunt conectai cu toi neuronii nivelului urmtor. Dac la momentul
t intrare vectorul x t = x1t , L, x n

t se prezint la

i se dorete s se obin vectorul

t d t = d1t , L, d m

atunci, innd seama c xit = yit rezult


t ,t t xk = w1 ki xi , i =1
n1

t t yk = hk xk ,

( )

,t t x tj = w 2 jk y k , k =1

y tj = f j x tj .

( )

Eroarea ptratic corespunztoare perechii x t , d t din mulimea de antrenare este


Et = 1 m t d j y tj 2 j =1

1 m t d j f j x tj 2 j =1
2

( ))

n1 2, t t 1 m t = d j f j w jk y k = 2 j =1 = 1 k

54 n1 2, t n 1, t t 1 m t d f = j j w jk hk wki xi . 2 j =1 = 1 = 1 k i Minimizarea erorii se realizeaz cu o metod de tip gradient, ceea ce impune calcularea valorilor de coborre. Avem
Et t = d tj y tj f j' x tj y k ,t w 2 jk
2

Et Et i , care definesc direciile ,t 2, t w1 w jk ki

) ( ) )

i
Et t = xit hk' xk 1, t wki

( ) (d
m j =1

t j

t ,t ' y tj w 2 jk f j x j .

( )

Notnd
t tj = f j' x tj d tj y tj i kt = hk' (xk ) tj w2jk, t m j =1

( )(

obinem
,t w 2 jk =

Et t , = tj y k 2, t w jk

,t w1 ki =

Et = kt xit . 1, t wki

Rezult urmtoarele reguli de corectare a ponderilor

55
,t +1 ,t 2 ,t 2, t w2 = w2 jk jk + c w jk , ,t +1 ,t 1, t 1, t w1 = w1 ki ki + c wki .

t Se observ c k se obine prin propagarea napoi n reea a erorii de

pe nivelul superior.
Algoritmul de propagare napoi cu un nivel ascuns

n continuare vom nota cu l indicele perechii de instruire i cu t iteraia, care indic a cta prelucrare a setului de instruire este n curs de desfurare. Fie antrenament.
Pasul 1. Se iniializeaz:

{(x , d ), L, (x
1 1

,d L

)}

mulimea de

matricele w1 i w 2 , cu valori aleatoare mici din [0, 1] sau [ 1, 1] rata de instruire c (0, 1) eroarea maxim admis E max (de exemplu, E max := 0.01 ) indicele perechii de instruire l := 1 contorul iteraiei t := 1
Pasul 2. Se prezint reelei perechea de instruire x l , d l dat de
l l x l = x1l , L , xn , d l = d1l , L , d m

56
Pasul 3. Se determin valorile de activare ale neuronilor de pe

nivelul ascuns
l ,l l xk = w1 ki xi i =1 n

Pasul 4. Se determin ieirile neuronilor de pe nivelul ascuns


l l yk = hk xk

( )

Pasul 5. Se calculeaz activrile neuronilor de pe nivelul de ieire


,l l x lj = w 2 jk y k k =1 n1

Pasul 6. Se calculeaz ieirile reelei

y lj = f j x lj

( )
)

Pasul 7. Se calculeaz semnalul de eroare pentru neuronii de pe

nivelul de ieire

lj = f j' x lj d lj y lj

( )(

Pasul 8. Se calculeaz semnalul de eroare pentru neuronii de pe

stratul ascuns
l kl = hk' (xk ) lj w2jk,l m j =1

Pasul 9. Se ajusteaz ponderile neuronilor de pe nivelul de ieire


,l 2, l l l w2 jk := w jk + c j y k

57
Pasul 10. Se ajusteaz ponderile neuronilor de pe nivelul ascuns
,l 1, l l l w1 ki := wki + c k xi

Pasul 11. Se trece la urmtoarea pereche din mulimea de instruire :

dac l < L atunci l := l + 1 i se merge la Pasul 2 dac l = L atunci se merge la Pasul 12.
Pasul 12. Se calculeaz eroarea pe setul de antrenare

E=

1 L m l d j y lj 2 L l =1 j =1

Dac E E max , algoritmul se termin; n caz contrar se ncepe o nou iteraie ( t := t + 1 ) i se parcurge setul de antrenare de la nceput ( l := 1 ), mergndu-se la Pasul 2.

3.3. PROPAGAREA NAPOI CU MAI MULTE NIVELE ASCUNSE


Cele mai multe aplicaii ale algoritmului de propagare napoi utilizeaz reele cu un singur nivel ascuns. Motivul acestei alegeri const n faptul c neuronii intermediari care nu sunt conectai direct cu cei de ieire au variaii mici ale ponderilor, ceea ce nseamn c vor nva foarte lent. Alt motiv al acestei alegeri const n simplitatea reelei: singura decizie ce trebuie luat se refer la numrul neuronilor ascuni. Folosirea a mai multe nivele ascunse conduce uneori la rezultate mai bune, n special pentru problemele de

58 complexitate mare. Din pcate, singura modalitate de a stabili numrul de nivele este de a proceda prin ncercri. Extinderea algoritmului de propagare napoi de la dou la K nivele se realizeaz simplu. Dac x l , d l este perechea de instruire, folosim notaiile w k = matricea ponderilor ctre nivelul k = 1, 2, L, K y K ,l = vectorul ieirilor x k ,l = vectorul activrilor de pe nivelul k y k ,l = vectorul ieirilor din nivelul k nk = numrul de neuroni de pe nivelul k f xik ,l

( )

= valoarea funciei de activare a neuronului i de pe

nivelul k , pentru vectorul de intrare x l

Algoritmul de propagare napoi multinivel Pasul 1. Se iniializeaz, la fel ca n algoritmul anterior,

rata de instruire c (0, 1) eroarea maxim admis E max indicele perechii de instruire l := 1 contorul iteraiei t := 1

matricele w1 , L, w K

59
Pasul 2. Se prezint reelei perechea de instruire x l , d l dat de
l l x l = x1l , L , xn , d l = d1l , L , d m

Pasul 3. Pentru k = 1, 2, L, K se calculeaz activrile i ieirile

neuronilor de pe nivelul k
k ,l k 1,l ,l xk , j = 1, L , nk , j = w ji y i i =1 nk 1

,l k ,l yk j = f x j , j = 1, L , n k

( )

innd seama c

yi0,l = xil , i = 1, L, n0 = n
Pasul 4. Se calculeaz semnalul de eroare pentru neuronii de ieire
,l l K ,l jK ,l = f ' (x K j )(d j y j ) , j = 1, L, n K = m

Pasul 5. Se calculeaz semnalul de eroare pentru neuronii de pe

nivelele ascunse: pentru k = K 1, L , 2, 1 se determin


k +1, l k +1,l jk ,l = f ' (x kj ,l ) wij i , j = 1, L , nk nk +1 i =1

Pasul 6. Pentru fiecare k = 1, 2, L, K

se ajusteaz ponderile

corespunztoare activrii x l
k ,l k ,l k ,l k ,l 1,l wij := wij + cwij = wij + c ik ,l y k j

60
,l 0, l l unde y 0 j = x j = x j , j = 1, L, n0 .

Pasul 7. Se trece la urmtoarea pereche de instruire :

dac l < L atunci l := l + 1 i se merge la Pasul 2 dac l = L atunci se merge la Pasul 8.


Pasul 8. Se calculeaz eroarea pe setul de antrenare

E=

1 L K l d i yiK , l 2 L l =1 i =1

Dac E E max , algoritmul se termin; n caz contrar se ncepe o nou iteraie ( t := t + 1 ) i se parcurge setul de antrenare de la nceput ( l := 1 ), mergndu-se la Pasul 2.

3.4. VARIANTE ALE PROPAGRII NAPOI


3.4.1. SCHIMBAREA PARAMETRILOR

Este posibil ca propagarea napoi s genereze un minim local, caz semnalat de faptul c eroarea ieirilor este destul de mare. Pentru a iei dintr-o astfel de stare se recomand: a) Schimbarea constantei de instruire. Iniial se alege o valoare mic, de exemplu c (0.05, 0.25) , iar pe msur ce eroarea descrete se poate mri valoarea lui c .

61 Creterea se justific doar dac suprafaa de eroare este suficient de neted, n caz contrar fiind posibil ca reeaua s sar peste valoarea de minim, real. Euristic, s-a ajuns la concluzia c o valoare iniial bun pentru c este
1 , n fiind numrul de neuroni de la intrare. n

O alt posibilitate este folosirea unei rate de instruire variabile; constanta de instruire c se nlocuiete la fiecare iteraie cu o valoare ct mai mic. irul acestor valori trebuie s descreasc lent pentru a se asigura accelerarea convergenei. Descreterea este suficient de lent dac

ct = i ct2 < .
t =1 t =1

1 Un exemplu de ir ce satisface condiiile anterioare este ct = . t b) Schimbarea ponderilor iniale. Se recomand ca ponderile iniiale s nu fie egale, evitndu-se paralizarea reelei. Pentru neuronii care au multe intrri, ponderile iniiale trebuie s fie mici, astfel nct activrile s nu fie prea ndeprtate de zero. Dac un neuron are n intrari, se 2 recomand ca ponderile s fie din intervalul , n
2 . Pentru a iei n

dintr-un minim local se recomand adugarea de valori mici, aleatoare, la vectorul pondere. Dac noua stare este suficient de

62 ndeprtat de acest minim, instruirea se va desfura ntr-o alt direcie. c) Schimbarea numrului de neuroni ascuni. Se recomand ca numrul iniial al lor s fie aproximativ

mn .

3.4.2. VARIANTA GLOBAL

Varianta anterioar a algoritmului asigur ajustarea serial a ponderilor, adic ponderile se modific dup prelucrarea fiecrui vector din mulimea de instruire. Dei aceast variant este sensibil la erorile din datele de instruire, ea este recomandat n rezolvarea problemelor pentru care mulimea de antrenament nu este cunoscut n ntregime la nceputul nvrii. Dac mulimea de antrenament este cunoscut, se recomand varianta global care presupune c ajustarea ponderilor se realizeaz dup epuizarea mulimii de antrenament. nseamn c n algoritmul anterior se inverseaz paii 6 i 7 iar ajustarea ponderilor (deoarece
k ,1 k ,2 k ,L k ) se face astfel wij = wij = L = wij = wij

1,l k k wij := wij + c ik ,l y k . j


l =1

Varianta global nu este sensibil la erorile din multimea de antrenament, realizndu-se o mediere a datelor; n plus, ea nu depinde de ordinea n care se prezint perechile de instruire.

63

3.4.3. METODA MOMENTULUI

Rumelhart, Hinton i Williams [45] au propus adugarea la regula de corecie a unui termen, numit moment, care este proporional cu modificarea anterioar a ponderii i face ca noua corecie s se fac n aceeai direcie cu cea precedent. Regula de corecie este
k ,l 1, l k ,l wij (t ) = c ik , l y k + bwij (t 1) j

pentru varianta serial i


1, l k k wij (t ) = c ik , l y k + bwij (t 1) j l =1 L

pentru varianta global. Coeficientul b al momentului se alege, de obicei, ca fiind 0.9 ; aceast valoare a fost determinat experimental. Tot experimental s-a stabilit c metoda momentului este benefic pentru unele probleme, n timp ce pentru altele performana algoritmului scade. Ea se recomand pentru cazul cnd funcia eroare prezint vi adnci i nguste susceptibile s conin puncte de minim. Folosind metoda momentului, reeaua tinde s exploreze fundul vilor i nu s sar de o parte i de alta a lor. n prezena unor astfel de suprafee trebuie efectuai pai mici pentru a rmne n vecintatea punctului de minim. Dar, astfel de pai au drept consecin o evoluie lent a procesului de nvare. Adugarea

64 termenului moment mrete paii efectuai pe suprafaa de eroare, fr s se treac peste punctele de minim.
3.4.4. METODA NETEZIRII

n 1987, Sejnowski i corecie este

Rosenberg [48]

au

generalizat

metoda momentului, propunnd o netezire exponenial. Regula de


k ,l k ,l 1, l wij (t ) = c bwij (t 1) + (1 b ) ik , l y k j

i respectiv
L 1,l k k wij ( t ) = c bwij ( t 1 ) + (1 b ) ik ,l y k j l =1

unde b [0, 1] este coeficientul de netezire. Dac b = 0 , se obine algoritmul standard de propagare napoi.
3.4.5. PROPAGAREA ROBUST

Punctele izolate pot altera rezultatele algoritmului standard de propagare napoi, n sensul c se poate ncetini convergena sau se poate ajunge ntr-un minim local. Eroarea ptratic tinde s dea importan prea mare punctelor izolate din mulimea de instruire, de aceea se prefera eroarea absolut

eik ,l = d il yik ,l .
i =1 i =1

nk

nk

65 Propagarea robust nlocuiete eroarea e lj , respectiv eik ,l , cu s e lj , respectiv s eik , l , unde s este o funcie de suprimare a erorii. O astfel de funcie este s ( x) = 2x . Algoritmul de propagare napoi se 1+ x2

( )

( )

modific nlocuind la Pasul 7 valoarea e lj = d lj y lj din lj prin

s e lj .
3.4.6. METODA ADAPTIV

( )

Metoda adaptiv este o tehnic de accelerare a convergenei propus de Silva i Almeida [49, 50] i const n utilizarea unui parametru individual cij pentru fiecare pondere i fiecare iteraie k :
k k 1 E E c k 1u dac >0 wij wij ij k cij = k k 1 k 1 E E <0 cij d dac wij wij k k wij = cij

E wij

u > 1 i d < 1 .

Ideea de baz a acestei metode este: dac dou actualizri succesive ale unei ponderi au fost efectuate n aceeai direcie atunci

66 valoarea pasului trebuie crescut iar dac actualizrile au fost efectuate n direcii opuse atunci valoarea pasului trebuie micorat. Aceast tehnic este util pentru curbele care sunt paralele sau aproape paralele cu o ax, fiind mai puin eficient pentru curbele care sunt oblice cu toate axele. n acest caz se recomand nlocuirea relaiei precedente de actualizare a ponderilor cu
k z ij =

E k 1 + z ij wij

k k k wij = cij zij .

Parametri au urmtoarele semnificaii: - u este multiplicatorul de cretere a valorii ratei de instruire - d este multiplicatorul de micorare a dimensiunii ratei de instruire - este parametrul moment i se utilizeaz, de obicei cu valorile u = 1.2 , d = 0.8 i = 0.9 .
3.4.7. CRETEREA ROBUSTEEI

Valoarea constantei de instruire trebuie s fie suficient de mic pentru ca algoritmul s convearg. Pe parcursul nvrii, eroarea poate s creasc; n acest caz se impune ntoarcerea la pasul cu cea mai mic eroare i modificarea unor parametri. Se execut operaiile: ntoarcerea la mulimea de ponderi care a produs cea mai mic eroare

67 modificarea valorii (sau a valorilor, n cazul metodei adaptive) ratei de nvare prin nmulirea cu un factor r < 1 ; de obicei se lucreaz cu r = 0.5 . k 1 1 se seteaz z ij (sau k ij dac nu sunt folosite tehnici adaptive)

la valoarea zero. Dup aceste modificri se execut o nou epoc de antrenament. Dac eroarea crete n continuare, se repet procedura anterioar pn cnd este observat o scdere a erorii. Totui, o toleran este permis n compararea funciilor eroare, adic o cretere mic este permis fr s se ia msurile specificate anterior. Metoda specificat duce la creterea robusteei nvrii iar cnd este combinat cu tehnici adaptive duce la un algoritm foarte eficient.
3.4.8. REGULARIZAREA

Regularizarea este o metod care const n adugarea unui termen de regularizare la funcia de optimizat Etotal = E + Ereg unde E este funcia de optimizat, E reg este termenul de regularizare, este parametrul care controleaz regularizarea iar Etotal este funcia total ce urmeaz s fie optimizat. Termenul de regularizare are rolul de a netezi funcia generat de reea la ieire. Acest termen ar trebui s aib valori mici pentru vectorii pondere care genereaz ieiri netede i valori mari pentru vectorii care

68 genereaz ieiri ce nu sunt netede. Unul dintre cei mai utilizai termeni de regularizare este [34] :
2 E reg = wij , i, j

folosirea sa fiind justificat de faptul c ponderi mici tind s produc funcii cu schimbri mici, deci netede. Folosirea acestui termen modific componentele gradientului dup regula
Etotal E = + wij . wij wij

Un alt termen de regularizare a fost propus de Williams [56]:


E reg = wij .
i, j

Utilizarea sa conduce la
Etotal E = + sign(wij ) . wij wij