Documente Academic
Documente Profesional
Documente Cultură
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 .
( )
x1
w11 y1
x2
M M M M
ym wmn
xn
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
innd seama de definiia funciei de activare, rezult c se dorete cutarea unui vector pondere w astfel nct
),
T
30
Pasul 1. Se alege constanta de instruire c > 0 Pasul 2. Iniializri: E := 0, k := 1 , l := 0 , w se iniializeaz cu
(x
,d k ) , notat pentru
pentru a evita ciclarea algoritmului n cazul cnd problema nu este liniar separabil.
Exemplu 2.1. Instruire folosind algoritmul perceptronului.
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
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
32
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
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
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*
( )
( )
xk > .
Deci
(w ) w = (w ) w
k +1 T * k T
+ cd k w*
( )
x k > wk
( )w
T
+ .
(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 .
w1 + kM .
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
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
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
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
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
( ) ( )
k +1
k k k w + cd x , v = 1 = k v=0 w ,
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
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
x(t )
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
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
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.
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
))
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
( )) ( )
)) (
) (
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
) (
44
) (
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
{(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
45
Pasul 4. Se corecteaz ponderile
( )
2
E := E +
1 dy 2
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
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
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:
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.