+ All Categories
Home > Documents > Retele Neuronale

Retele Neuronale

Date post: 07-Jul-2016
Category:
Upload: alexandra-stan
View: 298 times
Download: 4 times
Share this document with a friend
Description:
Retele neuronale
326
RETELE NEURONALE s loan Z. MIHU
Transcript
Page 1: Retele Neuronale

RETELE NEURONALEs

loan Z. MIHU

Page 2: Retele Neuronale

1 Sisteme neuronale artificiale. Introducere

De multe secole, una dintre principalele preocupari ale omului a fost aceea de a construi masini. Aceste masini urmau sa preia cele mai dificile si mai plictisitoare activitati pe care omul trebuia sa le efectueze, astfel incat munca omului sa devina mai usoara si mai placuta. Era constructiei de masini a inceput odata cu descoperirea celor mai simple dispozitive precum pargia, roata si scripetele. Inginerii si cercetatorii din zilele noastre incearca sa construiasca masini inteligente. Sistemele bazate pe

Page 3: Retele Neuronale

retele neuronale artificiale fac parte din acea categorie de masini inteligente care pot contribui decisiv la cresterea calitatii vietii.

Desi calculatoarele sunt mult mai rapide si mai eficiente in executia operatiilor aritmetice, totusi oamenii si animalele au abilitati de procesare si de recunoastere a imaginilor mult mai bune decat cele mai eficiente calculatoare. Prin urmare, retelele neuronale artificiale pot suplimenta puterea enorma de procesare a calculatorului clasic (von Neumann) cu abilitatea de a lua decizii sensibile/inteligente si de a invata din experientele obisnuite ("de viata"), asa cum fac oamenii.

Page 4: Retele Neuronale

Prin retelele neuronale artificiale se spera sa se reproduca, chiar daca doar partial, flexibilitatea si puterea de procesare a creierului uman. Procesarea intr-o asemenea retea se bazeaza pe o structura densa de interconexiuni prin care se interconecteaza unitati (noduri) simple. Unitatile simple se numesc neuroni artificiali, sau mai sintetic neuroni sau noduri. Neuronii sunt unitati simple care realizeaza o suma ponderata a semnalelor de intrare, urmata de o functie de transformare neliniara. In anumite cazuri, neuronii sunt considerati unitati cu prag (threshold), care se activeaza doar daca semnalul total de intrare (suma ponderata a semnalelor de intrare) depasaste o anumita valoare de prag. Neuronii dintr-o retea artificiala

Page 5: Retele Neuronale

opereaza in paralel si pentru a descrie mai usor procesarea efectuata la nivelul intregii retele, acestia sunt interconectati printr-o retea (topologie) regulata. Adesea neuronii sunt organizati in straturi (layers) succesive. In arhitecturile feedforward nu apar bucle de reactie; astfel de bucle apar in retelele recurente (feedback networks), unde iesirile neuronilor din cadrul unui strat sunt rebuclate pe intrarile acelorasi neuroni sau pe intrarile neuronilor din straturile anterioare (din amonte). Neuronii sunt deci interconectati printr-o retea densa de conexiuni. Fiecare conexiune are o anumita intensitate data de un parametru numeric numit pondere (pondere sinaptica). Aceasa

Page 6: Retele Neuronale

pondere (weight) este variabila si prin urmare, poate fi modificata si este modificata in timpul invatarii (antrenarii) retelei.

Spre deosebire de calculatoarele conventionale, care sunt programate (limbaje de rogramere) pentru a rezolva anumite probleme, retlele neuronale trebuie invatate (antrenate) sa rezolve anumite probleme. Acestea invata noi asocieri, noi comportamente, noi dependente functionale. Invatarea reprezinta un proces de modificare (ajustare) a ponderilor (parametrilor retelei). Avem de-a face cu o invatare din exemple (din experiente), realizata prin reguli sau algoritmi de invatare. Invatarea

Page 7: Retele Neuronale

retelei neuronale inlocuieste programarea pe care o revendica calculatorul conventional.

Retelele neuronale au atras atenta cercetatorilor din diferite domenii. Neurobiologii sunt interesati in emularea sistemelor neuronale biologice cu ajutorul retelelor neuronale artificiale. Fizicienii sunt interesati de analogiile functionale care apar intre retelele neuronale si sistemele dinamice neliniare. Matematicienii sunt fascinati de posibilitatile de modelare matematica a comportamentului sistemelor mari si complexe, cum sunt retelele neuronale. Inginerii electronisti si calculatoristi considera retelele neuronale artifciale drept sisteme de procesare a semnalelor.

Page 8: Retele Neuronale

Acestia sunt de asemenea interesati de problema proiectarii si constructiei unor circuite integrate dedicate masinilor inteligente (neuroprocesoare). Psihologii privesc retelele neuronale artificiale ca si posibile prototipuri de masini capabile sa proceseze informatiile intr-o maniera similara omului. Cei preocupati de stiinta calculatoarelor sunt interesati de provocarile pe care le deschide procesarea masiv paralela din cadrul retelelor neuronale si de aplicatiile acestora in domeniile inteligentei artificiale, teoria computational, modelare si simulare si altele.

Page 9: Retele Neuronale

2 Concepte si modele fundamentale ale sistemelor neuronale artificiale 2.1 Neuronul biologic si modelele sale artificiale

1 RCreierul uman contine aproximativ 10 neuroni (dupa ultimele estimari) interconectati printr-o retea foarte densa de interconexiuni sinaptice (aproximativ 104 sinapse per neuron). Neuronii opereaza intr-un meidiu chimic si comunica prin impulsuri electrice. Prin urmare, creierul uman poate fi considerat o retea electrica de comutare puternic interconectata si influentata de procesele biochimice care au loc la nivelul interconexiunilor (sinapselor).

Page 10: Retele Neuronale

Aceasta vasta retea neuronala naturala are o structura extrem de elaborata, cu interconexiuni complexe (fig. 2.1). Primeste informatii de intrare de la receptorii senzoriali. Receptorii primesc la randul lor stimuli atat din interiorul corpului cat si de la organele senzoriale care preiau stimuli din mediul extern. Stimulii constau in impulsuri electrice care injecteaza informatie in reteaua neuronala (creier).

Page 11: Retele Neuronale
Page 12: Retele Neuronale

Informatia de intrare este procesata in creier, in urma procesarii se genereaza informatia de control pe care o transmite catre efectori, iar acestia, prin intermediul organelor motoare, genereaza diverse actiuni. Prin urmare, avem de-a face cu un sistem pe 3 nivele, care consta din receptori, reteaua neuronala si efetori; acest sistem controleaza corpul uman si actiunile sale.

Asa cum se arata in fig. 2.1, informatia de intrare este procesata , evaluata si comparata cu informatia memorata in creier (sistemul nervos central). Atunci cand devine necesar, creierul genereaa comenzi pentru organele motoare. Organele

Page 13: Retele Neuronale

motoare sunt monitorizate de catre creier prin informatia intoarsa prin bucla de reactie (internal feedback) si astfel actiunile acestora sunt verificate.

Se pooate observa ca structura sistemlui nervos are caracteristicile unui sistem de reglare in bucla inchisa.A Neuronul biologic

Neuronul biologic reprezinta celula elementara din componenta creierului. Structura sa este redata in figura 2.2.

Page 14: Retele Neuronale
Page 15: Retele Neuronale

Fig 2.2 Structura neuronului biologic si modul de transmitere a informatiei (impulsuri electrice)

Cele 3 componente ale neuronului biologic sunt:- corpul neuronului (cell body), denumit si soma, in care se proceseaza

informatia receptionata (impulsurile electrice receptionate) de pe intrari (dendrite)

Page 16: Retele Neuronale

- dendritele care formeaza o structura arborescenta foarte densa, prin care se receptioneaza informatii (impulsuri electrice) de la neuronii vecini

- axonul, o fibra cilindrica lunga prin care se transmite informatia de iesire din neuron (impulsuri electrice) catre neuronii cu care acesta este interconectat (urmatorii neuroni din retea)

Elementul de contact dintre axon si dendrite se numeste sinapsa (synapse). Prin sinapsa neuronul transmite informatii (impulsuri electrice) catre urmatorul neuron din retea. Sinapsa opereaza intr-un mediu chimic care afecteaza transmiterea

Page 17: Retele Neuronale

impulsurilor (mediul chimic modeleaza un fel de conductanta electrica a carei valoare poate varia).

Impulsurile de intrare in neuron (receptionate prin intermediul dendritelor) sunt agregate de-a lungul unei perioade de timp denumita perioada latenta de insumare (period of latent summation). Astfel se obtine potentialul total la nivelul membranei celulei. Daca potentialul total depaseste un anumit nivel, neuronul se activeaza si emite un impuls pe iesire (pe axon). Prin urmare, membrana agregheaza semnalele de intrare in neuron de-a lungul unei perioade de timp (perioada latenta de insumare).

Page 18: Retele Neuronale

Semnalele de intrare in neuron pot fi excitatoare sau inhibitoare. Prin urmare, neuronul se activeaza numai daca excitatia total a depaseste inhibitia totala cu cel putin o valoare denumita prag (T=threshold).

Deoarece conexiunile sinaptice sunt excitatoare si respectiv inhibitoare, putem asigna ponderi sinaptice cu valoarea +1 conexiunilor excitatoare si respectiv -1 conexiunilor inhibitoare. Putem astfel reformula regula de activare: neuronul se activeaza daca si numai daca, pe perioada latenta de insumare, suma algebrica a ponderilor sinaptice aferente conexiunilor pe care primeste impulsuri depaseste valoarea de prag.

Page 19: Retele Neuronale

Impulsurile neuronale nu sunt sincronizate in timp. Cu toate acestea, neuronul biologic realizeaza o integrare si respectiv insumare a semnalelor de intrare de-a lungul unei perioade de timp (period of latent summation). Daca neuronul se excita si elibereaza un impuls de iesire prin intermediul axonului, atunci neuronul devine neexcitabil pentru o anumita perioada de timp, denumita perioada refractara (refractory period). Pe aceasta durata de timp neuronul nu mai poate genera niciun fel de semnal pe iesire, indiferent de valoarea excitatiei. Aceasta ne permite sa impartim axa timpului in intervale egale cu refractory period. si sa introducem un model discret pentru descrierea comportamentului sistemului (in ansamblu): putem stabili ce neuroni

Page 20: Retele Neuronale

vor fi excitati la momentul k+1 in functie de conditiile de excitare existente la momentul k.

Trebuie mentionat ca descrierea de mai sus este mult simplificata si prin urmare simplifica foarte mult "functionarea" neuronului biologic.

B Modelul McCulloch-Pitts

Prima definitie formala a neuronului artificial, inspirata din descrierea functionala a neuronului biologic prezentata mai sus, a fost introdusa de catre McCulloch si Pitts in 1943. Modelul McCulloch Pitts este prezentat in figura 2.3a.

Page 21: Retele Neuronale

Intrarile xi pot fi 1 sau 0, simbolizand prezenta sau absenta unui impuls pe intrarea respectiva la momentul k. lesirea neuronului este notata cu o si se obtine conform cu regula de activare (relatiile) din figura 2.3a. Supraindicele k reprezinta momentul de timp (model discret) iar coeficientul w i reprezinta coeficientul sinaptic (ponderea sinaptica) aferenta intrarii i (wi=+1 pentru sinapsele excitatoare si respectiv -1 pentru sinapsele inhibitoare). T reprezinta valoarea de prag (threshold). Pentru ca neuronul sa se activeze,

n

suma ponderata a intrarilor (^ ) trebuie sa fie mai mare sau egala cu valarea de pragi=i

Page 22: Retele Neuronale

T (vezi relatiile din fig 2.3a).Desi modelul McCulloch Pitts este simplu, acesta are totusi potential

computational; alegand corespunzator valorile ponderilor sinaptice w i, poate fi utilizat pentru implementarea portilor NOT, OR si AND (vezi fig 2.3b)

Page 23: Retele Neuronale

I if 2 wjX? ^ 7

Page 24: Retele Neuronale

ok+l =0 if I w(ot* < 7 (= i

Fig 2.3a Modelul McCulloch Pitts

Page 25: Retele Neuronale
Page 26: Retele Neuronale

Fig 2.3b Poarta NAND, poarta NOR si celula de memorie implementate cu ajtorulneuronului McCulloch Pitts

Page 27: Retele Neuronale

C Modelarea neuronului dedicat retelelor neuronale artificiale7

Retelele neuronale artificiale utilizeaza o varietate de modele aferente neuronului cu trasaturi mai diversificate, daca le raportam la cele ale modelului McCulloch Pitts. In cele ce urmeaza vom introduce modelele de baza al neuronului artificial.

Un model general al neuronului artificial este prezentat in fig 2.4.

x i *"

\

Simbolul din figura 2.4 evidentiaza un set de intrari (xi), un set de ponderi sinaptice (wi), unitatea de procesare a neuronului (nodul de procesare) si o iesire (o). Semnalul de iesire al neuronului este dat de relatia:

(2.1a)

In forma vectoriala aceasta ecuatie devine:

O -/(Wfx) (2-lb)

unde w reprezinta vectorul de ponderi sinaptice:

x este vectorul de intrare:

iar f reprezinta functia de activare a neuronului.

Nota: w si x sunt vectori coloana (supraindicele t denota operatia de transpunere).

27

Fig 2.4 Simbolul general al neuronului

Page 28: Retele Neuronale

Se defineste valoarea de activare a neuronului net ca fiind produsul scalar dintre vectorul de ponderi sinaptice w si vectorul de intrare x:

net — w'x

Variabila net devine argumentul functiei de activare f(net) si reprezinta (prin analogie) potentialul membranei neuronului biologic.

Sa observam ca valoarea de prag (T) nu apare explicit nici in figura 2.4 si nici in ecuatiile (2.1) si (2.2). Aceasta poate fi modelata insa cu ajutorul ultimei intrari in neuron, daca se seteaza xn=-1 si wn=T. In acest caz vectorul de intrare real contine primele n-1 componente (x=[x1 x2 ■ ■ ■ xn-1j) si este extins (augmentat) cu a n-a componenta (xn=-1) doar pentru a modela pragul neuronului (T). In retelele in care se prefera precizarea intr-o maniera explicita a valorii de prag (sub forma unui parametru distinct al modelului), vectorul de intrare nu va mai fi augmentat cu ca de-a n-a componenta xn=-1.

Modelul neuronului prezentat in figura 2.4 si a carui functionalitate este definita prin ecuatiile (2.1) si (2.2) este larg utilizat in literatura de specialitate.

Ecuatia (2.1) reliefeaza faptul ca neuronul (un nod de procesare din cadrul unei retele neuronale) efectueaza 2 operatii succesive:

- calculul valorii de activare net = ^ x ti=i

ponderate cu coeficientii sinaptici wi .- calculul valorii de iesire prin aplicarea functiei de activare: o=f(net).

Cele mai utilizate functii de activare sunt:- functia bipolara continua (bipolar continuous) denumita si functia sigmoidala bipoara:

(2.3a)

- functia bipolara binara (bipolar binary) denumita si functia treapta bipoara:printr-o insumare a intrarilor xi

Prin deplasarea si scalarea functiilor bipolare (2.3a) si (2.3b) se obtin functiile unipolare:

28

• w ,

(2.2)

Page 29: Retele Neuronale

- functia unipolara continua (unipolar continuous) denumita si functia sigmoidala unipolara:

(2.4a)

- functia unipolara binara (unipolar binary) denumita si functia treapta unipolara:

29

A / 1 . 10,

net > 0 net < 0

(2.4b)/(net)

Page 30: Retele Neuronale

Observatie: In (2.3a) si (2.4a) am introdus notatia: exp(-1 ■ n )= e Xe .' ' e '

Parametrul A din functiile (2.3a) si (2.4a) este proportional cu castigul neuronului si determina panta functiei de activare in punctul net=0. Graficul functiei sigmoidale bipolare si respectiv unipolare este redat in figura 2.5, pentru diferite valori ale parametrului A.

\.= I0 7 5 3 2 1.5 1 0.5

-3 -2 -1 0 1 2 1 net

(a) (b>

Fig 2.5 Graficul functiei de activare a neuronului: (a)-bipolara continua, (b)-unipolara continua

Cele mai multe retele neuronale utilizeaza neuroni cu functie de activare bipolara, continua sau binara. Mai rar (doar in anumite arhitecturi) se utilizeaza functiile de activare unipolare. Functia bipolara/unipolara binara este evident functia trepta bipolara/unipolara.

Calculand limita functiei sigmoidale bipolare definita de relatia (2.3a) pentru vom obtine functia treapta bipolara definita de relatia (2.3b). Analog, treapta unipolara (2.4b) este de fapt limita din functia sigmoidala unipolara definita prin relatia (2.4a), cand

Daca functia de activare este treapta bipolara definita prin relatia (2.3b) atunci simbolul general al neuronului prezentat in figura 2.4 poate fi inlocuit cu simbolul din figura 2.6, iar daca functia de activare este sigmoida bipolara definita prin relatia (2.3a) atunci simbolul general poate fi inlocuit cu cel din figura 2.7.

30

3 net

Fig 2.6 Modelul neuronului cu functia de activare treapta (perceptronul discret)

Weights

Page 31: Retele Neuronale

Fig 2.7 Modelul neuronului cu functia de activare sigmoidala (perceptronul continuu)

Schema bloc a neuronului (perceptronului) discret din figura 2.6 contine 2 blocuri de procesare succesive:

- un bloc de adunare care calculeaza suma ponderata a intrarilor- o unitate logica de prag (TLU = threshold logic unit) care implementeaza functia de activare de tip treapta.

Acest model, denumit perceptronul discret, introdus de Rosenblatt in anul 1958, a fost prima masina capabila sa invete.

Neuronul (perceptronul) continuu din figura 2.7 este redat printr-un amplificator cu castig mare si cu saturare, care amplifica semnalul de intrare net=wt x (suma ponderata a intrarilor).I esirea neuronului va fi discreta in cazul neuronului discret si respectiv continua in cazul neuronului coninuu. Daca se implementeaza o retea neuronala cu m neuroni organizati intr-un singur strat (fig 2.8a) atunci pe iesirea retelei vom obtine un vector cu m componente:

unde oi reprezinta semnalul de iesire al neuronului i.

Domeniul in care vectorul de iesire o ia valori va fi:

pentru functia de activare bipolara continua definita de relatia (2.3a) si respectiv:

pentru functia de activare unipolara continua definita de relatia (2.4a).

Este evident ca domeniul vectorului o este interiorul hipercubului m-dimensional (-1,1)m in primul caz si respectv (0,1)m in cel de-al doilea caz.

In cazul neuronului discret, domeniul vectorului de iesire o va fi:

pentru functia de activare trepta bipolara definita de relatia (2.3b) si respectiv:

31

Weights

Page 32: Retele Neuronale

{0 ,1 } "= {oe Jf", Oj e {0 ,1 } }

pentru functia de activare treapta unipolara definita de relatia (2.4b).

Este evident ca domeniul vectorului o este reprezentat doar de varfurile hipercubului m- dimensional [-1,1]m in primul caz si respectv [0,1 ]m in cel de-al doilea caz. In aceste ultime doua cazuri, vectorul o poate lua doar 2m valori distincte.

Intr-o maniera similara se pot descrie vectorii de intrare x si domeniul acestora. Neuronul artificial, cu modelele sale definite in cadrul acestei sectiuni, nu modeleaza si intarzierile induse de neuronul biolgic (perioada latenta de insumare, perioada refractara). Neuronul artificial este un dispozitiv fara memorie, care proceseaza instantaneu intrarile si genereaza semnalul de iesire fara nicio intarziere. La nevoie, un dispozitiv de intarziere extern ar putea fi adaugat acestui "neuron instantaneu" astfel incat sa obtinem un model care opereaza "cu memorie". In retelele neuronale cu reactie (feedback) va trebui introdusa aceasta intarziere pentru a putea descrie matematic comportamentul retelei (vezi sectiunea urmatoare).

2.2 Modele de retele neuronale artificiale7

Neuronul artificial definit in sectiunea precedenta reprezinta piesa de baza utilizata in constructia retelelor neuronale artificiale. Neuronii din cadrul unei retele sunt interconectati iar semnalele propagate prin aceste interconexiuni sunt ponderate cu coeficientii sinaptici aferenti. Fiecare conexiune are propriul coeficient sinaptic (w). Proiectarea unei retele neuronale (cu scopul de a rezolva o anuita problema specifica, de exemplu recunoasterea caracterelor) presupune:

1. stabilirea arhitecturii retelei2. stabilirea valorilor tuturor coeficientilor sinaptici (w)

A. Retele Neuronale cu propagare inainte (Feedforward Ntworks)

In figura 2.8 se prezinta o arhitectura feedforward simpla cu un singur strat de neuroni. Cei m neuroni receptioneaza n intrari. Prin urmare, vectorii de intrare si respectiv iesire vor fi:

*= [xi X2 ■■■ xn ] '

Ponderea sinaptica Wi j conecteaza neuronul i la intrarea j; primul indice (i) specifica destinatia iar cel de-al doilea indice (j) specifica sursa.Nota: Aceasta conventie relativa la semnificatiile celor 2 indici nu este universal acceptata; in anuite lucrari pot fi intalnite alte conventii.Valoarea de activare a neuronului i va fi:

nneti — X wijxj' for i — 1,2 , m

j= i

Functia de activare va fi apoi aplicata valorii net Aplicand aceasta transformare puternic neliniara se obtin iesirile celor m neuroni:

32

(2.8)

(2.7b)

(2.9)

(2.10)» * * ■°i = /(w;x)' for i — 1, 2 , . . . , m

Page 33: Retele Neuronale

Vectorul de ponderi Wj din ecuatia (2.10) contine toate ponderile sinaptice care conduc spre neuronul i:

W in] '

*

x<r> > r[wx]/

(a) (b)Fig 2.8 Retea feeforward cu un singur strat:

(a) schema de interconexiuni (b) schema bloc

Introducand operatorul matricial neliniar r definit prin relatia (2.12c) si matricea de ponderi sinaptice W definita prin relatia (2.12b), maparea spatiului intrarilor x in spatiul iesirilor o pe care o realizeaza reteaua neuronala monostrat din figura 28.(a) va fi:

o=r[Wx]

unde:

(2.12b)

si:

33

(2.11)

> m

(2.12a)

Page 34: Retele Neuronale

(2.12c)

Sa observam ca functia de activare neliniara f( ) care apare pe diagonala operatorulu matricial r opereaza, componenta cu componenta, asupra valorii de activare net a fiecaru neuron. Fiecare valoare de activare neti reprezinta de fapt produsul scalar dintre randul din matricea W (vectorul de ponderi aferent neuronului i) si vectorul de intrare x.

34

Page 35: Retele Neuronale

Vectorii de intrare si respectiv iesire, x si o, sunt denumiti adesea forme de intrare (input patterns) si respectiv fome de iesire (output patterns). Maparea unei forme de intrare intr-o forma de iesire se considera a fi instantanee, deoarece nu implica nicio intarziere intre intrarea x si iesirea o. Prin urmare, daca vrem sa expliciam si parametrul timp, ecuatia (2.12a) poate fi rescrisa astfel:

o(t)=r[Wx(t)]

In figura 3.8(b) se prezinta schema bloc a retelei feedforward (cu propagare inainte). Se observa ca aceasta arhitectura este caracterizata de lipsa buclelor de reactie (fara feedback). Retelele feedforward cum este cea din figura 2.8(a) pot fi conectate in cascada pentru a obtine o retea multistrat (multilayer). Evident ca nici retelele multistrat nu contin bucle de reactie.

Aceste retele invata de regula supervizat, in sensul ca exista un asa zis "profesor" care cunoasta iesirea dorita (od

i) pentru fiecare intrare xi (i=1, 2, ... k reprezinta indicele vectorului de intrare din setul de antrenament). Reteaua find initial neinstruita, la intrarea xi va raspunde cu iesirea reala or

i. Prin urmare, se poate calcula o eroare bazata pe diferenta odi-or

i. Pe baza acestei erori se pot calcula niste semnale de eroare care se vor propaga inapoi in retea si pe baza acestor semnale se vor ajusta ponderile W i j . Efectul acestor ajustari va fi reducerea erorii od

i-ori ,masurata la iesire.

In exemplul 2.1 (vezi J.M. Zurada - pag.39) se analizeaza o retea feedforward simpla cu 2straturi si cu un singur neuron pe cel de-al doilea strat.

B. Retele Neuronale cu reactie (Feedback Networks)

O retea cu reactie se poate obtine din reteaua feedforward din figura 2.8(a) conectand iesirile neuronilor la intrarile acestora ca in figura 2.10.

35

Fig 2.10 Retea cu reactie discreta cu un singur strat (a) schema de interconexiuni (b) schema bloc

(2.13)

Page 36: Retele Neuronale

Esenta implementarii unei bucle de reactie in arhitectura retelei este aceea de a permite controlul iesirii oi prin intermediul iesirilor oj (j=1, 2, ... m). Acest mecanism de control devine mai clar daca introducem parametrul timp: iesirea retelei la momentul t, o(t), va controla iesirea la momentul urmator , o(t+A). Intervalul de timp A este introdus de elementele de intarziere plasate in bucla de reactie (vezi figura 2.10(a)). In cadrul acestei arhitecturi, intarzierea A are un inteles simbolic; corespunde perioadei refractare din cadrul neuronului biologic. Daca utilizam notatile introduse cu ocazia descrierii retelei feedforward (sectiunea anterioara), maparea o(t) in o(t+A) poate fi scrisa astfel:

0(f + A) = r [Wo(0] (2.15)

Aceasta formula poate fi dedusa din schema bloc prezentata in figura 2.10(b). Sa notam ca intrarea x(t) este necsara doar pentru a initializa reteaua (initia procesarea) la momentul t=0, cand o(0)=x(0). Intrarea x este apoi indepartata si retaua evolueaza autonom pentru t>0. Prin urmare, aici vom lua in considerare cazul particular in care x(t)=x(0) (adica se aplica un vector de intrare la momentul t=o), dupa care vectorul x este indepartat si reteaua evolueaza in timp (t>0) doar datorita semnalelor rebuclate la intrare pe bucla de reactie.

Exista 2 tipuri de retele cu reactie cu un singur strat:

• retele discrete; sunt retelele in care variabila t este considerata discreta si prin urmare, comportamentul retelei este calculat la momente discrete: A, 2 A, 3 A, ... . Pentru a descrie mai usor comportamentul retelei se considera A=1 (o unitate de timp) si pentru a marca aceste momente discrete pe axa timpului se utilizeaza indicele superior k:

= HW], f o r * =1 ,2 ,

unde k reprezinta momentul de timp.

Reteaua din figura 2.10 se numeste retea recurenta deoarece raspunsul retelei la momentul k+1 depinde de intreaga istorie (evolutie anterioara) a retelei, care a inceput la momentul k=0. Intr-adevar ecuatia (2.12a) este o ecuatie recurenta in care, daca se dau valori indicelui k se obtine:

(2.16b)

Retelele recurente opereaza de regula cu reprezentari discrete ale datelor; acestea utilizeaza neuroni cu functie de activare de tip treapta. Un sistem cu intrari discrete si care opereaza cu date discrete se numeste automat. Prin urmare, retelele neuronale din aceasta clasa pot fi considerate automate. Ecuatia 2.16a descrie starea retelei la momentele k=1, 2, 3 ... si prin urmare conduce la o secventa de tranzp de stare. Reteaua inrtiaza aceste tranzitii la momentul t=0, cand se aplica intrarea x0, dupa care tranziteaza o secventa de stari, pentru k=1, 2, 3 ..., pana atinge o stare de echilibru, daca aceasta exista. Starea de echilibru se numeste atractor. Atractorul poate consta dintr-o singura stare sau un ciclu finit de stari.

36

,k+1 _ (2.16a)o

Page 37: Retele Neuronale

Secventa de stari prin care evoluaza o retea recurenta catre atractor este in general nedeterminista. Suplimentar, pot exista mai multi atractori (stari de echilibru) catre care poate sa convearga reteaua, dupa un numar de asemenea tranzitii nedeterministe. In esenta, in jurul fiecarui atractor se construieste un bazin de atractie si atractorul catre care va evolua reteaua depinde de starea initiala (punctul din care porneste reteaua la momentul t=0). Daca punctul initial se afla intr-un bazin de atractie atunci reteaua va converge catre atractorul aferent bazinului respectiv. Daca punctul initial se afla pe un palier, situat intre 2 sau mai multe bazine de atractie atunci reteaua poate sa convearga catre oricare dintre bazinele (atractorii) din vecinatate.

In exemplul 2.2 (vezi J.M. Zurada - pag.44) se analizeaza functionarea (tranzitia catre o stare de echilibru) unei retele recurente discrete simple.

• retele continue (continous-time networks).Conceptul de reactie in arhitectura unei retele neuronale poate fi implementat s i cu intarzieri (A ) infinitezimale inserate in bucla de reactie. In cazul introduceri unei intarzieri infinitezimale intre iesirea si intrarea retelei (in bucla de reactie), vectorul de iesire o poate fi considerat o functie continua in timp. Drept rezultat, intreaga retea va evolua continuu in timp. O astfel de retea se poate obtine inlocuind elementele de intarziere din figura 2.10 cu elemente de intarziere infinitezimala (continous-time lag components).

Un astfel de element de intarziere infinitezimala este circuitul din figura 2.13(a).

37

Page 38: Retele Neuronale

Fig 2.13 Element de intarziere pentru retelele neuronale continue (a) schema elementului (b) raspunsul obtinut pe iesire la un impuls aplicat pe intrare (c) semnalul obtinut pe iesire pentru

o armonica amortizata aplicata pe intrare

38

Page 39: Retele Neuronale

De fapt, retelele electrice sunt adesea utilizate pentru a modela comportamentul retelelor neuronale deoarece acestea ofera flexibilitatea modelarii tuturor fenomenelor liniare si neliniare intalnite in studiul retelelor neuronale. Datorita acestei flexibilitati, retelele electrice sunt utilizate adesea ca modele fizice de lucru pentru studiul retelelor neuronale.

Revenind la circuitul de intarziere din figura 2.13, ecuatia diferentiala care reda relatia dintre tensiunea de iesire (v2) si tensiunea de intrare (v1), este:

dv2 + v2 v'j dt RC RC

Variatia tensiunii de iesire Av2 obtinuta pe un interval de timp At foarte mic va fi:

~ At . V1 ~ V 2 (2.22)Av-> = —

R

Din ecuatia (2.22) se observa ca, pentru C si At fixe, variatia tensiunii de iesire v 2 este proportionala cu diferenta dintre v1 si v2. Daca v1 este mentinut constant sau este variat lent, v2

va urmari v1 in timp, cu o mica intarziere, asa cum se obsera in figurile 2.13(b) si 2.13(c). In figura 2.13(b) este redata variatia lui v2 daca la intrare se aplica un v1 de tip impuls iar in figura 2.13(c) daca semnalul v1 este o armonica (sinusoida) amortizata.

De regula retelele neuronale continue utilizeaza neuroni cu functie de activare continua. O conexiune sinaptica (dintre 2 neuroni) pe care s-a inserat elementul de intarziere prezentat in figura 2.13 (a) este redata in figura 2.14.

Fig 2.14 Conexiune sinaptica in cadrul unei retele neuronale continue

Rezistenta Ri j implementeaza ponderea sinaptica dintre iesirea neuronului j si intrarea neuronului i. Utilizand un interval At finit, ecuatia (2.21) poate fi discretizata astfel:

39

(2.21)

Page 40: Retele Neuronale

(2.23a)

Valoarea de activare a neuronului i la momentul k+1 va fi:

netf+ l = netf + (o* - netf)

Dupa cum se observa, contributia la net/ pe care o realizeaza iesirea neuronului j se distribuie in timp asa cum indica ecuatia (2.23b), unde At este un interval de timp infinitezimal. Cand n neuroni sunt conecta

40

(2.23b)RijCl

Page 41: Retele Neuronale

ti la intrarea neuronului i, asa cum se arata in figura 2.14, expresia (2.23b) trebuie calculata pentru j=1,2, ....n si valorile neti

k+1

trebuiesc insumate. Numeroase studii arata ca in cazul interconectarii a n neuroni, rezulta o dinamica foarte complexa a retelei. Descrierea fidela a tranzp lor care era foarte simpla in cazul

41

Page 42: Retele Neuronale

reteleor recurente discrete (vezi exemplul 2.2), revendica rezolvarea unor ecuatii diferentiale neliniare in cazul retelelor continue (exemplul 2.3). In exemplul 2.3 (vezi J.M. Zurada - pag.49) se analizeaza functionarea (tranzitia catre starea de echilibru) unei retele recurente continue simple.

42

Page 43: Retele Neuronale

2.3 Procesarea neuronala

Procesul de calcul al iesirii o pentru un anume intrare x, realizat de catre o retea neuronala se numeste recall (reamintire). Recall reprezinta faza propriu-zisa de procesare din cadrul unei retele neuronale si obiectivul acestei procesari este regasirea informatiei. Recall reprezinta decodificarea

43

Page 44: Retele Neuronale

unui continut memorat care a fost anterior codifiocat in retea. Vom sistematiza in aceasta sectiune principalele tipuri de procesare neuronala.

Sa presupunem ca un set de forme (patterns) pot fi memorate in reteaua neuronala. Daca dupa memorare, pe intrarea retelei se aplica un pattern similar unuia din componenta

44

Page 45: Retele Neuronale

setului memorat, reteaua va putea asocia pattern-ul aplicat la intrare cu cel mai apropiat din cadrul setului memorat. Acest proces este denumit autoasociere si este ilustrat in figura 2.16(a).

45

(b)Fig 2.16 Retea de asociere (a) autoasociere (b) heteroasociere

Square or distorted square(a)

Page 46: Retele Neuronale

Tipic, un pattern de intrare degradat (afectat de zgomot) serveste ca informatie (indicate) pentru obtinerea formei sale originale. Acest proces este ilustrat in figura 2.16(a) unde un patrat distorsionat aplicat pe intrarea retelei genere

46

Page 47: Retele Neuronale

aza la iesire patratul codificat in retea (forma corecta, fara zgomot). Relatia de asociere poate fi memorata si in varianta heteroasociativa, situate in care se memoreaza de fapt relatia de asociere dintre perechi

47

Page 48: Retele Neuronale

de pattern-uri, asa cum indica figura 2.16(b); o forma de tip patrat aplicata la intrare genereaza o forma de tip romb la iesire. Si in acest caz, o forma distorsonata (cu zgomot) aplicata la intrare va putea genera prin (heteroasociere) o forma corecta la iesire (vezi figura 2.16(b)).

Clasificarea este o alta forma de procesare neuronala. Sa cosideram ca un set de pattern-uri de intrare este impartit intr-un numar de clase sau categorii. In cazul aplicarii unui pattern pe intrare, reteaua va raspunde cu codul clasei din care face parte pattern-ul respectiv. Tipic, clasele sunt codificate binar si prin urmare neuronii de iesire dintr-o retea de clasificare vor avea functii de activare binare (treapta). Schema de principiu a unui clasificator care clasifica formele de intrare in trei clase este redata in figura 2.17(a).

(a)

Fig 2.17 Reta de clasificare (a) clasificare (b) recunoastere

In mod evident clasificarea poate fi inteleasa ca o forma de heteroasociere (asociere intre pattern-ul de intrare si codul clasei din care acesta face parte). Daca raspunsul retelei trebuie sa fie codul clasei dar pe intrare se aplica un pattern care nu face parte din setul memorat (de exemplu un pattern afectat de zgomot) atunci procesul se numeste recunoastere (pattern recognition). In acest context, clasificarea poate fi privita ca un caz particular al recunoasterii (cazul in care la intrarea retelei se aplica un pattern care apartine setului memorat). Recunoasterea pentru un set de 3 forme este ilustrata in figura 2.17(b). Aceasta forma de procesare neuronala devine foarte importanta atunci cand formele aplicate la intrarea retelei sunt afectate de zgomot.

Unul dintre atuurile retelelor neuronale este capacitatea nde generalizare. Spunem ca reteaua generalizeaza bine atunci cand interpoleaza (raspunde bine la) pattern-uri noi aplicate la intrare. Sa presupunem ca reteaua a fost antrenata cu pattern-urile xi la x5 (vezi figura 2.18.) In figura se prezinta exemple de buna si respectiv proasta generalizare pe care reteaua o realizeaza atunci cand pe intrare i se aplica pattern-uri care nu fac parte din setul memorat Retelele neuronale realizeaza de regula o functie intrare-iesire (o mapare a spatiului intrarilor in spatiul iesirilor) cu o capacitate buna generalizare.

Pentru a pune in evidenta formele de procesare pe care le poate realiza o retea neuronala, am plecat de la premisa ca reteaua neuronala este capabila sa memoreze date. Pana aici, am descris functia recall a retelei fara a descrie si posibilitatea/ procedura de memorare a unor date in retea. Datele sunt memorate in retea printr-un proces de invatare.

48

Input pattern

(b)

Class number

Input pattern

Class number

Page 49: Retele Neuronale

2.4 Invatarea si adaptarea

Omul dobandeste si isi perfectioneaza anumite indemanari si abilitati prin invatare. Invatarea se manifesta printr-o schimbare permanenta a comportamentului individului care se realizeaza pe baza experientelor de viata. Invatarea la om si animale este un proces inferential. Acest proces nu poate fi observat in mod direct; concluzionam ca el are sau a avut loc atunci cand observam o crestere a performantelor individului.

Invatarea in cadrul retelelor neuronale artificiale este un proces mult mai direct si mai clar si se face cu ajutorul unui algoritm de invatare. Pentru a implementa una din functiile prezentate in sectiunea anterioara (clasificare, recunoastere, etc) reteaua neuronala trebuie sa invete o mapare a spatiului intrarilor in spatiul iesirilor (o functie intrare-iesire), pornind de la un set de exemple. Proiectarea unui clasificator sau a unui asociator consta deci in invatarea unei functii care transforma intrarile in iesiri, pornind de la un set de exemple (un set de perechi de vectori intrare-iesire).

A. Invatarea ca proces de aproximare sau ca proces de codificare a unor stari de echilibru

Teoria aproximarii are drept obiectiv aproximarea unei functii continue si multivariabile h(x) cu o alta functie H(w,x) unde x=[x1, x2, .... xn]t este vectorul de intrare iar w=[w1, w2, .... wn]t este un vector de parametri (de ponderi). Dintr-o anume perspectiva, retelele neuronale pot fi privite ca sisteme care pot invata sa aproximeze diverse functii. Scopul invatarii este de a gasi vectorul w care produce cea mai buna aproximare a functiei h(x) cu functia H(w,x), pornind de la un set de exemple {x}. O prima problema care trebuie rezolvata este alegerea formei functiei H(w,x); un exemplu de functie gresit aleasa (neneteda) este curba (2) din figura 2.18. Chiar daca gasim cele mai bune valori pentru parametrii w i, o functie H(w,x) gresit aleasa va conduce la aproximari incorecte intre puncte (intre exemplele din setul de antrenament). Alegerea functiei H(w,x) cu scopul de a aproxima pe h(x) este definita ca fiind problema reprezentarii.

O data aleasa functia H(w,x), urmeaza aplicarea algoritmului de invatare cu scopul de a gasi valorile optime pentru parametrii wi. Intr-o formulare mai precisa, problema invatarii consta in gasirea vectorului w* (parametrii optimali) pentru care:

p[H(w*,x),h(x)]< p[H(w,x),h(x)] (2.26)unde p[H(w,x),h(x)] reprezinta o distanta (o functie de distanta) care masoara calitatea aproximarii functiei h(x) cu H(w,x). Cand gradul de potrivire este evaluat (acuratetea

49

Fig 2.18 Exemplu de generalizare

Page 50: Retele Neuronale

aproximarii este evaluata) prin suma diferentelor patratice calculate in punctele de invatare (pe exemplele {x} din cadrul setului de antrenament), distanta p[H(w,x),h(x)] va fi suma erorilor patratice. Aceasta ar fi invatarea ca aproximare.

In contrast cu retelele feedforward, care memoreaza asocieri intrare-iesire si care, la aplicarea unui vector pe intrare raspund instantaneu cu vectorul asociat pe iesire, retelele recurente (cu reactie) sunt sisteme dinamice. Maparile (asocierile) intrare-iesire sunt codificate in retelele recurente sub forma starilor de echilibru. Ca si in cazul retelelor feedforward, si la retelele recurente ponderile (w) determina proprietatile retelei. Invatarea in cazul retelelor recurente consta in codificarea starilor de echilibru. De regula aceasta codificare se face aplicand un algoritm de calcul al ponderilor (w) intr-un singur pas (asa- zisul "proces al inregistrarii"). Exista si abordari in care se aplica algoritmi de invatare incrementali (ca in cazul retelelor feedforward).

B. Invatarea supervizata si invatarea nesupervizata

Invatarea poate fi considerata ca fiind un proces de "fortare" a retelei neuronale sa dea un anumit raspuns pe iesire atunci cand i se aplica un anumit vector (pattern) pe intrare. Invatarea este necesara atunci cand nu dispunem apriori de informatii despre datele de intrare si respectiv de iesire din retea sau cand informatiile de care dispunem sunt incomplete. Metoda de invatare cea mai utilizata este invatarea incrementala (incremental training). Se porneste de la un set de exemple denumit set de antrenament (training set). Exemplele din setul de antrenament trebuie sa fie relevante pentru problema de rezolvat. Invatarea incrementala este o invatare in pasi succesivi. In cadrul unui pas i se da retelei un exemplu si daca reteaua raspunde incorect la acel exemplu se trece la ajustarea ponderilor w (de regula cu valori Aw foarte mici) astfel incat, data viitoare, reteaua sa raspunda mai bine la exemplul respectiv. Intr-un numar de pasi succesivi i se vor da retelei toate exemplele din setul de antrenament. Acesta va fi un ciclu de invatare. Procesul de invatare este relativ costisitor deoarece presupune un numar relativ mare de cicluri de invatare. Daca algoritmul de invatare decurge bine, intr-un numar finit de cicluri reteaua trebuie sa invete bine toate exemplele din setul de antrenament iar daca exemplele sunt relevante pentru problema de rezolvat (asociere, clasificare, recunoastere, etc), dupa invatare reteaua va fi capabila sa rezolve corect respectiva problema.

Anumite retele (in general cele recurente) invata "la pachet" toate exemplele din setul de antrenament, metoda fiind denumita ca invatare "la pachet" (batch learning). Acest tip de invatare are loc atunci cand ponderile w sunt ajustate (calculate) intr-un singur pas. In acest unic pas, intregul set de exemple este utilizat pentru a determina valorile corecte ale ponderilor w. Aceasta metoda de invatare se mai numeste si inregistrare (recording) si este utilizata mult mai rar decat metoda incrementala.

Invatarea incrementala este mult mai des utilizata iar conceptul de feeback joaca un rol important in aceasta tehnica de invatare. Exista doua tipuri de invatare incrementala (vezi figura 2.19):

• invatare supervizata• invatare nesupervizata

Invatarea supervizata se aplica atunci cand, pentru fiecare exemplu (vector x) aplicat la intrare, se cunoaste raspunsul dorit la iesire (d). Raspunsul dorit este furnizat de "profesor" asa cum este ilustrat in figura 2.19(a). Distanta p[d,o] dintre raspunsul real (o) si cel dorit (d) reprezinta o masura a erorii pe care o face reteaua si este utilizata pentru ajustarea parametrilor retelei (ajustarea ponderilor w). Ajustarea ponderilor are drept scop minimizarea acestei erori. Prin urmare, invatarea supervizata porneste de la un set de exemple (un set de perechi): (xi,di), (x2,d2), ... (xp,dp); acest set de perechi intrare-iesire

50

Page 51: Retele Neuronale

este denumit set de antrenament (training set). Sa remarcam ca invatarea supervizata este foarte intuitiva si este utilizata adesea si in invatarea naturala (in cazul fiintelor vii). Tipic, invatarea supervizata "premiaza" raspunsurile (asocierile, clasificarile, etc) corecte si "pedepseste" raspunsurile incorecte. Mecanismul de premiere/pedepsire se traduce in ajustari corespunzatoare ale ponderilor w. Ideia este de a estima directia inversa a gradientului erorii si de a ajusta ponderile w astfel incat sa se faca un mic pas (pe suprafata de eroare) in aceasta directie. Intr-un numar finit de astfel de pasi facuti pe suprafata de eroare (in directia inversa gradientului), se va ajunge in punctul de minim al erorii (al suprafetei de eroare). Cand se ajunge in punctul de minim invatarea se considera incheiata. Cei mai multi algoritmi de invatare supervizata realizeaza un proces de minimizare stochastica a erorii in spatiul multidimensional al ponderilor (w).

Fig 2.19 Schema bloc pentru explicarea procesului de invatare (a) superizata (b)

nesupervizata

In figura 2.19(b) este redata schema bloc a invatarii nesupervizate. Aceasta invatare ("fara profesor") se aplica atunci cand nu se cunosc raspunsurile dorite (d) si prin urmare, o informatie explicita despre eroare nu exista si deci nu poate fi utilizata pentru corectarea raspunsurilor retelei. Invatarea trebuie sa se bazeze in acest caz pe observarea si analiza raspunsurilor pe care reteaua le da atunci cand i se aplica la intrare vectori (x) despre care avem cunostinte marginale/incomplete. De exemplu, invatarea nesupervizata poate fi utilizata in probleme de cluster-are; presupunand ca verctorii de intrare x sunt grupati intr-un numar de clase (categorii), reteaua are sarcina de a gasi granitele dintre aceste categorii (cluster-e). Altfel spus, reteaua trebuie sa asocieze fiecarui vector de intrare x, categoria (cluster-ul) din care acesta fece parte.

In figura 2.20 (a) si (b) sunt redate doua distributii ale vectorilor de intrare x in spatiul de intrare, considerat bidimensional. Intr-o situatie favorabila, prezentata in figura 2.20(a), granitele cluster-elor pot fi determinate daca pe intrarea retelei se aplica un set mare si reprezentativ de forme (vectori) de intrare. Un mecanism adecvat de autoadaptare a ponderilor w va trebui inclus in algoritmul de invatare, deoarece nu exista apriori cunostinte privind apartenenta la anumite claster-e a diversilor vectori de intrare. O regula de invatare posibila ar fi: forma de intrare (vectorul) x va ' fi adaugat unui anumit cluster daca distanta

51

Adaptive network

XT

>~7V

Learning signal

~ dDistance generator

p[d,o] distance measure

(a) (b)

Page 52: Retele Neuronale

dintre vectorul x si centrul respectivului cluster este mai mica decat distantele dintre vectorul x si centrele tuturor celorlalte cluster-e.

52

Page 53: Retele Neuronale

Fig 2.20 Exemple de distribute a formelor de inrare in spatiul intrarilor (a) cluster-e evidente (b) cluster-e neevidentiate.

Algoritmul de invatare nesupervizata utilizeaza forme de intrare (x) selectate aleator, fara a i se furniza informatii privind apartenenta acestor forme la diferitele cluster-e.In cadrul invatarii nesupervizate reteaua trebuie sa descopere singura proprietatile, asemanarile si deosebirile dintre diferitele forme de intrare. Altfel spus, reteaua trebuie sa descopere singura modul de distributie a formelor de intrare in spatiul intrarilor. Descoperind aceasta distributie, reteaua va parcurge un proces de ajustare a propriilor parametrii (ponderilor w). Acest proces este denumit auto-organizare (self-organization). La finalul acestui proces de auto-organizare (invatare) reteaua va reusi sa grupeze formele de intrare in cluster-e.

Trebuie mentionat ca invatarea nesupervizata nu este intotdeauna posibila. Un asemenea caz este redat in figura 2.20(b). unde cluster-ele nu pot fi percepute nici chiar de ochiul uman.

2.5 Reguli de invatare a retelelor neuronale

Neuronul artificial (figura 2.4) este un element adaptiv. Ponderile sale w i sunt ajustabile si vor fi ajustate in functie de semnalul aplicat la intrare (valorile x i), de valoarea (reala) obtinuta la iesire (o) si de valoarea dorita la iesire (d) furnizata de "profesor". Distanta (diferenta) dintre iesirea dorita si iesirea reala p[d,o] reprezinta eroarea pe care o face neuronul iar ajustarea ponderilor (wi) se face astfel incat aceasta eroare sa fie minimizata. Acesta este modelul invatarii supervizate.

In anumite cazuri, iesirea dorita (d) nu poate fi precizata (este necunoscuta). Intr-o astfel de situatie, ponderile (wi) vor fi ajustate numai in functie de semnalul aplicat la intrare (valorile xi) si de valoarea obtinuta la iesire (o). Acesta este modelul invatarii nesupervizate.

Procesul invatarii pentru neuronul i, care de regula este un element de procesare din cadrul unei retele mult mai complexe, este ilustrat in figura 2.21. Invatarea consta in ajustarea tuturor componentelor w i j ale vectorului de ponderi wi. Intrarea xj (care va fi ponderata cu coeficientul ajustabil wi j ) poate fi iesirea unui alt neuron din cadrul retelei (neuronul j) sau poate fi o intrare externa. In aceasta sectiune vom descrie invatarea, uneori supervizata alteori nesupervizata, a unor retele foarte simple, formate dintr-un singur neuron sau dintr-un singur strat de neuroni. Forma functiei de activare poate sa difere de la o regula de invatare la alta. Sa mai observam ca valoarea de prag (T) nu apare explicit in figura 2.21. Aceasta poate fi modelata insa cu ajutorul ultimei intrari in neuron (intrarea de bias), daca se seteaza xn=-1 si wn=T (vezi si explicatiile de la 2.1.C). In acest caz vectorul de intrare real contine primele n-1 componente (x=[x1 x2 ■ ■ ■ xn-1j) si este extins cu a n-a components (xn=-1) doar pentru a modela pragul neuronului (T). In acest fel, valoarea de prag T devine un parametru (wn=T)

53

J i • ' ••IK J

1 •mffm 1

w

i Xj

0 0(a) (b)

Page 54: Retele Neuronale

ajustabil in timpul invatarii. Prin urmare, in cele ce urmeaza vom considera intrarea xn fixa si egala cu -1.

Fig 2.21 Ilustrarea procesului de invatare prin ajustarea ponderilor(iesirea dorita di este disponibila numai la invatarea supervizata)

In studiile relative la invatarea retelele neuronale s-a adoptat urmatoarea regula generala: Vectorul de ponderi wj=[wn wi2 ■ ■ ■ w/n]t trebuie sa creasca proportional cu produsul dintre vectorul de intrare x si semnalul de Invatare r. Semnalul de invatare r este in general o functie de wj, x si in unele cazuri (la invatarea supervizata) de iesirea dorita di. Prin urmare:

r=r(wj,x,di) (2.27)

Valoarea cu care vetorul wj se ajusteaza (se incrementeaza) in pasul de invatare de la momentul t va fi:

Aw^c wtlx^ldm x(t) (2.28)

unde c este o constanta pozitiva denumita constants de invatare care determina rata de invatare. Vectorul de ponderi de la momentul t devine la momentul t+1 (prin ajustare):

wj(t+1 )=wi(t)+c lJ[wi(t),x(t),di(t)] x(t) (2.29a)

Daca recurgem la modelul discret putem introduce indicele superior (k) pentru a defini pasul de invatare (training step). Pentru pasul k, formula de ajustare (2.29a) devine:

wjk+1=wik+cr[wi

k!xk

!dk] x (2.29b) Invatarea dupa formula (2.29b) reprezinta modelul discret al invatarii, in care timpul t este considerat o variabila discreta. Modelul continuu pleaca de la premisa ca t este o variabila cointinua. Formula de ajustare a ponderilor pentru modelul continuu rezulta din (2.29a); aceasta este:

^ = c r-x(t) (2.30)

54

[wnwn • • ■ w,«\' is weight vector undergoing training

Page 55: Retele Neuronale

A Regula lui Hebb (Hebbian Learning Rule)In cazul invatarii hebbiene (Hebb 1949), semnalul de invatare este (prin definitie) egal cu iesirea neuronului:

r=oi=f(w! x) (2.31)

Valoarea Awi cu care se ajusteaza vectorul de ponderi va fi:

Awj=cf(wi x)x (2.32a)

iar formula de ajustare a unei singure ponderi va fi:

Awij=c f(wi x)xj (2.32b)

Sintetic, acasta formula poate fi rescrisa astfel:

Awij=c oi Xj pentru j=1, 2, ..., n (2.32c)Aceasta formula revendica initializarea ponderilor cu valori mici aleatoare (in jurul valorii w/=0). Initializarea ponderilor se face desigur inaintea startarii procesului de invatare. Invatarea hebbiana este o regula de invatare nesupervizata si implementeaza matematic clasica propozitie a lui Hebb: "When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes place in firing it, some growth process or metabolic change takes place in one or both cells such that A's efficiency, as one of the cells firing B, is increased." (Hebb 1949.). Regula stipuleaza faptul ca, daca produsul sau termenul de corelatie o^Xj (produsul dintre iesire si intrare) este pozitiv, trebuie sa produca la o crestere a ponderii wj, in caz contrar ponderea va scadea.

Ponderile sinaptice vor fi ajustate pentru fiecare vector (pattern) aplicat la intrare. Asta inseamma ca pattern-urile aplicate cele mai frecvent vor avea cea mai mare influenta asupra iesirii.

De la introducere, regula lui Hebb a evoluat in diferite variante. In anumite variante regula este usor modificata pentru a contracara cresterea excesiva a ponderilor, care se produce atunci cand intrarea (Xj) si iesirea (o) sunt frecvent de acelasi semn. O asemenea varianta este denumita invatare hebbiana cu saturatie (cand tind sa creasca excesiv, ponderile se satureaza la un nivel prestabilit).

Exemplul 2.4 (J.M.Zurada, pag 61) ilustreaza invatarea hebbiana pentru neuroni cu functiade activare binara (treapta) si respectiv continua (sigmoidala).

B Regula Perceptronului (Perceptron Learning Rule)

Pentru regula perceptronului, semnalul de invatare este diferenta dintre raspunsul dorit la iesirea neuronului si cel real obtinut (Rosenblatt 1958). Prin urmare, invatarea dupa regula perceptronului este supervizata si semnalul de invatare este (prin definitie):

r=d i-d (2.33)

unde oi=sgn(witx), adica functia de activare este functia treapta bipolara, iar di reprezinta

raspunsul dorit la iesirea neuronului. Regula perceptronului este ilustrata in figura 2.23.

55

Page 56: Retele Neuronale

Fig 2.23 Regula perceptronului de invatare

In cazul acestei reguli de invatare, formulele de ajustare a ponderilor devin:

Awpc-[d/-sgn(w/ x)] x (2.34a)

Awj= c• [di-sgn(w/- x)] xj pentru j=1, 2, ..., n (2.34b)Regula perceptronului este aplicabila numai pentru neuroni cu functie de activare de tip treapta iar ecuatiile (2.34) redau formulele de ajustare pentru treapta bipolara.

Sa observam ca in cazul acestei reguli ajustarea ponderilor se face numai daca raspunsul real oi este incorect. Eroarea dj-Oj este inerent inclusa in aceasta regula de invatare. Deoarece raspunsul dorit (d/) si cel real (o/) pot fi fie 1 fie -1, formula de ajustare (2.34a) se reduce la:

Dw i =±2cx (2.35)

unde semnul plus se utilizeaza cand d=1 si o/=sgn(w/t x)=-1 si semnul minus se utilizeaza

cand d/=-1 si o/=sgn(w/t x)=1.

Din formula (2.35) se observa ca ajustarea Awi devine zero cand raspunsul real oi este egal (identic) cu cel dorit di. Ca metoda de invatare supervizata, regula perceptronului este larg utilizata. Pentru aceasta regula de invatare ponderile pot fi initializate cu orice valori.

56

c

Page 57: Retele Neuronale

Exemplul 2.5 (J.M.Zurada, pag 65) ilustreaza invatarea dupa regula perceptronului.

C Regula delta (Delta Learning Rule)

Regula delta se poate aplica doar in cazul functiilor de activare continue, cele mai uzuale fiind functiile sigmoidale (bipolara si respectiv unipolara), definita prin relatiile (2.3a) si (2.4a). Invatarea prin regula delta este o invatare supervizata. Semnalul de invatare utilizat in cadrul acestei reguli este denumit delta si este definit astfel:

r=[di-f(wt x)]f'(wt x)

unde f'(wj x) reprezinta derivata functiei f(net) calculata pentru net=wj

x. Schema bloc aferenta acestei reguli de invatare este redata in figura 2.24.

Regula delta poate fi usor dedusa daca se porneste de la premisa ca invatarea trebuie sa minimizeze eroarea patratica dintre iesirea reala o i si iesirea dorita di, definita prin relatia (2.37a).

1 9E = 2 (di - o i)2

Ecuatia (2.37a) este ecivalenta cu:

E = 2[d i - f(w;x)] 2

Daca se calculeaza gradientul erorii (2.37b) in raport cu wi se obtine:

VE = -(d, - o,) • f ' (wtx) • x

57

(2.36)

Fig 2.24 Regula de invatare delta

(2.37a)

(2.37b)

(2.38a)

Page 58: Retele Neuronale

Componentele vectorului gradient vor fi:

— = -(di -oi)• f'(w'x)• Xj ; pentru j=1, 2, ..., n (2.38b)

Gradientul unei functii este un vector care defineste directia si sensul de crestere maxima a respectivei functii. Prin urmare, minimizarea erorii patratice impune ajustarea vectorului de ponderi in sens invers gradientului:

Aw, =- ]• VE (2.39)

unde h este o constanta pozitiva.Din (2.38a) si (2.39) se obtine formula de calcul a valorilor de ajustare a vectorului de ponderi:

Aw,= n • (dj - o i) • f ' (net-,) • x (2.40a)

Valoarea de ajustare a unei singure ponderi se obtine din (2.38b) si (2.39): A

wu= n-(dj - o, )• f' (net, )• xl ; pentru j=1, 2, ..., n

(2.40b)Sa notam ca formulele (2.40) de ajustare a ponderilor s-au obtinut pornind de la ideea minimizarii erorii patratice. Pe de alta parte, daca in regula generala a invatarii (2.28) introducem semnalul de invatare r definit prin ecuatia (2.36), obtinem:

A i^ = c• (d, - o,) • f ' (net, ) • x (2.41)

Se poate observa ca ecuatia (2.41) este identica cu (2.40a) deoarece n si c au aceeasi semnificatie (constante pozitive care definesc rata de invatare).

Sa notam ca, pentru regula delta, initializarea ponderilor se poate face cu orice valori. Sa mai notam ca regula delta a fost introdusa in anul 1986 (McClelland si Rumelhart) si reprezinta o completare a regulii perceptronului; ea se mai numeste si regula de invatare a perceptronului continuu (regula perceptronului vizeaza perceptronul discret !).

Exemplul 2.6 (J.M.Zurada, pag 68) ilustreaza invatarea dupa regula delta. D

Regula de invatare Widrow-HoffInvatarea prin regula Widrow-Hoff (Widrow 1962) este o invatare supervizata. In acelasi timp, este o invatare independenta de functia de activare deoarece minimizeaza eroarea patratica dintre iesirea dorita d si valoarea de activare a neuronului net=wt x. Prin urmare, semnalul de invatare utilizat va fi:

r=dj-w! x) (2.42)

Formula de calcul a valorilor de ajustare a vectorului de ponderi va fi:Aw, = c• (d, -w'x)• x (2.43a)

58

Page 59: Retele Neuronale

Awij. = c• (di -w/x)• xj ; pentru j=1, 2, ..., n

Regula W/drow-Hoff poate fi considerata un caz particular al regulii delta. Intr-adevar, daca in ecuatia (2.36) consideram f(w/ x)=wi

t x, adica daca functia de activare este functia identica f(net)=net, atunci relatia (3.36) devine identica cu (2.42).

Regula W/drow-Hoff este uneori denumita regula LMS (least mean square). In cadrul acestei reguli ponderile se pot initializa cu orice valori.

E Regula corelatiei (correlation learning rule)

Daca in formula generala a invatarii (2.28) se substituie r=di se obtine regula corelatiei. Formula de calcul a valorilor de ajustare a vectorului de ponderi devine:

Aw, = c • d/ • x

Valoarea de ajustare a unei singure ponderi va fi:

Aw^. = c • dj • Xj ; pentru j=1, 2, ..., n

Regula corelatiei poate fi rezumata astfel: daca di este raspunsul dorit pentru intrarea Xj, ajustarea pondereii corespunzatoare (w.) este proportionala cu produsul acestora (d / xj). Aceasta regula se aplica de obicei pentru inregistrarea datelor in retelele de memorare realizate cu neuroni discreti.

Exista o oarecare similaritate intre regula corelatiei si regula lui Hebb (daca in ecuatiile (2.32a) si (2.32b) se inlocuieste o/= w/ x cu di, se obtine (2.44a) si respectiv (2.44b). Totusi, regula lui Hebb realizeaza o invatare nesuperizata in timp ce regula corelatiei realizeaza o invatare supervizata. Similar regulii hebiene, regula corelatiei revendica initializarea ponderilor cu zero (w=0).

F Regula winner-take-all

Regula w/nner-take-all (invingatorul ia tot) difera substantial de toate cele prezentate pana aici; ea nu poate fi explicata decat pe un ansamblu de neuroni, uzual aranjati intr-un strat. Aceasta regula este un exemplu de invatare competitiva (competitie intre neuroni), realizand o invatare nesupervizata. De obicei aceasta regula este utilizata pentru invatarea proprietatilor statistice aferente datelor (vectorilor) de intrare. Invatarea pleaca de la premisa ca unul dintre neuroni, sa zicem neuronul m (vezi figura 2.25), va genera cea mai mare valoare pe iesire (raspunsul maxim), atunci cand se aplica stimulul (vectorul) x la intrare. Acest neuron este declarat invingator (winner). Drept consecinta, doar vectorul de ponderi aferent invingatorului:

wm=[wm1 wm2 ... wmn]t

va fi ajustat, iar valorea de ajustare se calculeaza cu formula:

Awm=a(x-wm)

Formula de ajustare a unei singure ponderi va fi:

59

(2.44a)

(2.44b)

(2.43b)

Valoarea de ajustare a unei singure ponderi va fi:

(2.45)

(2.46a)

Page 60: Retele Neuronale

Awij=a(xj-wmj) pentru j=1, 2, ..., n (2.46b)

unde a>0 este o constants de invatare de valoare mica, care de regula este micsorata pe masura ce invatarea progreseaza.

Invingatorul este ales dintre toti cei p neuroni aflati in competitie, pe baza criteriului de activare maxima:

wmf x = max (w■ x) (2.47)

i=i p2

Acest criteriu inseamna de fapt gasirea vectorului de ponderi wm care este cel mai apropiat (in termeni geometrici, ca directie si sens) de vectorul de intrare x. Dupa gasire, regula (2.46) realizeaza incrementarea vectorului wm cu o fractie (a) din x-wm. Sa notam ca doar vectorul de ponderi aferent neuronului invingator (wm) este ajustat. In urma ajustarii, vectorul de ponderi aferent invingatorului (wm) tinde sa estimeze mai bine vectorul de intrare in cauza (x). Asta inseamna ca, prin ajustare vectorul de ponderi aferent invingatorului se apropie si mai mult (ca directie si sens in termeni geometrici) de vectorul de intrare in cauza.

La anumite retele care utilizeaza aceasta regula de invatare, cum ar fi reteaua cu autoorganizare introdusa de Kohonen, vecinatatea este extinsa astfel incat sa includa si neuronii cei mai apropiati de invingator iar ajstarea ponderilor se aplica atat invingatorului cat si celorlalti neuroni din vecinatatea sa. Invatarea incepe cu o vecinatate extinsa si pe masura ce invatarea progreseaza vecinatatea se reduce progresiv (fine tuning). Spre sfarsitul procesului de invatare se ajunge de regula la vecinatatea minima, care include doar neuronul invingator.

Ponderile se initializeaza cu valori aleatoare iar, pe durata invatarii, vectorii de ponderi ajustati trebuie sistematic normalizati (scalati pentru ca lungimea lor sa ramana permanent 1).

60

Fig 2.25 Regula de invatare "winner-take-all"

Page 61: Retele Neuronale

G Regula outstar

Similar regulii winner-take-all, regula outstar poate fi usor explicata pe un ansamblu de nouroni aranjati intr-un strat. Regula vizeaza obtinerea raspunsului dorit d la iesirea unui strat de p neuroni asa cum se arata in figura 2.26. Desi regula outstar realizeaza o invatare supervizata, ea permite retelei sa extraga proprietatile statistice ale semnalelor aplicate (vectorilor aplicati) la intrare si respectiv obtinute (obtinuti) la iesire.

-©k—4

Fig 2.26 Regula de invatare outstar

Formula de ajustare a vectorului de ponderi este:

Aw j = b(d - w j)

iar cea de ajustare a unei singure ponderi este:

Awmy =b(dm - wm j) pentru m=1, 2, ..., p (2.48b)

Sa observam ca, spre deosebire de toate regulile descrise pana aici, ponderile ajustate in cazul regulii outstar sunt cele care conecteaza intrarea Xj la toti cei p neuroni din stratul neuronal (poonderile aferente conexiunilor figurate cu linii ingrosate in figura 2.26). Prin urmare, vectorul de ponderi ajustat cu formula (2.48a) se defineste astfel:

Constanta de invatare (3 este o constanta mica pozitiva a carei valoare se reduce pe masura ce invatarea progreseaza. Aplicand in mod repetat formula de ajustare (2.48), regula outstar

61

(adjusted weights arc highlighted)

AW,.

A wmj

(2.48a)

Page 62: Retele Neuronale

asigura faptul ca pattern-urile reale, initial distorsionate, obtinute la iesire (o), devin similare cu pattern-urile nedistorsionate dorite la iesire (d).

62

Page 63: Retele Neuronale

Concluzii privind regulile de invatare

Concluziile sintetice relative la cele sapte reguli de invatare prezentate pana aici, sunt redate in tabelul 2.1. Pentru fiecare regula sunt redate in tabel urmatoarele:

• formula de ajustare a ponderilor• tipul invatarii (supervizata sau nesupervizata)• modul de initializare a ponderilor• functia de activare impusa de respectiva regula de invatare• structura retelei care invata (un singur neuron sau un strat de neuroni)

Primele 5 reguli redate in tabel pot fi utilizate pentru invatarea unui singur neuron; ultimele 2 revendica aplicarea pe un strat de neuroni si deci nu pot fi utilizate pentru invatarea unui singur neuron.

Prezentarea celor 7 reguli de invatare nu este exhaustiva; cele 7 sunt cele mai importante dar nu sunt singurele reguli.

Fiecare regula are propria semnificatie, propriul suport matematic si propria aplicabilitate. Utilizand aceste reguli, retelele neuronale pot fi invatate (antrenate) cu scopul de a rezolva probleme specifice cum ar fi: clasificare, asociere, recunoasterea formelor. Invatarea de regula se face cu succes. Nu sunt excluse insa esecurile (situatiile in care reteaua nu reuseste sa invete). Esecurile sunt insa exceptii; nu reprezinta regula. Atunci cand invatarea esueaza, reteaua (ponderile) se reinitializeaza, si algoritmul de invatare (iterativ) se restarteaza. De cele mai multe ori restartarea conduce la succes.3 Clasificatori bazati pe retele de perceptroni monostrat

Principala functie a unui clasificator este de a imparti formele (pattern-urile) de intrare in clase si de a decide carei clase li apartine fiecare forma ce i se aplica la intrare. Conceptual, problema poate fi descrisa ca o transformare a unui set de date de intrare (din spatiul de

63

Regula de invatare

Formula de ajustare a unei ponderi

Aw/

Initializarea ponderilor

Tipul invatarii Functia de activare a neuronului

Structura care invata

Hebbiana Aw/=c-OrXjj=1,2, ... ,n

zero nesupervizata oricare neuron

Perceptronului Aw/= c[d,-sgn(w/ x)]xj j=1,2,... ,n

orice valori superevizata treapta bipolara sau unipolara (*)

neuron

Delta Aw i j =h •(d, - o { )• f (net , )• X j j=1,2, ... ,n

orice valori superevizata continua (sigmoidala)

neuron

Windrow-Hoff AW,/ = c • (d, - w' x)• Xj

j=1,2,... ,n

orice valori superevizata oricare neuron

Corelatiei Awn = c d

rx /

j=1,2, ... ,n

zero superevizata oricare neuron

Winner-take-all Awij=a (Xj-wm/); m-indexul neuronului invingator

j=1,2,... ,n

valori aleatoare, vectori

normalizati

superevizata continua (sigmoidala)

strat de neuroni

Outstar Aw/ =b(d, - w

n) i=1,2,... ,n zero nesupervizata continua

(sigmoidala)strat de neuroni

c, a, /3 - constante de invatare (pozitive)(*) - formula de calcul Aw// este pentru treapta bipolara; pentru treapta unipolara nu este data

in tabel.Tabelul 2.1 Date sintetice privind regulile de invatare si proprietatile acestora

Page 64: Retele Neuronale

intrare) in spatiul de iesire, denumit spatiul de clasificare. In general, transformarea datelor de intrare in clase de apartenenta este o transformare complexa si neinvertibila.

3.1 Modelul clasificarii, caracteristici si regiuni de decizie

Clasificarea formelor (pattern classification) este una dintre cele mai utile sarcini pe care o poate rezolva o retea neuronala. O forma (pattern) este o descriere cantitativa a unui obiect, eveniment sau fenomen. Formele pot fi spatiale (caractere, amprente, harti, imagini) sau temporale (semnale de vorbire, electrocardiograme, seismograme, semnale variabile in timp produse de diversi senzori).

Obiectivul clasificarii este de a asigna unei forme (obiect fizic, eveniment sau fenomen) o clasa sau o categorie prespecificata. In figura 3.1(a) este redata schema bloc a unui sistem de recunoastere si clasificare.

Fig 3.1 Sistem de recunoastere si clasificare(a) Schema bloc (b) clasificatorul de forme

Recunoasterea trebuie inteleasa ca fiind clasificarea unor forme de invatare care nu sunt identice cu cele utilizate in antrenarea (invatarea) clasificatorului. De exemplu, clasificatorul este antrenat cu (invata) forme de intrare pure iar in momentul utilizarii este pus in situatia de a clasifica forme de intrare deformate (cu zgomot). Intr-o astfel de situatie clasificarea formelor devine recunoasterea formelor.

64

Page 65: Retele Neuronale

Sistemul de clasificare consta dintr-un traductor de intrare (input transducer) care furnizeaza extractorului de caracteristici (feature extractor) datele (vectorii) care descriu formele de intrare. Prin urmare, la intrarea extractorului de caracteristici se aplica vectori de date care apartin diverselor categorii (clase). Acesti vectori de intrare de regula pot fi comprimati fara a pierde informatii relevante (fara a afecta performanta clasificatorului). Prin compresie, vectorii de intrare genereaza asa zisele caracteristici (features). Caracteristicile sunt evident tot niste vectori de date (vectori de caracteristici) de dimensiune mult mai mica decat vectorii de intrare. Prin urmare, extractorul de caracteristici din figura 3.1(a) realizeaza o reducere de dimensionalitate; dimensiunea spatiului de caracteristici (feature space) este mult mai mica decat dimensiunea spatiului formelor (pattern space) denumit si spatiu de intrare (input space).

Sa notam ca la intrarea clasificatorului se pot aplica direct vectorii de intrare (in formatul extins), asa cum se arata in figura 3.1(b). In acest caz, extractorul de caracteristici este inglobat in structura clasificatorului, nemaifiind implementat separat. Prin urmare, clasificatorul din figura 3.1(b) va realiza atat extragerea caracteristicilor cat si clasificarea propriu-zisa.

In cele ce urmeaza vom considra ca la intrarea clasificatorului se aplica vectori (x), n-dimensionali, care descriu formele ce trebuie clasificate:

Clasificatorul implementeaza functia de deizie:

io=io(x) (3.1)

care poate lua R valori vadiscrete (io=1, 2, ...., R), specificand astfel clasa careia ii apartine vectorul de intrare x.

In figura 3.2 este ilustrat modul in care pot fi obtinuti vectorii de intrare (x) in cazul a doua tipuri de forme (obiecte), obiecte spatiale si respectiv temporale.

65

Fig 3.2 Doua moduri simple de codificare a formelor de clasificat prin vectori de intrare(a) forma spatiala (b) forma temporala

Page 66: Retele Neuronale

In cazul obiectului spatial din figura 3.2(a), fiecarei componente Xi a vectorului de intrare x=[xi x2 ... xn]t i se asigneaza valoarea 1 daca celula i contine o portiune a obiectului spatial si respectiv valoarea 0 (sau -1) daca nu contine nicio portiune din obiectul spatial (contine doar zona de fundal). In cazul obiectului temporal din figura 3.2(b) reprezentat de functia f(t), vectorul de intrare x poate fi format din valorile discrete xi=f(ti), cu i=1, 2, ..., n.

Clasificarea poate fi descrisa intr-o maniera intuitiva, in termeni geometrici. Fiecare obiect (vector) de intrare poate fi reprezentat printr-un punct in spatiul euclidian E" denumit si spatiul formelor sau spatiul intrarilor. Clasificatorul implementeaza o functie care mapeaza seturi de puncte din E" intr-unul din numerele io=1, 2, ..., R, asa cum sugereaza functia de decizie (3.1) Vom nota cu H1, H2, ..., HR r seturile de puncte care apartin claselor 1, 2,' ..., R.

In figura 3.3 este redat un exemplu cu patru astfel de regiuni disjuncte (H1, H2, H%, H4), pentru cazul n=2 si R=4.

Putem acum preciza mai clar rezultatul pe care trebuie sa-l genereze functia de decizie pentru o forma (un obiect) ce apartine clasei j:

io(x)=j pentru toti vectorii xe Hj, j=1, 2, 3, 4

De exemplu, vectorul x=[20 10]t apartine regiunii H2 si prin urmare clasei 2 iar vectorul x=[4 6]t apartine regiunii H3 si prin urmare clasei 3, etc.

Regiunile Hi se numesc regiuni de decizie. Regiunea Hi este separata de regiunile vecine prin suprafete de decizie. Putem afirma ca obiectele (x) situate pe suprafetele de decizie nu apartin niciunei clase. Un astfel de obiect este reprezentat in figura 3.3 de

66

Fig 3.3 Exemplu de regiuni de decizie

Page 67: Retele Neuronale

vetorul x=[-10 10f. Sa observam ca suprafetele de decizie in spatiul E2

sunt linii curbe. In cazul En (cazul general), suprafetele de decizie sunt hipersuprafete n-1 dimensionale.

3.2 Functii discriminant

In demersul nostru de proiectare a clasificatorului vom pleca de la premisa ca dispunem de un set de antrenament: un set de P forme (vectori) de intrare n-dimensionali xi, X2, ..., xP si pentru fiecare vector Xi (i=1, 2, ..., P) se cunoaste clasa din care face parte. Dimensiunea P a setului de antrenament este finita si in general este mult mai mare ca dimensiunea n a spatiului de intrare. In cele mai multe cazuri practice se considera de asemenea ca P este mult mai mare decat numarul de clase R.

Pentru inceput vom descrie clasificatorul printr-o abordare analitica bazata pe conceptul functiilor discriminant. Aceasta descriere va conduce la concluzii interesante legate de antrenarea (invatarea) clasificatorilor neuronali. Descrierea bazata pe functii discriminant va conduce de asemenea la unele dintre regulile de invatare prezentate in capitolul 2.

Sa presupunem pentru moment ca dispunem de un clasificator deja proiectat (fig 3.3a), capabil sa clasifice corect vectorii (formele) de intrare x. Pentru a realiza clasificarea unui vector x, clasificatorul trebuie sa compare valorile celor R functii discriminant gi(x), 92(x), ..., g*(x). Este convenabil sa consideram ca cele R functii discriminant calculate pentru vectorul de intrare x vor genera valori scalare. Vectorul x va apartine clasei i dacasi numai daca:)

g;(x)>g/x) pentru ij=1, 2, ..., R si itj (3.2)

Prin urmare, in interiorul regiunii de decizie H functia g;(x) va avea valoarea cea mai mare. Aceasta proprietate de maxim a functiei g;(x) pentru toate formele (vectorii) apartinand clasei i este fundamentala si va servi la alegerea formei adecvate pentru functiile discriminant.

67

Functiile discriminant g;(x) si g/x), in cazul unor regiuni de decizie H si H j contigue, vor defini suprafata de decizie din spatiul intrarilor (En) care va delimita (separa) formele

Fig 3.3a Structura clasificatorului bazat pe functii discriminant

Page 68: Retele Neuronale

din cele doua clase, i si respectiv j. Suprafata de decizie insasi va contine forme care nu apartin nici clasei i si nici clasei j. Prin urmare, ecuatia suprafetei de decizie va fi:

gi(x)-gj(x)=0 (3.3)

In figura 3.4(a) este ilustrat modul in care sunt separate 6 forma de intrare care provin din doua clase. Este redat un exemplu simplu in care spatiul intrarilor este E2 iar suprafata de decizie este o linie dreapta (in acest spatiu cu doua coordonate: xi, x2). Deci figura 3.4(a) ilustreaza cazul particular n=R=2 si introduce conceptul functiilor discriminant liniare. O simpla evaluare a figurii 3.4(a) conduce la concluzia ca exista o infinitate de functii discriminant care asigura clasificarea corecta a celor 6 forme de intrare.

Exemplul 3.1:Cele 6 forme din spatiul de intrare E2 prezentate in figura 3.4(a) trebuie clasificate in conformitate cu apartenenta lor la cele 2 clase:

{[0 0]t, [-0,5 -1]t, [-1 -2]t} : clasa 1 {[2 0]t, [1,5 -1]t, [1 -2]t} : clasa 2

Evaluand distributia celor 6 forme (vectori de intrare) in spatiul de intrare constatam ca exista o infinitate de suprafete de decizie care separa corect formele in cauza. Solutia prezentata in figura 3.4(a) este:

g(x)=-2x1+x2+2 (3.4)

Ecuatia (3.4) este ecuatia unei linii drepte care imparte spatiul formelor de intrare (planul x1, x2) in doua regiuni de decizie contigue H si H2. Este evident ca g(x)>0 pentru toate formele de intrare care apartin clasei 1, g(x)<0 pentru toate formele apartinand clasei 2 si g(x)=0 pentru toate formele (punctele) aflate pe dreapta de decizie. Prin urmare, evaluarea conditiei de maxim exprimata prin relatia (3.2) poate fi inlocuita cu evaluarea semnului functiei g(x)=g1(x)-g2(x).

In cele ce urmeaza vom evalua modalitatea de rezolvare a aceastei probleme de clasificare in doua clase pornind de la conditia initiala (3.2) si desigur cu o alegere corespunzatoare a functiilor discriminant g1(x) si g2(x). Sa observam ca, in acord cu ecuatia (3.3), proiectia intersectiei celor doua functii discriminant pe planul x1, x2 este chiar suprafata de decizie (3.4). Exista o infinitate de solutii pentru functiile discriminant iar una dintre aceste solutii este redata in figura 3.4(b). Cele doua plane g 1(x) si g2(x) din figura au ecuatiile:

2rx2+2 g1 ( x ) -4=° (3.5a)

-2x1+x2+2g2(x)=0

Harta de contur (sau de nivel) aferenta celor doua plane g1(x) si g2(x) este redata in figura 3.4(c).

Vom descrie modul in care au fost obtinute ecuatiile (3.5a). Mai intai sa observam ca suprafata (linia) de decizie cu ecuatia -2x1+x2+2=0 are doi vectori normali in planul x1, x2. Acestia sunt [2 -1]t si respectiv [-2 1]t. Functia discriminat (planul) g1(x) se poate obtine prin alegerea corespunzatoare a vectorului unitate normal la acest plan (vectorul r1). Vectorul r1 are trei componente (spatiul E3) si se poate obtine prin augmentarea vectorului [2 -1]t cu o a 3-a componenta care poate avea orice valoare pozitiva. Daca alegem valoarea 2 (vezi fig 3.4(d)), vectorul normal la planul g1(x) rezultat va fi [2 -1 2]t; prin normalizarea acestui vector se va obtine vectorul r1 (vectorul unitate normal la g1(x)).

68

Page 69: Retele Neuronale

iii

(b)

69

(a)

SiW

^ 1 8 . d, >

UIn.

G)fi'

'wrnimm

8iWX)

i

t\i

■ § ̂ ^

Page 70: Retele Neuronale

Fig 3.4a,b Ilustrare grafica pentru exemplul 3.1

70

Page 71: Retele Neuronale

71

(a) formele de intrare si suprafata de decizie (b) functiile discriminant

Page 72: Retele Neuronale

(c) harta de contur a functiilor discriminant (d) constructia vectorului normal pe planul g i(x)

In mod similar poate fi augmentat vectorul [-2 1]t cu cea de-a treia components care ar putea avea orice valoare pozitiva si pentru care putem alege tot valoarea 2. Se obtine astfel vectorul [-2 1 2]t, care prin normalizare va genera vectorul r2 (vectorul unitate normal la g2(x)). Prin urmare, vectorii unitate normali la planele g1(x) si g2(x) obtinuti prin normalizare sunt:

2 23 31 Im 13 , 2 = 32 23 3

Acesti vectori sunt redati in figura 3.4(b).Sa consideram ca planul care reprezinta functia discriminant g1(x) trece prin

punctul x1=1, x2=0, g1=1 (un punct a carui proiectie pe planul x1, x2 se afla pe suprafata (linia) de decizie g(x)=g1(x)-g2(x)=0). Planul care reprezinta functia discriminant g2(x) trebuie sa treaca prin acelasi punct (x1=1, x2=0, g1=1). Pentru ambele plane, g1(x) si respectiv g2(x), cunoastem vectorii normali unitari (r1, r2) si un punct de intersectie (Q=[1 0 1]t). Utilizand ecuatia planului care trece printr-un punct cunoscut si cu vectorul normal cunoscut (vezi J.M. Zurada - anexa AG / pag. A35), obtinem ecuatiile functiilor discriminant g1(x) si respectiv g2(x):

' x1" ix 2 0

_ S1 _

1

" x 1 "

"i"

x2 0

_g2

_1

Se poate verifica faptul ca ecuatiile (3.5c) sunt identice cu ecuatiile (3.5a). Din (3.5a) se poate obtine forma explicita a ecuatiilor celor doua functii discriminant:

[" -1 L1 X ' x 1"_ 2 _ _ x2 _

72

(3.5b)

= 0

01 X

(3.5c)

h X

+ 2

X

g1(x) =

(3.6)x

g2(x) = 1 -2x

Page 73: Retele Neuronale

Inlocuind g1(x) si g2(x) din ecuatia suprafetei de decizie g(x)=g1(x)-g2(x) cu termenul drept din ecuatiile (3.6), se va obtine ecuatia (3.4).

73

Page 74: Retele Neuronale

Sa observam ca suprafata de decizie g(x) nu defineste in mod unic functiile discriminant g1(x) si g2(x). Vectorii normali r1 si r2 definiti prin relatiile (3.5b) nu sunt unici; exista o infinitate de vectori normali care ar putea fi utilizati. De asemenea,

74

Page 75: Retele Neuronale

exista o infinitate de constante care ar putea fi adunate la g1(x) si respectiv g2(x) fara a schimba proiectia intersectiei dintre planurie g1(x) si g2(x) pe planul x1, x2.

Pentru a verifica corecta functionare a clasificatorului proiectat, trebuie sa comparam valorile functiilor discriminant g1(x) si g2(x) pentru cele 6 forme (vectori) de intrare de clasificat. Forma (pattern-ul) {[2 0]t apartine intr-adevar regiunii H2 (clasei 2) deoarece g2(2 0)=2 > g1(2 0)=0, forma (pattern-ul) {[0 0]t apartine intr- adevar regiunii H (clasei 1) deoarece g1(0 0)=2 > g2(0 0)=0, etc. In cadrul acestui exemplu functiile discriminant au fost obtinute printr-o abordare matematica, pornind de la pozitia formelor (pattern-urilor) in spatiul intrarilor. Cand structura clasificatorului este complexa, metoda matematica devine excesiv de complexa.

Atunci cand clasificarea se bazeaza pe functii discriminant cunoscute, schema bloc a clasificatorului utilizat arata ca cea din figura 3.5(a). Pentru un pattern x aplicat la intrare, cei i discriminatori calculeaza valorile celor i functii discriminant g i(x), denumite pe scurt discriminanti. Selectorul de maxim implementeaza conditiile (3.2) selectand valoarea valoarea maxima aplicata pe cele R intrari. Daca gk(x) are valoarea maxima atunci pe iesirea clasificatorului se obtine io=k ceea ce inseamna ca pattern-ul x apartine clasei k.

Abordarea bazata pe functii discriminant si exemplul prezentat pun in evidenta cazul particular al clasificatorului in doua clase (R=2) denumit si dichotomizer (engleza: dichotomizer), denumire care provine din limba greaca: dicha=in doua, tomia=a taia. S-a aratat ca, in cazul dichotomizerului, evaluarea conditiilor (3.2) poate fi inlocuita cu evaluarea functiei discriminant:

g(x)=g1(x)-g2(x) (3.7a)

Prin urmare pentru dichotomizer, regula generala de clasificare (3.2) poate fi inlocuita cu:

g(x)>0: clasa 1 (3 7b)

g(x)<0: clasa 2 (3 7b)

Evaluarea conditiilor (3.7b) este mult mai usor de implementat in practica decat selectia valorii maxime exprimata prin conditia (3.2). Asa cum sugereaza si figura 3.5(b), o simpla unitate logica discreta ar putea fi utilizata pentru implementarea dichotomizerului; calculul functiilor discriminant g1(x), g2(x) si selectorul de maxim au fost inlocuite cu o unitate de calcul a functiei g(x)=g1(x)-g2(x) urmata de o unitate de evaluare a semnului rezultatului (TLU=Threshold Logic Unit). In acord cu cele prezentate in capitolul 2, unitatea TLU poate fi imlementata cu un neuron binar (discret). In capitolul 2, aceasta unitate TLU cu ponderi sinaptice asociate celor n intrari a fost denumita perceptron discret. Raspunsurile +1, -1 furnizate de unitatea TLU indica clasa 1 si respectiv clasa 2. Unitatea TLU evalueaza semnul functiei g(x):

-1 pentru g(x) < 0 io =s (x)] = ^nedefinit pentru g(x) = 0

(3.8)g 1 pentru g(x) > 0n

Un alt exemplu de suprafata de decizie pentru cazul n=R=2 este prezentat in figura 3.5(c). In a@est exemplu suprafata de decizie g(x)=g1(x)-g2(x) are o forma mult mai complexa (neliniara) si deci functiile discriminant vor fi neliniare. In cele ce urmeaza vom vedea ca in cazul suprafetelor de decizie liniare clasificatorul poate fi implementat cu retele neuronale monostrat; in cazul suprafetelor de decizie neliniare pentru implementarea clasificatorului sunt necesare retele neuronale multistrat.

75

Page 76: Retele Neuronale

Fig 3.5 Implementarea clasificatorului (a) in R clase (b) dichotomizerul (R=2) (c) suprafata de decizie neliniara pentru n=R=2

Metodologia de proiectare a clasificatoarelor bazata pe functii discriminant este una de factura analitica (matematica). Aceasta a fost prezentata doar pentru a introduce conceptele de baza ce tin de teoria clasificatoarelor. In cadrul aceste lucrari vizam insa o alta metodologie de proiectare a clasificatoarelor; vizam clasificatoare a caror capabilitati de clasificare se obtin prin invatare (antrenare) iterativa. Prin urmare, in cadrul acestei lucrari vizam clasificatoarele implementate cu retele neuronale. In acest caz, odata aleasa forma functiilor discriminant, un algoritm iterativ de invatare va fi utilizat pentru determinarea valorilor coeficientilor din cadrul acestor functii. Invatarea va fi supervizata (pleaca de la un set de pattern-uri a caror incadrare in diversele clase se cunoaste) si daca aceste pattern-uri sunt separabile prin functiile discriminant alese (de exemplu, functii liniare), prin invatarea iterativa se obtin coeficientii functiilor discriminant. Prin urmare, pentru proiectarea unui asemenea clasificator se pleaca de la urmatoarele premise:

1. Setul de antrenament contine pattern-uri reprezentative si pentru fiecare pattern din set se cunoaste clasa din care acesta face parte. Deci invatarea va fi supervizata.

2. Functiile discriminant sunt functii liniare si coeficientii acestora (ponderile sinaptice) sunt ajustati pe parcursul invatarii

76

Page 77: Retele Neuronale

Pornind de la aceste premise, devine posibila proiectarea unui clasificator care invata din exemple. Exemplele vor fi chiar pattern-urile (vectorii de intrare) care apartin setului de antrenament si a caror apartenenta la diferitele clase se cunoaste. Acesti vectori sunt considerati chiar prototipurile claselor din care fac parte. Problema proiectarii clasificatorului consta in gasirea suprafetelor de decizie (din spatiul n-dimensional) care asigura corecta clasificare a tuturor prototipurilor si care ne ofera increderea ca va recunoaste si va clasifica corect vectori noi, neutilizati (pattern-uri neutilizate) in procesul de antrenare (invatare). Aceasta incredere deriva din capacitatea de generalizare a retelelor neuronale. Singura cerinta relativa la recunoasterea si respectiv clasificarea noilor vectori este aceea ca, acestia trebuie sa respecte aceeasi lege de distributie in spatiul de intrare si anume aceea pe care o respecta vectorii din setul de antrenament, lege pe care reteaua a invata-o si prin urmare o respecta.

3.3 Separarea liniara si clasificarea bazata pe distanta minima

Un clasificator eficient care respecta structura prezentata in figura 3.5(a) se bazeaza, in cazul cel mai general, pe functii discriminant de n variabile (x=[x1 x2 ... xn]t) neliniare. Un exemplu de clasificare neliniara este prezentat in figura 3.5(c). Dupa cum vom vedea in cele ce urmeaza, utilizarea functiilor discriminant neliniare poate fi evitata prin trecerea de la clasificatorul neuronal monostrat la clasificatorul (arhitectura) multistrat. O asemenea arhitectura este compusa din mai multe straturi de clasificatori elementari (dichotomizeri) cu functie de activare continua (perceptroni continui). Arhitectura va fi deci multistrat si pe fiecare strat vom avea mai multi perceptroni (neuroni). Se afunge astfel la aproximarea functiei discriminant neliniare cu segmente (functii discriminant) liniare.

Deoarece functiile discriminant liniare vor fi utilizate chiar si in cazul clasificatoarelor neliniare, studiul acestora devine foarte important. In cele ce urmeaza vom considera ca En

este spatiul n-dimensional al vectorilor (formelor=pattern-urilor) de intrare. Fara a pierde din generalitate, pentru a usura reprezentare grafica (intuitiva) vom considera numarul de clase R=2. In cazul clasificarii liniare, suprafata de decizie este un hiperplan a carui ecuatie poate fi obtinuta pe baza interpretarilor rezultate din figura 3.6, cu generalizarile care se impun. In figura 3.6 sunt reprezentate doua grupari (cluster-e) de pattern-uri, fiecare cluster reprezentand o clasa cunoscuta. Punctele centrale (centroizii) celor doua cluster-e sunt vectorii x1 si respectiv x2. Aceste pattern-uri centrale, denumite si prototipuri, pot fi considerate ca fiind centrele de greutate ale celor doua cluster-e. Pozitia optima a hiperplanului de decizie se obtine atunci cand hiperplanul este perpendicular pe segmentul de dreapta P1P2

(segmentul care uneste punctele prototip P1 si P2) si trece prin mijlocul acestui segment. Prin urmare planul de decizie optim este normal la vectorul x1-x2, vector orientat spre P1

(semispatiul pozitiv). Ecuatia acestui hiperplan de decizie optim (vezi J.M. Zurada - anExa AG) este:

(x1 - x 2)t x + 2 (||x 2 | | 2- | xl) = 0 (3.9)

Termenul stang al ecuatiei (3.9) este evident functia discriminant a dichotomizerului g(x).

77

Page 78: Retele Neuronale

Pe de alta

parte,

forma

generala a

unui hiperplan de

decizie liniar este:

w1x1+w2x2+ •• +WnXn+Wn+1=0 (3.10a)

care in forma vectoriala devine:

wtx+wn+1=0 care mai poate fi scrisa sub forma:

(3.10c)

unde w reprezinta vectorul de ponderi definit astfel:

w,wc

w =

w„

Coeficientii (ponderile) wi, w2, ..., wn+i aferente dichotomizerului pot fi obtinute prin compararea ecuatiilor (3.9) si (3.10):

w=x1- x2(3.11)

1 /I I | |2 I I | |2 wn+1 = 2 ( I x ^ " I | x J )

78

Class 1

Class 2

Fig 3.6 Constructia functiei discriminant n-dimensionale liniare (R=2)

15%si

(3.10b)

ww

= 0n+1

Page 79: Retele Neuronale

Din ecuatiile (3.11) rezulta ca functia discriminant g(x) devine cunoscuta daca se cunosc pozitiile punctelor prototip P1 si P2. Prin urmare, daca nu se cunosc coordonatele centrelor cluster-elor (x1 si x2), utilizand metoda prezentata, g(x) nu poate fi determinata a priori.

Forma liniara a functiilor discriminant poate fi utilizata si pentru clasificarea in mai mult de doua clase. In cazul a R clase care formeaza perechi liniar separabile, vom avea maxim R(R-1)/2 hiperplane de decizie de tipul celui definit de ecuatia (3.10), cu ponderile calculate pe baza ecuatiilor (3.11). Pentru R=3 vom avea maxim 3(3-1)/2=3 hiperplane de decizie. In cazul in care numarul de clase este mare, anumite regiuni de decizie H, Hjar putea fi necontigue, eliminand astfel anumite hiperplane de decizie.In aceste cazuri ecuatia gi(x)=gJ{x) nu are solutie.

Clasificatorul bazat pe distanta minima:Sa investigam operatia de clasificare in R categorii (clase), bazata pe conceptul distantei minime. Fiecare dintre cele R clase este reprezentata de punctele prototip P1, P2, ..., PR, respectiv de vetorii prototip x1, x2, ..., xR. Distanta euclidiana dintre un vector x aplicat la intrarea clasificatorului si unul dintre vectorii prototip xi este data de norma vectorului x-xi:

||x - xj = yl(x - xi)t(x - xi ) (3.12)

Un clasificator bazat pe distanta minima calculeaza distantele de la vectorul (pattern-ul) de intrare x (a carui clasa este necunoscuta) pana la toate prototipurile x1, x2, ..., xR. Vectorului x i se va asigna clasa aferenta prototipului in raport cu care se obtine distanta minima. Daca calculam patratul distantei euclidiene exprimate prin ecuatia (3.12) obtinem:

||x - x j 2 = x t - x -2x it - x + Xjl -Xj, pentru i = 1 . R (3.13)

j

t 2 . Evident, termenul x -x este independent de i (independent ,de prototipul in raport cu care se calculeaza distanta) si apare in toate cele R distante calculate cu ecuatia (3.13). Prin urmare, in cadrul celor R ecuatii (3.13), este suficient sa se calculeze doar termenii2xjl-x -Xj l -Xj, pentru i ^ R si sa se determine pentru ce prototip xi se obtine valoarea maxima. Se poa^^e observa ca operatia de selectie a valorii maxime pentru

termenul Xj^x--^^^ Xj este , echivalenta cu operatia de selectie a distantei ||x - xj minime.

Acasta proprietate de maxim a termenului Xj1 - x - este echivalenta cu proprietatea de maxim

a functiei discriminant gi(x) si prin urmare putem defini:

gi(x)=^ x^ x--!^1 , pentm^ . R (3.14)

Acum devine clar faptul ca functiile discriminant (3.14) au forma liniara (sunt functii liniare) de forma:

gi(x)=wit • x+wi,n+1, pentru i=1, 2, ..., R (3.15)

Coeficientii celor R functii discriminant gi(x), cu i=1, 2, ..., R, sunt reprezentati de ponderile w i

si pot fi determinati comparand (3.15) cu (3.14):

79

Page 80: Retele Neuronale

w i = Xi

, pentru i = 1 2 . R

In concluzie, clasificatoarele bazate pe distanta minima pot fi considrate clasificatoare liniare, denumite uneori masini liniare. Deoarece clasificatorul bazat pe distanta minima atribuie vectorului de intrare x clasa corespunzatoare prototipului celui mai apropiat de x (clasa prototipului care se potrivest

80

Ix,' 2 1

(3.16)w i,n+1 _

Page 81: Retele Neuronale

e cel mai bine lui x), clasificarea bazata pe distanta minima se mai numeste si clasificare bazata pe corelatie (correlation classification). Schema bloc a clasificatorului liniar care utilizeaza functiile discriminant definite prin relatiile (3.15) este prezentata in figura 3.7.

81

Page 82: Retele Neuronale

Clasificatorul din figura 3.7 poate fi privit ca un caz particular al clasificatorului mai general din figura 3.5.

82

Fig 3.7 Clasifica

torul liniar

Page 83: Retele Neuronale

Clasificatorul 3.7 consta din R unitati care calculeaza produsele scalare wi

t x (i=1,2,...,R), urmate de un selector de maxim. Pentru clasificarea unui pattern x, mai intai se calculeaza valorile celor R functii discriminant gi(x), (i=1,2,...,R), dupa care selectorul de maxim selecteaza discriminantul cu valoarea maxima gk(x) si raspunde pe iesire cu valoarea

83

Page 84: Retele Neuronale

k. Asta inseamna ca pattern-ul x apartine clasei k.

84

Page 85: Retele Neuronale

Sa observam ca suprafata de decizie Sj care separa regiunile contigue H, Heste un hiperplan a carui ecuatie este:

gi(x)-gj(x)=0 (3.17a)adica:

wit x+wi,n+1-wj t x-wj ,n+1=0 (3.17b)

Observatie:Este larg utilizata conventia de a emula valoarea de prag T a neuronului cu o intrare suplimentara numita intrare de bias. Prin urmare, daca pattern-ul de intrare are n componente (x1,x2,...,xn) acesta se augmenteaza cu componenta xn+1=1. Similar vectorul de ponderi se augmenteaza cu wn+1=-T. Daca neuronul neaugmentat lucreaza cu valoarea de prag T, atunci neuronul augmentat va lucra cu valoarea de prag egala cu 0 (pragul la modelul augmentat este emulat cu intrarea d bias: xn+1=1 careia ii corespunde pondereawn+1 =

-T).Daca notam vectorul de intrare augmentat cu y, acesta va fi:

(3.18)

Vectorul de ponderi augmentat va fi:

w-T

Neuronul augmentat este perfect echivalent cu neuronul neaugmentat. Modelul augmentat ne permite insa sa scriem intr-o forma mult mai compacta ecuatiile (3.15) care definesc functiile discriminant:

gi(y)=wi* • y

Ecuatia (3.19) implementeaza produsul scalar dintre vectorul de ponderi augmentat si vectorul (pattern-ul) de intrare augmentat. Aceasta simplificare face ca in foarte multe cazuri sa se foloseasca modelul augmentat.

Sa mai notam ca uneori se opereaza cu un model augmentat in care xn+1=-1 si wn+1 = T (vezi si explicatiile de la 2.1.C). Este evident ca si acesta este un model augmentat echivalent.

Exemplul 3.2 (J.M. Zurada, pag 110) reda modul de proiectare a unui clasificator bazat pe distanta minima.Sa definim notiunea de separabilitate liniara. Sa presupunem ca avem un set de

pattern-uri Hcare este impartit in subseturile H?, Hf, ..., H^. Daca o masina liniara (clasificator liniar) poate clasifica pattern-urile din subsetul Hi ca apartinand clasei i, pentru i=1, 2, ..., R, atunci pattern-urile din setul Hsunt liniar separabile.

Daca facem apel la functiile discriminant liniare, separabilitatea liniara poate fi definita, intr-un sens mult mai formal, astfel:Daca exista R functii liniare de x definite in acord cu relatiile (3.10) si daca

gi(x)>gj(x) pentru toate pettern-urile xe^ i=1, 2, ..., R; j=1, 2, ..., R; i+j atunci

subseturile Hi sunt liniar separabile.

85

y=

w

(3.19)

Page 86: Retele Neuronale

In figura 3.9 sunt prezentate doua exemple de seturi liniar neseparabile (in spatiul bi si respectiv tridimensional) Este vorba de functia XOR (SAU exclusiv) denumita si functia de paritate:

f(x1, x2, ... ,xn)=XOR(x1, x2, ... ,xn)= x1 © x2 ©... © x3

Fig 3.9 Exemplu de functie care conduce la neseparabilitate liniara (R=2) (a) functia x1 © x2 (b) functia x1 © x2 © x3

Valorile functiei XOR sunt distribuite in varfurile hipercubului n-dimensional. In figura 3.9(a) se prezinta forma bipolara iar in figura 3.9(b) forma unipolara a functiei XOR. Functia XOR este adesea utilizata pentru a exemplifica neseparabilitatea liniara.

In figurile 3.4(a) si 3.6 sunt prezentate exemple de pattern-uri liniar separabile. Putem observa ca suprafetele de decizie liniare definesc regiuni de decizie convexe in spatiul de intrare (spatiul pattern-urilor).

3.4 Conceptul invatarii neparametrice

Metodologia de proiectare a clasificatoarelor prezentata mai sus este o metodologie analitica bazata pe calculul granitelor (suprafetelor de decizie), pornind de la pozitia (distributia) prototipurilor, respectiv a cluster-elor pe care acestea le formeaza, in spatiul de intrare. In abordarea teoretica, precum si in exemplele 3.1 si 3.2, s-a aratat ca coeficientii functiilor discriminant liniare, denumiti ponderi, pot fi determinati pe baza setului de prototipuri si respectiv apartenentei acestora la diversele clase (cluster-e).

In acest paragraf vom examina clasificatoarele bazate pe retele neuronale, ale caror ponderi (coeficienti) se obtin prin invatare (nu printr-un calcul analitic !). In aceasta abordare se porneste de la un set de pattern-uri (prototipuri) x1, x2, ..., xP, denumit set de exemple, set de invatare sau set de antrenament. In cadrul procesului (algoritmului) de invatare, prototipurile sunt aplicate succesiv si ciclic pe intrarea clasificatorului. Invatarea va fi de tip supervizat deoarece pentru fiecare prototip se cunoaste raspunsul corect (clasa din care

86

Page 87: Retele Neuronale

acesta face parte). La aplicarea unui prototip pe intrarea retelei vom avea, pe de o parte raspunsul real al retelei si pe de alta parte, raspunsul corect (clasa din care face parte respectivul prototip) furnizat de catre "profesor". Daca raspunsul real nu coincide cu cel corect (daca clasificatorul clasifica gresit respectivul prototip) se trece la ajustarea ponderipor (coeficientilor) clasificatorului astfel incat eroarea sa fie corectata. Prin urmare, reteaua invata din exemple, pentru fiecare exemplu (prototip), comparand raspunsul real cu cel dorit. Parametrii clasificatorului (ponderile retelei) sunt ajustati ori de cate ori raspunsul retelei este incorect. Deoarece ajustarea se face de regula cu valori mici (pentru a evita intrarea retelei in "oscilatie"), pentru corectarea unei greseli de clasificare sunt necesare de regula mai multe ajustari succesive. Invatarea devine astfel ciclica si se va opri doar in momentul in care toate prototipurile (exemplele) vor fi clasificate corect.

Sa reanalizam dichotomizerul introdus in paragraful 3.2 in ideea de a defini un algoritm de invatare supervizata pentru acest clasificator liniar in doua clase. Schema bloc a dichotomizerului augmentat porezentata in figura 3.5(b) este redata din nou in figura 3.10.

w

Fig 3.10 Dichotomizerul liniar bazat pe neuronul cu functia de activare de tip treapta(bazat pe perceptronul discret)

Acest dichotomizer are n+1 ponderi si o unitate de prag care opereaza ca un element bipolar (binar) de decizie. Prin urmare, este identic cu perceptronul discret prezentat in figura 2.6. Intrarea in elementul bipolar de decizie va fi suma ponderata a componentelor vectorului de intrare augmentat y (obtinut prin augmentarea vectorului de intrare x cu cea dea n+1 -a componenenta xn+1=1). Aceasta intrare aditionala se numeste intrare de bias si in conditile in care wn+i=-T, va emula pragul T aferent perceptronului neaugmentat. Astfel, perceptronul augmentat va avea intrarea suplimentara de bias dar pragul sau va deveni zero, modelul augmentat fiind perfect echivalent cu cel neaugmentat.

In partea a 2-a a prezentului paragraf vom analiza dichotomizerul liniar instruibil (capabil sa invete) si vom deduce algoritmul de invatare aferent acestuia. Pentru ajustarea ponderilor perceptronului din figura 3.10 se poate porni de la informatia de eroare care se cuantifica prin diferenta dintre raspunsul corect (furnizat de "profesor") si respectiv cel real obtinut la iesire, atunci cand la intrarea perceptronului se aplica un pattern din setul de antrenament (un prototip). Mai intai vom analiza procesul de clasificare apeland la reprezentari geometrice in spatiul de intrare augmentat. Aceasta analiza geometrica va conduce, intr-un mod deosebit de relevant, la un algoritm de invatare; va fi algoritmul de invatare aferent perceptronului discret.

Din considerable prezentate pana aici stim ca ecuatia suprafetei de decizie, in spatiul de intrare (spatiul pattern-urilor) n-dimensional este:

wtx+wn+1=0 (3.22a)

87

Page 88: Retele Neuronale

In spatiul de intrare augmentat (spatiul En+1), ecuatia 3.22a) devine:

wty=0 (3.22b)

Aceasta este ecuatia planului care trece printr-un punct dat si care este normal la un vector dat (normal vetor-point ecuation, vezi J.M. Zurada, Anexa G, pag. A35); este prima ecuatie pe care o consideram in spatiul ponderilor (nu in spatiul de intrare!) Prin urmare, ecuatia (3.22b) este ecuatia hiperplanului de decizie din spatiul augmentat al ponderilor. Acest plan intersecteaza intotdeauna originea sistemului de axe (punctul w=0). Vectorul nurmal (perpendicular) la acest plan este chiar pattern-ul augmentat y. Pentru exemplificare, in figura 3.11 sunt reprezentate, in spatiul augmentat al ponderilor, cinci hiperplane de decizie; sunt hiperplanele generate de cinci pattern-uri (prototipuri) din setul de antrenament: y1, y2, ..., y5.

88

Pattern 2 Pattern 3 (Class 2)

Pattern vectors point toward positive half-planes

Pattern 4 (Class 1)

Pattern 1(Class 1)

Pattern vectors y, through y;are shifted in parallel from the origin along their

decision hyperplanes.

Patterns

y^ (Class 2)Fig 3.11 Hiperplanele de decizie din spatiul augmentat al ponderilor,

pentru un set de 5 prototipuri, clasificate in 2 clase.

—t } /

Page 89: Retele Neuronale

Conform reprezentarii din figura 3.11, cele cinci prototipuri sunt incadrate in doua clase. Vectorul yi (i=1,2, ..., 5) normal la hiperplanul de decizie wt-yi=0, va fi orientat intotdeauna spre semispatiul pozitiv (semispatiul in care wt-yi>0). Deci vectorul yi este orientat intotdeauna catre semispatiul care reprezinta clasa 1. Cunoscand semispatiile pozitiv si respectiv negativ pentru fiecare prototip (y1, y2, ..., y5), putem gasi usor o regiune din spatiul augmentat al ponderilor care satisface separarea liniara in cele doua clase. Pentru a gasi regiunea solutiilor, trebuie sa gasim intersectia a cinci semispatii: semispatiile pozitive pentru prototipurile care apartin clasei 1 (wt-y1>0, wt-y4>0) si respectiv semispatiile negative pentru prototipurile care apartin clasei 2 (wt-y2<0, wty3<0, wty5<0).

Daca realizam intersectia celor cinci semispatii vom constata ca regiunea solutilor este regiunea hasurata din figura 3.11. Orice punct (vector de ponderi w) din aceasta regiune reprezinta o solutie valida (realizeaza clasificarea corecta a celor cinci prototipuri (y1, y2, ..., y5).

Sa incercam sa ajungem iterativ (invatare iterativa) la o solutie (la un vector w situat in zona hasurata). Primul pas al unui algoritm de invatare consta in initializarea ponderilor, de regula cu valori aleatoare. Prin urmare vectorul de ponderi initial poate fi reprezentat de orice punct din spatiul augmentat al ponderilor (fig 3.11) si este putin probabil sa fie situat in zona hasurata. Invatarea iterativa inseamna de fapt ajstarea (iterativa) a vectorului de ponderi w, cu scopul de a fi apropiat tot mai mult si in final adus in zona hasurata (spatiul solutiilor din figura 3.11).

In figura 3.12(a) este reprezentata suprafata de decizie aferenta unui singur prototip (y1), reprezentata in spatiul augmentat al ponderilor aferent perceptronului discret din figura 3.10. Sa consideram ca vectorul de ponderi initial este w1 (case A) si ca pattern-ul y1, care apartine clasei 1 este aplicat pe intrarea perceptronului. Intr-o asemenea situatie, vectorul de ponderi w1 este situat in semispatiul negativ. Drept consecinta, pattern-ul y1 este incorect clasificat deoarece w1t-y1<0 si prin urmare perceptronul discret va genera peiesire -1, plasand astfel pattern-ul analizat in clasa 2. Pentru a creste valoarea functiei

1t 1 discriminant w • y1, ar trebui sa ajustam vectorul de ponderi w1, in varianta optima, pedirectia de maxima crestere a functiei discriminant w1t-y1, care este data de vectorulgradient. Vectorul gradient V w poate fi calculat astfel:

V w (w1 • y1) = y1 (3.23)

Prin urmare, cand un pattern (y1) care apartine clasei 1 este incorect clasificat, formula de ajustare a ponderilor va fi:

w'=w1+cy1 (3.24)

unde c reprezinta o constanta pozitiva (correction increment) si notatia ' (w') este utilizata pentru a specifica vectorul de ponderi rezultat dupa ajustare. Indiferent de valoarea constantei c, daca repetam operatia de ajustare (3.24) de un numar (finit) de ori, vom aduce vectorul de ponderi in spatiul solutiilor (zona hasurata).

Cazul B din figura 3.12(a) ilustreaza, intr-o maniera similara, clasificarea incorecta a pattern-ului y1 atunci cand acesta apartine clasei 2 si valoarea initiala a vectorului de ponderi este w1. Deoarece w1*-y1>0 (conducand la clasificarea incorecta a pattern-ului y1 in clasa 1), functia discriminant w1*-y1 trebuie ajustata in acest caz, preferabil pe directia de descrestere maxima, adica pe directia vectorului gradient dar in sens invers acestuia. Din ecuatia (3.23), vom obtine pentru acest caz, urmatoarea formula de ajustare a ponderilor:

w'=w1-cy1 (3.25)

89

Page 90: Retele Neuronale

Ilustrarea unei proceduri iterative de invatare, care conduce la o succesiune de ajustari ale vectorului de ponderi (in spatiul augmentat al ponderilor) este redata in figura 3.12b. Sa consideram ca setul de antrenament este format din trei prototipuri (vectori de intrare augmentati): yi, y2, y3. In figura 3.12b sunt redate hiperplanele de decizie pe care aceste trei prototipuri le creeaza in spatiul ponderilor (liniile notate cu Pozitiileacestor hiperplane (linii) de decizie raman fixe deoarece vectorii normali la aceste hiperlane (y1, y2, y3) sunt ficsi. Sa consideram ca in cadrul algoritmului de invatare, pattern-urile din setul de antrenament sunt aplicate succesiv pe intrarea clasificatorului (perceptronului discret) in ordinea: y1, urmat de y2, urmat de y3. Sa mai consideram ca vectorul de ponderi augmentat este initializat cu valoarea w1(vezi figura 3.12b).

90

Page 91: Retele Neuronale

In primul pas al algoritmului de invatare, prototipul y1 este aplicat pe intrarea clasificatorului si va fi clasificat gresit. Drept consecinta se face prima ajustare a vectorului de ponderi (vezi figura 3.12b):

21 w2=w+cy1

In pasul al doilea se aplica la intrarea clasificatorului prototipul y2 care, conform figurii 3.12b va fi incorect clasificat si prin urmare, vectorul de ponderi w2 (obtinut in pasul anterior) va fi din nou ajustat:

3 2 w3=w2+cy2

Deoarece al treilea pattern (y3) apartine clasei 2, clasificare incorecta se va obtine si in pasul 3. Vectorul de ponderi va fi din nou ajustat:

4 3

w4=w3-cy3

Vectorul w4 se afla in zona hasurata (spatiul solutiilor) si prin urmare, va asigura clasificarea corecta a tuturor celor trei pattern-uri y1, y2, y3. Putem afirma ca perceprtronul (clasificatorul) a fost antrenat (invatat) sa clasifice corect cele trei prototipuri.

91

Fig 3.12b Ajustarea ponderilor dichotomizerului pe parcursul invatarii (exemplu)

Page 92: Retele Neuronale

In concluzie, procedura de invatare supervizata poate fi sintetizata prin ecuatia:

w'=w± cy1 (3.26)

unde semnul + se utilizeaza in cazul pattern-urilor care apartin clasei 1 si sunt incorect clasificate iar semnul - se utilizeaza in cazul pattern-urilor care apartin clasei 2 si sunt incorect clasificate. Pentru pattern-urile corect clasificate nu se fac ajustari.

Sa notam ca am redescoperit regula de invatare a perceptronului prezentata in capitolul 2; formula (3.26) este echivalenta cu (2.35). Pentru a echivala perfect cele doua formule trebuie sa facem urmatoarele asertiuni:

- constanta de invatare c din ecuatia (2.35) va fi jumatate din constanta c din ecuatia (3.26); asertiunea este permisa deoarece c trebuie sa indeplineasca o singura conditie: c>0.

- vectorul x din ecuatia (2.35) este vectorul de intrare augmentat (notat in (3.26) cu y).

3.5 Invatarea perceptronului discret si utilizarea acestuia in clasificare: algoritm si exemplu

Sa analizam intr-o maniera mai detaliata procesul ajustarii ponderilor Vom apela din nou la reprezentarea geometrica si vom determina valoarea constantei c astfel incat sa controlam valoarea (marimea) ajustarii. Distanta p de la un punct w1 la planul wt-y=0 in spatiul euclidian (n+1)-dimensional se calculeaza cu formula (vezi J.M. Zurada, AnExa 6):

1 tw • y

p = ± , ,,y (3.27a)|y|

unde semnul din fata fractiei se alege astfel incat sa fie opus semnului componentei wn+1. Altfel spus, semnul trebuie ales astfel incat sa fie identic cu semnul produsului w1t-y, deoarece p este un scalar nenegativ. Tinand cont de acest lucru, relatia (3.27a) poate fi rescrisa utilizand valoarea absoluta a produsului w1t-y:

(3.27b)

Sa calculam valoarea constantei c pentru care vectorul de ponderi w2 rezultat in urma ajustarii realizate cu (3.26) va fi situat chiar pe hiperplanul de decizie w1ty=0 (hiperplanul utilizat in acest pas de ajustare). Localizarea vectorului w2 pe hiperplanul de decizie w1t-y=0 implica:

w2t-y=0 (3.28)

adica: (w1 ± cy)t y = 0iar constanta c care realizeaza acest "salt" chiar pe hiperplanul de decizie va fi:

1 tw • y

c = ± . y (3.29a)yt • y

Deoarece constanta de corectie c este pozitiva, relatia (3.29a) poate fi rescrisa sub forma:

92

1 tw • yp

y

Page 93: Retele Neuronale

y • y

Lungimea vectorului cy cu care se ajusteaza vectorul de ponderi w devine:(3.30)

cyy • y

T I I I I 2 1

Deoarece yl • y = y , putem concluziona ca distanta p de la punctul w1 la hiperplanul dedecizie definita prin ecuatiile (3.27) este identica cu lungimea vectorului de ajustare definita prin ecuatia (3.30). Daca luam in considerare o asemenea strategie de ajustare, inseamna ca "constanta" de corectie c nu va mai fi constanta ci o variabila a carei valoare depinde de pattern-ul curent y, asa cum indica ecuatiile (3.29).

Pentru c=1, regula de corectie de baza (3.26) conduce la o ajustare foarte simpla a vectorului de ponderi; ajustarea modifica (±) vectorul de ponderi w exact cu vectorul (pattern-ul) curent y. Daca luam ca referinta corectia obtinuta cu ecuatiile (3.29), vom putea defini mai multe strategii de ajustare a ponderilor, in functie de lungimea vectorului de corectie w2-w1. Aceasta lungime va fi proportionala cu un coeficient X>0, (coeficient de proportionalitate) care va interveni in expresia constantei c:

1 tw • y

c = ly • y

93

1 tw • y

1 tw • yc (3.29b)

y

(3.31)

(pentru pasul i)

Page 94: Retele Neuronale

Din relatiile deduse mai sus, ilustrate in termeni geometrici in figura 3.13 (pentru pasul de ajustare i), rezulta ca X este raportul distantelor de la vechiul vector de ponderi (wi) la noul vector (wi+1) si respectiv de la vechiul vector (wi) la hiperplanul de decizie wit-y=0. Diferitele valori ale parametrului X conduc la diferite valori ale constantei de corectie c si efectul acestora este ilustrat in figura 3.13. Daca X=0 nu se face ajustare. Daca X=1 corectia va realiza un "salt" exact pe hiperplanul de dcizie wit-y=0. Daca X=2 corectia va realiza un "salt" peste hiperplanul de decizie, in punctul wi+1, care este simetricul lui wi in raport cu hiperplanul de decizie. In cele doua cazuri intermediare vom avea:

- regula de corectie fractionara (pentru 0<X<1)- regula de corectie absoluta (pentru 1<X<2)

Sa notam ca in cazul utilizarii corectiei fractionale, vectorul de ponderi wi este deplasat in directia corecta dar deplasarea este insuficienta. Daca aplicam din nou acelasi pattern y pe intrarea perceptronului, acesta va fi din nou incorect clasificat. Convergenta algoritmului a fost insa demonstrata (vezi J.M. Zurada, pag 130); asta inseamna ca oricat de mic ar fi parametrul X (respectiv constanta c), intr-un numar finit de pasi, se va "sari" peste hiperplanul de decizie si se va obtine clasificarea corecta a pattern-ului y.

In cazul regulei de ajstare cu corectie fixa (c=constanta), vectorul de corectie va fi intotdeauna un procentaj fix din prototipul curent y. Sa mai notam ca algoritmul de invatare bazat pe calculul distantei ||y|| revendica un vector de ponderi initial diferit de zero(w V0). Aceasta devine necesar pentru a obtine un deimpartit (numarator) diferit de zero in ecuatiile (3.31) respectiv (3.30).

Exemplul 3.3 (J.M. Zurada, pag 123) ilustreaza procedura (antrenarii) invatarii neparametrice aferenta perceptronului discret.

Sa sintetizam procesul de invatare aferent perceptronului discret (dichotomizerului din figura 2.10). Scopul invatarii este de a gasi acel vector de ponderi w astfel incat:

wl • y >0 pentru orice ye H oo \t (332) w • y < 0 pentru orice ye h 2

Algoritmul de invatare este iterativ, ceea ce inseamna ca invatarea se realizeaza in pasi succesivi. In cazul utilizarii corectiei fixe (c=constanta), incheierea invatarii este semnalata de faptul ca, la un moment dat se ajunge la pasi succesivi in care ponderile nu se mai modifica:

w* = wk0 = wk°+1 = wk°+2 = ■■■■ (3.33)

Vectorul de ponderi w* reprezinta solutia care satisface conditiile (3.32) iar intregul k0

reprezinta pasul de invatare incepand cu care nu mai apar clasificari gresite si deci nu se mai fac ajustari ale ponderilor.

Regula de invatare a perceptronului sintetizata in ecuatia (3.26) poate fi rescrisa intr-o forma care tine cont de pasul de invatare:

wk+1 = wk + c(dk - ok)yk (3.38)

unde k reprezinta pasul de invatare curent, ok reprezinta raspunsul real obtinut pe iesirea clasificatorului (perceptronului) iar dk reprezinta raspunsul dorit (furnizat de "profesor"), atunci cand pe intrarea perceptronului se aplica pattern-ul y. Cand dk=ok nu se face nicio ajustare a ponderilor. Cand dk=1 si ok=-1, ceea ce inseamna ca un pattern care apartine clasei 1 a fost clasificat gresit (ca apartinand clasei 2), ajustarea ponderilor devine:

(3.39a)

94

k

Page 95: Retele Neuronale

Cand dk=-1 si ok=1, ceea ce inseamna ca un pattern care apartine clasei 2 a fost clasificat gresit (ca apartinand clasei 1), ajustarea ponderilor devine:

(3.39b)

Prin urmare, algoritmul de invatare a dichotomizerului implementat cu ajutorul unui perceptron discret revendica ajustarea ponderilor atunci si numai atunci cand survine o clasificare gresita. Cand clasificarea gresita se datoreaza conditiei w*-y<0, atunci pondrile wi sunt majorate (insumate) cu valori proportionale cu yi; cand clasificarea gresita se datoreaza conditiei w*-y>0, atunci pondrile wi sunt diminuate (scazute) cu valori proportionale cu y i. Prin urmare, cand are loc o clasificare gresita ponderile sunt corectate ("pedepsite") corespunzator. Cand clasificarea este corecta, ponderile nu sunt corectate ("pedepsite") iar lipsa unei "pedepse" poate echivala cu o "premiere".

In algoritmul de invatare aferent perceptronului discret, se defineste o eroare E care cuantifica greselile (clasificarile incorete). Invatarea se realizeaza in cicluri succesive iar in cadrul unui ciclu se aplica pe intrarea perceptronului si se clasifica succesiv toate prototipurile din setul de antrenament. Daca eroarea globala (cumulata), calculata la sfarsit de ciclu este mai mare ca zero, concluzia este ca invatarea nu s-a incheiat (inca mai sunt prototipuri incorect clasificate). Intr-o astfel de situatie se trece la un nou ciclu de invatare. Daca la sfarsitul unui ciclu, eroarea globala este zero, concluzia este ca invatarea s-a incheiat (toate prototipurile sunt clasificate corect). Operatorul ^ va fi utilizat pentru operatia de atribuire (de exemplu, operatia k-^1 inseamna ca variabilei k i se atribuie valoarea 1).

Algoritmul de Invatare aferent perceptronului discret___________________________________Se da setul de antrenament format din P perechi:

{(x1,d1), (x2,d2), ..., (xP,dP)}, unde xi este vector de intrare^x

1), d/ este iesirea dorita (1 x 1), i=1, 2, ..., PSe vor utiliza vectorii de intrare augmentati:

x.yi = 1 , pentru i=1, 2, ..., P

In cele ce urmeaza, k reprezinta pasul de invatare global iar p reprezinta pasul de invatare din cadrul ciclului curent.

Pasul 1: Se alege constanta de invatare c>0.

Pasul 2: • Ponderile wi sunt initializate cu valori mici aleatoare; ponderile wi formeza vectorul de ponderi augmentat w cu dimensiunea (n +1) x 1 . • Se initializeaza contoarele si eroarea:

95

Page 96: Retele Neuronale

3.6 Retele monostrat de perceptroni continui pentru clasificari liniar separabile

Spre deosebire de perceptronul discret care opereaza cu o functie de activare de tip treapta (bipolara sau unipolara), perceptronul continuu opereaza cu functia de activare sigmoidala (bipolara sau unipolara). Se inlocuieste deci o functie de activare care prezinta un punct de discontinuitate cu o functie de activare continua si derivabila pe intreg domeniul de definitie. Inlocuirea functiei de activare are doua obiective:

96

Page 97: Retele Neuronale

intotdeauna tangent la graficul functiei respective, orientat in directia si sensul de crestere maxima a functiei respetive.

Sa definim eroarea Ek, aferenta pasului de invatare k, ca fiind patratul diferentei dintre valoarea dorita (dk) si valoarea reala (ok) obtinuta la iesirea perceptronului continuu. Dupa cum sugereaza figura 3.16, valoarea dorita dk este furnizata de catre "profesor".

Eroarea (de clasificare) ce va fi minimizata va fi:

Ek = 2 (dk

dk - f (wkt • y k )

Coeficientul 1 pe care il regasim in expresia erorii patratice definita prin relatiile (3.41) s-a

introdus doar pentru simplificarea expresiei gradientului (se va vedea acest lucru in cele ce urmeaza); acest coeficient nu afecteaza localizarea punctului de minim al erorii si nici procedura de minimizare a acesteia.

Scopul invatarii este de a minimiza eroarea E(w), reprezentata in spatiul (n+1) dimensional (spatiul augmentat al ponderilor). Un exemplu de eroare patratica (forma convenabila) este redat in figura 3.17. Suprafata de eroare are un singur punct de minim, care se obtine daca w=wf Daca se porneste din punctul initial w=0, punctul de minim w=wf poate fi atins daca se urmeaza o procedura de coborare (iterativa) pe suprafata de eroare, pe directia inversa (opusa) gradientului. Vecinatatea punctului de minim E(wf)=0 va putea fi atinsa intr-un numar finit de pasi. Modificarea (iterativa) a vectorului de ponderi poate fi observata atat pe suprafata de eroare reprezentata in figura 3.17(a), cat si pe liniile de contur aferente functiei de eroare reprezentate in figura 3.17(b). In cazul ideal prezentat in figura 3.17, vectorul de ponderi se deplaseaza succesiv, de pe linia de contur 1 pana pe linia de contur 4, in maniera ideala, exact pe directia ce trebuie urmata catre unctul de minim E=0. In acord cu definitia

97

ok ) 2 (3.41a)Ek = 1

2adica: (3.41b)

Fig 3.16 Antrenarea perceptronului continuu prin minimizarea erorii patratice

Page 98: Retele Neuronale

conceptului de maxima descrestere (directia celei mai abrupte descresteri), fiecare pas elementar se va face pe o directie perpendiculara pe linia de contur curenta.

98

Page 99: Retele Neuronale

Fig 3.17 Procedura de minimizare a erorii (a) suprafata de eroare (pentru n=1) (b) liniile de contur ale functiei de eroare (pentru determinarea directiei

vectorului gradient VE)

99

Page 100: Retele Neuronale

Sa notam ca acest concept de minimizare a erorii patratice nu poate fi aplicat perceptronului discret deoarece acesta utilizeaza drept functie de activare functia sgn(net), adica functia treapta. Din acest motiv, functia de eroare are panta 0 pe tot domeniul de definitie, mai putin in punctele situate pe suprafata de decizie unde este nediferentiabila. Aceasta proprietate rezulta daca inlocuim f(net)=sgn(net) in ecuatia(3.41b) si mai apoi calculam componentele vectorului gradient VE(w). Intr-adevar, derivata functiei de activare sgn(net) este nedefinita in punctul net=0 si respectiv zero in restul domeniului de definitie.

Algoritmul de minimizare a erorii (3.40) revendica calculul gradientului erorii (3.41):

VE(w) = 2 V[d - /(net)]2

Pentru a simplifica expresia gradientului, pasul de invatare k nu a mai fost evidentiat in ecuatia (3.42). Trebuie inteles insa ca toate calculele care urmeaza se refera strict la pasul k din cadrul algoritmului de invatare. Vom deduce in cele ce urmeaza regula de invatare a perceptronului continuu bazata pe strategia de coborare pe suprafata de eroare pe directia gradientului si in sens invers acestuia.

Gradientul erorii este un vector cu n+1 componente (un vector in spatiul augmentat al ponderilor):

d E dw1

d E dwn

VE( w)

dEdwn+1

Utilizand relatia (3.42), expresia gradientului devine:

(3.44)

Deoarece net=wty, pentru derivatele partiale din (3.44) obtinem:

100

(3.42)

(3.43)

d( net)dw1

d( net)VE( w) = -(d - o) f '(net)

Page 101: Retele Neuronale

Yi , pentru i = 1, 2, ..., n +1

101

d(net) dw j

(3.45)

Page 102: Retele Neuronale

iar expresia (3.44) poate fi rescrisa astfel:

VE (w) = -(d - o) f ' (net )y

-(d - o) f ' (net )y, (3.46b)

Ecuatiile (3.46) reprezinta regula de invatare aferenta perceptronului continuu. Se poate verifica faptul ca regula (3.46) este echivalenta cu regula de invatare delta (2.38).

In formula de ajustare a ponderilor (3.40) intervine constanta de invatare n si gradientul erorii VE(wk). Conform ecuatiei (3.46a), in expresia gradientului intervinefunctia de activare o=f(net) si derivata acesteia f '(net). Prin urmare, pentru a calcula valorile de ajustare a ponderilor trebuie sa alegem valoarea constantei n si sa definim functia de activare. In cazul perceptronului continuu functia de activare vea mai utilizata este functia sigmoidala, cu cele doua variante posibile: bipolara si respectiv unipolara. Sa calculam derivata f '(net) in cele doua cazuri:

A. functia de activare sigmoidala bipolara Expresia care defineste sigmoida bipolara (vezi ecuatia (2.3a), observatia aferenta si figura 2.5a) este:

f(net) = —zmer -1 = _____________ __ -1 (3.47a)

Parametrii n si 1 produc efecte similare in formula (procesul) de ajustare a ponderilor. Prin urmare, este suficient sa retinem un singur parametru n (cu ajutorul caruia vom putea regla marimea pasilor de ajustare) iar la cel de-al doilea sa renuntam (1=1). In aceasta situatie expresia sigmoidei bipolare devine:

2 2f(net) = -1 = ---------1 (3.47b)

1 + e 1 + exp(-net)

102

(3.46a)

sau:dEdW:

2_______i = _______21 + e-Xnet 1 + exp(-1net)

Page 103: Retele Neuronale

Calculand derivata sigmiodei bipolare obtinem:

f '(net) = . 2 exp('net> (3.48)[1 + exp(-net )]2

Un exercitiu relativ simplu conduce la ecuatia (3.49) in care derivata f '(net) poate fi calculata printr-o expresie in care apare functia sigmoidala bipolara a carei derivata tocmai am calculat-o (vezi J.M. Zurada, pag 136, ecuati le (3.50) si (3.51)):

tXnet) = 2 exp(;T O f» 2 = 2[1 - (net)]=2(1 -o2) (3.49)

[1 + exp(-net)] 2 2

In aceste conditii, gradientul (3.46a) devine:

VE (w) = - 2 (d - o)(1 - o2 )y (3.52)

103

Page 104: Retele Neuronale

iar formula generala de ajustare a ponderilor (3.40), in cazul utilizarii functiei de activare sigmoidale bipolare devine:

wk+1 = w k + 1 n(dk - ok)(1 - o k

2 )yk (3.53)

unde indicele superior k reprezinta pasul de invatare.

Sa notam ca formula obtinuta pentru ajustarea ponderilor (3.53) realizeaza ajustarea in aceeasi directie si respectiv maniera ca si formula aferenta perceptronului discret (3.38). Diferenta esentiala dintre cele doua formule de ajustare se refera la marimea pasului (vectorului) de ajustare. Ambele formule realizeaza ajustarea adaugand (la wk) sau scazand (din wk) o fractiune din vectorul (pattern-ul) de intrare yk. Singuradiferenta se refera la aparitia in (3.53) a factorului de moderare (1 - o k ). Acest factor de moderare (scalare) este intotdeauna pozitiv si mai mic ca 1. Asta inseamna ca, pentru raspunsuri gresite si activarea net apropiata de 0 (un perceptron relativ "nehotarat"), factorul de moderare (scalare) va avea o valoare mai mare decat in cazul in care net are o valoare mare (perceptron "hotarat").

O alta diferenta semnificativa care apare intre cele doua reguli de invatare se refera la faptul ca algoritmul de invatare aferent perceptronului discret are intotdeauna solutie (garanteaza soutia) daca pattern-urile sunt liniar separabile; algoritmul aferent perceptronului continuu (bazat pe gradientul functiei de eroare) nu garanteaza soutia chiar daca pettern-urile sunt liniar separabile.

B. functia de activare sigmoidala unipolara Pentru X=1, expresia care defineste sigmoida unipolara (vezi ecuatia (2.4a), observatia aferenta si figura 2.5b) este:

f(net) = = ______ __ (3.47u)

Un exercitiu relativ simplu conduce la urmatoarea expresie pentru derivata functiei sigmoidale unipolare:

104

1___=______11 + e-net = 1 + exp(-net)

Page 105: Retele Neuronale

f'(net) = f (net)[1 - f(net) ] = o[1 - o] (3.49u)

Formula generala de ajustare a ponderilor (3.40), in cazul utilizarii functiei de activare sigmoidale unipolare devine:

wk+1 = wk + n(dk -o k ) ok(1 -ok)yk (3.53u)

unde indicele superior k reprezinta pasul de invatare.

Exemplul 3.4 (J.M. Zurada, pag 137) ilustreaza procedura antrenarii (invatarii) neparametrice aferenta perceptronului continuu. Este reluat exemplul 3.3 dar perceptronul discret este inlocuit cu unul continuu.

Algoritmul de Invatare aferent perceptronului continuu:

Se da setul de antrenament format

din P perechi: {(x1,d1), (x2,d2), ...,

(xp,dp)}, unde xi este vector de

intrare^x 1), di este iesirea dorita (1

x 1), i=1, 2, ..., P

105

Page 106: Retele Neuronale

pentru /=1, 2, ..., P

In cele ce urmeaza, k reprezinta pasul de invatare global iar p reprezinta pasul de invatare din cadrul ciclului curent.

Pasul 1: Se alege constanta de invatare n>0, parametrul functiei sigmoidale X=1, Emax>0.

Pasul 2: • Ponderile w/ sunt initializate cu valori mici aleatoare; ponderile w/ formeza vectorul de ponderi augmentat w cu dimensiunea (n +1) x 1 . • Se initializeaza contoarele si eroarea:

k^1, p^1,...E^0

Pasul 3: Ciclul de invatare incepe aici.Se aplica vectorul de intrare si se

calculeaza iesirea reala o:y^yp, d^dp, o^fW-y), cu f(net)=sigmoida bipolara

definita ca in (3.47)

Pasul 4: Se ajusteaza ponderile:

w — w + —n(d - o)(l - o2 )y

Pasul 5: Se calculeaza eroarea:

1 9

106

yi

Page 107: Retele Neuronale

E — E + -(d - o) 2 2 !

Pasul 6: Daca p<P atunci p-^p+1, k^k+1 si treci la pasul 3; in caz contrar, treci la pasul 7

Pasul 7: Ciclul de invatare se incheie aici:

• Daca E<Emax, incheie sesiunea de invatare (invatarea s-a realizat cu succes).Furnizeaza ponderile calculate (w) si pasul global (k).

• DacaE > Emax, atribuie E-^0, p-^1 si treci la pasul 3 (un nou ciclu de invatare)

Observatie: Daca se utilizeaza functia de activare sigmoidala unipolara, apar urmatoarele diferente:

• la pasul 3 se utilizeaza f(net)=sigmoida unipolara definita ca in (3.47u):

f (net) = —1—r =------------1--------1 + e 1 + exp(-net)

107

Se vor utiliza vectori de intrare augmentati:

Page 108: Retele Neuronale

3.7 Retele de perceptroni monostrat dedicate clasificarii in mai multe categorii

In paragrafele anterioare am abordat problema invatarii (antrenarii) dichotomizerilor bazati pe perceptroni discreti si respectiv continui. In acest paragraf vom aborda problema invatarii clasificatorilor multicategoriali. Ipoteza necesara (pe care o consideram adevarata) este ca, doua cate doua, clasele (categoriile) sunt liniar separabile. Aceasta ipoteza echivaleaza cu o alta ipoteza similara: exista R functii discriminant liniare astfel incat:

g j(x)>gj(x), pentru j,j=1,2, ..., R si frj

Vom deduce o procedura adecvata de invatare pentru un astfel de clasificator in R categorii. Mai intai vom defini vectorul de ponderi augmentat wq:

wq = [Wq1 Wq2 ... Wq,n+1] t

Sa presupunem ca pattern-ul augmentat y, care apartine clasei i, este aplicat pe intrarea clasificatorului bazat pe selectorul de maxim din figura 3.7. Cele R functii discriminantw1 • y, w2 • y, ..., wR • y vor fi calculate. Daca w■ • y este mai mare decat toate celelalte R-1 functii discriminant, nu va fi nevoie de nicio ajustare a ponderilor doarece clasificarea este corecta. Asta inseamna ca ponderile raman nemodificate:

w1

' = w1

w 2

108

(3.54a)

Page 109: Retele Neuronale

' = w 2

wR = w R

unde apostroful (') indica ponderile dupa ajustare.

Daca insa, exista m functii discriminant pentru care w■ • y < w1

m • y, atunci wectorii de ponderi ajustati devin:

wi' = wi + c • y

wm : '= wm - c y (3.54b)

wk' = wk , pentru k = 1, 2, ..., R; k ^ i,m

Formulele vectoriale (3.54b) pot fi rescrise in forma scalara introducand ponderile cu indicele dublu inferior, asa cum apar in figura 3.7:

Wjj'= Wjj + c yj, pentru j = 1, 2, ..., n +1

Wmj-Wmj-c Yj, pentru j = 1, 2, ..., n +1 ^

wkj'=wkj> pentru k = 1, 2, ..., R; k

^ i,m; j = 1, 2, ..., n +1-

1 la pasul 4 se ajusteaza ponderile ca in (3.53u):

w — w + n(d - o) o (1 - o)y

109

Page 110: Retele Neuronale

Din ecuatiile (3.54c) rezulta (vezi fig 3.7):

• Ponderea care conecteaza unitatea de adunare i (cea care genereaza g/(x)) cu intrarea j (cea pe care se aplica componenta yj ) este marita cu cantitatea cy j ,

daca g,(x) este prea mica. Astfel wy devine wi j ' . Daca ne referim la forma vectoriala (3.54b), vectorul wi devine wi' (prin corectie este "apropiat" de vectorul de intrare y).Aceasta apropiere are ca efect cresterea

valorii functiei discriminant (g'(y)=w{ ly > g,(y)= w ■ • y). Corectia este ilustrata in

figura 3.20c.

• Ponderea care conecteaza unitatea de adunare m (cea care genereaza gm(x)) cu intrarea j (cea pe care se aplica componenta yj ) este micsorata cu cantitatea cyj , daca gm(x) este prea mare. Astfel wm j

devine wm j ' . Daca ne referim la forma vectoriala (3.54b), vectorul wm devine wm' (prin corectie este "indepartat" de vectorul de intrare y). Aceasta indepartare are ca efect micsorarea valorii functieidiscriminant (gm'(y) = wy < gm(y) = w*m • y).

Corectia este ilustrata in figura 3.20c.

Dupa ajustaile prezentate in figura 3.20c, se va obtine clasificarea corecta a pattern-ului y(w^ y > wy).Observatie: Marimea ajustarilor depinde de valoarea constantei de invatare c. Daca c are o valoare mica s-ar putea sa fie necesare mai multe ajustari succesive pana sa se ajunga la clasificare corecta. Din acest motiv, algoritmul de invatare este unul iterativ (cicluri succesive). Cert este ca, daca pattern-urile sunt doua cate doua liniar separabile (vezi ipoteza de la care am pornit), intr-un numar finit de pasi se va ajunge la clasificare corecta.

110

Page 111: Retele Neuronale

Sa incercam sa simplificam structura clasificatorului in R clase din figura 3.7, prin inlocuirea selectorului de maxim cu R perceptroni discreti. Reteaua obtinuta prin aceasta inlocuire contine R perceptroni discreti si este redata in figura 3.21. Dupa ce a fost corespunzator invatat (antrenat), clasificatorul din figura 3.7 trebuie sa raspunda cu i0=1 ori de cate ori g1(x) este mai mare decat toate celelalte functii discriminant gi(x), cu i=2, 3, ..., R, adica pentru toate pattern-urile care apartin regiunii de decizie H1. In loc sa semnalam acest lucru cu ajutorul unui selector de maxim (care raspunde cu io=1), putem utiliza o unitate logica cu prag (TLU #1), asa cum indica figura 3.21. Prin urmare, ies irile o1=1 s i o2= o3= • • • =oR=-1 vor indica faptul ca pe intrarea clasificatorului s-a aplicat un pattern din clasa 1.

Acest rezultat trebuie obtinut prin invatare (ajustarea ponderilor). Daca analizam atent problema vom ajunge la concluzia ca aceast proces de invatare este posibil; el se poate obtine doar prin ajustarea corespunzatoare a unei singure ponderi: wi,n+i. Trebuie gasita acea valoare aditionala T1 care, adaugata la w1n+1, va conduce la situatia in care g1(x) depaseste ca valoare toate celelalte functii discriminant, pentru toate pattern-urile x care apartin regiunii de decizie H?. Prin urmare, invatarea cu pattern-uri din clasa 1 presupune ajustarea ponderii w1,n+1, corespunzatoare ultimei intrari din setul de intrari aferente unitatii TLU #1. Nicio alta pondere nu va trebui ajustata pe durata invatarii pattern- urilor ce apartin clasei 1.

111

Fig 3.20c Efectul ajustarii vectorilor de ponderi pe parcursul invatarii

Page 112: Retele Neuronale

Aplicand preceduri similare pentru toate pattern-urile din celelalte clase (2, 3, ..., R), vom definitiva procesul de invatare a clasificatorului din figura 3.21. In cazul acestui clasificator, daca unitatea TLU #k raspunde cu +1, se va semnala un pattern din clasa k pe intrarea clasificatorului; toate celelalte unitati vor raspunde cu -1 in acest caz.

Din perspectiva retelelor neuronale, clasificatorul bazat pe unitati TLU (figura 3.21) este mult mai important deoarece acesta este in fapt implementat cu R perceptroni (neuroni) discreti. Pentru acest clasificator, formla de ajustare a ponderilor aferenta pasului k de invatare va fi:

„kwk+1=wk +y (dk - ok)yk pentru i = 1, 2, ..., R (3.58)

unde di (oi) reprezinta raspunsul dorit (real) aferent perceptronului i din structura clasificatorului. Formula (3.58) sintetizeaza invatarea

112

Fig 3.21 Clasificatorul liniar in R categorii bazat pe R perceptroni discreti

Page 113: Retele Neuronale

clasificatorului in R categorii bazat pe perceptroni discreti.

113

Page 114: Retele Neuronale

Observatie: Clasificatorul in R categorii bazat pe perceptroni discreti poate fi proiectat in doua variante:

Cu iesiri decodificate (cu asa zisa reprezentare locala). Pentru R categorii, clasificatorul va contine R perceptroni discreti asa cum indica figura 3.21. In acest caz, un pattern din clasa i aplicat la intrare va revendica la iesiri:

oi=1, oj=-1, pentru j=1, 2, ..., R si j^i

Prin urmare, pentru fiecare pattern aplicat la intrare, o singura iesire va "urca" in +1, cea aferenta regiunii de decizie din care face parte pattern-ul respectiv. Toate celelalte iesiri vor fi in -1 (daca functia de activare utilizata este treapta bipolara), respecxtiv in 0 (daca functia de activare utilizata este treapta unipolara).

• Cu iesiri codificate (cu asa zisa reprezentare distribuita). Pentru R categorii, clasificatorul va contine r = lg2R perceptroni discreti (/=R). In acest caz, un pattern din clasa i aplicat la intrare va revendica la cele r iesiri, codul clasei i. De exemplu, daca R=8, vom avea r = lg2R = 3. Prin urmare, clasificatorul cu iesiri codificate va contine in acest caz 3 perceptroni si un pattern din clasa 3 va revendica pe cele 3 iesiri codul (vectorul) o=o2 o1 o0 = 0 1 1, in reprezentare binara, respectiv o=o2 o1 o0 = -1 1 1, in reprezentare bipolara.

In baza analizei efectuate, putem sintetiza algoritmul de invatare aferent clasificatorului in R categorii implementat cu R perceptroni discreti (cu reprezentare locala):

Algoritmul de Invatare aferent clasificatorului In R categorii implementat cu R perceptroni discreti____________i_________________________________________________________________________________________________________

Se da setul de antrenament format din P perechi:

{(x1,d1), (x2,d2), ...,

(xp,dp)}, unde X / este vectorul de intrare(^x

114

(3.59)

Page 115: Retele Neuronale

1), di este vectorul dorit la iesire (Rx 1), i=1,

2, ..., P Se vor utiliza vectorii de intrare

augmentati:

pentru i=1, 2, ..., P

In cele ce urmeaza, k reprezinta pasul de invatare global iar p reprezinta pasul de invatare din cadrul ciclului curent.

Pasul 1: Se alege constanta de invatare c>0.

Pasul 2: • Matricea de ponderi W este initializata cu valori mici aleatoare; W=[wi j ] (vezi figura 3.21) este matricea de ponderi cu dimensiunea R x (n

+1):

W-,1 W-| 2 • • • W-| n+-| W21 w22 •■■ w2n+1

W R 1 W R 2

115

x i

- 1

yi

W =

+

Page 116: Retele Neuronale

• Se initializeaza

c

o

n

t

o

a

r

e

l

e

s

i

e

r

o

a

r

e

a

:

p

^

1

116

Page 117: Retele Neuronale

,

E

^

0Pasul 3: Ciclul de invatare incepe aici.

Se aplica vectorul de intrare yp si se calculeaza iesirea reala (componentele vectorului op=(oi o2 ... oR/):

y^yp, d^dp,

oi^sgn(wit y) , pentru i=1,

2, ..., Runde wi este randul i din

matricea de ponderi W

Pasul 4: Se ajusteaza ponderile:

wi —

wi + 1 c(di -o i)y, pentru i=1,

2, ..., R Pasul 5: Se

calculeaza eroarea

aferenta ciclului curent:1 9

E — E + ^(di -o i)2 , pentru i=1, 2, ..., R

Pasul 6: Daca p<P atunci p-^p+1, k^k+1 si treci la pasul 3; in caz contrar, treci la pasul 7

117

Page 118: Retele Neuronale

Pasul 7: Ciclul de invatare se incheie aici:• Daca E=0, incheie sesiunea de

invatare (invatarea s-a realizat cu succes). Furnizeaza ponderile calculate (matricea W) si pasul global (k).

• DacaE > 0, atribuie E-^0, p-^1 si treci la pasul 3 (un nou ciclu de invatare)

Exemplul 3.5 (J.M. Zurada, pag 147) ilustreaza modul in care un clasificator bazat pe selector de maxim poate fi convertit intr-un clasificator bazat pe perceptroni discreti. Este ilustrat apoi algoritmul de antrenare (invatare) aferent clasificatorului multicategorial bazat pe perceptroni discreti.

Clasificatorul liniar in R categorii bazat pe R perceptroni poate fi implementat cu perceptroni discreti (figura 3.21) dar si cu percptroni continui (figura 3.23). Regula de invatare bazata pe "coborarea" pe suprafata de eroare, pe directia gradientului erorii si in sens invers acestuia, dedusa pentru cazul R=2 (dichotomizer) este aplicabila si in cazul R>2 ilustrat in figura 3.23. Prin urmare, suntem in masura sa introducem regula de invatare generalizata bazata pe gradientul erorii, aplicabila retelelor cu un singur strat de neuroni, indiferent de marimea acestuia (indiferent de numarul de neuroni). Pentru a obtine aceasta regula, trebuie sa combinam regula (3.53) cu (3.58). Rezultatul combinarii va fi:

wik+

1 = wik +1 n(di

k -oik)(1 -0 i k

2)yk, pentru i=1,

2, ..., R (3.60a)

unde indicele superior (k) reprezinta pasul de

invatare.

118

Page 119: Retele Neuronale

Forma (ecuatia) vectoriala (3.60) poate fi pusa si sub forma scalara, rezultand astfel regula de ajustare individuals, a unei singure ponderi:

w k+1 wk + 1 (dk ok)(1 k2

)yk pentru j = 1 2 ..., n +1 WM = wj +- n(di - oi )(1 - o )yj, . . , 0 D

J pentru i = 1, 2, ..., R

Ecuatiile (3.60a) si (3.61a) reprezinta regula de invatare delta (vezi paragraful 2.5C) pentru cazul in care neuronii utilizeaza functia de activare sigmoidala bipolara, definita prin expresia (2.3a). Deoarece aceasta regula are o importanta suprema pentru domeniul retelelor neuronale, ea va fi detaliata in capitolul urmator.

Observatie:Daca neuronii din reteaua monostrat utilizeaza functia de activare sigmoidala unipolara definita prin expresia (2.4a), atunci forma vectoriala a regulii de invatare devine:

wi k+1 = wi k + n(d k -o ik )o i

k(1 -0ik)yk,

pentru i=1, 2, ..., R (3.60b)

In cazul utilizarii functiei unipolare, forma scalara care reda regula de ajustare individuala (a unei singure ponderi) devine:

119

(3.61a)

2

Page 120: Retele Neuronale

120

™ k + 1 k ^ H k „ ^ n k n pentru j = 1, 2, ..., n +1 „ R 1 M w i j = w i j

+ n( d i - o i ) o i (1 - o )yj , . . , 0 D (3.61b)

pentru i =1 , 2, ... , R

Fig 3.23 Clasificatorul liniar in R categorii bazat pe perceptroni continui

Page 121: Retele Neuronale

Vom incheia acest capitol sintetizand schema bloc a invatarii supervizate (figura 3.24), valabila atat pentru invatarea clasificatorilor bazati pe perceptroni discreti cat si a celor bazati pe perceptroni continui. Faza recall mapeaza un set de prototipuri (y) din spatiul de intrare, intr-un set de raspunsuri (o). din spatiul de iesire. Functia de eroare E(d, o) este functia criteriu pe care se bazeaza invatarea supervizata. Desi functia de eroare E poate fi definita in diverse forme, este unanim acceptat ca ea ar trebui sa depinda de diferenta d-o, adica de diferenta dintre vectorul dorit si cel real obtinut la iesire. Aceasta eroare este utilizata in procesul ajustarii parametrilor interni (ponderilor) aferenti sistemului adaptiv de mapare (aferenti retelei neuronale).

d (Teachcr)

Fig 3.24 Invatarea supervizata pentru un sistem adaptiv de mapare (retea neuronala)

3.8 Concluzii

Continutul acestui capitol a fost organizat pornind de la principiile clasice aplicate in recunoasterea formelor (pattern recognition). Chiar daca nu au fost abordate retelele neuronale complexe, cu potentialul si avantajele lor deosebite, capitolul contine o buna fundamentare a conceptelor de baza aferente retelelor neuronale. Conceptele de baza abordate sunt: clasificarea, clasificatoare

121

7\

Page 122: Retele Neuronale

instruibile (care invata), proiectarea dichotomizerilor si a clasificatoarelor multicategoriale, separabilitatea liniara a pattern-urilor, teorema de invatare a perceptronului, invatarea bazata pe gradientul erorii, etc. Au fost elaborati algoritmii de invatare (supervizata) pentru retele munostrat de perceptroni discreti si continui. Toate acestea vor sta la baza capitolului urmator, in care va fi abordata problema invatarii retelelor neuronale multistrat.4 Retele feedforward multistrat

9

In capitolul 3 am utilizat retelele neuronale pentru clasificarea pattern-urilor liniar separabile. Clasificatoarele neuronale proiectate erau capabile sa acumuleze experienta (sa invete) pe parcursul unui proces de antrenare supervizata. Atat clasificarea in doua categorii cat si cea multicategoriala au fost formulate pentru retele neuronale cu un singur strat de neuroni. Fieare neuron din retea calculeaza mai intai produsul scalar dintre vectorul de intrare si propriul vectorul de ponderi (net=ytw), dupa care aplica functia de activare neliniara f(net). Prima operatie realizeaza de fapt o combinatie liniara a intrarilor, ponderile jucand rolul de coeficienti de proportionalitate in cadrul aceastei combinatii liniare). Prin urmare, retelele monostrat le putem considera liniare fara a uita faptul ca, la nivelul fiecarui neuron, operatia neliniara f(net) este implementata cu ajutorul elementului de decizie aferent neuronului respectiv. Trebuie retinut faptul ca retelele cu un singur strat nu pot clasifica decat pattern- uri liniar separabile.

Daca pattern-urile nu sunt liniar separabile, fie renuntam la conceptul bazat pe functii discriminant liniare (introducem functii neliniare), fie apelam la arhitecturi neuronale mai complexe (retele multistrat). In acest capitol vom studia retelele multistrat.

Cel mai important atribut al retelelor multistrat este acela ca pot invata mapari (dependente) intrare-iesire de orice complexitate. Ca si in cazul retelelor monostrat, invatarea va fi supervizata si se bazeaza pe aplicarea repetata, ciclica, la intrarea retelei a tuturor prototipurilor (pattern-urilor din cadrul setului de antrenament). Odata invatata, reteaua este adesea capabila de performante surprinzatoare in aplicatii in care

122

Page 123: Retele Neuronale

deducerea explicita a dependentei (functiei) intrare-iesire este practic imposibila. Pe langa clasificarea pattern-rilor liniar neseparabile, retelele multistrat pot rezolva multe alte probleme ca: aproximare de functii, recunoasterea caracterelor scrise de mana, recunoasterea vorbirii, controlul proceselor dinamice, cinematica robotilor si generarea traictoriilor, sisteme expert.

4.1 Clasificarea pattern-urilor liniar neseparabile

Expresiile (3.32) formuleaza conditia de separabilitate liniara (in doua clase) a pattern- urilor. Pe baza lor ar putea fi dedusa conditia inversa, de nonseparabilitate liniara in doua clase. Definitia nonseparabilitatii liniare ar fi:

Presupunand ca exista doua seturi si Y2 de pattern-uri augmentate, disponibile pentru invatarea (antrenarea) dichotomizerului. Daca nu exista un vector de ponderi w astfel incat:

yl

• w > 0 pentru ori

123

Page 124: Retele Neuronale

ce y e

Y

f yl

• w < 0 pentru oric^ e

124

Page 125: Retele Neuronale

Y

2

atunci seturile de pattern-uri si Y2 sunt liniar neseparabile.

Retelele cu un singur strat nu pot clasifica pattern-uri liniar neseparabile; o astfel de clasificare poate fi realizata insa cu retele multistrat. De exemplu, o retea cu doua straturi va realiza doua transformari succesive (figura 4.1). Primul strat de neuroni va realiza o transformare a spatiului de intrare intr-un spatiu intermediar (spatiul imaginilor); pattern- urilor din spatiul de intrare le corespund deci imagini in spatiul imaginilor. Daca pattern-urile sunt liniar neseparabile in spatiul de intrare, imaginile pot fi liniar separabile in spatiul imaginilor. Al doilea strat de neuroni implementeaza clasificatorul propriu-zis. Intrarile in clasificator sunt imagini si acestea sunt liniar separabile in spatiul imaginilor. Dichotomizerul, respectiv clasificatorul multicategorial introduse in capitolul anterior pot rezolva aceasta clasificare a imaginilor liniar separabile.

125

Fig 4.1 Doua transformari succesive realizate de cele doua straturi de neuroni din retea

Page 126: Retele Neuronale

Fig 4.1a,b Clasificarea pattern-urilor liniar neseparabile

(a) pozitia pattern-urilor si separarile introduse in spatiul de intrare(b) reteaua cu doua straturi care rezolva clasificarea pe baza separarilor introduse in (a)

Pentru aprofundare vom prezenta un exemplu. Sa presupunem ca avem doua seturi de pattern-uri H si care trebuie clasificate in doua

126

Page 127: Retele Neuronale

categorii. Pozitia pattern-urilor in spatiul de intrare este prezentata in figura 4.1(a), unde sunt introduse si trei hiperplane de separare (trei separari liniare). Cele trei hiperplane, notate cu si respectiv (D, aufost astfel pozitionate incat subspatiile CD, ©, ® si (D pe care acestea le delimiteaza sa contina pattern-uri dintr-o singura clasa. In cazul general, suprafetele si ^ vor fihiperplane (separari liniare) in spatiul En. Mai mult, separarea propusa in figura 4.1(a) este neredundanta deoarece este implementata cu numarul minim de hiperplane (linii). Ea realizeaza de fapt o mapare (o transformare) a spatiului de intrare n-dimensional in spatiul imaginilor care este tri-dimensional. Stiind ca fiecare dintre hiperplanele

si © poatefi implementat cu ajutorul unui singur perceptron discret (cu ponerile corespunzator setate), putem afirma ca transformarea spatiului de intrare in spatiul imaginilor poate fi realizata de primul strat de neuroni din reteaua propusa in figura 4.1(b). Asa cum se observa in figura, doar primul strat de neuroni, cu iesirile o1, o2 si o3, este implicat in transformarea spatiului de intrare in spatiul imaginilor.

Sa analizam mai in detaliu transformarea propusa. Detalierea care urmeaza va evidentia cum un set de pattern-uri neseparabile liniar in spatiul original (spatiul de intrare) pot fi transpuse (mapate) intr-un spatiu al imaginilor, unde devin liniar separabile. Reamintim faptul ca cele trei sageti din figura 4.1(a) sunt orientate catre semispatiile pozitive introduse de cele trei hiperplane de separare

(0,(DsiAsta inseamna ca

fiecare dintre cele sapte subspatii (®, CD, ©, ® si (D, plus cele doua neetichetate), din figura 4.1(a) sunt mapate in unul din varfurile unui tri-cub. Rezultatul maparii subspatilor CD, ©, ® si (D din spatiul intrarilor, in varfurile cubului din spatiul tri-dimensional al imaginilor (o1, o2, o3), este redat in figura 4.1 (c).

127

Page 128: Retele Neuronale

i

(c)Fig 4.1c Maparea subspatiilor din spatiul de intrare in varfurile cubului din spatiul imaginilor si separarea (clasificarea) realizata de perceptronul de iesire (TLU #4) in spatiul imaginilor

Pattern-urile din subspatiile (D, ©, si (D (care apartin clasei 1) sunt mapate in varfurile (1,-1,1), (-1,1,1) si respectiv (1,1,-1). Pattern-urile din subspatiile si ® (care apartin clasei 2) sunt mapate in varfurile (-1,-1,1) si respetiv (-1,1,-1). Se poate observa ca, in spatiul imaginilor (oi, o2, o3), pattern-urile din clasele 1 si 2 devin liniar separabile. Exista o infinitate de solutii (hiperplane de separare). Hiperplanul ales in figura 4.1(c) are ecuatia o1+o2+o3=0. Perceptronul discret din stratul de iesire, cu intrarile o1, o2, o3, cu ponderile (neexplicitate in figura) w1=w2=w3=1, cu intrarea de bias conectata la -1 si cu poderea de bias w4=0, va implementa exact acest hiperplan de separare. Prin urmare, acest perceptron va realiza o mapare a spatiului imaginilor in spatiul de iesire si va reusi astfel sa clasifice corect pattern-urile de intrare:

fsgn(o1

128

Cf -1 ,1 ,1 )

Page 129: Retele Neuronale

+ o2 + o3) > 0 : clasa1 o4 = <

lsgn(o1 + o2 + o3) < 0 : clasa2

Din analiza realizata pana aici rezulta ca, algoritmul de invatare aferent retelelor multistrat trebuie sa produca imagini liniar separabile in spatiul imaginilor. Daca parametrii tuturor pattern-urilor din spatiul intrarilor sunt cunoscuti si apartenenta acestora la diferitele clase este de asemenea cunoscuta, atunci ponderile retelei cu doua straturi ar putea fi calculate prin metode analitice, de genul celei prezentate mai sus. De cele mai multe ori insa, se dispune de un set redus de pattern-uri (prototipurile din setul de antrenament) si doar apartenenta acestora la diferitele clase este cunoscuta. Din acest motiv, ponderile retelei vor rezulta in urma unui proces iterativ de invatare. Dupa invatare (dupa fixarea valoriilor ponderilor), reteaua va reusi sa clasifice corect toate prototipurile (pattern-urile din setul de antrenament) si suplimentar, va fi capabila de generalizare. Asta inseamna ca va clasifica corect si alte pattern-uri, neutilizate in faza de invatare.

Exemplul 4.1 (J.M. Zurada, pag 168) prezinta proiectarea, prin metoda analitica, a unei retele neuronale cu doua straturi capabila sa clasifice patru pattern-uri neseparabile liniar (problema XOR).

129

Page 130: Retele Neuronale

Inainte de a deduce algoritmul de invatare pentru retelele multistrat, sa subliniem capacitatea de auto-organizare pe parcursul invatarii si proprietatile pe care transformarea (maparea) intrare-iesire le are. Capacitatea de auto-organizare si transformarea intrare- iesire nu trebuiesc predefinite si respectiv proiectate. Dimpotriva, achizitia de cunostinte (auto-organizarea) are loc progresiv, pe parcursul invatarii, pe masura ce exemplele sunt furnizate retelei (prototipurile din setul de antrenament sunt aplicate pe intrarea retelei).

In figura 4.5(a) se prezinta un exemplu mult mai complex de clasificare a unor pattern-uri bidimensionale (clasificare in planul x2x1). Pattern-urile din cele doua regiuni disjuncte A si B (regiunile hasurate) apartin clasei 1; toate celelalte pattern-uri apartin clasei 2. Clasificarea pattern-urilor (maparea spatiului de intrare din figura 4.5(a) in cele doua clase aferente spatiului de iesire) poate fi realizata de reteaua din figura 4.5(b). Pentru fiecare perceptron, daca suma ponderata a pattern-urilor de intrare (neaugmentate) depaseste pragul T, atunci unitatea TLU raspunde pe iesire cu +1, in caz contrar raspunde cu -1.

Este usor de constatat ca stratul de intrare realizeaza urmatoarea transformare:

• unitatile #1 si #2 seleteaza banda verticala a<x1<b, iar unitatile #3 si #4 selecteaza banda verticala c<x1<d.

130

Page 131: Retele Neuronale

131

Page 132: Retele Neuronale

Fig 4.5 Exemplu de clasificare a unor pattern-uri bidimensionale (a) spatiul pattern-urilor (b) clasificatorul implementat cu retea de perceptroni discretiUnitatea din stratul de iesire opereaza cu pragul 7=3,5. Aceasta raspunde cu +1 pe iesire, semnaland faptul ca la intrare s-a aplicat un pattern din clasa 1, daca iesirile unitatilor #5 si #6 sunt ambele in 1 (e<x2<f) si daca, fie iesirile unitatilor #1 si #2 sunt ambele in 1 (a<x1<£>), fie iesirile unitatilor #3 si #4 sunt ambele in 1 (c<xi<d). Daca ne aflam in una din cele doua situatii (pattern-ul aplicat la intrare provine, fie din regiunea A, fie din regiunea B), atunci suma intrarilor unitatii #7 va fi 4; aceasta valoare depaseste T=3,5 si prin urmare unitatea TLU #7 raspunde cu +1 pe iesire, semnaland pattern din clasa 1.

Retelele multistrat formate cu perceptroni discreti, descrise in acest paragraf, se mai numesc si retele de tip "comitet" ("committee" networks). Termenul "comitet" este utilizat pentru a sugera ca perceptronul (perceptronii) din al doilea strat revendica un numar de "voturi" (iesiri in +1) exprimate de perceptronii din primul strat, pentru a decide in ce clasa va fi plasat pattern-ul aplicat la intrarea retelei. Pattern-urile aplicate la intrare sunt mai intai transformate (mapate) in imagini, care reprezinta varfurile unui cub n-dimensional [-1, 1]. Pana la 2n imagini, fiecare imagine reprezentand un varf al hipercubului, vor fi disponibile intr-un spatiu de imagini n-dimensional. Perceptronii din stratul de iesire mapeaza imaginile in clase (introduc hiperplane de decizie pentru a separa liniar imaginile in regiuni de decizie).

4.2 Regula de invatare delta pentru retele de perceptroni cu un singur strat

Obiectivul paragrafelor 4.2 si 4.3 este de a deduce algoritmul de invatare aferent retelelor multistrat cu propagare inainte (multilayer feedforward networks). Algoritmul in discutie este denumit in literatura de specialitate algoritmul de invatare cu retro-propagarea erorii (error back-propagation training algorithm). Introducerea acestui algoritm (Paul Werbos, David E. Rumelhart et all, 1974) a produs o revitalizare a domeniului retelelor neuronale artificiale.

132

Page 133: Retele Neuronale

Algoritmul Error Back-Propagation (EBP) implementeaza o procedura supervizata de invatare. Un pattern (din setul de antrenament) este aplicat pe intrarea retelei pentru a fi clasificat sau asociat cu un pattern de iesire. Daca asocierea/clasificarea este incorecta, atunci ponderile retelei sunt ajustate astfel incat eroarea de asociere/clasificare sa fie micsorata. Procesul de :

- aplicare a pattern-ului pe intrare si calculul valorii reale obtinute pe iesiea retelei

- calculul erorii prin compararea valorii reale cu valoarea dorita la iesire

- ajustarea ponderilor daca este necesar (daca eroarea este diferita de zero)continua ciclic pana cand toate pattern-urile din setul de antrenament sunt invatate, cu o eroare acceptabila (mai mica decat o valoare Emax impusa de utilizator).

De regula, invatarea se face in cicluri succesive, iar in cadrul unui ciclu se aplica pe intrarea retelei, tot succesiv, toate prototipurile din setul de antrenament. Uzual eroarea este cumulativa si deci se cumuleaza la nivelul intregului ciclu (pentru intreg setul de pattern-uri de antrenament). Obiectivul invatarii este deci repetarea ciclurilor de invatare pana cand eroarea globala (cumulata la nivelul intregului ciclu) este minimizata (mai mica decat Emax impusa).

Pentru a deduce algoritmul EBP, mai intai vom investiga invatarea unei retele monostrat de perceptroni continui. Mai intai vom redesena reteaua din figura 3.23 intr-o forma perect echivalenta (figura 4.6).

Valorile de intrare si respectiv iesire sunt notate cu yj si respectiv ok. Prin urmare, notam cu yj , pentru j=1, 2, ..., J si respetiv ok, pentru k=1, 2, ..., K, valorile semnalelor de intrare in coloanele j si respetiv k de noduri ale retelei. Dupa cum am mentionat anterior, ponderea wk j conecteaza iesirea neuronului j cu intrarea neuronului k din stratul urmator.

133

Page 134: Retele Neuronale

Utilizand notatia vectoriala, pasul de propagare inainte (forward pass) aferent retelei din figura 4.6, poate fi sintetizat astfel:

o=r[Wy]

unde vectorul de intrare, de iesire si matricea de ponderi sunt:

WK1 WK 2 ■ ■ ■ WK j

iar operatorul neliniar r[] este:

/(•) 0 ■ 0 0 /(•)■ 0

134

Fig 4.6 Retea de perceptroni continui cu un singur strat

(4.3a)

y iy 2

L

yj

J

w

o0 2

y = =

0 K

W-| i W-| 2 l W 1 j

W21 w 2 2 ■ ■ ■ w 2 J

H-] =

Page 135: Retele Neuronale

0 0 ■•• /(•)j

unde /(•) reprezinta functia de activare aferenta celor K neuroni din retea.

135

Page 136: Retele Neuronale

Vectorul dorit la iesire este:

dd=

d

Sa observam ca intre paranteze, in ecuatia (4.3a) apare de fapt vectorul de activare aferent stratului k:

(4.3b)

net

Expresia erorii introdusa in (2.37) pentru un singur perceptron, trebuie aici generalizata astfel incat sa insumeze toate erorile patratice de pe iesirile k=1, 2, ..., K

1 K 2

(dpk-opk )2

2 k =1

Sa notam ca indicele p utilizat in ecuatia (4.4) se refera la un anumit pattern din setul de antrenament, care a fost aplicat la intrarea retelei si care a generat eroarea Ep la iesire. Prin urmare, eroarea Ep, unde p=1, 2, ..., P, este eroarea generata la iesirea retelei de pattern-ul yp aplicat la intrarea acesteia.

Dupa ce am definit toate aceste componente, putem trece la deducerea regulei de invatare delta

136

1

2

K

net1

netWy

net,

K

2(4.4)

Page 137: Retele Neuronale

pentru reteaua noastra monostrat (a se revedea regula delta introdusa la 2.5.C si ulterior dedusa intuitiv la 3.6). Plecam de la premisa ca vom ajusta ponderile astfel incat sa realizam un salt pe suprafata de eroare Ep, pe directia gradientului erorii si in sens invers acestuia; o asemenea ajustare va conduce in mod evident la reducerea erorii Ep. Pentru simplificare, vom opera cu neuroni augmentati. Asta inseamna ca:

wkJ=Tk,

pentru

k=1,

2, ..., K

si ultima intrare in

retea este setata la valoarea -

1:

yj=-1In acest context, pragurile Tk, cu k=1, 2, ..., K, devin ponderi si vor fi ajustate pe parcursul invatarii, exact ca si celelalte ponderi din retea.

Relatia (2.39) introdusa la 2.5.C, reprezinta regula delta de ajustare a ponderilor. Pentru un anumit nod k (k=1, 2, ..., K) din figura (4.6), ecuatia (2.39) devine:

Dw k = -n • VE

unde wk este vectorul de ponderi aferent neuronului k

137

d E 3Wk j

(4.5a)Aw k j = -h

Page 138: Retele Neuronale

(randul k din matricea W). Formula de ajustare individuala (a unei singure ponderi) va fi:

138

Page 139: Retele Neuronale

unde eroarea E este cea definita in (4.4). Pentru simplificarea expresiei, in (4.5a) indicele p a fost eliminat. Utilizand (4.3b), pentru fiecare nod din stratul k, (k=1, 2, ..., K), putem scrie:

netk = ZwkJ y.

(4.5b)j=1

si mai departe, utilizand (4.3a), putem scfrie ecuatia iesiri neuronului:

ok=f(netk)

Se defineste semnalul de eroare 5 (denumit si semnal delta) produs de neuronul k din cadrul retelei monostrat:

80 k(4.6)

0 k d (netk)

V 1

Daca analizam figura 4.6 constatam ca ponderea wk j

intra in expresia valorii de activare a unui singur neuron, si anume a neuronului k (vezi ecuatia 4.5b). La randul ei, valoarea de activare netk

genereaza iesirea ok iar iesirea ok genereaza un singur termen din eroarea

1 2

globala (4.4) si anume termenul — (dk -ok )2 ; reamintim faptul ca indicele p (care

semnifica pattern-ul curent) a fost eliminat pentru simplificarea expresiilor.

dE

139

Page 140: Retele Neuronale

Utilizand regula derivarii inlantuite, componenta ----------------------------------------------- din expresia vectorului

3wk j

gradient poate fi scrisa astfel:

dE = dE .dnetJ ( 4 7 )3w k j d(ne t k ) dw k j

Conform ecuatiei (4.5b): netk

= wk 1 y 1 + wk 2 y2 + ■■■ + w k . y . + • • • + wk j . yj . Deoarecevalorile yj , (j=1, 2, ..., J) sunt constante (pentru un anumit pattern aplicat la intrarea retelei), obtinem:

3 jW)=(4.8)

d w k j

Inlocuind (4.6) si (4.8) in (4.7), obtinem:

dESok Yi(4.9)

d w k j

Formula (4.5a) de ajustare a ponderi wk j poate fi acum rescrisa in functie de semnalul de eroare 5ok:

Aw k j =n -80 k y j , pentru k=1, 2,..., K si j=1, 2, ..., J (4.10)

Pentru regula de invatare delta, expresia (4.10)

140

Page 141: Retele Neuronale

reprezinta formula generala de ajustare a ponderilor retelei cu un singur strat. Conform formulei (4.10), valoare de ajustare a ponderii wk j este proportionala cu componenta yj a vectorului de intrare si cu semnalul de eroare 5ok care apare la iesirea neuronului k.

141

Page 142: Retele Neuronale

In ecuatia (4.10) nu intervine, in maniera explicita, functia de activare. Functia de activare intervine insa implicit, prin intermediul semnalului de eroare 50k.

Acest semnal de eroare, care apare la iesirea neuronului k, trebuie calculat tinand cont de functia de activare utilizata. Sa observam ca eroarea E este o functie compusa de netk. Prin urmare, pentru k=1, 2, ..., K, putem scrie:

E(netk)=E [ok(netk)]

(4.11)

Tinand cont de definitia (4.6) a semnalului de eroare, putem scrie:

50 k= --0

(4.12) 3ok 3(netk)

Al doilea termen al produsului din ecuatia (4.12) este chiar derivata functiei de activare:

4 (net) = (4.13a)-(net )

Pe de alta parte, derivand (4.4) obtinem:

142

Page 143: Retele Neuronale

|° = -V k -o k :(4.13b)

-

Inlocuind (4.13a) si (4.13b) in (4.12), obtinem:

S0k = (d k -o k ) 4 (ne tk ) , pentru k=1, 2, ..., K

(4.14)

Ecuatia (4.14) stipuleaza faptul ca semnalul de eroare 5ok depinde doar de eroarea locala

/

(dk-ok) care apare la iesirea neuronului k, scalata cu factorul multiplicative fk(ne t k ) , care reprezinta panta functiei de activare, calculata pentru urmatoarea valoare de activare:

netk = f _1(Ok)

Formula finala de ajustare a ponderilor unei retele cu un singur strat se poate obtine acum, inlocuind (4.14) in (4.10):

pentru k = 1, 2, ..., K Awkj= n (dk-ok )4(netk) yj . (4.15a)

' ' pentru j = 1, 2, ..., J

Formula (4.15a) este identica cu regula de invatare delta (2.40). Ajustarea ponderilor se va face cu formula:

w kj = w k

j+Aw k j _________ :

_______________________(4.15b)

143

pentru k = 1, 2, ..., K pentru j = 1, 2, ..., J

Page 144: Retele Neuronale

Formulele (4.15) sunt valabile pentru orice tip de functie de activare neliniara fnet), cu conditia ca aceasta sa fie continua (diferentiabila) pe intreg domeniul de definitie.

Sa particularizam regula delta pentru cele doua functii continue de activare:

144

Page 145: Retele Neuronale

A. regula delta pentru functia de activare sigmoidala unipolara Pentru X=1 (cazul uzual), expresia care defineste sigmoida unipolara (vezi ecuatia (2.4a), observatia aferenta, figura 2.5b si ecuatia (3.47u)) este:

1f (net) =

1 + e-net 1 + exp(-net)

Prin derivare se obtine:

exp(-net)

f (net) = --------------------^-------

[1 + exp(-net )]2

Aceasta ecuatie poate fi rescrisa intr-o forma echivalenta:

1 1 + exp(-net) -1

f'(net)1 + exp(-net) 1 + exp(

145

1(4.16*)

Page 146: Retele Neuronale

-net)

Daca inlocuim (4.16*) in (4.16b) obtinem:

f' (net) = f (net)[1 - f(net)] = o 1 - o

Prin urmare, pentru functia de activare sigmoidala unipolara, semnalul de eroare definit prin ecuatia (4.14) devine:

So k = (dk-ok )o k - (1-o k ) , pentru k=1, 2, ..., K

B. regula delta pentru functia de activare sigmoidala bipolara

Pentru X=1, expresia care defineste sigmoida bipolara (vezi ecuatia (2.3a), observatia aferenta, figura 2.5a si ecuatia (3.47b)) este:

2f(net)1 + e-net ' 1 + exp(-net)

Calculand derivata sigmiodei bipolare obtinem:

.,, 2exp(-net) f (net) =

146

(4.16a)

(4.16b)

(4.16c)

Page 147: Retele Neuronale

----------------------^-------

[1 + exp(-net )]2

Pentru functia de activare sigmoidala bipolara, semnalul de eroare definit prin ecuatia (4.14) devine:

So k = |(d k-ok) (1-ok

2), pentru k=1, 2, ..., K (4.18a)

Ecuatia (4.18a) se obtine printr-un exercitiu relativ simplu (vezi paragraful 3.6.A) prin care derivata f '(net) se exprima ca o functie de functia originala f(net):

f '(net) = r 2 exp(-net) 12 = 1 [1 - f2(net)] = 1 (1 - o2) [1 + exp(-net )]2 2L v n 2V '

147

(4.18b)

-12

(4.17)

-1

Page 148: Retele Neuronale

Concluzionand cele deduse mai sus, formula de ajustare individuals a ponderii wk j , pentru k=1, 2, ..., K si pentru j=1, 2, ..., J, devine:

w kj =w M + n - (d k

-

o k )O j ( 1 - o k) •y j pentru

functia unipolara: f(netk) =

ok = 1

1 + exp(-netk)

si respectiv:1 2 wk j = w k j + 2n^ (dk - o k ) ( 1 - o k ) yj

pentru functia bipolara: f(netk) = ok

Pentru reteaua monostrat din figura 4.6 care invata dupa regula delta, in forma vectoriala, formula (generica) de actualizare a ponderior va fi:

w' = W + n • 5o • y t

unde 50 reprezinta vectorul semnalelor de eroare:

d o18 o2

8oK.

148

(4.19a)

(4.19b)

2 1 1

-1 = 21 + exp(-netk) 1 + exp(-netk) 2

(4.20)

5o

Page 149: Retele Neuronale

W este matricea de ponderi (definita mai sus), iar yt este vectorul de intrare transpus (vezi definitia vectorului y mai sus).

Componentele 5ok ale vectorului semnalelor de eroare sunt date de (4.14), in cazul general, si respectiv de (4.17)/(4.18a), in cazul functiei de activare sigmoidale unipolare/bipolare; ecuatia (4.17)/(4.18a) a fost obtinuta din (4.14), prin inlcuirea derivatei generice fk'(netk) cu derivata functiei sigmoidale unipolare/bipolare, data de (4.16c)/(4.18b). Sa observam ca componentele 5ok sunt semnale de eroare locale care depind numai de ok (iesirea reala) si dk (iesirea dorita) aferente neuronului k.

Remintim faptul ca operam cu vectori de intrare augmentati. Asta inseamna ca, primele J-1 componente aferente vectorului augmentat, reprezinta vectorul de intrare real (neaugmentat) iar ultima componenta (yJ) este fixata la -1 (intrarea de bias). Astfel, ponderea wkJ va emula pragul neuronului (wkJ=Tk), iar valoarea de prag va fi ajustata in timpul invatarii, ca si celelalte ponderi din retea.

Regula de invatare delta aferenta retelei de perceptroni continui cu un singur strat (figura 4.6) va produce un raspuns mult mai diversificat, comparativ cu cel al retelei de perceptroni discreti studiata in capitolul 3. Invatata, reteaua de perceptroni continui va realiza un grad "continuu" de asocieri, comparativ cu cele 2

149

Page 150: Retele Neuronale

varfuri ale hipercubului K-dimensional, care reprezinta toate iesirile posibile pe care le poate avea reteaua de perceptroni discreti. Reteaua de perceptroni continui poate genera pe iesire orice valoare din interiorul hipercubului K-dimensional (-1 1); reteaua de perceptroni discreti poate genera doar valori ce reprezinta varfurile hipercubului K-dimensional [-1 1 ].

Suntem in masura acum sa sintetizam algoritmul de invatare, bazat pe regula delta, pentru reteaua monostrat de perceptroni continui din figura 4.6.

150

Page 151: Retele Neuronale

Algoritmul de invatare, bazat pe regula delta, aferent retelei monostrat de perceptroni continui_____________________

Se da setul de antrenament format din P perechi:

{(y1,d1), (y2,d2), ..., (yp,dP)}, unde:

yi

este vectorul de intrare augm

151

Page 152: Retele Neuronale

entat (J x 1), di

este vectorul dorit la i

152

Page 153: Retele Neuronale

esire (K x 1)

Sa notam ca ultima componenta (yJ), din cadrul fiecarui vector de intrare yp (p=1, 2, ..., P) este setata la -1 (intrarea de bias) pentru a emula pragul neuronului.

In cele ce urmeaza, q reprezinta pasul de invatare global iar p reprezinta pasul de invatare din cadrul ciclului curent.

Pasul 1: Se alege

constanta de invatare n>0

si eroarea maxima

aceptata Emax>0. Pasul 2: •

Matricea de ponderi W

(KxJ) este initializata cu

valori mici aleatoare.W

-| i W-| 2 l

W 1 j

W21 w 2 2 ■ ■ ■ w 2 J

WK1 WK 2

l ■ ■

153

W

Page 154: Retele Neuronale

WK j

• Se initializeaza

contoarele si

eroarea: q^1, p^1,

E^0Pasul 3: Ciclul de invatare incepe aici.

Se aplica vectorul de intrare yp si se calculeaza iesirea reala (componentele vectorului op=(o1

o2 ... oK/):

y^yp, d^dp,

ok^i(wk

ty) , pentru k=1, 2, ..., K

unde wk este randul k din matricea de ponderi W si f(net) este functia sigmoidala bipolara definita de relatia (2.3a).

Pasul 4: Se ajusteaza ponderile:

1 2 wk — wk + -h-(dk-

154

Page 155: Retele Neuronale

Ok)• (1 -ok )• y, pentru k=1, 2, ..., K

u

nde

wk

est

e

ran

dul

k

din

mat

rice

a

de

155

Page 156: Retele Neuronale

pon

deri

W

Pa

sul

5:

Se

cal

cul

eaz

a

ero

are

a

(cu

mul

ativ

a)

afe

ren

ta

cicl

ului

cur

ent:

156

Page 157: Retele Neuronale

E — E +1 (dk -ok)2 , pentru k=1, 2, ..., K

157

Page 158: Retele Neuronale

Pasul 6: Daca p<P atunci p-^p+1, q^q+1 si treci la pasul 3; in c

158

Page 159: Retele Neuronale

az contrar, treci la pasul 7

Pasul 7: Ciclul de invatare se incheie aici:

• Daca E<Emax, incheie sesiunea de invatare (invatarea s-a realizat cu succes).Furnizeaza ponderile calculate (matricea W), pasul global (q) si eroarea (E).

• Daca E>Emax, atribuie E-^0, p^1 si treci la pasul 3 (initiaza un nou ciclu de invatare)

159

Page 160: Retele Neuronale

Nota: Daca se utilizeaza functia de activare sigmoidala unipolara, adica daca ^net^Wky) de la pasul 3 este data de relatia (2.4a), atunci formula de ajustare a ponderilor, utilizata in pasul 4, devine:

wk — wk + (d k -o k ) o k • (1 -o k ) • y, pentru k=1, 2, ..., K

4.3 Regula delta generalizata

In prezentul paragraf vom generaliza regula delta pentru retele feedforward multistrat. Arhitectura pe care o vom studia este redata in figura 4.7.

160

Page 161: Retele Neuronale

161

Fig 4.7 Retea feedforward multistrat cu doua straturi de

perceptroni continui

Page 162: Retele Neuronale

Reteaua din figura 4.7 are doua straturi de neuroni. Daca luam in considerare si nodurile de intrare, atunci reteaua are trei straturi succesive de noduri care genereaza semnale. Coloana i de semnale reprezinta semnalele de intrare in retea (nu provin de pe iesirile unui strat de neuroni). Urmatoarele doua coloane de semnale (coloanele j si respectiv k) reprezinta semnalele aferente stratului median de noduri si respectiv celui de iesire. Prin urmare, reteaua din figura 4.7 poate fi considerata o retea feedforward cu doua straturi de neuroni sau o retea feedforward cu trei straturi de noduri. Nu exista o conventie unanim acceptata in literatura de specialitate.

Totusi, nodurile din stratul de intrare nu realizeaza nicio procesare; ele doar distribuie componentele vectorului de intrare pe intrarile neuronilor din primul strat de neuroni. Prin urmare, devine mai logic sa utilizam termenul "strat" pentru a eticheta straturile succesive de neuroni. Aceasta conventie o vom adopta si noi. Prin urmare, reteaua feedforward din figura 4.7 este o retea cu doua straturi.

Straturile de neuroni ale caror iesiri nu sunt direct accesibile (nu sunt vizibile din exterior) se numesc straturi interne sau straturi ascunse (hidden layers). Deci, intr-o retea cu multe straturi, in afara stratului de iesire, toate celelalte straturi de neuroni sunt straturi ascunse. Prin

162

Page 163: Retele Neuronale

urmare, reteaua din figura 4.7 este o retea feedforward cu un singur strat ascuns. Reamintim faptul ca termenul "feedforward" refera arhitectura neuronala "cu propagare inainte" (fara bucle de reactie).

In cele ce urmeaza, vom deduce expresiile generale pentru calculul valorilor de ajustare a ponderilor Av,/ pentru toate straturile ascunse (asa cum indica si figura 4.7, ponderea v interconecteaza nodul i din stratul curent cu nodul j din stratul urmator).

Fofrmula de ajustere a ponderilr (4.5a), pentru stratul ascuns din figura 4.7, devine:

AVj^ -h—, pentru j=1, 2, ..., J si i=1, 2, ..., I (4.21a)

' J I

iar formula (4.7) devine:

-E = -E 3(netj ) -Vjj 3(ne t j) 3Vj|

Sa observam ca intrarile in stratul ascuns sunt zi, cu i=1, 2, ..., I . Tinand cont de (4.8), al

3(net;)doilea termen al produsului din ecuatia (4.21b) este egal cu zi, adica------------------------------------------------- '— = z;, si formula

- Vj jde ajustare a ponderilor, similara cu (4.10), devine:

AVj j = n-Sy j Z j , pentru j=1, 2, ..., J s i i=1, 2, ..., I (4.21c)

unde 8y j reprezinta semnalul de eroare aferent neuronului j din stratul ascuns, adica

163

(4.21b)

Page 164: Retele Neuronale

aferent neuronului cu iesirea yj, (j=1, 2, ..., J). Prin definitie, expresia acestui semnal de eroare este:

8y j = ,pentru j=1, 2, ..., J

(4.22)y j 3(n e t j )

164

Page 165: Retele Neuronale

Sa observam ca valoarea de activare (excitatia) netk

aferenta unui neuron din stratul de iesire (fig 4.7), afecteaza doar iesirea ok

aferenta neuronului respectiv. Prin urmare, va influenta un singur termen de eroare din suma (4.4) si anume termenul (dpk-opk)2=(dk-ok)2; reamintim faptul ca indicele p se refera la pattern-ul curent si a fost eliminat pentru simplificarea expresiilor.

Cand e vorba de stratul ascuns situatia se schimba. Excitatia netj

aferenta unui neuron din stratul de ascuns (fig 4.7), produce iesirea yj aferenta neuronului respectiv, care e distribuita tuturor neuronilor din stratul de iesire si ca atare, va afecta toti cei K termeni de eroare din suma (4.4). Din acest motiv, semnalele de eroare aferente stratului ascuns se vor calcula usor diferit fata de cele aferente stratului de iesire. Aplicand regula derivarii in lant, semnalul de eroare 8y aferent neuronului j din stratul ascuns (ecuatia 4.22) secalculeaza astfel (vezi (4.12)):

s y ) - -jE (4.23a)

y j dy j a(netj)

unde:

1 l(dk- /[netk^)]}2 I (4.23b)

d

y, dy, 12 k-1

165

DE D F 1 K R , „ R X ,

fy = a (ne t j )

l j

Page 166: Retele Neuronale

iar al doilea

termen al

produsului din

(4.23a) este:

- fj (netj) (4.23c)

Calcule de rutina aplicate relatiei (4.23b) conduc la:

dF -- ! (d -^k ) • f [netk(y)]} (4.24a)

dy j k - 1dy j

Aplicand din nou regula derivarii in lant pentru derivata din (4.24a), obtinem:

-dE- - !(d k -o k fnetO-M (4.24b)

ay j k - 1dy j

d( zw k j • y j )unde, daca tinem cont de (4.5b), obtinem: d(netk) - ----------------------------------dy j dyjDaca tinem cont si de semnalul de eroare 8ok definit prin (4.14), obtinem o forma simplificata pentru ecuatia (4.24b):

^ - -I 5 0 k w k j (4.24c)

dy j k - 1

Integrand (4.23c) si (4.24c) in (4.23a), obtinem:

166

w k j

Page 167: Retele Neuronale

Kf (netj) £ 80 k • w k j , pentru j=1, 2, ..., J

k=1

Tinand cont de (4.25), ecuatia de ajustare a ponderilor aferente stratului ascuns (4.21c) devine:

> k opentru j = 1, 2, ..., J

„„ ,DVj j = n • f j

(ne t j ) Z j £ 80 k w k j , J ' ' 'J

(4.26a)'

k=1

pentru i = 1, 2, ..., I

unde fj '(netj) se calculeaza cu (4.16c) daca se utilizeaza functia de activare sigmoidalaunipolara si respectiv cu (4.18b) daca se utilizeaza functia de activare sigmoidala bipolara.

Formula (4.26a) reprezinta asa numita regula de invatare delta generalizata. Valorile Avj cu care se ajusteaza ponderile ( j

cu i=1, 2, ..., I) care conduc catre neuronul j aferent stratului ascuns, sunt proportionale cu suma ponderata a semnalelor de eroare

Kaferente stratului urmator ( £ 80 k • w k j), coeficientii de ponderare fiind chiar ponderile care

k=1

conecteaza iesirea neuronului j la intrarile neuronilor din stratul urmator. Ponderile wk j

(k=1, 2, ..., K) care intra in formula de calcul a semnalului de eroare 5y j

167

Page 168: Retele Neuronale

(4.25), formeaza vectorul Wj

si au fost figurate cu linii ingrosate in figura 4.7. Suma poderata a semnalelor de eroare

Kaferente stratului urmator ( £ 80 k • wk j) va fi utilizata pentru ajustarea tuturor ponderilor de

k=1

intrare in nodul j (ponderile j

cu i=1, 2, ..., I); aceste ponderi au fost de asemenea figurate cu linii ingrosate in figura 4.7. Formula de ajustare a ponderilor aferente stratului ascuns se obtine din (4.26a):

K

wm =Vm+ n• fj (netj) Zj £ 80 k w

k=1

In forma vectoriala, formula

de ajustare a ponderilor

stratului ascuns (4.26b)

devine:

V,=V+n-5 y-

zt (4.27)

unde: z reprezinta

vectorul de intrare (in stratul

ascuns):z z =

168

(4.25)

pentru j = 1, 2, ..., J pentru i = 1, 2, ..., I

(4.26b)kj

1

z 2

Page 169: Retele Neuronale

z

V reprezinta matricea de ponderi aferenta stratului ascuns:

V11 v12 V11 V21 V22 I

V J 1 V j 2 " V j i _

iar 5y este un vector coloana cu componentele 5yj (j=1, 2, ..., J) date de (4.25):

169

I

V

Page 170: Retele Neuronale

5

8y 1

V2

y

JyJ

Matricea de ponderi aferenta stratului de iesire este:

W-|-| W- |2 L W-|j W2 1

W2 2 L W2 j

WK

1 WK

2-WK

Daca notam cu w, vectorul care contine coloana j din matricea W, atunci vectorul 5 y

poate fi

170

(4.28)

Page 171: Retele Neuronale

calculat cu ecuatia vectoriala:

5 = w ^ 5 • f'y J o y

unde 5o

reprezinta vectorul semnalelor de eroare aferente stratului de iesire, definit ca in (4.20):

8 0 1

8 0 2

8 oK

iar fy

repre

zinta

un

vecto

r

cooa

171

5o =

=

(4.29a)(4.29b)

Page 172: Retele Neuronale

na cu

comp

onen

tele

fyj

(j=1,

2, ...,

J); acest

vecto

r

conti

ne

deriv

atele

functi

ilor

de

activ

are

afere

nte

neur

onilor

din

strat

ul

ascu

ns.

Deci:

fy1fy2

fyJ .

Daca se

172

Page 173: Retele Neuronale

utilizeaza functia de activare sigmoidala unipolara, definita prin relatia (2.4a), atunci componentele fyJ sunt date de ecuatiile:

fyj ^j(1 ^j), pentru j=1, 2, ..., J

iar daca se foloseste functia

173

Page 174: Retele Neuronale

sigmoidala bipolara, definita prin relatia (2.3a), componentele fyJ sunt date de ecuatiile:

4 = 2 (1 - J ) , pentru j=1, 2, ..., J

174

Page 175: Retele Neuronale

Daca comparam regula de invatare delta pentru ajustarea ponderilor stratului de iesire, reprezentata de ecuatia (4.20), cu regula delta pentru ajustarea ponderilor stratului ascuns, reprezentata de ecuatia (4.27), constatam ca cele doua

175

Page 176: Retele Neuronale

relatii sunt similare. Diferentele constau in:1. n

otatiile diferite utilizate pentru vectorii de intrare (in s

176

Page 177: Retele Neuronale

tratul neuronal antrenat) si pentru matricea de ponderi sinaptice (afe

177

Page 178: Retele Neuronale

renta stratului antrenat).

2. modul de calcul al semnalelor de eroare.

Notatiile diferite nu reprezinta

178

Page 179: Retele Neuronale

diferente functionale; modul diferit de calcul al semnalelor de eroare reprezinta diferente functionale. Vectorul 5o

contine componente calculate cu (4.17), daca functia de activare este sigmoida unipolara si respectiv (4.18a),

179

Page 180: Retele Neuronale

daca functia de activare este sigmoida bipolara. Fiecare componenta a vectorului 5o se calculeaza inmultind diferenta dintre iesirea dorita si iesirea reala cu derivata functiei de activare; diferenta mentionata reprezinta componenta de eroar

180

Page 181: Retele Neuronale

e inregistrata pe iesirea respectiva iar derivata reprezinta un coeficient de ponderare.

Componentele vectorului 5y sunt produse

181

Page 182: Retele Neuronale

scalare w- • 5o • fy ( cu j=1, 2, ..., J), care

reprezinta suma ponderata a semnalelor de eroare aferente stratului urmatorK( E So k • wk i), inmultita cu derivata functiei de

182

Page 183: Retele Neuronale

activare aferenta stratului curent ( f (net,)).k=1

KCa s i in cazul anterior, derivata are rol de coeficient de ponderare. Termenul E So k • w k j

k=1reprezinta componenta de eroare care trebuie luata in considerare pe iesirea respectivului neuron din strat

183

Page 184: Retele Neuronale

ul ascuns. Cand reteaua contine mai multe straturi ascunse, regula delta generalizata propaga semnalele de eroare inapoi, din strat in strat, repetand acelasi mecanism de retropropagare si respectiv relatii perfect similare pentr

184

Page 185: Retele Neuronale

u calculul semnalelor de eroare aferente tuturor straturilor ascunse. In paragraful urmator vom formaliza/generaliza regula delta pentru retelele cu mai mult de doua straturi.

185

Page 186: Retele Neuronale

4.4 Invatarea bazata pe propagarea pattern-ului inainte, urma

186

Page 187: Retele Neuronale

ta de propagarea erorii inapoi

Dupa cum s-a aratat in paragraful anterior, reteaua cu doua straturi din figura 4.7 trebuie antrenata (invatata) in

187

Page 188: Retele Neuronale

mod supervizat. Pentru fiecare prototip z din setul de antrenament, se dispune si de raspunsul d pe care-l dorim la iesirea retelei (furnizat de "profesor"). Sa analizam faza de propagare inainte in cadrul retelei (faza

188

Page 189: Retele Neuronale

fedforward). Ca rezultat al fazei feedforward, reteaua genereaza vectorul de iesire real o.

A Faza feedforward

In general, reteaua multistrat mapeaza vectorul de intrare z intr-un vector de iesire o, printr- o transform

189

Page 190: Retele Neuronale

are de forma:

o=N[z](4.30)

unde N reprezinta un operator matricial neliniar compozit. Pentru reteaua cu doua straturi din figura 4.7, transformarea z^o definita in (4.30), poate fi reprezentata ca o transformare urmata de alta

190

Page 191: Retele Neuronale

transformare:

o=r[Wr[Vz]](4.31a)

Prima transformare din (4.31a) este realizata de stratul ascuns (z^y) si este de forma:

r[Vz]=y(4.31b)

iar a doua transformare din (4.31a) este realizata de stratul de iesire (y^o) si are aceeasi forma:

r[Wy]=o(4.31c)

191

Page 192: Retele Neuronale

Sa notam ca simbolul ^ denota o transformare dintr-un spatiu in alt spatiu. O asemenea transformare realizeaza fiecare strat din cadrul unei retele multistrat. Operatorul r este un operator neliniar diagonal definit la (4.3a), avan

192

Page 193: Retele Neuronale

d pe diagonala functiile de activare aferente nouronilor din respectivul strat. Functiile %•) de pe diagonala operatorului r au ca argument valorile de activare net aplicate pe intrarile neuronilor din respectivul strat. Asa cum rezulta din (4.31

193

Page 194: Retele Neuronale

), argumentele functiilor %•) sunt componentele vectorului netj

pentru stratul ascuns si respectiv, netk

pentru stratul de iesire.

Asa cum rezulta din (4.31), in ipoteza utilizarii aceleasi functii de activare f(net), neparametrice,

194

Page 195: Retele Neuronale

pentru neuronii din ambele straturi, singurii parametrii care pot fi ajustati astfel incat transformarea z^o sa conduca la un o cat mai aproape de (cat mai identic cu) d, sunt ponderile aferente celor doua straturi. Concret, avem doua matri

195

Page 196: Retele Neuronale

ci V si W care pot fi

i i 112ajustate, astfel incat eroarea definita (proportionate cu d -o ) sa fie minimizata. Prinurmare, putem considera reteaua neuronala multistrat, un sistem de transformare neliniara, foarte versatil, ponderile reprezentand parametrii

196

Page 197: Retele Neuronale

sistemului.

B Faza de invatare prin propagarea erorii inapoi

Schema logica din figura 4.8a descrie algoritmul de invatare bazat pe retropropagarea erorii (EBP = error-back propagation training) aferent retelei cu doua strat

197

Page 198: Retele Neuronale

uri din figura 4.7. Algoritmul incepe cu faza de propagare inainte, denumita si feedforward (Step 2). In aceasta faza, dupa aplicarea unui pattern z pe intrare, raspunsurile celor doua straturi, y si respectiv o sunt calculate. Apoi

198

Page 199: Retele Neuronale

urmeaza faza de calcul a semnalelor de eroare (Step 4). Sa notam ca vectorul semnalelor de eroare trebuie determinat mai intai pentru stratul de iesire (5o), apoi acesta este propagat inapoi prin retea, pentru a calcula vectorul

199

Page 200: Retele Neuronale

semnalelor de eroare aferent stratului ascuns (5y). Sunt ajustate apoi (Step 5) cele Kx J ponderi aferente stratului de iesire (componentele matricii W). In final, sunt ajustate (Step 6) cele Jx I ponderi aferente stratului de ascu

200

Page 201: Retele Neuronale

ns (componentele matricii V).

Sa observam ca, in pasul 3 (Step 3), se cumuleaza eroarea globala aferenta unui intreg ciclu, prin insumarea erorilor "masurate" la iesirea retelei, pentru toate prototipurile din setul de antre

201

Page 202: Retele Neuronale

nament {(zi,di ) ,

(z2,d2), ..., (zP,dP

)}. Eroarea finala (globala) aferenta ciclului curent este comparata apoi cu valarea Emax

impusa de utilizator. Invatarea se incheie cand eroarea globala devine mai mica decat Emax.(Step 8).

202

Page 203: Retele Neuronale

In figura 4.8b este sintetizata schema bloc a algoritmului EBP aferent retelei cu doua straturi din figura 4.7, cu evidentierea celor doua faze succesive, parcurse pentru fiecare pattern aplicat la intrare, pentru

203

Page 204: Retele Neuronale

invatare: faza feedforward (propagare inainte) si respectiv faza backward (propagarea erorii inapoi). Portiunea hasurata din schema se refera la faza feedforward. Portiunea nehasurata se refera la faza de invatare, care presupune

204

Page 205: Retele Neuronale

retropropagarea semnalelor de eroare si ajustarea ponderilor, in functie de valorile acestor semnale.

205

Page 206: Retele Neuronale

*\ff(net) given by (2.4a) is used in Step 2, then in Step 4 use

206

Page 207: Retele Neuronale

S^tH-^Xl-Ok)okl /;=[(! >))>■■] (a)Fig 4.8a Algoritmul EBP (error back-propagation training) (a) schema log

207

Page 208: Retele Neuronale

ica

Retropropagarea erorii d-o de la fiecare iesire (dk-ok, pentru k=1, 2, ..., K), utilizand procedura de coborare pe suprafata de eroare, pe directia gradientului si in sens invers acestuia, este divizata in pasi functionali

208

Page 209: Retele Neuronale

succesivi:

- calcularea vectorului 50 si a valorilor de ajustare AW afere

209

Page 210: Retele Neuronale

nte matricii de ponderi corespunzatoare stratului de iesire

- calcul

210

Page 211: Retele Neuronale

area vectorului 5y si a valorilor de ajustare AV aferente matricii

211

Page 212: Retele Neuronale

de ponderi corespunzatoare stratului ascuns

212

Page 213: Retele Neuronale

Fig 4.8b Algoritmul EBP (error back-propagation training) (b) schema bloc care ilustreaza cele doua faze: feedforward si respectiv

213

Page 214: Retele Neuronale

error back-propagation.

In cele ce urmeaza, redam algoritmul de invatare error back-propagation (EBP) aferent retelei cu doua straturi din figura 4.7.

214

Page 215: Retele Neuronale

Algoritmul de Invatare error back-propagation (EBP)

Se da setul de antrenament format din P perechi:

{(z1,d1), (z2,d2), ..., (zP,dP)}, unde:

zi

este vectorul de in

215

Page 216: Retele Neuronale

trare augmentat (I x 1) di

este vectorul do

216

Page 217: Retele Neuronale

rit la iesire (K x 1)

Sa notam ca ultima componenta (zI), din cadrul fiecarui vector de intrare zp

(p=1, 2, ..., P) este setata la -1

217

Page 218: Retele Neuronale

(intrarea de bias) pentru a emula pragurile neuronilor din stratul ascuns (Tj=Wji, pentru j=1, 2, ..., J).

Sa mai notam ca si vectorii de iesire din stratul ascuns (vectorii y) sunt augmentati; ultima componenta a vectorilor y

218

Page 219: Retele Neuronale

este setata la -1 (intrarea de bias) pentru a emula pragurile neuronilor din stratul de iesire (Tk=wkJ^, pentru k=1, 2, ..., K). Prin urmare, ultimul neuron din stratul ascuns este fictiv (dummy); acesta de fapt nu exista (yj=-

219

Page 220: Retele Neuronale

1). Deci:

yj este vectorul de iesire din stratul ascuns, augmentat (J x 1)

ok este vectorul de iesire din stratul de iesire (Kx 1) , adica iesirea reala a retelei.

In cele ce urmeaza, q reprezinta pasul de invatare global iar p reprezinta pasul de invat

220

Page 221: Retele Neuronale

are din cadrul ciclului curent.

Pasul 1: • Se alege constanta de invatare n>0 si eroarea maxima aceptata Emax>0.

• Sunt initializate matricile de ponderi W (Kx J) si V (Jx I) cu valori mici aleatoare.

W-| i W-| 2 L W 1

j W2

1 W2

221

V 1 1 V - | 2 ■' ' W11

V 21

I

VJ1 V J 2 - - -V J !

=

Page 222: Retele Neuronale

2 L W2 J

W =

_WK 1 w K 2

■ ■

■ WK

J_

Se

initiali

zeaz

a

conto

arele

si

eroar

ea: q

—1,

p—1,

E—0

Pasul 2: Ciclul de invatare incepe aici (vezi Nota 1 de la sfarsitul algoritmului !).

222

Page 223: Retele Neuronale

Se aplica vectorul de intrare zp si se calculeaza iesirile celor doua straturi:

z——zp, d^dp,

yj^f(vtz) , pentru j=1, 2, ..., J

unde vt

(vectorul de ponderi aferent neuronului j din stratul ascuns, transpus) este randul j din matricea de ponderi V si f(net) este

223

Page 224: Retele Neuronale

functia sigmoidala bipolara definita de relatia (2.3a).

ok—f(wkty) ,

pentru k=1, 2, ..., K

unde wkt

(vectorul de ponderi aferent neuronului k din stratul de iesire, tra

224

Page 225: Retele Neuronale

nspus) este randul k din matricea de ponderi W si f(net) este functia sigmoidala bipolara _________definita de relatia (2.3a).________

225

Page 226: Retele Neuronale

Pasul 3: Se calculeaza eroarea (cumulativa) aferenta ciclului curent:

E — E +1 (dk -ok)2 , pentru k=1, 2, ..., K

Pasul 4: Se calculeaza vectorii semnalelor de eroare aferenti straturilor de iesire si respectiv ascuns, 5o

(K x 1) si 5y (J x 1):

Semnalele de eroare aferente

226

Page 227: Retele Neuronale

stratului de iesire (componentele vectorului 8o) sunt calculate astfel:

1 2 So k -^ (dk-°k >(1-o k

2), Pentru k=1, 2, ..., K

Semnalele de eroare aferente stratului ascuns (componentele vectorului 8y) sunt calculate astfel:

5 y j - ^ "Y^ f i 8ok w k j , pentru j=1, 2, ..., J

2 k-1

(vezi Nota 2 de la sfarsitul algoritmului !)

Pasul 5: Se ajusteaza ponderile stratului de iesire:

227

Page 228: Retele Neuronale

pentru k -1, 2, ..., K w k

j — w kj +

n-50 k Yj ♦ ■ , op

entru j -1, 2, ..., J

Pasul 6: Se ajusteaza ponderile stratului ascuns:

pentru j -1, 2, ..., JV j i — V j j + n - S y j Z jpentru i - 1 , 2, ..., I

Pasul 7: Daca p<P atunci p-^p+1, q^q+1 si treci la pasul 2; in caz contrar, treci la pasul 8

Pasul 8: Ciclul de invatare se incheie aici:

228

Page 229: Retele Neuronale

•Daca E<Emax, incheie sesiunea de invatare (invatarea s-a realizat cu succes).

Furnizeaza ponderile calculate (matricile W si V), pasul global (q) si eroarea (E).

•Daca E>Emax, atribuie E-^0, p^1 si treci la pasul 2 (initiaza un nou ciclu de invatare)

Nota 1: Pentru a obtine cele mai bune rezultate, prototipurile trebuie selectate aleator

229

Page 230: Retele Neuronale

din setul de antrenament (in cadrul fiecarui ciclu de invatare, prototipurile trebuie aplicate in ordine aleatoare pe intrarea retelei).

Nota2: Daca se utilizeaza functia de activare sigmoidala unipolara, adica

230

Page 231: Retele Neuronale

daca _i(net)=i(wkty)

de la pasul 2 este data de relatia (2.4a), atunci formulele pentru

calculul semnalelor de eroare devin:

5 0 k = (d k -o k ) cv (1 - 0 k ) , Pentru k=1, 2, ..., K

5 y j = Y j • (1 -y j ) I 50k w k j , pentru j=1, 2, ..., Jk=1

Vom evidentia in continuare catev

231

Page 232: Retele Neuronale

a aspecte care tin de cele doua faze ale algoritmului EBP. Faza feedforward, pentru reteaua cu doua straturi din figura 4.7, este descrisa de ecuatia (4.31a). Aceasta ecuatie include doua transformari succesive:

-t

ransformarea

232

Page 233: Retele Neuronale

realizata de primul strat (stratul ascuns), descrisa de ecuatia (4.31b).

-transformarea realizata de cel de-al

233

Page 234: Retele Neuronale

doilea strat (stratul de iesire), descrisa de ecua

234

Page 235: Retele Neuronale

tia (4.31c).

Cele doua transformari, (4.31b) si respectiv (4.31c), sunt perfect similare dar opereaza pe straturi neuronale diferite si deci, cu date diferite. Aceste transformari presupun calcul

235

Page 236: Retele Neuronale

ul vectorului de iesire din stratul de neuroni considersat, pornind de la vectorul de intrare in stratul respectiv, matricea de ponderi aferenta stratului respectiv si functiile de activare aferente neuronilor din stratul respectiv.

In concl

236

Page 237: Retele Neuronale

uzie, in faza feedforward se porneste de la vectorul de intrare zj, cu i=1, 2, ..., I, se efectueaza calculele aferente celor doua transformari succesive si se obtine astfel iesirea reala ok, cu k=1, 2, ..., K. Faza feedforward este detaliata in figura 4.8c.

237

Page 238: Retele Neuronale

Invatarea este supervizata, ceea ce inseamna ca, pentru fiecare

238

Fig 4.8c Faza feedforwar

d aferenta

retelei cu

doua straturi din figura

4.7 (detaliere)

Page 239: Retele Neuronale

prototip aplicat la intrare, se dispune de iesirea dorita dk, cu k=1, 2, ..., K. Ca atare, la finele fazei feedforward, se poate calcula eroarea (4.4) pe care reteaua o face in tentativa de mapare a prototipului aplicat la intrare.

239

Page 240: Retele Neuronale

Ajustarea ponderilor (invatarea) se realizeaza in faza backward, in care sensul fluxului de date in cadrul retelei se inverseaza. Aceasta faza este sintetizata in figura 4.8d.

240

Page 241: Retele Neuronale

Faza backward, porneste de la erorile dk-ok, cu k=1, 2, ..., K, (diferenta

241

Fig 4.8d Faza backward aferenta

retelei

neuronale cu

doua straturi din figura

4.7

Page 242: Retele Neuronale

dintre iesirile dorite dk

si cele reale ok). Pornind de la aceste erori dk-ok, se calculeaza cele k semnale de eroare aferente stratului de iesire 5ok, cu k=1, 2, ..., K, se propaga inapoi in retea aceste semnale (devenind astfel

242

Page 243: Retele Neuronale

intrari in stratul ascuns), se calculeaza semnalele de eroare aferente stratului ascuns 5y j ,

cu j=1, 2, ..., J, si se propaga si acestea inapoi catre intrarea retelei. Pe baza semnalelor 5ok se calculeaza valorile Awk j ,

(k=1, 2, ..., K, si

243

Page 244: Retele Neuronale

j=1, 2, ..., J) cu care se ajusteaza ponderile wk j ,

aferente stratului de iesire. Pe baza semnalelor 5y j se calculeaza valorile Avj i ,

(j=1, 2, ..., J, si i=1, 2, ..., I) cu care se ajusteaza ponderile vj j ,

aferente stratului ascuns. Prin aceste ajustari se va

244

Page 245: Retele Neuronale

diminua eroarea globala (4.4) adica, se va face un pas pe suprafata de eroare in directia gradientului si in sens invers acestuia.

Faza backward este detaliata in figura 4.8e. Datorita inversarii de sens care are loc in momentul

245

Page 246: Retele Neuronale

trecerii din faza feedforward in faza backward, se observa ca, punctele de insumare din figura 4.8c (faza feedforward) devin puncte de distributie in figura 4.8e (faza backward) iar, punctele de distributie din figura 4.8c (faza feedforwa

246

Page 247: Retele Neuronale

rd) devin puncte de insumare in figura 4.8e (faza backward). Pe parcursul fazei backward, pe masura ce semnalele de eroare traverseaza in sens invers straturile neuronale, se realizeaza si ajustarea ponderilor. In figura 4.8f este detali

247

Page 248: Retele Neuronale

ata operatia de ajustare a ponderilor (operatia care asigura invatarea).

Fig 4.8e Faza backward aferenta retelei cu

248

Page 249: Retele Neuronale

doua straturi din figura 4.7 (detaliere)

249

Page 250: Retele Neuronale

250

Fig 4.8f

Ajustarea ponderilor retelei cu

doua straturi din figura

4.7 (detaliere)

Page 251: Retele Neuronale

Ajustarea ponderilor se face deci in ordine inversa:

1. pe baza semnalelor 5ok, cu k=1, 2, ..., K, se ajusteaza ponderile wk j , aferente stratului de iesire

2. pe baza semnalelor 5y j , cu j=1, 2, ..., J, se ajusteaza ponderile vj i , aferente stratului ascuns.

A se observa (figura 4.8e) ca, semnalele de eroare aferente stratului ascuns (5y j , cu j=1, 2, ..., J), se vor calcula prin propagarea inapoi a semnalelor de eroare aferente stratului de iesire (5ok, cu k=1, 2, ..., K). Prin urmare, ajustarea ponderilor se oate face doar in ordinea evidentiata mai sus, dinspre iesirea retelei spre intrarea acesteia.

Formulele de ajustare a ponderilor din stratul de iesire sunt (vezi algoritmul EBP, pagina 94):

pentru k = 1, 2, ..., K pentru j = 1, 2, ..., J

iar cele de ajustare a ponderilor din stratul ascuns sunt:

pentru j = 1, 2, ..., J pentru i = 1, 2, ..., I

Prin urmare, valorile de ajustare sunt:

Awk j = n • 80 k • Yj, pentru stratul de iesire

AVj j = n ■ 8y j i Z j , pentru stratul ascuns

Sa dam o interpretare intuitiva a acestor formule de ajustare a ponderilor (vezi figura 4.8f): Valoarea de ajustare Awkj (AVj,) este proportionala cu produsul dintre valoarea yj (zi),care in faza feedforward se injecteaza din partea stanga in conexiunea respectiva si valoarea 5ok (5yj), care in faza backward se injecteaza din partea dreapta in conexiunea respectiva. Factorul de proportionalitate este constanta de invatare n.

4.5 Factorii de care depinde invatarea

Algoritmul EBP este un algoritm de invatare incremental, in care ponderile sinaptice sunt ajustate intr-o maniera repetitiva, atfel incat raspunsul real al retelei sa se apropie tot mai mult de raspunsul dorit. Prin urmare, invatarea realizata prin algoritmul EBP poate fi privita ca o problema de optimizare. Functia criteriu (pentru problema de optimizare) este functia de eroare (4.4), definita (pentru reteaua din figura 4.7) pe un spatiu al ponderilor de dimensiune J(I+K), iar obiectivul problemei de optimizare este minimizarea acestei functii. Algoritmul EBP de invatare modifica acesti J(I+K) parametri (ponderi), astfel incat eroarea (4.4) sa scada sistematic. Esenta algoritmului EBP consta in evaluarea contributiei fiecarei ponderi la eroarea masurata la iesirea retelei.

Se poate afirma ca algoritmul EBP a produs o "revolutie" in strategiile de invatare a retelelor neuronale multistrat. Totusi, in practica, in implementarea algoritmuluipot sa apara diferite dificultati. Sunt dificultatile specifice problemelor de optimizare multidimensional (cu multi parametri). Una dintre dificultati ar fi aceea ca procedura de minimizare a erorii poate sa produca un minim local al functiei de eroare si nu minimul global. In figura 4.16 se prezinta o sectiune a spatiului de eroare, dea lungul unei axe reprezentata de o anumita pondere sinaptica w (profilul suprafatei de eroare). Se poate observa ca eroarea Erms este o functie nenegativa de respectiva pondere w. Daca, in urma invatarii, reteaua ar reusi

251

w kj - w M + rj do k y-.

V j i — V j j + n ' 8 y j Z ;

Page 252: Retele Neuronale

maparea ideala, atunci Erms va fi 0. In practica, totusi, se considera ca invatarea s-a realizat cu succes daca Erms este adusa sub o valoare minima acceptata (Erms m/n). Functia de eroare din figura 4.16 prezinta un minim global (pentru w=wg) situat sub valoarea Erms m/n, doua minime locale (pentru w=wn si w=w^) si un punct stationar (pentru w=ws). Punctul din care porneste invatarea este stabilit prin initializarea ponderilor. Daca algoritmul EBP va porni din punctul 2 sau 3, atunci invatarea se va opri prematur in minime locale (blocare in minime locale), iar reteaua nu va fi capabila sa realizeze performanta asteptata, deoarece eroarea nu a fost coborata sub Ermsm/n. Pentru a obtine performanta asteptata, invatarea ar trebui sa porneasca din punctul 1. Daca se porneste din acest punct, intr-un numar finit de pasi in care eroarea scade putin cate putin, se va ajunge in minimul global. Ramane totusi intrebarea: "cat timp necesita procedura de invatare ?". O alegere buna a parametrilor de care depinde invatarea, ar trebui sa garanteze atat calitatea invatarii cat si convergenta acesteia (un timp rezonabil de invatare).

Desi algoritmul EBP, ca si alte probleme de optimizare, poate sa evolueze spre minime locale, aceste minimele locale n-au reprezentat o problema grava pentru retelele practice studiate. De regula minimele locale nu sunt foarte "adanci" si pot fi aplicate strategii de evitare sau evadare din aceste minime locale.

A Initializarea ponderilor

Inainte de a starta algoritmul de invatare, ponderile retelei trebuie initializate si de regula, initializarea se face cu valori mici aleatoare. Initializarea afecteaza puternic solutia finala (rezultatul invatarii). Initializarea nu trebuie facuta cu valori egale. Daca ponderile sunt initializate cu valori egale si solutia finala este una care presupune valori diferite, procesul de invatare ar putea fi impropriu; invatarea ar putea induce un proces de oscilatie a retelei, intre stari cu ponderi simetrice.

B Ajustarea incremental^ versus cumulativa a ponderilor

Dupa cum s-a aratat mai sus, algoritmul EBP se bazeaza pe cicluri succesive de invatare. In cadrul unui ciclu, se aplica pe intrarea retelei, succesiv, toate prototipurile din setul de antrenament (toate exemplele). Pentru fieare prototip se parcurg cele doua faze: feedforward

252

Fig 4.16 Minimizarea erorii Erms (vizualizata ca o functie de o singura pondere)

Page 253: Retele Neuronale

si backward. In faza backward se realizeaza si ajustarea ponderilor. Prin urmare, fiecare prototip aplicat la intrare, implica ajustarea ponderilor. In final, invatarea consta intr-o succesiune de ajustari a ponderilor; succesiunea se incheie in momentul in care eroarea (4.4) aferenta ultimului ciclu de invatare, scade sub valoarea minima impusa. Aceasta este desigur procedura de actualizare incrementala a ponderilor, care realizeaza "coborari in pasi mici" pe suprafata de eroare definita de (4.4), pe directia gradientului si in sens invers acestuia. Avantajul actualizarii incrementale (descrisa in sectiunea 4.4 si sintetizata in schema logica din figura 4.8a) consta in faptul ca algoritmul realizeaza o "adevarata coborare" pe suprafata de eroare pe directia si in sens invers gradientului. Mai mult, nu este necesara memorarea valorilor de ajustare (pentru cumularea acestora la nivelul unui intreg ciclu, cum se va fece in cazul invatarii cumulative). La ajustarea incrementala, dupa ce s-au obtinut valorile de ajustare (Aw k j , AVjj) aferente unui prototip,se fac ajustarile, dupa care se trece la alt prototip. Dezavantajul invatarii incrementale consta in faptul ca avantajeaza primul/primele prototipuri din cadrul ciclului (metaforic: cand se invata o poezie prin citirea repetata a acesteia, de regula, mai intai se retine prima strofa!). Prin urmare, ajusarea avantajeaza primul/primele prototipuri din cadrul ciclului (ponderile "shift-eaza" in fafoarea primului/primelor prototipuri). Pentru a contracara aceasta "shift-are" a ponderilor, se pot aplica mai multe strategii:

• utilizarea unei constante mici de invatare (n de valoare mica implica shift-ari mici, nederanjante)

• aplicarea prototipurilor pe intrarea retelei in ordine aleatoare (pentru fiecare ciclu se face o selectie aleatoare a prototipurilor). Asta inseamna ca prototipul/prototipurile favorizate se schimba de la ciclu la ciclu.

• utilizarea ajustarii cumulative a ponderilor.

La ajustarea incrementala se minimizeaza eroarea (4.4), calculata pentru fiecare prototip.Pentru ajustarea cumulativa se utilizeaza o eroare globala, calculata la nivelul unui

intreg ciclu de invatare (pentru toate cele P rototipuri din setul de antrenament):

1 P K 2

Ep=-£ £ (dp k - op k )1

2 p=1 k=1

Prin urmare, se vor calcua valorile de ajustare (Aw k j , AVj j ) pentru fiecare prototip, dar nuse va face ajustare dupa fiecare prototip. Valorile de ajustare vor fi cumulate pentru un intreg ciclu:

P p P p

AWkj = £ Aw k jp , AVj j = £ AVj j P , unde p este indexul prototipuluip=1 p=1

iar ajustarile se fac numai la sfarsit de ciclu. Aceasta poate avea un efect de mediere (ajustare pe medie). Nu va mai fi o "coborare" exacta (exact pe directia antigradientului), dar daca constanta de invatare este suficient de mica, devierea de la directia exacta nu va fi semnificativa. Prin urmare, si ajustrea incrementala poate conduce la rezultate bune. Dezavantajul major al ajustarii incrementale consta in necesitatea memorarii valorilor de ajustare, in vederea cumularii acestora si efectuarii ajustarilor doar la sfarsit de ciclu.

Concluzie: Sugeram utilizarea ajustarii incrementala (dupa fiecare prototip), dar cu selectia (aplicarea pe intrarea retelei) in ordine aleatoare a prototipurilor

1 Pentru o constanta de invatare n fixa, valorile de ajustare a ponderilor (Aw k j , AVj j ) sunt proportionale cu coeficientul X.

253

Page 254: Retele Neuronale

C Panta functiei de activare7

Functiile de activare uzuale au fost introduse in capitolul 2. Functiile de activare continue (unipolara si bipolara) f(net, X) sunt caracterizate de parametrul X care determina panta functiei (vezi figura 2.5). De asemenea, derivata functiei de activare ) f '(net) este utilizata ca factor multiplicator in formulele de calcul a semnalelor de eroare 50k, 5yj. Prin urmare, functia de activare (prin derivata sa) influenteaza viteza invatarii. Derivata functiei de activare sigmoidale bipolare, definita prin relatia (2.3a), are expresia:

f '(net) = 21 • exp(-1 net) + exp(-1net)]

si va avea maximul (X/2) pentru net=0. In figura 4.17 este redat graficul derivatei f '(net) pentru diverse valori ale parametrului X.

Valorile de ajustare a ponderilor (Aw k j , AVj j ) sunt proportionale cu valoarea derivateifunctiei de activare (vezi euatiile (4.15a) si (4.26)), iar derivata este proportionala cu X. Prin urmare, parametrul X determina marimea ajustarii, iar figura 4.17 ne conduce la urmatoarea concluzii:

1. Ponderile neuronilor "nedecisi" (care au la intrare n » 0) sunt mult mai puternic ajustate, comparativ cu cele aferente neuronilor "foarte" decisi; neuronii "foarte" decisi sunt cei care au la intrare n =±value , unde value este o valoare mare pozitiva (neuron puternic activat) sau o valoare mica negativa (neuron puternic inhibat).

254

[1

Page 255: Retele Neuronale

Cea de a doua concluzie conduce la ideea ca, utilizand o functie de activare cu X de valoare mare, produce rezultate similare situatiei in care s-ar utiliza o constanta de invatare n de valoare mare. Deci, ambii parametrii, X si n, controleaza viteza de invatare. Prin urmare, este preferabil sa reglam viteza de invatare printr-un singur parametru. Din acest motiv, este preferabil sa facem X =1 si sa reglam viteza de invatare doar din parametrul n.

D Constanta de invatare7

Eficienta invatarii (convergenta algoritmului EBP) depinde semnificativ de valoarea constantei de invatare n. Din pacate nu se poate recomanda o valoare optima pentru n deoarece valoarea optima a acestui parametru depinde de problema ce urmeaza a fi rezolvata. Cand zona de minim a functiei de eroare are o concavitate larga (coborarea spre minim se face pe o suprafata cu inclinatie foarte mica), atunci gradientul erorii va avea o valoare mica, care poate fi compensata de un n mare (pentru a obtine o convergenta rezonabila). Daca dimpotriva, zona de minim este foarte adanca (coborarea spre minim se face pe o suprafata cu inclinatie foarte mare), atunci gradientul erorii va avea o valoare mare, situatie in care se recomanda un n mic pentru a evita oscilatiile retelei (salturile de pe un versant pe altul, peste punctul de minim). Acestea conduc la concluzia ca valoarea optima a lui n difera de la problema la problema si trebuie determinata experimental. Reamintim insa ca, numai un n mic garanteaza o coborare fidela, pe directia antigradientului, spre punctul de minim al erorii.

Sa mai mentionam ca, desi valoarea optima a lui n depinde de problema, pentru cele mai multe experimente cu retele neuronale, in literatura de specialitate sunt raportate pentru n valori in domeniul [10- , 10].

D Metoda bazata pe termenul "momentum"

Metoda bazata pe termnul "momentum" vizeaza accelerarea convergentei algoritmului EBP. Aceasta metoda presupune suplimentarea ajustarii curente a ponderii sinaptice (4.5) si (4.21a), cu un procentaj din ajustarea anterioara. Prin urmare, formula de ajustare devine:

A w(t) = -n V E (0 + a - A w( t - 1) (4.48a)

unde variabilele t si t-1 indica ciclul de invatare curent si respetiv anterior (ajustarea curenta si respectiv anterioara), iar a este constanta momentum (o constanta pozitiva a carei valoare este aleasa de utilizator). Termenul a-Aw (t -1) din (4.48a) se numeste momentum term; acesta adauga la ajustarea curenta o fractiune (a) din ajustarea anterioara. Pentru o succesiune de N ajustari succesive cu momentum term, ajustarea curenta devine:

Aw(t) = -n - Z an V E( t - n ) (4.48b)n=0

De regula, valoarea lui a se alege intre 0,1 si 0,8. Figura 4.18 ilustreaza metoda bazata pe termnul "momentum" si argumenteaza utilizarea acesteia.

Sa initiem procedura de invatare (deplasare pe directia antigradientului) din punctuldE dE

A'. Derivatele partiale consecutive --------- si --------, in punctele A', A'', ..., au acelasi semn3w1 ' 3w 2

(gradientul nu-si schimba sensul). Drept urmare, adaugand termenul momentum, cu fiecare ajustare, se va mari si valoarea de ajustare a ponderilor si deci ajustarile devin din ce in ce mai mari, conducand astfel la cresterea convergentei algoritmului de invatare. Daca suprafata de eroare prezinta o "coborare foarte lenta" dea lungul unei axe, constanta de invatare utilizata dea lungul respectivei axe ar trbui marita. Adaugarea termenului momentum, are un asemenea efect (marirea, printr-un artificiu, a constantei de invatare). Acest efect este vizibil si

255

Page 256: Retele Neuronale

in figura 4.18: ajustarea in unctul A'' este mai mare decat cea din punctul anterior (A'), datorita termenului momentum.

'EDaca initiem procedura de invatare din punctul B', cele doua derivate partiale (-----------

' 1'

si ------), negative in punctul B', isi schimba semnul (devin pozitive) in punctul B''. Fara' 3w 2

termenul momentum, invatarea produce salturi de pe un versant pe celalalt al suprafetei de eroare (din punctul B' in punctul B'', apoi in B''', situat pe acelasi versant cu B' si destul de aproape de acesta) si asa mai departe. Vectorul gradient are o asemenea orientare incat rezulta salturi oscilatorii (de pe un versant pe celalalt) pe directii puternic deviate de la directia care conduce in mod normal catre punctul de minim (punctul M). Acest lucru se intampla datorita formei suprafetei de eroare care are o axa longitudinala cu variatie lenta si axa transversala cu variatie rapida (vale cu versanti abrupti). Punctele B' si respectiv B'' se afla, aproape fata in fata, pe cei doi versanti abrupti. Fara termenul momentum, ajustarile produc salturi de pe un versant pe celalalt, pe directii aproape paralele cu axa transversala iar convergenta algoritmului este extrem de redusa. Pentru a mari convergenta, ar trebui redus

256

Fig 4.18 Efectul adaugarii termenului "momentum" in algoritmul EBP (cazul bidimensional)

Page 257: Retele Neuronale

fenomenul de oscilatie prin orientarea deplasarilor succesive mai corect catre punctul de minim (prin adaugarea unei componente dea lungul axei longitudinale mai semnificative, la fiecare ajustare). Termenul momentum aduce exact aceasta componenta, paralela cu axa longitudinala. Acest efect este ilustrat in punctul B'' din figura 4.18:

• fara momentum, ajustarea in B'' se face cu vectorul - n VE(t +1), care va produce un salt intr-un punct B''' situat pe celalalt versant si foarte aproape de B' (regim oscilant pronuntat).

• cu termenul momentum , ajustarea in B'' se face cu vectorul -n VE(t +1) + a-Aw(t), care este mai mica ca si magnitudine dar care se va face pe o directie mult mai bine orientata spre minim (intr-un punct B''' situat mult mai aproape de minim).

Am putea deci concluziona ca, daca componentele gradientului isi schimba semnul in doua iteratii succesive, ar trebui redusa constanta de invatare, pentru a reduce efectul de "oscilatie" evidentiat mai sus. Termenul momentum va avea un efect extrem de pozitiv intro atare situatie:

• reduce (printr-un artificiu) rata de invatare ("descurajeaza oscilatiile).• creste convergenta algoritmului de invatare prin corectia directiei de deplasare pe

suprafata de eroare (deplasari succesive mult mai bine orientate spre minim).1. obtinerea unui control mai fin asupra mecanismului de invatare (asupra

mecanismului de ajustare a ponderilor).2. posibilitatea de a defini o functie de eroare continua si derivabila pe intreg domeniul

de definitie, de a calcula gradientul erorii (in orice punct al suprafetei de eroare) si de a utiliza gradientul in procedura de invatare (de ajustare a ponderilor).

Procedura de invatare presupune o coborare in pasi succesivi pe surafata de eroare (minimizarea erorii). Initializarea ponderilor presupune alegerea unui vector initial w. Pornind de la acest vector initial w, se calculeaza gradientul functiei de eroare VE(w). Noua valoare a vectorului de ponderi w se va obtine printr-o deplasarea pe suprafata multidimensional de eroare pe directia gradientului dar in sens invers acestuia. Prin urmare, algoritmul de invatare va realiza ajustarea ponderilor astfel:

wk+1 = wk - nVE(wk) (3.40)

unde n este o constanta pozitiva denumita constanta de invatare, indicele superior indica pasul din cadrul algoritmului de invatare iar VE(wk) reprezinta gradientul functiei de eroare calculat in punctul w=wk. Reamintim faptul ca gradientul unei functii este un vector,

• unitatile #5 si #6 selecteaza banda orizontala e<x2<f

257


Recommended