You are on page 1of 59

RECUNOASTEREA FORMELOR

(1/2)

PATTERN-URI SI CLASE DE PATTERN-URI


RECUNOASTERE BAZATA PE METODE TEORETICE DE
DECIZIE
Potrivire ("matching")
Clasificatori statistici optimi
Retele neurale

Recunoasterea obiectelor / formelor ("pattern/object recognition"):


-tehnici de teoria deciziei (pattern-uri descrise cu descriptori
cantitativi: lungime, arie, textura);
-tehnici structurale (pattern-uri descrise cu descriptori calitativi:
descriptori relationali).
Concept central: invatarea din esantioane!

PATTERN-URI SI CLASE DE PATTERN-URI


-pattern ~ aranjament de descriptori (caracteristici);
-clasa de pattern-uri = familie de pattern-uri cu anumite proprietati comune
=> clasele notate 1 , 2 , ... , W (W = numarul de clase);
-recunoasterea de forme = asignarea formelor la clasele de care apartin.
Reprezentari pentru forme:
-vectori (pentru descriptori cantitativi);
-siruri (pentru descriptori structurali);
-arbori (pentru descriptori structurali).
Reprezentare ca vector:

x1
x
2

x
....

xn

xi = descriptorul i.
Varianta: x = ( x1, x2,... , xn )T.

Exemplu: clasificarea a trei tipuri de flori de iris (Fisher, 1936) in functie de


lungimile si latimile petalelor.

Concluzie: separabilitatea claselor este puternic influentata de alegerea


descriptorilor (problema selectiei caracteristicilor).

Exemplu: clasificarea unor forme cu zgomote (reprezentare prin


semnatura => semnal 1-D), esantionare la valori specificate => vectorii de
forma cu x1 = r(1), x2 = r(2), ... , xn = r(n) => puncte in spatiul Euclidian ndimensional (clasele ~ grupari de puncte "nori" in acest spatiu).

Varianta: amplitudinile inlocuite cu primele n momente statistice pentru fiecare


semnatura.

In anumite aplicatii: caracteristicile formelor sunt cel mai bine descrise


prin relatii structurale. Exemplu: recunoasterea de amprente (proprietatile
proeminentelor: terminare abrupta, unificare, segmente deconectate).
=> descriptori siruri (exemplu: descrierea formei in trepte prin
...ababababab...);
=> descriptori arbore (majoritatea schemelor de ordonare ierarhice).
Exemplu: imagine din satelit (centrul orasului cu constructii aglomerate si
zona rezidentiala inconjuratoare) => descriere arbore:

RECUNOASTERE BAZATA PE METODE TEORETICE DE


DECIZIE
-utilizeaza functii de decizie (discriminante).
Fie:
x = ( x1, x2,... , xn )T vector de forma;
W clase de forme: 1 , 2 , ... , W ;
=> este necesar sa se gaseasca W functii de decizie d1(x),
d2(x), ... , dW(x), cu proprietatea ca daca o forma x apartine clasei i , atunci
di(x) > dj(x)
j = 1, 2, ... , W; j i.
Granita de decizie separand clasele i si j este data de valorile lui x
pentru care:
di(x) - dj(x) = 0
Pentru doua clase: o singura functie dij(x) = di(x) - dj(x) = 0:
dij(x) >0 => x i
dij(x) <0 => x j.

Potrivire ("matching")
fiecare clasa ~ vector de forma prototip
=> forma necunoscuta asignata clasei celei mai apropiate (pe baza
unei metrici predefinite).

Clasificator de distanta minima


prototipul fiecarei clase = vectorul medie a formelor clasei respective:

1
mj
Nj

j 1,2,..., W

distanta Euclidiana ~ apropierea fata de o clasa => calcularea distantelor:


Dj(x) = x - mj

j = 1, 2, .. , W

(unde a =(aTa)1/2 este noma euclidiana) => x i daca Di(x) minim.


Selectarea distantei minime ~ evaluarea functiilor:
dj(x) = xT mj mjT mj

j = 1, 2, ... , W

x i daca di(x) maxim (~ functie de decizie).


Granita de decizie intre clasele i si j :
dij(x) = di(x) - dj(x) = xT (mi - mj ) (mi - mj ) T (mi - mj ) = 0
(bisectoarea perpendiculara a segmentului unind mi si mj).
Ex: n = 2 bisectoarea ~linie, n = 3 bisectoarea ~ plan, n > 3 bisectoarea ~
hiperplan.

Aplicatie. doua clase de forme 1 si 2 , cu vectorii medie m1 = (4.3,


1.3)T si m2 = (1.5, 0.3)T. Functiile de decizie:
d1(x) = xT m1 m1T m1 = 4.3 x1 + 1.3 x2 10.1
d2(x) = xT m2 m2T m2 = 1.5 x1 + 0.3 x2 1.17
ecuatia granitei:
d12(x) = d1(x) d2(x) = 2.8 x1 + 1.0 x2 8.9 = 0

x 1 => d12(x) > 0, x 2 => d12(x) < 0

Aplicatie. Sistem de citire a caracterelor stilizate American Banker's


Association E-13B (14 caractere, grid 9x7, cerneala magnetica).
Caracterele scanate pe orizontala => semnal electric 1-D ~rata de crestere sau
descrestere a ariei caracterului de sub capul de citire.
Clasificator de distanta minima: se memoreaza valorile pentru fiecare forma de
unda, fiecare set de esantioane reprezentand un vector prototip mj , j = 1, 2, ... ,
14.
Caracter necunoscut: scanat vector x => x j pentru:
dj(x) = xT mj mjT mj
maxim.

j = 1, 2, ... , 14

Potrivire prin corelatie


-potrivirea unei subimagini w(x, y) de dimensiune JxK in cadrul unei
imagini f(x, y) de dimensiune MxN.
Corelatia dintre f(x, y) si w(x, y) este data de:

c( x, y ) f ( s, t ) w( x s, y t )
s

pentru x = 0, 1, 2, ... , M-1 si y = 0, 1, 2, ... , N-1 (insumarea facuta peste


regiunea de imagine unde w si f se suprapun).

Exemplu: originea lui f in coltul stanga-sus si originea lui w in centru.

c maxim => pozitia unde w se potriveste cel mai bine cu f.

Aplicatie. (a) imaginea f(x, y); (b) w(x, y); (c) coeficientul de corelatie
afisat ca o imagine => valoarea maxima (cea mai luminoasa) ~ cea mai buna
potrivire.

a)

b)

c)

Clasificatori statistici optimi


Fundamentare
-probabilitatea ca o forma x i = p(i /x);
- pierdere Lij = decizia gresita x j , de fapt x i
-x poate sa apartina oricareia din cele W clase => pierderea medie prin
asignarea lui x la clasa j (risc mediu conditional):
W

r j (x) Lkj p ( k / x)
k 1

Teoria probailitatilor: p(A/B) = [p(A)p(B/A)]/p(B) =>

1 W
r j ( x)
Lkj p(x / k ) P ( k )

p(x) k 1
p(x /k) =functia de densitate de probabilitate a formelor din clasa k ;
P(k) = probabilitatea de aparitie a clasei k .

1/p(x) pozitiv si comun tuturor rj(x), j = 1, 2,... , W se neglijeaza.


W

r j (x) Lkj p (x / k ) P ( k )
k 1

calculeaza r1(x), r2(x), ..., rW(x) => x i cu ri(x) minim => pierderea medie
totala minima.
Clasificatorul care minimizeaza pierderea medie totala = clasificator Bayes.
x asignat la clasa i , daca ri(x) < rj(x), pentru j = 1, 2,... , W, j i, adica:
W

L
k 1

ki

p (x / k ) P( k ) Lqj p (x / q ) P ( q )
q 1

pentru toti j , j i. Pierderea pentru o decizie corecta este zero, iar pentru o
decizie incorecta se atribuie o aceeasi valoare > 0 (ex. 1), functia de pierdere
devine:
Lij = 1 ij
unde ij = 1 pentru i = j si ij= 0 pentru i j =>
W

r j (x) (1 kj ) p(x / k ) P ( k ) p(x) p(x / j ) P( j )


k 1

x asignat la clasa j daca pentru toate ji :

p (x) p (x / i ) P ( i ) p (x) p (x / j ) P ( j )
sau echivalent

p (x / i ) P ( i ) p (x / j ) P ( j )
Observatie: clasificatorul Bayes pentru o functie de pierdere 0-1 este chiar
calculul functiilor de decizie de forma:

d j (x) p (x / j ) P( j )

j 1,2,...,W

x j cu dj(x) maxim.
Cea mai utilizata forma pentru p(x/j) = functia de densitate de
probabilitate Gaussiana.

Clasificator Bayes pentru clase de forme Gaussiene


Problema 1-D (n = 1), cu doua clase (W = 2), densitati Gaussiene,
mediile m1 si m2, deviatiile standard 1 si 2.
Functiile de decizie Bayes:

d j ( x) p( x / j ) P( j )
(formele sunt scalari, notati cu x).

1
2 j

( xm j )2

2 2j

P( j )

j 1,2

Functiile de densitate de probabilitate a celor doua clase:

Granita = un singur punct x0, pentru care d1(x0) = d2(x0) .


Daca P(1) = P(2) = (cele doua clase au probabilitati egale de
aparitie) => granita de decizie x0 pentru care p(x0 /1) = p(x0 /2) =>
intersectia celor doua functii de probabilitate.
x> x0 => x 1
x< x0 => x 2

In cazul n-dimensional, densitatea Gaussiana a vectorilor in clasa j de


forme:

1
p(x / j )
e
n/2
1/ 2
(2 ) | C j |

1
( x m j )T C j 1 ( x m j )
2

fiecare densitate complet specificata prin vectorul medie


mj = Ej {x}
si matricea de covarianta
Cj = Ej {(x mj)(x mj)T}
unde
Ej ~ valoarea asteptata a argumentului peste formele din clasa j;
| Cj | = determinantul matricii Cj .

valorile asteptate valorile medii:

1
mj
Nj
Cj

1
Nj

x xT m j m j

x j

(Nj = numarul de forme din clasa j).


Matricea de covarianta: simetrica.
-ckk = varianta elementului k din vectorii de forme;
-cjk = covarianta lui xj si xk (0 pentru xj si xk necorelati).

Functia de decizie Bayes pentru clasa j :

d j (x) p (x / j ) P ( j )
Forma exponentiala a densitatii Gaussiene => mai convenabil sa se lucreze cu
logaritmul natural al functiei de decizie:

d j (x) ln[ p (x / j ) P ( j )] ln p (x / j ) ln P ( j )
n
1
1
1
d j (x) ln P ( j ) ln 2 ln | C j | [(x m j ) T C j (x m j )]
2
2
2
(n/2)ln2 acelasi pentru toate clasele => se poate elimina:

1
1
1
T
d j (x) ln P ( j ) ln | C j | [(x m j ) C j (x m j )]
2
2
pentru j = 1, 2,... , W (functiile de decizie Bayes pentru clase de forme
Gaussiene sub conditia unei functii de pierdere 0-1).

Daca toate matricile de covarianta sunt egale, Cj = C , pentru j = 1, 2,... , W :

1 T 1
d j (x) ln P( j ) x C m j m j C m j
2
T

functii de decizie liniare (hiperplanuri) pentru j = 1, 2,... , W.


In plus, daca C = I (matricea identitate) iar P(j) = 1/W pentru j = 1, 2,... , W :

1 T
d j ( x) x m j m j m j
2
T

functii de decizie pentru clasificatorul de distanta minima.


Concluzii.
1) clasificatorul de distanta minima este optim in sensul Bayes daca:
-clasele de forme sunt Gaussiene;
-toate matricile de covarianta sunt egale cu matricea identitate;
-toate clasele au probabilitati egale de aparitie.
2) clasele ~ hipersfere in spatiul n-dimensional, clasificatorul de distanta
minima stabilind cate un hiperplan intre oricare doua clase (mediatoare pe
segmentul unind centrele perechii de hipersfere).
3) In doua dimensiuni clasele sunt cercuri, iar granita intre doua clase este o
dreapta.

Aplicatie. Doua clase de forme 3-D, distributie Gaussiana.

Se aplica
ecuatiile:

1
mj
Nj

3
1
m1 1
4
1

x j

1
Cj
Nj

1
1
m 2 3
4
3

3 1 1
1
C1 C 2 1 3 1
16
1 1 3

x x

m jm j

Matricile de covarianta egale, presupunand P(1) = P(2) = 1/2 =>

1 T 1
d j (x) ln P ( j ) x C m j m j C m j
2
T

in care

8 4 4
C 1 4 8
4
4 4
8
=> functiile de decizie
d1(x) = 4x1 1.5
d2(x) = -4x1 + 8x2 + 8x3 5.5
Suprafata de separare intre cele doua clase:
d1(x) - d2(x) = 8x1 - 8x2 - 8x3 + 4 = 0

Aplicatii: in domeniul imaginilor luate din avion, satelit, statii spatiale cu


scannere multispectrale (utilizarea pamanturilor, evidenta recoltelor, detectarea
bolilor culturilor, evidenta padurilor, apelor, monitorizarea calitatii apelor, etc) =>
volum foarte mare de date => pelucrare automata.
Exemplu. Scanner multispectral, cu lungimi de unda in benzile 0.400.44, 0.58-0.62, 0.66-0.72, 0.80-1.00 m (benzile violet, verde, rosu si
infrarosu). O regiune patru imagini digitale (punct de pe sol ~ vector de forma
x = (x1, x2, x3, x4)T, valorile de culori):

Clasificatorul Bayes pentru forme Gaussiene: estimarea vectorului


medie si matricii de covarianta pentru fiecare clasa prin preluarea de date
multispectrale pentru fiecare regiune de interes si utilizand aceste esantioane
asemanator cu exemplul precedent.
In continuare imagini achizitionate prelucrate cu acest clasificator =>
identifica zone de padure, lacuri, parcele agricole, etc.

Retele neurale
-clasificatorul de distanta minima complet specificat prin vectorul medie
din fiecare clasa;
-clasificatorul Bayes pentru populatii Gaussiene complet specificat de
vectorul medie si matricea de covarianta din fiecare clasa;
-formele utilizate pentru estimarea acestor parametri = forme de
antrenare;
-set de astfel de forme din fiecare clasa =set de antrenare;
-procesul in care un set de antrenare este utilizat pentru obtinerea
functiilor de decizie = invatare ("learning") sau antrenare ("training").
Retea neurala = multitudine de elemente de calcul neliniare
interconectate (neuroni).
Retelele utilizate pentru dezvoltarea adaptiva a coeficientilor functiilor
de decizie prin prezentarea succesiva a seturilor de forme de antrenare.

Perceptron pentru doua clase de forme


Perceptronul cel mai simplu: invata o functie de decizie liniara care
desparte doua seturi de antrenare. Schema (2 clase de forme):

Raspunsul = suma ponderata a intrarilor:


n

d (x) wi xi wn 1
i 1

~ functie liniara de decizie in raport cu vectorii de forme (wi , i = 1, 2, ... ,n, n+1
ponderi):
-d(x) > 0 => elementul de prag comuta la iesire pe +1 (~ x 1);
- d(x) < 0 => elementul de prag comuta la iesire pe -1 (~ x 2);
- d(x) = 0 => x suprafata de separatie 1 si 2.
(o singura functie de decizie pentru doua clase).
Granita de decizie:
n

d (x) wi xi wn 1 0
i 1

w1 x1 w2 x 2 ... wn x n wn 1 0
hiperplan in spatiul n-dimensional de forme:
-w1 wn : orientarea hiperplanului;
-wn+1 : departarea fata de origine;
-wn+1 = 0 hiperplanul trece prin origine;
-w = 0 hiperplanul paralel cu axa x .

Varianta de implementare: suma primilor n termeni si comparatie cu


wn+1 , iesirea sistemului:

daca

daca

w x
i 1
n

w x
i 1

wn 1

wn 1

Rezulta implementarea (nu apare intrarea pentru wn+1):

Alta formulare:
-vectorul de forme marit cu o componenta egala cu 1, y = (y1, y2, ... ,
yn,1)T ;
-vectorul de ponderi w = (w1, w2, ... , wn, wn+1,)
=> functia de decizie:
n 1

d (y ) wi y i w T y
i 1

Indiferent de formulare, problema: gasirea lui w utilizand un set dat de


antrenare de vectori de forma din fiecare din cele doua clase.

Algoritmi de antrenare
1) doua seturi de antrenare pentru doua clase separabile liniar si se
doreste obtinerea vectorului de ponderi.
Initial: vector de ponderi arbitrar w(1).
La pasul k:
-daca y(k)1 si w T(k)y(k)0 inlocuieste w(k) cu:
w(k+1) = w(k) + cy(k)
c fiind un incremet pozitiv de corectie (deocamdata fix);
-daca y(k)2 si w T(k)y(k)0 inlocuieste w(k) cu:
w(k+1) = w(k) - cy(k)
altfel w(k) ramane nemodificat.
Algoritmul se mai numeste regula de corectie cu increment fix.
Convergenta algoritmului: cand intregul set de antrenare din ambele
clase este trecut fara erori.
Convergenta: numar finit de pasi daca cele doua seturi de antrenare
sunt separabile liniar ("teorema de antrenare perceptron").

Exemplu: doua seturi de antrenare, fiecare cu doua forme. Algoritmul


este convergent, caci seturile sunt liniar separabile.

Vectorii de forme mariti: {(0,0,1)T, (0,1,1)T} 1 si {(1,0,1)T, (1,1,1)T} 2. Fie c


= 1, w(1) = 0, pasii algoritmului:

Corectii au fost facute la pasii 1 si 3.


Algoritmul reluat, etc => convergenta k = 14, w(14) = (-2,0,1)T =>
functia de decizie corespunzatoare d(y) = -2 y1 + 1.
Revenind la spatiul de forme original, xi = yi si d(x) = -2 x1 + 1 (dreapta
verticala din desen).

2) Clase neseparabile. In practica in majoritatea cazurilor clasele sunt


neseparabile. Una dintre primele tehnici: regula delta, sau Widrow-Hoff sau
regula delta LMS ("least-mean-square") pentru antrenarea perceptronilor:
minimizeaza eroarea intre raspunsul actual si raspunsul dorit la fiecare pas de
antrenare.
Functie criteriu:
J(w) = (r - w T y)2
r este raspunsul dorit:
-r = +1 daca y 1 ;
-r = -1 daca y 2.
Taskul: ajustarea incrementala a lui w in directia gradientului negativ al lui J(w)
pentru a cauta minimul acestei functii, care are loc cand r = w T y (clasificare
corecta).
w(k) = vectorul de ponderi la pasul iterativ k => algoritm de coborare a
gradientului:

J (w )
w (k 1) w (k )

w w (k )

(>0 magnitudinea corectiei). Din ecuatia pentru J(w):

J (w )
( r w T y ) y
w

inlocuid in ecuatia precedenta:


w(k+1) = w(k) + [r(k) - w T(k)y(k)]y(k)
cu w(1) ales arbitrar.
Modificarea vectorului de ponderi (def):
w = w(k+1) - w(k)
algoritmul de corectie delta:
w= e(k)y(k)
unde
e(k) = r(k) - w T(k)y(k)
(eroarea produsa cu vectorul de ponderi w(k) cand este furnizata forma y(k)).
Schimband w(k) cu w(k+1):
e(k) = r(k) - w T(k+1)y(k)

Modificarea erorii:
e(k) =[ r(k) - w T(k+1)y(k)] [ r(k) - w T(k)y(k)]=
= - [w T(k+1) - w T(k)]y(k) = -w Ty(k)
dar w = e(k)y(k) , deci:
e = -e(k)yT (k) y(k) = -e(k) y(k) 2
modificand ponderile eroarea se reduce cu un factor y(k) 2.
Pentru stabilitate: 0 < < 2, practic 0.1 < < 1.0.
Astfel, algoritmul reprezentat de ecuatia:
w(k+1) = w(k) + [r(k) - w T(k)y(k)]y(k)
converge la o solutie care minimizeaza eroarea patratica medie peste formele
unui set de antrenare.
Cei doi algoritmi: pot fi extinsi pentru mai multe clase si pentru functii
de decizie neliniare.

Retele neurale multistrat cu alimentare inainte ("multilayer


feedforward neural networks")
Arhitectura de baza: niveluri de noduri de calcul identice structural
(neuroni), a.i. iesirea fiecarui neuron de pe un strat (nivel) alimenteaza intrarea
fiecarui neuron de pe stratul urmator.
-numar de neuroni primul strat NA = n dimensiunea vectorilor de forme;
-stratul de iesire (Q) numar de neuroni NQ = W numarul de clase de
forme;
-reteaua recunoaste x i daca iesirea i a retelei este activa ("high") si
toate celelalte iesiri sunt inactive ("low").

-functie de activare "sigmoida" limitatoare software (functie sigmoida = functie


matematica cu grafic de forma S, exemplu: functia logistica P(t) = 1/(1+e-t)):

h j (I j )

1 e

( I j j ) / o

(Ij , j = 1, 2, ... , NJ intrarea in elementul de activare al fiecarui nod in stratul J al


retelei, j offset si o controleaza forma functiei sigmoide).

-Ij > j => iesire "high (0.95);


-Ij < j => iesire "low(0.05).

Doua straturi succesive K si J (in aceasta ordine): intrarea in elementul


de activare din fiecare nod j de pe stratul J:
NK

I j w jk Ok

k 1
pentru j = 1, 2, ... , N
, (NJ numarul de noduri de pe stratul J) unde wjk este
J
ponderea modificand iesirea Ok a nodului k de pe stratul K inainte de a fi
furnizata nodului j de pe stratul J. Iesirile de pe stratul K:

Ok = hk (Ik)
pentru k = 1, 2, ... , NK.
=> sunt necesari NJ x NK coeficienti + NJ coeficienti j pentru a
specifica complet nodurile de pe stratul J.

Substituind ecuatia lui Ij in ecuatia lui hj (Ij):

hj (I j )
(functia de activare)

1 e

Nk

w jk Ok j ) / o
k 1

In timpul antrenarii:
-adaptarea neuronilor in stratul de iesire: simplu! (se cunoaste iesirea
dorita a fiecarui nod);
- mai complicat: ajustarea ponderilor in straturile ascunse (adica toate
celelalte straturi decat stratul de iesire).

Antrenare prin propagare inapoi.


Initial: stratul de iesire. Eroarea patratica totala intre raspunsurile dorite rq si
raspunsurile actuale corespunzatoare Oq ale nodurilor in stratul (de iesire) Q:
N

1 Q
EQ (rq Oq ) 2
2 q 1
(NQ = numarul de noduri in stratul de ieisire Q, prin conventie in notatie
pentru derivare ulterioara).
Obiectivul: dezvoltarea unei reguli de antrenare (asemanatoare cu
regula delta) care permite ajustarea ponderilor in fiecare dintre straturi cautand
un minim al functiei de eroare EQ => derivarea partiala a erorii in raport cu
ponderile:

wqp

E Q

wqp

stratul P precede stratul Q, wqp conform definitiei:


w= e(k)y(k)
si increment pozitiv de corectie.

EQ = f(Oq) = f(f(Iq)) =>

E Q
wqp

EQ I q
I q wqp

.......
In final se obtine:

wqp (rq Oq )h' q ( I q )O p q O p


Dupa specificarea functiei hq(Iq) se cunosc toate variabilele din aceasta ecuatie
(sau pot fi observate).
La prezentarea oricarei forme de antrenare la intrarea retelei:
-se cunoaste care ar trebui sa fie raspunsul dorit rq al fiecarui nod de
iesire;
-se poate observa valoarea Oq a fiecarui nod de iesire;
-se poate observa Iq, intrarea in elementele de activare de pe stratul Q;
-se poate observa Op iesirea nodurilor din stratul P
=> ajustarea ponderilor care modifica legaturile intre ultimul si
penultimul strat in retea.

Continuand prelucrarile inapoi de la stratul de iesire sa va analiza ce se


intampla la stratul P. Analog:

w pj (rp O p )h' p ( I p )O j p O j
unde termenul de eroare:

p ( r p O p ) h' p ( I p )
Exceptand rp toate variabilele sunt cunoscute sau pot fi observate in retea.
rp fara sens intr-un strat intern (nu se cunoaste raspunsul unui nod intern in
termenii apartenentei formei la o clasa, doar pentru stratul de iesire se poate
specifica clasa la care apartine) => se reformuleaza p prin cantitati care sunt
cunoscute sau pot fi observate:

E P
E P O p
p

I p
O p I p

.......
Rezulta:
NQ

p h' p ( I p ) q wqp
q 1

se poate calcula! (se cunosc toti parametrii) => se poate calcula p din q si wqp
care s-au calculat in stratul imediat urmator stratului P => o cale de propagare
inapoi a erorii in retea incepand de la stratul de iesire.

Concluzie. Se poate generaliza procedura de antrenare astfel: pentru


oricare straturi K si J (K precede imediat pe J) se calculeaza ponderile wjk care
modifica conexiunile intre aceste doua straturi utilizand:

w jk j Ok

Daca stratul J este stratul de iesire:

j ( r j O j ) h' j ( I j )
iar daca este un strat intern:

NP

j h' j ( I j ) p w jp
p 1

pentru j = 1, 2, ... , Nj. Utilizand functia de activare sigmoida cu o = 1:

h' j ( I j ) O j (1 O j )
rezulta cele doua expresii pentru j (strat de iesire / intermediar):

j (r j O j )O j (1 O j )
NP

j O j (1 O j ) p w jp
pentru j = 1, 2, ... , Nj.

p 1

Aceste ecuatii = regula delta generalizata pentru antrenarea retelei


neurale multistrat cu alimentare inainte.
Initial: set de ponderi arbitrare, dar nu egale.
Aplicarea regulii delta generalizate la fiecare pas - doua faze:
1) se prezinta la intrarea retelei un vector de antrenare propagat
peste straturi calculand iesirea Oj pentru fiecare nod. Iesirile Oq (stratul de
iesire) comparate cu rp (raspunsurile dorite) => termenii de eroare q.
2) se face o trecere inapoi prin retea: semnalul de eroare trecut la
fiecare nod se modifica ponderea corespunzatoare. Aceasta procedura se
aplica de asemenea ponderilor j.

Intr-o sesiune de antrenare cu succes: eroarea retelei scade cu numarul de


iteratii => convergenta catre un set stabil de ponderi.
In operare normala: toate caile inapoi deconectate.
Fiecare forma de intrare:
-propagata prin retea;
-clasificata (clasa cu nodul de iesire "high", toate celelalte
noduri fiind "low);
-daca niciuna din ieisiri nu este "high" / mai multe iesiri
sunt"high" => forma nu poate fi clasificata / asignata clasei cu valoarea
numerica cea mai mare.

Aplicatie: reteaua neurala multistrat generala antrenata sa recunoasca


patru forme, inclusiv formele cu zgomot.

Vectorii de forme = calcularea semnaturilor normalizate ale formelor (=> 48


esantioane egal distantate ale fiecarei semnaturi). Reteaua neurala cu trei
niveluri "feedforward:

Numar noduri de pe primul nivel = dimensiunea vectorilor de forme (48).


Numar noduri nivelul de iesire = numarul de clase (4).
Numar noduri nivelul mijlociu = media (48+4)/2 (alegere erisitca).
Functiile de activare:

hj (I j )
1 e

Nk

w jk Ok j ) / o
k 1

cu o = 1.
Procesul de antrenare divizat in doua parti:
1) Ponderile initializate la valori mici aleatoare cu media zero
reteaua antrenata cu vectorii de forme fara zgomot => reteaua a invatat
formele din cele patru clase cand pentru oricare forma de antrenare din clasa
i elementele stratului de iesire au furnizat Oi 0.95 ("high") si Oq 0.05 ("low")
pentru q = 1, 2, ..., NQ ; q i.
2) S-au utilizat formele cu zgomot, generate astfel: fiecarui pixel de pe
conturul formei fara zgomot i s-a asignat o probabilitate V de a-si pastra
coordonatele sale originale si probabilitatea R = 1-V de a fi asignat aleator
unuia din cei opt vecini ai sai (marind R creste zgomotul in forme). S-au
generat doua seturi de forme cu zgomot: primul set (set de test) cu 100 de
forme cu zgomot pentru fiecare clasa R variind intre 0.1 0.6 (in total 400 de
forme) si un al doilea set de forme cu zgomot pentru antrenare.

Experimentul doua faze:


I. Au fost generate mai multe seturi cu zgomot pentru antrenarea retelei
cu date cu zgomot:
-un set de 10 forme cu Rt = 0 (t = "training"), deci fara zgomot s-a
antrenat reteaua (modificand poderile) si apoi s-a trecut pentru clasificare setul
de forme de test => reprezentand grafic performantele obtinute (probabilitatea
de clasificare gresita in functie de nivelul de zgomot din formele de test,
probabilitatea calculandu-se prin raportul clasificari gresite/numar total de
forme);
-dupa antrenarea cu setul avand Rt = 0 s-a facut o noua antrenare cu
un set avand Rt = 0.1, modificand valorile ponderilor. S-a facut o noua
clasificare a vectorilor din setul de test => vizibila imbunatatire a
performantelor.
-etc.

Exceptie: performante mai bune pentru Rt = 0.4 decat pentru Rt = 0.3 .


Explicatie: numar mic de esantioane folosite pentru antrenare.

II. S-a reluat experimentul folosind pentru antrenare seturi cu numar


diferit de esantioane si s-a reprezentat grafic (referinta din graficul precedent
performanta pentru Rt = 0.3 si 10 esantioane).

You might also like