retele neuronale - arhitecturi si algoritmi

Download Retele Neuronale - Arhitecturi Si Algoritmi

If you can't read please download the document

Upload: rickard-nelson

Post on 12-Sep-2015

176 views

Category:

Documents


40 download

DESCRIPTION

A study on Neuronal networks

TRANSCRIPT

Retelele neuronale artificiale (RNA) sunt recunoscute ca modele dominante(paradigme) ale Inteligentei Artificiale (IA). Cu ajutorul lor si gasesc rezolvarea o varietate larga de probleme din mediile stiintifice si inginereti.CAPITOLUL 1Introducere1.1Retele neuronale artificiale definitie, proprietatiRetelele neuronale artificiale (RNA), denumite uneori procesoare paralel distribuite, neurocomputere sau modele conexioniste, reprezinta o ncercare de a simula, cel putin partial , structura si functiile creierului specifice organismelor vii.Ca o definitie generala, se poate spune ca RNA reprezinta un sistem de procesare al semnalelor, compus dintr-un numar mare de procesoare elementare interconectate, denumite neuroni artificiali sau noduri, si care coopereaza pentru rezolvarea unor sarcini specifice. Modalitatea de adaptare la conditiile specifice mediului consta n modificarea ponderilor asociate conexiunilor dintre neuroni si eventual a structurii RNA.Astfel de modele conexioniste ofera anumite avantaje, caracteristice sistemelor neuronale reale (biologice) si care nu sunt ntlnite n cazul sistemelor de calcul traditionale, secventiale [1]: O proprietate deosebit de importanta a RNA este aceea de a nvata si de a seadapta; Posibilitatea de a opera cu date imprecise; Capacitatea de generalizare, n sensul n care RNA va opera corect si cu date de intrare care nu au fost prezentate n timpul procesului de antrenament; Datorita gradului ridicat de paralelism , functionarea defectuoasa sau chiar pierderea unui numar de neuroni nu afecteaza semnificativ performanta sistemului global. RNA reprezinta deci sisteme tolerante la erori; Capacitatea de a aproxima orice functie continua neliniara cu gradul de acuratete dorit. Astfel RNA pot fi folosite cu succes n modelarea sistemelor neliniare; Datorita numarului mare de intrari si ieiri, RNA modeleaza cu usurintasisteme multivariabila; Implementarile hardware ale RNA, de exemplu prin intermediul circuitelor integrate pe scara larga (VLSI), fac posibila utilizarea RNA pentru cazul aplicatiilor n timp real.1.2 Neuronul biologicCreierul uman consta dintr-o retea de 1010...1011 neuroni puternic interconectati. n fig.1.2.1 este prezentata structura [2] unei celule nervoase. Se pot distinge urmatoarele parti constituente [3]: Soma sau corpul celulei reprezinta partea centrala a celulei care realizeaza majoritatea functiilor logice ale neuronului. Corpul celulei contine mecanismul genetic si metabolic necesar mentinerii activitatii neuronului. Axonul (ieirea celulei) reprezinta o prelungire a corpului celulei(citoplasma), unica si n general nearborizata. Functia axonilor este aceea de a conduce influxul nervos de la corpul celular la dendritele sau corpul celular al altui neuron sau la o celula efectoare. Dendritele (intrarile neuronului) sunt prelungiri ale citoplasmei relativ scurte, groase si bogat ramificate. Functia lor este aceea de a receptiona excitatii si de a le conduce pna la corpul neuronului . n functie de tipul neuronului el poate avea pna la 104 dendrite. Contactul dintre neuroni se realizeaza prin intermediul sinapselor. Sinapsele dintre doi neuroni se realizeaza n trei feluri: ntre butonii terminali ai axonului unui neuron si dendritele altui neuron (sinapse axo-dendritice); ntre butonii terminali ai axonului unui neuron si corpul altui neuron (sinapse axo- somatice); ntre butonii terminali ai axonului unui neuron portiunea incipienta a axonului altui neuron (sinapse axo-axonale). Din punct de vedere functional, sinapsele sunt de doua feluri: excitatorii si inhibitorii. Stocarea informatiei n neuroni se presupune ca este efectuata prin intermediul conexiunilor sinaptice, mai precis prin tiparele pe care le formeaza acestea si prin ponderea pe care o are fiecare legatura n parte.Conform acestui model simplificat al neuronului, corpul celulei primeste semnale de la alti neuroni prin intermediul conexiunilor sinaptice ajustabile. Cnd un neuron este excitat, produce impulsuri nervoase care sunt transmise, fara atenuare, de-a lungul axonului, spre alti neuroni. Rata impulsurilor ieirii neuronului depinde att de intensitatea semnalelor de intrare ct si de ponderile sinaptice aferente acestora. Se poate spune ca neuronul opereaza ntr-o forma mixta, digital-analogica. Informatia transmisa ntre neuroni, sub forma inpulsurilor nervoase (potentiale de actiune), poate fi considerata semnal digital. Densitatea impulsurilor este cea care codeaza informatia si poate fi privita ca un semnal analogic. n fig.1.2.2 se ofera o reprezentare schematica a neuronului biologic din perspectiva teoriei prelucrarii informatiei.1.3 Neuronul artificialNeuronul artificial denumit uneori procesor elementar sau, mai simplu nod, ncearca sa imite structura si functionarea neuronului biologic. Exista numeroase modele prezentate n literatura [4], dar cel mai raspndit are la baza modelul elaborat de McCulloch-Pitts n 1943. Astfel se poate considera ca neuronul artificial [5] este format dintr-un numar de intrari, fiecare dintre acestea fiind caracterizata de propria pondere sinaptica. De exemplu, semnalul xj prezent la intrarea sinapsei j este conectat la neuronul k prin multiplicare cu ponderea wkj (fig.1.3.1).O alta componenta a modelului neuronului artificial prezentat n fig.1.3.1 o reprezinta sumatorul destinat nsumarii intrarilor ponderate.Rezultatul obtinut n urma nsumarii:este denumit intrare neta.Pentru limitarea amplitudinii semnalului de ieire al neuronului, acesta esteprevazut cu o functie de activare n care k reprezinta valoarea pragului de activare (treshold) al neuronului. Uneori intrarea neta este majorata prin termenul bk denumit factor al deplasarii scarii (bias); deplasarea scarii reprezinta deci negativul pragului de activare.Valoarea:poarta denumirea de potential de activare.n ceea ce privete tipul functiei de activare, aceasta este de regula o functie neliniara; n cele ce urmeaza se va face o prezentare a celor mai raspndite tipuri de functii de activare (fig.1.3.2): Functia prag: Functia prag simetrica sau functia signum: Functia sigmoid: Functia tangenta hiperbolica: (1.3.7)Functiile sigmoid si tangenta hiperbolica reprezinta unele dintre functiile de activare cel mai des folosite la implementarea RNA, unul dintre motive reprezentndu-l calculul simplu al derivatelor acestora. Functia liniara:(v) = v Functia liniara cu saturatie: (1.3.8) 1.3 Neuronul artificial - 17 - ,0(v) = v,1, dac v < 0dac 0 = v = 1dac v > 1 (1.3.9) Functia liniara cu saturatie, simetrica: ,1 dac v < 0(v) = v,1, Functia gaussiana: dac 0 = v = 1dac v > 1 (1.3.10)(v) = exp(-v 2 ) (1.3.11)Prag 1 S ignum1 S igm oid1 Tangenta hiperbolic a1000 0-1-4 -2 0 2 4Liniara1 -1-4 -2 0 2 4Saturatie 1 -1-4 -2 0 2 4S aturatie s im et ric a1 -1-4 -2 0 2 4G aus s iana1000 0-1-4 -2 0 2 4 -1-4 -2 0 2 4 -1-4 -2 0 2 4 -1-4 -2 0 2 4Fig. 1.3.2 Functii de activare tipiceAnaliznd comparativ modelele neuronului real (biologic) si neuronului artificial se pot face urmatoarele observatii [6]:- 18 - CAP.1 Introducere Din punct de vedere al implementarii este practic imposibil si chiar ineficient ca modelul artificial al neuronului sa copieze exact comportamentul si structura celui biologic. RNA sunt proiectate pentru rezolvarea unor probleme specifice si deci arhitectura si trasaturile RNA depind de problema pe care trebuie sa o rezolve. Un neuron real produce la ieire o secventa de impulsuri si nu o anumita valoare cum este cazul celui artificial. Reprezentarea ratei de activare printr- un singur numar (yk) ignora informatia care ar putea fi continuta de exemplu n faza impulsurilor. Unele celule nervoase biologice efectueaza o nsumare neliniara a intrarilor. Pot exista chiar operatii logice (SI, SAU, NU) efectuate la nivelul dendritelor. Ieirile neuronilor nu se modifica n mod sincron si nu toti au acelai tip de ntrziere. Cantitatea de substanta transmitatoare (mediator chimic) eliberata la nivelul sinapsei poate sa varieze ntr-un mod imprevizibil. Fenomenul este aproximat grosier prin intermediul functiei de activare.1.4 Arhitecturi ale RNASe pot distinge doua mari categorii n modul de structurare al unei RNA: RNA feedforward (cu propagare nainte).Sunt caracterizate de prezenta unui strat de neuroni de intrare, un numar de straturi ascunse (posibil si fara) si un strat de neuroni de ieire.n fig.1.4.1 este prezentata arhitectura unei RNA feedforward cu un singur strat ascuns. Definitoriu pentru acest tip de RNA este faptul ca un neuron primete semnale doar de la neuroni aflati n stratul/straturi precedent/precedente. Se spune1.4 Arhitecturi ale RNA - 19 -despre o RNA ca este total conectata daca fiecare nod din fiecare strat este conectat la fiecare neuron din stratul precedent (fig.1.4.1).Daca anumite conexiuni sinaptice lipsesc se spune ca RNA este partial conectata (fig.1.4.2). RNA total conectate au un caracter general, n sensul n care pot fi folosite ntr-o gama larga de probleme, dar rezultatele nu sunt ntotdeauna cele mai bune [7]. RNA partial conectate introduc anumite restrngeri, care reprezinta tocmai cunotinte apriorice despre problema de rezolvat si care reduc gradul de generalitate al unei RNA. Prin restrngerea cmpului de receptie al neuronilor se efectueaza o extragere a trasaturilor locale iar n straturile ce urmeaza acestea sunt combinate pentru a se forma trasaturi de ordin superior. Astfel, RNA partial conectate pot da rezultate mai bune dect RNA total conectate n rezolvarea anumitor probleme specifice, cu conditia exploatarii cunostintelor apriorice despre problema data.Fig. 1.4.1 RNA feedforward total conectata- 20 - CAP.1 IntroducereFig.1.4.2 RNA feedforward partial conectata RNA recurente (feedback, cu propagare napoi).RNA recurente se individualizeaza prin existenta unui semnal de reactie, din partea neuronilor de ordin superior, pentru cei de ordin inferior sau chiar pentru propriile lor intrari (fig.1.4.3).Fig.1.4.3 RNA recurenta 1.5 Tipuri si algoritmi de instruire - 21 -1.5 Tipuri si algoritmi de instruireRNA achizitioneaza cunotintele prin instruire (nvatare). nvatarea presupune adaptarea parametrilor liberi ai RNA (ponderi, praguri, rata de nvatare, uneori chiar forma functiei de activare sau structura retelei) ca urmare a stimulilor mediului n care se gaseste reteaua.Vectorii de instruire sunt prezentati RNA n mod secvential iar ponderile sinaptice, care memoreaza practic cunotintele retelei, sunt adaptate pentru a extrage informatia pe care aceti vectori o contin.Tipul de nvatare este determinat de maniera n care sunt ajustati parametrii liberi ai RNA.Dei n literatura RNA [1], [5], [8] exista o mare diversitate de opinii n ceea ce privete modul de clasificare al algoritmilor si tipurilor de nvatare, fig.1.5.1 ncearca sa sintetizeze principalele directii. TIPURI DE INSTRUIRESUPERVIZATA NESUPERVIZATA PRIN NTARIRE(CU AUTOORGANIZARE) HEBBIAN COMPETITIVCORECTIA ERORILOR BOLTZMAN (STOCHASTIC)AlgoritmiWIDROW-HOFF PROPAGAREA NAPOI A ERORII(LMS sau REGULA DELTA)Fig.1.5.1 Tipuri si algoritmi de instruire- 22 - CAP.1 Introducere nvatarea de tip supervizatEste caracterizata de prezenta unui supervizor care cunoate cu exactitate modul de asociere al intrarilor RNA cu ieirile acesteia, conform fig.1.5.2.SUPERVIZOR Raspuns doritVector de intrare SISTEM SUPUS NVATARII +Raspuns actual-Semnal de eroareFig.1.5.2 Arhitectura unui sistem cu nvatare supervizataParametrii RNA sunt modificati sub influenta combinata a vectorilor de antrenament si a semnalului de eroare (diferenta dintre raspunsul dorit si cel actual). Scopul final al algoritmului de antrenament este ca RNA sa emuleze, optim n sens statistic, supervizorul. nvatarea de tip nesupervizat (cu autoorganizare) Este caracterizata de absenta unui semnal sau supervizor care sa aprecieze corectitudinea asociatiilor intrare-ieire (fig.1.5.3). RNA va descoperii singura legitatile continute n datele de intrare printr-o reprezentare interna adecvata a trasaturilor vectorului de intrare. 1.5 Tipuri si algoritmi de instruire - 23 -Vector de intrare SISTEM SUPUS NVATARIIFig.1.5.3 Sistem cu nvatare de tip nesupervizat nvatarea prin ntarire Urmarete maximizarea unei marimi scalare (indice de performanta sau semnal de ntarire) n urma unei actiuni efectuate de catre sistemul supus nvatarii. Daca modificarile aduse conduc spre o stare mai buna dect cea precedenta, tendinta sistemului de a produce acea actiune particulara este ntarita. Algoritmi de nvatare bazati pe corectia eroriiFie x(n) vectorul de intrare aplicat unei RNA. Daca se noteaza ieirea neuronului k prin yk(n), semnalul de eroare poate fi definit ca fiind diferenta dintre ieirea dorita pentru neuronul k si ceea ce furnizeaza n etapa actuala de catre acelasi neuron:n( ) (1.5.1)Scopul final al algoritmilor bazati pe corectia erorii este de a minimiza asa-numita functie de cost. Unul dintre criteriile frecvent utilizate n alegerea functiei de cost este cel al erorii patratice medii - care urmareste minimizarea valorii medii patratice pentru suma erorilor patratice aferente stratului de ieire al RNA:=J E 1 2 ek (n) (1.5.2)2 kn care E[.] semnifica media n sens statistic.- 24 - CAP.1 IntroducereUna dintre metodele de minimizarea a functiei de cost J n raport cu parametriiRNA este metoda gradientului descendent.De cele mai multe ori proprietatile statistice ale procesului nu sunt cunoscute. n acest caz se ofera o solutie aproximativa pentru problema de optimizare, prin utilizarea drept functie de cost a valorii instantanee a sumei erorilor patratice:(e ) 1 2 (1.5.3)n = 2 ek (n)kO metoda n acest sens o ofera Widrow si Hoff (regula delta):ekj w e k ekj w e k kee e w k e k ykw =) ek (n) x j (n) (1.5.4) k j k jn care reprezinta rata de nvatare a RNA.Graficul aplicatiei J n functie de ponderile RNA poarta denumirea desuprafata a erorii.Exemplul 1.1 Se urmareste reprezentarea suprafetei erorii pentru cazurile unui element liniar (fig.1.5.3) respectiv pentru cazul unui element neliniar (1.5.4) folosind mediul MATLAB 5.3. Codul sursa este urmatorul:%Exemplu de reprezentare a suprafetei erorii%pentru cazurile unui neuron liniar respectiv neliniar%Catalin-Daniel Caleanu, 2000clear%definire perechi de valori intrare(p, pattern)-iesire(t, target)p = [-6.0 -6.1 -4.1 -4.0 +4.0 +4.1 +6.0 +6.1];t = [+0.0 +0.0 +.97 +.99 +.01 +.03 +1.0 +1.0];%definire ponderi (w, weights), deplasari de scara (b, biases)wv = -1:.1:1; bv = -2.5:.25:2.5; 1.5 Tipuri si algoritmi de instruire - 25 -Fig.1.5.3 Suprafata erorii pentru cazul unui neuron liniarFig. 1.5.4 Suprafata erorii pentru cazul unui neuron neliniar- 26 - CAP.1 Introducere%calculul si afisarea suprafetei erorii es = errsurf(p,t,wv,bv,'purelin'); plotes(wv,bv,es,[60 30])figurees = errsurf(p,t,wv,bv,'logsig');plotes(wv,bv,es,[60 30])Se poate desprinde ideea conform careia minimizarea erorii unui neuron liniar este mai usoara dect minimizarea unui neuron neliniar (sigmoidal). Doar pentru cazul elementului liniar eroarea are un minim global; n rest suprafata erorii poate avea minime locale. Algoritmi de nvatare de tip Boltzmann Sunt inspirati din teoria informatiei si din termodinamica, neuronii constituind o structura recurenta caracterizata de asa-numita functie energie:1E = - 2 w ji s j sii j (1.5.5)unde si reprezinta starea neuronului i, adica +1 (neuron activ) sau -1 (neuron inactiv).Maina Boltzmann opereaza prin alegerea aleatoare a unui neuron si schimbarea starii acestuia. Astfel schimbarea ponderilor se va face tinnd cont de corelatiile dintre starea neuronului i si cea a neuronului j. Algoritmi de nvatare de tip hebbianConform postulatului lui Hebb, modificarea ponderii sinaptice wkj este dependenta de activitatea pre- si postsinaptica: 1.5 Tipuri si algoritmi de instruire - 27 -wkj (n) = F ( yk (n), x j (n)) (1.5.6)O forma particulara a ec. (1.5.6) este:wkj (n) = yk (n) x j (n) (1.5.7)cu o constanta pozitiva reprezentnd rata de nvatare. Dezavantajul acestei reguli l reprezinta faptul ca ea conduce la o cretere exponentiala a wkj. Una din metodele propuse ulterior presupune introducerea unui termen de uitare (forgetting factor)[10]:wkj (n) = yk (n) x j (n) -a yk (n)wkj (n) (1.5.8) Algoritmul de nvatare de tip competitivEste caracterizat de competitia ntre neuronii de ieire ai RNA, cstigatorul acesteia urmnd sa fie activat. Spre deosebire de RNA care se bazeaza pe algoritmi de nvatare de tip hebbian si la care exista posibilitatea ca mai multi neuroni sa fie activi simultan, la RNA bazate pe algoritmi de nvatare de tip competitiv doar un singur neuron este activ la un moment dat.Practic, fiecare neuron al unei astfel de RNA va deveni specializat, n urma procesului de nvatare, n recunoaterea unei anumite trasaturi prezenta n datele de intrare. Acest lucru este posibil avnd n vedere modalitatea de adaptare a ponderilor:w ji = ,0 x j - waltfel stigat competitia (1.5.9)Prin aceasta, ponderea wj a neuronului j, ctigator al competitiei, se apropie si mai mult de tiparul x prezentat la intrare.- 28 - CAP.1 IntroducereCAPITOLUL 2Retele neuronale de tip perceptron2.1 IntroducereSe urmarete n cadrul acestui capitol prezentarea unei clase deosebit de importante de RNA de tip cu propagare nainte a semnalului (feedforward). Este vorba de RNA perceptron simplu respectiv o generalizare a acestuia, perceptronul multistrat(RNA-MLP, Multilayer Perceptron). Printre primii autori care au fundamentat principiile teoretice legate de perceptronul simplu/multistrat se regasesc Rosenblatt[11], Widrow [12] si respectiv Rumelhart, Hinton,Williams [13]. Cei din urma autori fundamenteaza si celebrul algoritm de antrenament pentru RNA-MLP si anume algoritmul cu propagare napoi a erorii (BP, backpropagation). Toate aceste aspecte sunt extensiv tratate de catre S.Haykin n una dintre cele mai bune carti referitoare la domeniul RNA [5].Interesul deosebit fata de aceste retele neuronale a fost generat, printre altele, de capacitatea acestora de a generaliza adica de a opera cu date diferite de cele prezentate n etapa de antrenament si de a nvata plecnd de la o distributie aleatoare a ponderilor sinaptice ale retelei. n consecinta acest tip de retele poate fi folosit cu succes n diversele aplicatii ce contin clasificatori.2.2 RNA de tip perceptron cu un singur neuronSe prezinta n continuare arhitectura si algoritmii de antrenament pentru cazul RNA cu un singur neuron: perceptronul simplu si RNA ADALINE antrenata cu algoritmul LMS. Perceptronul simplu are o aplicabilitate practica limitata datorita valorii binare a ieirii sau datorita imposibilitatii clasificarii tiparelor (vectorilor de intrare) neliniari. El se constituie nsa ca punct de plecare n studiul perceptronului- 30 - CAP.2 Retele neuronale de tip perceptronmultistrat.2.2.1 Perceptronul simpluArhitectura unei astfel de RNA este prezentata n fig. 2.2.1.1. Se poate afirma ca perceptronul simplu reprezinta o particularizare a modelului McCulloch-Pitts al neuronului artificial pentru cazul n care functia de activare este de tip treapta unitate bipolara.I x1NT x2R A RI xN 1wvNw -1 f(v)I Ey+1SI-1R E-deFig. 2.2.1.1 Arhitectura perceptronului simplu.Scopul perceptronului simplu este de a clasifica n una din cele doua clase disponibile (y = +1 sau y = -1) un set de stimuli exteriori.Functionarea sa pote fi descrisa prin urmatoarele ecuatii:Niwi =1 xi - (2.2.1.1)=y (v) = sgn(v) = (v) = sgn(v) = dac x(n) C1, 11, dac x(n) C2 (2.2.1.2)Regiunile de decizie vor fi separate de catre un hiperplan definit de relatia:Niwi 1= xi - = 0 (2.2.1.3) 2.2 RNA de tip perceptron cu un singur neuron - 31 -Ca si particularizare pentru cazul N = 2 ecuatia (2.2.1.3) ia forma:x1 + w2 x2 - = 0 (2.2.1.4)ceea ce reprezinta ecuatia unei drepte n planul x2Ox1. n acest caz, tiparele vor fi separate printr-o dreapta. Un exemplu de astfel de problema liniar separabila l constituie functia SI logic iar ca si contraexemplu se poate considera functia SAU- EXCLUSIV (fig.2.2.1.2). Pentru cazul N = 3 ec.(2.2.1.3) descrie un plan iar pentru N > 3 un hiperplan.SI SAU Exclusiv x1 x2 y x1 x2 Y0 0 0 0 0 00 1 0 0 1 11 0 0 1 0 11 1 1 1 1 0Functia SIx2x1 Functia SAU-EXCLUSIVx2x1Fig.2.2.1.2 Tabela de adevar si ilustrarea separabilitatii functiilor logice SI si SAU-EXCLUSIV.n concluzie, perceptronul simplu poate fi folosit cu succes doar n cazul particular al clasificarii tiparelor liniar separabile, adica a tiparelor care sunt situate, ntr-un caz general, de-o parte si de alta al unui hiperplan. Avnd n vedere notatiile urmatoare:- 32 - CAP.2 Retele neuronale de tip perceptronTx(n) = [- ,1 x1 (n), x2 (n),..., xN (n)] = vector de intrare;Tw(n) = [(n), w1 (n), w2 (n),..., wN (n)](n) = prag;y(n) = raspuns actual;d(n) = raspuns dorit; = vectorul ponderilor sinaptice;(n) = rata de nvatare, de regula 0 < < 1.paii algoritmului (tip Rosenblatt) de antrenament aferent perceptronului simplu vor fi:a) Initializarea: w(0) = 0;b) Calcul raspuns actual:functia signum. y(n) = sgn[w T (n)x(n)] , n care functia sgn(.) reprezintan care : d (n) = dac wx(n) C1 [ d (n) - y(n)])x(n)1, dac x(n) C2d) Incrementarea lui n cu o unitate si salt la pct.b)2.2.2 RNA Adaline. Algoritmul LMSAlgoritmul celor mai mici patrate (LMS - Least Mean Square), cunoscut si sub denumirea de algoritmul Widrow-Hoff sau regula delta, este destinat antrenarii unei RNA formata dintr-un singur neuron liniar. Ceea ce l diferentiaza de algoritmul de antrenament al perceptronului simplu este modul de calcul al semnalului de eroare, care n acest caz nu este cuantizat iar functia de activare poate fi liniara.Avnd n vedere aceste aspecte, algoritmul LMS poate fi formulat n modul urmator:a) Etapa de initializare: pentru wk(0) = 0, k = 1,2, ..., Nb) Etapa de filtrare: 2.2 RNA de tip perceptron cu un singur neuron - 33 -Ny(n) = w j (n) x j (n)j =0e(n) = d (n) - y(n)wk (n + )1 = wk (n) + N,...,2Formularea algoritmului LMS s-a facut din perspectiva unei filtrari spatiale. El poate fi utilizat n aceeai masura n rezolvarea problemelor de filtrare temporala, considernd ca x(n) reprezinta eantioane ale vectorului de intrare la momente de timp diferite:T)] (2.2.2.1)RNA ADALINE (Adaptive Linear Element) foloseste algoritmul de antrenament LMS (Widrow-Hoff) n scopul clasificarii tiparelor. Structura ei este prezentata n fig. 2.2.2.1n timpul etapei de antrenament, tiparele sunt aplicate direct RNA, ea urmnd sa descopere singura caracteristicile acestora. Experienta acumulata de catre RNA este continuta n valorile w1, ..., wN si .1xw1y2x vSeNx wN -dFig.2.2.2.1 Structura RNA ADALINE.- 34 - CAP.2 Retele neuronale de tip perceptron2.2.3 Deducerea regulilor de modificare a ponderilor pentru cazul perceptronului simpluAlgoritmul de modificare a ponderilor urmarete minimizarea erorii la nivelul neuronului sau al stratului neuronal de ieire. Se definete eroarea la nivelul neuronului de ieire k:ek (n) = d k (n) - yk (n) (2.2.3.1)Pentru cuantificarea erorii la nivelul neuronului/neuronilor de ieire se definete o functie de cost, uneori denumita si criteriu de performanta [14]. O posibila forma pentru aceasta este:= [ 1 (2 )]EJ e k nk2 (2.2.3.2)cu E[.] reprezentnd media n sens statistic.Una dintre metodele folosite pentru obtinerea minimului functiei J este bazata pe gradientul acesteia. Ilustrarea metodei pailor descendenti se poate face prin urmatoarea figura:JJ = JwPunct de minim 0w wn+1 wn ponderiw(n) = -JFig.2.2.3.1 Ilustrarea grafica a metodei pailor descendenti 2.2 RNA de tip perceptron cu un singur neuron - 35 -ecuatia: Conform acestei metode incrementul de modificare a ponderilor este dat deJ = - Jw (2.2.3.3)Pentru ca proprietatile statistice nu sunt de regula cunoscute, se poate folosi n loc de J, suma erorilor patratice instantanee:)( 1 2 (2.2.3.4)De aici rezulta: Eav n = 2 e k (n)k (n) = - Eav (n) = - e (n) ek (n) (2.2.3.5) w kkw wdar: ek (n) = d k (n) - yk (n) = d k (n) -(vk (n)) (2.2.3.6)n care f reprezinta functia de activare si vk potentialul de activare. Rezulta astfel:w(n) = ek (n)'(vk (n))x(n)kPentru cazul prezentat anterior, k=1 si f = sgn, se obtine: (2.2.3.7)e(n)x(n) =(d (n) - y(n))x(n) (2.2.3.8)2.2.4 Consideratii asupra valorii ratei de nvatare (instruire)n cazul algoritmilor de antrenament prezentati anterior rata de nvatare trebuie sa satisfaca conditia:0 < < 1, =ct.pentru a asigura convergenta algoritmului.Daca este aleasa la o valoare prea mica, rezulta un proces lent de nvatare, vectorul pondere modificndu-se foarte putin de la o iteratie la alta. Daca este prea mare, algoritmul poate sa nu sesizeze punctul de minim, ceea ce conduce la un proces de nvatare oscilant care s-ar putea sa nu convearga niciodata.- 36 - CAP.2 Retele neuronale de tip perceptronExista diverse procedee (fig.2.2.4.1) prin care rata de nvatare poate fi modificata de-alungul epocilor de antrenament, obtinndu-se astfel o rata de nvatare variabila: Metoda aproximarii stochastice: (n) = c ,n c = ct. 0 ct Metoda cauta apoi converge: (n) = ,1 + nt .0 ,t =(n)Algoritm standard0Cauta apoi convergeAproximarea stochasticaNr. de epoci (iteratii) de antrenamentFig.2.2.4.1 Metode de modificare a ratei de nvatare2.2.5 Capacitatea perceptronului simpluSe refera la numarul de tipare maxim, pmax, care poate fi stocat ntr-o retea cuN intrari. Pentru cazul unitatilor care furnizeaza valori continue (liniare sau neliniare) numarul maxim de tipare intrare-ieire este dat de conditia de independenta liniara:pmax = NPentru cazul unitatilor cu neliniaritate de tip prag:pmax = 2N 2.3 RNA de tip perceptron cu mai multe straturi - 37 -2.3 RNA de tip perceptron cu mai multe straturiPerceptronul multistrat (RNAMLP, Multilayer Perceptron) reprezinta o generalizare a perceptronului simplu prezentat n capitolul anterior. Este o RNA de tip feedforward (cu propagare nainte a semnalului) compusa din (fig.2.3.1):- un strat de intrare;- unul sau mai multe straturi ascunse;- strat de ieire.1x 1 11y2x2yMyNx Q PStrat de Strat Strat Strat deintrare ascuns nr.1 ascuns nr.2 ieireFig.2.3.1 Perceptron cu doua straturi.2.3.1 Algoritmul de antrenamentSe deosebesc doua etape n realizarea unei aplicatii cu RNA. Prima reprezinta etapa de antrenament sau de nvatare n care sunt aplicate perechi de tipare intrare ieire corect asociate, iar RNA i modifica parametrii liberi pentru a nvata aceste asociatii. A doua etapa presupune utilizarea propriuzisa a RNA; se pot aplica n acest caz vectori de intrare diferiti de cei din etapa de antrenament, urmnd ca RNA, pe baza capacitatii de generalizare, sa furnizeze un raspuns adecvat.Pentru deducerea algoritmului de antrenament corespunzator RNAMLP se definete eroarea la nivelul neuronului j din stratul de ieire, n a n- a iteratie:- 38 - CAP.2 Retele neuronale de tip perceptronej(n) = dj(n) yj(n)n care dj reprezinta raspunsul dorit iar yj raspunsul actual al RNAMLP. Eroarea instantanee la nivelul ntregului strat de ieire poate fi definita casuma erorilor patratice ale neuronilor de ieire:e()n 1 e j (n )2= 2jFie T numarul total de tipare de antrenament. n acest caz, eroarea pentru ntreg setul de date de antrenament reprezinta functia de cost ce va trebui minimizata:e ()n = 1 T e (n )av T n =1Exista doua moduri n care se pot adapta ponderile RNAMLP n cursul etapei de antrenament: modul tipar cu tipar, (pattern by pattern) n care dupa aplicarea fiecarei perechi de tipare intrareiesire ponderile sunt actualizate; modul lot de tipare, (batch) n care ponderile sunt calculate o singura datape baza tuturor perechilor de tipare intrareieire disponibile.Algoritmul de antrenament pentru RNAMLP va fi dedus pentru modul tipar cu tipar.Conform principiului gradientului descendent:w ()n = - e(n)w ji ()nji n care:Deoarece: ew ji = e e j = e e j vw j (n)ji ()ne ()n = 1 e 2 ()n e (n )e ()n e ()n=j jjj2 2.3 RNA de tip perceptron cu mai multe straturi - 39 -e ()n d ()n y ()n e (n)=j j - j -= 1 jv ()( )n y j ()ny ()n= j v ()( )nj j j= 'jDeci: (n) jv = j w ji ()n y ()ni v jw ji (n)()n y ()n= ie()nw ()n e ()n (v ()n ) y ()n ji -= j i' jSe definete gradientul local d j (n):d = += + v ()( )n' = - e (n ) y j (n )jj j y j ()n v j ()n w ji ()n = d j (n ) yi (n )Formula de mai sus este valabila pentru cazul n care neuronul j apartine stratului de iesire. Pentru cazul n care neuronul j apartine unui strat ascuns, trebuie redefinit gradientul local:()n ()n()n y (n )v n e(n )y ()n ' v ()( )njj jn care: j j j1e 2()n = ke ()n2 kk fiind indicele corespunzator neuronilor straturilor de ieireAtunci: () = ( ) = )( ( ) vk n() () () y () nDeoarece: jy n kk ky j n vk njk- 40 - CAP.2 Retele neuronale de tip perceptrone ()n d (n) y ()n d ()n v (n)( ) e (n)=k k - k k= - k kvk = -k' = -k' = -k' v ()( )nkv ()n w y (n) v ()nRezulta: k = je()n kj j ky j ()n w= kj ()nd () = - () ' ( ()) ( ) = - () () jy n k kkk kkkkk nkjwn consecinta, pentru cazul n care neuronul j apartine unui strat ascuns:() = (' ()) ( ) ( )j v j nksi = ' j v j nk= ' j v j n= ' kkk kjw nd v j ()( )nk k ()n wkj ()n yi ()nAlgoritmul dedus poarta denumirea de algoritm cu propagare napoi a erorii(BP - Backpropagation Algorithm). Algoritmul BP standard este de tip gradient descendent, ca si regula de nvatare Widrow-Hoff, adica presupune modificarea ponderilor n sensul negativ al functiei de cost. Denumirea este justificata de modalitatea de adaptare a ponderilor, aceasta facndu-se ncepnd de la stratul de ieire spre stratul de intrare, prin calculul recursiv al gradientului local.Observatii:1. Proprietatile functiei de activare f(.).Calcularea lui d pentru fiecare neuron necesita determinarea derivatei functiei de activare f(.). Deci f(.) trebuie sa fi o functie continua, derivabila si de regula neliniara. O astfel de functie este functia sigmoid: v j ()( )n = 1-v ( )n1 + e() [ jv ( )n ] v ( )ny j n = ' v n = 1 + e - j -2 e - j() () jjv j n 2.3 RNA de tip perceptron cu mai multe straturi - 41 -1 - y j (n )v ( )n- j 1 - y j ()n= () j' j y j ()n= == 1)[ - ( )]ejy n nv 21 jy n jy n y j ()nDaca neuronul j apartine stratului de ieire, fie yj(n) =oj(n). Atunci d este:dj ()n =ej ()n j'(vj ( )n ) =[d j ( )n -oj ( )n ]oj ( )n 1[ -oj ( )n ]Daca neuronul j apartine unui strat ascuns:() = (' ()) ( ) ( ) = ( )[ - ( )] () ( ) d j nk kk kk kk k2. BP cu moment. kk k kkk kkkk nkjwValoarea ratei de nvatare trebuie sa fie suficient de mica pentru a asigura convergenta algoritmului dar si suficient de mare pentru a genera un proces de nvatare rapid.O metoda simpla pentru creterea ratei de nvatare, cu evitarea instabilitatii procesului de antrenament reprezinta introducerea unui termen denumit moment n legea de variatie a wji(n):1)w ji ()n =d j (n)yi (n) +Se poate scrie wji (n) ca o serie de timp:( ) () () ( ) = na n -td a n -1 e jtn= () yi ttwt = =t ji0 0 Daca derivatele partiale au acelasi semn algebric n iteratii consecutive wji(n) crete n amplitudine, deci wji (n) se va modifica cu un increment din ce n ce mai mare. Aceasta nseamna ca prin introducerea termenului moment viteza algoritmului este accelerata pentru cazul unor suprafete ale peisajul energetic ale functiei de cost descrescatoare.Daca derivatele partiale au semne diferite n iteratii consecutive wji(n) scade n amplitudine, deci wji(n) va fi modificat n cantitati din ce n ce mai mici.n consecinta introducerea termenului moment are un efect de stabilizare a- 42 - CAP.2 Retele neuronale de tip perceptronunui proces oscilatoriu de nvatare.Termenul moment poate fi privit si ca o inertie introdusa n modificarea ponderilor, prin acest fapt evitndu-se ntepenirea RNA n minime locale ale suprafetei erorii.3. Criterii de stabilitate.Fie w un vector pondere pentru care suprafata erorii are un minim (local sau global). O conditie necesara ca w* sa fie un punct de minim este ca vectorul gradient g(w) al suprafetei erorii sa fie egal cu zero n w = w*. n acest sens se pot formula cteva criterii de stop pentru algoritmul BP:a) se considera ca algoritmul BP a convers daca norma euclidiana a vectorului gradient e suficient de mica: g (wfinal) < e;b) se considera ca algoritmul BP a convers daca rata modificarii erorii patratice este suficient de mica (ex: 0.1 1% / epoca);c) se considera ca algoritmul BP a convers daca eav(w) = t, cu t un prag suficient de mic al erorii.Momentul n care algoritmul de antrenament se oprete influenteaza si capacitatea de generalizare a RNA. Daca reteaua se supraantreneaza, eroarea finala obtinuta pentru datele de antrenament va fi deosebit de scazuta (Eroarea patratica medie = 10-510-10) n schimb acest lucru va afecta n mod negativ capacitatea de generalizare, n sensul n care RNA nu va raspunde corect pentru date de intrare diferite de cele din etapa de antrenament.4. Determinarea numarul de straturi ascunse si de neuroni/strat ascuns.Numarul optim de straturi ascunse si de neuroni/strat ascuns este dificil de precizat apriori.n general, un singur strat ascuns e suficient pentru rezolvarea majoritatii problemelor. n mod exceptional, se pot folosi doua, cel mult trei straturi ascunse.De regula, numarul de neuroni aferenti straturilor de intrare respectiv ieire este dictat de natura aplicatiei. Neuronii structurilor ascunse au rolul foarte important de a detecta trasaturile, legitatile, regularitatile continute n tiparele de antrenament. 2.3 RNA de tip perceptron cu mai multe straturi - 43 -Un numar prea mare de neuroni ascunsi/strat influenteaza n mod negativ capacitatea de generalizare a RNA. Totodata conduce la sporirea volumului de date care urmeaza a fi procesat si deci la o durata sporita pentru etapa de antrenament. Un numar prea mic de neuroni nu este suficient pentru formarea unei reprezentari interne a datelor adecvata si poate conduce la o eroare medie patratica mare pe parcursul epocilor de antrenament si implicit la o eroare mare corespunzatoare nu numai datelor de test ci si celor de antrenament.n concluzie, numarul optim de neuroni ascuni se va determina experimental.Pe baza formulei deduse pentru modalitatea de adaptare a ponderilor si pe baza observatiilor 1. 4. se pot enunta pasii algoritmului cu propagare napoi a erorii:1. Initializarea.Se definesc numarul de straturi si neuroni/strat. Se initializeaza ponderile sinaptice si pragurile cu valori aleatoare mici, uniform distribuite. De exemplu,2 4 n care F ponderile si pragurile se vor distribui uniform n intervalul -(fan-in) reprezinta numarul de intrari pentru neuronul i.2. Prezentarea tiparelor de antrenament.Pentru fiecare pereche de tipare de antrenament {[x( ), Fi n i}N,...2se vor efectua paii 3. si 4. Prezentarea tuturor celor N tipare de antrenament este denumita epoca de antrenament.3. Propagarea nainte.ncepnd de la primul strat ascuns si sfrind cu stratul de ieire se calculeazapentru fiecare neuron j al stratului l potentialul intern de activare:v (l ) (n) = w(l ) (n) y (l - )1 (n)ij jisi mai apoi, prin aplicarea functiei de activare, se calculeaza ieirile acestora. De exemplu pentru functia de activare de tip sigmoidal:- 44 - CAP.2 Retele neuronale de tip perceptrony(l ) =j 1v ( l ) ( n )e- j+1 (l - )1Daca i = 0, avem y (l - )1 (n)0 1= - si (l )w j 0 (l ) (= j n) . Daca neuronul j apartineprimului strat ascuns (l = 1) avem y ( 0) (n)i = x (n)i iar daca neuronul j apartinestratului de ieire (l = L) avem y ( L ) (n)j = .jo (n)n continuare, se calculeaza eroarea pentru fiecare neuron al stratului de ieire, ej (n), ca fiind diferenta dintre ieirea dorita dj(n) si ieire actuala yj(n):e j (n) = d j (n) - y j (n)4. Propagarea napoi.Se calculeaza gradientul local al RNA, strat cu strat, ncepnd cu cel de ieire:( L ) = ( L ) 'j ( j )= ( j ( )- j ( )) ])j ( ) ([ - jjd (n) je (n) v (n) nd y noon n 1- ()[ ]1 y j nk +1 () n kjw +1) (n)Apoi sunt modificate ponderile sinaptice ale RNA n stratul l conform regulii delta generalizate (BP cu moment):)1 ]+ d (l ) (n )y ( )l 1- ()nji ji ijji jin care reprezinta rata de nvatare si a constanta moment.5. Iteratia.Se continua etapele 3. si 4. pentru toate perechile de vectori de antrenament. Dupa fiecare epoca de antrenament se evalueaza criteriul de stop al algoritmului (rata schimbarilor parametrilor liberi sub un anumit prag, eroarea patratica medie suficient de mica, numar maxim de epoci atinse, etc).Observatii:1 Ordinea prezentarii tiparelor, de la o epoca la alta, se recomanda a fi aleatoare.2 Att ct si a se recomanda a fi ajustate pe parcursul epocilor de antrenament (n mod tipic, scazute). 2.3 RNA de tip perceptron cu mai multe straturi - 45 -2.3.2 Algoritmi rapizi de antrenament pentru RNA cu propagare nainte a semnaluluiAlgoritmul BP standard prezinta o serie de dezavantaje. Printre acestea se pot enumera convergenta lenta si dependenta acesteia de parametrii liberi ai retelei(ponderi, praguri, forma functie de activare, rata de nvatare, etc.). Algoritmii prezentati n cadrul acestui subcapitol (pentru o descriere exhaustiva a se consulta[15]) ofera o alternativa la BP. Ei converg n mult mai putine epoci spre valori optime ale ponderilor dect BP nsa implica o complexitate ridicata a calculelor. De subliniat nsa faptul ca n cazul unor retele de dimensiuni mari convergenta ntr-un numar mai mic de epoci nu nseamna implicit si un timp de antrenament mai scurt deoarece calculele aferente unei epoci pot sa dureze foare mult. Din acest motiv folosirea unuia sau altuia dintre algoritmii de antrenament este determinata de problema concreta ce se dorete a fi solutionata.2.3.2.1 Metoda lui NewtonFunctia de cost e(w) poate fi aproximata conform dezvoltarii n serie Taylor n jurul punctului w0:we = e + w - w e w 1+ w - w T 2e w w - w( ) 0 ( 0 ) ( 0 ) ( )02 ( 0 )( 0 ) 2= ewi se numete hessian.jPentru ca w sa fie un punct de minim se anuleaza derivata relatiei precedente:e( )w = e(w 0 )+ H(w - w 0 ) = 0 w = w - e(w 0 ) w = - e(w 0 )0 H 1- H 1-Relatia de mai sus reprezinta metoda lui Newton, care folosita iterativ,- 46 - CAP.2 Retele neuronale de tip perceptronestimarea lui w fiind un nou w0, conduce la gasirea minimului ntr-un numar extrem de redus de epoci de antrenament.Dezavantajul metodei consta din complexitatea extrem de ridicata a calculelor ce trebuie efectuate la fiecare iteratie: calculul derivatelor partiale de ordin nti si doi pentru e precum si inversa hessianului (care poate sa fie singular si deci H-1 nu exista!).n consecinta metoda lui Newton i gasete aplicabilitate practica restrnsa, dar poate servi ca punct de referinta pentru abordari ulterioare.2.3.2.2 Metoda LevenbergMarquardtElimina partial dezavantajele metodei lui Newton prin aproximareahessianului cu matricea [2epozitiv iar I matricea identica: I ] , n care reprezinta un factor de regulaw = - e(w 0 )Observatie:O matrice este:a) simetrica, daca A = AT; [2e( )w +I] 1-definita, daca x Tc) singulara, daca nu A-1.n acest conditii x 0, x R n[2e(w )+I] este simetrica si nesingulara chiar dacahessianul e singular. Pe de alta parte, poate fi facut suficient de mic pentru a asigura convergenta rapida a algoritmului.Metoda LevenbergMarquardt reprezinta una din cele mai rapide metode folosite n practica, dar este imposibil de folosit n cazul n care vectorii de antrenament au dimensiuni mari (sute de componente) din cauza cerintelor de memorie si putere de calcul. 2.3 RNA de tip perceptron cu mai multe straturi - 47 -2.3.2.3 Metode de tip cvasiNewtonSe circumscriu n cadrul metodelor de minimizare care folosesc doar informatie provenita din derivata de ordinul I, combinata cu aa numita cautare dupa o linie (line search):w = w 0 + dn care reprezinta pasul iar d directia n care se face cautarea.Observatie: n cazul n care directia de cautare se alege ca fiind negativul gradientului,d = -e( )w 0 , atunci se obtine din relatia de mai sus tocmai algoritmul pailordescendenti (gradientului descendent) folosit n deducerea algoritmului BP standard:-e(w 0 )Ideea care sta la baza metodelor de tip cvasiNewton este aceea de a aproxima H-1 printr-o matrice Hk care sa tina cont doar de informatia obtinuta pe baza derivatelor partiale de ordinul I. Una din cele mai sofisticate metode cvasiNewton este algoritmul BFGS (BroydenFletcherGoldfarbShanno):w ( )k +1 (k ) (k )w= + d k( )k +1 (k ) (k )( ) Fie:Atunci: w(e w - w( )k +1 ) = -H(- e w - ww( ( )k +1 ) = -H(- e w = -H(- e w - ww( ( )k +1 ) = -H(- e w - ww( ( )k +1 ) = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w - ww( ( )k +1 ) = -H(- e w - ww( ( )k +1 ) = -H(- e w = -H(- e w - ww( ( )k +1 ) = -H(- e w - ww( ( )k +1 ) = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w = -H(- e w wk e(k ) ).TH = (I - d k yk ) H TI - yk d k T + d k d kd r yk kkd k yk si rata de nvatare: k +1 T k T d T y= arg =0min - = arg =0min -- H e(w (k ) )]k- 48 - CAP.2 Retele neuronale de tip perceptron2.3.2.4 Metode bazate pe gradientul conjugatConform metodei gradientului (pailor) descendent vectorul directie de-a lungul caruia ajusteaza vectorul pondere, reprezinta negativul vectorului gradientd = -e( )w 0 . Paii succesivi ai acestui algoritm sunt n mod necesar perpendiculari, deoarece:= e d n 1)en nadica noul vector gradient este perpendicular pe vechea directie de cautare (vezi fig.2.3.2.4.1). n consecinta, se urmeaza o traiectorie n zig - zag.a) b)Fig.2.3.2.4.1 Gasirea minimului unei suprafete patratice (centrul elipsei) n cazul pailor descendenti a) si n cazul gradientului conjugat b).O solutie mai buna consta n alegerea noii directii ca un compromis ntre directia gradientului si vechea directie de cautare:1) + (n ) d(w )Aceasta nseamna ca noua directie trebuie astfel aleasa nct sa nu modifice componenta gradientului de-alungul directiei anterioare, care a fost tocmai anulata:adica: 0=w 0 + d (n + )( )1 d(n + )1 = 0n acest caz se spune ca vectorii d(n+1) si d(n) sunt conjugati, de unde si denumirea acestor algoritmi de antrenament. 2.3 RNA de tip perceptron cu mai multe straturi - 49 -Exista mai multe modalitati de alegere a lui :n (n [) (n ) (n )]Tg + 1 g 1+ - gPolak-Ribiere: ( ) = Tg ()n g()nFletcher-Reeves: ()n Tg (n 1+ )+ 1 g= gT ()n g()ne (n )si:d(n ))}Din punct de vedere al rapiditatii convergentei si al complexitatii algoritmului, metoda gradientului conjugat se situeaza ntre metoda gradientului descendent si cea de tip cvasi-Newton.- 50 - CAP.2 Retele neuronale de tip perceptronCAPITOLUL 3Retele neuronale artificiale bazate pe functii radiale3.1 Introduceren cadrul acestui capitol se prezinta o abordare diferita a modului de realizare a unei RNA. Acest proces este vazut de aceasta data ca o problema de aproximare a unei curbe ntr-un spatiu multidimensional. Conform acestui punct de vedere, nvatarea este echivalenta cu gasirea unei suprafete ntr-un spatiu multidimensional care sa se potriveasca cu cea descrisa de datele de intrare. Generalizarea retelelor neuronale bazate pe functii radiale (Radial Basis Function RBF) reprezinta n acest caz capacitatea de interpolare a RNA vizavi de datele de test.Comparativ cu o RNA-MLP, RNA-RBF pot sa solicite mai multi neuroni dar antrenarea acestora necesita mai putin timp dect n cazul perceptronului. Explicatia acestui fapt este urmatoarea: ieirile neuronilor sigmoidali ai stratului ascuns sunt semnificative pentru regiuni largi ale spatiului de intrare n timp ce neuronii bazati pe functii radiale raspund doar la regiuni relativ mici din spatiul de intrare. n consecinta, RNA-RBF se comporta mai bine cnd sunt disponibili multi vectori de antrenament.Modelul unui neuron RBF este prezentat n fig.3.1.1. n acest caz intrarea netaeste consituita din norma diferentei vectoriale ||t - x||. Un exemplu tipic pentru functia2de activare este: ( x) = e - x reprezentata n fig.3.1.2. Se constata ca functia radialaare un maxim daca intrarea e nula. Daca distanta dintre t si x descrete, valoarea ieirii crete. Adica neuronul radial se comporta ca un detector care produce 1 la iesire de fiecare data cnd tiparul de intrare e identic cu vectorul pondere t.O RNA-RBF prezinta structural trei straturi (fig.3.1.3):- stratul de intrare sau stratul senzorial;- 52 - CAP. 3 Retele neuronale artificiale bazate pe functii radialet1 tP1x fy||distanta||Pxb1y = f( ||t - x||b )Fig.3.1.1 Arhitectura unui neuron RBF.2)x =e xxFig.3.1.2 Forma tipica pentru functia de activare radialafffFig.3.1.2 Arhitectura unei RNA-RBF 3.1 Introducere - 53 -- stratul ascuns, care furnizeaza functii care constituie o baza pentru vectorii de intrare; aceste functii poarta denumirea de functii radiale;- stratul de ieire alcatuit din neuroni cu functie de activare liniara. Transformarea spatiului de intrare n spatiul neuronilor ascunsi este neliniara pe cnd transformarea spatiului neuronilor ascunsi n spatiul neuronilor de ieire este liniara. Justificarea acestui aspect se bazeaza pe teorema lui Cover asupra separabilitatii tiparelor [16] care arata ca o problema de clasificare a tiparelor transformata neliniar ntr-un spatiu de dimensiune nalta este cu mult mai probabil de a fi liniar separabila dect ntr-un spatiu cu dimensiuni mai putine.3.2 Problema interpolariiProblema interpolarii poate fi formulata dupa cum urmeaza:Fiind date N puncte diferite {xi R p| i=1,2,...,N} si un numar echivalent de numere reale {di R 1 | i=1,2,...,N} sa se gaseasca functia F : R p R 1 care satisface conditia de interpolare: F(xi) = di, i=1,2,...,N (3.2.1)Tehnica bazata pe functii radiale consta n alegerea functiei F cu urmatoareaforma:Ni =1 iw ( )x - xi (3.2.2)unde {f(||x - xi||) | i = 1,2,...,N} reprezinta o multime de N functii arbitrare, de regula neliniare, cunoscute sub denumirea de functii radiale. Notatia ||.|| semnifica o norma, de regula cea euclidiana. Punctele cunoscute x iR p, i = 1, 2,..., N, reprezinta centrele functiilor radiale.Combinnd (3.2.1) cu (3.2.2) obtinem un set de ecuatii liniare, avnd drept necunoscute coeficientii wi:- 54 - CAP. 3 Retele neuronale artificiale bazate pe functii radiale11 12 L 1N w1 d1 21 22 2 22L N w = d (3.2.3)M M M M M M n care: N 1 N 2 L NN wN d N Fie: ji = (||xj - xi||), j,i = 1, 2 ,..., N (3.2.4)d = [d1, d2, ..., dN]T (3.2.5) w = [w1, w2, ..., wN]T (3.2.6) F = {ji | j, i = 1, 2 ,..., N} (3.2.7)cu F definita ca matrice de interpolare. Se poate scrie atunci:F w = x (3.2.8)de unde: w = F -1d (3.2.9)Rezultatele teoretice si experimentale arata ca alegerea functiei neliniare (.) nu este cruciala pentru performantele ulterioare ale unui RNA RBF. Aceasta poate fi, de exemplu:sau 1 , c( )r 2 + c 2 1 / 2 1 , c( )r 2 + c 2 1 / 2 0, r = 0 (3.2.10) r 2s 2 2 0, r = 0 (3.2.11) 3.3 Strategii de nvatare pentru RNA bazate pe functii radiale - 55 -3.3 Strategii de nvatare pentru RNA bazate pe functii radialeExista mai multe metode de antrenament ale RNA-RBF, deosebirea ntre ele constnd n metoda de alegere a centrilor functiilor radiale. Metoda bazata pe creterea reteleiInitial stratul ascuns nu are nici un neuron. Dupa fiecare epoca, vectorul de intrare pentru care se obtine cea mai mare eroare la nivelul stratului de ieire este folosit pentru crearea unui nou neuron prin egalizarea ponderilor acestuia cu vectorul de intrare. Se calculeaza apoi ponderile stratului liniar. Daca se ajunge la eroarea(performanta) dorita sau daca se atinge un numar maxim de neuroni pentru stratul ascuns, procesul de antrenament va fi ncheiat. Metoda centrilor fici, alei aleatorReprezinta una dintre cele mai simple abordari si presupune functii radiale fixe care definesc functiile de activare ale stratului ascuns. Locatiile centrilor functiilor sunt alese aleator dintre vectorii de intrare. Pentru functiile radiale se prefera un Gaussian izotropic:MiG ( ) M2x - t = - 2222 x - t 2 , ,2 ... (3.3.1)n care M reprezinta numarul centrilor iar d distanta maxima dintre acetia. n acest caz, deviatia standard pentru toate functiile va fi aceeai:=s d2M (3.3.2)Pentru determinarea ponderilor stratului liniar de ieire se foloseste metoda pseudoinversei [17]:- 56 - CAP. 3 Retele neuronale artificiale bazate pe functii radiale w = G+ d (3.3.3)cu G+ fiind pseudoinversa matricii G:G = {gji} (3.3.4)cu=g - Md x - t 2 , i jM ,2 ... N (3.3.5)j2Conform teoremei decompozitiei valorilor singulare, pseudoinversa matricii G este definita astfel:G+ = V S+ UT (3.3.6)n care S+ este ea nsasi o matrice N x N constituita din valorile singulare ale lui G: 1 , 1 ,..., 1 ,...,0 0 (3.3.7)s1 s 2 s k Metoda selctiei autoorganizate a centrilorn cadrul acestei abordari este permisa deplasarea locatiei centrilor functiilor radiale ntr-o maniera autoorganizata, n timp ce ponderile stratului liniar de ieire sunt calculate ntr-o maniera supervizata. Componenta autoorganizanta permite alocarea resurselor RNA astfel nct centrii functiilor radiale vor fi plasati doar n regiuni semnificative ale spatiului de intrare. Pentru selectia autoorganizata a centrilor se poate folosi metoda celor mai apropiati k vecini iar pentru nvatarea supervizata se poate folosi un algoritm bazat pe corectia erorilor (de exemplu LMS).Exemplul 3.1 RNA-RBF au fost folosite cu succes n deosebi la problemele de aproximare/interpolare [18] si predictie [19] a functiilor. n continuare este demonstrata capacitatea unei astfel de retele de a aproxima functia f(x) = sin(x)+cos(x): 3.3 Strategii de nvatare pentru RNA bazate pe functii radiale - 57 -%Exemplu de implementare a unei RNA-RBF%pentru cazul interpolarii functiilor%Catalin-Daniel Caleanu, 2000clear alleg = 0.02; % eroarea MSE doritasc = 1; % marimea camplului receptiv al functiilor radialeP=0:pi/4:2*pi; %definirea tiparului de intrareT=sin(P) + cos(P); %definirea tiparului de iesire%(punctele de intrepolare)net=newrb(P,T,eg,sc); %crearea RNA-RBFtest=0:pi/32:2*pi; %definirea suportului pentru punctele de testy=sin(test) + cos(test); %calculul valorilor functiei originale z=sim(net,test); %calculul valorilor obtinute prin interpolare%reprezentarea grafica a rezultatelor plot(test,z)hold on plot(test,y,'r--') plot(P,T,'+')hold off1.510.50 functie aproximatafunctie originala puncte de antrenament-0.5-1-1.50 1 2 3 4 5 6 7Fig.3.3.1 RNA-RBF folosita la aproximarea functiilor- 58 - CAP. 3 Retele neuronale artificiale bazate pe functii radialen concluzie se poate afirma ca RNA-RBF reprezinta o solutie alternativa n special n problemele ce presupun interpolarea, aproximarea sau predictia functiilor. De mentionat nsa si posibilitarea folosirii lor n probleme de clasificare.CAPITOLUL 4Retele neuronale artificiale recurente4.1 Introduceren acest capitol se prezinta o alta clasa importanta de RNA si anume aceea aRN cu structura recurenta. RNA recurente sunt caracterizate de:- unitati de procesare neliniare;- simetria conexiunilor sinaptice (wji = wij);- folosirea intensiva a feedback-ului .Din aceasta categorie fac parte RNA Boltzmann (RNA-B) si RNA Hopfield(RNA-H), cea din urma fiind detaliata n cele ce urmeaza, dezvoltarea acestora fiind inspirata din fizica statistica si termodinamica.4.2 RNA de tip Hopfield (RNA-H)Poate fi vazuta ca o memorie asociativa sau ca o memorie adresabila prin continut, a carei functie principala este regasirea tiparelor stocate n memorie, ca raspuns la prezentarea unui tipar incomplet sau contaminat cu zgomot. Esenta memoriilor adresabile prin continut consta n transformarea tiparelor n stari stabile s ale sistemului dinamic (proces de codare) si invers (proces de decodare).Fiecare neuron, de tip McCulloch-Pitts, al RNA-H (fig.4.2.1) este caracterizat prin una din cele doua stari posibile: activ (si = 1) , respectiv inactiv (si = -1).Starea unei RNA-H alcatuita din N neuroni este definita de catre vectorul:s = [s1, s2, ..., sN]T (4.2.1) Potentialul intern al unui neuron j este:Njv = w ji si - ji =1 (4.2.2)- 60 - CAP.4 Retele neuronale artificiale recurenten care j reprezinta pragul neuronului.Fig.4.2.1. Arhitectura unei RNA-H cu 3 neuroni.Neuronul j i modifica starea conform regulii:,1 dac v j > 0js,1dac v 0 (4.2.3) 1Se poate scrie atunci: > ... > j > ... > p 1-n care: RU = U (5.2.2.15)U = [u0,, uj,, up-1] = diag[0,, j,, p-1]Ecuatia 5.2.2.15 poate fi rescrisa astfel :U T RU = sau ntr-o forma explicita : (5.2.2.16)Tu j Ruk j ,= ,0 =k jk j (5.2.2.17).1Valoarea practica a metodei analizei componentelor principale este legata de reducerea dimensionalitatii datelor.Vectorul x poate fi reconstruit din proiectia sa dupa cum urmeaza: 5.2. RNA cu autoorganizare si algoritm de nvatare de tip hebbian - 69 -p -1x = Ua = a j u jj =0 (5.2.2.18)Vom putea reduce numarul trasaturilor necesare pentru o reprezentare efectiva a datelor renuntnd la combinatiile liniare din ecuatia 5.2.2.18 care au varianta redusa si mentinndu-le pe acelea pentru care varianta are valori mari:m -1x ' = j =0 a j u j m, < p (5.2.2.19)n concluzie, pentru a realiza reducerea dimensionalitatii datelor de intrare calculam valorile si vectorii proprii pentru matricea de corelatie a datelor de intrare, iar apoi proiectam datele ortogonal ntr-un subspatiu definit de vectorii proprii corespunzatori celor mai mari valori proprii . Aceasta metoda de reprezentare a datelor este cunoscuta sub denumirea de decompozitie subspatiala [23].5.2.3 Analiza componentelor principale prin retele neuronale cu autoorganizareSe poate arata relativ simplu ca vectorul ponderilor sinaptice w(n) al unei RN liniare care folosete o regula de nvatare de tip hebbian (5.2.1) converge cu probabilitatea 1 spre un vector unitate corespunzator directiei vectorului propriu al matricei de corelatie de valoare maxima.Ecuatia 5.2.1.5 se poate rescrie astfel :(w n)] (5.2.3.1)(w n) = wT (n) x(n) relatia de mai sus devine:(n) xT (n) (w n) -(w n)] (5.2.3.2)Acest algoritm este stabil asimptotic n sensul n care solutia ecuatiei (5.2.3.2)converge spre un punct fix stabil, pe masura ce n tinde la infinit:- 70 - CAP.5 Retele neuronale cu autoorganizare(w n) q0 , pentru n 8 (5.2.3.3)E ])-= relatia 5.2.3.2 obtinem:T (5.2.3.4)0 Rq0 (q0 Rq0 )q0n care R reprezinta matricea de corelatie a vectorului de intrare x(n):R = [E x(n) xT (n)] (5.2.3.5)Valoarea asimptotica medie q0 a vectorului ponderilor satisface la echilibru relatia:unde: Rq0 = 0 q0 (5.2.3.6)0 = Tq0 Rq0 (5.2.3.7)Deducem ca q0 este un vector propriu al matricii R. Fie q0 ,q1 ,, qp-1 vectorii proprii ai matricii de corelatie R. Ecuatia (5.2.3.4) este satisfacuta de oricare dintre aceti vectori, dar doar q0 corespunzator celei mai mari valori 0 = max reprezinta o solutie stabila [5].Putem concluziona deci ca modelul neuronului liniar la care ponderile sunt modificate dupa o lege de tip hebbian (5.2.1.5) sau echivalent (5.2.3.1) tinde sa extraga prima componenta principala din vectorul de intrare stationar, corespunzator celei mai mari valori proprii pentru matricea de corelatie a vectorului de intrare [20].5.2.3.1 Algoritmul hebbian generalizatn continuare se va prezenta succint algoritmul hebbian generalizat (GHA, Generalized Hebbian Algorithm) propus de Sanger [24] n 1989 precum si o generalizare a acestuia denumit algoritm hebbian generalizat pentru domeniul complex(CGHA, Complex Domain Generalized Hebbian Algorithm ) prezentata de Y. Ma siY. Zhang [25] n 1997. 5.2. RNA cu autoorganizare si algoritm de nvatare de tip hebbian - 71 -Prin intermediul algoritmului GHA vectorii proprii ai matricii de corelatie a datelor de intrare pot fi dedusi iterativ cu ajutorul unei RN cu un singur strat liniar(fig.5.2.3.1.1).X-y1W1 -y2W2 -yMWMW1 W1 W1Fig.5.2.3.1.1 Reteaua pentru implementarea GHA sau CGHAPresupunem vectorul de intrare de forma :X=[x1, x2,xN]T (5.2.3.1.1) Primii M vectori proprii ai matricii de corelatie Rxx=E[XXT], ordonati n maniera descrescatoare a valorilor proprii sunt furnizati de urmatorii vectori coloana :w... T1N ] (5.2.3.1.2)w... T2 N ] (5.2.3.1.3)...........w... T MN ] (5.2.3.1.4)Principala problema a algoritmului GHA este gasirea ponderilor Wj(j=1,2,M). Pentru aceasta se initializeaza Wj cu valori aleatoare dupa care ponderile vor fi modificate astfel:1) = W j (n) +(n) y j (n)[ X (n) -- y j (n W)n care n reprezinta indexul iteratiilor si i < j i < j iW (n)] (5.2.3.1.5)- 72 - CAP.5 Retele neuronale cu autoorganizare(n)y j = W T (n) x(n)j (5.2.3.1.6)Sanger arata ca Wj converge spre componenta de ordinul j a vectorului propriu al Rxx . Ma si Zhang [25] observa ca algoritmul este restrns doar la domeniul real sipropun algoritmul CGHA capabil sa prelucreze date din domeniul complex (de exemplu, datele obtinute de la o matrice de senzori sunt transformate prin eantionare n cuadratura n marimi complexe). n acest caz modificarea ponderilor se va face dupa o regula asemanatoare cu cea de la GHA:[conj) - y j (n)][ X (n) -YJ (n) iW (n)] , j=1,2,M (5.2.3.1.7)i < jn care conj[yj(n)] este conjugata complexa a lui(n)y j = W H (n) X (n)j (5.2.3.1.8)unde H reprezinta hermitianul transpus.5.2.3.2 Algoritmul APEXAPEX (Adaptive Principal Component Extraction) este un algoritm pentru calculul recursiv al componentelor principale propus de catre Kung si Diamantoros[26]. El se bazeaza pe observatia ca prin utilizarea unei RNA care folosete, pe lnga conexiuni feedforward si conexiuni laterala, cu neuroni interactionnd ntr-o maniera anti-hebbiana, ieirile neuronilor corespunzatori stratului de ieire vor defini un sistem de coordonate necorelat chiar daca semnalele aplicate la intrare sunt puternic corelate. n fig.5.2.3.2.1 este prezentat modelul unei RNA care implementeaza acest algoritm. 5.2. RNA cu autoorganizare si algoritm de nvatare de tip hebbian - 73 -0y1yx1 aj0x2aj1xp-1yjFig. 5.2.3.2.1 RNA cu conexiuni laterale care implementeaza algoritmul APEXEtapele algoritmului APEX sunt urmatoarele:a) Initializarea vectorului ponderilor sinaptice feedforward wj si vectorului ponderilor feedback aj cu valori aleatoare mici. Atribuirea unei valori pozitive ratei de nvatare ; b) Fie j=0 si pentru n = 1,2,, se va calcula:0wT (n) x(n)= (w n) + 2 (n)]w0n care cu x(n) s-a notat vectorul de intrare.Pentru valori mari ale lui n avem:w0 (n) q0unde q este vectorul propriu asociat celei mai mari valori proprii ale matricii de corelatie a lui x(n).c) Fie j =1 si pentru n=1,2, se calculeaza:- 74 - CAP.5 Retele neuronale cu autoorganizareT= 1y (n),...y j 1- (n)]T Tjy = w j (n) x(n) + a j (n) y j 1- (n)+jj ++ )1 w= j (n) y[+ j (n) x(n) - y 2 wj j (n)]ja n +n + )1 = a j n( ) [- y j n( ) y j 1- n( ) 2 (+ y j )n a j n( )]d) Se incrementeaza j cu o unitate si se continua cu pasul c) pna la j = m-1, cu mreprezentnd numarul componentelor principale dorite. Pentru n suficient de mare avem:w j (n) q ja j (n) 0unde qj este vectorul propriu asociat cu cea de-a j valoare proprie a matricii de corelatie a lui x(n).5.2.3.3 Analiza neliniara a componentelor principaleMotivatia folosirii unor tehnici de analiza neliniara (NPCA) a componentelor principale consta n faptul ca dei PCA standard este optima n aproximarea datelor de intrare (n sensul erorii patratice medii), reprezentarea furnizata nu este ntotdeauna cea mai buna n descrierea unor caracteristici fundamentale ale datelor de intrare. RNA pentru PCA reprezinta datele ntr-o baza ortonormala determinata de proprietati statistice de ordinul 2 (covariante) ale datelor de intrare. RNA care implementeaza NPCA au avantajul de a putea extrage proprietati statistice de ordin superior celor extrase de PCA.Pentru implementarea acestor RNA a fost propusa adaugarea, la modelul unui neuron, a unor functii de activare de tip sigmoidal, deci a unei functii neliniare. Astfel de ncercari au fost facute de Oja [27] sau mai recent de Karhunen si colectiv [28] care propune urmatoarea structura de RNA (fig. 5.2.3.3.1). Algoritmul propus, denumit ICA (Independent Component Analysis) va fi prezentat succint n continuare. 5.2. RNA cu autoorganizare si algoritm de nvatare de tip hebbian - 75 -Presupune parcurgerea a trei etape:QV WTx x'v yFig.5.2.3.3.1 RNA pentru ICAa) Preprocesarea datelor de intrarenainte de aplicarea vectorilor de date xk se scade media acestora din fiecare xk. Urmeaza o procedura de obtinere a unor date albe, folosind metode PCA standard care efectueaza simultan o compresie optima a informatiei n sensul erorii patratice medii si o filtare a zgomotului gaussian; matricea acestei transformari este data de relatia :V = D -12 E T (5.2.3.3.1)unde D este matricea diagonala M M , D = diag [ ( ),...,1 (M )] si E o matriceL M , E = [c( ),...,1 c(M )] cu (i) semnificnd a "i" cea mai mare valoare propriea matricii de covarianta { T }b) Separarea datelor E xk xk si c(i) respectiv al "i" cel mai mare vector propriu.Calculul matricii de separatie TWk , o matrice de separatie ortogonalaM M , reprezinta partea cea mai dificila a algoritmului ICA. Autorii propun urmatoarea solutie pentru determinarea W: calculul W prin metoda algoritmului bigradient [29]:T TWk 1+ = Wk +kVk g ( yk ) + kWk (I -Wk Wk ) (5.2.3.3.2)- 76 - CAP.5 Retele neuronale cu autoorganizaren care g(.) este o functie neliniara, iar k o constanta uzual ntre 0,51. c) Estimarea vectorilor bazaAlgoritmul neuronal pentru determinarea matricii ponderilor Q este:Qk 1+ T= Qk +k ( xk - Qk yk ) yk (5.2.3.3.3)Coloanele matricii ponderilor Q devin estimari ale vectorilor baza pentru algoritmul ICA daca eroarea patratica medie E{||x - Qy||2} este minimizata cu constrngerea asupra componentelor vectorului y care trebuie sa fie statistic mutual independente.5.3 Retele neuronale cu autoorganizare si nvatare de tip competitivCaracteristica principala a acestor retele neuronale este legata de modul competitiv de nvatare n sensul n care, la un anumit moment, doar un singur neuron al stratului de ieire (sau doar unul dintr-un grup de neuroni) este activat. Astfel, neuronii stratului de ieire sunt permanent n competitie, de unde si denumirea de unitati tip nvingatorul ia totul (winner take-all).RNA cu autoorganizare si nvatare de tip competitiv, cunoscute si sub denumirea de harti de trasaturi cu autoorganizare (SOFM, Self-Organising Feature Map) au neuronii stratului de ieire dispusi n straturi uni sau bidimensionale (rar sunt ntlnite si structuri multidimensionale ale stratului de ieire), iar acetia sunt selectiv acordati pentru a raspunde tiparelor aplicate la intrarea retelei neuronale.Se remarca tendinta de formare a unor harti topologice ale tiparelor aplicate la intrare n sensul n care locatiile spatiale ale neuronilor stratului de ieire corespund trasaturilor intrinseci ale tiparelor de intrare. Cu alte cuvinte, exista o strnsa corelatie ntre clasa sau tipul vectorului de intrare si pozitia geometrica a neuronului care va fi activat, astfel nct la tipare asemanatoare aplicate la intrare vor fi activi neuroni5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 77 -nvecinati, situati n aceeai regiune a hartii topografice.Modelul pentru acest tip de RNA este inspirat din cercetarile privitoare la activitatea cerebrala si rolul diverselor arii corticale. Prin mijloace care pun n evidenta activitatea si distributia spatiala, simultan pentru toti neuronii apartinatori unei anumite zone a creierului, s-a pus n evidenta existenta hartilor topologice n creier; dintre acestea enumeram doar cteva:- harta retinotopica (de la retina la cortexul vizual);- harta somatosenzitiva (de la piele la cortexul somatosenzitiv);- harta tonotopica (de la ureche la cortexul auditiv).Considernd, spre exemplu, cazul hartilor tonotopice, s-a pus n evidenta o corespondenta topologica ntre frecventa sunetului perceput si pozitia spatiala a neuronului activat de catre acesta.5.3.1 Retele neuronale cu autoorganizare si nvatare competitiva simplaReprezinta cel mai simplu caz de RNA cu nvatare de tip competitiv. Este alcatuita (fig.5.3.1.1) dintr-un singur strat de ieire unidimensional yj, fiecare dintre neuronii acestui strat fiind total conectat la neuronii ce formeaza stratul de intrare xi, prin intermediul unor ponderi (conexiuni excitatorii) wji. Sa consideram cazul unor marimi de intrare/ieire binare. Aa cum s-a mentionat anterior, doar un singur neuron, ctigatorul competitiei, poate fi activ (pe 1 logic) la un moment dat.Considernd intrarea neta a unui neuron ca fiind:jI = i w ji xi = w j x (5.3.1.1)atunci neuronul cu intrarea neta cea mai mare va fi desemnat ctigator al competitiei pentru vectorul de intrare curent, x.- 78 - CAP.5 Retele neuronale cu autoorganizarex1 xNFig.5.3.1.1 RNA cu nvatare competitiva simplaDe aceea:j (5.3.1.2)n care j * reprezinta unitatea ctigatoare cu .1y j* = Daca ponderile pentru fiecareneuron sunt normalizate astfel nct, sa spunem jw = 1 pentru toti j, atunci (5.3.1.2)este echivalenta cu:w j j (5.3.1.3)Altfel spus, unitatea ctigatoare a competitiei este cea care are vectorul pondere normalizat cu distanta cea mai mica fata de vectorul aplicat la intrare.Mecanismul ctigatorul ia totul este implementat de regula soft, prin calculul marimii Ij maxime; uneori el poate fi realizat si cu ajutorul unor conexiuni laterale inhibitorii si excitatorii. Astfel neuronii stratului de ieire se inhiba reciproc si si ntaresc pozitia de ctigatori prin autoexcitare.Algoritmul de antrenament ncepe prin initializarea ponderilor sinaptice cu valori aleatoare mici. Se aplica tiparul x la intrare si este desemnata unitatea ctigatoare conform relatiilor (5.3.1.2) sau (5.3.1.3). Ponderile asociate neuronuluictigator vor fi modificate astfel nct vectorul w j* sa fie si mai apropiat de tiparul5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 79 -prezentat la intrare, x. Exista mai multe modalitati de implementare ale acestui deziderat. Una din solutiile posibile, cunoscuta si sub denumirea de regula de nvatare competitiva standard [6], este:w j* = ( x - w j* ) (5.3.1.4)O analogie geometrica a procesului de nvatare descris anterior este prezentata n fig.5.3.1.2. Sa consideram vectorul de intrare x ca fiind tridimensional x = [x1, x2, x3].R Putem reprezenta directia fiecarui x printr-un punct situat pe suprafata uneisfere; la fel si pentru vectorul wj daca ei sunt normalizati ( w j = 1 ). n fig.5.3.1.2 a)este nfatisata o posibila distributie initiala a vectorilor pondere (marcati prin "x") si a multimii tiparelor aplicate la intrare (marcate prin puncte). In fig.5.3.1.2 b) se prezinta situarea vectorilor pondere dupa un numar de epoci de antrenament. Se observa migrarea vectorilor pondere spre centrul de greutate al grupurilor (clustere) identificate n setul de vectori de intrare.xx xxxxa) b)Fig.5.3.1.2 Procesul de nvatare competitiva poate fi ilustrat prin migrarea vectorilor pondere (marcati prin "x") spre grupari (clustere) ale vectorilor de intrareProcesul de antrenament poate fi vazut si ca o modalitate de minimizare a unei functii de cost (functie Lyapunov):{ } 1 ( 2)2) 1 (E w ji = 2 M j ji ix - w ji = 2 x - w j* (5.3.1.5)- 80 - CAP.5 Retele neuronale cu autoorganizaren care M i reprezinta matricea de apartenenta la grup (cluster) si care specifica dacatiparul de intrare x activeaza sau nu unitatea i: ,1j ,0 daca j =altfel j * () (5.3.1.6)iar reprezinta indexul tiparului aplicat la intrare.Metoda gradientului descendent aplicata functiei de cost (5.3.1.5) conduce la:E = -ji w ji M j ( x j w ji ) (5.3.1.7)Se observa identitatea relatiei de mai sus cu regula de modificare a ponderilor data de metoda de nvatare competitiva standard.Exemplul 5.1 n acest exemplu va fi prezentata modalitatea de implementare a unei retele neuronale cu nvatare competitiva. Ea este caracterizata prin existenta unui singur strat de ieire unidimensional si deci poate fi folosita cu succes n probleme de clasificare a datelor.%Exemplu de implementare a unei retele neuronale%cu invatare de tip competitiv%Catalin-Daniel Caleanu, 1999clear all;%definirea vectorului de antrenament PX = [-1 1;-1 1]; %Definirea limitelor in care vor fi situate centrele clusterelor clusters = 5; %Numarul clusterelorpoints = 20; %Numarul de puncte aferent fiecarui cluster std_dev = 0.07; %Deviatia standard a datelorP = nngenc(X,clusters,points,std_dev);%implementarea retelei neuronale cu invatare competitiva,%cu doua intrari in gama -1...1 si un strat de iesire unidimensional5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 81 -%format din 5 neuroni net=newc([-1 1;-1 1],5);%reprezentarea grafica a setului de date de antrenament si a%pozitiei initiale a ponderilor sinaptice net=init(net);w=net.IW{1}; plot(P(1,:),P(2,:),'+r'); hold on; plot(w(:,1),w(:,2),'ob'); figurehold off;%etapa de antrenament net.trainParam.epochs=1000; net=train(net,P);%reprezentarea grafica a setului de date de antrenament si a%pozitiei finale a ponderilor sinaptice w=net.IW{1};plot(P(1,:),P(2,:),'+r'); hold on; plot(w(:,1),w(:,2),'ob');%clasificarea a trei tipare de test p=[-1 1 0;-1 1 0];Y = sim(net,p) Yc = vec2ind(Y)Dupa rularea acestui program vor fi reprezentate (vezi fig.1si fig.2) dispunerea spatiala a datelor de antrenament precum si a vectorilor pondere, nainte si dupa antrenament. Se poate observa migrarea vectorilor pondere nspre centrele clusterelor de date. Aceasta nseamna ca neuronii stratului de ieire au nvatat sa raspunda- 82 - CAP.5 Retele neuronale cu autoorganizareselectiv la tiparele aplicate la intrare.n final sunt aplicati 3 vectori de test (vezi matricea p) pe care reteaua neuronala i clasifica n functie de distanta euclidiana a lor fata de vectorii pondere nvatati. Ieirea retelei neuronale va arata astfel:Y = (1,1) 1 (5,2) 1 (4,3) 1Yc = 1 5 4Adica cele 3 tipare aplicate apartin de clase diferite (clasa 1, 5 respectiv 4).0.80.60.40.20-0.2-0.4-0.6-1 -0.5 0 0.5 1Fig.5.3.1.3 Dispunerea spatiala a tiparelor de antrenament si pozitia initiala a vectorilor pondere0.80.60.40.20-0.2-0.4-0.6-1 -0.5 0 0.5 1Fig.5.3.1.4 Dispunerea spatiala a tiparelor de antrenament si pozitia finala a vectorilor pondere5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 83 -5.3.2 Retele neuronale cu autoorganizare tip harta de trasaturiExista mai multe metode de realizare a unei RNA destinate reprezentarii trasaturilor datelor aplicate la intrare (SOFM, Self-Organizing Feature Map). Ne vom referi n continuare la doua dintre cele mai importante:Prima metoda folosete algoritmul de nvatare competitiv standard, iar n plus, se introduc conexiuni laterale ntre neuronii stratului de ieire. Ponderile asociate conexiunilor laterale variaza n functie de distanta dintre neuroni dupa a a numita forma a palariei de mexican (fig.5.3.2.1). Putem distinge doua zone distincte ale fig.5.3.2.1: zona nvecinata neuronului considerat, caracterizata prin existenta ponderilor sinaptice excitatorii si o zona ndepartata ce se manifesta prin ponderi inhibitorii.valoarea ponderilor conexiunilor laterale+ +-- distanta dintre neuroniFig.5.3.2.1 Variatia ponderilor conexiunilor laterale n functie de distanta dintre neuroniReteaua neuronala descrisa mai sus prezinta n functionare doua caracteristici importante :- ea tinde sa-si concentreze activitatea neuronala n grupuri locale, cunoscute si sub denumirea de bulbi [30];- localizarea spatiala a acestor bulbi este determinata de natura semnalelor aplicate la intrare.- 84 - CAP.5 Retele neuronale cu autoorganizaren acest caz raspunsul neuronului j se poate scrie:kk =-K ,...,2 N (5.3.2.1)n care f reprezinta functia de activare (de regula o functie neliniara) a unui neuron dinstratul de ieire, Ij intrarea neta a neuronului (I j p= l 1= w jl xl ) , iar cjk ponderilelaterale ale neuronului j, p numarul total al intrarilor RNA, N numarul total de neuroni din stratul de ieire.Solutia sistemului neliniar se va gasi iterativ:Kk =-K ,...,2 N (5.3.2.2)n care parametrul controleaza rata de convergenta a procesului.A II-a metoda, cunoscuta sub denumirea de algoritmul Kohonen, nu folosete conexiuni laterale tip palarie de mexican; efectul produs de acestea se obtine prin modificarea ponderilor tinnd cont de relatiile de vecinatate dintre neuronii stratului de ieire. De regula acest algoritm se aplica unei retele ca cea din fig. 5.3.2.2. Paii algoritmului sunt urmatorii [30]:).0 Singura0) sa fie diferite pentru j = 1, 2,, N, unde N reprezinta numarulde neuroni din startul de ieire;b) Aplicarea tiparului de intrare x.c) Identificarea neuronului ctigator i(x) al competitiei la pasul n folosind criteriul distantei euclidiene minime:,2 ..., N (5.3.2.3)5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 85 -Stratul neuronilor de ieire1wx1 x2 xN wNStratul neuronilor de intrareFig. 5.3.2.2 Arhitectura unei RNA-SOFM 2D.d) Modificarea ponderilor. Se face ntr-o maniera hebbiana, dar spre deosebire de acesta, este introdus un termen - g ( y j )w j (forgetting term) care sa previna saturareaponderilor (vezi 5.2.1, ec.5.2.1.2). Singura conditie impusa functiei g ( y j ) este :j (5.3.2.4)Cu aceasta precizare, ecuatia diferentiala pentru adaptarea ponderilor devine :dwdt j j j jj j jj j jj j ,2 ..., N (5.3.2.5)n care reprezinta rata de nvatare.Fiescrie atunci: i ( x ) (n) vecinatatea topologica a neuronului nvingator i(x). Se poate1, daca neuronul j e activ (in interiorul i( x ) )si: jy = 0, daca neuronul j nu e activ (in exteriorul i( x ) ) (5.3.2.6)a, daca neuronul j e activ (in interiorul i( x ) )g ( y j ) = 0, altfel (5.3.2.7)- 86 - CAP.5 Retele neuronale cu autoorganizaredw j x -a w j , daca neuronul j e activ= (5.3.2.8)dt 0, altfelUtiliznd formalismul discret putem scrie:w j (n) +( ji( x ) )(n + )1 = w j w j n njj nn ,) altfel (5.3.2.9)De remarcat faptul ca att (n) ct si i(x) au un comportament dinamic. Fie dj, i distanta euclidiana laterala a neuronului j fata de neuronul nvingator i. Fie pj, i amplitudinea vecinatatii topologice centrata n jurul neuronului nvingator i. De regula are aspectul unui gaussian, cf. fig..5.3.2.3.2,p = exp(- d j ,i )ij 22 (5.3.2.10)pj, idj, iFig. 5.3.2.3 Functia vecinatate a unui neuronTinnd cont de aceste aspecte, ec.5.3.2.9 poate fi rescrisa astfel :1) = w j (n) +(n)j ,i ( x ) (n)[x(n) - w j (n)] (5.3.2.11)Pentru (n),s(n) se propun [31] urmatoarele legi de variatie:(n ) = b -n 0 (5.3.2.12)(s n) s= 0 c -n (5.3.2.13)Larg folosite sunt si formulele:5.3 RNA cu autoorganizare si algoritm de nvatare de tip competitiv - 87 -n n (5.3.2.14)exp t- 1 n n (5.3.2.15)exp - t 2 1n care 0 ,s 0 , b, c sunt constante, t1 ,t 2 , constante de timp, =maxT cu Tmaxreprezentnd numarul maxim de pasi ai algoritmului .Procedura se repeta cu pasul b) de un numar de ori specificat apriori sau pnacnd nu se mai nregistreaza schimbari notabile n harta de trasaturi .5.3.3 Algoritmi SOFM mbunatatitiO problema serioasa a algoritmilor de nvatare de tip competitiv este faptul ca ei conduc adesea la solutii n care mai multi neuroni ai retelei sunt utilizati rar sau chiar deloc. De exemplu, daca o anumita regiune a spatiului de intrare este cu mult mai populata dect altele, iar densitatea initiala a vectorilor pondere este prea mica pentru acea regiune, doar anumiti neuroni vor iei n mod constant nvingatori.Algoritmul Kohonen clasic ncearca sa depaseasca aceasta problema prin folosirea vecinatatilor topologice, dar nu ntotdeauna cu succes [30].Se vor prezenta, pe scurt, trei noi abordari care ncearca sa elimine problema mai sus mentionata. Metoda combinatiei convexe (SOFM_CV, Convex Combination)Conform acestei metode metode [31] toate ponderile sunt initializate cu1valoarea , n care n este dimensiunea vectorului de intrare. Apoi, fiecaren- 88 - CAP.5 Retele neuronale cu autoorganizarecomponenta xi a vectorului de intrare este substituita prin a xi + 1 -a , unde a estenmodificat gradual, de la zero la unu, oferind posibilitatea vectorilor de intrare sa atragafoarte ncet, treptat, vectorii pondere. Algoritmul SOFM cu contiinta (SOFM-C, Conscience Algorithm)n cazul acesta, pentru fiecare neuron se monitorizeaza numarul de ori pentru care a iesit ctigator al competitiei. Notiunea de constiinta provine de la faptul ca un neuron care ctiga prea des competitia se simte vinovat si i va micora sansele de a mai ctiga n viitor competitia.Paii acestui algoritm sunt urmatorii [32]:a) Gasirea vectorului sinaptic wi cel mai apropiat de vectorul de intrare x:jjj j jj j ,2 ..., N (5.3.3.1)b) Calculul numarului pj de ori de care un neuron a ctigat competitia:unde 0