Sunteți pe pagina 1din 9

7.

Algoritmul de retropropagare
7.1. nvare bazat pe descreterea gradientului n continuare este prezentat o demonstraie a corectitudinii algoritmului de retropropagare bazat pe reducere la o problem de etichetare a unui graf. Tehnica este mai general dect metoda analitic uzual care opereaz doar asupra unor reele cu topologii speciale. n plus, este sugerat o manier de implementare n care se folosete comunicarea local ntre diferite sarcinide calcul. 7.1.1.Funcii de activare difereniabile Algoritmul de retropropagare caut punctul de minim al funciei de eroare n spaiul ponderilor care coresounde unei soluii a problemei de nvare. Deoarece metoda utilizeaz gradientul funciei de eroare, funcia de eroare trebuie s fie continu i difereniabil. O funcie de activare larg utilizat este sigmoida: 1 sc : R (0,1) , sc ( x) = . 1 + e cx Constanta c se poate alege arbitrar iar n reelele neuronale stochastice, 1 / c se numete parametru termic. Graficul sigmoidei pentru diverse valori ale lui c este artat n fig. 1.
1 c=1 c=2 c=3

Fig.1 Graficul sigmoidei Derivata funciei sigmoidei n raport cu x este c e cx sc ' ( x ) = = c sc ( x)(1 sc ( x) ) 2 1 + e cx i poate fi calculat cu dou evaluri ale lui sc . O funcie de activare simetric este uneori de preferat n probleme de nvare. O astfel de funcie este S (x) i este dat de

1 e x . 1 + ex Aceast funcie conduce la funcia tangent hiperbolic pentru cazul n care x este nlocuit cu x / 2 . O alt funcie care poate fi utilizat ca funcie de activare este funcia ramp definit prin a , x (, a] r ( x) = , x (a, a) a, x [a,+) sau 1 , x (, a ] x r ( x) = , x ( a, a ) . a 1, x [a,+) Algoritmul de retropropagare rmne aplicabil i n cazul altor tipuri de funcii de activare derivabile. Dac funcia de activare este derivabil, iar funcia de integrare asociat fiecrui nod este suma ponderat a intrrilor n acel nod atunci funcia de eroare va avea de asemenea aceast proprietate. Deoarece n timpul nvrii este urmat direcia gradientului pentru a gsi minimul funciei de eroare este important ca s nu existe regiuni n spaiul ponderilor pentru care funcia de eroare este plat. Cum derivata sigmoidei este pozitiv panta funciei de eroare furnizeaz o descretere mai mic sau mai mare care poate fi urmat n procesul de cutare. S ( x) = 2s1 ( x) 1 =
7.1.2.Regiuni n spaiul intrrilor Valorile funciei sigmoide sc sunt ntre 0 i 1,
x

lim S c ( x) = 0 iar

lim S c ( x) = 1 . Date ponderile w1 ,..., wn asociate intrrilor x1 ,..., xn n unitate

n unitatea curent (v. fig. 2) i nclinaia , sigmoida ofer ca rezultat 1 y= . n c wi xi x i =1 1+ e w x1 1 0 wn xn 1 Fig.2. Unitatea curent O excitaie w1 x1 + ... + wn x n mai mare conduce la apropierea ieirii de 1. Pentru o reprezentare vizual, s considerm cazul n = 2 . Deoarece funcia s
2

...

este inversabil, pentru orice (0,1) exist un unic = s 1 ( ) . Pentru ponderile w1 i w2 date, s considerm intrrile ( x1 , x2 ) R 2 pentru care w1 x1 + w2 x2 = . Aceste puncte sunt situate pe dreapta (d ) de ecuaie w1 x1 + w2 x2 = + .Direcia acestei drepte este cea a vectorului

( ( + ) / w1 ,( + ) / w2 )

care este ortogonal pe direcia vectorului

ponderilor ( w1 , w2 ) . Dreapta (d ) mparte spaiul intrrilor n dou semispaii P i N . s x 2 1 (d) sigmoida + P w vector ponderi 2
N + w1 x 1 0 1 2

Fig. 3. Corespondena ntre o valoare a sigmoidei i un plan separator Pentru punctele ( x1 , x2 ) din semispaiul P avem w1 x1 + w2 x2 > + , iar pentru perechi ( x1 , x2 ) din N are loc inegalitatea w1 x1 + w2 x2 < + . Fie

= w1 x1 + w2 x2 > , = w1 x1 + w2 x2 < . Cum funcia

este

monoton, din < < rezult c s ( y ) < < s ( y ) . Aadar, trecerea unei intrri din semispaiu semiplanului N n P va duce la deplasarea ieirii unitii de la stnga valorii ctre dreapta acestei valori. Aceast separare are loc pentru fiecare (0,1) n mod continuu. Separarea intervalului (0,1) printr-o valoare (0,1) are un corespondent unic ntr-o dreapt separatoare n spaiul intrrilor. Aceasta sugereaz o mprire a spaiului de intrare n clase continue (v. fig. 4). Cu ct valoarea lui c este mai mare cu att aceast separare este mai corect, mai rafinat.

pondere

Fig. 4. mprirea spaiului de intrare


7.1.3.Minime locale ale funciei de eroare Dei prezint avantaje, utilizarea funciei de activare de tip sigmoidal conduce uneori la efecte negative cum ar fi apariia minimelor locale ale funciei de eroare care nu ar apare dac s-ar utiliza alt tip de funcie. Dac pe suprafaa de eroare exist o vale i dac cutarea ncepe ntr-o astfel de vale atunci algoritmul nu va converge la minimul global. Adesea, minime locale apar atunci cnd valorile dorite la ieiri sunt altele dect 0 i 1. Astfel, dac o reea pentru calculul funciei XOR este antrenat pentru o pondere la ieire de 0,9 n loc de 1 pentru intrrile (0,1) i (1,0) , atunci pe suprafaa graficului funciei de eroare apar denivelri n jurul crora pot s apar minime locale. 7.2.Reele generale unidirecionale n continuare se va arta modul n care algoritmul de retropropagare combin calculul gradientului cu o problem de etichetare a unui graf. 7.2.1.Problema de nvare O reea neuronal unidirecional este un digraf aciclic ale crui noduri sunt uniti computaionale i ale crui arce transmit informaia numeric de la un nod la altul. Fiecare unitate de calcul poate evalua o singur funcie primitiv depinznd de intrrile unitii. n esen, reeaua este o nlnuire de compuneri de funcii care transfer un vector de intrare ntr-unul de ieire, perechea celor vectori fiind un model al dependenei. Reeaua este o implementare a unei funcii compuse definit pe spaiul intrrilor cu valori n spaiul ieirilor, funcie ce se va numi funcie de reea. Problema de nvare const n determinarea ponderilor astfel nct funcia reea aproximeaz ct mai precis o funcie f dat, funcia f fiind dat prin exemple. Fie o reea unidirecionat cu n intrri i m ieiri. Ea poate conine orice numr de uniti ascunse i orice model de conectare unidirecional. Fie un set de antrenare {( x1 , t1 ),..., ( x p , t p )} format din p perechi de vectori n -

dimensionali x1 ,..., x p i m -dimensionali, t1 ,..., t p , numite modele de intrare4

ieire. S presupunem c funciile primitive din fiecare nod sunt continue i difereniabile. Ponderile muchiilor sunt numere reale alese la ntmplare. Atunci cnd la intrare se aplic xi , reeaua va produce la ieire un vector oi care difer n general de ieirea int t i . Scopul este de a face ca oi s fie egal cu t i sau ct mai apropiat de aceast valoare, i = 1,..., p , prin utilizarea unui algoritm de nvare. Aceasta se exprim prin minimizarea funciei de eroare a reelei 1 p 2 E = oi t i . 2 i =1 Dup minimizarea acestei funcii, reelei i sunt prezentate noi modele de intrare i dorim ca ea s efectueze o interpolare. Reeaua trebuie s recunoasc dac noul vector de intrare este similar cu un model nvat i s produc o ieire similar celei din modelul nvat. n continuare se va descrie un mod recursiv de a calcula gradientul funciei de eroare
Primul pas n optimizare este extinderea reelei astfel nct aceasta s calculeze funcia de eroare (v. fig.5). Componentele vectorului de intrare xi sunt xi1 ,...xin , ieirea reelei oi are componentele oi1 ,..., oim , iar vectorul int t i are componentele t i1 ,..., t im .
intrari xi1 iesiri oi 1 straturi ascunse oi 2 1 / 2(oi 2 t i 2 ) 2 Ei 1 / 2(oi1 ti1 ) 2

xi2

xin

oi m

1 / 2(oim tim ) 2

Fig. 5. Reeaua extins pentru calculul erorii 1 2 Reeaua extins din fig.5 calculeaz termenul t i = oi t i din E . Pentru 2 fiecare pereche ( xi , t i ) se construiete o extensie similar i o unitate de ieire sumeaz ieirile extensiilor pentru a da pe E = E1 + ... + E p . n acest fel s-a obinut o reea ce poate calcula eroarea total pentru un set de antrenare. Ponderile din reea sunt parametri ce vor fi modificai pentru a minimiza E .
5

Deoarece E se calculeaz prin compunere de funcii difereniabile, ea este la rndul ei difereniabil n raport cu cele l ponderi w1 ,..., wl ale reelei. Minimizarea lui E se poate face cu o metod iterativ de tip descretere a gradientului, care reclam calculul gradientului lui E , E E E . E = , ,..., w w wl 2 1 Fiecare pondere este actualizat folosind incrementul E , k = 1,..., l , wk = wk unde > 0 este un parametru numit constant de nvare i care indic lungimea pasului la fiecare iteraie n direcia opus gradientului. Ponderile reelei se vor ajusta n mod iterativ i pe aceast cale ne ateptm s gsim un minim al lui E , acolo unde E = 0 .
7.2.2.Derivatele funciei reea n continuare se prezint o tehnic eficient pentru calculul gradientului unei funcii reea unidirectionale n raport cu ponderile reelei. Pentru aceasta s indicm pentru fiecare nod structura lui compus ca n vezi fig.6.

Fig.6. Structura compus a unui nod Partea din dreapta calculeaz funcia primitiv a acestui nod, n cea din stnga derivata funciei primitive n aceeai valoare a argumentului. De asemenea, funcia de integrare poate fi separat de cea de activare diviznd fiecare nod (v. fig. 7). Primul nod calculeaz suma intrrilor, iar al doilea funcia de activare s . Derivata lui s este s ' , iar derivata parial a sumei celor n argumente n raport cu oricare dintre ele, este egal cu 1. Rolul acestei separri este doar de a simplifica analiza.

Fig.7.Separarea funciei de integrare de cea de activare


6

Reeaua are dou etape de lucru. n cadrul primei etape numit propagare direct, informaia vine din stnga i fiecare unitate calculeaz propria funcie primitiv depunnd valoarea acesteia n partea dreapt, precum ivaloarea derivatei acesteia pe care o depune n partea stng. Ambele valori sunt pstrate n unitate dar numai cea a funciei este transmis la dreapta ctre alte uniti de calcul. n etapa a doua, numit de retropropagare, execuia se face napoi i sunt utilizate valorile memorate n etapa anterioar. n continuare discutm trei cazuri posibile: Compunerea a dou funcii. Compunerea a dou funcii este ilustrat n fig.8(a). n prima etap, se calculeaz y = g ( x) , g ' ( x) i f ' ( y ) . Starea dup execuia pasului este artat n fig.8(b). (a)

g g

compunere de functii
(b)

g(x) g

f(g(x)) f

f(g(x))

retropropagare

(c)

f(g(x))g(x)

g(x) g

f(g(x)) f

Fig.8. Compunerea a dou funcii n etapa de retropropagare, inputul venit din dreapta este egal cu 1. nformaia provenind din dreapta ntr-un nod se nmulete cu valoarea din partea stng a nodului. Acest rezultat se numete valoarea de traversare a nodului. n fig.8(c) este artat rezultatul asupra reelei celor dou noduri. Valoarea de traversare este f ' ( g ( x)) g ' ( x) , adic tocmai ( f , g )' ( x) . Pasul de retropropagare implementeaz n acest caz regula de derivare a funciilor compuse. Adunarea factorilor. Acest caz corespunde la adunarea a dou funcii primitive f1 i f 2 , ca n fig 9(a). Derivata parial a sumei n raport cu orice intrare este 1. n etapa direct reeaua calculeaz f 1 ( x) + f 2 ( x) . n
7

retropropagare, constanta 1 este trimis prin partea dreapt. Toate arcele ce intr n nod emit valoarea de traversare ctre unitile conectate n stnga. Nodul suplimentar din stnga a fost introdus pentru a realiza adunarea funciilor derivate. Acolo unde dou drumuri de la dreapta la stnga se ntlnesc, valorile de traversare venite pe aceste drumuri se adun (v. fig. 9(b)).

f1 (x) f1

conpunere de functii

(a)

1 1 f2 (x) f2

f1(x)+ f2 (x)

retropropagare

f1' ( x ) f1 1 1 f 2' ( x ) f 2

(b)

f ( x) + f ( x)
' 1 ' 2

Fig.9. Adunarea funciilor

calcul direct

(a)

wx

retropropagare

(b)

Fig. 10. Arce ponderate Arce ponderate. Cazul arcelor ponderate ar putea fi tratat ca un caz particular de compunere, dar este mai uor s fie considerat direct. n etapa direct, informaia de intrare x este nmulit cu ponderea w (v. fig. 10(a)), rezultatul la ieire fiind w x . n retropropagare, valoarea de traversare 1 se nmulete cu w , rezultatul fiind derivata lui w x n raport cu x (fig. 10(b)). Aadar, muchiile ponderate sunt utilizate la fel n ambele etape, nmulind cu w informaia ce intr prin stnga sau dreapta.

S-ar putea să vă placă și