Sunteți pe pagina 1din 22

2

REELE CU UN SINGUR NIVEL


2.1. PERCEPTRONUL SIMPLU CU O SINGUR IEIRE
Perceptronul simplu este cea mai studiat reea neuronal, proprietile ei putnd fi regsite la orice alt reea. Perceptronul simplu nu are straturi ascunse i folosete nvarea supervizat. Interesul pentru perceptronul simplu este i de natur istoric: el reprezint modelul din care s-au dezvoltat toate celelalte reele neuronale. Considerm o reea de tipul celei din Figura 2.1, unde wij reprezint ponderea intrrii
T

j ctre neuronul de ieire i iar

wi = (wi1 , L, wim ) este vectorul ponderilor ctre neuronul i .

Semnalul de nvare este

r = d i yi
cu yi = sign wiT x i d i rspunsul dorit pentru neuronul de ieire i , cnd la intrare se prezint vectorul x .

( )

28 Conform formulelor (1.1) - (1.2), ponderile se modific astfel:

wi := wi + c(d i sign(< wi , x > )) x wij := wij + c(d i sign(< wi , x > )) x j


unde i = 1, L, m,

j = 1, L, n, c > 0 este rata de nvare iar (x, d )

este perechea de instruire.

x1

w11 y1

x2
M M M M

ym wmn

xn

Figura 2.1 Reea feedforward uninivel innd seama c


+ 1, < wi , x > 0 sign(< wi , x > ) = 1, < wi , x >< 0

rezult

29

2cx, d i = 1, sign(< wi , x > ) = 1 wi = c(d i sign(< wi , x > ))x = 2cx, d i = 1, sign(< wi , x > ) = 1 0, d i = sign(< wi , x > )

adic

wi

se

modific

dac

numai

dac

valoarea

yi = sign(< wi , x > ) , furnizat de reea, este incorect.


Considerm un singur neuron la ieire i (x, d ) o pereche de instruire; vectorul x va aparine uneia din cele dou clase disjuncte
C1 = {x / d = 1}, C 2 = {x / d = 1} .

innd seama de definiia funciei de activare, rezult c se dorete cutarea unui vector pondere w astfel nct

< w, x > 0 pentru orice x C1 i < w, x >< 0 pentru orice x C 2 .


Dac un astfel de vector exist, atunci problema definit de perechile de instruire se numete liniar separabil.
Algoritmul perceptronului
k Fie perechile de instruire (x1 ,d 1 ) , L , (x K ,d K ) cu x k = x1k , L , xn

),
T

d k { 1,1} , k = 1, L, K i L numrul maxim de cicluri de instruire


admise.

30
Pasul 1. Se alege constanta de instruire c > 0 Pasul 2. Iniializri: E := 0, k := 1 , l := 0 , w se iniializeaz cu

valori mici aleatoare


Pasul 3. Se prezint reelei perechea

(x

,d k ) , notat pentru

simplitate (x, d ) i se calculeaz ieirea y


y = sign(< w, x > ) .

Pasul 4. Se modific ponderile


w := w + c(d y ) x

Pasul 5. Se cumuleaz eroarea


E := E + d y

Pasul 6. Dac k < K atunci k := k + 1 i se continu cu Pasul 3; n

caz contrar se merge la Pasul 7


Pasul 7. S-a terminat un ciclu de instruire: l := l + 1 . Dac E = 0 sau
l > L algoritmul se oprete. n caz contrar, se atribuie

valorile E := 0, k := 1 i se iniiaz un nou ciclu de instruire, mergndu-se la Pasul 3.


Observaia 2.1. Condiia de oprire l > L este necesar

pentru a evita ciclarea algoritmului n cazul cnd problema nu este liniar separabil.
Exemplu 2.1. Instruire folosind algoritmul perceptronului.

31 Considerm urmtoarea mulime de instruire Nr 1 2 3 Valori de intrare Valori de ieire -1


T

x1 = (1, 0, 1)

x 2 = (0, 1, 1)

1
T
T

x 3 = ( 1, 0.5, 1)

Lum c = 0.1 i vectorul pondere iniial w 0 = (1, 1, 0 ) . Iteraia 1. Se prezint perechea (x1 , 1):
1 < w , x >= (1, 1, 0 ) 0 = 1 . 1
0 1

Deoarece d 1 = 1 sign(1) se modific ponderile


1 1 0 .8 w = w + 0.1 ( 1 1)x = 1 0.2 0 = 1 0 1 0 .2
1 0 1

Iteraia 2. Intrarea este x 2 iar ieirea dorit este 1 . Se calculeaz valoarea de activare
0 < w , x >= (0.8, 1, 0.2 ) 1 = 1.2 1
1 2

Deoarece 1 = sign(1.2) , nu se corecteaz ponderile; deci w 2 := w1 .

32

Iteraia 3. Intrarea este x 3 iar ieirea dorit este 1.


1 < w , x >= (0.8, 1, 0.2 ) 0.5 = 0.1 1
2 3

Deoarece d 3 = 1 sign( 0.1) se corecteaz ponderile


0 .8 1 0 .6 w = w + 0 .2 x = 1 + 0 .2 0 .5 = 1 .1 0 .2 1 0 .4
3 2 3

Iteraia 4. Intrarea este x 1 iar ieirea dorit este 1


1 < w , x >= (0.6, 1.1, 0.4 ) 0 = 0.2 . 1
3 1

Corecia este necesar, deoarece d 1 = 1 sign(0.2) . Rezult


0 .6 1 0 .4 w = w + 0.1 ( 1 1)x = 1.1 0.2 0 = 1.1 0 .4 1 0 .6
4 3 1

Iteraia 5. Intrarea este x 2 iar ieirea dorit este 1 . Pentru w 4 se calculeaz valoarea de activare

33
0 < w 4 , x 2 >= (0.4, 1.1, 0.6 ) 1 = 1.7 1

Deoarece

d 2 = 1 = sign(1.7 ) nu se corecteaz ponderile; deci

w 5 := w 4 .
Iteraia 6. Intrarea este x 3 iar ieirea dorit este 1 .
1 < w5 , x 3 >= (0.4, 1.1, 0.6 ) 0.5 = 0.75 . 1

Pentru c d 3 = 1 = sign(0.75) , lum w 6 := w 5 . Deoarece < w 6 , x1 >= 0.2 < 0, < w 6 , x 2 >= 1.7 > 0, < w 6 , x 3 >= 0.75 > 0 procesul de nvare s-a terminat. Teorema urmtoare arat c dac problema are soluie atunci algoritmul prceptronului gsete una dintre ele.
Teorema 2.1. Dac problema este liniar separabil atunci

algoritmul perceptronului se termin dup un numr finit de iteraii, prin iteraie nelegnd prelucrarea unei perechi de instruire. Demonstratie. Problema fiind liniar separabil, exist

vectorul w* astfel nct hiperplanul < w* , x >= 0 s separe cele dou

34 clase. Fie (x k , d k ) perechea de instruire de la iteraia k ; renotnd


2c cu c , rezult urmtoarea regul de instruire

k +1

w k + cd k x k , d k w k T x k 0 = T k d k wk x k > 0 w ,

( ) ( )

Evident,

d k w*

( )

x k > 0 ; deci exist > 0 astfel nct cd k w*

( )

xk > .

Deci

(w ) w = (w ) w
k +1 T * k T

+ cd k w*

( )

x k > wk

( )w
T

+ .

Prin inducie rezult

(w ) w > (w ) w
k +1 T * 1T

+ k .

Dac w k +1 w k atunci
w k +1
2

= wk
2

+ 2cd k w k
2

( )

xk + c2 xk
2

wk

+ c2 xk

wk

+M .

Tot prin inducie, obinem


w k +1
2

w1 + kM .

35 Notnd cu k unghiul dintre hiperplanele definite de vectorii w k i

w* obinem
cos k +1 =

(w ) w
k +1 T

k +1

>

(w ) w
1 T

+ k + kM

w*

1 2

Cum cos k +1 1 , am obinut o contradicie; deci exist k * < astfel nct w k = w k finit de pai.
* *

+1

, adic algoritmul converge ntr-un numr

2.2. VARIANTE ALE PERCEPTRONULUI SIMPLU CU O SINGUR IEIRE


n multe probleme de instruire intervin clase de obiecte care nu sunt liniar separabile. Algoritmul perceptronului simplu nu poate fi utilizat pentru astfel de clase. Una din problemele celebre care nu poate fi rezolvat cu perceptronul simplu, pus n eviden de Minsky i Papert, este sau exclusiv (XOR) definit n tabelul urmtor
x1 x2

XOR 0 1 1 0

0 0 1 1

0 1 0 1

36

Reprezentarea n plan a celor patru intrri ale perceptronului arat c nu exist nici-o dreapt care s mpart planul astfel nct punctele

(0, 0) i (1, 1) s fie ntr-un semiplan iar (0, 1) i (1, 0) n cellalt.


2.2.1. ALGORITMUL LUI GALLANT

In

1986,

S.

Gallant

[18]

modificat

algoritmul

perceptronului, fcndu-l aplicabil i pentru clase neseparabile. Ideea algoritmului const n reinerea vectorului pondere care a realizat cea mai lung secven de clasificri consecutive corecte pn la momentul curent i nlocuirea sa cu vectorul curent care a clasificat corect o secven mai lung. Clasificrile eronate determin modificarea vectorului pondere la fel ca n algoritmul perceptronului.
Pasul 1. Se iniializeaz

constanta de instruire: c > 0 numrul iteraiei: k := 1 numrul maxim de iteraii admise: K vectorul pondere iniial: w1 vectorul aproximativ de separare: V := w1 numrul formelor de instruire clasificate corect de vectorul V : nV := 0

Pasul 2. Se repet paii urmtori pn cnd este ndeplinit una din

condiiile:

37 i) vectorul pondere nu s-a schimbat la acest caz s-a obinut un vector de separare ii)
k > K ; s-a obinut un vector aproximativ de separare, V N

iteraii

consecutive, N fiind numrul formelor de instruire; n

Pasul 3. Se iniializeaz numrul formelor de instruire corect

clasificate n := 0
Pasul 4. Se prezint forma de instruire de la iteraia k : x k , d k .

Se determin valoarea
k k T k 1, d w x 0 v= k k T k 0, d w x > 0

( ) ( )

Se modific vectorul pondere cu regula perceptronului

k +1

k k k w + cd x , v = 1 = k v=0 w ,

Pasul 5. Dac v = 0 , atunci n := n + 1, k := k + 1 i se merge la

Pasul 4.
Pasul 6. Se modific vectorul aproximativ de separare

Dac v = 1 atunci se compar lungimea clasificrii realizat de vectorul w k cu cea realizat de vectorul V . i) ii) Dac n nV , se merge la Pasul 7. Dac n > nV se pune nV := n i V := w k

Pasul 7. Se ia k := k + 1 i se merge la Pasul 3.

38

Dac n K iteraii, algoritmul nu a gsit un vector de separare atunci va returna unul aproximativ V , care va clasifica corect primele nV forme de instruire.
2.2.2. PERCEPTRONUL SIMPLU CU REACIE

Pentru a obine structuri neuronale performante este necesar nlocuirea perceptronului convenional cu unul inteligent. Un astfel de model este perceptronul simplu cu reacie (feedback). Exist mai multe metode de a include reacia la nivelul perceptronului: reacie la nivelul activrii locale: valorile de intrare sunt replici ntrziate ale valorilor de activare s

x(t )

s (t )

y (t )

Figura 2.2 Reacie la nivelul activrii locale reacie local la nivelul sinapsei: fiecare funcie sinaptic este modelat printr-o funcie liniar de transfer F1 , L , Fn

39

x1

F1

x2

F2

s (t )

y (t )

M M

xn

Fn

Figura 2.3 Reacie local la nivelul sinapsei reacie local la ieire


s(t ) y(t )

x(t )

SISTEM LINIAR DINAMIC

Figura 2.4 Reacie local la ieire

2.3. PERCEPTRONUL MULTIPLU


Perceptronul multiplu este o reea neuronal care are n neuroni de intrare total interconectai cu cei m neuroni de la ieire. Perceptronul multiplu se utilizeaz pentru rezolvarea problemelor de

40 clasificare multipl, cele m uniti de la ieire permind clasificarea n m clase. Folosim notaiile amintite anterior: w = matricea ponderilor wij = ponderea intrrii j ctre ieirea i wi = (wi1 , L , win ) = vectorul ponderilor spre neuronul de ieire i
T

y i = ieirea neuronului i d i = ieirea dorit pentru neuronul i

2.3.1. NVARE COMPETITIV

Pentru un semnal de intrare x R n se obine ieirea y R m astfel y = wx sau yi =< wi , x >= wij x j , i = 1, L, m
j =1 n

Componenta maxim y j a vectorului y determin indicatorul j al clasei creia i aparine vectorul de intrare x .
Algoritmul de nvare competitiv

Fie

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

, d L )} mulimea de instruire, unde

d i { 1, 2, L, m} este indicatorul clasei creia i aparine x i . Notm

41 cu w k , respectiv cu wik , matricea w , respectiv linia i din matricea


w , la iteraia k .

Pasul 1. Se iniializeaz w1 i indicatorul iteraiei: k := 1


1, 2, L , L} se efectueaz Pasul 2. Pentru fiecare l {

2.1. se determin indicele j al unitii care produce ieirea maxim


l k l wk j x = max wi x i =1,..., m

2.2. dac j = d l , nu se efectueaz nimic dac j d l atunci


+1 l wk = wk j j cx
k +1 k = wd + cx l wd l l

wik +1 = wik pentru i j , d l

Pasul 3. Algoritmul se oprete dac este ndeplinit una din

condiiile: i) ii) la ultima parcurgere a Pasului 2 nu s-a efectuat nicio modificare a ponderilor
k a atins numrul maxim de iteraii admis.

n caz contrar se incrementeaz indicatorul iteraiei


k := k + 1 i se merge la Pasul 2.

42
2.3.2. NVARE CU AJUTORUL REGULII DELTA

Reelele discutate anterior sunt destinate rezolvrii unor probleme de decizie, ieirea fiind indicele unei clase. Ne intereseaz reele care s fie folosite n probleme de aproximare, adic rspunsul s fie chiar semnalul de ieire produs. Cele mai reprezentative reele de acest tip, uninivel i cu funcii de transfer liniare, sunt ADALINE (ADAptive LINear Element), cu o singura ieire, i MADALINE (Multiple ADAptive LINear Element), cu mai multe uniti de ieire. Aceste reele au fost introduse n perioada anilor 1960 de ctre Widrow i Hoff [55]. Considerm mulimea de antrenament

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

,d K ,

)}

unde
k x k = x1k , L, xn

k , d k = d1k , L, d m

, k = 1, L, K .

Ideea de baz n descoperirea regulii de nvare const n a defini performana reelei i a optimiza aceast performan. Putem defini performana ca fiind
1 K E = Ek = d k y k 2 k =1 k =1
K 2

adic
E= 1 K m k d i yik 2 k =1i =1

1 K m k d i f < wi , x k > 2 k =1i =1

))

43 unde i este indicele unitii de ieire, k indexeaz perechea ce trebuie nvat, d ik i respectiv y ik = f < wi , x k > reprezint ieirea dorit, respectiv ieirea reelei, corespunztoare unitii i cnd la intrare se prezint vectorul x k . Vom considera cazul funciilor de transfer continue.

Semnalul de nvare este numit delta i este r = d i f wiT x f ' wiT x . Expresia sa rezult din condiia de minimizare a erorii E . Gradientul lui Ek n raport cu wi este
E k = Ek = d ik f wiT x k f ' wiT x k x k , wi

( )) ( )

)) (

componentele sale fiind Ek = d ik yik f ' wiT x k x k j, wij

) (

j = 1, L, n

i reprezint panta de direcie wij . Alegem wij astfel nct s fie proporional cu panta negativ (pentru a minimiza pe Ek ) i obinem wij = c d ik yik f ' wiT x k x k j, sau

) (

j = 1, L, n

wi = c d ik yik f ' wiT x k x k . Notnd

) (

44

ik = d ik yik f ' wiT x k

) (

i innd seama de formula (1.2), rezult regula delta de nvare wi := wi + c ik x k sau, pe componente, wij := wij + c ik x k j pentru i = 1, L, m i j = 1, L, n .
Algoritmul delta

Se dau perechile de instruire

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

,d K

)} ,

unde
k x k = x1k , L, xn

k i d k = d1k , L, d m

, k = 1, L, K .

Pasul 1. Se aleg c > 0, Emax > 0 Pasul 2. Se fac iniializri: k := 1, eroarea total E := 0 iar ponderile

wij primesc valori mici aleatoare.


Pasul 3. Se prezint perechea de intrare x := x k , d := d k i se

calculeaz ieirea reelei y = ( y1 , L , y m ) ,


T

yi = f (< wi , x >) = f ( wiT x) pentru i = 1, L, m .

45
Pasul 4. Se corecteaz ponderile

wij := wij + c(d i yi ) f ' wiT x x j .


Pasul 5. Se calculeaz eroarea total

( )
2

E := E +

1 dy 2

Pasul 6. Dac k < K atunci k := k + 1 i se continu cu Pasul 3; n

caz contrar se merge la Pasul 7.


Pasul 7. S-a finalizat un ciclu de instruire. Dac E < E max ,

nvarea s-a terminat. Dac E > E max atunci se ncepe un nou ciclu de instruire: E := 0 , k := 1 i se merge la Pasul 3. n cazul cnd funcia de activare este liniar, f ( x) = x, suprafaa de eroare este paraboloidal; prin urmare are un minim unic. Ne vom referi n continuare la acest caz, numindu-l algoritmul delta liniar. Referitor la convergena acestui algoritm au loc urmtoarele observaii. 1) Constanta de instruire c are un rol foarte important n controlarea convergenei. Dac c are o valoare prea mic, atunci vectorul pondere se mic prea ncet pe suprafaa de eroare, adic instruirea devine prea lent. Dac c este prea mare, atunci algoritmul poate s nu sesizeze punctele de minim, vectorul w micndu-se haotic pe suprafaa paraboloidului. n acest caz algoritmul poate s nu convearg niciodat, indiferent de numrul de iteraii. Viteza de

46 convergen poate fi controlat prin alegerea ratei de nvare. De obicei, se ia c [0.01, 10], valoarea cea mai utilizat fiind c = 0.1. De asemenea, iniializarea ponderilor se face, de obicei, cu valori aleatoare din intervalul [0, 1] sau [ 1, 1] . 2) Dac 1 2 L n > 0 sunt valorile propri ale matricei de autocorelaie a vectorilor de intrare, Widrow a demonstrat c algoritmul converge dac rata de instruire c satisface inegalitatea 0<c< 1

. n cazul cnd la fiecare iteraie t se folosete o alt rat

de instruire ct , Widrow i Hoff au artat c Dac matricea de corelaie este nesingular i ratele de nvare satisfac condiiile
T T T

lim

ct = + ,
t =1

ct2 < + T lim


t =1

atunci algoritmul delta liniar genereaz un ir de valori w t care converg n medie ptratic la soluia global w . Condiiile de mai sus sunt satisfcute dac lum
*

( )

t 1

1 ct = , t = 1, 2, L t sau c ct = , t = 1, 2, L . t Algoritmul delta neliniar este utilizat, cel mai des, cu urmtoarele funcii de activare:

47 sigmoidal unipolar: f ( x) = 1 , f ' ( x) = f ( x)(1 f ( x) ) 1 + exp( x)

sigmoidal bipolar: f ( x) = 2 2 1, f ' ( x) = (1 f ( x) ) . 1 + exp( x)

Totui, datorit neliniaritii funciilor de activare, suprafaa de eroare nu mai este un paraboloid, i , deci, poate avea mai multe minime. Din acest motiv algoritmul nu mai garanteaz atingerea minimului global, putndu-se bloca ntr-un minim local.