Sunteți pe pagina 1din 111

RETELE NEURONALE

loan Z. MIHU

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 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. 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 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 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 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. 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.

2 Concepte si modele fundamentale ale sistemelor neuronale artificiale 2.1


Neuronul biologic si modelele sale artificiale 1R Creierul 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). 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).

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 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.

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) - 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 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). 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. 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 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. 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 wi 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 prag
i=i

T (vezi relatiile din fig 2.3a). Desi modelul McCulloch Pitts este simplu, acesta are totusi potential computational; alegand corespunzator valorile ponderilor sinaptice wi, poate fi utilizat pentru implementarea portilor NOT, OR si AND (vezi fig 2.3b)

ok+l =

I if 2 wjX? ^ 7 0 if I w(ot* < 7 (= i

Fig 2.3a Modelul McCulloch Pitts

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

C Modelarea neuronului dedicat retelelor neuronale artificiale


7

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.

i *"

Fig 2.4 Simbolul general al neuronului


\

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 O -/(Wfx)

aceasta ecuatie devine: (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).

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

(2.2)

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 t
i=i

w,
functiei de activare: o=f(net).

ponderate cu coeficientii sinaptici wi . - calculul valorii de iesire prin aplicarea

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

- functia denumita si functia printr-o insumare a

bipolara binara treapta bipoara: intrarilor xi

(bipolar

binary)

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

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


(2.4a)

- functia unipolara binara (unipolar binary) denumita si functia treapta unipolara: net > 0 (2.4b) /(net) A / 1 . net < 0 10,

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

3 net 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


(a)

1 net

(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.

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

Weights

11

Weights

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:

12

{ 0 , 1 } " = { o e Jf", Oj e { 0 , 1 } }
(2.7b)

pentru functia de activare treapta unipolara definita de relatia

(2.4b).

Este evident ca domeniul vectorului o este reprezentat doar de varfurile hipercubului mdimensional [-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 artificiale
7

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 retelei 2. 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 x n ]'
i

(2.8)

Ponderea sinaptica W 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:
n

neti X wijxj' for i 1 , 2 , m j= i Functia de activare va fi apoi aplicata valorii net Aplicand aceasta transformare neliniara se obtin iesirile celor m neuroni: i = /(w;x)' for i 1, 2 , . . . , m
**

(2.9)

puternic

(2.10)

13

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

care conduc

(2.11)

in]'

x<r> >

r[wx]

>m
/

(a)

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 (2.12a) pe care o realizeaza reteaua neuronala monostrat din figura 28.(a) va fi: o=r[Wx] unde:

(2.12b)

si:

(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

14

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.

15

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)]
(2.13)

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 (odi) 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 ori. Prin urmare, se poate calcula o eroare bazata pe diferenta odi-ori. 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 j. Efectul acestor ajustari va fi reducerea erorii odi-ori ,masurata la iesire.
i

In exemplul 2.1 (vezi J.M. Zurada - pag.39) se analizeaza o retea feedforward simpla cu 2 straturi 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.

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

16

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: o unde = HW], f o r * = 1 , 2 ,
(2.16a)

k,k+1 _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 k se obtine: valori indicelui

(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.

17

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 ret ele 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).

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

18

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 ~ At . V1 ~ V2 (2.22) Av-> = R Din ecuatia (2.22) se observa ca, pentru C si At fixe, variatia tensiunii de iesire v2 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.
(2.21)

mic va fi:

Fig 2.14 Conexiune sinaptica in cadrul unei retele neuronale continue

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

19

(2.23a)

Valoarea de activare a neuronului i la momentul k+1 va fi: netf + l = netf + (o* - netf) RijCl

(2.23b)

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 conectati la intrarea neuronului i, asa cum se arata in figura 2.14, expresia (2.23b) trebuie calculata pentru j=1,2, ....n si valorile net ik+1 trebuiesc insumate. Numeroase studii arata ca in cazul interconectarii a n neuroni, rezulta o dinamica foarte complexa a retelei. Descrierea fidela a tranzplor care era foarte simpla in cazul 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. 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 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 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).

Square or distorted (b) (a) Retea de asociere (a) autoasociere Fig 2.16 square (b) heteroasociere

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 genereaza 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

20

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).

Input patter n

Class
numb er

Input patter n

Class numbe r

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

(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.

21

Fig 2.18 Exemplu de generalizare

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 wi, 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 aproximarii este evaluata) prin suma diferentelor patratice calculate in punctele de invatare (pe exemplele

22

{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

23

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).
Adaptiv e network

>
Learnin g signal Distance generator

XT ~7V

~d

p[d,o]
distance measure

(a)

(b)

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 dintre vectorul x si centrul respectivului cluster este mai mica decat distantele dintre vectorul x si centrele tuturor celorlalte cluster-e.

24

i'
1

IK J mffm 1
__

i Xj

0 (a)

0 (b)

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 wi sunt ajustabile si vor fi ajustate in functie de semnalul aplicat la intrare (valorile xi), 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 j ale vectorului de ponderi wi. Intrarea xj (care va fi ponderata cu coeficientul ajustabil w 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) ajustabil in timpul invatarii. Prin urmare, in cele ce urmeaza vom considera intrarea xn fixa si egala cu -1.
i i

25

[wnwn w,\' is weight vector undergoing training

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=wi k +cr [wik!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)

26

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) Valoarea Awi cu care se ajusteaza vectorul de ponderi va fi: Aw j=cf ( w i x ) x iar formula de ajustare a unei singure ponderi va fi: Aw ij=c f (wi x)x j Sintetic, acasta formula poate fi rescrisa astfel: Aw j=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 (X j) 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).
i

(2.31)

(2.32a)

(2.32b)

Exemplul 2.4 (J.M.Zurada, pag 61) ilustreaza invatarea hebbiana pentru neuroni cu functia de 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.

27

c 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.

28

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=[d i-f (wt x) ] f '(wt x) (2.36)

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.

Fig 2.24 Regula de invatare delta

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

E = 2 (di - o i ) 2 Ecuatia (2.37a) este ecivalenta cu: E = 2[d i - f(w;x)] 2

(2.37a)

(2.37b)

Daca se calculeaza gradientul erorii (2.37b) in raport cu wi se obtine: VE = -(d, - o,) f'(wtx ) x (2.38a)

29

Componentele vectorului gradient vor fi: = -(di -oi) f'( w ' x ) X j ; 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:

A w, =- ] 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:

A w,= 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 w u = n - ( d j - o, ) f' (net, ) x l ; 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-Hoff Invatarea 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) Formula de calcul a valorilor de ajustare a vectorului de ponderi va fi: A w, = c (d, - w ' x ) x (2.42)

(2.43a)

30

Valoarea de ajustare a unei singure ponderi va fi: Awij. = c (di -w /x ) x j ; pentru j=1, 2, ..., n (2.43b) Regula W/drow-Hoff poate fi considerata un caz particular al regulii delta. t Intr-adevar, daca in ecuatia (2.36) consideram f(w/ x)=wi 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 corelatiei. Formula de calcul a valorilor de ajustare a vectorului de regula ponderi devine:

(2.44a)

A w, = c d/ x
Valoarea de ajustare a unei singure ponderi va fi: Aw^. = c dj Xj ; pentru j=1, 2, ..., n (2.44b)

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 aferent invingatorului: invingator (winner). Drept consecinta, doar vectorul de ponderi wm=[w m1 wm2 ... wmn]
t

va fi ajustat, iar valorea de ajustare se calculeaza cu formula: Awm=a(x-wm)

(2.45)

(2.46a) Formula de ajustare a unei singure ponderi va fi:

31

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.

Fig 2.25 Regula de invatare "winner-take-all" Invingatorul este ales dintre toti cei p neuroniaflati in competitie, pe baza criteriului de activare maxima: wmf x = max (w x) (2.47) i=i p 2 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).

32

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.

AW, .

-k4

Aw
mj

(adjusted weights arc highlighted)

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: (2.48a)

A wmy =b(d m - w j ) pentru m=1, 2, ..., p (2.48b)


m

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 asigura faptul ca pattern-urile reale, initial distorsionate, obtinute la iesire (o), devin similare cu pattern-urile nedistorsionate dorite la iesire (d).

33

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.
Regula invatare de Formula de ajustare a unei ponderi Initializarea ponderilor Tipul invatarii Functia activare neuronului de Structura a care invata

Aw/
Hebbiana Perceptronului Delta Windrow-Hoff Corelatiei Winner-take-all Aw/=c-OrXj j=1,2, ... ,n Aw/= c[d,-sgn(w/ x)]xj j=1,2,... ,n
A w i j = h (d, - o { ) f ( n e t , ) X j j=1,2, ... ,n

zero orice valori orice valori orice valori zero

nesupervizata oricare superevizata superevizata superevizata superevizata superevizata

neuron

treapta bipolara neuron sau unipolara (*) neuron continua (sigmoidala) oricare oricare continua (sigmoidala) neuron neuron strat de neuroni strat de neuroni

A W ,/ = c (d, - w' x) Xj
j=1,2,... ,n
A

w
n

c d r

j=1,2, ... ,n Aw j= a (Xj-wm/); m-indexul valori aleatoare, vectori neuronului invingator j=1,2,... normalizati ,n
i

Outstar

Aw

=b(d, - w ) i=1,2,... ,n
n

zero

nesupervizata continua (sigmoidala)

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 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 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.

34

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.

35

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.

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

36

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, ..., HRr 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.

Fig 3.3 Exemplu de regiuni de decizie

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

37

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, ..., x P 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 daca si 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.

Fig 3.3a Structura clasificatorului bazat pe functii discriminant

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

38

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 g1(x) si g2(x) din figura au ecuatiile:

2 + 2 g 1 ( 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 E 3 ) 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)).

39

(a) t\i
^^

iii
Si W 8iW 'wrnimm

^ 18.

X)

d, >

U
In.

G) fi '

i
(b) Fig 3.4a,b Ilustrare grafica pentru exemplul 3.1

40

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

41

(c) harta de contur a functiilor discriminant (d) constructia vectorului normal pe planul gi (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 3 1 3 2 3 2 3 1 3 2 3

I
,

__

2=

(3.5b) 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):
'
x x

"

i 0 1 0

_ S1 _ "1"
x

(3.5c)
"i " 0 =0

hX

x2

1 _g2 _ 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:

g1 (x) =

["- 1L1
_2_

X ' 1"
x

+2

_ x2

Inlocuind g1(x) si g2(x) din g2 (x) =


1 -2 X

_ ecuatia suprafetei de (3.6 ) x

decizie

x cu termenul drept din ecuatiile (3.6), se va obtine g(x)=g1(x)-g2(x) ecuatia (3.4). 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,

42

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 gi(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 g(x)<0: clasa 2
(3 7b) (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


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

n 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.

43

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

44

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 ) x + 2 (||x || - | xl) = 0
t 2 2 2

(3.9)

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

45

Class 1

15%si

Pe de alta generala a decizie

parte, forma unui hiperplan de liniar este: w1x1+w2x2+

Class 2

+W n Xn +W n +1=0 Fig 3.6 Constructia functiei discriminant n-dimensionale liniare (R=2) care in forma vectoriala devine: w t x +wn+1=0 care mai poate fi scrisa sub forma: (3.10b)

=0
n+ 1

(3.10c)

unde w reprezinta vectorul de ponderi definit astfel: w, w wc w 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
w

n+ 1 = 2 (I x ^ "I | x J

46

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 - 2 x i t - x + X j l - X j , 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 termenii 2 x j l - x -Xjl -Xj, pentru i ^ R si sa se determine pentru ce prototip x i se obtine valoarea maxima. Se poa^^e observa ca operatia de selectie a valorii maxime pentru

termenul X j ^ x - - ^ ^ ^ X j 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 wi si pot fi determinati comparand (3.15) cu (3.14):

47

w i = Xi w i,n+1 _
Ix,' 21 , pentru i = 1 2 . R

(3.16)

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 potriveste 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.

Fig 3.7 Clasificatorul liniar

Clasificatorul din figura 3.7 poate fi privit ca un caz particular al clasificatorului mai general din figura 3.5. Clasificatorul 3.7 consta din R unitati care calculeaza produsele scalare wit 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 k. Asta inseamna ca pattern-ul x apartine clasei k.

48

Sa observam ca suprafata de decizie Sj care separa regiunile contigue H, Heste un hiperplan a carui ecuatie este: gi (x)-gj (x)=0 adica: wit x+wi,n+1-wj x-wj,n +1=0
t

(3.17a) (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 ponderea -T) n+ 1 = . Daca notam vectorul de intrare augmentat cu y, acesta va fi:
w

y= Vectorul -T de w

(3.18) ponderi augmentat va fi: w

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 (3.19)

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.

49

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 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)

50

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: w t x +wn+1=0 (3.22a)

51

In spatiul de intrare augmentat (spatiul En+1), ecuatia 3.22a) devine: w t y =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.

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.

t }/
y^

Patterns

(Class 2)

Fig 3.11 Hiperplanele de decizie din spatiul augmentat al ponderilor, pentru un set de 5 prototipuri, clasificate in 2 clase.

52

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, w t y 3<0, w t y 5<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 pe iesire -1, plasand astfel pattern-ul analizat in clasa 2. Pentru a creste valoarea functiei 1 1t 1 discriminant w y1, ar trebui sa ajustam vectorul de ponderi w , in varianta optima, pe directia de maxima crestere a functiei discriminant w1t-y1, care este data de vectorul gradient. 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 w 1*-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)

53

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 Pozitiile acestor 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).

54

Fig 3.12b Ajustarea ponderilor dichotomizerului pe parcursul invatarii (exemplu) 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): w2=w+cy1
21

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: w3=w2+cy
3 2

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

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.

55

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):
1t

wy
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:

w yy

1t

(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 w 1 t y =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 = 0 iar constanta c care realizeaza acest "salt" chiar pe hiperplanul de decizie va fi:
1t

wy
c=
.
y

yt y

(3.29a)

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

56

wy y y
1t

1t

(3.29b)

Lungimea vectorului cy cu care w y (3.30)


cy

se ajusteaza vectorul de ponderi w devine: y

yy Deoarece yl y = y , putem concluziona ca distanta p de la punctul w1 la hiperplanul de decizie 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:
1t t
II II

wy
c=l

(3.31)

57

yy

(pentru pasul i)

58

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 t (332) w y < 0 pentru orice yE H2
OO \

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:
k

59

(3.39a) 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 yi. 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, ..., P Se 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:

60

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:

61

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:

ok ) Ek = 2 (dk Ek = 1

(3.41a)

adica:

dk - f (wkt y k )

(3.41b)

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.

Fig 3.16 Antrenarea perceptronului continuu prin minimizarea erorii patratice 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 conceptului

62

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

63

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 V E )

64

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): (3.42) 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):
dE dw
1

dE d wn

VE( w)

(3.43)

dE dw
n+1

Utilizand relatia (3.42), expresia gradientului devine:

d( net) 1 d( net)
dw

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

(3.44)

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


d (n

et) dw j

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

(3.45)

65

iar expresia (3.44) poate fi rescrisa astfel:

V E (w) = -(d - o)
sau:
dE d W:

f ' (net )y

(3.46a)

-(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(w ). Conform ecuatiei (3.46a), in expresia gradientului intervine functia 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:
k

A. functia de activare sigmoidala bipolara Expresia care defineste sigmoida bipolara (vezi aferenta si figura 2.5a) este: ecuatia (2.3a), observatia
f (net) = zmer -1 = ____________ -1 (3.47a) 2 _____ i = _____ 2 -Xnet 1+e 1 + exp(-1net) 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:
22 f (net) = 1+e

-1 = -------- -1 1 + exp(-net)

(3.47b)

Calculand derivata sigmiodei bipolare obtinem:


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

(3.48)

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, ecua tile (3.50) si (3.51)): tXnet ) =
2exp( TOf

; 2 = 2[1 - (net)]= 2 (1 - o2) [1 + exp(-net)] 2

(3.49)

In aceste conditii, gradientul (3.46a) devine:

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

(3.52)

66

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 - ok 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. Singura diferenta se refera la aparitia in (3.53) a factorului de moderare (1 - ok ). 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 observatia aferenta si figura 2.5b) este: unipolara (vezi ecuatia (2.4a),
f (net) =

= _____

1 _ = _____ 1 -net 1+e = 1 + exp(-net)

(3.47u) conduce la urmatoarea expresie pentru unipolare: (3.49u)

Un exercitiu relativ simplu derivata functiei sigmoidale

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

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 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 (3.53u)

67

Se vor utiliza vectori de intrare augmentati: pentru /=1, 2, ..., P yi In cele ce invatare din cadrul urmeaza, k reprezinta pasul de invatare global iar p reprezinta pasul de 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:
2 E E + - ( d - o) !

1 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) = 1r = ---------- 1 ------1 + e 1 + exp(-net)

68

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 W q2 ... 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 discriminant w1 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'

=w2

(3.54a)

R =

unde apostroful (') indica ponderile dupa ajustare. Daca insa, exista m functii discriminant pentru care w y < w1m y, atunci wectorii de ponderi ajustati devin: wi ' = wi + c y
w

m:'=

-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:
W jj'= W jj

+
-c

c yj,

pentru j = 1, 2, ..., n + 1 ^

Wmj-Wmj

Yj,

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

kj'=wkj>

1 la pasul 4 se ajusteaza ponderile ca in (3.53u): w w + n(d - o) o (1 - o)y

69

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 cyj, daca g,(x) este prea mica. Astfel wy devine w j'. Daca ne referim la forma vectoriala (3.54b), vectorul wi devine wi' (prin corectie este "apropiat" de vectorul de intrare y).
i

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 w j devine w 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 functiei discriminant (gm'(y) = wy < gm(y) = w*m y). Corectia este ilustrata in figura 3.20c.
m m

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.

Fig 3.20c Efectul ajustarii vectorilor de ponderi pe parcursul invatarii

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), as a 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

70

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.

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

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: k w k + 1 = w k + 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 clasificatorului in R categorii bazat pe perceptroni discreti.

71

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 (3.59)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 = l g 2R 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 = lg 2 R = 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 1), di este vectorul dorit la iesire (R x 1), i=1, 2, ..., P Se vor utiliza vectorii de intrare augmentati: yi 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. i -1 Pasul 1: Se alege constanta de invatare c>0.
x

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

W-,1 W-| 2 W-|


W R1 W R2

n+-|

21

2 2 w2n+1

W=
+

72

Se initializeaza contoarele si eroarea: p^1, E^0 Pasul 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, ..., R unde wi este randul i din matricea de ponderi W Pasul 4: Se ajusteaza ponderile: w w + 1c(di - oi)y, pentru i=1, 2, ..., R Pasul 5: Se
i i

calculeaza eroarea aferenta ciclului curent: E E + ^(di - oi)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 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: w + = w + 1 n(dik - oik)(1 - 0 i 2 )yk, pentru i=1, 2, ..., R
k 1 k k i i

(3.60a)

unde indicele superior (k) reprezinta pasul de invatare.

73

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

k+1 wk

+ 1 ( d k o k ) ( 1 k 2 ) y k pentru j = 1 2 ..., n +1 W M = wj +- n(di - oi )(1 - o )yj, . . , 0D J 2 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: wik+1 = wik + n( d k - o i k ) o ik(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:
k+1 k ^ H k

^ n k n pentru j =

1, 2,

..., n + 1 R 1 M wij = wij + n(di pentru i = 1 , 2, ... , R

) o (1 -

o yj . . ,

(3 61b) 0D

Fig 3.23 Clasificatorul liniar in R categorii bazat pe perceptroni continui

74

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).

7\

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 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.

75

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 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 orice y e Yf yl

w < 0 pentru oric^ e Y2


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.

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

76

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 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, au fost 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 fi hiperplane (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

77

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 poate fi 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,(D si Asta 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). Cf-1,1,1)

(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

78

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 + 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). 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.

79

Fig 4.5 Exemplu de clasificare a unor pattern-uri bidimensionale (a) spatiul pattern-urilor (b) clasificatorul implementat cu retea de perceptroni discreti

80

Unitatea 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. 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 w j conecteaza iesirea neuronului j cu intrarea neuronului k din stratul urmator.
k

81

Fig 4.6 Retea de perceptroni continui cu un singur strat

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 ponderi sunt: intrare, de iesire si
yi y2 o 0

(4.3a)

matricea de

y =
L W-| i W-|
yj
W
2 l
W1

2
0K

21 w 2 2

J iar operatorul w
/() 0 0 0 /() 0

W K1 W K 2 W K j

neliniar r [ ] este:

H-] =
0 0 /()j

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

82

Vectorul dorit la iesire este:


1 2

d d

=
d
K

net
1

net

Wy

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

(4.4) 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 2

K k =1

(d pk -opk ) 2

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 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=-1 In 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:

83

D w k = -n VE
unde wk este vectorul de ponderi aferent neuronului k (randul k din matricea W). Formula de ajustare individuala (a unei singure ponderi) va fi:

Aw k j = - h

dE

3 W kj

(4.5a)

84

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.
j=1

(4.5b)

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:

80k 0k d (netk)
k

V1

(4.6)

Daca analizam figura 4.6 constatam ca ponderea w 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 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 Utilizand regula derivarii inlantuite, componenta --------------- din expresia vectorului 3w k j gradient poate fi scrisa astfel:
12

d E = d E .d n etJ 3w k j d (netk) dw k j

(47)

Conform ecuatiei (4.5b): netk = wk1 y 1 + wk2 y2 + + w k . y . + +

. yJ . Deoarece valorile yj, (j=1, 2, ..., J) sunt constante (pentru un anumit pattern aplicat la intrarea retelei), obtinem:
wk j

3j W ) = d wkj
Inlocuind (4.6) si (4.8) in (4.7), obtinem:
dE
d

(4.8)

Sok Yi wkj
k

(4.9)

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

A w k j = n -8 0 k y j , pentru k=1, 2,..., K si j=1, 2, ..., J (4.10)


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

85

In ecuatia (4.10) nu intervine, in maniera explicita, functia de activare. Functia de activare intervine insa implicit, prin intermediul semnalului de eroare 5 k. 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:
0

E(netk )=E [ok (netk)] Tinand cont de definitia (4.6) a semnalului de eroare, putem scrie:

(4.11)

50k= --0 ( 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:

| = - V k - o k :
-

(4.13b)

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

S 0 k = ( d k - o k ) 4 ( n e t k ) , 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 f k ( n e 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):
( d k - o k ) 4 (netk ) y j '

pentru k = 1, 2, ..., K A w k j = n (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 k j = w k j + A w k j ______ pentru k = 1, 2, ..., K
:

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

(4.15b)

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:

86

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:
1 f (net) = -net 1 + e 1 + exp(-net) 1

(4.16*)

Prin derivare se obtine: exp(-net) f (net) = - ------ ^ -----2 [1 + exp(-net )] Aceasta ecuatie poate fi rescrisa intr-o forma echivalenta:
1 1 + exp(-net) - 1

(4.16a)

(4.16b)

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

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


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:

S o k = (d k -o k ) 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 aferenta, figura 2.5a si ecuatia (3.47b))
2 2 f (net) -net 1+e ' 1 + exp(-net) -1 -1

(4.17)

(vezi ecuatia (2.3a), observatia este:

Calculand derivata sigmiodei bipolare obtinem:


, , 2 exp(-net) f (net) = - ----------^ ------ 2 [1 + exp(-net )] .

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

S o k = | ( d k - o k ) (1-o k 2 ), pentru k=1, 2, ..., K (4.18a)


Ecuatia (4.18a) se obtine printr-un exercitiu relativ simplu (vezi prin care derivata f ' (net) se exprima ca o functie de functia originala
f ' (net) = r 2
exp(-net) 12

paragraful 3.6.A) f (net):

= 1 [1 - f2(net)] = 1 (1 - o2) [1 + exp(-net )]2 2L v n 2V ' (4.18b)

87

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

ponderii w j,
k

w k j = w M + n - ( d k - o k ) O j ( 1 - o k ) y j pentru functia unipolara: f (netk) = (4.19a)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

1 + exp(-netk) 2

-1 = 2

(4.19b) 1 + exp(-netk) 2
1 1

Pentru reteaua monostrat din figura 4.6 care invata dupa regula forma vectoriala, formula (generica) de actualizare a ponderior va fi:
w ' = W + n 5o y t

delta,

in

unde 50 reprezinta vectorul semnalelor de eroare: (4.20)


d 8

o1 o2

5o 8
o K.

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 f k '(net k ) cu derivata functiei sigmoidale unipolare/bipolare, data de (4.16c)/(4.18b). Sa observam ca componentele 5 ok 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 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.

88

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 augmentat (J x 1), di este vectorul dorit la iesire (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 (K x J) este initializata cu valori mici aleatoare. W-| i W-|
2 l
W1

21 w 2 2

2 J

W
W K1 W K 2l W K j

Se initializeaza contoarele si eroarea: q^1, p^1, E^0 Pasul 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(wkty) , 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: k=1, 2, ..., K
1 2 w k w k + -h-(dk- O k) (1 - o k ) y , pentru

unde wk este randul k din matricea de ponderi W Pasul 5: Se calculeaza eroarea (cumulativa) aferenta ciclului curent: E E + 1 (dk - ok )2 , pentru k=1, 2, ..., K

89

Pasul 6: Daca p<P atunci p-^p+1, q^q+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 (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) 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.

Fig 4.7 Retea feedforward multistrat cu doua straturi de perceptroni continui

90

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 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: A Vj^ - h , pentru j=1, 2, ..., J si i=1, 2, ..., I (4.21a)
'JI

iar formula (4.7) devine: -E = -E

-Vjj 3(netj)

3(netj) 3Vj|

(4.21b) cont de (4.8), al


'

Sa observam ca intrarile in stratul ascuns sunt zi, cu i=1, 2, ..., I. Tinand

3 (net;) doilea termen al produsului din ecuatia (4.21b) este egal cu zi, adica ---------= z;, si formula Vjj de ajustare a ponderilor, similara cu (4.10), devine: A V j j = n- S y j Z j , pentru j=1, 2, ..., J s i i=1, 2, ..., I (4.21c)
unde 8 y j reprezinta semnalul de eroare aferent neuronului j din stratul ascuns, adica aferent neuronului cu iesirea yj, (j=1, 2, ..., J). Prin definitie, expresia acestui semnal de eroare este:

8 yj y j = 3 (n etj)

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

(4.22)

91

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 net j 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 8 y aferent neuronului j din stratul ascuns (ecuatia 4.22) se calculeaza astfel (vezi (4.12)): sy) - -jE yj d y j a(netj ) unde:
1 l(dk- /[netk^)]}2 I

(4.23a)

dE d f 1 K

, R

(4.23b) ,
X

d y, d y, 12 k-1 iar al
doilea termen al fy = a ( n e t j ) - fj (netj ) Calcule de rutina
lj

produsului din (4.23a) este: (4.23c) aplicate relatiei (4.23b) conduc la:

d F -- ! ( d - ^ k ) f [netk(y)]} d yj k - 1 d yj

(4.24a)

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

-d E - - ! ( d k - o k fnetO-M a yj k - 1

(4.24b)

d yj
yj)
w

d( zwkj unde, daca tinem cont de (4.5b), obtinem: d(netk) - ----------------------d y j dyj Daca tinem cont si de semnalul de eroare 8ok definit prin (4.14), simplificata pentru ecuatia (4.24b): ^--I50kwkj dyj k - 1 Integrand (4.23c) si (4.24c) in (4.23a), obtinem:

k j

obtinem

forma

(4.24c)

92

f (netj) 8 0 k w k j , pentru j=1, 2, ..., J


k=1

(4.25)

Tinand cont de (4.25), ecuatia de ajustare a ponderilor aferente stratului ascuns (4.21c) devine: > K o DV j j = n f j ( n e t j ) Z j 80k w k j , ' k=1 pentru jJ = 1, 2, ..., J ' ' 'J (4.26a) pentru i = 1, 2, ..., I
,

unde fj '(netj) se calculeaza cu (4.16c) daca se utilizeaza functia de activare sigmoidala unipolara 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
K

aferente stratului urmator ( 8 0


k=1

w k j ), coeficientii de ponderare fiind chiar ponderile care


k

conecteaza iesirea neuronului j la intrarile neuronilor din stratul urmator. Ponderile w j (k=1, 2, ..., K) care intra in formula de calcul a semnalului de eroare 5 j (4.25), formeaza vectorul Wj si au fost figurate cu linii ingrosate in figura 4.7. Suma poderata a semnalelor de eroare
y

aferente stratului urmator ( 8 0 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):

wm =V + n fj (netj) Zj 8 0 k
m

k=1

kj

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

(4.26b)

In forma vectoriala, formula de ajustare a ascuns (4.26b) devine: V,=V+n-5y -zt unde: z reprezinta vectorul de intrare
z
1

ponderilor stratului

(4.27) (in stratul ascuns):


z2

z=
z

reprezinta ascuns:
V
V

matricea
I

de ponderi

aferenta

stratului

11 v12 V11 V21 V22

V
VJ1 V
J 2

"

J I

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

93

y1

V2

5y
J

yJ

Matricea de ponderi aferenta stratului de iesire este: W-|-| W


-|2 L

W-|
L

W2 1 W2 2 W2

= j
W K1 W K2-W K

Daca notam cu w, vectorul care contine coloana j din matricea W, atunci vectorul 5y poate fi calculat cu ecuatia vectoriala:

5 =ow ^ 5 f'
y
J

(4.28) iesire, definit ca in

unde 5o reprezinta vectorul semnalelor de eroare aferente stratului de (4.20):


801 802

5o

=
8

oK

iar fy reprezinta un vector cooana cu componentele f yj (j=1, 2, ..., J); acest vector contine derivatele functiilor de activare aferente neuronilor din stratul ascuns. Deci:
f
y1

f
y2

f
yJ.

Daca se utilizeaza functia de activare sigmoidala unipolara, definita prin relatia (2.4a), atunci componentele fy J sunt date de ecuatiile: fyj ^J (1 ^J ), pentru j=1, 2, ..., J (4.29a) iar daca se foloseste functia sigmoidala bipolara, definita prin relatia componentele fy J sunt date de ecuatiile: (2.3a),

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

(4.29b)
94

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 relatii sunt similare. Diferentele constau in: 1. notatiile diferite utilizate pentru vectorii de intrare (in stratul neuronal antrenat) si pentru matricea de ponderi sinaptice (aferenta stratului antrenat). 2. modul de calcul al semnalelor de eroare. Notatiile diferite nu reprezinta 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), 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 eroare inregistrata pe iesirea respectiva iar derivata reprezinta un coeficient de ponderare. Componentele vectorului 5y sunt produse scalare w- 5o fy ( cu j=1, 2, ..., J), care reprezinta suma ponderata a semnalelor de eroare aferente stratului urmator
K

( E S o k wk i ), inmultita cu derivata functiei de activare aferenta stratului curent ( f (net,)).


k=1

Ca s i in cazul anterior, derivata are rol de coeficient de ponderare. Termenul E S o k w k j


k=1

reprezinta componenta de eroare care trebuie luata in considerare pe iesirea respectivului neuron din stratul 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 pentru calculul semnalelor de eroare aferente tuturor straturilor ascunse. In paragraful urmator vom formaliza/generaliza regula delta pentru retelele cu mai mult de doua straturi. 4.4 Invatarea bazata pe propagarea pattern-ului inainte, urmata de propagarea erorii inapoi Dupa cum s-a aratat in paragraful anterior, reteaua cu doua straturi din figura 4.7 trebuie antrenata (invatata) in 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 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 transformare 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 transformare: o =r[ W r[ V z ] ] (4.31a) Prima transformare din (4.31a) este realizata de stratul ascuns (z^y) si este de forma:
r[ V z ] = y

(4.31b)

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

95

r[ W y ] = o

(4.31c)

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), avand 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), 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, 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 matrici V si W care pot fi
ii 112

ajustate, astfel incat eroarea definita (proportionate cu d - o ) sa fie minimizata. Prin urmare, putem considera reteaua neuronala multistrat, un sistem de transformare neliniara, foarte versatil, ponderile reprezentand parametrii 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 straturi 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 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 semnalelor de eroare aferent stratului ascuns (5y). Sunt ajustate apoi (Step 5) cele K x J ponderi aferente stratului de iesire (componentele matricii W). In final, sunt ajustate (Step 6) cele J x I ponderi aferente stratului de ascuns (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 antrenament {(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). 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 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 retropropagarea semnalelor de eroare si ajustarea ponderilor, in functie de valorile acestor semnale.

96

*\ff(net) given by (2.4a) is used in Step 2, then in Step 4 use S^tH-^Xl-Ok)okl /;=[(! >))>] (a) Fig 4.8a Algoritmul EBP (error back-propagation training) (a) schema logica 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 succesivi:

97

calcularea vectorului 50 si a valorilor de ajustare AW aferente matricii de ponderi corespunzatoare stratului de iesire calcularea vectorului 5y si a valorilor de ajustare AV aferente matricii de ponderi corespunzatoare stratului ascuns

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

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

98

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 intrare augmentat (I x 1) di este vectorul dorit 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 (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 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=-1). Deci: yj este vectorul de iesire din stratul ascuns, augmentat (J x 1) ok este vectorul de iesire din stratul de iesire (K x 1), adica iesirea reala a retelei. 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. Sunt initializate matricile de ponderi W (K x J ) si V (J x I ) cu valori mici aleatoare. W-| W-| W=
i 2 L
W1

W2 1 W2 2 W2 J
L

V11 V

V - |2 ' ' W1 1

=
W

21

_WK 1

K 2

K J_

Se initializeaza
I

contoarele si eroarea: q1, p1, E0 Pasul 2: Ciclul de invatare incepe aici (vezi Nota 1 de la V J 2 - - - V J ! Se aplica vectorul de intrare zp si se doua straturi: zzp, d^dp, yj^f( v t z ) , 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 functia sigmoidala bipolara definita de relatia (2.3a). okf(wkty) , pentru k=1, 2, ..., K
VJ1

sfarsitul algoritmului !). calculeaza iesirile celor

unde wkt (vectorul de ponderi aferent neuronului k din stratul de iesire, transpus) este randul k din matricea de ponderi W si f(net) este functia sigmoidala bipolara _______________definita d

99

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 stratului de iesire (componentele vectorului 8o) sunt calculate astfel:
1 2 S o k - ^ ( k-k >(1-o k ), Pentru k=1, 2, ..., K
d 2

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: pentru k - 1, 2, ..., K w k j w k j + n-5 0 k Yj , o pentru j - 1, 2, ..., J Pasul 6: Se ajusteaza ponderile stratului ascuns:
Vji V j j + n - S y j Z j

pentru j - 1, 2, ..., J pentru 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: 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 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 daca 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 ) c v ( 1 - 0 k ) , Pentru k=1, 2, ..., K
i(net)=i(wk y)
t

100

5 y j = Y j ( 1 - y j ) I 50k w k j , pentru j=1, 2, ..., J


k=1

Vom evidentia in continuare cateva 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: - transformarea realizata de primul strat (stratul ascuns), descrisa de ecuatia (4.31b). - transformarea realizata de cel de-al doilea strat (stratul de iesire), descrisa de ecuatia (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 calculul 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 concluzie, 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.

Fig 4.8c Faza feedforward aferenta retelei cu doua straturi din figura 4.7 (detaliere) Invatarea este supervizata, ceea ce inseamna ca, pentru fiecare 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. 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.

101

Fig 4.8d Faza backward aferenta retelei neuronale cu doua straturi din figura 4.7 Faza backward, porneste de la erorile dk -ok, cu k=1, 2, ..., K, (diferenta 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 intrari in stratul ascuns), se calculeaza semnalele de eroare aferente stratului ascuns 5 j, cu j=1, 2, ..., J, si se propaga si acestea inapoi catre intrarea retelei. Pe baza semnalelor 5ok se calculeaza valorile Aw j, (k=1, 2, ..., K, si j=1, 2, ..., J) cu care se ajusteaza ponderile w j, aferente stratului de iesire. Pe baza semnalelor 5 j se calculeaza valorile Avji, (j=1, 2, ..., J, si i=1, 2, ..., I) cu care se ajusteaza ponderile vj j, aferente stratului ascuns. Prin aceste ajustari se va 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 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 feedforward) 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 detaliata operatia de ajustare a ponderilor (operatia care asigura invatarea). Fig 4.8e Faza backward aferenta retelei cu doua straturi din figura 4.7 (detaliere)
y k k y

102

Fig 4.8f Ajustarea ponderilor retelei cu doua straturi din figura 4.7 (detaliere)

103

Ajustarea ponderilor se face deci in ordine inversa: 1. pe baza semnalelor 5ok, cu k=1, 2, ..., K, se ajusteaza ponderile w j, aferente stratului de iesire
k

2. pe baza semnalelor 5 j, cu j=1, 2, ..., J, se ajusteaza ponderile vj , aferente stratului ascuns.


y i

A se observa (figura 4.8e) ca, semnalele de eroare aferente stratului ascuns (5 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):
y

pentru k = 1, 2, ..., iar cele de

w k j - w M + rj d o k y-.

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

ajustare a ponderilor din stratul ascuns sunt:


J pentru i = 1, 2, ..., I
Vji Vjj + n'8yj Z;

pentru j = 1, 2, ..., Prin urmare,

valorile de ajustare sunt:

A wk j = n 8 0 k Yj, pentru stratul de iesire A V j j = n 8 y 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 A w k j (A V j , ) 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

104

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).

Fig 4.16 Minimizarea erorii Erms (vizualizata ca o functie de o singura pondere)

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 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
105

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 , A Vj ) 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:
j

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

E p =2- (dp k - o p k ) 2
p=1 k=1

PK

Prin urmare, se vor calcua valorile de ajustare (A w k j , A V j j ) pentru fiecare prototip, dar nu se va face ajustare dupa fiecare prototip. Valorile de ajustare vor fi cumulate pentru un intreg ciclu:

A W k j = A w k j p , A V j j = A V j j P , unde p este indexul prototipului


p=1 p=1

P p

P p

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

Pentru o constanta de invatare n fixa, valorile de ajustare a ponderilor (A w k j , A V j j ) sunt proportionale cu coeficientul X.
106

C Panta functiei de activare


7

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 diverse valori ale

[1

pentru net=0. In figura 4.17 este redat graficul derivatei f'(net) parametrului X.

Valorile de ajustare a ponderilor (A w k j , A V j j ) sunt proportionale cu valoarea derivatei functiei 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).

107

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 invatare
7

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 - A w (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:

A w(t) = -n - Z a n V E( t - n )
n=0

(4.48b)

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 punctul
dE dE

A'. Derivatele partiale consecutive --------- si ------- , in punctele A', A'', ..., au acelasi semn 3w1 ' 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 in figura

108

4.18: ajustarea in unctul A'' este mai mare decat cea din punctul anterior (A'), datorita termenului momentum.

Fig 4.18 Efectul adaugarii termenului "momentum" in algoritmul EBP (cazul bidimensional)

'E Daca 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

'

109

convergenta algoritmului este extrem de redusa. Pentru a mari convergenta, ar trebui redus 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 V E ( 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 V E ( 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 V E(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: w + = w - nVE(w )
k 1 k k

(3.40)

unde n este o constanta pozitiva denumita constanta de invatare, indicele superior indica pasul din cadrul algoritmului de invatare iar VE(w ) 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
k

110