Retele neurale - Despre autori ^ncep^nd cu anul universitar...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Despre autori ^ncep^nd cu anul universitar 1992/1993, Razvan Andonie a predat un curs Ia de Retele neurale la Universitatea "Transilvania", specializarile Electronica si calculatoare, Electrotehnica, Informatica. Acelasi curs l-a predat la Universitatea Texas din San Antonio, SUA, ^n anul universitar 1999/2000. Angel Cataron a facut parte din prima generatie de absolventi care au frecventat acest curs. ^n perioada 1997-1999, el a predat cursul de Retele neurale la I Universitatea "Transilvania", specializarea Electronica si calculatoare. Pe l^nga a aceasta, el este coordonatorul orelor de laborator pentru acest curs si este doctorand ^n domeniul retelelor neurale. Prefata Chiar daca acest material este suportul cursului de Retele neurale, de-a lungul timpului acest curs a ^nceput sa contina capitole noi, la interferenta retelelor neurale cu sistemele fuzzy si algoritmii genetici. Aceasta este ^n concordanta cu tendintele actuale ^n lume. De aceea, am preferat denumirea de inteligenta computationala. Inteligenta computationala, asa cum a fost de nita de Bezdek1 , are ca obiectiv modelarea inteligentei biologice. Din acest punct de vedere, ea este similara domeniului numit inteligenta arti ciala. Spre deosebire de inteligenta arti ciala, care este bazata pe notiunea de cunostinta, inteligenta computationala este o modelare numerica a inteligentei biologice. Putem vorbi deci de trei tipuri de "inteligenta": biologica, arti ciala si computationala. Inteligenta computationala este formata din urmatoarele subdomenii: retele neurale, algoritmi genetici, programare evolutionara, sisteme fuzzy, viata articiala. ^n contextul inteligentei computationale, toate aceste subdomenii sunt I legate de modelarea numerica a inteligentei biologice. Acest curs acopera majoritatea subdomeniilor inteligentei computationale. Fiecare capitol ofera, pe l^nga informatii teoretice, c^te o sectiune de aplicatii, a a urmata de un set de exercitii, cele marcate prin (C) ind destinate implementarii pe calculator. Bezdek, J. "On the Relationship Between Neural Networks", Pattern Recognition and Intelligence, Int. J. Approximate Reasoning, 6, 85-107, 1992. 1 3 4 Cuprins 1 Preliminarii ^n calculul neural 9 1.1 Calculul neural: exemple . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 Istoricul dezvoltarii retelelor neurale . . . . . . . . . . . . . . . . . 17 1.3 Viitorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Concepte fundamentale 2.1 2.2 2.3 2.4 2.5 2.6 Neuronii biologici si modelele lor arti ciale Modelarea retelelor neurale . . . . . . . . . ^nvatare si adaptare . . . . . . . . . . . . . I Reguli de ^nvatare . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clasi care . . . . . . . . . . . . . . . . . . . . Functii discriminant . . . . . . . . . . . . . . Clasi catori liniari . . . . . . . . . . . . . . . Perceptronul discret ca dihotomizator liniar . Perceptronul continuu ca dihotomizator liniar Teorema de convergenta a perceptronului . . . Retele monostrat de perceptroni . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Perceptroni monostrat 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 Retele neurale feedforward multistrat 4.1 Clasi carea pattern-urilor liniar neseparabile . . . . . . . . . . . . . . . . . 4.2 Regula de ^nvatare delta . . . . . . . . . . 4.3 Regula delta generalizata . . . . . . . . . . 4.4 Algoritmul de instruire backpropagation . 4.5 Factori ai ^nvatarii . . . . . . . . . . . . . 4.6 Aproximatori universali . . . . . . . . . . . 4.7 Teorema lui Kolmogorov si retelele neurale 4.8 Aplicatii . . . . . . . . . . . . . . . . . . . 4.9 Exemple . . . . . . . . . . . . . . . . . . . 5 19 19 26 31 32 40 48 53 53 55 56 59 63 66 68 69 76 79 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 80 84 87 89 92 94 95 96 CUPRINS 6 4.10 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5 Retele neurale feedback monostrat 5.1 5.2 5.3 5.4 5.5 Retele Hop eld cu timp discret . . . Retele Hop eld cu timp continuu . . Aplicatie: problema comis-voiajorului Exemple . . . . . . . . . . . . . . . . Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Memorii asociative 6.1 6.2 6.3 6.4 6.5 6.6 Concepte de baza . . . . . . . . . . . . . . Asociatori liniari . . . . . . . . . . . . . . Memorii autoasociative recurente . . . . . Analiza performantei . . . . . . . . . . . . Memoria asociativa bidirectionala (MAB) Exercitii . . . . . . . . . . . . . . . . . . . 7 Retele neurale cu auto-organizare 7.1 7.2 7.3 7.4 Retelele Hamming si MAXNET . . . Instruirea nesupervizata a clusterelor Harti Kohonen . . . . . . . . . . . . Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 107 110 114 117 122 125 125 127 130 135 137 141 145 145 148 150 156 8 Retele neurale RBF 159 9 Retele neurale fuzzy 165 8.1 Functii radiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 8.2 O tehnica de grupare (clustering) . . . . . . . . . . . . . . . . . . 162 8.3 Discutie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 9.1 Logica fuzzy . . . . . . . . . . . . . . . . . 9.1.1 De ce logica fuzzy? . . . . . . . . . 9.1.2 Logica fuzzy si cea conventionala . 9.2 Retele neurale fuzzy . . . . . . . . . . . . 9.2.1 Neuroni fuzzy . . . . . . . . . . . . 9.2.2 Structura unei RNF . . . . . . . . 9.2.3 Algoritmul de instruire a unei RNF 9.2.4 Analiza RNF . . . . . . . . . . . . 9.2.5 Rezultatele simularii . . . . . . . . 9.2.6 Concluzii . . . . . . . . . . . . . . 10 Algoritmi genetici 10.1 10.2 10.3 10.4 Introducere . . . . . . . Exemplu . . . . . . . . . Fundamente matematice Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 165 167 169 169 171 172 173 174 175 177 177 178 180 183 CUPRINS 11 Puterea si complexitatea de calcul 11.1 11.2 11.3 11.4 Masina Turing . . . . . . . . . . . . . Puterea de calcul a retelelor neurale . Reprezentarea functiilor booleene . . Complexitatea instruirii . . . . . . . 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Consideratii epistemologice 12.1 Scopul unei retele neurale . . . . . . . . . . . . . . . . . 12.2 Functiile neurale biologice sunt localizate sau distribuite? 12.3 Este neliniaritatea esentiala ^n calculul neural? . . . . . . . . . . . . . . . . . . . . . . . 12.4 Deosebiri esentiale . . . . . . . . . . . . . . . . . . . . . 12.5 Cum pot programate calculatoarele neurale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6 Poate creierul sa se autoperceapa? . . . . . . . . . . . . . A Complemente matematice A.1 A.2 A.3 A.4 A.5 A.6 A.7 A.8 A.9 Vectori si matrici . . . . . . . . . . . . . Forme patratice . . . . . . . . . . . . . . Elemente de geometrie analitica . . . . . Operatia XOR . . . . . . . . . . . . . . . Iacobianul si hessianul . . . . . . . . . . Probleme de optimizare . . . . . . . . . Metoda lui Euler (metoda tangentei) . . Stabilitatea sistemelor dinamice neliniare Variabile aleatoare . . . . . . . . . . . . B Subiecte-tip pentru examen C Link-uri Bibliogra e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 185 187 188 190 193 . . . . . 193 . . . . . 194 . . . . . 194 . . . . . 195 . . . . . 196 . . . . . 196 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 199 200 201 202 202 205 206 208 209 211 215 217 8 CUPRINS Capitolul 1 Preliminarii ^n calculul neural Calculul neural se efectueaza pe o retea densa de noduri si conexiuni. Aceste noduri lucreaza ^n mod colectiv si simultan si se numesc neuroni arti ciali, sau neuroni. Neuronii pot opera, de exemplu, ca sumatoare sau comparatoare. De obicei, neuronii lucreaza ^n paralel si sunt con gurati ^n arhitecturi regulate. Astfel, ei pot organizati pe nivele ierarhice si se permit conexiuni feedback ^n cadrul unui nivel sau conexiuni feedback catre nivelele adiacente. Puterea ecarei conexiuni este exprimata printr-o valoare numerica numita pondere, care poate modi cata. Domeniul retelelor neurale este cunoscut si sub denumiri similare: neurocalcul, conexionism, procesare paralela distribuita, sisteme adaptive, retele cu autoorganizare etc. Aceasta varietate indica de fapt tot at^tea perspective din a care se studiaza retelele neurale. Retelele neurale functioneaza ca retele paralele distribuite. Caracteristica lor de baza este arhitectura. Unele retele sunt caracterizate de comportarea lor ^n timp, de dinamica lor. Retelele neurale difera ^ntre ele prin modul de ^nvatare: exista o varietate de reguli de ^nvatare care stabilesc c^nd si cum se modi ca a ponderile conexiunilor. ^n ne, retelele difera prin viteza si e cienta de ^nvatare. I Spre deosebire de calculatoarele conventionale, care sunt programate sa efectueze anumite lucrari, majoritatea retelelor neurale trebuie sa e ^nvatate (sau instruite). Ele ^nvata noi asocieri, noi pattern-uri, noi dependente functionale. Dupa cum vom vedea mai t^rziu, faptul ca retelele ^nvata reguli si algoritmi a ^nlocuieste programarea necesara ^n calculul conventional. Utilizatorii retelelor neurale nu speci ca un algoritm care sa e executat de catre un anumit neuron, cum s-ar ^nt^mpla pe o masina traditionala. ^n loc de aceasta, ei aleg o a I con guratie care li se pare cea mai buna arhitectura, speci ca toate caracteristicile neuronilor si ponderile initiale, apoi aleg modul de instruire pentru retea. ^n I urmatoarea faza, sunt aplicate diferite date de intrare din care reteaua ^si extrage cunostinte, adica ^nvata. Ca rezultat, reteaua acumuleaza informatie care poate apoi utilizata. Calculul cu retele neurale se situeaza^ntre inginerie si inteligenta arti ciala. Se folosesc tehnicile matematice ingineresti clasice, dar si metode euristice speci ce inteligentei arti ciale. 9 10 CAPITOLUL 1. PRELIMINARII ^N CALCULUL NEURAL I ^n acest sens vom raspunde la urmatoarele ^ntrebari: I Cum poate instruita e cient o retea si cum se ^nvata ea? Ce modele de neuroni trebuie folosite? Care sunt cele mai adecvate arhitecturi pentru anumite clase de probleme? Care sunt cele mai bune metode pentru a extrage cunostintele acumulate ^ntr-o retea? Care sunt aplicatiile tipice pentru calculul neural si c^t de e ciente sunt a aceste aplicatii? Retelele neurale au atras atentia specialistilor din numeroase discipline. Neurobiologii sunt interesati ^n modelarea retelelor neurale biologice. Fizicienii sunt atrasi de analogiile dintre retelele neurale si sistemele dinamice neliniare pe care le studiaza. Matematicienii sunt fascinati de potentialul modelarii matematice aplicat ^n sistemele foarte mari si complexe. Inginerii ^n electronica si calculatoare aplica retelele neurale ^n procesarea semnalelor si construiesc pe baza retelelor neurale circuite integrate inteligente. Psihologii cauta ^n retelele neurale structurile prototip care modeleaza procesarea informatiei de catre om. ^n I ne, informaticienii sunt interesati ^n posibilitatile de calcul ale retelelor masiv paralele ^n domeniile inteligentei arti ciale, teoriei calculabilitatii, modelarii si simularii etc. 1.1 Calculul neural: exemple Ne propunem sa dam c^teva exemple de utilizare a retelelor neurale ^n rezolvarea a unor probleme reale. Clasi catori si sisteme automate de orientare ^n spatiu Vom de ni retelele neurale care raspund instantaneu datelor de intrare. Pentru ^nceput, vom analiza performantele unui simplu clasi cator, apoi vom extinde aceasta problema. Fie P0 P1 : : : P7 opt puncte ^n spatiul tridimensional. Multimea consta din toate v^rfurile unui cub tridimensional: a fP0(;1 ;1 ;1) P1(;1 ;1 1) P2(;1 1 ;1) P3(;1 1 1) P4 (1 ;1 1) P5(1 ;1 1) P6(1 1 ;1) P7(1 1 1)g Consideram doua clase de puncte: 1. puncte cu doua sau mai multe coordonate pozitive: P3, P5 , P6 , P7 2. restul de puncte. 1.1. CALCULUL NEURAL: EXEMPLE x1 1 1 x2 element comparator nod sumator + 1 11 Σ clasa sgn(.) suma ponderata ponderi x3 date de intrare Figura 1.1: Clasi cator realizat cu o singura unitate. P1 P3 (-1,0,1) (0,-1,1) x 1 +x 2 +x 3 =0 P7 P5 P0 P4 P2 P6 Figura 1.2: Partitionarea spatiului cartezian. Pentru orice punct Pi(x1 x2 x3 ), i = 1 : : : 7, apartenenta la una dintre clasele de mai sus poate stabilita prin urmatorul calcul: ( sgn(x1 x2 x3) = ;1 pentru clasa 1 1 pentru clasa 2 Aceasta expresie descrie functia de decizie a unui clasi cator. Nu este necesara o instruire a acestui clasi cator. Reteaua neurala rezultata este extrem de simpla ( g. 1.1). Am realizat clasi carea printr-o singura unitate, sau nod de calcul. Aceasta implementeaza ^nsumarea cu ponderile respective (1 ^n acest caz) si este urmata de o comparare cu prag. De fapt, se realizeaza o partitionare a spatiului cartezian tridimensional prin planul x1 + x2 + x3 = 0 ( g. 1.2). 12 CAPITOLUL 1. PRELIMINARII ^N CALCULUL NEURAL I Punctele de deasupra planului fac parte din clasa 1, iar punctele de dedesupt din clasa 2. Problema pe care ne-o punem este daca o functie continua nu poate mai avantajoasa ( g. 1.3). f(Σ ) 1 Σ -1 Figura 1.3: Functie continua de decizie. ^n acest caz, datele de iesire pot ^n intervalul dintre -1 si 1. Folosirea I neuronilor cu caracteristici continue ofera posibilitati mult mai mari. Se obtine o granularitate (o ra nare) mai mare a datelor de iesire. Neurologii folosesc electro-encefalograma (EEG) care preia pe mai multe canale impulsurile electrice ale creierului. Evaluarea EEG este di cila si de aceea se face de obicei de catre neurologi cali cati. Pentru o monitorizare pe calculator, sa ne concentram pe un caz concret: detectarea unei iminente crize de epilepsie. Este nevoie de o prelucrare on-line a semnalelor EEG. ^n 1990, Eberhart si Dobbins au realizat detectarea semnalelor EEG pentru I crizele de epilepsie folosind un clasi cator neural. Datele sunt monitorizate prin patru canale de interes. Semnalele EEG sunt esantionate de 200 sau 250 ori pe secunda ^ntr-o fereastra de 240 ms. Aceasta are ca rezultat obtinerea a 48 sau 60 de esantioane de date pentru ecare canal. Aceste esantioane trebuie evaluate si sunt introduse ^ntr-o retea neurala de 40 de unitati interconectate, cu caracteristici continue. Un total de 41 de unitati aranjate pe trei nivele ierarhice proceseaza datele. Doua unitati de iesire sunt utilizate pentru identi carea v^rfurilor de semnal. a Reteaua a fost elaborata de o echipa de ingineri si neurologi. Dupa ce a fost instruita, reteaua a dat rezultate excelente dovedindu-si utilitatea ^n spitale. Sa consideram un alt exemplu: proiectul ALVINN (Autonomous Land Vehicle In a Neural Network), raportat de Pomerleau (1989). Reteaua ALVINN preia imagini ale drumului printr-o camera si printr-un laser care detecteaza profunzimea obiectelor. La iesire este generata directia pe care trebuie sa circule autovehiculul pentru a urma drumul. Arhitectura retelei este cea din gura 1.4. 1.1. CALCULUL NEURAL: EXEMPLE 13 unitate de feedback pt. intensitatea drumului ... 45 unitati de directie ... 29 unitati ... imagine 30x32 (intrare) profunzime 8x32 (intrare) Figura 1.4: Arhitectura retelei ALVINN. Informatia video este o retina de 30x32 care sesizeaza ^n albastru (ofera cel mai bun contrast). Unitatea de feedback regleaza contrastul. Cele 1217 intrari conduc spre 29 unitati cu functie continua. Unitatea din mijlocul celor 45 de unitati de iesire arata c^t de puternica este tendinta de a merge ^nainte. Unitatile a din st^nga-dreapta reprezinta tendintele de a o lua la st^nga-dreapta. Unitatile a a din extremitatile st^nga si dreapta corespund virajelor st^nga-dreapta c^t mai a a a accentuate. ALVINN a fost instruit prin imagini sintetizate pe calculator. Performantele obtinute au fost comparabile cu caracteristicile celor mai bune sisteme traditionale de orientare prin vedere arti ciala. Capacitatea sistemului ALVINN de a pastra directia drumului nu a fost implementata prin programare (algoritm), ci se bazeaza pe cunostintele asimilate prin instruire. Dupa 1/2 ora de instruire, sistemul era capabil sa se orienteze singur pe drum. Altfel ar fost necesare luni de zile pentru dezvoltarea algoritmilor care sa recunoasca pattern-urile din imaginile preluate. S-au facut observatii interesante. Astfel, reteaua s-a comportat mai bine dupa ce a fost instruita sa refaca erori de conducere. Prin aceasta, reteaua si-a dezvoltat masurile de corectare a conducerii. Memorie simpla si restaurarea pattern-urilor Vom discuta acum despre retele neurale care raspund ^n timp datelor de intrare (un pattern ^n acest caz). Deoarece ele fac acest lucru ^ntr-un mod foarte caracteristic, prin reconstructia treptata a unui pattern memorat, vom numi aceste 14 CAPITOLUL 1. PRELIMINARII ^N CALCULUL NEURAL I retele memorii. Fie reteaua simpla din gura 1.5. -1 +1 1 + Σ1 unitatea 1 Σ2 unitatea 2 Σ3 unitatea 3 sgn(.) sgn(.) o1 o2 -1 -1 -1 + sgn(.) o3 Figura 1.5: Retea memorie. Reteaua consta din trei unitati care calculeaza valorile functiei signum, trei noduri de^nsumare si sase ponderi care pot 1. Semnalele care trec prin ponderi sunt ^nmultite cu valoarea ponderilor. Presupunem ca reteaua este initializata la iesire cu o1 = o2 = o3 = 1 (cazul 1, tab. 1.1). C^nd se permite retelei sa a calculeze, intrarile la unitatile 1 si 2 sunt 0, ^n timp ce la unitatea 3 este -2. Ca rezultat, o1 si o2 nu se modi ca, deoarece sgn(0) nu este de nit, ^n timp ce o3 devine -1. Urmeaza cazul 2, care este o iesire nala deoarece nu se mai poate modi ca. Cazurile 3 si 4 sunt alte exemple de tranzitii posibile. Observam ca si cazurile 3 si 4 duc apoi la cazul 2, oper^nd c^te o singura modi care. aa Iata cum se reprezinta geometric aceste actualizari efectuate de reteaua de tip memorie descrisa. Se vede ca P6(1 1 ;1) este iesirea stabila a memoriei. C^nd a o singura componenta a vectorului de initializare binar (o1, o2, o3 ) difera de P6, reteaua corecteaza aceasta componenta. Iesirea este apoi mentinuta constanta. Daca P6 reprezinta descrierea corecta a unui pattern, iar P4, P7 , P2 variante distorsionate ale lui P6, memoria are capacitatea de a restaura variantele distorsionate asimil^ndu-le cu P6 ( g. 1.6). a Acest concept de memorie poate extins cu usurinta la lumea reala a aplicatiilor. Probleme de optimizare Retelele neurale pot optimizare. aplicate cu succes pentru rezolvarea unor probleme de 1.1. CALCULUL NEURAL: EXEMPLE 15 Tabelul 1.1: Exemple de tranzitii ale retelei tip memorie. X ^nseamna sgn(0), iar iesirile ^ncadrate sunt cele care se modi ca. Cazul Nr. unitatii Iesirea actuala 1 1 1 2 1 3 1 1 1 2 2 1 3 -1 1 -1 3 2 1 3 -1 1 1 4 2 -1 3 -1 0 0 -2 2 2 -2 2 0 0 0 2 0 sgn( ) Iesirea urmatoare X 1 X 1 -1 -1 1 1 1 -1 -1 -1 1 1 X 1 X -1 X 1 1 1 X -1 Sa presupunem ca valoarea analogica x, 0 x 3 5 trebuie digitizata ^ntr-un numar binar v1 v0, (v1 v0 2 f0 1g), astfel inc^t a x 2v1 + v0 : Exista, evident, patru posibilitati: 00, 01, 10, 11. O retea similara cu memoria din exemplul precedent poate rezolva aceasta conversie ( g. 1.7). Reteaua consta din doua unitati cu caracteristici continue, ecare cu raspuns ^n intervalul dintre 0 si 1. La cele doua unitati, retelei i se mai adauga un numar de elemente de interconectare pe care nu le speci cam. Conversia corespunde minimizarii erorii de conversie A/D, unde eroarea este (x ; 2v1 ; v0)2 , ^n prezenta restrictiei v0 v1 2 f0 1g. Aceasta problema de minimizare este rezolvabila de catre o anumita clasa de retele neurale. Caracteristic acestei clase este ca se minimizeaza asa numita functie de energie pe parcursul calculului. Proprietatea de minimizare a energiei este de importanta foarte mare si se formuleaza astfel: reteaua ^si cauta singura energia ei minima si se stabilizeaza acolo. O serie de probleme de optimizare se transpun direct ^n minimizarea functiei de energie a unei retele neurale. Minimizarea energiei de catre retea poate considerata analoga minimizarii erorii de conversie A/D. Clasa de retele neurale exempli cata prin conversia A/D este utilizabila si pentru probleme de optimizare combinatorica^n care complexitatea este exponentiala sau, mai rau, ^n ordinul lui n!. ^n aceste probleme, este important sa se reduca I ordinul timpului de cautare. Retelele neurale ofera si ^n acest sens o alternativa. 16 CAPITOLUL 1. PRELIMINARII ^N CALCULUL NEURAL I P3 P1 P7 P5 cazul 1 P0 P2 cazul 3 P4 cazul 4 P6 cazul 2 Figura 1.6: Actualizarile efectuate de reteaua de tip memorie. Detectarea gruparilor si a trasaturilor O clasa importanta de retele neurale pot utilizate pentru detectarea gruparilor de date. Aceste retele sunt calate pe anumite aspecte de similaritate ^n datele evaluate. De exemplu, se poate sa m interesati ^n a grupa anumite rezultate de masurare ^n scopul eliminarii erorilor sistematice care pot aparea ^n timpul masurarii. Deoarece zgomotul este aleator, el nu formeaza grupari, ci doar perturba formarea gruparilor reale de date. Detectarea gruparilor si trasaturilor prezinta importante proprietati de autoorganizare care sunt legate de inteligenta arti ciala si teoria informatiei. Retelele din aceasta clasa au ^n general arhitecturi simple, dar subtilitatile apar ^n timpul procesului de autoorganizare. Detectarea trasaturilor se raporteaza la reducerea dimensionalitatii datelor. De exemplu, semnalul vorbirii consta din 15 canale de frecventa audio. Fonemele sunt deci descrise ^ntr-un spatiu 15-dimensional. Problema este ca nu putem reprezenta astfel fonemele, deoarece capacitatea noastra de vizualizare se reduce la trei dimensiuni. Utiliz^nd o retea neurala, este posibil sa reprezentam spectrul a 15-dimensional al vorbirii ^ntr-un tablou ^n plan. Secventa fonemelor unui cuv^nt a formeaza o traiectorie speci ca ^n plan. Aceste harti fonotopice pot foarte utile ^n construirea masinilor de scris fonetice, ^n ^nvatarea vorbirii si pentru terapie. 1.2. ISTORICUL DEZVOLTARII RETELELOR NEURALE 17 unitatea 0 v0 intrare analogica x iesire digitala retea de interconectare unitatea 1 v1 Figura 1.7: Diagrama bloc a unui convertor A/D pe doi biti. 1.2 Istoricul dezvoltarii retelelor neurale McCulloch si Pitts (1943) au propus primul model pentru neuron. Acest model include toate elementele pentru a efectua operatii logice, dar la acel nivel tehnologic era imposibil de implementat. Donald Hebb (1949) a propus un model de ^nvatare pentru a actualiza conexiunile neuronului, cunoscut acum ca regula hebbiana de ^nvatare. El a formulat ideea ca informatia poate memorata ^n conexiuni. Primele neurocalculatoare au fost construite ^n anii '50 (Minsky, 1954). Ele ^si adaptau automat conexiunile. ^n 1958, Frank Rosenblatt a inventat un eleI ment neural numit perceptron. Era conceput ca o masina instruibila capabila sa ^nvete sa clasi ce anumite pattern-uri prin modi carea conexiunilor la elementele comparatoare. La ^nceputul anilor '60, a fost propus ADALINE (ADAptive LINEar combiner), un dispozitiv bazat pe regula de ^nvatare Windrow-Ho (Bernard Windrow, Marcian Ho ). Regula minimiza eroarea patratica ^nsumata pe parcursul instruirii. Aplicatiile erau de recunoasterea formelor, control adaptiv si previziunea vremii. ^n ciuda entuziasmului anilor '60, masinile existente nu permiteau abordarea I unor probleme complexe. Pe de alta parte, nici schemele de ^nvatare nu erau su cient de dezvoltate. S-a intrat astfel ^ntr-o perioada de stagnare a carei cauze erau de fapt cunoscute. Episodul nal al acestei ere a fost lucrarea lui Minsky si Papert1 , care a demonstrat limitele retelelor bazate pe perceptroni. ^n acest timp, majoritatea I cercetatorilor se ^ndreptau spre alte domenii. Domeniul retelelor neurale (care facea la acea vreme parte din cibernetica) parea ^nchis. ^n schimb se dezvolta I 1 Minsky, M., S. Papert "Perceptrons". Cambridge, MA, MIT Press, 1969. 18 CAPITOLUL 1. PRELIMINARII ^N CALCULUL NEURAL I promitator domeniul inteligentei arti ciale, prelu^nd si sarcini pe care retelele a neurale nu puteau sa le rezolve la acel stadiu. ^n perioada 1965-1984, c^tiva cercetatori au reusit sa dezvolte totusi cercetaI a rile. Kunihiko Fukushima a de nit o clasa de retele neurale numite neocognitroni (1980). Neocognitronul modeleaza recunoasterea vizuala a formelor prin emularea imaginilor de pe retina si procesarea lor folosind neuroni ierarhizati pe doua nivele. Cercetarile ^n domeniul memoriilor asociative au evoluat ^n Finlanda (Teuvo Kohonen) si SUA (James Anderson). Stephen Grossberg si Gail Carpenter au introdus c^teva arhitecturi de retele neurale si au dezvoltat teoria retelelor adaptive a prin rezonanta, ART. Era renasterii a ^nceput odata cu introducerea arhitecturii recurente pentru memoriile asociative (John Hop eld, 1982). O alta revitalizare a domeniului provine din lucrarile lui James McClelland si David Rumelhart (1986). ^ncep^nd cu anii 1986-1987, s-au initiat multe programe de cercetare si intereIa sul a devenit extrem de mare. Au aparut aplicatii complexe. Au fost fabricate chip-uri VLSI de retele neurale. Cu toate ca domeniul calculului neural are o istorie interesanta, el este ^nca la ^nceputul dezvoltarii sale. 1.3 Viitorul Datorita denumirii, domeniul retelelor neurale este supus unei supraestimari populiste. Este tentant pentru om sa-si imagineze o masina care sa e asemeni lui. Terminologia antropomorfa trebuie privita cu multa retinere. Putem aproape siguri ca retelele neurale nu vor ^nlocui calculatoarele clasice. Aceasta, deoarece calculatoarele clasice sunt foarte ieftine si e ciente pentru efectuarea calculelor numerice (procesari de text, CAD, procesari de date). Sunt ^nsa domenii ^ntregi ^n care retelele neurale devin mai avantajoase. Cele mai interesante aplicatii sunt cele care presupun inferenta de tip uman si perceperea vorbirii si a imaginilor. Aceste aplicatii nu pot dec^t partial rezolvate a pe calculatoare clasice. Este de asteptat ca retelele neurale sa e aplicate ^n procesarea semnalelor si sisteme expert. Retelele neurale nu vor ^nlocui aplicatiile de inteligenta arti ciala de pe calculatoarele clasice, ci vor oferi o tehnologie complementara. Neurocalculatoarele actuale sunt de multe ori calculatoare conventionale care executa software de simulare a retelelor neurale. Alte neurocalculatoare folosesc deja componente (placi, chip-uri) dedicate. Cele mai interesante sunt, desigur, chip-urile VLSI care implementeaza retele neurale. Fabricarea acestor chip-uri este deja actuala. ^n 1986, AT&T a fabricat primul circuit integrat de memorie I neurala. Capitolul 2 Concepte fundamentale Exista doua posibilitati de a de ni retelele neurale. La o extrema, retelele neurale sunt o clasa de algoritmi matematici, deoarece o retea poate privita ^n esenta ca o notatie gra ca pentru o clasa larga de algoritmi. La cealalta extrema, retelele neurale emuleaza retelele neurale biologice din organismele vii. ^n luI mina cunostintelor limitate pe care le avem ^n prezent asupra retelelor neurale biologice, cea mai plauzibila de nitie se apropie mai mult de cea algoritmica. Retelele neurale sunt ^n mod cert inspirate din biologie, dar exista mari diferente ^ntre retelele neurale arti ciale si cele naturale. Nu exista ^nca modele care sa concureze cu succes performantele creierului uman. De fapt si cunostintele noastre despre functionarea creierului sunt extrem de limitate. Creierul ram^ne a mai cur^nd o metafora pentru retelele neurale dezvoltate p^na acum. a a Cu toate ca analogia dintre retelele neurale arti ciale si cele naturale este vaga, vom ^ncepe totusi prin a mentiona modelul neuronului biologic. Vom de ni apoi neuronul arti cial si retelele neurale arti ciale elementare. ^n ne, vom discuta I formele de baza ale procesarii ^n retele neurale arti ciale, cu un accent deosebit pe procesele de ^nvatare. 2.1 Neuronii biologici si modelele lor arti ciale Creierul uman consta din aproximativ 1011 neuroni. Ei comunica printr-o retea de conexiuni formate din axoni si sinapse, av^nd o densitate de aproximativ 104 a sinapse/neuron. Ipoteza cea mai recenta privind modelarea sistemului nervos natural este ca neuronii comunica ^ntre ei prin impulsuri electrice. Totodata, neuronii opereaza ^ntr-un mediu chimic. Creierul poate considerat o retea densa de conexiuni electrice conditionate ^n mare masura de procese biochimice. Reteaua neurala are o structura elaborata, cu interconexiuni foarte complexe. Intrarea ^n retea este asigurata de catre receptorii senzoriali. Receptorii furnizeaza stimuli at^t din partea corpului c^t si din partea organelor senzoriale care preiau a a stimulii lumii exterioare. Stimulii au forma impulsurilor electrice care conduc informatia ^n reteaua de neuroni. Ca rezultat al procesarii informatiei ^n sistemul nervos central, efectorii sunt controlati si dau raspunsuri sub forma diferitelor 19 CAPITOLUL 2. CONCEPTE FUNDAMENTALE 20 actiuni. Avem deci un sistem const^nd din receptori, reteaua neurala si efectori, a care controleaza organismul si actiunile sale. Fluxul informational este descris ^n gura 2.1. Corp Sistemul nervos central Receptori feedback intern Efectori Organe senzoriale Organe motor feedback extern Figura 2.1: Fluxul informational ^n sistemul nervos. Neuronul biologic Neuronul este celula nervoasa si are trei componente: - soma - corpul celulei - axonul - bra lunga care serveste ca linie de comunicatie - dendritele Dendritele formeaza un arbore de bre ne ^n jurul corpului neuronului. Dendritele receptioneaza informatia de la alti neuroni prin axonii acestora. Axonul este o conexiune cilindrica lunga care^n partea nala devine arborescenta. Fiecare ramura are o terminatie care aproape atinge dendritele neuronilor vecini. Sinapsa este interfata prin care neuronul ^si introduce semnalul catre dendrita altui neuron. Semnalele care ajung la o sinapsa plec^nd de la dendritele neuronului resa pectiv sunt impulsuri electrice ( g. 2.2). Transmisia interneuronala este uneori electrica dar de obicei este efectuata prin eliberarea de transmitatori chimici la sinapse. Astfel, terminatia axonului genereaza substanta chimica, care afecteaza neuronul receptor. Neuronul receptor e genereaza un impuls catre axonul sau, e nu produce nici un raspuns. Neuronul este capabil sa raspunda totalului intrarilor sale agregate ^ntr-un scurt interval de timp numit perioada de latenta. Raspunsul neuronului este generat daca totalul potentialului membranei sale atinge un anumit nivel. Membrana poate considerata ca o ^nvelitoare care agrega magnitudinea semnalelor 2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 21 axoni venind de la alti neuroni soma dendrite impulsul din partea corpului neuronului sinapsa dendrita altui neuron Figura 2.2: Modelul neuronului biologic. care intra pe parcursul unei anumite durate de timp. Neuronul genereaza un impuls-raspuns si ^l transmite axonului sau numai daca conditiile necesare sunt ^ndeplinite. Impulsurile care intra ^n neuron pot excitatoare { daca cauzeaza generarea de catre neuron a unui impuls, sau inhibitoare { daca ^mpiedica generarea unui astfel de impuls. O conditie mai precisa pentru ca neuronul sa genereze un impuls este ca excitatia sa depaseasca inhibitia cu o valoare de aproximativ 40 mV, numita pragul neuronului. Deoarece o conexiune sinaptica produce reactia de excitatie sau de inhibitie a neuronului receptor, este practic sa atasam ponderile 1 acestor conexiuni. Neuronul genereaza un impuls atunci c^nd a suma ponderilor impulsurilor receptate depaseste valoarea pragului pe parcursul perioadei de ^nsumare latenta. Procesarea ^n retelele neurale biologice este complexa si mai putin structurata dec^t calculul digital. Spre deosebire de cazul calculului digital, impulsurile neua rale nu sunt sincronizate ^n timp. O caracteristica importanta a neuronului biologic este ca semnalele generate nu difera ^n magnitudine. Cu alte cuvinte, informatia transmisa ^ntre celulele nervoase este sub forma semnalelor binare. Dupa transmiterea unui impuls, axonul ram^ne pentru un timp ^ntr-o staa ree de neexcitabilitate completa, acest interval numindu-se perioada refractara. Putem diviza timpul ^n intervale consecutive, ecare de durata perioadei refractare. Aceasta ne permite o descriere discreta a comportarii neuronului. De exemplu, putem preciza care neuroni vor genera impulsuri la momentul k + 1 baz^ndu-ne pe conditiile de excitatie de la momentul k. a Neuronul va excitat la un anumit moment dat, daca numarul sinapselor excitate excitatoare depaseste numarul sinapselor excitate inhibitoare la momentul precedent cu cel putin numarul T , unde T este valoarea pragului neuronului. Intervalele de timp pot luate de ordinul milisecundelor. Perioada refractara nu este ^nsa uniforma: depinde de tipul de neuroni si de modul ^n care sunt ei conectati. Avem deci o retea densa de neuroni interconectati care genereaza semnale asincrone. Semnalele sunt transmise apoi catre neuronii vecini dar sunt CAPITOLUL 2. CONCEPTE FUNDAMENTALE 22 si retransmise (feedback) neuronilor generatori. Aceasta discutie este o simpli care foarte mare din punct de vedere neurobiologic. Retelele neurale arti ciale sunt mult mai simple dec^t corespondentul lor a natural. Sa examinam un model de neuron arti cial cu semni catie istorica. Modelul neural McCulloch-Pitts Este prima de nitie formala a unui neuron arti cial (1943). w1 w2 x1 x2 o T wn xn w =-1 sau +1 i i=1,2,...,n Figura 2.3: Neuronul McCulloch-Pitts. Intrarile xk i = 1 2 : : : n sunt 0 sau 1, ^n functie de absenta sau prezenta i impulsului la momentul k ( g 2.3). Semnalul de iesire al neuronului este o. Regula dupa care neuronul genereaza un semnal este: ( 1 daca Pn=1 wixk T = 0 daca Pin w xik < T i=1 i i wi = 1 pentru o sinapsa excitatoare si wi = ;1 pentru o sinapsa inhibitoare. Cu toate ca este foarte simplu, acest model are un remarcabil potential computational. Poate realiza operatiile logice NOT, OR si AND. Dupa cum stim, orice functie logica de mai multe variabile poate implementata utiliz^nd a sau NOT si OR, sau NOT si AND. De exemplu, functiile NOR si NAND pot implementate prin retele de neuroni conform modelelor din gura 2.4. ok+1 x1 -1 T=0 x2 -1 T=0 T=0 1 T=1 o 1 x2 1 x3 1 x3 -1 x1 1 1 NAND Figura 2.4: Functiile NOR si NAND. T=1 -1 NOR T=0 o 2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 23 Neuronul McCulloch-Pitts are o ^nt^rziere cu durata de o unitate. Aceasta a proprietate permite construirea circuitelor digitale secventiale. Notam pentru ^nceput ca un singur neuron, cu o singura intrare x, cu ponderea si valoarea de prag unitare, calculeaza ok+1 = xk . Un astfel de neuron se comporta ca un registru simplu, capabil sa retina intrarea pentru un interval de timp de o unitate. O celula de memorie se construieste ca ^n gura 2.5. 1 1 intrare excitatoare T=1 ok+1 =x k -1 intrare inhibitoare Figura 2.5: Celula de memorie. Dupa ce s-a initializat celula, astfel ^nc^t sa genereze sau sa nu genereze un a semnal, aceasta valoare de iesire este sustinuta inde nit, ^n absenta unor intrari. Hardware-ul unui calculator digital de orice complexitate poate obtinut prin utilizarea unei retele neurale constituite din blocuri elementare pentru operatii logice si pentru memorie. Ne intereseaza, ^nsa altceva: care este puterea de calcul a retelelor neurale tin^nd cont de capacitatea lor de a ^nvata. Vom reveni asupra a acestor aspecte mai t^rziu. a Modelarea unui neuron general Modelul neural McCulloch-Pitts este elegant si are o expresie matematica precisa. El opereaza ^nsa c^teva simpli cari drastice. Astfel, permite doar stari binare a (0 si 1), presupune ca timpul este discret si presupune sincronismul operatiilor tuturor neuronilor. De asemenea, ponderile si pragurile sunt presupuse xe. ^n I continuare, vom prezenta generalizari ale modelului McCulloch-Pitts, care vor de altfel modelele noastre operationale. Fiecare model neural consta dintr-un element de procesare cu conexiuni sinaptice de intrare si cu o singura iesire. Intrarile si iesirile sunt unidirectionale. De nim modelul unui neuron general ca in gura 2.6 sau o = f (wtx) n X o = f ( wixi) i=1 unde w este vectorul de ponderi de nit astfel: w = w1w2 : : : wn]t CAPITOLUL 2. CONCEPTE FUNDAMENTALE 24 x1 x2 w1 w2 conexiuni sinaptice f(wtx) xn o nod(unitate) de procesare wn ponderi multiplicative Figura 2.6: Modelul unui neuron general. iar x este vectorul de intrari: x = x1 x2 : : : xn ]t: Toti vectorii din acest curs sunt vectori coloana, iar indicele t noteaza o transpunere. Functia f (wtx) este functia de activare. Domeniul ei de de nitie este multimea valorilor de activare, net, a unui model neural: net = wtx: De aceea, folosim si notatia f (net). Variabila net este analogul potentialului membranei neuronului biologic. Convenim ca exista n ; 1 conexiuni sinaptice si ca xn = ;1, wn = T . Uneori vom extrage explicit pragul T ca parametru separat. De acum ^ncolo, vom ^ntelege prin neuroni { modele de neuroni, iar prin retele neurale { retele neurale arti ciale compuse din modele de neuroni. Functii de activare tipice sunt: - bipolara continua: f (net) = 1+exp2; net ; 1 > 0 ( - bipolara binara: f (net) = sgn(net) = ;1 net > 0 1 net < 0 Se observa ca pentru ! 1, functia bipolara continua devine bipolar binara. Functiile unipolare sunt: - unipolara continua: f (net) = 1+exp1; net ( - unipolara binara: f (net) = 1 net > 0 0 net < 0 Pentru ! 1, functiile continue devin functii discrete. Cele doua functii continue se numesc si caracteristici sigmoidale. Majoritatea neuronilor utilizeaza functii de activare bipolare. Desigur, functiile de activare pot de nite si altfel. 2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE f(net) λ=5 1 -1 λ=0,5 λ=1 net 1 0 f(net) λ=5 1 -1 25 λ=1 1 0 net -1 Figura 2.7: Functii de activare continue bipolara si unipolara. Daca functia de activare este bipolara binara, putem folosi reprezentarea din gura 2.8 a unui perceptron binar, iar pentru functia bipolara continua putem folosi reprezentarea din gura 2.9 a unui perceptron continuu. x1 x2 w1 w2 + xn net 1 o(w,x) -1 sumator wn net comparator cu prag neuron Figura 2.8: Perceptron binar. Perceptronul discret a fost introdus de Rosenblatt (1958) si a fost prima masina instruibila. Iesirile neuronilor pot discrete (binare) sau continue. Pentru un strat de m neuroni, valorile lor de iesire o1 , o2 , : : :, om pot date de: o = o1 o2 : : : om ]: Domeniul de de nitie al vectorilor o este un spatiu m-dimensional de nit pentru cazul continuu astfel: (;1 1)m sau fo 2 <m oi 2 (;1 1)g pentru cazul bipolar (0 1)m fo 2 <m oi 2 (0 1)g pentru cazul unipolar: Domeniul lui o este interiorul unui cub m-dimensional. CAPITOLUL 2. CONCEPTE FUNDAMENTALE 26 f(net)= x1 x2 2 -1 −λnet 1+e o(w,x) f(net) xn neuron Figura 2.9: Perceptron continuu. Pentru cazul discret, avem: f;1 1gm fo 2 <m oi 2 f;1 1gg pentru cazul bipolar sau f0 1gm fo 2 <m oi 2 f0 1gg pentru cazul unipolar: Domeniul lui o este format din v^rfurile unui cub m-dimensional. Un vector a poate avea deci 2m valori. 2.2 Modelarea retelelor neurale Cunosc^nd acum de nitia modelului unui neuron general, putem de ni o retea a neurala ca o interconectare de neuroni astfel ^nc^t iesirea ecarui neuron este a conectata, via ponderi, cu toti neuronii, inclusiv cu neuronul respectiv. Retea feedforward Sa consideram o arhitectura feedforward de m neuroni care receptioneaza n intrari ( g. 2.10). Pentru acest model de nim o = o1o2 : : : om ]t si x = x1 x2 : : : xn ]t: Ponderea wij caracterizeaza al i-lea neuron cu a j -a intrare. Valoarea de activare pentru al i-lea neuron este atunci: neti = n X j =1 wij xj i = 1 2 : : : m: Fie wi = wi1wi2 : : : win]t , atunci: neti = witx oi = f (witx) i = 1 2 : : : m: 2.2. MODELAREA RETELELOR NEURALE 27 1 w11 x1 2 x2 o1 o2 wm1 xn wmn ... ... w2n m om Figura 2.10: Retea neurala feedforward. De nim operatorul matricial neliniar ; pentru care: o = ;(Wx) unde W este matricea ponderilor (matricea conexiunilor): 2 6 6 W=6 6 4 iar w11 w12 : : : w1n 3 w21 w22 : : : w2n 7 7 7 ... 7 5 wm1 wm2 : : : wmn 2 f( ) 0 : : : 0 3 6 0 f( ) : : : 0 7 6 7 7: ; ] = 6 .. 6. 7 4 5 0 : : : 0 f( ) Functiile f ( ) sunt functii neliniare de activare. Vectorii x, o sunt numiti si pattern-uri de intrare, respectiv de iesire. Transformarea unui pattern de intrare ^ntr-un pattern de iesire are loc fara ^nt^rziere, a instantaneu. De aceea, spunem ca o astfel de retea este de tip feedforward. Avem ( g. 2.11): o(t) = ; Wx(t)] x(t) Γ[Wx] o(t) Figura 2.11: Diagrama bloc a unei retele neurale feedforward. CAPITOLUL 2. CONCEPTE FUNDAMENTALE 28 Reteaua feedforward este caracterizata prin lipsa de feedback. O retea feedforward poate conectata ^n cascada pentru a forma o retea pe mai multe straturi. ^ntr-o astfel de retea, iesirea unui strat este intrarea urmatorului strat. I Retea feedback O retea feedback se poate obtine dintr-o retea feedforward prin conectarea iesirilor neuronilor cu propriile intrari ( g. 2.12). ∆ ∆ o1(t) w11 x 2 (0) x n(0) 1 o2(t+ ∆ ) n w21 o1(t+ ∆ ) 2 x 1 (0) o n (t+ ∆ ) w1n o2(t) on(t) wnn ∆ Figura 2.12: Retea neurala feedback. Perioada de timp este analoga perioadei refractare a modelului neuronului biologic. Avem ( g. 2.13): o(t + ) = ; Wo(t)]: x(0) retea instantanee Γ[Wo(t)] o(t+∆) intarziere ∆ Figura 2.13: Diagrama bloc a retelei neurale feedback. Intrarea x(t) este folosita doar pentru a initializa aceasta retea, astfel ^nc^t a o(0) = x(0). Intrarea este apoi ^ndepartata si, pentru t > 0, sistemul devine autonom. 2.2. MODELAREA RETELELOR NEURALE 29 Consider^nd timpul ca o variabila discreta si decidem sa observam functionaa rea retelei la momentele 2 3 : : :, sistemul este cu timp discret. Conventional, putem considera ca pasul timpului este unitar. Atunci, notam: ok+1 = ;(Wok ) pentru k = 1 2 : : : Aceasta retea este recurenta deoarece raspunsul ei la momentul k + 1 depinde de ^ntregul istoric al retelei ^ncep^nd cu momentul k = 0: a o1 = ; Wx0] o2 = ; W; Wx0]] ::: ok+1 = ; W; : : : ; Wx0 ] : : :]]: Retelele recurente opereaza de obicei cu o reprezentare discreta a datelor si folosesc neuroni cu o functie de activare discreta. Un sistem av^nd intrari cu timp a discret si o reprezentare discreta a datelor se numeste un automat. Deci, retelele neurale recurente din aceasta categorie pot considerate niste automate. Numim o1 o2 : : : stari ale retelei la momentele 1, 2,... si ecuatiile de mai sus oglindesc secventa tranzitiilor starilor. O stare de echilibru se numeste si atractor. Un atractor consta dintr-o singura stare,itsau dintr-un numar limitat de stari. ^n I h capitolul 1 am vazut ca o = 1 1 ;1 este un atractor. Secventa de stari ale unei retele recurente este ^n general nedeterminista. O retea cu timp continuu se obtine ^nlocuind elementele de ^nt^rziere discrete a cu elemente continue. Fie, de exemplu, reteaua feedback cu timp continuu din gura 2.14. + + v1 R C - v2 Figura 2.14: Retea feedback cu timp continuu. Ea este o retea electrica const^nd dintr-o rezistenta si un condensator, unde v1 a este tensiunea la intrare, iar v2 este tensiunea la iesire. De fapt, retelele electrice sunt utilizate frecvent pentru a modela calculele efectuate de o retea neurala. Retelele electrice poseda exibilitatea de a modela toate fenomenele liniare si neliniare ^nt^lnite ^n acest curs. Din aceasta cauza, retelele electrice reprezinta a modele zice functionale ale retelelor neurale. Din legea lui Kircho obtinem: v1 ; v2 = C dv2 ) R dt CAPITOLUL 2. CONCEPTE FUNDAMENTALE 30 dv2 + v2 = v1 : dt RC RC De aici, obtinem: (2.1) v2 = Ct v1 ; v2 R care reprezinta modi carea tensiunii v2 ^n intervalul t. tensiunea tensiunea v1 v1 v2 v2 t 0 t 0 t0 (a) (b) Figura 2.15: Raspunsul ^n timp (a) la un impuls si (b) la o tensiune de intrare de tip unda armonica al retelei cu timp continuu din gura anterioara. De obicei, retelele cu timp continuu folosesc neuroni cu functii de activare continue. ^n gura 2.16 avem o conexiune sinaptica bazata pe circuitul electric I descris ^n gura 2.14. net j j Rij net i Ci i oi Figura 2.16: Conexiune sinaptica. oj 2.3. ^NVATARE SI ADAPTARE I 31 Rezistenta Rij serveste ca pondere de la iesirea neuronului j catre intrarea neuronului i. Ecuatia 2.1 poate discretizata astfel: netk+1 ; netk i i = 1 (ok ; netk ): i t Rij Ci j De aici: t netk+1 = netk + R C (ok ; netk ): i i j i ij i O retea de mai multi neuroni de acest tip are, din punct de vedere dinamic, o comportare complexa. 2.3 ^nvatare si adaptare I ^n general, ^nvatarea este schimbarea comportamentului datorita experientei. La I om si animale procesul de ^nvatare nu poate observat direct, ci presupunem ca a avut loc observ^nd modi carile de comportament. La retelele neurale, procesul a de ^nvatare este mai direct: putem observa ecare pas al ^nvatarii ca o relatie distincta de tip cauza-efect. Un cadru general pentru procesul de ^nvatare la retele neurale este dat de teoria aproximarii. ^nvatarea ca aproximare I Teoria aproximarii se refera la aproximarea unei functii continue de mai multe variabile h(x) printr-o alta functie H (w x), unde x = x1 x2 : : : xn]t este vectorul de intrare si w = w1 w2 : : : wm]t este vectorul parametrilor (ponderilor). Scopul ^nvatarii este sa se gaseasca w pentru care se obtine cea mai buna aproximare a lui h(x), av^nd la dispozitie o multime de exemple, fxg, folosite pentru ^nvatare. a O problema importanta este alegerea functiei H (w x), aceasta numindu-se problema reprezentarii. Dupa alegerea lui H (w x), se aplica algoritmul de ^nvatare al retelei pentru gasirea parametrilor optimi w : H (w x) h(x)] H (w x) h(x)] unde este o metrica (o distanta). Retelele feedback sunt sisteme dinamice. De aceea, ^nvatarea ^n acest caz se refera la ^nvatarea starilor de echilibru. ^nvatarea supervizata si ^nvatarea nesupervizata I Majoritatea retelelor neurale pe care le discutam ^nvata incremental, pas cu pas. Daca ponderile retelei sunt ajustate printr-un singur pas, atunci informatia feedback produsa de retea nu mai este necesara si vorbim de o ^nvatare de tip batch, adica "la gramada". CAPITOLUL 2. CONCEPTE FUNDAMENTALE 32 retea adaptiva W x ρ[d,o] o generator de distanta semnal de invatare d Figura 2.17: ^nvatare supervizata. I Ne referim ^n continuare la ^nvatarea incrementala, ^n care conceptul de feedback are un rol central. ^n ^nvatarea supervizata ( g. 2.17), presupunem ca la ecare moment c^nd se I a aplica intrarea, raspunsul d al sistemului este dat de catre instructor (un factor uman). x retea adaptiva o W Figura 2.18: ^nvatare nesupervizata. I ^nvatarea nesupervizata ( g. 2.18) se foloseste de multe ori, de exemplu, la I clustering ( g. 2.19), atunci c^nd informatia a priori este minima. a 2.4 Reguli de ^nvatare Sa studiem procesul de instruire a vectorului wi de ponderi, av^nd componentele a wij (unde wij este ponderea conexiunii celei de-a j -a intrari cu cel de-al i-lea neuron) ( g. 2.20). Fie urmatoarea regula generala de ^nvatare: Vectorul wi = wi1 wi2 : : : win]t creste proportional cu produsul intrarii x si a semnalului de ^nvatare r. Semnalul r este in general o functie de wi , x si, daca este cazul, di: r = r(wi x di): Incrementul lui wi produs la momentul t este: wi (t) = cr wi(t) x(t) di(t)]x(t) unde c este constanta de ^nvatare, pozitiva, care determina rata ^nvatarii. Atunci: wi(t + 1) = wi(t) + cr wi(t) x(t) di(t)]x(t): 2.4. REGULI DE ^NVATARE I 33 x2 x2 x1 0 x1 0 (a) (b) Figura 2.19: (a) Pattern-uri bidimensionale care formeaza doua clustere. (b) Aparent, nu se disting mai multe clustere si nu stim c^te sunt. ^n acest caz ^nvatarea nesupervizata nu este a I indicata. x1 ... wi1 x2 wi2 xn win x neuronul i oi ∆wi X r generator de semnal de învãtare di c Figura 2.20: Modelul instruirii ^n cazul ^nvatarii supervizate. Pentru cazul discret: wik+1 = wik + cr(wik xk dk )xk : ii Pentru cazul continuu: dwi(t) = crx(t): dt Vom studia ^n continuare ^nvatarea cu timp discret (pas cu pas). Se presupune ca ponderile sunt initializate convenabil, ^nainte ca procesul de ^nvatare sa ^nceapa. Regula de ^nvatare a lui Hebb (1949) Aceasta regula particularizeaza semnalul de ^nvatare astfel: r = f (witx) adica semnalul de ^nvatare este chiar iesirea neuronului. Atunci: wi = cf (witx)x CAPITOLUL 2. CONCEPTE FUNDAMENTALE 34 wij = cf (witx)xj = coixj pentru j = 1 2 : : : n: Este necesar ca, initial, ponderile sa aiba valori aleatoare mici. ^nvatarea I dupa regula lui Hebb este de tip feedforward si nesupervizata. Este implementata urmatoarea idee: "Daca celula A excita ^n mod repetat celula B, fac^nd-o sa genereze a un impuls, atunci are loc un proces de crestere (schimbare metabolica) ^ntr-una sau ^n ambele celule, astfel ^nc^t e cienta excitarii lui B de a catre A creste." Cu alte cuvinte, pattern-urile de intrare mai frecvente vor avea si in uenta cea mai mare asupra ponderilor conexiunilor. Regula de ^nvatare a perceptronului (Rosenblatt, 1958) Semnalul de ^nvatare pentru aceasta regula este: r = di ; oi unde oi = sgn(witx) si di este raspunsul dorit (pentru cazul bipolar, 1) ( g. 2.21). x1 ... wi1 x2 wi2 + win xn net i ∆wi x oi comparator - X d i -o i ++ di c Figura 2.21: Regula de ^nvatare a perceptronului. Avem: wi = c di ; sgn(witx)]x wij = c di ; sgn(witx)]xj pentru j = 1 2 : : : n: Sa observam ca aceasta regula este aplicabila doar pentru situatia c^nd functia a de activare este binara. Are loc o ajustare a ponderilor daca si numai daca oi este incorect. Deoarece raspunsul dorit poate 1 sau -1, avem: wi = 2cx daca di = 1 si sgn(witx) = ;1 wi = ;2cx daca di = ;1 si sgn(witx) = 1 Daca di = sgn(witx), se observa ca wi = 0. Regula de ^nvatare a perceptronului este importanta pentru ^nvatarea supervizata a retelelor neurale. Ponderile sunt initializate cu orice valoare. 2.4. REGULI DE ^NVATARE I 35 Regula de ^nvatare delta (McClelland, Rummelhart, 1986) Este valabila pentru functii de activare continue si pentru ^nvatarea supervizata. Semnalul de ^nvatare pentru aceasta regula ( g. 2.22) este numit delta si este dat de r = di ; f (witx)]f 0(witx): x1 wi1 wi2 ... x2 win xn f’(net i) ∆wi x oi f(net i) - X X d i -o i + di + c Figura 2.22: Regula de ^nvatare delta. Aceasta regula se deduce din conditia de cea mai mica eroare patratica dintre oi si di. Fie E eroarea patratica: E = 1 (di ; oi )2 2 ceea ce este echivalent cu 1 E = 2 di ; f (witx)]2 : De aici, rE = ;(di ; oi)f 0(witx)x: Componentele gradientului erorii sunt: @E = ;(d ; o )f 0(wtx)x pentru j = 1 2 : : : n i i j i @wij si reprezinta panta pe directia wij . Alegem termenul wij astfel ^nc^t sa e a proportional cu panta negativa (deci sa minimizam pe E ) si obtinem: wij = (di ; oi)f 0(neti)xj j = 1 2 ::: n wi = (di ; oi)f 0(neti)x (2.2) unde este o constanta pozitiva. wi = ; rE CAPITOLUL 2. CONCEPTE FUNDAMENTALE 36 Presupun^nd ca semnalul de ^nvatare este a r = di ; f (witx)]f 0(witx) obtinem: wi = c(di ; oi)f 0(neti)x ceea ce este identic cu 2.4, c si ind constante arbitrare. Regula delta este de fapt o transpunere a regulii de ^nvatare a perceptronului discret la cazul perceptronului continuu. Ponderile pot initializate cu orice valoare. Regula de ^nvatare Windrow-Ho (1962) Aceasta regula este aplicabila pentru ^nvatarea supervizata. Este independenta de functia de activare folosita deoarece minimizeaza eroarea patratica dintre raspunsul dorit di si valoarea de activare a neuronului neti = witx. Semnalul de ^nvatare este r = di ; witx: Atunci, wi = c(di ; witx)x wij = c(di ; witx)xj j = 1 2 : : : n: Aceasta regula poate considerata un caz special al regulii delta: presupunem f (witx) = wit x, adica functia de activare este functia identica f (net) = net si obtinem f 0(net) = 1. Ponderile pot initializate oricum. Regula corelatiei Substituind r = di ^n regula generala de ^nvatare obtinem regula corelatiei: wi = cdix wij = cdixj j = 1 2 : : : n: De obicei, regula corelatiei se aplica ^n retele de memorie cu neuroni cu functie de activare binara. Se poate interpreta ca un caz particular al regulii lui Hebb ^n care functia de activare este binara si oi = di. Totusi, ^nvatarea hebbiana este nesupervizata, ^n timp ce regula corelatiei se aplica la ^nvatarea supervizata. Ca si ^n cazul ^nvatarii hebbiene, este necesar ca ponderile sa e initializate cu valori apropiate de 0. 2.4. REGULI DE ^NVATARE I 37 Regula "c^stigatorul ia tot" a Aceasta regula difera mult de regulile prezentate p^na acum. Poate explicata a pe o multime de neuroni si este un exemplu de ^nvatare competitiva folosita ^n instruirea nesupervizata. ^n general, aceasta regula se foloseste pentru ^nvatarea I proprietatilor statistice ale intrarilor. ^nvatarea se bazeaza pe premiza ca unul din neuroni, e el neuronul m, are I raspunsul maxim pentru intrarea x. Acest neuron este c^stigatorul ( g. 2.23). a o1 ... x1 wm1 ... w11 om xj neuronul castigator ... ... wmn xn wpn op Figura 2.23: Regula de ^nvatare c^stigatorul ia tot. a Ca rezultat, wm = wm1 wm2 : : : wmn]t este singurul vector ajustat: wm = (x ; wm ) wmj = (xj ; wmj ) pentru j = 1 2 : : : n unde > 0 este o constanta de^nvatare mica. Criteriul de alegere a c^stigatorului a este: t wmx = i=1 2 ::: p(witx): max Numai ponderile neuronului c^stigator se modi ca. Dupa ajustare, wm va estima a si mai bine pattern-ul x. Ponderile se initializeaza cu valori aleatoare si sunt normalizate. ^n general, I scade pe parcursul procesului de ^nvatare. Paradigme ale ^nvatarii ^n retele neurale 1. Autoasociere. O multime de pattern-uri este prezentata ^n mod repetat si sistemul memoreaza aceste pattern-uri. Apoi, un pattern similar cu unul din pattern-urile memorate este prezentat. Sarcina este de a regasi pattern-ul originar. CAPITOLUL 2. CONCEPTE FUNDAMENTALE 38 Tabelul 2.1: Comparatie ^ntre calculul conventional si calculul neural din punct de vedere al etapelor care trebuie parcurse. Calcul conventional Rezolvarea unei probleme Formularea algoritmului Calcul neural Achizitionarea cunostintelor Calcul Programare Selectarea unei arhitecturi si de nirea multimii de exemple reprezentative Instruire Sarcina Memorarea datelor Aritmetic, precizie mare ROM, RAM memorii binare Precizie mica, aplicatii neliniare Ponderi ale conexiunilor av^nd ^n genea ral valori continue 2. Heteroasociere. Este o varianta a autoasocierii. O multime de perechi de pattern-uri este prezentata ^n mod repetat. Paradigmele autoasocierii si heteroasocierii sunt tipice memoriilor asociative. 3. Clasi care. Paradigma clasi carii poate considerata o varianta a autoasocierii. ^n acest caz avem o multime xata de categorii ^n care trebuie I clasi cate pattern-urile de intrare. ^n perioada instruirii, sistemului i se I prezinta pattern-uri din secventa de instruire precizand categoriile din care fac parte. Scopul este de a ^nvata corect clasi carea, astfel ^nc^t, ultea rior, orice pattern de intrare (eventual perturbat fata de pattern-urile din secventa de instruire) sa e clasi cat corect. Aceasta este paradigma tipica pentru algoritmul perceptronului si instruirea prin propagarea ^n urma a erorii ^n retelele feedforward multistrat. Instruirea este supervizata. Instruirea este mai buna daca ^n secventa de instruire apar si pattern-uri perturbate (spre deosebire de paradigma autoasocierii). 4. Detectare de regularitati (clustering). Sistemul trebuie sa descopere caracteristici (trasaturi) comune ^ntr-o multime de pattern-uri. Nu exista categorii a priori de pattern-uri. Sistemul trebuie sa-si construiasca singur categoriile. Instruirea este nesupervizata. Numarul clusterelor poate , sau poate nu , cunoscut a priori. Ponderile initiale 0 oricare oricare oricare 0 aleatoare normalizate Ajustarea wij coixj j = 1 2 : : : n c di ; sgn(witx)]xj j = 1 2 : : : n c(di ; oi)f 0(neti )xj j = 1 2 : : : n c(di ; witx)xj j = 1 2 : : : n cdixj j = 1 2 : : : n wmj = (xj ; wmj ) j = 1 2 : : : n Hebb perceptron delta Windrow-Ho corelatie c^stigatorul a ia tot nesuperv. superv. superv. superv. superv. nesuperv. Tipul ^nvatarii oricare binar continuu oricare oricare continuu Caracteristicile neuronilor Tabelul 2.2: Principalele reguli de instruire. Constantele c si sunt pozitive. Regula de ^nvatare neuron neuron neuron neuron neuron strat de neuroni Neuron sau strat 2.4. REGULI DE ^NVATARE I 39 CAPITOLUL 2. CONCEPTE FUNDAMENTALE 40 2.5 Exemple 1. Exemplu de retea feedforward pe doua straturi cu functie de activare bipolara neuronul 1 + + o1 comparator 1 comparator 2 + + o3 comparator 3 + o2 comparator 4 comparator 5 o5 o4 -1 iesire strat 1 intrare strat 1 intrare strat 2 iesire strat 2 Figura 2.24: Retea feedforward pe doua straturi. Pentru stratul 1: o = ; Wx] h o = ; o1 o2 o3 o4 h i x = x1 x2 ;1 t it 21 6 W1 = 6 ;1 60 4 0 13 0 ;2 7 7 5 1 07 0 ;1 ;3 Pentru stratul 2: h o = o5 ] x = o1 o2 o3 o4 ;1 it h it W2 = 1 1 1 1 3 5 Raspunsurile primului strat se calculeaza astfel: h i o = sgn(x1 ; 1) sgn(;x1 + 2) sgn(x2 ) sgn(;x2 + 3) t Raspunsul pentru al doilea strat este: o5 = sgn(o1 + o2 + o3 + o4 ; 3 5): Observam ca o5 = +1 daca si numai daca o1 = o2 = o3 = o4 = 1. Rezulta ca aceasta retea este o aplicatie a spatiului bidimensional x1 x2 ^n punctele 1. 2.5. EXEMPLE 41 x2 3 portiunea pt. care o1 ,o2,o3,o4 sunt +1 2 1 x1 0 1 3 2 Figura 2.25: Reprezentare ^n spatiul bidimensional. Sa presupunem acum ca avem aceeasi arhitectura, dar ca neuronii au caracteristici sigmoidale. Obtinem: 2 6 6 6 6 6 o=6 6 6 6 6 6 4 2 1+e(1;x1 ) 2 1+e(x1 ;2) 2 1+e(;x2 ) 2 1+e(x2 ;3) ;1 3 7 7 7 ;1 7 7 7 7 7 ;1 7 7 7 5 ;1 o5 = 1 + e(3 5;o 2;o ;o ;o ) ; 1: 1 2 3 4 Aplicatia spatiului bidimensional x1 x2 ^ntr-un segment al axei reale este ^n acest caz mai complicata. 2. Exemplu de retea recurenta Starile retelei sunt v^rfurile unui cub 4-dimensional: f;1 1g4. Trecerea dintra o stare in alta se face de-a lungul unei muchii a hipercubului, deci doua stari succesive difera doar printr-o componenta. Avem: 20 6 W=6 1 61 4 h 1 1 ;1 3 0 1 ;1 7 7 5 1 0 ;1 7 ;1 ;1 ;1 0 it Presupun^nd x0 = 1 1 1 ;1 , obtinem a h i h o1 = sgn(3) sgn(3) sgn(3) sgn(;3) t = 1 1 1 ;1 it CAPITOLUL 2. CONCEPTE FUNDAMENTALE 42 ∆ ponderea=+1 ponderea=-1 ∆ x0 1 + x0 2 + comparator 2 x0 3 + comparator 3 x0 4 + k+1 o1 comparator 1 comparator 4 ok+1 2 ok+1 3 k+1 o4 ∆ ∆ Figura 2.26: Retea neurala recurenta. h it si deci 1 1 1 ;1 este o stare de echilibru. Tot o stare de echilibru este si h i ;1 ;1 ;1 1 t . h it Presupun^nd x0 = 1 1 1 1 , obtinem: a h i o1 = sgn(1) sgn(1) sgn(1) sgn(;3) t : h i h i Are deci loc tranzitia 1 1 1 1 ! 1 1 1 ;1 si se ajunge la cea mai apropiata stare de echilibru. Veri cati singuri ce se int^mpla c^nd x0 ia alte valori: a a h it h it h i x0 = 1 1 ;1 ;1 x0 = 1 ;1 1 ;1 x0 = ;1 1 1 ;1 t : 3. Exemplu de retea feedback cu timp continuu Fie reteaua din gura 2.27 unde oi = f (neti) i = 1 2, iar f este functia de activare continua bipolara. ^n aceasta gura, R12 si R21 sunt ponderi negative, I ^nt^rzierile sunt realizate de dispozitivul RC , iar rezistentele R modeleaza curena tul absorbit de neuroni. 2.5. EXEMPLE 43 net 1 R C1 R21 R12 o2 2 net 2 R o1 1 C2 Figura 2.27: Retea electrica a doi neuroni. Obtinem: 8 C dnet = o ;net ; net > 1 dt < R R > C dnet = o ;net ; net : :2 2 1 1 1 12 Discretizam: dt 2 1 8 k+1 > net1 = netk + R 1 < > k+1 : net2 = netk + 2 R21 2 R 2 t (ok ; netk ) ; netk 1 2 1 RC1 12 C1 t netk t k k 2 R21 C2 (o1 ; net2 ) ; RC2 t : Presupunem ca C1 = C2, R12 = R21 < 0 pentru aceasta retea. Presupunem ca circuit a fost initializat prin ^ncarcarea condensatoarelor (cu o0 , o0 , nu neaparat 1 2 egale). Reteaua ^si cauta unul din cele doua puncte de echilibru ( g. 2.28). Simularea retelei se face pe calculator prin ecuatiile date. 4. Exemplu de ^nvatare hebbiana ^n gura 2.29, avem intrarea: I si ponderile initiale: 2x 6 x1 x = 6 x2 6 43 x4 h 3 7 7 7 5 i w 1 = 1 ;1 0 0 5 t : CAPITOLUL 2. CONCEPTE FUNDAMENTALE 44 o2 1 x o1 1 -1 x -1 Figura 2.28: Modul ^n care reteaua ^si gaseste cele doua puncte de echilibru. Presupunem ca aceasta retea este instruita folosind multimea de vectori de intrare: 213 213 203 6; 7 607 617 x1 = 6 1 2 7 x2 = 6 ;;25 7 x3 = 6 ;1 7 : 6 57 6 7 6 7 4 5 4 5 4 5 0 ;1 5 15 Consideram c = 1. Presupunem pentru ^nceput ca avem neuroni bipolari binari: f (net) = sgn(net). x1 x2 o x3 x4 Figura 2.29: Retea neurala pentru ^nvatarea hebbiana. Pasul 1. Se aplica x1. 213 h i6 ; 7 net1 = w1t x1 = 1 ;1 0 0 5 6 1 2 7 = 3 6 57 4 5 0 2.5. EXEMPLE 45 w2 = w1 + sgn(net1 )x1 = w1 + x1 213 213 223 6 76 76 7 w 2 = 6 ;1 7 + 6 1 2 7 = 6 1 3 7 : 6 0 7 6 ;5 7 6 ;5 7 4 54 54 5 Pasul 2. Se aplica x2. 05 0 05 213 7 h i6 net2 = w2tx2 = 2 ;3 1 5 0 5 6 ;025 7 = ;0 25 6; 7 4 5 ;1 5 213 6 7 w3 = w2 + sgn(net2 )x2 = w2 ; x2 = 6 ;2 55 7 : 63 7 4 5 Pasul 3. Se aplica x3. 2 net3 = w3tx3 = ;3 213 6 7 w4 = w3 + sgn(net3 )x2 = w3 ; x3 = 6 ;3 55 7 : 64 7 4 5 05 Sa presupunem acum ca functia de activare este continua si bipolara. Luam = 1 si pornim din nou de la w1. Pasul 1. Se aplica x1. 2 1 905 3 6 81 7 f (net1 ) = 0 905 w1 = 6 ;2357 7 61 7 4 5 05 Pasul 2. Se aplica x2. 2 1 828 3 6 7 f (net2) = ;0 077 w2 = 6 ;2 5772 7 6 1 12 7 4 5 0 616 Pasul 3. Se aplica x3. 2 1 828 6 f (net3 ) = ;0 932 w3 = 6 ;344 627 4 ;0 783 3 7 7: 7 5 Se observa ca pentru functia de activare continua se obtin ^n general rezultate ^n aceeasi directie, valorile ind ^nsa mai diferentiate. CAPITOLUL 2. CONCEPTE FUNDAMENTALE 46 5. Exemplu de ^nvatare prin regula perceptronului Consideram urmatorii vectori de intrare: 213 203 2 67 61 7 6 x1 = 6 ;2 7 x2 = 6 ;0 55 7 x3 = 6 607 6 7 6 45 4 5 4 ;1 ;1 ;1 3 1 05 ;1 7 7 7 5 213 6 7 w1 = 6 ;1 7 607 4 5 05 si c = 0 1. Raspunsurile dorite de catre supervizor pentru x1 , x2 , x3 sunt -1, -1 si, respectiv, 1. Pasul 1. Se aplica x1. 213 h i6 7 net1 = w1t x1 = 1 ;1 0 0 5 6 ;2 7 = 2 5: 607 45 ;1 Deoarece ;1 6= sgn(2 5), are loc o corectie a ponderilor: 213 6 7 w2 = w1 + 0 1(;1 ; 1)x1 = 6 ;1 7 ; 0 607 4 5 05 2 1 3 2 08 3 6 76 7 2 6 ;2 7 = 6 ;0 6 7 : 607 6 0 7 4 54 5 ;1 07 Pasul 2. Se aplica x2. 2 08 3 7 h i6 net2 = w2t x2 = 0 1 5 ;0 5 ;1 6 ;0 6 7 = ;1 6: 607 4 5 07 Deoarece ;1 = sgn(;1 6), nu se aplica nici o corectie. Pasul 3. Se aplica x3. 2 08 3 7 h i6 net3 = w3t x3 = ;1 1 0 5 ;1 6 ;0 6 7 = ;2 1: 607 4 5 07 Deoarece 1 6= sgn(;2 1), se aplica o corectie: 2 06 3 7 6 w4 = w3 + 0 1(1 + 1)3 = 6 ;0 14 7 : 60 7 5 4 05 2.5. EXEMPLE 47 Nu este o simpla coincidenta faptul ca ultima componenta a vectorilor x1, x2 , x3 este invariabila. ^nvatarea prin regula perceptronului necesita ca o componenta I a vectorului de intrare sa e xata (nu neaparat la valoarea -1). Daca reciclam din nou vectorii x1 , x2 , x3 la intrare, erorile vor mai mici, deci reteaua a "^nvatat". De exemplu, daca dupa ce am aplicat o data x1 , x2 , x3 mai aplicam o data x1 , obtinem net4 = 0 9, deci raspunsul este mai bun dec^t a 1 net = 2 5. Un contraexemplu important: "# x1 = 1 1 " x2 = ;1 ;1 # d1 = 1 d2 = 1 : Trebuie ca w1 + w2 > 0 si w1 + w2 < 0, ceea ce este imposibil. Fie acum: 23 23 1 6 1 7 y2 = 6 ;1 7 d1 = 1 d2 = 1 : y1 = 4 5 4 ;1 5 ;1 ;1 ^n acest caz trebuie ca w1 + w2 > w3 si w1 + w2 < ;w3 . Acest sistem are solutii, I evident, de exemplu w1 = 1, w2 = 1, w3 = ;3. Ce am facut de fapt? Deoarece este evident ca x1 si x2 nu pot ^nvatati ^n mod supervizat, am considerat vectorii extinsi y1 si y2 care se obtin din x1 si x2 prin adaugarea unei componente constante, ;1. Am vazut ca pentru y1 si y2 exista w1 si w2 astfel ^nc^t percepa tronul sa ^nvete corect. Puteti acum folosi regula perceptronului pentru a ^nvata y1 si y2. ^ncercati sa explicati din punct de vedere geometric care este diferenta I dintre a ^nvata x1 si x2 fata de a ^nvata y1 si y2. 6. Exemplu de ^nvatare prin regula delta Folosim aceiasi vectori ca ^n exemplul precedent: 213 203 2 ;1 3 213 67 61 7 6 7 6 7 x1 = 6 ;2 7 x2 = 6 ;0 55 7 x3 = 6 015 7 w1 = 6 ;1 7 607 6 7 6 7 607 45 4 5 4 5 4 5 ;1 ;1 ;1 05 La fel, raspunsurile dorite sunt -1, -1, 1, iar c = 0 2. Se demonstreaza mai t^rziu ca: a f 0(net) = 1 (1 ; o2 ) 2 daca f este functia de activare bipolara continua. Consideram = 1. Pasul 1. Se aplica x1. net1 = w1t x1 = 2 5 o1 = f (net1 ) = 0 848 CAPITOLUL 2. CONCEPTE FUNDAMENTALE 48 f 0(net1 ) = 1 1 ; (o1 )2] = 0 14 2 2 0 974 3 6 7 w2 = c(;1 ; o1)f 0(net1 )x1 + w1 = 6 ;0 0948 7 : 6 7 4 5 0 526 Pasul 2. Se aplica x2. net2 = w2tx2 = ;1 948 o2 = f (net2) = ;0 75 f 0(net2 ) = 1 1 ; (o2)2 ] = 0 218 2 2 0 974 3 6 7 w3 = c(;1 ; o2)f 0(net2 )x2 + w2 = 6 ;0 0956 7 : 6 0 02 7 4 5 0 531 Pasul 3. Se aplica x3. net3 = w3t x3 = ;2 46 o3 = f (net3 ) = ;0 842 f 0(net3 ) = 1 1 ; (o3)2 ] = 0 145 2 2 0 974 3 6 7 w4 = c(;1 ; o3)f 0(net3 )x3 + w3 = 6 ;0 0929 7 : 6 0 16 7 4 5 0 505 Metoda necesita de obicei valori mici pentru c. 2.6 Exercitii 1. Folositi neuronul McCulloch-Pitts pentru a elabora retele care implementeaza urmatoarele functii logice: (a) ok+1 = xk ok o03k , unde x03k este complementul lui xk . Se va folosi un 12 3 neuron. (b) ok+2 = x01k xk x03k . Se vor folosi doi neuroni ^n cascada. 2 k+2 = xk xk . Se vor folosi doi neuroni ^n cascada. (c) o 12 2. Aratati ca retelele neurale din gura 2.30 sunt echivalente (implementeaza aceeasi functie). Se presupune ca: ( 0 f (net) = 0 net > 0 : 1 net 2.6. EXERCITII x1 49 1 1/2 f(net) 1 1 1 -1 x2 + 3/2 1 + + -1 f(net) f(net) o 1/2 -1 1 x1 -1 -1 x2 1/2 1 1 + f(net) -1 2 + f(net) o 1/2 -1 Figura 2.30: Exemplu de retele neurale echivalente. 3. Reteaua din gura 2.31 este un convertor A/D si poate utilizata pentru codi carea unei valori continue x ^ntr-un cod binar unipolar pe 4 biti o3 o2 o1 o0 ). Analizati reteaua si gasiti pentru ce valori ale lui x se obtin codi carile (0 0 0 0) : : : (1 1 1 1). Presupuneti ;1 x 16 si ca ( 0 f (net) = 0 net > 0 : 1 net 4. Reteaua din gura 2.32 foloseste neuroni cu functie de activare bipolara continua ( = 1). S-a masurat ca o1 = 0 28 o2 = ;0 73. Gasiti vectorul de intrare x = x1 x2 ]t care a fost aplicat. 5. Reteaua din gura 2.33 cu functie de activare bipolara continua este proiectata pentru a atribui vectorilor x1, x2, x3 clusterele 1 sau 2. Numarul cluster-ului este identic cu numarul neuronului care produce cel mai mare raspuns. Determinati din ce clustere fac parte vectorii: " # " # " # 0 866 x = ;0 985 x = 0 342 : x1 = 0 5 2 ;0 174 3 ;0 94 6. (C) Reteaua din gura 2.34 foloseste neuroni cu functie de activare bipolara continua ( = 5) si implementeaza o aplicatie de la planul (x1 x2) la segmentul jo1j < 1. Simulati functionarea retelei si tabulati functia o1 (x1 x2 ) pentru jx1 j < 2 5 si jx2 j < 2 5. 7. ^nvatare hebbiana pentru un neuron care este instruit cu: I "# "# "# "# "# 1 0 x= 2 x= 1 1 1 x1 = ;2 x2 = 1 3 3 4 ;1 w = ;1 CAPITOLUL 2. CONCEPTE FUNDAMENTALE 50 -1 0,5 1 + f(net) o0 -1 -2 1,5 1 + o1 f(net) -1 1 -4 -4 3,5 + o2 f(net) -1 1 -8 -8 7,5 + -8 o3 f(net) x Figura 2.31: Convertor A/D. -1 1 o1 2 -1 x1 x2 f(net) -1/2 1/2 f(net) 3/4 o2 Figura 2.32: Retea neurala care foloseste neuroni cu functie de activare bipolara continua. si c = 1. Gasiti ponderile nale pentru cazul c^nd functia de activare este a (a) bipolara binara (b) bipolara continua, = 1. 8. (C) Implementati^nvatarea unui neuron prin regula perceptronului folosind: 1 23 10 23 2 30 0 2 0 w1 = 6 1 7 B x1 = 6 1 7 d1 = ;1 C B x2 = 6 ;1 7 d2 = 1 C A 45 A@ 45 4 5@ 0 ;1 ;1 Repetati secventa de instruire (x1 d1 ), (x2 d2 ) p^na c^nd se obtin raspunaa k obtinute. surile corecte. Listati valorile net 2.6. EXERCITII 51 -0,966 x1 o1 f(net) -0,259 0,906 x2 0,423 o2 f(net) Figura 2.33: Retea neurala care implementeaza un clasi cator. x1 1 f(net) -1 -1 f(net) -1 -1 x2 1 o1 f(net) 1 1 -1 Figura 2.34: Retea neurala care implementeaza o aplicatie de la un plan la o dreapta. 9. (C) Instruiti prin regula delta un neuron folosind = 1, c = 0 25 si 2 30 23 10 23 1 1 2 1 w1 = 6 0 7 B x1 = 6 0 7 d1 = ;1 C B x2 = 6 ;2 7 d2 = 1 C 4 5@ 45 A@ 45 A ;1 ;1 1 Se va folosi f 0(net) = 2 (1 ; o2 ). Repetati secventa de instruire (x1 d1), (x2 d2) si studiati comportarea. 1 10. (C) Folositi aceleasi date ca si ^n problema precedenta, aplic^nd regula a Windrow-Ho . Repetati secventa de instruire. 11. (C) Elaborati un program pentru analiza retelelor feedforward cu doua straturi. Parametrii de intrare sunt: - tipul functiei de activare - , daca este cazul - marimea retelei - vectorii de intrare pentru testarea retelei 12. (C) Implementati algoritmii de ^nvatare pentru un neuron cu cel mult sase intrari. Parametrii de intrare sunt: CAPITOLUL 2. CONCEPTE FUNDAMENTALE 52 - regula (Hebb, perceptron, delta, Windrow-Ho ) functia de activare (daca este cazul) datele pentru instruire numarul de pasi pentru instruire (se pot repeta datele). Capitolul 3 Clasi catori pe baza de perceptroni monostrat ^n acest capitol vom formula fundamentele retelelor neurale instruibile, folosite ^n I procese de decizie. Functia principala a unui sistem de decizie este luarea deciziilor ^n ceea ce priveste clasa din care face parte pattern-ul de intrare considerat. Arhitecturile discutate ^n acest capitol sunt de tip feedforward, neuronii ind dispusi pe un singur strat. 3.1 Clasi care Una dintre cele mai importante categorii de probleme care poate efectuata de o retea neurala este clasi carea pattern-urilor. Un pattern este descrierea cantitativa a unui obiect, eveniment sau fenomen. Clasi carea se poate referi at^t la pattern-uri spatiale c^t si temporale (ex.: imagini video de vapoare, harti a a meteo, amprente, caractere, semnale acustice, electrocardiograme etc.). Scopul clasi carii pattern-urilor este de a atribui un obiect zic, eveniment sau fenomen unei clase speci cate ^n prealabil. Un sistem de clasi care arata ca ^n gura 3.1. masuratori x1 x2 traductor date extragerea trasaturi clasificator trasaturilor ... clasificator clasa clasa i 0 (x)=1 sau 2 sau ... sau R xn pattern-ul x Figura 3.1: Sistem de clasi care. Trasaturile sunt date comprimate obtinute prin reducerea dimensionalitatii. 53 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 54 ....... 1 2 3 4 5 6 7 8 9 10 x i=0 1112 ....... xi =1 de unde putem2extrage vectorul: x1 3 6 x2 7 67 x = 6 .. 7 6.7 45 xn f(t) f(tn) f(t1) f(t2) t t1 t2 tn de unde putem extrage vectorul: 2 f (t ) 3 6 f (t1 ) 7 6 x = 6 .. 2 7 6.7 7 4 5 f (tn) Figura 3.2: Exemple de codi care. De exemplu, din imaginile receptionate de pe satelitul LANDSAT, sunt necesare doar c^teva din componentele spectrale. a Retelele neurale pot utilizate at^t pentru clasi care c^t si pentru extragerea a a trasaturilor. ^n continuare, vom reprezenta componentele de intrare ale unui clasi cator ca I un vector x ( g. 3.2). Clasi carea este obtinuta prin implementarea unei functii de decizie i0 , unde i0 (x) 2 f1 2 : : :Rg. Atunci c^nd pattern-urile de intrare nu sunt identice cu pattern-urile folosite a pentru instruirea clasi catorului, procesul de clasi care se numeste recunoastere. Clasi carea poate descrisa de multe ori ^n termeni geometrici. Orice pattern poate reprezentat printr-un punct ^n spatiul euclidian n-dimensional En numit spatiul pattern-urilor. Un clasi cator aplica multimi de puncte din En ^ntr-unul din numerele 1 2 : : : R. Multimile care contin pattern-urile din clasele 1 2 : : : R le vom nota cu H1 H2 : : : HR , respectiv. ^n gura 3.3, n = 2, R = 4 si i0 = j I pentru orice x2 Hj , j = 1 2 3 4. Regiunile Hi sunt regiuni de decizie separate^ntre ele prin suprafete de decizie. Presupunem ca pattern-urile de pe suprafetele de decizie nu apartin nici unei clase. ^n spatiul n-dimensional, suprafetele de decizie sunt hipersuprafete (n ; 1) I dimensionale. 3.2. FUNCTII DISCRIMINANT 55 x2 H1 (-10,10) H3 (20,10) (4,6) H4 H2 x1 0 H1 Figura 3.3: Regiuni de decizie. 3.2 Functii discriminant Presupunem ca avem o multime nita de pattern-uri n-dimensionale x1 , x2 : : :, xP si cunoastem clasi carea dorita pentru ecare dintre ele. Presupunem ca avem functiile discriminant g1, g2, ..., gR astfel ^nc^t x face parte din clasa i daca si a numai daca gi(x) > gj (x) pentru j = 1 2 : : : R si i 6= j: Valorile gi(x) si gj (x) sunt scalare. Conform relatiei de mai sus, ^n regiunea Hi, gi(x) este maxim ( g. 3.4). g1(x) 1 g2(x) ... 1 Selector 2 de maxim R clasa i0 ... 2 x pattern gR(x) R Figura 3.4: Clasi cator. Daca x se a a pe suprafata de decizie dintre Hi si Hj , atunci gi(x) ; gj (x) = 0: Pentru cazul c^nd R = 2, clasi catorul se numeste dihotomizator. Acest cuv^nt a a provine din alaturarea cuvintelor grecesti dicha (^n doua) si tomia (taietura). ^n I cazul dihotomizatorului, regula de clasi care devine: g(x) > 0: clasa 1 g(x) < 0: clasa 2 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 56 unde g(x) = g1(x) ; g2(x). Functia 8 > ;1 g(x) < 0 < i0 = sgn g(x)] = > nede nit g(x) = 0 : +1 g(x) > 0 implementeaza un dihotomizator ( g. 3.5). Problema gasirii functiilor discriminant este esentiala. Ele pot liniare sau neliniare. pattern x discriminator g(x) comparator g(x) discriminant clasa i0 Figura 3.5: Dihotomizator. Ne vom concentra asupra clasi catorilor ale caror functii discriminant se obtin prin ^nvatare iterativa, cu ajutorul pattern-urilor de instruire. Presupunem ca: 1. Multimea pattern-urilor de instruire si clasi carea lor sunt cunoscute, deci ^nvatarea este supervizata. 2. Functiile discriminant sunt liniare si doar coe cientii lor sunt ajustati pe parcursul procesului de ^nvatare. 3.3 Clasi catori liniari Vom discuta ^n detaliu functiile discriminant liniare. ^n acest caz, suprafetele I de decizie sunt hiperplane. Consideram initial ca R = 2. Centrii P1 , P2 ale clusterelor care formeaza cele doua clase sunt vectorii x1 si x2 , respectiv ( g. 3.6). Punctele prototip P1 si P2 pot interpretate ca centrii de greutate ale clusterelor respective. Vom prefera ca hiperplanul de decizie sa contina mijlocul segmentului care conecteaza P1 si P2 si sa e perpendicular pe vectorul x1 ; x2 . Ecuatia hiperplanului de decizie este atunci: 1 g(x) = (x1 ; x2 )tx + 2 kx2 k2 ; kx1k2 : ^n general, ecuatia lui g(x) este de forma: I w1x1 + w2x2 + : : : + wnxn + wn+1 = 0 sau: wtx + wn+1 = 0 sau: " w wn+1 #t " # x =0 1 3.3. CLASIFICATORI LINIARI 57 x2 g(x)>0 x1-x2 1_ clasa 1 P1 x1 | 1 g(x x1 P2 x2 )=0 -1 | 3 2 izie dec la erp hip e nd clasa 2 Figura 3.6: Separarea a doua clase printr-un hiperplan de decizie. 2 6 6 unde: w = 6 6 4 w1 w2 ... wn 3 7 7 7 7 5 este vectorul ponderilor. ^n cazul precedent, I w = x1 ; x2 wn+1 = 1 kx2 k2 ; kx1k2 : 2 Deci, daca punctele prototip P1 si P2 sunt cunoscute, se deduce si g(x). Functiile discriminant liniare pot folosite si daca avem mai mult dec^t doua a clase. Daca avem R clase, doua c^te doua separabile, atunci vor p^na la R(R2;1) a a hiperplane de decizie. Sa presupunem ca folosim criteriul distantei minime pentru a clasi ca patternuri si ca avem R clase. Fiecare clasa este reprezentata de un punct prototip P1 P2 : : : PR reprezentat de un vector x1 : : : xR. Distanta euclidiana dintre un pattern de intrare x si pattern-ul prototip xi este q kx ; xi k = (x ; xi )t(x ; xi ): Clasi catorul calculeaza distantele dintre x si xi , i = 1 2 : : : R, aleg^nd apoi a clasa pentru care distanta este minima. Avem: kx ; xi k2 = xt x ; 2xtix + xtixi i = 1 2 : : : R: De fapt, cautam xi pentru care se obtine max(xtix ; 1 xti xi ). Putem lua atunci: 2 gi(x) = xti x ; 1 xti xi 2 i = 1 2 : : : R: CAPITOLUL 3. PERCEPTRONI MONOSTRAT 58 Functia discriminant are forma gi(x) = witx + wi n+1 i = 1 2 ::: R unde: wi = xi wi n+1 = ; 1 xtixi i = 1 2 : : : R: 2 Clasi catorii care folosesc criteriul distantei minime pot considerati clasi catori liniari si ei se numesc uneori masini liniare. Un clasi cator liniar arata ca ^n gura 3.7. w 11 w12 ... 1 w1,n+1 + g 1(x) 1 w1 selector de maxim ... x pattern i0 raspuns w R1 ... w + g R(x) R 1 R,n+1 wR ponderi discriminanti Figura 3.7: Clasi cator liniar. Sa observam ca suprafata de decizie Sij dintre regiunile contigue (alaturate, vecine) Hi si Hj este un hiperplan: gi(x) ; gj (x) = 0 Daca de nim: sau: witx + wi n+1 ; wjt x ; wj n+1 = 0: obtinem: "# y= x 1 gi(y) = wit y: Sa presupunem ca avem o multime H de pattern-uri pe care o ^mpartim ^n submultimile H1 H2 : : : HR . Daca o masina liniara poate clasi ca pattern-urile din Hi ca fac^nd parte din clasa i, pentru i = 1 2 : : : R, atunci multimile Hi a sunt liniar separabile. Mai formal, daca exista R functii liniare pentru care: gi(x) > gj (x) pt. x 2 Hi i = 1 2 : : : R j = 1 2 : : : R i 6= j 3.4. PERCEPTRONUL DISCRET CA DIHOTOMIZATOR LINIAR 59 x1 1 _ x2 | 1 0 Figura 3.8: Pattern-uri neseparabile liniar. atunci multimile Hi sunt liniar separabile. ^n gura 3.8 avem un exemplu de pattern-uri liniar neseparabile care pot I modelate prin functia de paritate unipolara XOR(x1 x2 ) = x1 x2 unde este operatorul OR exclusiv. 3.4 Utilizarea perceptronului discret ^n instruirea unui dihotomizator liniar Am vazut ^n sectiunea precedenta cum se pot determina coe cientii discriminantilor liniari (ponderile) din informatia a priori asupra pattern-urilor si a apartenentei lor la diferite clase. ^n aceasta sectiune, ponderile se vor obtine printr-un proces de ^nvatare. I Pattern-urile de instruire x1 x2 : : : xP sunt prezentate masinii liniare ( g. 3.9) ^mpreuna cu raspunsurile corecte. Aceasta secventa de pattern-uri se numeste secventa de instruire. Raspunsul este dat de catre supervizor, iar clasi catorul ^si modi ca parametrii pe baza ^nvatarii iterative supervizate. w1 y1=x 1 yn=xn yn+1=1 comparator w2 ... y2=x2 wn + g(y) i0 =1 sau -1 o=i0 wn+1 d-o - + + d Figura 3.9: Masina liniara. Fie R = 2, deci analizam cazul unui dihotomizator (foloseste doua clase). CAPITOLUL 3. PERCEPTRONI MONOSTRAT 60 Suprafata de decizie ^n spatiul En are ecuatia: wtx + wn+1 = 0 sau: wty = 0 y 2 En+1: Aceasta ecuatie descrie un hiperplan care trece prin origine si este perpendicular pe vectorul y, iar y este ^ndreptat catre semispatiul pentru care wty > 0, deci catre semispatiul unde se a a clasa 1. ^n gura 3.10 este dat un exemplu ^n care pattern-urile y1, y2 ,...,y5 sunt I deplasate de la origine, ^n paralel, de-a lungul hiperplanelor lor de decizie. Este umbrita regiunea din spatiul ponderilor care satisface conditia de separabilitate liniara a claselor 1 si 2. w2 pattern-ul 2 (clasa 2) y 1 5 pattern-ul 4 (clasa 1) pattern-ul 3 (clasa 2) w w ty1 >0 pattern-ul 1 (clasa 1) y 4 w1 4 y 5 1 y2 pattern-ul 5 (clasa 2) y 3 3 2 Figura 3.10: Reprezentarea unor suprafete de decizie ^n spatiul ponderilor. Sa presupunem acum ca ponderile initiale sunt w1. Discutam despre patternul y1 din clasa 1. Conform gurii 3.11, y1 nu este clasi cat corect, deoarece w1ty1 < 0. Ajustam vectorul w astfel ^nc^t wty1 sa creasca c^t mai rapid, deci ^n directia a a gradientului. Gradientul este: rw (wty1) = y1: Deci, atunci c^nd pattern-ul y1 este clasi cat gresit, vom ajusta ponderile astfel: a w0 = w1 + cy1 3.4. PERCEPTRONUL DISCRET CA DIHOTOMIZATOR LINIAR 61 w2 w ty1 >0 w ty1 =0 w ty1 <0 (clasa 1) y 1 w1 w1 Figura 3.11: Ajustarea ponderilor pentru un pattern din clasa 1. unde c > 0 este incrementul de corectie. Repet^nd ajustarea de c^teva ori, indifea a rent de valoarea lui c, ajungem cu ponderile ^n regiunea corecta, unde wty1 > 0. Sa presupunem ca ponderile initiale sunt w1. De data aceasta, discutam despre pattern-ul y1 din clasa 2 ( g. 3.12). ^n acest caz, y1 nu este clasi cat corect, deoarece w1ty1 > 0. Descrestem c^t I a t y , deci ^n directia gradientului negativ: mai rapid pe w 1 w0 = w1 ; cy1: Procedura de instruire supervizata este, asadar: w0 = w1 cy1 unde "+" este valabil c^nd se clasi ca gresit un pattern din clasa 1, iar "-" este a valabil c^nd se clasi ca gresit un pattern din clasa 2. Atunci c^nd pattern-ul este a a clasi cat corect, nu se face nici o corectie. Procedura se repeta iterativ pentru toate pattern-urile de instruire. Vom vedea ca aceasta formula este aceeasi cu regula de ^nvatare a perceptronului discret (sectiunea 3.8). Sa rezumam clasi carea pattern-urilor liniar separabile apartin^nd la doar a doua clase. Se cauta un vector w astfel ^nc^t: a wty > 0 pentru x 2 H1 : wty < 0 pentru x 2 H2 Perceptronul se instruieste pornind cu un vector al ponderilor care este ales arbitrar si cu un increment de corectie ales, de asemenea, arbitrar. Se ajunge la un vector w = wk , k0 ind numarul iteratiilor necesare pentru instruire. ^n I continuare, w = wk = wk +1 = : : : : Se poate demonstra urmatoarea teorema: 0 0 0 62 CAPITOLUL 3. PERCEPTRONI MONOSTRAT w2 w1 w ty1 >0 w ty1 =0 w ty1 <0 (clasa 2) y 1 w1 Figura 3.12: Ajustarea ponderilor pentru un pattern din clasa 2. Teorema de convergenta a perceptronului. Un clasi cator pen- tru doua clase liniar separabile de pattern-uri este ^ntotdeauna instruibil ^ntr-un numar nit de iteratii. Vom discuta mai detaliat aceasta teorema ^n sectiunea urmatoare. Valoarea lui k0 depinde de incrementul de corectie si de secventa de patternuri utilizate pentru instruire. Regula w0 = w1 cy1 devine ^n cazul instruirii percepronului discret: c wk+1 = wk + 2 (dk ; ok )yk unde k este numarul iteratiei, ok este iesirea actuala iar dk reprezinta iesirea dorita pentru vectorul yk aplicat la intrare. Daca dk = ok , nu se ajusteaza wk . Daca dk = 1 si ok = ;1, atunci: wk+1 = wk + cyk : Daca dk = ;1 si ok = 1, atunci: wk+1 = wk ; cyk : Algoritmul de instruire a unui perceptron discret care poate folosit apoi ca dihotomizator liniar este urmatorul: Se dau P perechi (x1 d1 ), (x2 d2),...,(xP dP ), unde xi este un vector de n elemente, i = 1 2 : : : P . Se de neste vectorul y1 = h i xi 1 t , i = 1 2 : : : P . 1. Se alege c > 0. 3.5. PERCEPTRONUL CONTINUU CA DIHOTOMIZATOR LINIAR 63 2. Se initializeaza vectorul w de n + 1 elemente cu valori aleatoare si mici. Se fac urmatoarele initializari: k 1, i 1 si E 0. 3. y yi , d di , o sgn(wt y): 4. w w + 1 c(d ; o)y: 2 5. Se calculeaza eroarea patratica cumulata: 1 E E + 2 (d ; o)2: 6. if i < P then i i + 1, k k + 1, go to 3. 7. if E > 0 then E 0, i 1, go to 3. else "s-a terminat instruirea", write w, k. 3.5 Utilizarea perceptronului continuu ^n instruirea unui dihotomizator liniar Utilizarea perceptronului continuu are doua avantaje: 1. Un control mai n asupra procedurii de instruire. 2. Se lucreaza cu caracteristici diferentiabile ale comparatorului, ceea ce permite calcularea gradientului erorii. ... y1 =x1 o yn =xn yn+1 =1 E generator de eroare d Figura 3.13: Modelul folosit la instruirea unui perceptron continuu folosit ca dihotomizator liniar. Problema modi carii ponderilor se rezolva foarte elegant prin minimizarea functiei care masoara eroarea de clasi care, iar aceasta minimizare se realizeaza prin folosirea gradientului ( g. 3.13). Se porneste de la un vector w arbitrar si se calculeaza rE (w), gradientul functiei eroare curente. Urmatoarea valoare a lui w este obtinuta ^ndrept^ndu-ne ^n directia gradientului negativ de-a lungul a suprafetei multidimensionale a erorii. Directia gradientului negativ este cea a descresterii cea mai rapide. Luam deci: wk+1 = wk ; rE (wk ) 64 CAPITOLUL 3. PERCEPTRONI MONOSTRAT unde este constanta de ^nvatare, o valoare pozitiva. Eroarea de clasi care care trebuie minimizata este: 1 Ek = 2 (dk ; ok )2 h i2 = 1 dk ; f (wktyk ) : 2 Obtinem (pentru simpli carea scrierii, omitem temporar indicii k): rE (w) = ;(d ; o)f 0(net)y unde net = wty, sau: @E = ;(d ; o)f 0(net)y i = 1 2 : : : n + 1 i @wi care este, de fapt, regula delta de ^nvatare pentru perceptronul continuu. Daca functia de activare este f (net) = 1 + 2;net ; 1 e ^n care luam = 1, atunci 2 ;net f 0(net) = (1 +ee;net )2 : Aplicam identitatea 2e;net = 1 (1 ; o2) (1 + e;net)2 2 care se veri ca lu^nd o = f (net) si obtinem: a rE (w) = ; 1 (d ; o)(1 ; o2 )y: 2 Rezulta: wk+1 = wk + 1 (dk ; ok )(1 ; ok 2)yk : 2 Aceasta regula corecteaza ponderile ^n aceeasi directie ca si regula c wk+1 = wk + 2 (dk ; ok )yk din cazul perceptronului discret. Difera marimea vectorului de corectie a ponderilor. Ambele reguli implica adunarea sau scaderea unei fractiuni din y. Diferenta esentiala este prezenta factorului moderator 1 ; ok 2. Acest factor este 0 < 1 ; ok 2 < 1. Atunci c^nd raspunsurile sunt eronate, avem urmatoarea proprietate: a pentru net apropiat de 0, factorul de corectie este mai mare dec^t daca net este a departe de 0. Aceasta contribuie la stabilitatea procesului de ^nvatare. 3.5. PERCEPTRONUL CONTINUU CA DIHOTOMIZATOR LINIAR 65 O alta diferenta semni cativa este ca algoritmul pe baza perceptronului discret duce ^ntotdeauna la o solutie (daca solutia exista). Acest lucru nu este garantat ^n cazul perceptronului continuu pentru orice valoare a lui . Deoarece valorile ponderilor se modi ca de la un pas la altul, nu mergem de fapt exact ^n directia lui ;rE (w). Pentru mic, putem considera ca mergem ^n aceasta directie. Pentru o valoare a lui su cient de mica, se ajunge la un w care ^l minimizeaza pe E (w). Nu avem o teorema a perceptronului de tip continuu care sa garanteze convergenta catre o solutie. Algoritmul de instruire a unui perceptron continuu pentru utilizarea sa ca dihotomizator liniar este urmatorul: Se dau P perechi (x1 d1 ), (x2 d2),...,(xP dP ), unde xi este un vector de n elemente, i = 1 2 : : : P . Se de neste vectorul y1 = h i xi 1 t , i = 1 2 : : : P . 1. Se aleg > 0, = 1 si Emax > 0. 2. Se initializeaza vectorul w de n + 1 elemente cu valori aleatoare si mici. Se fac urmatoarele initializari: k 1, i 1 si E 0. 3. y yi, d di, o f (wty), care este functia de activare continua. 4. w w + 1 (d ; o)(1 ; o2 )y: 2 5. Se calculeaza eroarea patratica cumulata: 1 E E + 2 (d ; o)2: 6. if i < P then i i + 1, k k + 1, go to 3. 7. if E Emax then E 0, i 1, go to 3. else "s-a terminat instruirea", write w, k, E . ^n acest capitol am presupus p^na acum ca yn+1 = +1. Fie acum un dihoI a tomizator bazat pe perceptron, ^n care yn+1 = ;1 ( g. 3.14). w1 ... y1 =x1 yn =xn yn+1 =1 f(net) wn wn+1 Figura 3.14: Perceptron instruit ca dihotomizator. Ca urmare a procesului de instruire, obtinem acelasi rezultat, doar semnul lui wn+1 se inverseaza. Putem lua deci yn+1 = +1 sau yn+1 = ;1. CAPITOLUL 3. PERCEPTRONI MONOSTRAT 66 Sa presupunem, ^n cazul dihotomizatorului bazat pe perceptronul continuu, ca luam yn+1 = ;1. Atunci: net = wt x ; wn+1: Luam T = wn+1. Avem: ( f (net) > 0 pentru wtx > T : f (net) < 0 pentru wtx < T Functia de activare f cu argumentul wtx este cea din gura 3.15. f(net) 1_ net T=wn+1 -1 Figura 3.15: Functia de activare folosita de un perceptron instruit ca dihotomizator. Procesul de instruire accepta pentru yn+1 orice valoare constanta. Lu^nd ^nsa a yn+1 = ;1, wn+1 devine egal cu pragul T al neuronului. De acum ^ncolo, vom considera yn+1 = ;1 si wn+1 = T , ^n cazul ^n care nu speci cam altfel. 3.6 Mai multe despre teorema de convergenta a perceptronului Vom discuta ^n aceasta sectiune mai ^n detaliu acest important rezultat teoretic. Sa ne reamintim enuntul teoremei: T1. Un clasi cator pentru doua clase liniar separabile de pattern-uri este ^ntotdeauna instruibil ^ntr-un numar nit de iteratii. Iteratiile se refera la relatia: c wk+1 = wk + 2 (dk ; ok )yk 3.6. TEOREMA DE CONVERGENTA A PERCEPTRONULUI 67 adica, daca: dk 6= ok ) wk+1 = wk cyk : O alta varianta a acestei teoreme este cea formulata de Rosenblatt (1957) si de Minsky si Papert (1969): T2. Daca pattern-urile de intrare sunt din f;1 0 +1gn, atunci un perceptron ^nvata ^ntr-un numar nit de pasi sa clasi ce corect pattern-urile, presupun^nd ca acestea sunt liniar separabile. a Trebuie sa notam ca: 1. Ponderile initiale pot numere reale oarecare. 2. Nu ^l putem determina pe k0 deoarece depinde de w , unde w este un vector solutie pentru ponderi. Deci ar trebui sa ^l cunoastem a priori pe w pentru a determina numarul de iteratii. De asemenea, k0 depinde de w1. Ne punem acum problema ce se ^nt^mpla c^nd aplicam algoritmul percepa a tronului asupra a doua clase de pattern-uri care nu sunt liniar separabile. Se poate demonstra urmatoarea teorema: T3. Pentru o secventa nita de pattern-uri de instruire cu n componente din f;1 0 +1gn, algoritmul de instruire a perceptronului va executa, ^ntr-un numar nit de pasi, exact una dintre urmatoarele doua variante: 1. Produce un vector al ponderilor pentru care perceptronul clasica corect toate pattern-urile de instruire, daca si numai daca aceste pattern-uri sunt liniar separabile. 2. Paraseste si reviziteaza un vector al ponderilor, daca si numai daca pattern-urile de instruire nu sunt liniar separabile. Se pot face acum urmatoarele observatii: 1. Rezulta astfel o procedura de testare a liniar separabilitatii. 2. Nu se cunoaste o limita superioara pentru c^t ar dura acest test. a ^n nal, se poate demonstra urmatoarea teorema: I T4. Daca pattern-urile de instruire au componente reale, algoritmul de instruire a perceptronului poate sa nu convearga catre o solutie, chiar daca pattern-urile sunt liniar separabile (constanta de ^nvatare ind oarecare). Cu alte cuvinte, atunci c^nd pattern-urile de instruire au componente reale a oarecare, alegerea unei constante de ^nvatare adecvate devine critica si aceasta constanta nu mai poate un numar real pozitiv oarecare. 68 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 3.7 Instruirea unui clasi cator liniar prin utilizarea unei retele monostrat de perceptroni Fie R > 2 clase doua c^te doua liniar separabile. Exista deci R functii discrimia nant liniare astfel ^nc^t: a gi(x) > gj (x) pentru i j = 1 2 : : : R i 6= j 8x 2 Hi: De nim vectorul ponderilor h i wq = wq1 wq2 : : : wq n+1 t : Sa presupunem ca un pattern y este prezentat unui clasi cator liniar. Daca wity > wjt y, j = 1 2 : : : R, i = j , clasi carea este corecta si 6 w1 0 = w1 w2 0 = w2 ... wR 0 = wR t sunt valorile ajustate ale vectorilor ponderilor. Daca avem wity wmy pentru un m 6= i, atunci: wi0 = wi + cy wm 0 = wm ; cy wk 0 = wk pentru k = 1 2 : : : R k 6= i m sau: wij 0 = wij + cyj pentru j = 1 2 : : : n + 1 wmj 0 = wmj + cyj pentru j = 1 2 : : : n + 1 wkj 0 = wkj pentru k = 1 2 : : : R k 6= i m j = 1 2 : : : n + 1 Acest clasi cator are la iesire un selector de maxim. Sa ^ncercam acum sa ^nlocuim selectorul de maxim dintr-un clasi cator liniar cu R perceptroni discreti ( g. 3.16). Daca x 2 Hi, trebuie ca oi = 1 si oj = ;1 pentru j = 1 2 : : : R si j 6= i. Eliminam astfel selectorul de maxim. Ajustarea ponderilor se face astfel: k wik+1 = wik + c2 dk ; ok yk pentru i = 1 2 : : : R: i i Aceasta este regula de instruire a clasi catorului bazat pe o retea de perceptroni discreti. ^n relatia de mai sus, di si oi se refera la al i-lea perceptron. I Teorema perceptronului se poate generalizaa si demonstra si pentru cazul cu R > 2 clase doua c^te doua liniar separabile. a Algoritmul de instruire a unei retele monostrat de perceptroni folosita ca si clasi cator liniar este urmatorul: 3.8. EXEMPLE 69 ... ... x -1 w11 w12 w1,n+1 w21 w22 w2,n+1 comparator 1 + comparator 2 + comparator R o1 o2 ... + ... wR1 wR2 wR,n+1 oR Figura 3.16: Clasi cator liniar cu R clase. Se dau perechile (x1 d1),... ,(xP dP ), unde xi este un vector i de h t R elemente si i = 1 2 : : : P . Se de nesc vectorii yi = xi ;1 , i = 1 2 ::: P. 1. Se alege c > 0, ca ^n cazul perceptronului discret. 2. Se initializeaza matricea W de R (n + 1) cu valori aleatoare si mici. Se initializeaza k 1, p 1 si E 0. 3. y yp, d dP , oi sgn(wity), pentru i = 1 2 : : : R, unde wi este linia i din matricea W. 4. wi wi + 1 c(di ; oi )y, pentru i = 1 2 : : : R, unde i reprezinta 2 elementul al i-lea din vectorul d. 5. E 1 (di ; oi )2 + E , i = 1 2 : : : R. 2 6. if i < P then i i + 1, p p + 1, go to 3. 7. if E Emax then E 0, i 1, go to 3. else "s-a terminat instruirea", write w, k, E . Putem folosi si o retea de perceptroni de tip continuu ( g. 3.17). ^n acest caz, ajustarea ponderilor se face astfel: I wik+1 = wik + 1 (dk ; ok ) 1 ; ok2 yk pentru i = 1 2 : : : R: i 2ii Asupra acestei formule si a retelei de perceptroni de tip continuu vom discuta pe larg ^n capitolul urmator. 3.8 Exemple Exemplu de construire a unui clasi cator liniar Avem urmatoarele pattern-uri (3.18): "# "# "# 10 2 x1 = 2 x2 = ;5 x3 = ;5 5 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 70 ... o1 ... x -1 w11 w12 w1,n+1 ... wR1 wR2 wR,n+1 oR Figura 3.17: Retea de perceptroni de tip continuu. cu n = 2 si R = 3. Folosim formula wi = xi wi n+1 = ; 1 xti xi 2 i = 1 2 : : : R: si obtinem ponderile: 2 3 2 3 2 10 2 ;5 3 w1 = 6 2 7 w2 = 6 ;5 7 w3 = 6 5 7 : 4 5 4 5 4 5 ;52 ;14 5 Din formula: gi(x) = witx + wi i+1 obtinem functiile discriminant i = 1 2 ::: R g1(x) = 10x1 + 2x2 ; 52 g2(x) = 2x1 ; x2 ; 14 5 g3(x) = ;5x1 + 5x2 ; 25: Din wit x + wi n+1 ; wjt x ; wj n+1 = 0 sau din gi(x) ; gj (x) = 0, obtinem: S12 : 8x1 + 7x2 ; 37 5 = 0 S13 : ;15x1 + 3x2 + 27 = 0 S23 : ;7x1 + 10x2 ; 10 5 = 0: ;25 3.8. EXEMPLE 71 x2 S13 P3 (-5,5) H1 H3 S 123 P (10,2) 1 x1 S23 S12 P2 (2,-5) H2 Figura 3.18: Suprafetele de decizie pentru un clasi cator liniar. S123 = (2 337 2 686). Exemplu de instruire a unui dihotomizator cu ajutorul unui perceptron discret Avem urmatoarele patru pattern-uri si raspunsuri dorite pentru ecare dintre ele: Clasa 1: x1 = 1 x3 = 3 d1 = d3 = 1 Clasa 2: x2 = ;0 5 x4 = ;2 d2 = d4 = ;1: Pattern-urile extinse sunt: "# " # "# "# 1 ;0 5 y3 = 3 y4 = ;2 : y1 = 1 y2 = 1 1 1 h it Fie ponderile initiale w1 = ;2 5 1 75 alese arbitrar. Regula w0 = w cy devine ^n cazul perceptronului: i ch wk = 2 dk ; sgn(wktyk ) yk : Alegem c = 1. Pasul 1. Aplicam y1 h i " 1 #! o1 = sgn ;2 5 1 75 1 = ;1 d1 ; o1 ="2 # ;1 5 : 2 1 w = w + y1 = 2 75 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 72 x1 x2 1 x1 x2 1 x1 x2 1 10 2 g1(x) + 1 -52 2 -5 + -14,5 g2(x) i 0 =1 sau 2 sau 3 selector 2 de maxim -5 5 + g3(x) 3 -25 Figura 3.19: Clasi catorul liniar care implementeaza regiunile de decizie din gura 3.18. w1 y1 =x1 comparator + net w2 y2 =1 - d-o + + d Figura 3.20: Perceptron discret folosit ca un clasi cator instruibil. Pasul 2. Aplicam y2 o2 = sgn h ;1 5 2 75 i " ;0 5 #! 1 =1 d2 ; o2 = ;2 " # ;1 : 3 2 w = w + y2 = 1 75 Pasul 3. Aplicam y3 o3 = ;1 d3 ; o3 = 2 " # 2: 4 3 w = w + y3 = 2 75 Pasul 4. Aplicam y4 . Dupa citirea lui y4 , nu se modi ca ponderile. Reciclam secventa y1, ..., y4 deoarece nu stim daca perceptronul a reusit sa ^nvete sa clasi ce corect. 3.8. EXEMPLE 73 Pasul 5. Aplicam y1 w5 = w4 : Pasul 6. Aplicam y2 w6 = w5 : Pasul 7. Aplicam y3 h i w7 = 2 5 1 75 t : Pasul 8. Aplicam y4 w8 = w7 : Reciclam din nou si obtinem: h w10 = w9 = w8 = w7 i w11 = 3 0 75 care sunt ponderile nale: Exemplu de instruire a unui dihotomizator liniar cu ajutorul unui perceptron continuu Reluam exemplul din cazul discret. Valoarea erorii la pasul k este: 2 1 Ek = 2 dk ; 1 + e2 netk ; 1 ; unde netk = wkty. Lu^nd yk = yk , pentru k = 1 2 3 4, obtinem: a 2 2 1 1; E1 (w) = 2 1 + e; (w +w ) ; 1 : Consideram = 1 si obtinem: 2 E1 (w) = w +w ]2 : 1+e La urmatorii pasi obtinem: 2 E2(w) = 1 + e0 5w ;w ]2 2 E3 (w) = 1 + e3w +w ]2 2 E4(w) = : 1 + exp(2w1 ; w2)]2 Luam = 0 5 si facem calculele conform algoritmului. Deoarece o nu poate niciodata 1, vom lua de obicei pentru d valorile -0,9 si 0,9. 1 1 2 2 1 1 2 2 CAPITOLUL 3. PERCEPTRONI MONOSTRAT 74 Exemplu de instruire a unui clasi cator reprezentat ca retea de perceptroni discreti Reluam clasi catorul liniar (R = 3) construit deja pe baza distantei minime. Sunt usor de calculat valorile functiilor discriminant ^n x1 , x2 si x3: x1 x2 x3 g1(x) 52 -42 -92 g2(x) -4,5 14,5 -49,5 g3(x) -65 -60 25 Raspunsurile maxime se obtin, desigur, pe diagonala. Construim (nu prin instruire) reteaua de perceptroni corespunzatoare acestui clasi cator ( g. 3.21). x2 -5 2 5 50 -1 + -5 12,5 23 comparator 1 o1 + 10 2 x1 comparator 2 o2 comparator R oR + Figura 3.21: Retea de perceptroni. Ar trebui sa avem w1 3 = 52, w2 3 = 14 5 si w3 3 = 25 ca valori de prag. Putem scadea aceste praguri cu 2 fara ca sa modi cam raspunsurile clasi catorului. Vom construi acum direct clasi catorul prin instruirea retelei de perceptroni. Alegem aleator vectorii initiali: 23 23 23 1 0 6 ;2 7 w1 = 6 ;1 7 w1 = 6 1 7 : 1 w1 = 4 5 2 4 5 3 4 3 5 0 2 ;1 Fie c = 1. Cu "*" marcam raspunsurile incorecte. Pasul 1. (y1) 23 6 10 7 = 1 sgn 1 ;2 0 4 2 5 2 ;1 3 10 sgn 0 ;1 2 6 2 7 = ;1 45 2 ;1 3 10 sgn 1 3 ;1 6 2 7 = 1 45 ;1 3.8. EXEMPLE 75 2 1 2 1 w1 = w1 w2 = w2 Pasul 2. (y2) 2 32 32 3 1 10 ;9 2 w3 = 6 3 7 ; 6 2 7 = 6 1 7 : 4 54 54 5 ;1 ;1 0 23 2 6 ;5 7 = 1 sgn 1 ;2 0 4 5 ;1 3 2 2 sgn 0 ;1 2 6 ;5 7 = 1 45 2 ;1 3 2 sgn ;9 1 0 6 ;5 7 = ;1 45 ;1 232 32 3 2 6 1 7 ; 6 ;5 7 = 6 ;1 7 3 w1 = 4 2 5 4 5 4 3 5 ;1 0 Pasul 3. (y3) 1 3 2 3 2 w2 = w2 w3 = w3 : 3 sgn (w1t y3) = 1 3 sgn (w2t y3) = ;1 3 sgn (w3t y3) = 1 23 4 4 w1 = 6 ;2 7 45 2 4 3 4 3 w2 = w2 w3 = w3 : Se ^ncheie primul ciclu, apoi reluam secventa etc. Se modi ca doar ponderile primului perceptron. 5 4 w1 = w1 23 2 6 w1 = 6 3 7 45 3 23 7 7 w1 = 6 ;2 7 45 4 8 7 w1 = w1 23 5 9 w1 = 6 3 7 : 45 5 Obtinem o retea de perceptroni pentru care: o1 = sgn(5x1 + 3x2 ; 5) o2 = sgn(;x2 ; 2) o3 = sgn(;9x1 + x2 ): S-au produs regiuni de indecizie (^n g 3.22, sunt zonele umbrite). De exemh it plu, pentru Q avem o = 1 1 ;1 : Pe de alta parte, pattern-uri ca acest Q nu au fost utilizate la instruire. CAPITOLUL 3. PERCEPTRONI MONOSTRAT 76 x2 5x1 +3x2 -5=0 -9x 1+x 2=0 P3 (-5,5) o=[+1 -1 -1] o=[-1 -1 +1] t t P 1 (10,2) x1 -x 2 -2=0 Q o=[+1 +1 -1]t P2 (2,-5) o=[-1 +1 -1] t Figura 3.22: Regiuni de indecizie. 3.9 Exercitii 1. (C) Implementati algoritmul de instruire a unui dihotomizator cu ajutorul h it unui perceptron discret lu^nd c = 1, w = 0 0 0 0 si a h it h it h it clasa 1, x: h 0 8 0 5 0 i h 0 9 0 7 0 3 i h 1 0 8 0 5 i t t t 02 01 13 02 07 08 : clasa 2, x: 0 0 2 0 3 ^ncercati si alte valori pentru c. I 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 [100100111] Figura 3.23: Caracterele tiparite L si I folosite al instruirea unui dihotomizator. 3.9. EXERCITII 77 2. (C) Implementati algoritmul de instruire a unui dihotomizator cu ajutorul unui perceptron continuu ^n conditiile problemei precedente. ^ncercati I diferite valori pentru constanta de ^nvatare. 3. Prin algoritmul de instruire a unui clasi cator liniar cu trei clase reprezentat printr-o retea de trei perceptroni discreti, s-a ajuns ca ^n trei pasi sa se termine instruirea. Se considera c = 1. h i 1 1 1 Pasul 1. (x1). Se ajusteaza w1 = w2 = w3 = 0 0 0 t . 2 Pasul 2. (x2). Se ajusteaza w3 . 3 Pasul 3. (x3). Se ajusteaza w2 . ^n nal, I h 4 w1 = 1 3 ;1 it h 4 w2 = 5 ;1 ;2 Gasiti pattern-urile x1 , x2 si x3. it h i 4 w3 = 1 ;1 2 t : 4. (C) Implementati algoritmul de instruire a unui clasi cator liniar reprezentat ca retea de perceptroni discreti folosind c = 1 si urmatoarele pattern-uri de instruire: h it h i0 = 1 pentru x: h 1 0 0 i h 1 t i0 = 2 pentru x: h 1 0 1 i h 1 t i0 = 3 pentru x: h 1 1 0 i h 0 t 0 i0 = 4 pentru x: 0 0 0 1 1 1 0 it 0 it 1 it 1 it 1: Reprezentati suprafetele de decizie rezultate. 5. Proiectati si instruiti un clasi cator pentru caracterele tiparite L si I ( g. 3.23). Folositi un perceptron discret. Ce se ^nt^mpla daca literele sunt distorsiona ate? Rezultat: Apare indecizia. Ar trebui sa instruim perceptronul si cu aceste litere distorsionate. 78 CAPITOLUL 3. PERCEPTRONI MONOSTRAT Capitolul 4 Retele neurale feedforward multistrat Pentru pattern-uri de instruire care nu sunt liniar separabile, reteaua neurala introdusa ^n capitolul 3 trebuie modi cata. Modi carea se poate face astfel: - e prin utilizarea unor functii discriminant neliniare (de ex. liniare pe portiuni) - e printr-o retea multistrat. Alegem ultima varianta. ^n acest caz, ecare strat este compus dintr-o retea care I se bazeaza pe conceptul de functie discriminant liniara. Retelele multistrat pot implementa suprafete de decizie arbitrare. ^n comI pletare la capitolul 3, se pot rezolva astfel multe alte aplicatii: aproximarea functiilor, recunoasterea caracterelor scrise, recunoasterea vorbirii, sisteme expert, generarea traiectoriilor etc. Retelele neurale multistrat sunt ^n prezent cele mai rasp^ndite arhitecturi. a ^n acest capitol, vom studia retelele neurale multistrat instruibile. I 4.1 Clasi carea pattern-urilor liniar neseparabile Fie doua multimi de pattern-uri Y1 si Y2. Daca nu exista un vector w al ponderilor astfel ^nc^t: a yt w > 0 pentru orice y 2 Y1 yt w < 0 pentru orice y 2 Y2 atunci Y1 si Y2 sunt liniar neseparabile. Vom presupune ca pattern-urile din Y1 si Y2 sunt vectori mariti cu o componenta. Sa presupunem pentru ^nceput ca doua multimi de pattern-uri H1 si H2 trebuie clasi cate ^n doua categorii ( g. 4.1). Aceasta clasi care se poate implementa ca ^n gura 4.2. 79 80 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT clasa 1 clasa 2 3 D C E A 1 B 2 Figura 4.1: Doua multimi de pattern-uri care trebuie clasi cate ^n doua categorii. Fiecare dintre cele sapte compartimente (inclusiv A,...,E) sunt aplicate ^ntrunul din v^rfurile cubului, ^n spatiul o1o2 o3 (spatiul o). Se observa ca ^n spatiul a imagine o, pattern-urile din cele doua clase sunt usor separabile printr-un plan, de exemplu prin planul o1 + o2 + o3 = 0. Perceptronul cu intrarile o1, o2, o3 este un dihotomizator liniar: ( o4 = sgn(o1 + o2 + o3) > 0 :: clasa 1 : sgn(o1 + o2 + o3) < 0 clasa 2 4.2 Regula de ^nvatare delta pentru o retea de neuroni monostrat Fie o retea monostrat de perceptroni de tip continuu ( g. 4.3) ^n care daca yJ = ;1, atunci wkJ , k = 1 2 : : : K sunt chiar valorile pragurilor celor K neuroni. ^n aceasta retea, o = ; Wy], unde: I 2 6 6 y=6 6 4 y1 y2 ... yJ 3 2o 7 6 o1 7 7 o = 6 ..2 6 7 6. 5 4 oK 3 2 w w ::: w 3 1J 7 6 w11 : :12 7 : 7 7 7 W = 6 ..21 6 7 7 7 6. 5 4 5 wK 1 : : : wKJ 4.2. REGULA DE ^NVATARE DELTA I 81 o3 (-1,-1, 1) + comparator 1 + comparator 2 1 o2 + comparator 3 (-1, 0, 1) C (-1, 1, 1) (1,-1, 1) o1 o3 x A B o4 comparator 4 + (1, 1, 1) (-1, 1, 0) (1,-1, 0) 0 transformare pattern-imagine imagine liniar separabila -1 D (-1,-1,-1) o2 (-1, 1,-1) (1,-1,-1) (1, 1,-1) E o1 (b) (a) Figura 4.2: (a) Clasi cator monostrat (b) Reprezentarea pattern-urilor din gura 4.1 ^n spatiul imagine o. 1 w11 y1 ... ... wK1 wkj yj ok ... ... yJ o1 wk1 K w KJ oK Figura 4.3: Retea monostrat de perceptorni de tip continuu. 2 f( ) 0 : : : 0 3 6 0 f( ) : : : 0 7 6 7 7: ; ]=6 ... 6 7 4 5 0 0 : : : f( ) Prin de nitie, 3 d1 7 ... 7 : 5 dK este raspunsul dorit. Generalizam expresia erorii: 2 6 d=6 4 K 1 X d ; o 2 = 1 kd ; o k2 Ep = 2 pk pk 2p p k=1 82 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT pentru un pattern p, p = 1 2 : : : P , unde dp este raspunsul dorit, iar op raspunsul retelei pentru pattern-ul p: 2 3 2 3 dp1 7 op 1 7 6 6 dp = 6 ... 7 op = 6 ... 7 : 4 5 4 5 dpK opK Pentru simplitate, sa presupunem ca yJ = ;1 si wkJ = Tk pentru k = 1 2 : : : K unde Tk sunt praguri. Ca si ^n cazul unui singur perceptron, calculam @E wkj = ; @w kj deci pe directia gradientului negativ al erorii, unde pentru simplitate am omis indicele lui E . Avem: ok = f (netk ) netk = PJ=1 wkj yj pentru k = 1 2 : : : K: j Semnalul de eroare pentru al k-lea neuron este: @E : ok = ; @netk Acest semnal l-am numit si semnal de ^nvatare. Avem: @E = @E @ netk = ; y ok j @wkj @netk @wkj deoarece @netk = y : j @w kj Putem scrie: wkj = ok yj pentru k = 1 2 : : : K Calculam: ok Dar @E @ ok = ; @o @net k k @ok f 0k (netk ) = @net k si Obtinem: j = 1 2 : : : J: @E = ;(d ; o ): k k @ok ok = (dk ; ok )f 0k (netk ) pentru k = 1 2 : : : K: 4.2. REGULA DE ^NVATARE DELTA I 83 Formula de ajustare a ponderilor este atunci: wkj = (dk ; ok )f 0k (netk )yj si este identica cu regula de ^nvatare delta pentru un singur perceptron. Pentru functia de activare continua unipolara, obtinem e;net ; e;net f 0(net) = (1 + e;net)2 = 1 + 1;net 1 + + e;net 1 = o(1 ; o): e 1 ^n acest caz, avem: I ok = (dk ; ok )ok (1 ; ok ): ^n cazul bipolar, am aratat ^n capitolul 3 ca: I f 0(net) = 1 (1 ; o2 ) 2 si deci: 1 2 ok = (dk ; ok )(1 ; ok ): 2 ^n concluzie, actualizarea ponderilor se face pentru k = 1 2 : : : K , j = 1 2 : : : J I astfel: w0kj = wkj + (dk ; ok )ok (1 ; ok )yj pentru 1 ok = 1 + e;netk si w0kj = wkj + 1 (dk ; ok )(1 ; o2 )yj k 2 pentru ! 1 ok = 2 1 + e;netk ; 1 : ^n general, putem scrie I unde 2 W0 = W + o yt 2 3 o1 6 o2 7 6 7 o = 6 . 7: 6 .. 7 4 5 oK Algoritmul de instruire a unei retele monostrat de perceptroni de tip continuu prin regula delta este urmatorul: Se dau perechile (y1 d1 ), (y2 d2 ),...,(yP dP ), unde yi este un vector de J elemente, di este un vector de K elemente, iar componenta J a vectorului yi, i = 1 2 : : : P , este ;1. 84 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT 1. Se aleg > 0 si Emax > 0. 2. Se initializeaza matricea W de K J elemente cu valori aleatoare si mici. Se initializeaza: p 1, q 1 si E 0. t 3. y yp , d dp, ok f (wk y) pentru k = 1 2 : : : K , unde wk este linia k din W. 4. Se actualizeaza ponderile conform regulii 1 wk wk + 2 (dk ; ok )(1 ; o2 )y k pentru k = 1 2 : : : K ^n cazul bipolar si conform regulii wk wk + (dk ; ok )ok (1 ; ok )y pentru k = 1 2 : : : K ^n cazul unipolar. 5. Se calculeaza eroarea patratica cumulata: E E + 1 (dk ; ok )2 k = 1 2 : : : K: 2 6. if p < P then p p + 1, q q + 1, go to 3. 7. if E Emax then E 0, p 1, go to 3. else "s-a terminat instruirea", write W, q , E . 4.3 Regula delta generalizata Vom generaliza acum regula delta de ^nvatare pentru retele feedforward multistrat. Consideram pentru aceasta o retea de neuroni cu doua straturi ( g. 4.4). Straturile de neuroni ale caror iesiri nu sunt direct accesibile se numesc straturi interne sau straturi ascunse. Pentru stratul ascuns avem: @E j = 1 2 : : : J i = 1 2 : : : I vji = ; @v ji @E = @E @ netj @vji @netj @vji vji = yj zi unde yj este semnalul de eroare pentru stratul ascuns av^nd iesirea y. Vom scrie a @E j = 1 2 : : : J yj = ; @netj si atunci @E @ yj yj = ; @y @net j j 4.3. REGULA DELTA GENERALIZATA z1 y1 v 11 w11 v 11 1 wk1 ... o1 yj v ji wkj ... zi 85 ... ok w K1 yJ-1 K v J-1,I zI = -1 ... zI-1 oK w KJ v JI yJ = -1 Figura 4.4: Retea neurala feedforward cu un strat ascuns. unde ! K @E = @ 1 X fd ; f net (y)]g2 : k @yj @yj 2 k=1 k Dar @yj f 0i(netj ) = @net j K @E = ; X (d ; o ) @ (f net (y)]) k k k @yj @yj k=1 K X = ; (dk ; ok )f 0(netk ) @netk @y =; deoarece k=1 K X k=1 ok j ok wkj = (dk ; ok )f 0(netk ) netk = Atunci: yj vji = = f 0j (netj ) K X k=1 X f 0j (netj )zi ok wkj K k=1 J X j =1 wkj yj : ok wkj j = 1 2 ::: J j = 1 2 : : : J i = 1 2 : : : I: 86 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT Ultima relatie este regula delta generalizata. Aceasta regula se poate rescrie ^n felul urmator: v0ji = vji + f 0j (netj )zi K X sau, matriceal: unde ok wkj k=1 j = 1 2 ::: J i = 1 2 ::: I V0 = V + 2 6 z..1 z=6 . 4 zI 3 2 7 7 V=6 6 5 4 v11 ... vJ 1 = f 0j (netj ) sau unde wj este coloana j din W, iar y t 3 v1I 7 ... 7 5 vJI ::: ... ::: ^n aceasta relatie, I yj yz K X k=1 23 6y7 . y = 6 . 7: 4.5 1 yJ ok wkj = wjt of 0 y 2 6 f 0y = 6 4 3 f 0y 7 ... 7 : 5 0 f yJ 1 Pentru cazul unipolar, folosim f 0yj = yj (1 ; yj ), iar pentru cazul bipolar avem 1 f 0yj = 2 (1 ; yj2). Compar^nd regulile de actualizare a ponderilor: a pentru stratul de iesire: W0 = W + oyt pentru stratul ascuns: V0 = V + y zt se observa ca diferenta semni cativa este indicele care localizeaza stratul si modul ^n care se calculeaza vectorul semnalului de eroare : h =h y= o o1 y1 ::: ::: oK yJ it it = (dk ; ok )f 0ok (netk ) t yj = wj o f 0yj (netj ): ok Se observa ca wjt o este produsul scalar al semnalelor de eroare provenind de la stratul urmator. Regula delta generalizata propaga eroarea cu c^te un strat ^n urma. Vom a formaliza ^n continuare aceasta metoda de instruire pentru o retea neurala multistrat. 4.4. ALGORITMUL DE INSTRUIRE BACKPROPAGATION 87 4.4 Instruirea unei retele neurale multistrat prin propagarea ^n urma a erorii ^n general, o retea neurala multistrat aplica vectorul de intrare z ^n vectorul de I iesire o astfel: o = N z] unde N este un operator compus neliniar matricial. Pentru reteaua cu un strat ascuns avem: o = ; W; Vz]]: ^n acest caz, trebuie sa ajustam matricile V si W astfel ^nc^t eroarea I a kd ; ok2 sa e minima. Algoritmul de instruire a unei retele neurale multistrat prin propagarea ^n urma a erorii (error backpropagation) este: Se dau perechile (z1 d1 ), (z2 d2 ),...,(zP dP ), unde zi este un vector de I elemente, ziI = ;1 si i = 1 2 : : : P . Se determina marimea stratului ascuns. Acesta va avea iesirile y, unde y este un vector de J elemente, iar yJ = ;1. Iesirile o din retea sunt vectori de K elemente. 1. Se aleg > 0 si Emax > 0. Se initializeaza matricea W de K J si matricea V de J I elemente cu valori aleatoare, mici. Se initializeaza p 1, q 1 si E 0. 2. Se initializeaza yj z zp d dp f (vjt z) pentru j = 1 2 : : : J unde vj este un vector coloana reprezent^nd linia j din V, a ok t f (wk y) pentru k = 1 2 : : : K unde wk este un vector coloana reprezent^nd linia k din W. a 3. Se calculeaza eroarea patratica cumulata: 1 E E + 2 (dk ; ok )2 k = 1 2 : : : K: 4. Se calculeaza semnalele de eroare pentru cazul bipolar: 1 2 ok = (dk ; ok )(1 ; ok ) k = 1 2 : : : K 2 K 1 (1 ; y2) X w yj = ok kj j = 1 2 : : : J j 2 k=1 88 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT respectiv, pentru cazul unipolar: ok = (dk ; ok )(1 ; ok )ok yj = yj (1 ; yj ) K X k=1 ok wkj k = 1 2 ::: K j = 1 2 : : : J: 5. Se ajusteaza ponderile stratului de iesire: wkj wkj + ok yj k = 1 2 ::: K j = 1 2 : : : J: 6. Se ajusteaza ponderile stratului ascuns: vji 7. 8. vji + yj zi j = 1 2 :::J i = 1 2 : : : I: p < P then p p + 1, q q + 1, go to 2. if E Emax then E 0, p 1, go to 2. if else "s-a terminat instruirea", write W, V, q, E . ^n algoritmul de instruire prin propagarea ^n urma a erorii, ^n loc de I n wkj+1 = putem lua ok yj n vji+1 = yj zi n n wkj+1 = ok yj + wkj n n vji+1 = yj zi + vji unde este o constanta numita momentum. Prin regula delta, nu ne deplasam de fapt ^n directia gradientului negativ al erorii, deoarece ponderile se modi ca la ecare pas. Pot aparea oscilatii daca este mare. Daca este mic, oscilatiile sunt neglijabile, dar rata ^nvatarii este prea mica. Termenul ^n care apare ltreaza oscilatiile. De obicei, se ia = 0 9 si se poate mari . Daca = 0, ajungem la acelasi rezultat, dar trebuie sa folosim o valoare mai mica pentru . Instruirea poate dura ^nsa mai mult. Algoritmul de instruire prin propagarea ^n urma a erorii face o serie de deplasari ^n sensul gradientilor negativi ai valorilor individuale pe care le ia Ep, adica pentru un pattern, si nu ^n sensul gradientului negativ al lui E . Acest lucru se ^nt^mpla deoarece nu este in nit de mic. Din acest motiv, ^n anumite a cazuri, dupa citirea lui zp, se poate ca E sa creasca! Eroarea referitoare doar la zp scade ^nsa, sau ram^ne zero. a ^n general, functia de activare bipolara duce la rezultate mai bune dec^t I a functia unipolara. ^n cazul discret, intrarea xa este ceruta de teorema perceptronului, permiI t^nd crearea de hiperplane de separatie care nu trec prin origine. La regula delta a 4.5. FACTORI AI ^NVATARII I 89 generalizata, intrarea xa este recomandata nu de o teorema, ci de ideea obtinerii unei aproximari mai exibile. Eroarea cumulata este: PK 1 X X (d ; o )2 : E=2 pk pk p=1 k=1 Aceasta eroare poate foarte mare daca P si K sunt mari. De aceea, este mai adecvat sa folosim: vP K u 1 uX X(d ; o )2 Em = PK t pk pk p=1 k=1 adica eroarea medie normalizata. Atunci c^nd reteaua este instruita ca si clasi cator, ne intereseaza doar eroarea a de decizie: Ner Ed = PK unde Ner este numarul total de erori de clasi care. De obicei, iesirile dorite sunt 0, cu exceptia uneia care este 1 si corespunde clasei din care face parte patternul respectiv. O retea multistrat poate transformata ^ntr-un clasi cator, dupa instruire, prin ^nlocuirea perceptronilor de tip continuu cu perceptroni discreti. Clasi carea este o forma importanta a calculului neural, ^nsa ea limiteaza potentialul de calcul al unei retele, deoarece foloseste raspunsul binar. O retea multistrat poate utilizata si pentru aproximarea functiilor. 4.5 Factori ai ^nvatarii Algoritmul de instruire prin propagarea ^n urma a erorii poate interpretat ca o problema de optimizare: se minimizeaza eroarea medie cumulata Em , merg^nd a pe directia gradientului negativ. O di cultate tipica ar ca prin acest algoritm se poate sa obtinem doar un minim local pentru functia eroare. Prin faptul ca impunem o valoare minima acceptabila pentru Em , putem controla acest lucru. Se poate ^nsa sa nu avem o convergenta a algoritmului, daca ne ^ndreptam spre un minim local ^n loc de a ne ^ndrepta spre un minim global. Este de fapt un algoritm de tip greedy. Totusi, problema minimelor locale nu este o problema majora a acestui algoritm. Aceasta deoarece algoritmul are o natura stohastica: exista o anumita randomizare ^n instruire. Cu c^t reteaua este mai mare, cu at^t mai bine va a a functiona instruirea. Natura stohastica este data at^t de ponderile initiale, c^t a a si de pattern-urile de instruire. Chiar c^nd pattern-urile de instruire au o natura a determinista, adaugarea unui zgomot cu medie zero poate duce al ^mbunatatirea e cientei instruirii. Instruirea functioneaza cel mai bine ^n conditii de randomizare. De aceea, ponderile initiale se aleg cu valori aleatoare, iar pattern-urile de instruire este bine sa e ^ntr-o secventa aleatoare. 90 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT Sa studiem acum efectul lui asupra lui f 0(net) ( g. 4.5). Avem ; net f 0(net) = (12 e ; net )2 +e pentru functia de activare continua bipolara. f’(net, λ ) λ=1 λ=2 λ=0,5 net Figura 4.5: Efectul lui asupra lui f (net). 0 Deoarece ponderile sunt ajustate proportional cu f 0(net), ^nseamna ca ponderile corespunzatoare neuronilor pentru care net = 0 se modi ca cel mai mult. Ponderile neuronilor cu raspunsuri incerte sunt cele mai afectate. Deoarece semnalele de eroare ok si yj sunt de asemenea proportionale cu f 0(net), rezulta ca, componentele erorii care se propaga ^n urma sunt mari doar pentru neuronii cu raspunsuri incerte. Se observa ca, pentru o constanta de ^nvatare xata, ajustarea ponderilor este proportionala cu . Folosirea functiilor de activare cu valoare mare pentru are acelasi efect cu utilizarea unei constante de ^nvatare mari. De aceea, este recomandabil sa pastram = 1 si sa controlam viteza de ^nvatare doar prin . Valoarea optima pentru constanta de ^nvatare depinde de problema de rezolvat. O valoare mare pentru duce al viteza mai mare de ^nvatare, dar se poate ca astfel sa trecem de solutie. O valoare mai mica pentru duce la o ra nare (pasi mai mici) care ^nsa ^nseamna si pasi mai multi, deci timp de procesare mai ^ndelungat. ^n concluzie, trebuie ales ^n mod experimental pentru ecare proI blema. Cel mai bine, se porneste cu av^nd valoare mica si se ^ncearca marirea a acestui parametru pentru a mari viteza algoritmului. S-a observat ca ^n general valorile pentru sunt ^ntre 10;3 si 10. Una dintre cele mai importante probleme este alegerea arhitecturii retelei. Sa presupunem ca avem un singur strat ascuns de J neuroni, ca stratul de iesire are K neuroni si ca avem I noduri de intrare ^n retea. Evident, I este dependent de problema de rezolvat, deci ^l consideram xat. Cum ^i alegem pe J si pe K ? Daca reteaua functioneaza ca un clasi cator, K poate egal cu numarul de clase. Dar K poate considerat si log2 C , unde C este numarul claselor, daca folosim o reprezentare binara a claselor. De exemplu, pentru 2 neuroni de iesire putem avea clasele 0, 1, 2, 3, corespunzatoare iesirilor 00, 01, 10, 11. Numarul 4.5. FACTORI AI ^NVATARII I 91 de neuroni de iesire pentru un clasi cator cu C clase poate deci un ^ntreg ^ntre log2 C si C . Pe de alta parte, comprimarea stratului de iesire sub C neuroni poate afecta perioada de instruire si robustetea retelei nale. De aceea, ^n cazul unui clasi cator, se ia de obicei K = C . Alegerea lui J este ^nca o problema ^n studiu. Retelele cu un singur strat ascuns pot forma regiuni arbitrare de decizie pentru pattern-uri n-dimensionale. Sa presupunem ca avem o colectie de pattern-uri n-dimensionale liniar separabile ^n M regiuni disjuncte apartin^nd ecare la una dintre cele R clase, R M . a Evident, trebuie ca numarul de pattern-uri de instruire, P , sa e mai mare sau cel mult egal cu M . Cu c^t P=M este mai mare, cu at^t instruirea este mai na. Mirchandini si a a Cao 1 au aratat care este numarul maxim de regiuni liniar separabile folosind J neuroni: n X J! k=0 k unde J k ! = 0 pentru k > J . 1 2 2-clasa 1 1,3,5,7-clasa 2 4,6-clasa 3 3 4 6 5 7 Figura 4.6: Regiuni disjuncte care apartin la trei clase. ^n exemplul nostru ( g. 4.6), avem n = 2 si M = 7. Deci, I ! ! ! J + J + J = 1 + J + J2 0 1 2 22 7: De aici, rezulta o estimare pentru marimea stratului ascuns: J = 3. Daca avem n J , atunci numarul maxim de regiuni este ! ! ! J + J + : : : J = 2J 0 1 J si de aici ^l obtimem pe J . Mirchandini, G., W. Cao "On Hidden Nodes in Neural Nets". IEEE Trans. Circuits and Systems, 36, 1989, 661-664. 1 92 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT 4.6 Retele feedforward multistrat folosite ca aproximatori universali Ne propunem sa aproximam functia continua h(x) cu functia treapta H (w x) ( g. 4.7). h(x) H(w,x) h(x) H(w,x) h1 h2 x a x1 x2 xp b { 0 ∆x Figura 4.7: Aproximarea functiei h(x) cu functia treapta H (w x). Presupunem ca se cunosc P esantioane, adica valorile functiei h(x) ^n punctele x1 , x2 ,..., xP . Presupunem ca xi+1 ; xi = x = b ; a i = 1 2 : : : P: P De nim functia 8 > pentru x < 0 <0 (x) = 1 sgn(x) + 1 = > nede nit pentru x = 0 : 2 2 :1 pentru x > 0 Scriem atunci: H (w x) = unde hi = h(xi ). P X i=1 hi x ; xi + 2x ; x ; xi ; 2x ] 4.6. APROXIMATORI UNIVERSALI 93 Putem scrie: x ; xi + 2x ; x ; xi ; 2x = 1 sgn x ; x + x ; 1 sgn x ; x ; x : i i 2 2 2 2 Acest termen este o fereastra de ^naltime unitara si latime x ( g. 4.8). implementare cu perceptroni de tip discret 1- implementare cu perceptroni de tip continuu x x −∆ x 2 0 ___________ i x i ___________ x i +∆ x 2 Figura 4.8: Fereastra de ^naltime unitara si latime x. Fereastra se poate implementa ca ^n gura 4.9. x 1 + -1 comparator 1 1/2 −∆ x ____ 2 xi + 1 -1 -1 +∆ x ____ 2 + comparator 2 o -1/2 Figura 4.9: Retea neurala care implementeaza fereastra de ^naltime unitara si latime x. O retea cu 2P perceptroni discreti poate implementa functia H (w x). Pentru un termen, reteaua se poate descrie ca ^n gura 4.10. ^n general, o functie h(x), unde x este un vector, poate aproximata printr-o I retea neurala cu un singur strat ascuns. ^n ce masura reteaua este instruibila (de I pilda, prin regula delta generalizata), ram^ne o problema deschisa. a Fara a demonstra, vom mentiona doua importante proprietati: 1. O retea feedforward cu un singur strat ascuns poate aproxima oric^t de a bine orice functie neliniara continua. 2. O retea feedforward cu un singur strat ascuns poate implementa o functie booleana arbitrara. 94 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT x 1 + 1 xi - -1 ∆x xi + _______ 2 ∆x _______ x comparator 1 + 1/2 + 2 + + -1/2 comparator 2 1 o + -1 o 2 (b) (a) Figura 4.10: Implementare folosind (a) perceptroni de tip discret si (b) perceptroni de tip continuu cu c^t este mai mare, cu at^t mai mult forma ferestrei se apropie de cea rectangulara. a a 4.7 Teorema lui Kolmogorov si retelele neurale ^n loc de a aproxima o functie continua, ne punem acum problema reprezentarii I ei exacte printr-o retea neurala. ^n 1900, David Hilbert a formulat urmatoarea ipoteza: o functie continua de I mai multe variabile nu este ^n mod necesar decompozabila ^ntr-o suprapunere de functii continue de un numar mai mic de variabile. Aceasta presupunere a fost contrazisa ^n 1957 de Kolmogorov printr-o teorema a carei aplicatii au aparut abia acum, ^n contextul retelelor neurale. Teorema lui Kolmogorov a rma ca orice functie f continua de nita pe un cub n-dimensional este reprezentabila astfel: f (x1 : : : xn) = unde 'q , q = 1 : : : 2n + 1 si variabila. pq , x2 q=1 0n X 'q @ p=1 1 pq (xp )A p = 1 : : : n sunt functii continue de o singura 1 x1 X 2n+1 2 y 1 2 y 2 ... ... ... xn 1 m y m 2n+1 Figura 4.11: Retea neurala care implementeaza o functie oarecare f . Interpretarea neurala este urmatoarea: T1 (Hecht-Nielsen, 1986). Fie f : 0 1]n <n ! <m, f (x) = y, o functie continua oarecare. Atunci, f poate implementata exact 4.8. APLICATII 95 de catre o retea neurala feedforward cu un singur strat ascuns av^nd a arhitectura din gura 4.11. De nim acum functiile de activare pentru aceasta arhitectura. Fie zk iesirea din neuronul ascuns k. Avem: zk = n X j =1 k (xj + k") + k unde este o constanta reala, este o functie monoton crescatoare, independenta de f , " este o constanta rationala 0 < " , unde este o constanta pozitiva arbitrar aleasa. Iesirile yi se calculeaza astfel: yi = X 2n+1 k=1 gi(zk ) unde functiile gi, i = 1 : : : m sunt reale si continue, depinz^nd de f a si ". Aceasta teorema nu ne spune cum sa obtinem functia sau constanta ". Este o teorema existentiala. Ea se poate extinde pentru orice functii continue pe un compact (multime ^nchisa si marginita). Acest rezultat a fost primul pas. Cybenco (1989) a aratat ca orice functie continua de nita pe un compact din <n poate aproximata oric^t de bine de o retea feedforward cun un singur strat a ascuns folosind functii de activare sigmoidale. Uneori se pot obtine aproximari mai compacte folosind mai multe straturi ascunse. Sprecher (1996) a gasit algoritmul de constructie a functiei (din teorema lui Hecht-Nielsen), astfel ^nc^t este monoton crescatoare, independent de f si n. a 4.8 Aplicatii Retelele feedforward multistrat pot aplicate cu succes la multe probleme de clasi care si de recunoastere. Pentru aceasta, nu este necesar sa e cunoscut un model formal pentru clasi care sau recunoastere. Este su cient sa utilizam o arhitectura potrivita si o multime su cienta de pattern-uri de instruire, apoi aplicam algoritmul de instruire prin propagarea^n urma a erorii. Solutia se obtine deci prin experimentare si simulare, nu printr-o abordare formala riguroasa. Cu toate ca nu este foarte clar ce constituie o multime adecvata de patternuri de instruire, sunt raportate o serie de aplicatii ^n recunoasterea vorbirii, a semnalelor sonore etc. Sa notam ca iesirile cu mai mult de doua valori pentru un neuron pot modela incertitudinea. Modul conventional de a construi un sistem expert necesita un expert uman care sa formuleze regulile cu ajutorul carora sa e analizate datele de intrare. Numarul acestor reguli poate foarte mare. Pe de alta parte, de 96 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT 1 1 1 2 2 ... K ... ... I J simptome neuroni ascunsi boli Figura 4.12: Sistem expert conexionist pentru diagnoza medicala. multe ori este di cil de formulat aceste reguli. Deoarece retelele neurale pot instruite fara ca ele sa ^ncapsuleze cunostintele ^n reguli, sa vedem ^n ce masura ele pot aplicate ca o alternativa la sistmele expert conventionale. Retelele neurale pentru diagnosticare, defectoscopie, predictie, recunoasterea formelor rezolva ^n esenta probleme de clasi care, asociere si generalizare. Aceste retele pot achizitiona cunostinte fara sa extraga reguli de tip IF-THEN de la un expert uman. Dupa instruire, ele pot functiona ca sisteme expert. Ceea ce va lipsi este explicarea: un sistem expert neural nu poate explica utilizatorului rationamentul deciziilor luate. Numim aceste sistem expert sisteme expert conexioniste. Atunci c^nd o retea instruita este testata cu un pattern substantial diferit a de cele folosite pentru instruire, raspunsul obtinut se presupune ca rezolva o problema de generalizare. Exemple tipice de generalizare sunt diagnosticarea si predictia. Figura 4.12 descrie functionarea unui sistem expert conexionist pentru diagnostic medical. ^ntr-un sistem expert conventional, o di cultate este formularea si introduceI rea regulilor de catre expertul uman. Sistemul expert conexionist poate ^nvata din diagnosticul curent care a fost acceptat. O atentie speciala trebuie data alegerii lui J . Daca J este prea mic, apar di cultati de aplicare a celor I intrari ^n cele K iesiri. Daca J este prea mare, creste inutil timpul de instruire si de diagnosticare si ponderile sunt di cil de estimat corect. O serie de aplicatii folosesc pattern-uri temporale care se obtin prin esantionarea unor semnale de tip continuu ( g. 4.13). 4.9 Exemple Exemplu de construire a unui clasi cator multistrat pentru pattern-uri liniar neseparabile Fie functia de decizie XOR: 4.9. EXEMPLE 97 ∆ x(t- ∆) x(t- n ∆ ) ∆ x2 x1 x0 x(t- 2∆) ∆ ... x(t) xn strat ascuns ... strat de iesire ... Figura 4.13: Retea neurala cu ^nt^rziere cu un singur canal de achizitie. a x1 0 0 1 1 x2 iesirea 0 1 1 -1 0 -1 1 1 Punctele av^nd coordonatele x1 si x2 de mai sus sunt notate cu A, B, C, D. a x2 clasa 1 clasa 2 o2 1 o=[-1 -1] t B 1 t r1 D C 2 C o=[1 -1] x1 r3 1/2 A o1 1 o=[-1 1] t r2 - -1 A,D (a) B o3 = 0 (b) Figura 4.14: Suprafete de decizie ^n problema XOR. Alegem: 1 : ;2x1 + x2 ; 1 = 0 2 2 : x1 ; x2 ; 1 = 0 2 98 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT ^n mod arbitrar ( g. 4.14a). Pentru aceste linii, vectorii normali unitari sunt: h it 1 r1 = p5 h ;2 1 i t 1 r2 = p2 1 ;1 : x1 -2 x2 o1 1 1 -1 + 1 comparator 2 + 1/2 -1 comparator 1 + 1 o2 comparator 3 o3 1 -1 1/2 -1 Figura 4.15: Reteaua neurala care implementeaza problema XOR. Reteaua neurala din gura 4.15 implementeaza aceste suprafete de decizie prin intermediul stratului ascuns. Pentru acestea, avem: 1 o1 = sgn ;2x1 + x2 ; 2 o2 = sgn x1 ; x2 ; 1 : 2 Arbitrar, se alege linia de decizie ( g. 4.14b) o1 + o2 + 1 = 0 si atunci o3 = sgn(o1 + o2 + 1): Reteaua neurala implementata aici clasi ca pattern-urile A, B, C, D astfel: Simbol x1 x2 o1 o2 o1 + o2 = 1 o3 clasa A 0 0 -1 -1 -1 2 B 0 1 +1 -1 + +1 1 C 1 0 -1 +1 + +1 1 D 1 1 -1 -1 -1 2 Exemplu de instruire prin propagarea ^n urma a erorii Presupunem ca avem o retea cu trei neuroni cu un strat ascuns ( g. 4.16). Neuronii 1,2 si 3 sunt ctivi si ne simpli ca notatia. Presupunem ca ponderile au fost initializate si ca o1 si o2 sunt calculate conform unui pattern de intrare. Calculam o3, o4 , o5 si apoi: 5 3 = (d5 ; o5 )o5(1 ; o5 ) = X f 0(net3 ) k wk3 = o3(1 ; o3) 5 k=5 5 w53 4.9. EXEMPLE 99 o0 = -1 0 3 o1 5 1 o5 4 2 o2 Figura 4.16: Retea neurala multistrat. Functiile de activare sunt unipolare. 4 w50 w53 w54 = o4 (1 ; o4 ) 5w54 =;5 = 5 o3 = 5 o4 : Apoi: w30 = ; 3 w40 = ; 4 w31 = 3o1 w41 = 4 o1 w32 = 3o2 w42 = 4 o2: Putem astfel sa construim prin instruire un clasi cator multistrat pentru patternurile liniar neseparabile din exemplul precedent (problema XOR cu doua variabile). De nim matricile: " # h i w30 w31 w32 : W = w50 w53 w54 V = w40 w41 w42 Pentru = 0 1 se ajunge dupa instruire la: h W = ;3 967 ;8 160 ;5 376 " 6 69 3 54 V = ;1 1269 ;4 8674 Dorim ca reteaua sa functioneze ca un clasi neuronii de tip continuu cu neuroni binari si calculat pentru cazul continuu. i # 4 281 ;4 578 : cator cu iesiri binare. ^nlocuim I pastram ponderile pe care le-am Exemplu de alegere a marimii stratului ascuns ^n gura 4.17 avem un clasi cator pentru problema XOR cu n = 2. PreI supun^nd J n, obtinem pentru J = 2 numarul maxim de regiuni 22 = 4. a 100 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT x2 -1/2 -1 -1/2 -3/2 1 1 o 1 x1 3 -1 1 2 1 1 x2 x1 0 Figura 4.17: Problema XOR pentru n = 2. x3 1/2 -1 3/2 1 x1 1 -2 1 o 2 1 1 x1 -x 2 0 1 x2 1 Figura 4.18: Problema XOR pentru n = 3. Sa consideram acum aceeasi problema pentru n = 3 ( g. 4.18), unde x3 = x1 x2 . Lu^nd n = 3 si M = 2 obtinem J = 1. Am rezolvat deci aceeasi problema, a dar cu mai putini neuroni. 4.10 Exercitii 1. Pattern-urile liniar neseparabile "# x1 = 1 3 " x6 = 225 # "# x2 = 3 3 " x7 = ;2 0 # "# "# "# x3 = 1 2 x4 = 2 2 x5 = 3 2 x8 = 1 0 x9 = 3 0 x10 = 5 0 "# "# "# 4.10. EXERCITII 101 trebuie clasi cate astfel: clasa 1: x4 x6 x7 x8 x9 clasa 2: restul. Elaborati o retea neurala de perceptroni discreti cu un strat ascuns care sa functioneze ca un clasi cator. Nu instruiti reteaua de neuroni, ci folositi metoda din primul exemplu. 2. Fie prototipurile ^n forma extinsa 23 23 23 23 3 4 4 6 1 7 x2 = 6 0 7 x3 = 6 ;1 7 x4 = 6 5 7 x1 = 4 5 45 45 425 1 1 1 1 1 1 1 1 23 23 23 23 5 3 2 1 x5 = 6 3 7 x6 = 6 3 7 x7 = 6 0 7 x8 = 6 1 7 : 45 45 45 45 O masina multistrat cu doi perceptroni discreti bipolari ^n stratul ascuns si un singur perceptron discret bipolar de iesire trebuie sa clasi ce prototipurile astfel ^nc^t: a clasa 1: x1 x2 x3 clasa 2: restul : (a) Veri cati daca vectorii pondere 23 23 2 0 w1 = 6 1 7 w2 = 6 1 7 45 45 5 ;2 asigura separarea liniara a pattern-urilor (primul strat). (b) Completati elaborarea clasi catorului folosind rezultatul anterior si calculati ponderile perceptronului de iesire. 3. Demonstrati ca, pentru n = 2, numarul J al neuronilor stratului ascuns necesari pentru partitionarea prin hiperplane ^n M regiuni este 1p J = 2 8M ; 7 ; 1 : 4. Fie problema clasi carii ^n doua clase a unor pattern-uri planare (n = 2) rezolvata printr-o arhitectura de retea neurala cu J = 8 si K = 2. Determinati o margine inferioara pentru P , care este numarul vectorilor de instruire. Indicatie: Acest numar este egal cu numarul regiunilor separabile, M. 102 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT z1 o1 1 1 -2 0 3 z2 -2 2 1 0 -1 1 -1 o2 3 -1 Figura 4.19: Retea neurala multistrat pentru exercitiul 5. 5. Reteaua din gura 4.19, daca a fost instruita corect, trebuie sa raspunda cu o1 = 0 95 si o2 = 0 05 la pattern-ul de intrare 2 32 3 6 z1 7 = 6 1 7 : 4 z2 5 4 3 5 ;1 ;1 Ponderile au fost initializate ca ^n gura. Se alege = 1, iar neuronii folosesc functia de activare f (net) = 1 + 1;net : e Analizati un pas al algoritmului de instruire prin propagarea ^n urma a erorii realiz^nd urmatoarele operatii: a (a) (b) (c) (d) (e) (f) Gasiti matricile ponderilor, V, W. Calculati netj , y, netk , o. Calculati f 0(netj ) si f 0(netk ). Calculati o si y . Calculati V si W. Gasiti noile valori pentru V si W. 6. (C) Implementati algoritmul de instruire prin propagarea ^n urma a erorii pentru I , J , K si selectabile si un singur strat ascuns. Folositi perceptroni bipolari de tip continuu. 7. (C) Elaborati clasi catorul pentru literele A, I si O de nite ca ^n gura 4.20, cu ajutorul programului de la exercitiul 6. Presupuneti doua tipuri de reprezentari interne: 4.10. EXERCITII 103 Figura 4.20: Literele A, I si O pentru exercitiul 7. (a) n = 16, P = 3, I = 17, J = 9, K = 3 si clasa A: x1 = 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 ]t clasa I: x2 = 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ]t clasa O: x3 = 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 ]t (b) n = 2, P = 16, I = 3, J = 9, K = 3 si clasa A, O: clasa A, I, O: clasa A, O: clasa A, O: clasa A, O: clasa I: clasa A, O: clasa A, O: clasa A, I: clasa A: clasa A, O: clasa A, O: clasa I, O: clasa O: clasa A, O: x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = x1 = 1 1 1 1 2 2 2 3 3 3 3 4 4 4 4 1 ]t 2 ]t 3 ]t 4 ]t 1 ]t 2 ]t 4 ]t 1 ]t 2 ]t 3 ]t 4 ]t 1 ]t 2 ]t 3 ]t 4 ]t ^ncercati diferite valori pentru . Evaluati numarul de cicluri de instruire I pentru ambele arhitecturi. Iesirile trebuie sa e: pentru A: pentru I: pentru O: 1 ;1 ;1 ] ;1 1 ;1 ] ;1 ;1 1 ]: 8. (C) Elaborati o retea pentru pattern-urile liniar neseparabile din gura 4.21 folosind programul scris la exercitiul 6. (a) Selectati un numar potrivit de neuroni ^n stratul ascuns. Folositi K = 104 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT x1 1- clasa 1 clasa 2 clasa 3 3/4 - 1/2 - 1/4 - 0 | 1/4 | 1/2 | 3/4 | 1 x2 Figura 4.21: Pattern-uri neseparabile pentru exercitiul 8. 3, astfel ^nc^t iesirile sa e: a pentru clasa 1: pentru clasa 2: pentru clasa 3: 1 ;1 ;1 ]t ;1 1 ;1 ]t ;1 ;1 1 ]t (b) Instruiti reteaua pentru vectorii din gura si diferite valori pentru . 9. (C) Fie h(x) = 0 8 sin x ;1 x 1 si aproximarea ei printr-o retea neurala o(x). Construiti o retea de perceptroni bipolari de tip continuu cu un strat ascuns care aproximeaza h(x) prin o(x). 10. (C) Realizati un sistem expert conexionist care sa va ajute la plani carea timpului vostru liber. ^n functie de factorii de circumstanta, sistemul expert I va va spune ce activitate sa alegelti. Activitatile posibile sunt: (a) vizita (b) sport (c) lm (d) somn (e) cumparaturi Factorii care determina alegerea activitatii sunt: 4.10. EXERCITII 105 (a) resursele nanciare disponibile (b) starea vremii (c) durata de timp care poate afectata (d) existenta unui prieten care poate vizitat (e) starea de oboseala (f) necesitatea de a face cumparaturi (g) ultima activitate facuta ^n timpul liber (h) existenta unui lm bun Sistemul va realizat ca o retea de perceptroni. Propuneti o secventa de 20 de perechi de forma (activitati, factori de decizie) ca secventa de instruire, cu cel putin 2 perechi pentru ecare activitate din lista. Codi cati intrarile ca variabile mixte (continue si binare) din intervalul 0 1] si atribuiti 0 intrarilor care nu au importanta. Instruiti sistemul si, apoi, testati-l cu date de intrare diferite de cele folosite pentru instruire. 11. (C) Scrieti un program care implementeaza o retea de perceptroni capabila sa clasi ce cifrele 0{9 ^n categoriile par { impar. Pentru instruirea retelei, folositi o secventa de instruire ^n care caracterele sunt codi cate ca matrici binare de 5 3 pixeli. Dupa instruire, utilizati reteaua pentru clasi carea pattern-urilor perturbate. 106 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT Capitolul 5 Retele neurale feedback monostrat Retelele neurale pe care le vom studia ^n acest capitol sunt sisteme dinamice care evolueaza ^n timp, ^ntr-un spatiu discret sau continuu. Evolutia unei astfel de retele este, asa cum vom vedea, disipativ, ^n sensul ca are tendinta de scadere a energiei. Tranzitia ^ntr-o retea neurala dinamica este catre o solutie asimptotic stabila care este un minim local al unei functii a energiei disipate. Retelele discutate^n acest capitol se bazeaza^n special pe lucrarile lui Hop eld (1984, 1985, 1986). Sa mentionam c^teva concepte fundamentale ale sistemelor dinamice. a Am vazut ca un atractor este o stare catre care sistemul evolueaza ^n timp pornind de la anumite conditii initiale. Multimea acestor conditii formeaza bazinul de atractie al atractorului. Daca atractorul este un punct unic ^n spatiul starilor, atunci el este un punct x. Un atractor poate ^nsa consta si dintr-o secventa de stari, caz ^n care se numeste ciclu limita. O retea de acest tip este capabila sa tolereze anumite distorsiuni ale vectorilor de initializare si sa le elimine. 5.1 Fundamentele matematice ale retelelor Hop eld cu timp discret Acest tip de retele au proprietati foarte interesante. Utiliz^nd tehnologii microa electronice si optoelectronice, s-au fabricat microsisteme care se bazeaza pe aceste retele. Conform postulatelor lui Hop eld, o retea feedback monostrat este de forma celei din gura 5.1. Aceasta retea consta din n neuroni cu pragurile T1,...,Tn . Pentru ecare neuron se calculeaza: neti = n X j =1 j 6=i wij vj + ii ; Ti pentru i = 1 2 : : : n 107 108 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT v 1 w21 -1 T 1 i1 1 w12 -1 i2 v2 T 2 v 2 ... ... wn1 2 v 1 wn2 w2n vn in -1 n Tn vn Figura 5.1: Retea feedback monostrat. unde ii este intrarea externa a neuronului i. Vectorial, putem scrie: neti = wit + ii ; Ti pentru i = 1 2 : : : n unde 2 3 23 wi1 7 v1 6 .. 7 6 . 5 v = 6 ... 7 : 67 wi = 4 45 win vn Putem, de asemenea, sa rescriem relatia de mai sus astfel: net = Wv + i ; T unde 2 3 23 23 net1 7 i1 7 T1 6 .. 7 6 . 5 i = 6 ... 7 T = 6 ... 7 65 67 net = 4 4 45 netn in Tn 2 t 3 2 0 w12 : : : w1n 3 6 w1 7 6 w21 0 : : : w2n 7 7 W = 6 ... 7 = 6 .. .. . . . .. 7 : 6 4 56. . 4 5 .7 t wn wn1 wn2 : : : 0 ^n acest model, matricea W este simetrica. I Sa presupunem pentru moment ca functia de activare este sgn( ). Atunci: 8 > vi ram^ne neschimbat daca neti = 0 a < (5.1) > vi ;1 daca neti < 0 : v1 +1 daca neti > 0 Adica: vik+1 = sgn(witvk + ii ; Ti) i = 1 2 : : : n k = 0 1 : : : 5.1. RETELE HOPFIELD CU TIMP DISCRET 109 Regula se aplica asincron, adica pentru c^te o singura valoare a lui i la un moment a 0 dat. Se porneste de la v . Pentru k = 1, avem n actualizari. Pentru ^nceput se actualizeaza vi1, unde numarul neuronului i este aleator. Pentru ceilalti neuroni, iesirile ram^n aceleasi. Se calculeaza apoi vj1, j 6= i, j aleator etc., p^na se coma a 1 2 pleteaza v . Apoi se calculeaza v etc. Acest algoritm particular de actualizare a ponderilor este cunoscut ca o recursivitate stohastica asincrona a retelelor Hopeld. Trebuie sa facem distinctie ^ntre algoritmul asincron si cel sincron (paralel) descris de formula: vk+1 = ; Wvk + i ; T] k = 0 1 : : : Conform acestei formule, toti neuronii ^si pot modi ca simultan iesirile. ^n alI k+1 , aceasta valoare ia locul lui v k goritmul asincron, dupa ce se calculeaza vi i particip^nd la calculul celorlalte componente din vk+1. Procesul continua p^na a a se calculeaza toate valorile din vk+1. Pentru ecare k = 1 2 : : :, avem n actualizari aleatoare individuale, la nivel de neuron. Algoritmul se opreste c^nd a vk+1 = vk . Reprezent^nd vectorul de iesire ^n f;1 1gn, acesta se misca dintr-un v^rf al a a cubului n-dimensional ^ntr-un v^rf adiacent, p^na c^nd se stabilizeaza ^ntr-unul a aa din v^rfuri. Pozitia nala a lui vk , pentru k ! 1, este determinata de ponderile a initiale, pragurile initiale, intrari, v0, dar si de ordinea tranzitiilor. Urmatoarele probleme sunt deschise: daca sistemul are atractori si daca sistemul se stabilizeaza. Pentru a evalua proprietatea de stabilitate, vom de ni functia energiei computationale: 1 E = ; 2 vt Wv ; itv + Ttv care este o forma patratica. Adica: nn n n 1 X Xw v v ; Xi v + XT v : E = ;2 ij i j ii ii i=1 j =1 i=1 i=1 i6=j Fie vik+1 ; vik = vi , adica presupunem ca nodul i s-a modi cat la momentul k. Modi carea este asincrona, deci se refera doar la neuronul i. Calculam rE = ;Wv ; it + Tt ^n care am tinut cont ca W este simetrica. Incrementul energiei este E = rE t v unde 203 6 .. 7 6.7 6 7 v = 6 vi 7 : 6 6.7 6 .. 7 7 4 5 0 110 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT Atunci: E = (;0 itv ; ii + Ti) vi 1 w n X E = ; @ wij vj + ii ; TiA vi pentru i 6= j j =1 ;neti vi E= Pentru functia de activare sgn( ), din relatia 5.1 avem: daca neti < 0 ) daca neti > 0 ) daca net1 = 0 ) vi 0 vi 0 vi = 0 : Adica, avem mereu neti vi 0 si E 0. Aceasta ^nseamna ca energia retelei poate doar sa scada sau sa ram^na constanta. Presupun^nd ca neti 6= 0, atunci a a E = 0 daca si numai daca vi = 0. Cu alte cuvinte, E scade strict daca si numai daca vi 6= 0 si E ram^ne constanta daca si numai daca vi = 0. Daca a neti = 0, atunci vi = 0, deci E = 0. Pentru o stare stabila, adica pentru un atractor,^n cazul unei scheme asincrone avem: vk+1 = klim sgn(Wvk + i ; T): !1 Am aratat ca energia este necrescatoare. Ea este, ^n mod evident, si marginita, ceea ce ^nseamna ca E ^si atinge minimul. Daca algoritmul de actualizare a ponderilor este sincron, se poate ^nt^mpla a ca algoritmul sa cicleze ^ntre doua pattern-uri complementare. Acest lucru este ilustrat de exemplul de mai jos. " # h i 0 W = ;1 ;1 v0 = ;1 ;1 t 0 " #" # " #"# 0 ;1 ;1 = sgn(1) = 1 1 v = ; ;1 0 ;1 sgn(1) 1 "# v2 = ;1 etc. ;1 Vom vedea ca pattern-urile complementare corespund unor nivele identice ale energiei. 5.2 Fundamentele matematice ale retelelor Hop eld cu timp continuu Retelele feedback monostrat cu timp continuu se numesc si retele de tip gradient. O retea de tip gradient converge catre unul dintre minimele stabile din spatiul 5.2. RETELE HOPFIELD CU TIMP CONTINUU 111 starilor. Evolutia sistemului este ^n directia generala a gradientului negativ al functiei de energie. Cautarea unui minim energetic corespunde cautarii unei solutii pentru o problema de optimizare. Retelele de tip gradient sunt exemple de sisteme neliniare, dinamice si asimptotic stabile. i1 i2 w 2n w 1n in ... wn2 w n1 g1 g2 u1 u2 _ v1 un Cn _ v2 v1 ... C2 C1 _ gn vn v2 vn Figura 5.2: Retea neurala de tip gradient care foloseste componente electrice. Vom exempli ca un model de retea neurala de tip gradient prin folosirea unor componente electrice ( g. 5.2). Pentru a pastra notatia originala a lui Hop eld, tensiunile ui sunt de fapt neti . Ponderile wij sunt conductante. Iesirile inversate vi sunt folosite pentru a modela conductante negative, adica inhibitorii. Avem: wij = wji si wii = 0 pentru i j = 1 : : : n: Neuronii pot interpretati ca ampli catori: curentul prin conductanta gi este ampli cat de neuronul i ( g. 5.3). Ci i = 1 : : : n sunt capacitati. Folosind acest model de neuron, putem scrie legea lui Kirchho : 1 0 n n X C BX ii + wij vj ; ui B wij + giC = Ci dui : A @ dt j =1 j 6=i j =1 j 6=i (5.2) Partea st^nga a acestei ecuatii reprezinta curentul total care intra ^n condena satorul de capacitate Ci. Notam conductanta totala care este conectata la in- 112 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT ii wi1 v1 ui ... (v1 -u i)w i1 win -g iu vn g i Ci f(u i ) vi _ du Ci i dt i (vn -u i )w in Figura 5.3: Modelul unui neuron. trarea neuronului i cu Gi = Atunci, ecuatia 5.2 se poate scrie: ii + Fie matricile: h n X j =1 j =1 wij + gi: wij vj ; uiGi = Ci dui : dt C = diag C1 C2 : : : Cn 2 6 u(t) = 6 4 n X i h G = diag G1 G2 : : : Gn i 3 2 3 23 u1(t) 7 v1(t) 7 i1 ... 7 v(t) = 6 ... 7 i = 6 ... 7 6 67 5 4 5 45 un(t) vn(t) in unde u(t) este vectorul starilor, iar v(t) reprezinta vectorul iesirilor. Avem: 8 du(t) > C dt = Wv(t) ; Gu(t) + i ecuatia starilor < > : v(t) = f (u(t)) ecuatia iesirilor Sa studiem stabilitatea sistemului descris de aceste ecuatii. Functia energiei care ne permite sa analizam modelul continuu este: n X Z vi E (v) = ; 1 vt Wv ; itv + Gi fi;1(z)dz 2 0 i=1 unde fi;1(z) este inversa functiei de activare fi. Aceasta formula contine termenul Tt v din functia energiei discrete 1 ; 2 vtWv ; itv + Tt v 5.2. RETELE HOPFIELD CU TIMP CONTINUU 113 ^n termenul al doilea, iar ultimul termen este speci c cazului continuu si dispare pentru ! 1. Avem: d G Z vi f ;1(z)dz = G u ii dvi i 0 i rE (v) = ;Wv ; i + Gu: Atunci: ! dE v(t)] = rE t (v) v = (;Wv ; i + Gu)t v = ; C du t dv _ _ dt dt dt !2 X ;1 = ; Ci dfidv(vi) dvi dt i i deoarece dui = dfi;1(vi) dvi : dt dvi dt u=f -1 (v) -1 | +1 | Figura 5.4: Inversa functiei de activare. ^n gura 5.4, functia fi;1 este monoton crescatoare, deci I dfi;1 (vi ) dvi > 0. Atunci: dE < 0 pentru dv 6= 0 si dt dt dE > 0 pentru dv = 0: dt dt Am gasit o functie Liapunov a sistemului, deci sistemul este asimptotic stabil. Functia E este marginita ^n spatiul iesirilor, deci tinde catre un minim. Modi carile ^n timp nu sunt exact pe directia gradientului functiei de energie (adica pe directia scaderii c^t mai rapide a energiei). a Reteaua de tip gradient, ^n cazul ^n care spatiul iesirilor este marginit, converge catre unul dintre minimele lui E (v), deci catre o stare stabila. Acest minim este ^n interiorul hipercubului iesirilor. Daca ! 1, atunci minimul este ^ntr-un v^rf al hipercubului. a 114 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT Faptul ca sistemul este asimptotic stabil ^n spatiul iesirilor este echivalent cu faptul ca sistemul este asimptotic stabil ^n spatiul starilor u. Aceasta, deoarece ecuatia v(t) = f (u(t)) este monotona. 5.3 Aplicatie: problema comis-voiajorului Vom da o solutie a problemei comis-voiajorului pentru n orase folosind retele de tip gradient (Hop eld, Tank, 1985). Problema este NP-completa. Reprezent^nd problema sub forma unui graf cu n v^rfuri, trebuie sa gasim a a ciclul de lungime minima care trece prin toate v^rfurile. Numarul de astfel de a cicluri care trebuie evaluate este (n;1)! . 2 Se poate elabora o retea neurala de n2 neuroni unipolari de tip continuu care sa rezolve aceasta problema. Aranjam neuronii ^ntr-un tablou de n n elemente. Tabloul este reprezentat ^n gura 5.5, ^n care Poz. reprezinta pozitia ^n ciclu. Poz. 2 A Poz. 1 Poz. 3 D E B C Poz. 4 Poz. 5 Figura 5.5: Reprezentarea cu ajutorul unui graf a problemei comis-voiajorului. Fie orasele A, B,..., E si e acest ciclu. ^l reprezentam prin tabelul 5.1, unde I vxi este iesirea neuronului corespunzator orasului x si pozitiei i ^n ciclu. A B orasul C D E 0 0 0 0 1 1 10 00 00 01 00 23 pozitia 0 1 0 0 0 4 0 0 1 0 0 5 Tabelul 5.1: Reprezentarea ciclului din gura 5.5. Pentru un ciclu care viziteaza toate v^rfurile, tabloul trebuie sa aiba un singur a 1 pe ecare coloana si un singur 1 pe ecare linie. Pozitionam neuronii ^n acest tablou de n n elemente, ^n ecare element pun^nd un neuron. Vom avea exact n a 5.3. APLICATIE: PROBLEMA COMIS-VOIAJORULUI 115 neuroni activi pentru solutie. Presupunem pentru o valoare mare, deci energia este trunchiata: n n n XX X E = ;1 wxi yj vxivyj ; ixivxi 2 x i=1 y j=1 x i=1 unde wxi yj este ponderea de la neuronul yj la neuronul xi. Observam ca domeniul vectorilor v unde se minimizeaza functia E este format din cele 2n v^rfuri ale a 2 hipercubului n -dimensional 0 1]. Scopul optimizarii este selectarea circuitelor minime. Trebuie sa avem obligatoriu c^te un neuron activ pe linie si pe coloana. ^n plus, trebuie sa eliminam a I solutiile triviale, pentru care avem, ^n tablou, linii sau coloane nule. Sa exprimam aceste conditii de optimizare folosind patru functii de energie, ecare ^ndeplinind un rol separat. nn XXX E1 = A vxivxj : 2 x=1 i=1 j =1 j 6=i Produsul vxi vxj se refera la acelasi oras, x. Relatia nn XX i=1 j =1 j 6=i vxivxj = 0 se ^ndeplineste daca cel mult un vxi = 1 iar restul sunt 0, adica daca orasul x apare cel mult o singura data pe circuit. E1 = 0 ^nseamna ca ecare oras este vizitat cel mult o data. Daca E1 > 0, atunci exista orase vizitate de mai multe ori. nnn XX X E2 = B vxivyi: i=1 x=1 y=1 y6=x E2 = 0 ^nseamna ca ecare pozitie din ciclu are cel mult un singur oras asociat ei. Daca E2 > 0, atunci exista mai multe orase vizitate simultan. Observam ca E1 si E2 sunt, de asemenea, nule pentru solutii triviale ^n care avem linii sau coloane ^n tablou care nu contin nici un 1. De aceea, mai introducem: !2 nn XX E3 = C vxi ; n x=1 i=1 pentru a ne asigura ca nu avem o solutie triviala, deci o solutie cu mai putin de n de 1 ^n tablou. E3 = 0 ^nseamna ca avem exact n de 1 ^n tablou. Deci E1 + E2 + E3 are minimul 0 pentru toate matricile care au exact un 1 pe ecare linie si pe ecare coloana. Dorim sa minimizam lungimea ciclului. Notam cu dxy distanta dintre x si y si dxy = dyx. Lungimea ciclului este: nnn 1 X X X d v (v + v ) 2 x=1 y=1 i=1 xy xi y i+1 y i;1 116 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT dar vom folosi urmatoarea functie de energie: E4 = D nnn XXX x=1 y=1 i=1 y6=x dxy vxi(vy i+1 + vy i;1 ) unde vx n+1 = vx1 si vx0 = vxn. Dorim sa minimizam E1 + E2 + E3 + E4 . Prin identi carea termenilor acestei sume cu cei din E , obtinem: wxi yj = ;2A xy (1 ; ij ) ; 2B ij (1 ; xy ) ; 2C ; 2Ddxy ( j i+1 + j i;1) unde ij este simbolul lui Kronecker ( ij = 0 pentru i 6= j , ii = 1). Constantele pozitive A, B , C , D sunt selectate euristic pentru a construi o suma convenabila a termenilor E1 ,..., E4. Ele dau ponderea ecaruia dintre acesti termeni. Obtinem, de asemenea: ixi = 2Cn: Am generat reteaua. Mai trebuie acum sa gasim solutia prin simularea functionarii ei. Din formula generala a ecuatiei starilor: ! n dui = i + X w v ; u G Ci dt i ij j ii j =1 obtinem: n n duxi = ; uxi ; 2A X v ; 2B X v xj yi dt y=1 j =1 0 n nj6=i 1 y6=x n XX X ;2C @ vxj ; nA ; 2D dxy (vy i+1 + vy i;1) x=1 j =1 y=1 y6=x unde este o constanta a timpului. S-au luat = 1, = 50, A = B = D = 250, C = 100, 10 n 30 si s-a rezolvat numeric acest sistem de ecuatii. Nu se ajunge neaparat la solutia optima. Pentru n = 10, 50% din teste au produs cele mai scurte cicluri din 181440 de solutii posibile. Pentru valori mari ale lui n apar, ^nsa, di cultati. Aceasta duce la ^ntrebarea fundamentala daca retelele neurale sunt mai adecvate dec^t calculatoarele clasice pentru rezolvarea problemelor nedeterminist polia nomiale. S-a demonstrat (Bruck, Goodman, 1988) ca nu exista nici o retea de marime polinomiala ^n n care sa rezolve problema comis-voiajorului cu o precizie dorita. Aceasta, at^ta timp c^t NP 6= P! a a Problema comis-voiajorului ilustreaza utilizarea retelelor Hop eld^n probleme de optimizare. S-au obtinut rezultate ^n probleme de alocare a resurselor, plani carea lucrarilor, optimizarea tra cului, optimizarea conexiunilor ^n circuitele integrate (1990), programare liniara si neliniara. 5.4. EXEMPLE 117 ^n concluzie, putem spune ca una dintre limitarile retelelor Hop eld este faptul I ca ajungem de multe ori la un minim local si nu global. Aceasta se datoreaza formei complexe a functiei E (v). Una din di cultati este si traducerea problemei de optimizare ^ntr-o problema de minimizare a energiei. Singurele forme ale functiei de energie care se cunosc sunt cele date de Hop eld. Daca este mare, se poate lua energia trunchiata. Daca intrarile externe sunt nule, dispare si al doilea termen. Schema de rezolvare a unei probleme de optimizare folosind retele feed-back monostrat este cea din gura 5.6. problema de optimizare functia energiei generale E (v) E (W,i,v) E (W,i,v)=E (v) se calculeaza W,i se construieste reteaua sau se elaboreaza algoritmul de simulare se initializeaza reteaua cu conditii initial neutre se implementeaza tranzitiile dinamice punct de echilibru care este solutie STOP Figura 5.6: Modul de rezolvare a unei probleme de optimizare folosind retele feedback monostrat. 5.4 Exemple Retea Hop eld cu timp discret Fie: 20 6 W=6 1 61 4 1 0 1 ;1 ;1 1 1 0 ;1 ;1 3 ;1 7 : 7 5 ;1 7 0 118 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT Presupunem pragurile si intrarile externe zero. Calculam: 2v 3 1 1 h v v v v i W 6 v2 7 67 6v 7 E (v) = ; 2 1 2 3 4 4 35 v4 = ;v1 (v2 + v3 ; v4) ; v2 (v3 ; v4 ) + v3v4 : h it Calcul^nd expresia pentru toate v^rfurile hipercubului: ;1 ;1 ;1 ;1 ,..., a a h it 1 1 1 1 se ajunge la nivelele de energie -6, 0, 2. Tranzitiile au loc pe muchiile hipercubului, h la un v^rf la i alt v^rf cu energie mai scazuta. Minimul de a un h a it t este atins ^n v^rfurile 1 1 1 ;1 si ;1 ;1 ;1 1 , unde avem stari a stabile. Tranzitiile au loc asincron. De aceea, o tranzitie este doar de-a lungul unei singure muchii (se poate modi ca cel mult o componenta). Daca tranzitiile au loc sincron, atunci ele nu minimizeaza energia si nu tind h it catre o stare stabila. De exemplu, pornind din v0 = 1 ;1 1 1 , ajungem la: 2 0 1 1 ;1 3 2 1 3 76 7 hi6 v1 = ; Wv0 = ; 6 1 0 1 ;1 7 6 ;1 7 6 1 1 0 ;1 7 6 1 7 4 54 5 ;1 ;1 ;1 0 1 2 sgn(;1) 3 2 ;1 3 6 sgn(1) 7 6 1 7 = 6 sgn(;1) 7 = 6 ;1 7 : 6 76 7 4 54 5 sgn(;1) ;1 Tranzitia nu mai este de-a lungul unei muchii. Se calculeaza ca v2 = v0 deci oscileaza ^ntre v0 si v1. ^n v0 si v1 energia este 2. Spre deosebire de I tranzitiile sincrone, tranzitiile asincrone duc ^ntotdeauna la unul dintre minimele h i energetice. Daca la tranzitiile asincrone pornim de la ;1 1 1 1 si scadem energia, atunci evolutia se poate desfasura ca ^n gura 5.7. Minimul la care ajungem depinde de ordinea de actualizare a componentelor. Retea de tip gradient Vom elabora un convertor A/D (Tank, Hop eld, 1986) pe 2 biti. Presupunem ca f (ui) este continua unipolara. Se poate arata ca o functie energiei totale aleasa convenabil poate : ! 1 1 1 x ; X v 2i 2 ; 1 X 22i v (v ; 1): E=2 i 2 i=0 i i i=0 5.4. EXEMPLE 119 [-1 1 1 1] (E = 2) [1 1 1 1] [-1 -1 1 1] (E = 0) (E = 0) [-1 -1 -1 1] [1 1 1 -1] (E = -6) (E = -6) Figura 5.7: Variante de evolutie a starilor pentru o serie de tranzitii asincrone. Dorim sa minimizam pe E , ceea ce implica minimizarea lui 1 x ; P1=0 vi2i i 2 care este eroarea de conversie A/D, unde v0 + 2v1 este valoarea zecimala a vech it torului binar v1 v0 si corespunde valorii analogice x. Calcul^nd, ajungem a la: 1 1 1 X X i+j X 2i;1 i 1 E = 2 x2 + 1 2 vivj + 2 ; 2 x vi: 2 2 i=0 j =0 j 6=i i=0 a Pentru x xat, 1 x2 este o constanta, deci irelevanta atunci c^nd minimizam pe 2 E . Expresia energiei ^n reteaua Hop eld este: 1 ;2 11 XX i=0 j =0 wij vi vj 1 X i=0 ii vi: Ultimul termen dispare deoarece minimele sunt ^n v^rfurile hipercubului. Prin a identi carea termenilor din cele doua expresii, ajungem la: w01 = w10 = ;2 i0 = x ; 1 2 i1 = 2x ; 2 Convertorul rezultat este un caz special al unei retele de tip gradient ( g. 5.8). Avem: C0 du0 = x ; 1 + (;2)v1 ; u0(;2 + g0) dt 2 du1 = 2x ; 2 + (;2)v ; u (;2 + g ) C1 dt 0 1 1 care sunt ecuatiile starilor. De exemplu, putem presupune ca folosim o tensiune de referinta av^nd valoarea de -1V ( g. 5.9). a 120 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT 1 x- _ 2 2x-2 i1 u1 u0 Ω -2 -2 g0 Ω g1 i0 C1 C0 1 v1 0 v0 Figura 5.8: Convertor A/D pe doi biti implementat printr-o retea de tip gradient. Ecuatiile starilor devin: 1 C0 du0 = x ; 2 + 2v1 ; u0(2 + g0) dt C1 du1 = 2x ; 2 + 2v0 ; u1(2 + g1): dt Conditia wij 0 asigura realizabilitatea retelei folosind rezistente de valoare I Rij = w1ij . ^nlocuind ponderile si valorile curentilor externi ^n expresia energiei, obtinem pentru valori mari ale lui : E = 2v0 v1 + v20 + 2v1 ; x(v0 + 2v1 ): (5.3) Reprezent^nd gra c functia E , obtinem: a - Pentru x = 0, punctul stationar este punct de minim: v0 = v1 = 0 - Pentru x = 1, punctul stationar este punct de minim: v0 = 1, v1 = 0 - Pentru x = 1 25 punctele stationare sunt: punctul de minim dorit v0 = 1, v1 = 0, dar si punctul de minim nedorit v0 = 0, v1 = 1, precum si un punct sa, undeva ^n interiorul patratului: 0 < v0 < 1, 0 < v1 < 1. ^n loc sa rezolvam sistemul de ecuatii diferentiale, oare nu putem cauta miI nimele lui E ? 5.4. EXEMPLE 121 _ 1 2Ω i1 + -1V − g1 2Ω 1Ω + − i0 -1V xV u1 g0 u0 2 Ω Ω 2 − + _ 1 2Ω C1 C0 1 0 _ v1 _ v0 Figura 5.9: Convertor A/D pe doi biti implementat printr-o retea de tip gradient si care foloseste o tensiune de referinta de 1V. Din relatia 5.3 obtinem: " +1; rE (v) = 22vv01 + 22 ; 2x x " # H = r2E (v) = 0 2 : 20 # Observam : det H11 = 0 " # 0 2 = ;4: det H22 = 2 0 Matricea H nu este pozitiv sau negativ de nita. E nu are deci minim sau maxim, daca nu consideram alte restrictii. Impunem restrictia ca spatiul de iesire sa e 2 patratul 0 1 . Atunci, minimele lui E sunt situate ^n v^rfurile patratului, a daca aceste minime exista. Se poate demonstra acest lucru pentru ! 1. Daca v este o solutie pentru rE (v) = 0 si se a a ^n interiorul patratului, atunci este un punct sa. Rezulta ca pentru a gasi solutia avem doua posibilitati: 1. Rezolvarea numerica a sistemului de ecuatii diferentiale 2. Simularea retelei printr-un program de simulare a circuitelor electronice, de exemplu SPICE. CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT 122 u1 -2 v1 Ω R1 u2 C2 Ω -2 C1 f1 f2 v2 R2 Figura 5.10: Reteaua neurala propusa pentru exercitiul 2. 5.5 Exercitii 1. Simulati ^n SPICE convertorul A/D. Generalizati-l pentru patru biti. 2. Pentru reteaua neurala din gura 5.10, cu mare, gasiti: Ecuatiile starilor Ponderile (conductantele) W Functia energiei E (v) trunchiata rE (v). u1 C1 Ω f1 R1 1 u2 C2 _ v1 1 Ω (a) (b) (c) (d) R2 f2 _ v2 1A Figura 5.11: Reteaua neurala propusa pentru exercitiul 3. 5.5. EXERCITII 123 3. Pentru reteaua neurala din gura 5.11, cu mare, gasiti: (a) (b) (c) (d) (e) Ecuatiile starilor Ponderile (conductantele) W Vectorul i al intrarilor externe Functia energiei E (v) trunchiata rE (v). 4. Fie o retea neurala cu trei neuroni, a carei functie de energie trunchiata este: 2 2 2 E (v) = v1 ; v2 + v3 ; 2v1 v3 ; v1 v3 + 4v1 + 12: Gasiti: (a) rE (v) (b) r2 E (v) (c) Minimele, maximele si punctele sa ale lui E (v), atunci c^nd nu avem a alte restrictii. 1 5 v1 -5 5 -15 2 -5 -15 3 v2 v3 Figura 5.12: Reteaua neurala propusa pentru exercitiul 5. 5. Fie reteaua neurala din gura 5.12, cu mare. Evalu^nd functia de energie a trunchiata, gasiti minimele, maximele si punctele sa^n ;1 1 ]3. Calculati apoi valorile energiei ^n toate v^rfurile cubului. a 6. O retea neurala este descrisa de ecuatiile: ( dui = 1 Pn w v ; u G + i ii i j =1 ij j dt Ci vi = f (ui) Rezolvati numeric acest sistem. pentru i = 1 2 : : : n : 124 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT Indicatie: Alegem, de exemplu, o metoda foarte simpla, cea a lui Euler: 8 k+1 > ui = uk + h C1i Pn=1 wij vjk ; uk Gi + ii pentru i = 1 : : : n < j i i k+1 ; tk unde h = t >k : vi = f (uk) i 7. Implementati metoda din exercitiul 6 pentru problema convertorului A/D pe doi biti si gasiti v(t) (iesirea stabila) pentru: g0 = g1 = 1 ;1 x = 0 1 vi = f (ui) = 1 + e;10ui i = 0 1 Testati programul pentru: C0 = C1 = 1F v0 = 0 25 0 25 ]t v 0 = 0 5 0 5 ]t v0 = 0 75 0 75 ]t: 8. (C) Proiectati o memorie Hop eld recurenta autoasociativa care sa memoreze ca prototipuri caracterele A, I si O, codi cate ca matrici binare de 7 5 pixeli. Implementati algoritmul de regasire si simulati convergenta asincrona a memoriei catre ecare din prototipurile memorate, folosind ca pattern-uri cheie caracterele A, I si O, perturbate. Capitolul 6 Memorii asociative ^n capitolul precedent, ne-am concentrat ^n special pe rezolvarea unor probleme I de optimizare. ^n acest capitol, vom interpreta evolutia unui sistem dinamic ca I o miscare a unui pattern de intrare catre un alt pattern care este memorat si se numeste prototip sau memorie stocata. Retelele neurale din aceasta clasa se numesc memorii asociative. O memorie asociativa e cienta poate stoca un mare numar de pattern-uri. Pe parcursul apelului, memoria este excitata cu un pattern cheie (numit si argument al cautarii) care contine o portiune de informatie despre un anumit pattern dintro multime de pattern-uri memorate. Acest prototip anume poate regasit prin asocierea pattern-ului cheie si a informatiei memorate. S-au elaborat mai multe modele de memorii asociative. Ne vom concentra asupra retelelor feedback din capitolul precedent, dar vom discuta si arhitecturi feedforward de memorie. ^n general, memoriile asociative achizitioneaza informatie a priori. Scrierea ^n I memorie provoaca modi cari ale conexiunilor dintre neuroni. Nu exista adrese, toata informatia din memorie este distribuita spatial ^n retea. Care sunt cerintele pentru o astfel de memorie? Ea trebuie sa aiba o capacitate mare de stocare a prototipurilor. Ea trebuie sa e robusta, astfel ^nc^t o a ^n plus, o distrugere locala a structurii sa nu provoace caderea ^ntregului sistem. I astfel de memorie trebuie sa e capabila de a adauga/elimina asociatii, pe masura ce se modi ca cerintele de stocare. Memoriile asociative permit de obicei cautarea paralela. Scopul cautarii este de a extrage unul sau toate pattern-urile care se potrivesc cu pattern-ul cheie. Se presupune ca memoria biologica opereaza conform principiilor unei memorii asociative: nu exista locatii de memorie cu adrese stocarea este distribuita ^ntr-o retea densa de neuroni interconectati. 6.1 Concepte de baza Diagrama bloc a unei memorii asociative este reprezentata ^n gura 6.1. 125 CAPITOLUL 6. MEMORII ASOCIATIVE 126 x1 v1 x2 v2 ... ... M vn xn Figura 6.1: Diagrama bloc a unei memorii asociative. ^n aceasta gura, x este vectorul intrarilor, v este vectorul iesirilor, x 2 <n, I v 2 <m si v = M x], unde M este un operator neliniar matricial speci c ecarui tip de memorie. Structura lui M re ecta o paradigma speci ca. Pentru memorii dinamice, M implica si variabila timp. Pentru un model de memorie dat, forma operatorului M este exprimata de obicei ^n functie de vectorii prototip care trebuie stocati. Algoritmul care permite calcularea lui M se numeste algoritm de ^nregistrare sau stocare. De obicei, neuronii sunt asezati pe unul sau doua straturi. Maparea v = M x] este numita regasire. Notam prototipurile cu un indice superior ^n paranteza. Sa presupunem ca ^n memorie sunt stocati anumiti vectori prototip, astfel ^nc^t, daca se aplica un pattern cheie, iesirea produsa de memorie si asociata a cheii este raspunsul memoriei. Presupun^nd ca exista p perechi de asocieri stocate: a x(i) ! v(i) pentru i = 1 : : : p si v(i) 6= x(i) pentru i = 1 : : : p atunci reteaua este o memorie heteroasociativa. Daca aplicatia este de forma: x(i) ! v(i) v i =x i pentru i = 1 : : : p () () atunci memoria este autoasociativa. ^n memoria heteroasociativa, asocierile se fac ^ntre multimile ordonate de I vectori fx(1) x(2) : : : x(p) g si fv(1) v(2) : : : v(p)g. Memoriile autoasociative asociaza vectori din cadrul unei singure multimi care este fx(1) x(2) : : : x(p)g. Evident, proiectarea unui vector x(i) ^n el^nsusi nu are nici o semni catie. O aplicatie mai realista a unei mapari autoasociative este asocierea unui pattern cheie perturbat cu prototipul sau stocat ^n memorie. Spre deosebire de memoriile calculatoarelor, care sunt adresabile prin adresa, memoriile asociative sunt adresabile prin continut. Prin retele neurale se pot realiza memorii statice (instantanee, nerecurente) si memorii dinamice (recurente). Memoria din gura 6.2 este una statica realizata 6.2. ASOCIATORI LINIARI 127 x0 v0 M1 Figura 6.2: Memorie statica realizata printr-o retea feedforward. x0 vk+1 M2 xk ∆ Figura 6.3: Memorie dinamica autoasociativa realizata printr-o retea recurenta. printr-o retea feedforward si v0 = M1 x0 ] care reprezinta un sistem de ecuatii algebrice neliniare. ^n gura 6.3 este o memorie dinamica autoasociativa realizata I printr-o retea recurenta pentru care vk+1 = M2 x0 vk ], reprezent^nd un sistem a de ecuatii diferentiale neliniare. Un exemplu de memorie dinamica este reteaua Hop eld ^n care vk+1 = M2 vk ] adica ^n care avem un v0 , dar nu avem intrari externe ( g. 6.4). x0 vk+2 M xk ∆ ∆ M’ xk+1 vk+1 Figura 6.4: Memorie dinamica heteroasociativa. 6.2 Asociatori liniari Memoriile asociative traditionale sunt de tip instantaneu, feedforward. Pentru memoria asociativa liniara avem: v = Wx 128 CAPITOLUL 6. MEMORII ASOCIATIVE unde x este pattern-ul de intrare, iar v pattern-ul de iesire. Nu apar neuroni. Daca totusi introducem formal neuroni, atunci avem: v = M1 Wx] unde M1 ] este un operator matricial liniar unitate. Avem un strat de neuroni de iesire pentru care v1 = f (neti) = neti: Sa presupunem ca dorim sa stocam^n acest asociator liniar p. Se dau perechile de vectori fs(i) f (i) g, i = 1 : : : p. Vectorii s reprezinta stimulii, iar vectorii f sunt raspunsurile fortate. Avem: h i h i s(i) = s(1i) : : : s(ni) t ( f (i) = f1(i) : : : fmi) t : Practic, s(i) pot pattern-uri iar f (i) informatii asupra apartenentei lor la o clasa, sau imagini ale lor. Obiectivul asociatorului liniar este sa implementeze maparea v = Wx sub forma f (i) + (i) = Ws(i) sau, folosind simbolul de mapare s(i) ! f (i) + (i) pentru i = 1 2 : : : p astfel ^nc^t vectorul zgomot (i) sa e minimizat. a Problema se poate pune si astfel: pentru un numar mare de observatii, sa se gaseasca W care minimizeaza Pi k (i)k. Este o problema tipica de statistica matematica si nu o vom aborda aici. Dorim sa gasim W care permite stocarea e cienta a datelor ^n memorie. Aplicam regula de ^nvatare hebbiana pentru a instrui asociatorul: wij 0 = wij + fi sj pentru i = 1 2 : : : m j = 1 2 : : : n unde vectorii f si s trebuie sa e membrii ai perechii de asociere. W0 = W + fst Initializ^nd ponderile din W cu zero, avem: a W0 = f (i) s(i)t : Acesta este primul pas al instruirii. Avem p perechi de ^nvatat, deci: X W0 = f (i) s(i)t p i=1 6.2. ASOCIATORI LINIARI 129 W0 = FSt unde W0 este o matrice de corelatie m n si h i h i F = f (1) f (2) : : : f (p) S = s(1) s(2) : : : s(p) : Sa presupunem ca, dupa instruire, aplicam vectorul cheie s(j) . Atunci: ! p X v= f (i) s(i)t s(j) i=1 (1) (1)t (j ) = f s s + : : : + f (p) s(p)t s(j) : Ideal ar sa avem v = f (j) . Aceasta se ^nt^mpla daca a s(i)t s(j) = 0 pentru i 6= j s(j)t s(j) = 1: Deci, multimea de vectori ortonormali fs(1) : : : s(p)g asigura maparea perfecta. Ortonormalitatea este o conditie supusa intrarilor si ea nu este ^ntotdeauna respectata. Sa presupunem ca s(j)0 este s(j) perturbat: s(j)0 = s(j) + (j ) unde termenul perturbatie (j) se poate presupune statistic independent de s(j) . Pentru cazul c^nd vectorii stocati ^n memorie sunt ortonormali, avem: a v = f s s +f s (j ) (j )t (j ) =f + (j ) p X i=1 i6=j Am tinut cont si de faptul ca considerati ortogonali, adica: s(j)t (j ) (j ) (j )t f (i) s(i)t (j ) (j ) (j ) + p X i=1 i6=j f (i) s(i)t (j ) : este statistic independent de s(j) , deci pot = ks(j)t kk (j ) kcos = 0: Observam ca raspunsul memoriei este asocierea dorita f (j) , plus o componenta aditiva datorata perturbatiei (j) . Aceasta componenta contine ^n paranteza aproape toti termenii lui W ponderati de (j) . Chiar si ^n cazul ^n care vectorii memorati sunt ortonormali, la f (j) se adauga un zgomot foarte mare. Metoda este ine cienta pentru a regasi un pattern perturbat. CAPITOLUL 6. MEMORII ASOCIATIVE 130 ^n nal, sa notam o proprietate interesanta a asociatorului liniar ^n cazul I autoasociativ. ^n acest caz, reteaua este un autocorelator. Luam f (i) = s(i) si I obtinem matricea de autocorelatie W0: W0 = p X i=1 s(i) s(i)t = SSt tin^nd cont de faptul ca W0 este simetrica. a Sa notam ^nsa ca W0 nu are diagonala : : : s(p) ortonormali, pentru vectorul de intrare egala cu zero.0 Presupun^nd s(1) a perturbat s(j) obtinem: X v = s(j) + s(i) s(i)t (j ) i=1 i6=j = s(j) + (p ; 1) (j) unde termenul (j) apare ampli cat de p ; 1 ori! Asociatorii liniari si autoasociatorii pot folositi si atunci c^nd vectorii s(1) , a (p) ..., s sunt liniar independenti (o conditie mai slaba dec^t ortogonalitatea). a Kohonen a aratat ca, ^n acest caz, avem: W = F(St S);1St : Acest W minimizeaza eroarea patratica dintre f (j) si v(j). Deoarece vectorii prototip nu sunt ^n general liniar independenti, nici aceasta metoda nu poate aplicata oric^nd. ^n plus, apare problema zgomotului. aI ^n concluzie, asociatorii liniari nu sunt ^n general utilizabili ^n practica. I 6.3 Concepte de baza ale memoriilor autoasociative recurente O astfel de memorie este ^n esenta o retea feedback monostrat cu timp discret de tip Hop eld ( g. 6.5). Recursivitatea este stohastic asincrona. Fiecare feedback se produce cu o ^nt^rziere . Neuronii sunt alcatuiti dintr-un sumator si un comparator si sunt a bipolari discreti. Iesirile sunt ^n multimea f;1 1gn. Presupunem ca ii = Ti = 0, pentru i = 1 2 : : : n. Algoritmul de regasire 0 1 n X vik+1 = sgn @ wij vjk A j =1 Presupun^nd ca pornim din v0 si ca se alege ^n mod aleator secventa m, p, q de a neuroni, avem: 0 0 1 0 0 0 Prima actualizare: v1 = v1 v2 : : : vm : : : vp : : : vq : : : vn ]t 0 0 1 2 0 0 A doua actualizare: v2 = v1 v2 : : : vm : : : vp : : : vq : : : vn ]t 0 0 1 2 3 0 A treia actualizare: v3 = v1 v2 : : : vm : : : vp : : : vq : : : vn ]t 6.3. MEMORII AUTOASOCIATIVE RECURENTE 1 w12 k v1 131 ... wn1 wn2 n ... k vn ... w 1n w21 2 w2n k v2 Figura 6.5: Memorie Hop eld autoasociativa. Avem: E (v) = ; 1 vtWv: 2 Am vazut ca energia este necrescatoare si reteaua se stabilizeaza ^ntr-unul din minimele locale energetice. Fie ;v complementul vectorului v. Se observa ca E (v) = E (;v). Deci, un minim pentru E (v) are aceeasi valoare cu un minim pentru E (;v). Cu alte cuvinte, tranzitiile memoriei se pot termina ^n aceeasi masura at^t ^n v, c^t si ^n ;v. Factorul decisiv care determina a a convergenta este similaritatea dintre v0 si v, respectiv ;v. Algoritmul de stocare Fie s(1) , ..., s(p) prototipurile bipolar binare care trebuie stocate. Algoritmul de stocare pentru calcularea matricii ponderilor este: W= sau p X m=1 s(m) s(m)t ; pI wij = (1 ; ij ) p X m=1 s(im) s(jm) unde ij = 0 pentru i 6= j , ii = 1 si I este matricea unitate. Matricea W este foarte similara cu matricea de autocorelatie obtinuta prin ^nvatare hebbiana ^n cazul asociatorului liniar autoasociativ. Diferenta este ca wii = 0. Sistemul nu memoreaza vectorul s(m) , ci doar ponderile wij care reprezinta corelatii ^ntre componentele acestui vector. Oric^nd se pot adauga noi autoasocieri aditionale la memoria existenta, prin a incrementarea ponderilor existente. Oric^nd se pot elimina autoasociatori prin a decrementarea ponderilor existente. Regula de stocare este invarianta la ordinea ^n care sunt stocate prototipurile. CAPITOLUL 6. MEMORII ASOCIATIVE 132 Daca avem vectorii unipolari s(1) , ..., s(m) , algoritmul de stocare trebuie modicat astfel ^nc^t o componenta -1 sa ^nlocuiasca elementul 0 ^n vectorul unipolar a originar: wij = (1 ; ij ) p X (2s(im) ; 1)(2s(jm) ; 1): m=1 Sa observam ca regula de stocare este invarianta la operatia de complementare binara. Stoc^nd vectorul s0 (m) , complementar lui s(m) , obtinem: a wij 0 = (1 ; ij ) p X m=1 (2s0(im) ; 1)(2s0(jm) ; 1): Substituind s0 (im) = 1 ; s(im) , obtinem wij 0 = wij . Cu alte cuvinte, este indiferent daca stocam un pattern sau complementul sau binar. Algoritmul de stocare si regasire pentru o memorie autoasociativa recurenta este urmatorul: Se dau vectorii binar bipolari s(1) , ..., s(p) de c^te n componente. a 0 Vectorul initial (care se cere regasit) este v , tot de n componente. Stocarea 1. Se initializeaza W 0, m 1, unde W este matricea n n a ponderilor. 2. Se stocheaza s(m) : W W + s(m) s(m)t ; I: 3. if m < p then m m + 1, go to 2. Regasirea 1. Se initializeaza k 1, v v0, unde k este un contor de ciclu. 2. Se initializeaza i 1, contorul de actualizare ^n ciclu. Se obtine o permutare aleatoare a ^ntregilor 1 : : : n: 1 : : : n. actualizare F ALSE . 3. Este actualizat neuronul i, daca este cazul: net i = Pn=1 w i j vj , vnew sgn (net i ) j if v i 6= vnew then actualizare T RUE , v i vnew. 4. if i < n then i i + 1, goto 3. 5. if actualizare = FALSE then fnu a avut loc nici o actualizare ^n acest ciclu, regasirea se terminag display k v else k k + 1, goto 2. 6.3. MEMORII AUTOASOCIATIVE RECURENTE 133 Consideratii asupra modului de functionare Memoria autoasociativa Hop eld este referita de multe ori ca un decodor corector de erori. Memoria lucreaza cel mai bine cu valori mari ale lui n. Sa presupunem ca n are o valoare mare. Presupunem ca pattern-ul s(m0 ) este unul din cele p pattern-uri stocate. Acest pattern este acum la intrarea memoriei. Pentru neuronul i avem: n X (m0 ) neti = wij sj : Aplic^nd formula: a si, neglij^nd pentru a j =1 wij = (1 ; ij ) p X s(im) s(jm) m=1 moment termenul 1 ; ij , obtinem: np X X (m) (m) (m0 ) neti = si sj sj j =1 m=1 p n X (m) X (m) (m0 ) = si sj sj : m=1 j =1 Daca vectorii s(m) si s(m0 ) sunt statistic independenti, atunci termenul n X j =1 0 s(jm) s(jm ) (6.1) este ^n medie zero. De altfel, aceasta suma este produsul scalar s(m) s(m0 ). Daca s(m) si s(m0 ) sunt0 ortogonali, deci statistic independenti, acest produs devine zero. Daca s(m) si s(m ) sunt ^ntr-o anumita masura identici, atunci termenul 6.1 devine pozitiv. Daca s(m) = s(m00) , atunci termenul 6.1 este n. Deci, daca s(m) = s(m ) pentru un anumit 1 m p, atunci 0 neti = s(im ) n pentru i = 1 2 : : : n: (6.2) 0 neti are acelasi semn ca si s(im ) , pentru i = 1 : : : n. ^n concluzie, vectorul s(m0 ) I este stabil si nu se mai poate modi ca. Vom da acum o explicatie intuitiva a faptului ca pattern-urile perturbate pot refacute. Sa presupunem ca vectorul de la intrare este o versiune perturbata a prototipului s(m0 ) care este stocat ^n memorie, iar perturbatia afecteaza doar o mica parte a componentelor (majoritatea componentelor sunt neperturbate). ^n acest I caz, ^n 6.2 multiplicatorul n va avea o valoare ceva mai mica, egala cu numarul 0 de componente identice dintre s(m0 ) si vectorul de intrare. Semnul lui s(im ) se propaga asupra lui neti. Componentele0 perturbate sunt actualizate, una c^te a (m ) una, cu valorile lor neperturbate din s . Evident, este necesar ca majoritatea componentelor vectorului initial sa e neperturbate si ca n sa e mare. Componentele perturbate se conformeaza deci dorintei majoritatii. CAPITOLUL 6. MEMORII ASOCIATIVE 134 Aceasta explica intuitiv cum un pattern perturbat poate asociat celui mai apropiat prototip stocat. Discutia este ^nsa valabila doar pentru valori mari ale lui n. Sa presupunem acum ca prototipurile stocate sunt ortogonale. Avem: net = p X m=1 ss (m) (m)t ! ; pI s(m0 ) : Deoarece s(i)t s(j) = 0 pentru i 6= j si s(i)t s(j) = n, obtinem net = (n ; p)s(m0 ) : Daca n > p, rezulta ca s(m0 ) este stabil. Functia de energie este: 1 E (v) = ; 2 vtWv ! p 1 vt X s(m) s(m)t v + 1 vt pIv: = ;2 2 m=1 Pentru ecare prototip stocat s(m0 ) avem: p X (m0 )t (m) (m)t (m0 ) 1 (m0 )t (m0 ) s s + 2 s pIs E (s(m0 ) ) = ; 1 2 m=1 s s 1 = ; 2 (n2 ; pn): Memoria are o stare de echilibru la ecare prototip s(m0 ) , iar energia are valoarea ei minima ; 1 (n2 ; pn) ^n aceste stari. 2 Pentru cazul mai general, c^nd prototipurile nu sunt mutual ortogonale, ea nergia nu mai este ^n mod necesar minimizata pentru ecare prototip, iar prototipurile nu mai sunt ^n mod necesar stari de echilibru. ^n acest caz, avem: I net = ns(m0 ) ; ps(m0 ) + = (n ; p)s(m0 ) + p X m=1 m6=m0 p X m=1 m6=m0 s(m) s(m)t s(m0 ) s(m) s(m)t s(m0 ) : Fata de situatia anterioara, apare suplimentar ultimul temen: p X m=1 m6=m0 s(m) s(m)t s(m0 ) : Acesta poate interpretat ca un vector zgomot. Cu c^t (n ; p) este mai mare, a cu at^t scade importanta zgomotului si prototipurile devin stari de echilibru. a 6.4. ANALIZA PERFORMANTEI 135 6.4 Analiza performantei memoriilor autoasociative recurente ^n aceasta sectiune, vom stabili relatii ^ntre marimea n a memoriei si numarul de I pattern-uri distincte care pot refacute ^n mod e cient. Aceasta depinde si de gradul de similaritate dintre vectorul cheie si cel mai apropiat prototip, precum si de gradul de similaritate dintre prototipuri. Pentru a masura "similaritatea", vom folosi distanta Hamming. De fapt, ea este proportionala cu "disimilaritatea". Pentru vectorii bipolari de n componente x si y, avem: n 1 X jx ; y j: DH(x y) = 2 i i i=1 Aceasta ^nseamna ca DH(x y) reprezinta numarul de pozitii ^n care difera bitii. Prin actualizarea asincrona, la ecare pas se modi ca vectorul de iesire cu DH = 1. Fie, de exemplu: s(1) = ;1 ;1 1 1 ]t s(2) = ;1 1 1 ;1 ]t Construim: Pornind din 2 0 0 ;2 0 3 60 7 W = 6 ;2 0 0 ;2 7 : 6 4 5 0 0 07 0 ;2 0 0 v0 = ;1 1 ;1 1 ]t obtinem, prin actualizari asincrone ascendente: v1 = 1 ;1 ;1 1 ]t v2 = 1 ;1 ;1 1 ]t = v3 = : : : Actualizarile au fost astfel descrise pas cu pas. Convergenta este catre ;s(2) si nu catre s(1) sau s(2) . Avem: DH v0 s(1) = DH v0 s(2) = 2 deci v0 nu este atras catre s(1) sau s(2) . Fie acum: v0 = ;1 1 1 1 ]t: Avem: DH v0 s(1) = DH v0 s(2) = 1: 136 CAPITOLUL 6. MEMORII ASOCIATIVE Prin actualizari asincrone ascendente, obtinem: v1 = v0 v2 = ;1 ;1 1 1 ]t = v3 = : : : = s(1) Pe de alta parte ^nsa, daca actualizarile sunt ^n ordine descendenta, obtinem s(2) . Pentru acest exemplu, avem p=n = 2=4, deci memoria este supra^ncarcata si sensibila la perturbatii. De aceea, refacerea pattern-urilor perturbate nu este ^ntotdeauna e cienta. Se observa si ca nu putem evita stocarea complementelor pattern-urilor stocate. ^n astfel de memorii, pot exista stari stabile care nu reprezinta pattern-uri I memorate. De asemenea, convergenta nu este neaparat catre cel mai apropiat pattern memorat (apropiere masurata prin DH). Aceste doua de ciente devin deranjante atunci c^nd memoria este supra^ncarcata, deci c^nd p=n este mare. a a Capacitatea memoriei autoasociative recurente Vom mentiona aici rezultatele obtinute de McEliece et al.1. Un vector stare vk al unei memorii este stabil daca h i vk+1 = ; Wvk = vk : Aceasta de nitie nu este legata de tipul de actualizare: sincron sau asincron. Fie raza de atractie de nita astfel: orice vector la o DH mai mica dec^t n a (distanta de atractie) de starea stabila v este eventual atras de v. Am vazut ca distanta de atractie este ^ntre 1 si n=2, deci este ^ntre 1=n si 1=2. Pentru ca sistemul sa functioneze ca o memorie, impunem ca ecare vector memorat s(m) sa e stabil. Mai putin restrictiv este sa cerem sa existe un vector stabil la o distanta mica de s(m) , "n, pentru toate cele p pattern-uri memorate. Capacitatea asimptotica a unei memorii autoasociative cu n neuroni este: 2 c = (14; ) n : ln n Daca p < c, atunci toate cele p pattern-uri stocate, sunt stabile cu probabilitatea aproape 1. Oricum ar valoarea 0 < < 1=2, capacitatea unei memorii Hop eld este deci ^ntre: n=(4 ln n) < c < n=(2 ln n) unde c depinde de fapt de toleranta la eroare, adica de . ^n loc de 2n pattern-uri, I putem stoca doar c pattern-uri! Studiul lui McEliece et al. releva prezenta unor atractori ^n care nu au fost memorate pattern-uri acestia au ^n general bazinele de atractie mai mici dec^t a cele ale pattern-urilor stocate. Chiar daca numarul pattern-urilor ce pot stocate ^ntr-o memorie Hop eld este destul de mic, aceste memorii au o serie de aplicatii ^n procesarea vorbirii, baze de date, prelucrarea imaginilor. McElice, R.J, Posner, E.C., Rodemich, E.R., Vankatesh, S.V. "The Capacity of the Hop eld Associative Memory". IEEE Trans. on Information Theory, 33, 1987, 461-482. 1 6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB) 137 6.5 Memoria asociativa bidirectionala (MAB) MAB ( g. 6.6) este o memorie heteroasociativa adresabila prin continut const^nd a din doua straturi (Kosko, 1987, 1988). W 2 2 ... 1 ... 1 n m stratul A W t stratul B Figura 6.6: Memorie asociativa bidirectionala. Fie p perechi de pattern-uri memorate: f a(1) b(1) a(2) b(2) : : : a(p) b(p) g Presupunem ca avem vectorul b la intrarea ^n stratul A al memoriei. Presupunem ca neuronii sunt binari bipolari: a0 = ; Wb] adica: 0m 1 X ai 0 = sgn @ wij bj A j =1 i = 1 : : : n: Procesarea are loc sincron. Urmeaza: h b0 = ; Wta0 0 bj = sgn i n X i=1 wij a0 i ! j = 1 : : : m: Apoi: a00 = ; hWb0] i b00 = ; Wta00 etc. CAPITOLUL 6. MEMORII ASOCIATIVE 138 Procesul continua p^na c^nd a si b nu se mai modi ca. aa ^n mod ideal, procesul se stabilizeaza ^ntr-o pereche a(i) b(i) din multimea I perechilor memorate. Putem opera asemanator pentru cazul unipolar. Presupunem ca straturile sunt activate alternativ. Stabilitatea unei astfel de retele nu este afectata de procesarea sincrona ca ^n cazul memoriilor Hop eld, deoarece oricum cele doua straturi lucreaza asincron. De aceea, se prefera procesarea sincrona, convergenta ind mai rapida dec^t ^n a cazul ^n care am folosi procesarea asincrona. Daca W este patrata si simetrica, atunci W = Wt si avem de fapt o memorie autoasociativa cu un singur strat. Stocarea are loc conform regulii hebbiene: p X W= m=1 p X wij = m=1 a(m) b(m)t a(im) b(jm) : Presupun^nd ca unul din pattern-urile stocate, a(m0 ), este prezentat la intrare, a obtinem: b=; "X p 2m=1 ba (m) (m)t 6 = ; 6nb(m0 ) + 4 p X m=1 m6=m0 (m0 ) a # 3 7 b(m) a(m)t a(m0 )7 : 5 Ultimul termen din relatia anterioara, pe care ^l notam cu: = p X m=1 m6=m0 b(m) a(m)t a(m0 ) reprezinta zgomotul. Sa presupunem pentru moment0 ca pattern-urile a(1) : : : a(p) sunt ortogonale. Atunci, = 0 si se obtine b = b(m ) dintr-un singur pas. Daca pattern-ul de intrare este o versiune perturbata a lui a(m0 ) , stabilizarea la b(m0 ) nu mai este iminenta si depinde de mai multi factori: DH dintre vectorul cheie si prototipuri, ortogonalitatea sau DH dintre vectorii b(1) : : : b(p) etc. Consideratii asupra stabilitatii C^nd memoria MAB ajunge la o stare de echilibru, astfel ^nc^t a(k) ! b(k+1) ! a a (k+2) (k ) a = a , spunem ca ea este bidirectional stabila. Fie functia de energie: 1 1 E (a b) = ; 2 at Wb ; 2 btWta = ;at Wb: 6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB) 139 Vom evalua modi carile energiei pentru un pas: 8 > ai = < 0 i=1 ::: n > : 8 > bj = < 0 j =1 ::: n > : 0 pentru Pm wij bj > 0 j =1 pentru Pm wij bj = 0 j =1 0 pentru Pm wij bj < 0 j =1 0 pentru Pn=1 wij aj > 0 i pentru Pn=1 wij aj = 0 i 0 pentru Pn=1 wij aj < 0 i (6.3) Calculam: raE (a b) = ;Wb rbE (a b) = ;Wt a: Modi carile de energie cauzate de catre modi carea unei singure componente sunt: 0m 1 X Eai (a b) = ; @ wij bj A ai j =1 ! n X Ebj (a b) = ; wij ai bj i=1 Rezulta ca E adica: pentru i = 1 : : : n pentru j = 1 : : : m: 0, daca tinem cont si de 6.3. Deoarece E este inferior marginita, E (a b) ; nm XX i=1 j =1 jwij j rezulta ca memoria converge catre un punct stabil care este un minim local pentru functia de energie. Deci, memoria este bidirectional stabila. Sa observam ca nu este important daca procesarea^ntr-un strat se face sincron sau asincron. Kosko (1988) a aratat (euristic) ca numarul maxim de perechi, p, care pot stocate si regasite cu succes, este min(n m). O masura mai stricta a capacitatii este: q p = min(n m): Observatii 1. Formula de stocare a perechilor de pattern-uri nu garanteaza ca acestea corespund unor minime locale. 2. Am vazut ca, daca pattern-urile stocate sunt ortogonale, atunci zgomotul este zero si toate pattern-urile stocate pot , ^n mod garantat, recuperate printr-un pas (daca nu sunt perturbate). Wang (1990) a propus cresterea ctiva a pattern-urilor de instruire pentru a obtine o ortogonalizare a lor. CAPITOLUL 6. MEMORII ASOCIATIVE 140 Perechile a(i) a(j) si b(i) b(j) sunt fara zgomot, unde i j = 1 : : : p, daca: HD a(i) a(j) = n 2 m (i) (j ) HD b b = 2 acestea ind conditiile de ortogonalitate ^ntre a(i) si a(j) , respectiv b(i) si b(j) . Daca avem aceasta situatie, atunci recuperarea datelor este imediata si fara erori (daca nu sunt perturbate). Prin cresterea vectorilor a(i) si b(i) , i = 1 : : : p, cu componente aditionale obtinem aceasta ortogonalitate la nivel de perechi. Prin aceasta tehnica se ^mbunatateste si capacitatea MAB de a corecta erori. Utilizarea MAB pentru pattern-uri temporale n o Fie secventa S = s(1) s(2) : : : s(p) de vectori n-dimensionali bipolari binari reprezent^nd tranzitiile starilor (pattern-uri temporale). Reteaua MAB este caa pabila sa memoreze secventa S , astfel ^nc^t: a h (i) i s(i+1) = ; Ws unde i este modulo p + 1. Pornind de la starea initiala x(0)^n vecinatatea lui s(i) , secventa S este apelata ca un ciclu de tranzitii ale starilor. Acest model este numit memorie asociativa temporala. Pentru stocarea secventei, astfel ^nc^t s(1) sa e asociat cu s(2) , s(2) cu s(3) , ..., a (p ) (1) s cu s , procedam astfel: W= p;1 X i=1 s(i+1) s(i)t + s(1) s(p)t sau, daca indicele este modulo p + 1: W= Av^nd straturile A si B, avem: a p X i=1 s(i+1) s(i)t : a = ; Wb] b = ; Wa]: Daca secventa s(1) : : : s(p) este aplicata la intrarea ^n stratul A, avem: k ns z }| + { a = ; |s(2) s(1)t + : : : + s(k+1) s(k)t + : : : + s(1) s(p)t ) s(k) ] : ( {z } ( +1) W 6.6. EXERCITII 141 Termenul = p X i=1 i6=k s(i+1) s(i)t s(k) este zgomotul, unde indicele de ^nsumare este modulo p + 1. Daca vectorii din S sunt ortogonali, atunci = 0 si a = s(k+1) , dintr-un singur pas. Asadar, daca la intrare avem s(k) , obtinem ^n mod circular: s(k+1) ! s(k+2) ! : : : ! s(p) ! : : : Daca vectorii din S nu sunt ortogonali, presupun^nd ^nsa ca ei sunt stocati la a o DH << n, ^n general ne putem astepta sa obtinem totusi secventa corecta S daca aplicam s(k). Aceasta memorie poate stoca cel mult k secvente de lungimi p1 p2 : : : pk , unde: k X p = pi p < n: i=1 6.6 Exercitii 1. Asociatorul liniar trebuie sa asocieze urmatoarele perechi de vectori: s(1) = h s(2) = h s(3) = (a) (b) (c) (d) h 1 2 1 2 1 2 1 6 1 6 1 2 1 6 5 ;6 1 2 1 2 1 6 5 ;6 it ! f (1) = 0 1 0 ]t it ! f (2) = 1 0 1 ]t it (3) t ! f = 0 0 0] Veri cati daca vectorii s(1) , s(2) , s(3) sunt ortonormali. Calculati matricea ponderilor. Veri cati asocierea produsa de retea pentru unul din vectorii s(i) . Perturbati s(i) d^ndu-i unei componente valoarea 0 si calculati vectorul a rezultat perturbat. 2. Asociatorul liniar din gura 6.7 a fost instruit sa asocieze vectorilor de intrare: h s(1) = h s(2) = h s(3) = i 1 1 1 p3 p3 p3 t 1 p2 1 p6 1 0 ; p2 ; p26 it i 1 p6 t vectorii f (1) , f (2) , f (3) . Gasiti matricea W si vectorii f (1) , f (2) , f (3) care sunt codi cati ^n retea. CAPITOLUL 6. MEMORII ASOCIATIVE 142 x1 1/6 1/2+1/6 + v1 -2/6 x2 -2/6 + v2 1/6 -1/2+1/6 x3 Figura 6.7: Asociatorul liniar propus pentru exercitiul 2. 3. Autoasociatorul liniar trebuie sa asocieze versiuni perturbate ale vectorilor s1 , s2, s3 cu prototipurile lor neperturbate din problema 1. Calculati matricea W. 4. Urmatorii vectori trebuie stocati ^ntr-o memorie autoasociativa recurenta: s(1) = 1 1 1 1 1 ]t s(2) = 1 ;1 ;1 1 ;1 ]t s(3) = ;1 1 1 1 1 ]t (a) Calculati matricea W. (b) Aplicati la intrare vectorul v0 = 1 ;1 ;1 1 1 ]t si folositi actualizarea asincrona ascendenta. (c) Aplicati v0 prin actualizare asincrona descendenta. (d) Comentati daca memoria Hop eld ofera o solutie optima din punct de vedere al DH. (Atentie, memoria este supra^ncarcata. Luati sgn(0) = 1 ^n aceasta problema). 5. O memorie asociativa temporala trebuie sa stocheze urmatoarea secventa: s(1) = 1 ;1 ;1 1 ;1 ]t s(2) = ;1 1 1 ;1 ;1 ]t s(3) = ;1 1 1 1 ;1 ]t Calculati W si veri cati regasirea pattern-urilor. ^ncercati sa introduceti I la intrare pattern-uri perturbate. 6. (C) Proiectati o memorie heteroasociativa bidirectioanla care asociaza caracterele (A, C), (I, I) si (O, T). Reprezentati caracterele A, I, O ca matrici 6.6. EXERCITII 143 binare de 5 3 pixeli, iar caracterele C, I, T ca matrici binare de 3 3 pixeli. Veri cati memoria folosind la intrare pattern-uri neperturbate si pattern-uri perturbate. 144 CAPITOLUL 6. MEMORII ASOCIATIVE Capitolul 7 Retele neurale cu auto-organizare ^n acest capitol ne vom concentra pe retele neurale care trebuie sa descopere I singure relatiile interesante din cadrul pattern-urilor de intrare, deci nu vom folosi instruirea supervizata. Obiectivul nostru este sa exploram algoritmii de instruire nesupervizata ai retelelor neurale, retele care au astfel capacitatea de auto-organizare, adica de adaptare. 7.1 Retelele Hamming si MAXNET Vom considera un clasi cator cu doua straturi pentru vectori binari bipolari ( g. 7.1). [ x1... x n] t Retea Hamming MAXNET k+1 [ y1 ... yk+1]t p ∆ Figura 7.1: Clasi cator cu doua straturi pentru vectori binari. Prima parte este o retea Hamming, detaliata ^n gura 7.2. Fie s(m) , m = 1 : : : p, vectorul prototip pentru clasa m. Presupunem ca avem pentru ecare clasa un vector prototip si, corespunzator, un neuron. Fie x vectorul de intrare. Folosim produsul scalar al vectorilor ca o masura de matching (potrivire) ^ntre acesti vectori. Ideea este sa luam: h i wm = wm1 : : : wmn t pentru m = 1 : : : p si sa avem xt wm maxim c^nd x = s(m) . Deoarece vectorii sunt binari bipolari, a t s(m) reprezinta numarul de pozitii ^n care x si s(m) difera. Numarul produsul x 145 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE 146 n/2 1 f(net ) y1 w11 1 1 1 w1n ... ... n/2 wp1 n 1 net yp wpn 0 p a) n b) Figura 7.2: a) Reteaua Hamming b) Functia de activare a neuronilor retelei Hamming. Zonele ^n care f (net) < 0 si f (net) > 1 sunt inactive pentru ca 0 net n. de pozitii ^n care acesti doi vectori difera este ^nsa chiar distanta Hamming, DH x s(m) , prin de nitie. Atunci: xt s(m) = n ; DH x s(m) ;DH x s(m) : | {z nr. de pozitii ^n care sunt egali Obtinem: Luam: } 1 xt s(m) = n ; DH x s(m) : 2 2 2 (1) 6 s1 1 6 s(2) WH = 2 6 1 6 6 4 (p) s1 3 : : : s(1) 7 n : : : s(2) 7 n7 7 ... 7 5 : : : s(np) 1 unde factorul 2 folosese la scalare. La intrarea ^n nodul m, m = 1 : : : p avem: 1 netm = 2 xt s(m) + n 2 = n ; DH x s(m) : 1 Se observa ca am adaugat termenul n . Luam f (netm ) = n netm , m = 1 : : : p. 2 Deoarece 0 netm n, avem 0 f (netm ) 1, m = 1 : : : p. Avem: 1. Daca x = s(m) , atunci DH = x s(m) = 0 si netm = n, deci f (netm ) = 1. 7.1. RETELELE HAMMING SI MAXNET 147 2. Daca x este complementul lui s(m) , atunci DH x s(m) = n, netm = 0 si f (netm ) = 0. ^n general, numarul neuronului cu cea mai mare iesire indica numarul clasei careia I ^i este atribuit x, din punct de vedere al DH. Reteaua Hamming este, evident, de tip feedforward. Reteaua MAXNET ( g. 7.3) este recurenta si are rolul de a transforma iesirile din reteaua Hamming, astfel ^nc^t toate aceste iesiri sa devina 0, cu exceptia celei a maxime. ∆ ∆ k y1 k+1 y1 1 −ε −ε −ε 1 −ε k y2 −ε −ε 1 k yp k+1 y2 k+1 yp ∆ Figura 7.3: Reteaua MAXNET. Matricea ponderilor retelei MAXNET este matricea p p: 2 1 ;" ;" : : : ;" 3 6 ;" 1 ;" : : : ;" 7 7 6 WM = 6 .. ... 7 ... 6. 7 4 5 ;" ::: 1 unde 0 < " < 1=p, " ind coe cientul de interactie laterala. Lu^nd ( g. 7.4): a f (net) = ( 0 net < 0 net net 0 h y(k+1) = ; WM yk si presupun^nd 0 a urmatorul proces: yi0 i 1, i = 1 : : : p, valorile de init ializare, obtinem 148 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE f(net ) 1 net 0 1 Figura 7.4: Functia de activare a neuronilor retelei MAXNET. Zona ^n care avem net > 1 este inactiva. La ecare recurenta, ecare componenta a vectorului y(k+1) scade p^na devine 0. Componentele lui y(k+1) devin 0 ^n ordinea inversa a a marimii lor. Procesul se stabilizeaza c^nd o singura componenta (cea a maxima) ram^ne nenula. Aceasta componenta scade cel mai lent. Pe a masura ce sunt anulate componente, descresterea este mai lenta. Sa comparam aceasta retea cu asociatorul Hop eld. Presupunem ca trebuie sa clasi cam ^n 5 clase posibile un vector cu 50 de componente. 1. Reteaua Hamming necesita 255 de conexiuni pentru cei 5 neuroni. 2. Reteaua Hop eld necesita 2450 de conexiuni pentru cei 50 de neuroni. ^n I plus, capacitatea de stocare este limitata. Reteaua Hamming pare mai e cienta. Totusi, ea nu regaseste pattern-ul prototip, ci doar indicele clasei din care face parte pattern-ul de intrare. Deci, reteaua Hamming nu poate restaura un pattern perturbat, ci gaseste doar distanta minima a acestui pattern fata de prototipuri. Reteaua Hamming este un clasi cator propriu-zis, nu o memorie autoasociativa. 7.2 Instruirea nesupervizata a clusterelor Clustering ^nseamna gruparea pattern-urilor similare si separarea celor nesimilare. Exista tehnici clasice de clustering: k-means, ISODATA etc, dar noi ne vom concentra pe metodele conexioniste. 7.2. INSTRUIREA NESUPERVIZATA A CLUSTERELOR 149 Instruirea c^stigatorul ia tot a Presupunem ca avem secventa de instruire fx1 : : : xN g care reprezinta p clustere. Pentru reteaua Kohonen ( g. 7.5), despre care vom discuta ^n continuare, avem: y = ; Wx3 2 wt 2 3 wi1 7 6 w1 7 t7 67 6 W = 6 .. 2 7 unde wi = 6 ... 7 i = 1 : : : p 6.5 4 5 4 win wt p y 1 2 ... wmn ... wm1 wm2 ym ... ... 1 n yp Figura 7.5: Reteaua Kohonen. Algoritmul de instruire este de tip c^stigatorul ia tot. Vectorii wi, i = 1 : : : p a ^nainte de instruire, se normalizeaza vectorii sunt variabili si trebuie ^nvatati. I ponderilor: ^ wi = wi : i = 1 : : : p: kwik Se calculeaza indicele m pentru care: ^ ^ kx ; wmk = i=1 ::: pfkx ; wi kg min unde x este vectorul de intrare. Deoarece: ^ ^t kx ; wmk = xt x ; 2wmx ; 1 avem: ^t wm x = i=1 ::: p(witx): max ^ 1=2 Neuronul al m-lea, cu cea mai mare valoare pentru intrare este declarat c^stigator. a ^n general, avem: I t i cos = kxx xx k : kk i 150 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE ^n loc de kx ; xi k, putem folosi cos ca si criteriu de similaritate ^ntre x si xi, I astfel ^nc^t x este "mai aproape" de xi daca este mai mic. Este necesar ^nsa a sa normalizam vectorii x si xi, pentru ca altfel criteriul nu mai functioneaza: se poate ca kx ; xik sa e mare, dar sa e mic. Reducem acum kx ; wm k ^n directia gradientului negativ al distantei: rwm kx ; wm k2 = ;2(x ; wm) ^ ^ wm0 = (x ; wm) unde este de obicei ^ntre 0,1 si 0,7. Celelalte ponderi nu se schimba. Avem atunci: ( k+1 k k ^ ^ ^k wm = wm + x ; wm : ^ ^ wik+1 = wik i 6= m Procesul continua pentru un nou pattern x. Parametrul se reduce monoton ^k si instruirea ^ncetineste pe parcurs. Vectorul modi cat wm+1 este normalizat si ^ intra ^n pasul urmator. ^n nal, ecare wi va reprezenta centrul de greutate al I unei regiuni de decizie, deci a unui cluster. Functiile de activare ale neuronilor nu au relevanta, dar ^n general sunt de tip continuu. Obtinem ^n nal un clasi cator ^n care pattern-ul de intrare x este asociat gruparii m, unde ym = max(y1 : : : yp). Dupa instruire, reteaua Kohonen poate folosita ca si clasi cator. Pentru aceasta, trebuie sa o calibram supervizat: se aleg p reprezentanti ai celor p clustere si se aplica, etichet^nd corespunzator cele p noduri cu iesirile respective. Astfel, a etichetam de fapt clusterele. Ponderile initiale sunt luate, ^n general, ^n mod aleator, astfel ^nc^t sa acopere a uniform spatiul pattern-urilor. Reteaua Kohonen are limitari legate de arhitectura monostrat: nu poate manipula e cient pattern-uri liniar neseparabile. Chiar si pentru pattern-uri liniar separabile, ponderile pot sa se blocheze ^n regiuni izolate, fara sa formeze clusterele adecvate. ^n astfel de situatii, se reinitializeaza ponderile cu valori noi, sau I se adauga zgomot la vectorii pondere ^n timpul instruirii. Daca numarul gruparilor este a priori necunoscut, se ia un p su cient de mare. Pe parcursul instruirii, unii neuroni se vor comporta haotic, ponderile catre ei nestabiliz^ndu-se. Acesti neuroni nu reprezinta clustere, deci pot omisi a ^n faza de utilizare a retelei. 7.3 Harti Kohonen Centrii anumitor activitati (vorbire, vedere, auz, functii motoare) sunt localizati ^n anumite arii speci ce ale cortexului. Mai mult, aceste arii prezinta o ordonare logica a functionalitatii lor. Putem da ca exemplu, harta tonotopica a regiunilor auditive, unde neuronii vecini raspund unor frecvente similare ale sunetului, de la frecvente ^nalte la frecvente joase. Un alt exemplu este harta somatotopica. 7.3. HARTI KOHONEN 151 Astfel de regiuni, cum este harta tonotopica, se numesc harti de trasaturi ordonate (ordered feature maps). Vom studia ^n aceasta sectiune mecanismul prin care aceste harti de trasaturi ordonate se pot dezvolta natural. Cortexul este o suprafata de 2-4 mm grosime, av^nd aproximativ 1m2 si a const^nd din 6 straturi de neuroni de tip si densitate variabile. El are forma a pe care o cunoastem pentru a maximiza densitatea ^n craniu. Vom studia un model al cortexului care este o suprafata bidimensionala de elemente de procesare. Vectorii de intrare vor proiectati, prin reducerea dimensionalitatii, pe aceasta suprafata, mentin^ndu-se ^nsa ordinea ^ntre ei. Aceasta a suprafata este o harta care conserva topologia datelor de intrare (topology preserving map). O astfel de harta este o harta cu auto-organizare si este instruita nesupervizat. Neuronii biologici de pe suprafata mentionata au conexiuni laterale a caror tarie depinde de distanta dintre neuronii respectivi ( g. 7.6). puterea conexiunii γ 0 distanta laterala de la al i-lea neuron Figura 7.6: "Palaria mexicana" descrie puterea conexiunii laterale a neuronilor biologici. ^n vecinatatea cu raza de 50-100 m, conexiunile sunt excitatoare. Deci, I auto-feedback-ul ecarui neuron este pozitiv, exprimat de coe cientul > 0 ( g. 7.7). Aria excitatoare este ^nconjurata de un inel de conexiuni mai slabe, inhibitoare, cu raza de 200-500 m. Autoorganizarea unei astfel de harti poate exempli cata pe un model liniar de 10 neuroni, reprezent^nd o sectiune arbitrara a unei harti bidimensionale ( g. a 7.8). Calculam: 0 1 yi(t + 1) = f @xi(t + 1) + k X 0 k=;k0 yi+k (t) k A : Semnalele y(t) sunt ^nt^rziate cu o unitate ^nainte de a deveni feedback-uri. a 152 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE γ x i-1 i-1 γ xi yi i γ x i+1 i+1 Figura 7.7: Modelarea interactiunilor dintre neuronii biologici. Coe cientii de feedback, k , depind de distanta dintre neuroni. Lu^nd: a +3) i = 1 : : : 10 xi (t) = 0 8 sin3 (i17 5 > 0 net 0 < f (net) = > net 0 < net < 2 : 2 net 2 b=0 4 c=0 2 se obtin iesirile din gura 7.9. Un algoritm de proiectie a trasaturilor converteste un pattern de dimensiune arbitrara ^n raspunsurile unui tablou unidimensional sau bidimensional de neuroni. Rezultatele urmatoare apartin lui Kohonen (1990). Presupunem ca vectorii de intrare, cu un numar arbitrar, dar xat, de componente, sunt proiectati pe un tablou de neuroni av^nd o topologie hexagonala ( g. a 7.10). ^n aceasta gura, m este neuronul c^stigator, iar Nm(t1 ) este vecinatatea I a lui m la momentul t1 . Dupa instruire, ecare intrare x produce un raspuns ^n retea, pozitia locala a raspunsului ind semni cativa: ea re ecta caracteristica trasaturii dominante a lui x. Aceasta proiectie a trasaturilor este o proiectie neliniara a spatiului patternurilor pe tabloul neuronilor. Proiectia face ca relatiile de vecinatate topologica sa expliciteze relatiile de ordine dintre datele de intrare, aceste relatii din urma ind, ^nsa, ^ntr-un spatiu de dimensiune mult mai mare. Sa vedem cum are loc instruirea. Intrarea x este aplicata simultan tuturor neuronilor. Fie kx ; wm k = minfkx ; wikg i 7.3. HARTI KOHONEN 153 γk y10 y2 y1 b -3 -2 ... x1 x2 2 x10 3 k 1 -1 -c distanta b) a) Figura 7.8: a) Sectiune arbitrara a unei harti bidimensionale b) Feedback-ul lateral. unde wi este vectorul ponderilor catre neuronul i. Daca neuronul m este c^stigator, deci raspunde maxim pentru x, aceasta a antreneaza, ca ^n exemplul precedent, neuronii vecini. Nu avem un neuron c^stigator, ci o vecinatate Nm c^stigatoare. Se ajusteaza doar ponderile catre a a neuronii din Nm . Raza lui Nm trebuie sa scada pe masura ce instruirea progreseaza: Nm (t1) > Nm (t2 ) > Nm(t3 ) : : : pentru t1 < t2 < t3 : : : Se ^ncepe cu o raza foarte mare si se termina cu vecinatatea care include doar neuronul c^stigator. Mecanismul interactiilor laterale, tip "palarie mexicana", a este ^ncadrat ^n de nitia acestor vecinatati locale si a modului de adaptare a ponderilor. Adaptarea ponderilor pentru hartile cu auto-organizare se face astfel: wi = (Ni t) x(t) ; wi(t)] pentru i 2 Nm(t) unde 0 < (Ni t) < 1 este constanta de ^nvatare. De exemplu, Kohonen a folosit: (Ni t) = (t) e ;kri ;rm k t 2( ) unde rm este vectorul pozitiei neuronului m, ri este vectorul pozitiei neuronului i, iar (t) si (t) sunt functii descrescatoare ^n timp. Ca rezultat al instruirii ponderilor, se obtine o harta de neuroni ^n care ponderile codi ca functiile de densitate p(x) ale probabilitatilor pattern-urilor de instruire. Raspunsul neuronilor unei arii se^ntareste daca apar mai multe patternuri similare corespunzatoare acelei arii. Fie de exemplu 32 de vectori 5-dimensionali diferiti, etichetati cu A, ..., 6 (tab. 7.1). 154 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE iesirea y i 2 15 pasi 4 pasi 0 pasi 1/2 1 3 8 10 i = nr. neuronului Figura 7.9: Evolutia iesirilor celor 10 neuroni. Nm (t 1 ) Nm (t 2 ) m Figura 7.10: Tablou de neuroni av^nd o topologie hexagonala. a Proiectia se face pe un tablou de 70 de neuroni, conectati ecare prin 5 ponderi cu componentele x1 : : : x5. Tabloul se instruieste folosind cei 36 de vectori selectati ^n ordine aleatoare. Dupa 10000 de pasi de instruire, ponderile se stabilizeaza si reteaua obtinuta este calibrata. Calibrarea se face prin etichetare supervizata. De exemplu, av^nd vectorul B la intrare, observam unde apare a raspunsul maxim ^n tabloul de neuroni si etichetam acel neuron cu B. Obtinem harta din g. 7.11. 32 de neuroni vor etichetati si 38 nu. Inspectam similaritatile dintre vectorii de instruire. Reprezentam vectorii ca v^rfuri ^ntr-un graf. Fiecarei muchii a ^i atasam distanta dintre cele doua pattern-uri corespunzatoare v^rfurilor. De a exemplu, distanta dintre A si C este egala cu: kA ; C k = 2: Construim ^n continuare arborele partial de lungime minima ( g. 7.12). Se 7.3. HARTI KOHONEN x1 x2 x3 x4 x5 A 1 0 0 0 0 B 2 0 0 0 0 C 3 0 0 0 0 D 4 0 0 0 0 E 5 0 0 0 0 F 3 1 0 0 0 GH 33 23 00 00 00 I 3 4 0 0 0 155 J 3 5 0 0 0 K 3 3 1 0 0 L 3 3 2 0 0 MN 33 33 34 00 00 OP 33 33 56 00 00 Q 3 3 7 0 0 R 3 3 8 0 0 S 3 3 3 1 0 T 3 3 3 2 0 U 3 3 3 3 0 V 3 3 3 4 0 WX 33 33 66 12 00 Y 3 3 6 3 0 Z 3 3 6 4 0 1 3 3 6 2 1 2 3 3 6 2 2 3 3 3 6 2 3 4 3 3 6 2 4 5 3 3 6 2 5 6 3 3 6 2 6 Tabelul 7.1: Vectori 5-dimensionali. BCDE *QR*YZ A** **P **X* * F *NO*W* * 1 *G*M* * * * 2* HK L* TU* 3 * * *I******4* * J *S**V* 56 Figura 7.11: Harta obtinuta ^n urma instruirii. poate observa ca harta trasaturilor produsa prin auto-organizare are aceeasi structura ca si acest arbore. ^nseamna ca am reusit sa pastram topologia dintr-un I spatiu 5-dimensional ^ntr-un plan. Distanta dintre vectorii xi si xj din spatiul pattern-urilor: v uX u5 kxi ; xj k = t (xik ; xjk )2 k=1 se mentine si ^n spatiul trasaturilor, unde devine o simpla distanta ^n plan. Algoritmul de instruire tine cont at^t de relatiile topologice dintre datele de a intrare c^t si de istoricul datelor de intrare, adica de frecventa de aparitie a a pattern-urilor similare sau identice. Acest algoritm are numeroase aplicatii ^n controlul robotilor, recunoasterea vorbirii etc. Un exemplu celebru este masina de scris fonetica (Kohonen, 1988), folosita ^n recunoasterea vorbirii. La intrare avem un vector 15-dimensional. Semnalul vocal este convertit prin FFT ^n semnal ^n frecventa acoperind pe 15 canale frecventele dintre 200Hz si 5kHz. Fiecare fonem tinde sa ocupe un segment al spectrului 15-dimensional Fourier. Cu toate ca spectrele unor foneme diferite se suprapun partial, un tablou de neuroni este capabil, dupa instruire, sa extraga trasaturile fonemelor si sa le proiecteze pe o harta plana. Reteaua neurala a fost instruita cu semnale spectrale generate la ecare 9,83 ms de vorbirea continua. Esantioanele spectrului FFT au fost folosite ^n ordinea lor naturala Dupa instruire, anumiti neuroni devin sensibili la spectrul diferitelor foneme ( g. 7.13). Harta a fost calibrata folosind foneme standard. Majoritatea celulelor au 156 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE A BC DE F G HK LMNO PQ I S W J T X U Y V R Z 1 2 3 4 5 6 Figura 7.12: Arborele partial de lungime minima construit pe baza distantelor dintre vectori. a a a a o o o ah a a r h h oe h ... r ... ... Figura 7.13: Harta fonemelor dupa instruire (^n limba nlandeza). ^nvatat un singur fonem. Exista c^teva celule care indica raspunsul a doua foneme a diferite, necesit^nd o discriminare suplimentara. Pe aceasta harta, un cuv^nt a a genereaza o traiectorie. 7.4 Exercitii 1. (C) Proiectati reteaua Hammimg si reteaua MAXNET asociata care realizeaza clasi carea optima a vectorilor binari bipolari care reprezinta caracterele A, I si O din problema 7, capitolul 4 ^n termenii distantei Hamming minime. 2. (C) Implementati algoritmul de instruire c^stigatorul ia tot pentru grua parea caracterelor C, I si T afectate de zgomot, ^n mod similar reprezentarii folosite ^n problema anterioara. Presupuneti ca aceste caractere afectate de 7.4. EXERCITII 157 zgomot au DH=1 fata de prototipurile neafectate de zgomot. Calculati vectorii nali de ponderi wC , wI si wT . ^n timpul operatiei de testare, I calculati raspunsurile f (netC ), f (netI ) si f (netT ) ecarui neuron cu functie de activare unipolar continua. Intrarile sunt vectori bipolari binari obtinuti din literele reprezentate matriceal. Folositi = 1. 3. (C) Fie multimea de pattern-uri 213 213 213 203 213 67 67 67 67 67 x1 = 6 0 7 x2 = 6 1 7 x3 = 6 1 7 x4 = 6 1 7 x5 = 6 1 7 : 607 607 617 607 617 45 45 45 45 45 0 0 0 0 1 Implementati harta Kohonen pentru a proiecta acesti vectori pe o retea de 5 5 neuroni. Folositi vecinatati hexagonale. Descresteti pe de la 0,5 la 0,004 pentru primii 1000 de pasi, apoi descresteti-l de la 0,04 la 0 pentru urmatorii 9000 de pasi. Descresteti raza vecinatatii de la 2 la 0 pe parcursul primilor 1000 de pasi. Calibrati apoi harta si desenati arborele partial de lungime minima produs pe harta pentru intrarile x1 , x2 , x3, x4, x5 . 158 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE Capitolul 8 Retele neurale cu functie de activare radiala Aceste retele neurale au un timp de instruire mult mai rapid dec^t retelele neurale a feedforward cu propagare ^n urma a erorii, evit^nd si problema minimului local. a Dezavantajul este ca, dupa instruire, necesita un timp de calcul mai mare ^n exploatare. ^n 1990 s-a demostrat ca aceste retele sunt aproximatori universali, I ca si retelele feedforward cu functie de activare continua. Aceasta ^nseamna ca pot aproxima orice functie continua, oric^t de bine. a O astfel de retea este o retea feedforward ^n care functia de activare este o functie de tip gaussiana. Deoarece gaussiana este simetric radiala, vom numi aceste retele "cu functie de activare radiala". Gaussiana nu este ^nsa dec^t o a functie particulara de acest tip. Spre deosebire de retelele feedforward, ponderile conexiunilor catre straturile ascunse nu sunt initializate aleator. Ele sunt initializate cu valorile care produc raspunsul dorit. 8.1 Functii radiale Fie cazul unei singure intrari ^ntr-un neuron ascuns ( g. 8.1). h(x) x u σ h(x) 1 −σ u +σ Figura 8.1: Neuron cu functie de activare radiala. 159 x CAPITOLUL 8. RETELE NEURALE RBF 160 Pentru neuronii de acest tip, avem: ;(x;u)2 h(x) = e h(u) = 1 unde este un parametru, iar u este o pondere. h(x) scade foarte rapid daca x este diferit de u. De aceasta data nu mai exista analogia cu potentialul membranei, cum este cazul functiei de activare de forma f (xt w). De aceea, retelele de acest tip se numesc "radial basis function neural networks". Ponderile nu se mai ^nmultesc cu intrarile. Le vom numi totusi astfel, fara a crea confuzie. Iesirea h(x) are un raspuns semni cativ doar pentru un interval de valori ale lui x, acest interval ind domeniul receptiv al neuronului. Marimea acestui domeniu este determinata de . Prin analogie cu distributia normala, u poate valoarea medie, iar 2 dispersia functiei de activare a neuronului. Forma generala a unei retele neurale bazata pe acest tip de neuron este cea din gura 8.2. 22 x1 u 11 σ2 x2 ... xp h1 w11 σ1 u mp strat de intrari Σ Σ y1 y1 /s y /s 2 out 2 y /s n y2 out 1 out n h2 σm Σ hm yn wnm strat de normalizari Σ strat ascuns s strat de iesiri Figura 8.2: Retea neurala cu functie de activare radiala. Avem: unde: i hi = e t ; (x;ui2) (2x;ui ) i x = x1 : : : xp ]t este parametrul pentru al i-lea neuron ascuns si ui = ui1 : : : uim ]t este vectorul ponderilor dintre intrari si al i-lea neuron ascuns. Fiecarui pattern ^nvatat ^i corespunde un neuron ascuns. 8.1. FUNCTII RADIALE 161 ^n stratul de iesire se calculeaza: I yj = m X i=1 hiwji iar pe ultimul strat, cel al normalizarilor, se calculeaza iesirile nale: s= n X j =1 yi yj outi = s : Aceste din urma normalizari sunt optionale. Domeniul receptiv al celui de-al i-lea neuron ascuns este determinat de centrul sau, ui , si de marimea sa, data de i . La neuronii studiati p^na acum, acest a domeniu era determinat de conexiunile neurale, nu de forma functiei de activare. Se pot folosi si alte functii de activare. Esential este ca ele sa tinda rapid catre zero atunci c^nd distanta dintre vectorii x si u creste, iar raspunsul maxim sa ^l a aiba c^nd x = u. a Reteaua trebuie instruita prin xarea parametrilor i si a ponderilor de tip u si w. Instruirea se face ^n doua faze. La ^nceput se atribuie valori pentru ui si i , i = 1 : : : m. Apoi, se instruieste matricea W prin ^nvatare supervizata. Fixarea centrilor domeniilor receptive Trebuie sa xam centrii domeniilor receptive. Fixarea ponderilor ui se poate face ^n mai multe feluri. Putem atribui ecarui vector din secventa de instruire c^te a un neuron ascuns, cu centrul corespunzator. Deoarece vectorii sunt, ^n general, dispusi ^n grupari (clustere), aceasta metoda duce la un numar prea mare de neuroni ascunsi. Mai bine este sa gasim centrul ecarui cluster de vectori din secventa de instruire si sa atribuim ecarui astfel de centru c^te un neuron ascuns. a Fixarea diametrelor domeniilor receptive Diametrul domeniului receptiv, determinat de valoarea lui , poate avea un efect foarte profund asupra retelei. Obiectivul este sa acoperim spatiul pattern-urilor de intrare, c^t mai uniform, cu domenii receptive. Daca distanta dintre cena trii domeniilor receptive nu este uniforma, este necesar ca ecare neuron ascuns sa aiba o valoare speci ca pentru . Daca centrii domeniilor receptive sunt la distanta mare, atunci trebuie sa e su cient de mare pentru a acoperi golurile daca centrii sunt apropiati, atunci neuronii respectivi trebuie sa aiba mic. Aceasta este ca o egalizare de histograma, procedeu cunoscut ^n procesarea imaginilor. De exemplu, putem xa astfel: 1. Pentru ecare neuron ascuns, gaseste distanta medie dintre centrul sau, ui si centrii celor N vecini ai sai cei mai apropiati. 2. Atribuie aceasta valoare lui i CAPITOLUL 8. RETELE NEURALE RBF 162 Instruirea matricii W 1. Se aplica vectorul x la intrare, unde x este din secventa de instruire. 2. Se calculeaza iesirile h din stratul ascuns. 3. Se calculeaza iesirile y si se compara cu vectorul t al iesirilor dorite. Se ajusteaza W astfel: wij (k + 1) = wij (k) + (ti ; yi)xj unde este coe cientul de ^nvatare. De obicei << 1, iar aceasta este de fapt regule Windrow-Ho . Se pot folosi si alte reguli, de exemplu regula perceptronului. 4. Repeta 1-3 pentru ecare pattern de instruire. 5. Repeta 1-4 p^na c^nd eroarea este su cient de mica. aa Deoarece domeniile receptive sunt limitate, ajustarile apar destul de rar, ceea ce conduce la o viteza mare. Algoritmul de instruire a lui W se refera la un singur strat, iar pattern-urile corespunzatoare neuronilor din stratul ascuns sunt liniar separabile, deoarece ecare clasa este formata dintr-un pattern. Rezulta ca algoritmul de instruire a lui W converge catre minimul global, conform teoremei perceptronului. Practic, convergenta este de aproximativ 1000 de ori mai rapida dec^t ^n cazul instruirii a prin propagarea ^n urma a erorii. 8.2 O tehnica de grupare (clustering) Am vazut ca este avantajos sa obtinem c^te un reprezentant pentru ecare clusa ter si sa instruim apoi reteaua doar cu acesti reprezentanti. Putem pondera reprezentantii cu numarul de pattern-uri pe care ^i reprezinta: Pn m h w i=1 i yj = Pn m ih ji i=1 i i unde mi este numarul de pattern-uri din clusterul i. Iata o tehnica de clustering (Specht, 1991) simpla si e cienta. Se de neste o raza r. Primul pattern de instruire devine centrul primului cluster. Fiecare pattern din secventa de instruire este considerat pe r^nd. Daca distanta dintre a pattern-ul considerat si cel mai apropiat cluster este mai mica sau egala dec^t r, a atunci pattern-ul este atribuit acelui cluster daca distanta este mai mare dec^t a r, pattern-ul devine primul membru al unui nou cluster. Procedeul de clustering este folositor atunci c^nd exista un exces de instruire a cu date care formeaza clustere dense. 8.3. DISCUTIE 163 8.3 Discutie Retelele cu functie de activare radiala sunt foarte rapide la instruire, dar lente la utilizare. Procedeul de clustering poate util. Foarte importanta este alegerea corecta a lui . 164 CAPITOLUL 8. RETELE NEURALE RBF Capitolul 9 Retele neurale fuzzy 9.1 Logica fuzzy 9.1.1 De ce logica fuzzy? ^n 1985, Hitachi a instalat ^n Japonia un metrou controlat prin logica fuzzy. I Trenurile accelereaza mai rapid si uniform, economisind 10% energie comparativ cu solutia conventionala. ^n Vest, interesul este ceva mai mic. Explicatia este probabil si traditia logicii I aristotelice binare care spune ca ceva exista sau nu exista. Filoso a si religia orientale se bazeaza pe principiul ca ceva exista si, ^n acelasi timp, nu exista, de exemplu YIN si YANG. Atunci c^nd nu au putut converti binar o informatie conform principiului a true/false, occidentalii au apelat la statistica. Astfel, probabilitatea ca o masina sa e lenta sau rapida se exprima printr-un numar ^ntre 0 si 1. Logica fuzzy produce acelasi rezultat, etichet^nd masinile ^n functie de viteza cu numere ^ntre a 0 si 1. Aceasta a produs o mare confuzie, ne^nteleg^ndu-se diferenta dintre cele a doua demersuri. Vom vedea ^nsa ca diferenta este fundamentala. Initiatorul logicii fuzzy este, paradoxal, un occidental: Zadeh ^n 1965. Controlere fuzzy Sistemele fuzzy au fost folosite foarte des ^n controlere. Aceste controlere sunt usor de proiectat, uneori ^n c^teva ore. Performantele lor sunt mai bune dec^t ^n a a cazul controlerelor clasice. Proiectarea unui sistem fuzzy nu necesita cunostinte de logica fuzzy. Vom demonstra aceasta proiect^nd un controler fuzzy pentru un a lift. Primul pas ^n proiectarea unui sistem fuzzy este sa decidem asupra unei multimi de reguli fuzzy. ^n cazul nostru, ele sunt: I 1. Daca liftul se ridica lent si pozitia sa este departe de pozitia dorita, atunci mareste viteza. 165 166 CAPITOLUL 9. RETELE NEURALE FUZZY 2. Daca liftul se ridica cu o viteza medie si este aproape de pozitia dorita, atunci micsoreaza viteza. Exprimam acelasi lucru prin reguli IF-THEN: 1. IF viteza este SP (small positive) AND pozitia este LN (large negative) THEN tensiunea motorului este LP (large positive). 2. IF viteza este MP (medium positive) AND pozitia este SN (small negative) THEN tensiunea motorului este SP (small positive). Sarcina controlerului fuzzy este sa proceseze aceste doua reguli, eventual si altele, dupa ce a determinat pozitia si acceleratia. O regula are doua parti: partea antecedenta si cea consecventa. Partea antecedenta poate contine mai multe clauze legate prin AND, OR si NOT. O clauza este, de exemplu "viteza este SP". Clauzele pot descompuse ^n variabile si adjective. De exemplu, variabile sunt "viteza" si "pozitia", iar adjective sunt SP, LN si LP. Gradul ^n care o regula este relevanta ^ntr-o situatie masurata este acelasi cu gradul ^n care antecedentul regulii este adevarat ^n sens fuzzy. Valoarea de adevar fuzzy a unui antecedent depinde de valoarea de adevar fuzzy a ecarei clauze ale sale si de operatiile logice care leaga aceste clauze. ^n logica fuzzy, ecarui adjectiv (cum este si SP) i se atribuie o functie de I apartenenta. Valoarea functiei de apartenenta este ^ntre 0 si 1. Data ind valoarea unei variabile, functia de apartenenta este folosita pentru a calcula valoarea de adevar a acelei variabile. Exemplu: Un barbat de 1,60 m ^n mod cert nu este "^nalt", deci functia de apartenenta la multimea barbatilor ^nalti a acestuia are valoarea 0. Pentru 1,75m avem o valoare ^ntre 0 si 1. Folosind functiile de apartenenta fuzzy, ecarei clauze dintr-un antecedent i se poate atribui o valoare de adevar fuzzy. Mai trebuie acum sa atribuim o valoare de adevar ^ntregului antecedent. Exemplu: Functia de apartenenta a vitezei la SP are valoarea 0,6 si functia de apartenenta a pozitiei la LN are valoarea 0,8, deci valoarea de adevar a ^ntregului antecedent este 0,6 pentru ca se considera valoarea minima. Pasul nal consta ^n combinarea valorilor de iesire pentru cele doua reguli. Acest proces se numeste defuzzi care. La acest proces, nu exista un consens asupra modului de operare. Tipul de defuzzi care ilustrat ^n gura 9.1 se numeste defuzzi care min-max. ^ntr-un sistem fuzzy, toate regulile actioneaza simultan asupra iesirii. La I iesire avem tensiunea corespunzatoare centrului de greutate al sumei regiunilor 9.1. LOGICA FUZZY viteza (functia de apartenenta) 167 tensiunea motorului (functia de apartenenta) LP 0 SP pozitie (functia de apartenenta) LN 0,8 0 0 MP 0,6 SN regula 1 SP 0,3 0 0 0,1 m/s viteza (intrare) -10 m pozitia (intrare) 0,2 0 regula 2 suma tensiunilor (se ia max.) centrul de greutate x 0 iesire (tensiunea motorului) Figura 9.1: Defuzzi care min-max. hasurate. Trebue sa facem observatia ca forma functiei de apartenenta este data de proiectant. De obicei se alege o functie triunghiulara sau trapezoidala. Logica fuzzy generalizeaza logica binara, permit^nd valori reale ^ntre 0 si 1. a 9.1.2 Logica fuzzy, logica conventionala si teoria multimilor Ca si teoria multimilor, logica fuzzy se ocupa de conceptul apartenentei la o multime. ^n teoria clasica a multimilor, un element poate sau nu poate sa apartina I unei multimi, ceea ce este nenatural. Exemplu: Un barbat de 1,80 m poate avea un grad de apartenenta de 0,6 la multimea barbatilor ^nalti. Aceasta ^nseamna si ca acest barbat are un grad de apartenenta de 0,4 la multimea barbatilor care "nu sunt ^nalti". Acest barbat apartine deci simultan celor doua multimi complementare, ceea ce ar imposibil ^n teoria conventionala. Logica conventionala de neste o functie de apartenenta la o multime A astfel: fA (x) 2 f0 1g, unde 0 ^nseamna x 62 A, iar 1 ^nseamna x 2 A. ^n logica fuzzy, I functia de apartenenta devine: fA (x) 2 0 1]. Ideea de a vedea o multime ca o functie capabila sa de neasca grade de apartenenta sta la baza teoriei multimilor fuzzy. Evident, este nevoie de o noua matematica, cea introdusa de Zadeh. 168 CAPITOLUL 9. RETELE NEURALE FUZZY Logica conventionala si logica fuzzy Logica conventionala foloseste AND, OR si NOT. Orice relatie poate descrisa prin combinarea acestor operatori. Functiile logice fuzzy opereaza asupra unor valori de adevar ^n 0 1]. Pentru valorile 0 si 1, o astfel de functie trebuie sa dea acelasi rezultat ca si ^n logica conventionala. Evident, exista o in nitate de functii care sa satisfaca aceste cerinte. Trebuie alese cele mai avantajoase. Functia AND poate implementata astfel: and(X Y ) = min(X Y ) unde X Y 2 0 1]. Functia OR: or(X Y ) = max(X Y ). Functia NOT: not(X ) = 1 ; X . Teoria clasica si fuzzy a multimilor Fie mA (x) valoarea functiei de apartenenta a punctului x la multimea A si mB (x) valoarea functiei de apartenenta a punctului x la multimea B. De nim: mA\B (x) = min mA (x) mB (x)]: Este o de nitie compatibila cu de nitia functiei AND. Este relatia pe care am folosit-o ^n exemplul cu controlerul. Similar: mA B (x) = max mA mB ] mAc (x) = 1 ; mA (x) unde Ac este complementul lui A. Ca exercitiu, calculati intersectia si reuniunea multimilor A si Ac. Multimi fuzzy si paradoxuri logice Bertrand Russell a dat urmatorul paradox al barbierului: ^ntr-un oras exista un I barbier care barbiereste pe oricine nu se barbiereste singur. Problema este daca barbierul se barbiereste singur. Apare o contradictie logica, un paradox. Daca propozitia P :"se barbiereste singur" are valoarea de adevarat, truth(P ), atunci truth(P ) = truth(notP ), deoarece barbierul se barbiereste si, ^n acelasi timp, nu se barbiereste singur. Folosind complementul fuzzy, truth(notP ) = 1 ; truth(P ): Atunci, deci truth(P ) = 1 ; truth(P ) truth(P ) = 0 5: 9.2. RETELE NEURALE FUZZY 169 ^n logica fuzzy, propozitiile pot avea valori de adevarat oriunde ^ntre 0 si 1, I deci paradoxul lui Russell nu mai exista. Desigur, elimin^nd toate restrictiile asupra imaginatiei, putem practic exa plica orice. De exemplu, sa consideram superstitiile popoarelor primitive care explica fenomenele naturale cu ajutorul entitatilor supranaturale. Logicienii conventionali acuza teoreticienii fuzzy de "constructie arti cala". Teoriile matematice trebuie ^nsa judecate prin consistenta, frumusetea si utilitatea lor. Teoria fuzzy satisface toate aceste cerinte. Observatii matematice Fie X o multime oarecare. Fie fA : X ! 0 1] o functie. Functia fA de neste o multime fuzzy (^n X ), adica multimea A = f(x fA (x)jx 2 Xg. Functia fA este functia de apartenenta la multimea A. Apare un abuz de limbaj^ntre "multimea" fuzzy A si "functia" de apartenenta la A. Acest abuz se datoreaza faptului ca de nim o multime prin gradul de apartenenta la aceasta multime, nu prin enumerarea multimii, cum suntem obisnuiti. 9.2 Retele neurale fuzzy 9.2.1 Neuroni fuzzy Un neuron non-fuzzy are N intrari ponderate si o iesire. Iesirea se calculeaza astfel: ! N X y=f wixi ; T i=1 unde f este functia de activare, ^n general neliniara. Un neuron fuzzy (NF) ( g. 9.2) are N intrari ponderate si M iesiri. intrari x1 x2 ponderi iesiri y1 w1 g1 g2 w2 ... xN gM wN T Figura 9.2: Neuronul fuzzy. ... f ... h y2 y M 170 CAPITOLUL 9. RETELE NEURALE FUZZY Toate intrarile si ponderile sunt valori reale, iar iesirile sunt valori reale ^n intervalul 0,1]. Fiecare iesire poate asociata gradului de apartenenta (^n sensul fuzzy), adica exprima ^n ce masura pattern-ul cu intrarile fx1 x2 : : : xN g apartine unei multimi fuzzy. Avem: z = h(w1x1 w2x2 : : : wN xN ) unde z este intrarea ^n NF, iar h este functia de agregare, s = f (z ; T ) unde s este starea NF, f este functia de activare, iar T este pragul, yj = gj (s) j = 1 : : : M unde gj , j = 1 : : : M sunt functiile de iesire ale NF reprezent^nd gradele de a apartenenta ale lui fx1 : : : xN g la cele M multimi fuzzy. ^n general, ponderile, I pragul si functiile de iesire sunt modi cabile ^n timpul procesului de instruire. Functia de agregare si functia de activare sunt xe. Se pot de ni multe tipuri de NF prin schimbarea functiilor f si h. De nim acum patru tipuri de NF. 1. un NF de intrare este un NF folosit ^n stratul de intrare a unei RNF (retele de neuroni fuzzy), av^nd doar o singura intrare x, astfel ^nc^t z = x. a a 2. un MAX-NF are functia de agregare: z = maxi=1 ::: N (wixi): 3. un MIN-NF are functia de agregare: z = mini=1 ::: N (wixi ): 4. un COMP-NF (NF competitiv) are pragul variabil si o singura iesire, astfel ^nc^t: a ( y = g(s ; T ) = 0 daca s < T 1 daca s T T = t(c1 c2 : : : cK ) unde s este starea NF, t este functia prag, iar ck , k = 1 : : : K sunt variabile competitive ale NF. 9.2. RETELE NEURALE FUZZY 171 9.2.2 Structura unei RNF RNF propusa1 este pe patru straturi. Primul strat, de intrare, foloseste neuroni fuzzy de intrare. Presupun^nd ca dorim sa recunoastem caractere, ecare NF din a acest strat corespunde unui pixel din pattern-ul de intrare. Daca ecare pattern de intrare are N1 N2 pixeli, atunci primul strat are N1 N2 NF de intrare. Pentru al (i j )-lea NF de intrare din primul strat avem: 1] 1] sij = zij = xij pentru i = 1 : : : N1 j = 1 : : : N2 1] sij 1] yij = P pentru i = 1 : : : N1 j = 1 : : : N2 vmax unde xij este valoarea pixelului (i j ), xij 0, iar Pvmax este valoarea maxima a pixelilor pentru toate pattern-urile de intrare. Al doilea strat consta din N1 N2 MAX-NF. Acest al doilea strat realizeaza fuzzi carea pattern-urilor de intrare prin functia pondere w(m n). Starea celui de-al (p q)-lea MAX-NF din al doilea strat este: 1] 2] spq = maxi=1 ::: N (maxj=1 ::: N (w(p ; i q ; j )yij )) 1 2 pentru p = 1 : : : N1 si q = 1 : : : N2, unde w(p;i q ;j ) este ponderea conexiunii dintre al (i j )-lea NF de intrare din primul strat si al (p q)-lea MAX-NF din al doilea strat: w(m n) = e; (m +n ) pentru m = ;(N1 ; 1) : : : (N1 ; 1) si n = ;(N2 ; 1) : : : (N2 ; 1). Prin aceasta functie pondere care are o forma de gaussiana, ecare NF din al doilea strat este ca o lentila, astfel ^nc^t ecare NF focalizeaza pe un pixel din pattern-ul de a intrare, dar "vede" si pixelii vecini. Parametrul determina c^ti pixeli "vede" a un NF, aceasta ind decis prin algoritmul de instruire. Functia w se numeste si functie de fuzzi care. Fiecare MAX-NF din acest strat are M iesiri diferite, c^te a una pentru ecare NF din al treilea strat. Iesirile celui de-al (p q)-lea MAX-NF din al doilea strat sunt: 2] 2] ypqm = gpqm(spq ) 2] pentru p = 1 : : : N1, q = 1 : : : N2, m = 1 : : : M , unde ypqm este a m-a iesire a celui de-al (p q)-lea MAX-NF catre al m-lea MIN-NF din stratul trei. Functia de iesire gpqm se determina prin algoritmul de instruire. Pentru simplitate, putem alege triunghiuri isoscele de ^naltime 1 si baza ( g. 9.3). Avem: 2 2 2 8 < 2jspq ; pqm j 2] 2] 2] pentru jspq ; ypqm = gpqm(spq ) = : 1 ; 0 ^n rest 2] pqm j 2 Kwan, H.K., Cai.Y "A Fuzzy Neural Network and its Application to Pattern Recognition", IEEE Trans. on Fuzzy Systems, 2, 1994, 185-193. 1 CAPITOLUL 9. RETELE NEURALE FUZZY 172 g pqm(s[2]) pq 1 Θ pqm 0 s [2] pq α [2] Figura 9.3: Functia de iesire gpqm . pentru 0, p = 1 : : : N1, q = 1 : : : N2, m = 1 : : : M , unde pqm este mijlocul bazei triunghiului. Prin algoritmul de instruire se determina pentru ecare p, q, m valorile corespunzatoare pentru si pqm. Al treilea strat consta din M neuroni de tip MIN-NF. Fiecare din acesti neuroni reprezinta un pattern ^nvatat. Deci, M poate determinat doar la ^ncheierea procesului de instruire. Iesirea celui de-al m-lea MIN-NF este: 3] 3] 2] ym = sm = minp=1 ::: N (minq=1 ::: N (ypqm)) pentru m = 1 : : : M . Al patrulea strat este stratul de iesire si consta din M neuroni de tip COMPNF, c^te unul pentru ecare pattern ^nvatat. Daca un pattern de intrare este a cel mai asemanator cu al m-lea pattern ^nvatat, atunci iesirea celui de-al m-lea COMP-NF este 1, iar celelalte iesiri sunt 0. Avem: 4] 4] 3] sm = zm = ym pentru m = 1 : : : M ( 4] 0 4] 4] ym = g sm ; T ] = 1 daca sm < T pentru m = 1 : : : M 4] daca sm = T 3] T = maxm=1 ::: M (ym ) pentru m = 1 : : : M unde T este pragul de activare pentru toti neuronii din cel de-al patrulea strat. 1 2 9.2.3 Algoritmul de instruire a unei RNF Prin instruire, trebuie sa determinam urmatorii parametri: , pqm, si M . De nim Tf , 0 Tf 1, ca toleranta la eroare a RNF. Fie K numarul total de pattern-uri de instruire. Pasul 1. Creeaza N1 N2 neuroni de tip NF de intrare ^n primul strat si N1 N2 neuroni de tip MAX-NF ^n al doilea strat. Alege o valoare pentru , 0 si o valoare pentru . 9.2. RETELE NEURALE FUZZY 173 Pasul 2. M = 0, k = 1. Pasul 3. M = M + 1. Creeaza al M -lea MIN-NF ^n al treilea strat si al M -lea COMP-NF ^n al patrulea strat. 2] pqM = spq = maxi=1 ::: N (maxj =1 ::: N (w(p ; i q ; j )xijk )) pentru p = 1 : : : N1 si q = 1 : : : N2 , unde pqM este mijlocul bazei triunghiului pentru cea de-a M -a functie de iesire a celui de-al (p q)-lea MAXNF ^n stratul 2. Xk = fxijk g, i = 1 : : : N1 , j = 1 : : : N2 este al k-lea pattern de instruire. Presupunem ca valorile xijk sunt deja normalizate. Pasul 4. k = k + 1. Daca k > K , algoritmul de instruire se termina. Altfel, accepta la intrarea ^n retea al k-lea pattern si calculeaza iesirea RNF curente, cu M neuroni ^n straturile 3 si 4. 3] = 1 ; maxj=1 ::: M (yjk ) 1 2 3] unde yjk este iesirea celui de-al j -lea MIN-NF din stratul 3 pentru al k-lea pattern de instruire Xk . Daca: Tf , goto Pasul 4. > Tf , goto Pasul 3. 9.2.4 Analiza RNF Primul strat de neuroni accepta datele de intrare si transforma valoarea pixelilor ^n valori normalizate, ^n intervalul 0,1]. Al doilea strat fuzzi ca pattern-ul de intrare. Valoarea unui pixel ^n patternul de intrare va afecta starile mai multor NF din stratul 2. Cu c^t este mai mic, a cu at^t mai multi NF din stratul 2 vor afectati de un pixel din pattern-ul de a intrare. Deci, controleaza gradul de fuzzi care. Daca este prea mic, RNF nu va putea separa pattern-urile distincte. Daca este prea mare, RNF ^si pierde abilitatea de a recunoaste pattern-uri perturbate. Valoarea lui trebuie aleasa astfel ^nc^t toate pattern-urile distincte sa poata separate, iar RNF sa aiba o a rata de recunoastere acceptabila. 2] Valoarea ypqm exprima conceptul fuzzy cu privire la gradul ^n care valoarea pixelilor ^n jurul pixelului (p q) din pattern-ul de intrare sunt similare cu valoarea pixelilor ^n jurul pixelului (p q) din cel de-al m-lea pattern ^nvatat. Functia de iesire gpqm pentru neuronii din cel de-al doilea strat este, de fapt, o functie 2] de apartenenta fuzzy: gpqm(spq ) arata gradul de apartenenta al pattern-ului de intrare la clasa reprezentata de al m-lea pattern ^nvatat, apartenenta referindu-se la vecinatatile corespunzatoare ale pixelului (p q). Neuronii din al treilea strat determina similaritatile dintre pattern-ul de intrare si pattern-urile ^nvatate. Avem de fapt: ( 2 2] 2] min pentru 3] ym = 0 p q (1 ; jspq ; pqm j) ^n rest maxp q (jspq ; pqm j) 2 174 CAPITOLUL 9. RETELE NEURALE FUZZY 3] pentru m = 1 : : : M . Valoarea ym masoara similaritatea pattern-ului de intrare cu al m-lea pattern ^nvatat. Daca pattern-ul de intrare a fost deja ^nvatat, va 3] exista un m pentru care ym = 1. Daca pattern-ul de intrare nu a fost ^nvatat, 3] toate valorile ym , m = 1 : : : M vor mai mici dec^t 1. Valoarea lui trebuie a sa acopere toate valorile posibile la nivel de pixel. Stratul de iesire este folosit pentru defuzzi care. Deci, procedura de recunoastere prin RNF consta din: 1. datele de intrare (stratul 1) 2. fuzzi care (stratul 2) 3. deductie fuzzy (stratul 3) 4. defuzzi care (stratul 4) Straturile 3 si 4 sunt construire prin instruirea retelei. Daca un pattern de intrare este similar cu un pattern deja ^nvatat, el este tratat ca acel pattern, fara a mai ^nvatat si el. ^n caz contrar, pattern-ul de intrare este ^nvatat. Procesul I de instruire poate continuu: RNF nu trebuie ^n mod necesar instruita complet ^nainte de a folosita ea poate si instruita si pe parcursul folosirii. Parametrii , si Tf trebuie xati convenabil. 9.2.5 Rezultatele simularii ^n implementarea autorilor, literele si cifrele au fost construite ca pattern-uri de I 16 16 pixeli, pixelii av^nd doar valori binare. Pattern-urile au fost apoi miscate a prin deplasari ^n cele opt directii cu unul si doi pixeli. Cele 36 de pattern-uri corecte si c^teva din pattern-urile obtinute prin deplasari au fost folosite pentru a a instrui reteaua. Pentru a testa performantele retelei, s-au folosit pattern-uri perturbate prin: marire/micsorare, subtiere/^ngrosare, adaugarea/extragerea unor mici portiuni etc. S-au folosit diferite valori pentru , , Tf la instruire: 15 35 0 1 Tf 0 35 01 1 6: Dupa instruire, s-a testat RNF la recunoasterea unor pattern-uri perturbate, rezultatele ind foarte bune. 9.2. RETELE NEURALE FUZZY 175 9.2.6 Concluzii Timpul de instruire a RNF este mai mic dec^t ^n cazul instruirii prin propagarea a ^n urma a erorii. Recunoasterea este si ea mai rapida. Sa observam ca aceasta RNF ^nvata nesupervizat, ind ^n esenta un algoritm de clustering. Ulterior instruirii, RNF este folosita ca un clasi cator. Exista variante ale acestei RNF care ^nvata ^n mod supervizat2 . Cai, Y., H.K. Kwan "Fuzzy Classi cation Using Fuzzy Inference Networks". IEEE Trans. Syst., Man, and Cyb., Part B: Cybernetics, 28, 1998, 334-374. 2 176 CAPITOLUL 9. RETELE NEURALE FUZZY Capitolul 10 Algoritmi genetici Natura a demonstrat puterea geneticii. Cei ce vor sa multiplice performantele sistemelor biologice, chiar partial, nu pot ignora modul ^n care acestea s-au dezvoltat, cum au evoluat. Algoritmii genetici sunt mijloace prin care masinile pot emula mecanismele selectiei naturale. Acesti algoritmi sunt simpli, robusti si generali. Cu retelele neurale au ^n comun urmatoarele: nu sunt necesare cunostinte asupra spatiului de cautare consuma uneori mult timp sunt paraleli prin natura lor ambele metode se aplica unor probleme similare. De aceea, de multe ori algoritmii genetici si retelele neurale se aplica ^mpreuna. De exemplu, algoritmii genetici se pot aplica pentru accelerarea procesului de instruire a retelelor neurale. ^n mod ciudat, printr-un algoritm genetic se poate I obtine algoritmul genetic care rezolva o problema data. 10.1 Introducere Metodele conventionale de optimizare se bazeaza pe ajustarea parametrilor unui model pentru a produce un rezultat dorit. La retelele neurale, prin instruire se modi ca iterativ ponderile conexiunilor, astfel ^nc^t sa se produca relatia dorita a ^ntre intrari si iesiri. De remarcat ca este mentinuta o singura solutie care este optimizata ^n mod iterativ. Algoritmii genetici opereaza optimizari conform tehnicilor cunoscute ^n genetica biologica: se modi ca si se mentin caracteristicile unei populatii de solutii (indivizi) pe parcursul unui mare numar de generatii. Acest proces produce populatii succesive av^nd un numar din ce ^n ce mai mare de indivizi cu caraca teristicile dorite. Ca si ^n natura, procesul este probabilistic, dar nu complet aleator. Dupa cum vom vedea, regulile geneticii retin caracteristicile dorite prin 177 178 CAPITOLUL 10. ALGORITMI GENETICI maximizarea probabilitatii de proliferare a solutiilor (indivizilor) care au aceste caracterisitci. Genetica nu optimizeaza, ci ^mbunatateste. Un individ nu trebuie sa e optim pentru a supravietui el trebuie sa e superior altor indivizi din populatia respectiva. Algoritmii genetici opereaza asupra unor codi cari de parametri, nu direct asupra parametrilor. Codi carile sunt siruri de lungime nita, de obicei binare. Fiind data o populatie initiala de siruri, un algoritm genetic produce o noua populatie de siruri folosind o multime de reguli genetice. Regulile sunt astfel construite ^nc^t aceasta noua generatie tinde sa aiba siruri superioare celor din a generatia precedenta, din punct de vedere al unei functii obiectiv. 10.2 Exemplu Dorim sa minimizam valoarea unui sir binar, considerat aici ca un numar binar. Vom efectua urmatorii pasii: 1. initializare 2. reproducere 3. ^ncrucisare 4. mutatie 5. repeta pasii 2-4. Initializare Fiecare sir este generat ca un numar binar aleator. Pornim cu urmatoarele sase siruri: i sirul Ai val. zecimala fi pi 1 011010 26 0,0385 0,142 2 001011 11 0,0909 0,334 3 110110 54 0,0185 0,068 4 010011 19 0,0526 0,194 5 100111 39 0,0256 0,094 6 010110 22 0,0455 0,168 0,2716 1 Total Ca functie obiectiv se alege (val. zecimala);1. Reproducere prin selectie Se obtine o a doua generatie de siruri care au, ^n medie, functia obiectiv mai mare. Fiecare sir Ai este copiat ^n generatia urmatoare de un numar de ori care 10.2. EXEMPLU 179 este proportional cu pi, unde: pi = Pfif jj fi ind functia obiectiv, iar pi este functia obiectiv relativa. "Discul norocului" ( g. 10.1) este reprezentarea gra ca a acestor functii. 001011 110110 011010 010011 010110 100111 Figura 10.1: "Discul norocului". Sectiunile sunt proportionale cu pi . Pentru ecare copiere ^n generatia urmatoare, se copiaza sirul la care s-a oprit discul. Se fac sase copieri, pentru ca a doua generatie sa e la fel de mare: 011010 001011 001011 010011 100111 010110 Primul sir se reproduce, ^n medie, de 6 0 412 = 0 71 ori deci, prin rotunjire, o data. ^ncrucisare I Se simuleaza schimbul de material genetic care are loc ^n timpul reproducerii biologice. ^n mod aleator, se obtin perechi de siruri. Pentru simplitate, vom I ^ncrucisa perechile adiacente. Pentru ecare pereche se obtine un numar ^ntreg aleator ^ntre 1 si 6. Acesta arata c^ti biti din dreapta se schimba ^ntre cele doua a siruri. De exemplu, ^ncrucisam sirurile A1 si A2 , av^nd ^ntregul aleator 2: a ( )( ) 011010 ! 011011 : 001011 001010 CAPITOLUL 10. ALGORITMI GENETICI 180 Procesul continua pentru sirurile A3 si A4 , av^nd ^ntregul aleator 4 si pentru a sirurile A5 si A6 av^nd ^ntregul aleator 3. Obtinem sirurile: a 011011 001010 000011 011011 100110 010111 Mutatie Biologic, ea perturba caracteristicile populatiei, ^n mod aleator, prevenind degenerarile. Cele mai multe mutatii mai mult distrug dec^t sa e bene ce. De a aceea, mutatia trebuie sa e rara, pentru a nu distruge specia. Pe de alta parte, ea e necesara. ^n simularea noastra, vom presupune o rata a mutatiei de 1/1000 I biti, mutatia ^nsemn^nd aici o inversare de bit. Deoarece avem 36 de biti ^n a populatie, probabilitatea unei mutatii este 0,036. Presupunem ca nu are loc nici o mutatie la acest pas. Obtinem astfel a doua generatie: i 1 2 3 4 5 6 Total sirul Ai val. zecimala 011011 27 001010 10 000011 3 011011 27 100110 38 010111 23 fi 0,037 0,10 0,333 0,037 0,0263 0,043 0,576 pi 0,064 0,174 0,578 0,064 0,046 0,075 1 Observam ca totalul functiei obiectiv a crescut vizibil. ^ntregul proces se reia, obtin^nd urmatoarele generatii. I a ^n general, populatia poate sa creasca sau sa scada de la o generatie la alta. I Acest proces continua p^na c^nd functia obiectiv atinge o valoare acceptabila aa pentru o anumita generatie. Convergenta este, ^n general, rapida. Se poate^nt^mpla sa ajungem la o degenerare, de exemplu daca cele sase siruri a sunt 000011. De aici putem iesi doar astept^nd o mutatie favorabila. Aceasta a poate avea loc doar dupa multe generatii. Astfel se poate ^nt^mpla si ^n natura, a unde o specie poate suferi o adaptare neoptima pentru milenii, p^na c^nd apare aa un organism mai bine adaptat care ajuta la perfectionarea speciei. 10.3 Fundamente matematice O schema este o submultime de siruri cu similaritati ^n anumite pozitii. Vom considera siruri peste alfabetul V = f0 1g. Un sir va notat astfel: A = a1 a2a3 : : : al , unde ai poate 0 sau 1, iar l este lungimea sirului. O schema H peste alfabetul 10.3. FUNDAMENTE MATEMATICE 181 V + = f0 1 g este, de exemplu, H = 11 0 . Schema H este, de pilda, reprezentata de sirul 0110000. Daca V are k siruri, atunci se pot forma (k + 1)l scheme. Fiecare sir este continut ^n 2l scheme deoarece, ecare caracter din sir poate avea e valoarea pe care o are, e . Deci, ^ntr-o populatie de n siruri, exista cel mult n 2l scheme si cel putin 2l scheme reprezentate efectiv ^n populatie, acest numar depinz^nd de diversitatea a populatiei. Ordinul unei scheme H , o(H ), este numarul pozitiilor xate din H . De exemplu, o(011 1 ) = 4. Lungimea de de nitie a unei scheme H , (h), este distanta dintre prima si ultima pozitie xata. De exemplu, (011 1 ) = 4. Vom considera efectele operatiilor de reproducere, ^ncrucisare si mutatie asupra schemelor reprezentate ^ntr-o populatie de siruri. Reproductie Presupunem ca la momentul t exista m reprezentanti (m siruri) ai schemei H ^n generatia A(t). Vom scrie: m = m(H t). Conform algoritmului de reproductie, f un sir Ai este copiat ^n generatia urmatoare cu probabilitatea pi = Pifj . Presupunem ca selectam n siruri distincte din A(t) pentru urmatoarea generatie, A(t + 1), cu "reintroducere". Avem: m(H t + 1) = m(H t) n f (H ) Pf j unde f (H ) este valoarea medie a functiei obiectiv pentru sirurile care reprezinta schema H la P f momentul t. Fie f = n j valoarea medie a functiei obiectiv pentru ^ntreaga populatie (A(t) are n siruri). Atunci: H m(H t + 1) = m(H t) f (f ) : O schema H creste deci direct proportional cu raportul: valoarea medie a functiei obiectiv pentru schema H : valoarea medie a functiei obiectiv pentru ^ntreaga populatie Efectul reproducerii este clar: din punct de vedere al numarului de reprezentanti, o schema H cu f (H ) > f creste, iar o schema H cu f (H ) < f scade. Sa presupunem acum ca pentru o schema H avem f (H ) = f + cf , unde c este o constanta. Atunci: m(H t + 1) = m(H t) f + cf = (1 + c) m(H t): f Pornind din t = 0, obtinem: m(H t) = m(H 0)(1 + c)t adica, obtinem o progresie geometrica. Cresterea / scaderea unei scheme prin reproductie este exponentiala. 182 CAPITOLUL 10. ALGORITMI GENETICI ^ncrucisare I Fie l = 7 si e: A= H1 = H2 = 0111000 *1****0 ***10** Sirul A reprezinta schemele H1 si H2. "Taietura" dupa care se executa ^ncrucisarea se alege aleator, echiprobabil ^ntre cele 6 posibilitati. De exemplu: A= H1 = H2 = 011|1000 *1*|***0 ***|10** ^ncrucisarea are loc prin schimbarea primelor 3 caractere din A. Observam I ca H1 este distrusa, deoarece 1 si 0 vor plasate ^n siruri diferite. H2 supravietuieste ^nsa. Probabilitatea ca H1 sa e distrusa este mai mare, deoarece (H1) > (H2). Probabilitatea ca H1 sa e distrusa este H 5 pd = l(; 11) = 6 : Probabilitatea ca H1 sa supravietuiasca este ps = 1 ; pd = 1 6 1 . Similar, pentru H2, pd = 6 . Nu am considerat deocamdata situatia ^n care, prin operatia de ^ncrucisare, pozitiile xate din schema nu se modi ca. ^n general, I H ps = 1 ;;(1 ) : l Fie pc probabilitatea ca sa efectuam operatia de ^ncrucisare. Avem: H) ps 1 ; pc l (; 1 : Se foloseste semnul pentru ca acum tinem cont si de situatia ^n care, prin operatia de ^ncrucisare, pozitiile xate nu se modi ca. Consideram acum efectul combinat al reproductiei si ^ncrucisarii. Presupun^nd ca aceste doua operatii sunt independente obtinem: a ! f (H ) 1 ; p (H ) : m(H t + 1) m(H t) f c l;1 Observam ca schemele cu lungime mica sunt favorizate. 10.4. EXERCITII 183 Mutatie Alteram o pozitie xata cu probabilitatea pm, deci supravietuieste cu probabilitatea 1 ; pm . O schema H supravietuieste daca ecare dintre cele o(H ) pozitii xate supravietuieste. Rezulta ca probabilitatea ca o schema H sa supravietuiasca este (1 ; pm)o(H ) . Pentru valori mici ale lui pm , aceasta probabilitate se poate aproxima cu 1 ; o(H )pm, conform inegalitatii Bernoulli: Oricare ar a ;1 si n natural, avem: (1 + a)n 1 + na: Tin^nd cont de toate operatiile genetice, obtinem (rotunjit): a ! f (H ) 1 ; p (H ) ; o(H )p : m(H t + 1) m(H t) f c m l;1 Observam ca schemele cu ordin mic sunt favorizate. ^n nal, putem formula urmatoarea teorema: I Teorema Fundamentala a Algoritmilor Genetici (Holland, 1975). Schemele cu valoare a functiei obiectiv peste medie, cu lun- gimea de de nitie si ordinul mici, cresc exponential ^n generatiile urmatoare. Am vazut ca ^ntr-o populatie de n siruri de lungime l sunt procesate ^ntre 2l si n2l scheme. Nu toate aceste scheme sunt procesate cu o probabililitate mare, datorita operatiilor de ^ncrucisare si mutatie (schemele lungi sunt distruse). Se poate demonstra ca numarul de scheme efectiv procesate este ^n ordinul lui n3 , tin^nd cont si de operatiile de ^ncrucisare si mutatie. a Cu alte cuvinte, cu toate ca se proceseaza n siruri la ecare generatie, un algoritm genetic proceseaza de fapt ^n ordinul lui n3 scheme. Aceasta proprietate de neste paralelismul implicit al unui algoritm genetic. Manipul^nd n elemente, a procesam de fapt aproximativ n3 similaritati. Acestui paralelism implicit i se datoreaza faptul ca spatiul cautarilor este su cient de mare pentru ca algoritmul sa nu duca, ^n general, la un optim local ci la unul global. Fiind data o populatie de siruri, cu valorile respective ale functiei obiectiv, ne punem problema de ce informatie dispunem pentru a ghida cautarea unor siruri mai bune. Raspunsul este: similaritatile dintre siruri. Aceste similaritati sunt descrise de schemele populatiei. 10.4 Exercitii 1. (C) Minimizati functia f (x y z) = x2 +y2 +z2 , x y z 2 ;512 512]. Folositi siruri binare de lungime 10. 184 CAPITOLUL 10. ALGORITMI GENETICI Capitolul 11 Puterea si complexitatea de calcul a retelelor neurale 11.1 Masina Turing Masina Turing este un model abstract de calculabilitate. O masina Turing este formata dintr-o banda divizata ^n celule, in nita la dreapta si dintr-un cap de citire/scriere care la un moment dat este pozitionat exact asupra unei celule. Fiecare celula poate contine cel mult un simbol. ^n plus, exista o multime nita I de stari care controleaza mutarile masinii. La o mutare, masina Turing, ^n functie de simbolul din celula de banda pe care este pozitionat capul de citire/scriere si de starea ^n care se a a masina, efectueaza urmatoarele: 1. Trece ^ntr-o noua stare. 2. Scrie un simbol ^n celula pe care masina se a a pozitionata, ^nlocuind ceea ce era scris ^nainte (eventual poate tipari acelasi simbol). 3. Deplaseaza capul de citire o celula la dreapta sau st^nga, sau lasa capul de a citire/scriere pozitionat asupra aceleiasi celule. Initial, capul de citire/scriere este pozitionat asupra celei mai din st^nga celule. a Primele n celule din st^nga, pentru un n 0, contin simboluri care reprezinta a datele de intrare, iar restul de celule, ^n numar in nit, contin un simbol special ce nu poate folosit pentru reprezentarea datelor de intrare (de obicei, blank). Masina porneste dintr-o stare precis determinata, numita stare initiala. Unele stari din multimea nita a starilor se numesc stari nale. Starile nale sunt de doua tipuri: de acceptare si de respingere. Multimea simbolurilor formeaza un alfabet ( nit). Secventele nite de simboluri se numesc cuvinte. O masina M accepta un cuv^nt w daca, pornind din a starea initiala, cu w ca data de intrare, ajunge, dupa un numar nit de pasi, ^ntr-o stare nala de acceptare. Limbajul acceptat de o masina M este multimea ( nita sau in nita): L(M ) = fwjM accepta wg: 185 186 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL Multimea limbajelor acceptate de masini Turing formeaza clasa limbajelor recursiv enumerabile, L0. ^n cazul ^n care numarul de pasi efectuati este nit, modul de operare al unei I masini Turing este descris de catre un algoritm. ^n afara de imaginea masinii Turing ca si o procedura (algoritm - daca este I nit) de recunoastere a unei multimi, putem considera ca un astfel de dispozitiv calculeaza o functie adaug^nd o banda de scriere. O astfel de masina calculeaza a o functie naturala f daca, pornind cu data de intrare x, se opreste cu f (x) pe banda de scriere. Functia f se numeste, ^n acest caz, Turing-calculabila. Calculabilitatea intuitiva este un concept prematematic care nu permite nici o restrictie inevitabil impusa de o de nitie riguroasa. Orice functie Turing-calculabila este si intuitiv calculabila. Reciproca acestei a rmatii este mai di cil de formulat, deoarece identi ca doua obiecte din care unul este matematic iar unul prematematic. Teza lui Church-Turing (1936). Orice functie intuitiv calcula- bila este Turing-calculabila. Teza lui Church-Turing nu poate demonstrata, ci doar justi cata prematematic. Cu alte cuvinte, este greu de acceptat existenta unor functii naturale intuitiv calculabile care sa nu e Turing-calculabile. ^n conformitate cu teza lui Church-Turing, clasa multimilor L0 coincide cu I clasa multimilor algoritmic calculabile. Teorema (Turing, 1936). Problema opririi masinii Turing este nerezolvabila. Cu alte cuvinte, nu exista un algoritm care sa determine daca o masina Turing arbitrara, actionata dintr-o con guratie arbitrara (q w i) se va opri sau nu (q este starea, w este data de intrare, iar i este pozitia capului). Puterea de calcula a masinilor Turing este foarte mare: orice algoritm , chiar si NP, poate implementat pe o masina Turing corespunzatoare. O masina Turing poate rezolva orice problema rezolvabila pe un calculator de uz general, av^nd a avantajul ca poate descrisa matematic foarte concis. Masinile Turing pot deterministe sau nedeterministe. Multimea limbajelor acceptate de masinile nedeterministe este, ^nsa, egala cu multimea limbajelor acceptate de masinile deterministe. Un algoritm NP poate rezolvat ^ntr-un timp polinomial pe o masina Turing nedeterminista. Daca se doreste rezolvarea pe o masina determinista, timpul nu mai ram^ne polinomial. a Un algoritm P poate rezolvat ^ntr-un timp polinomial pe o masina Turing determinista. 11.2. PUTEREA DE CALCUL A RETELELOR NEURALE 187 11.2 Puterea de calcul a retelelor neurale Un model masiv paralel (MMP) este o multime de celule interconectate printr-o retea de comunicatie. Fiecarei celule ^i corespunde o vecinatate din care provin conexiunile care intra ^n celula. Numarul de celule poate in nit, numarul de conexiuni este, la nivel local, nit, iar conexiunile sunt orientate. ^n particular, modele masiv paralele sunt: retelele neurale, automatele celulare I si retelele de automate. ^n cadrul masinilor Turing, o problema este rezolvabila algoritmic daca exisI ta un algoritm av^nd la intrare un cuv^nd nit w si la iesire un cuv^nt care a a a reprezinta informatia determinata de w. Spre deosebire de aceasta, un MMP rezolva probleme de con guratie, av^nd la intrare o con guratie x a modelului si a la iesire o con guratie a modelului care reprezinta informatia determinata de x. Generalizam acum notiunea de rezolvabilitate pentru MMP. De nitie. O problema de con guratie este p-rezolvabila printr-un model masiv paralel M daca, indiferent de con guratia de intrare x, exista un moment t astfel ^nc^t avem: a stabilitate: T (t0 x) = T (t x) pentru t0 > t corectitudine: T (t0 x) este exact iesirea dorita. Prin T am notat functia care de neste dinamica globala a modelului. C^teva rezultate fundamentale a McCulloch si Pitts a rmau^n 1943 ca retelele neurale sunt calculatoare universale. Franklin si Garzon au aratat ca orice problema rezolvabila algoritmic (printr-o masina Turing) poate efectiv formulata sub forma unei probleme de con guratie p-rezolvabila pe o retea neurala Asadar, retelele neurale sunt ce putin la fel de puternice ca si masinile Turing. Con guratiile unui MMP pot ^nsa in nite, deci p-rezolvabilitatea este o notiune mai complexa dec^t calculabilitatea. Franklin si Garzon au demonstrat ca a problema opririi este p-rezolvabila pe o retea neurala in nita. Aceasta problema nu este^nsa rezolvabila pe o masina Turing, dupa cum am vazut. Conform acestui rezultat, dar si al altor rezultate de acest fel, s-au demonstrat de catre Garzon si Franklin1 urmatoarele relatii: masini Turing automate celulare retele neurale retele de automate Garzon, M., S. Franklin "NeuralComputability II", Report of Memphis State University, MSU-TR-89-12, 1989. 1 188 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL 11.3 Reprezentarea functiilor booleene prin retele feedforward Orice functie nita poate implementata exact printr-o retea neurala feedforward, cu un strat ascuns, de perceptroni de tip continuu (Ito 2) Prin de nitie, o functie nita este de forma f : Q ! R, unde Q Rd, Q nita. Orice functie continua poate aproximata oric^t de bine de o retea neurala a feedforward cu un singur strat ascuns, de perceptroni de tip continuu (Funahashi3, Hecht-Nielsen 4 ). Sa consideram cazul functiilor booleene. Domeniul de de nitie al unei functii booleene cu N argumente contine 2N elemente. Pentru ecare din aceste 2N elemente exista 2 valori posibile ale functiei. Deci, exista 22N functii booleene diferite cu N argumente. Vom reprezenta o functie booleeana arbitrara printr-o retea feedforward cu un strat ascuns. Aceasta nu surprinde, o functie booleeana ind un caz particular de functie nita. Primul strat va format din N perceptroni discreti 1 : : : N , reprezent^nd argumentele functiei. Ultimul strat a consta dintr-un neuron discret S , reprezent^nd valoarea functiei F ( 1 : : : N ). a Valorile logice sunt reprezentate de 1. ^n stratul ascuns sunt 2N neuroni I discreti q0 : : : q2N ;1. Ponderea wjk dintre k si qj este w, calculata astfel: e ( 1 : : : N ) reprezentarea binara a lui j . Luam wjk = +w daca k = 1 si wjk = ;w daca k = 0. Adica, wjk = (2 k ; 1)w, unde w este o constanta pozitiva. Alegem pragul pentru neuronii ascunsi: (N ; 1)w. Potentialul pentru un neuron ascuns este: X wjk k ; (N ; 1)w X = w ( (2 k ; 1) k ) ; (N ; 1)]: hj = k k Avem hj > 0 daca si numai daca (2 k ; 1) k = 1 pentru k = 1 : : : N unde 2 k ; 1 = 1 si k = 1. Deci, conditia este: 2 k;1= k pentru k = 1 : : : N: Cu alte cuvinte, pentru o intrare, exact un neuron din stratul ascuns va deveni activ. Acest neuron este qj , unde j0 este reprezentat binar ca 2+1 : : : N2+1 . 0 1 Ito, Y. "Finite Mapping by Neural Networks and Truth Functions", Math. Scientist, 17, 1992, 69-77. 3 Funahashi, K. "On the Approximate Realization of Continuous Mapping by Neural Networks", Neural Networks, 2, 1989, 183-192. 4 Hecht-Nielsen, R. "Theory of the Backpropagation Neural Network", In: "Neural Networks for Perception", H. Wechsler (Ed.), Academic Press, 1992, 65-93. 2 11.3. REPREZENTAREA FUNCTIILOR BOOLEENE 189 Avem, deci, urmatoarele iesiri din neuronii ascunsi: ( sj = +1 pentru j = j0 : ;1 pentru j 6= j0 Ponderea vj dintre sj si neuronul S va : ( vj = +1 daca F ( 1 :: :: :: N ) = true ;1 daca F ( 1 N ) = false unde ( 1 : : : N ) corespunde lui sj . Luam pragul: X ; vj j . Potentialul pentru neuronul S este: X X X k = vj sj + vj = vj (sj + 1) = 2vj : j j Iesirea din retea va sgn(h) = F ( +/-1 σ1 σN q0 1 ::: s0 v0 ... ... +/-1 w01 qN 0 j s2N-1 N) S ( g. 11.1). sgn(h) = F ( σ1 ,..., σN ) v2N-1 2 -1 Figura 11.1: Retea neurala care implementeaza functia F ( 1 : : : N ). Se observa ca numarul de neuroni ascunsi este 2N , deci foarte mare. Pe de alta parte, problema reprezentarii unei functii booleene (SATI) este NP-completa (teorema lui Cook). Deci, este explicabil. De fapt, am folosit forma normala disjunctiva, cu o poarta OR si 2N porti AND. ^n cazuri particulare, reprezentarea se poare face ^nsa mult mai e cient (cu I mai putini neuroni). De exemplu, XOR su 2 argumente se poate reprezenta cu 2, nu 4 neuroni ascunsi. Apare problema minimizarii retelei neurale care reprezinta o functie booleana data. Pentru retelele cu un strat ascuns, corespunz^nd functiilor booleene ^n a forma normala conjunctiva, problema minimizarii este cunoscuta: se minimizeaza functia booleana printr-unul din algoritmii uzuali (Karnaugh sau Quine - McCluskey). Minimizarea se refera aici la numarul de neuroni, adica numarul de porti. O problema cu totul diferita este daca o functie booleana cu N argumente poate "^nvatata" de catre o retea neurala, ^ntr-un timp polinomial. Valiant5 a 5 Valiant, L.G. "A Theory of the Learnable", Commun. ACM, 27, 1134, 1984. 190 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL aratat ca functiile logice sub forma normala conjunctiva pot instruite folosind doar un numar polinomial de exemple pozitive. ^n cazul functiilor ^n forma norI mala disjunctiva mai este nevoie, ^n plus, de ^nca un nivel de ^nvatare. O problema interesanta este daca functia poate ^nvatata folosind doar putine exemple si las^nd-o apoi sa "generalizeze". a 11.4 Complexitatea instruirii retelelor neurale feedforward Fie cazul retelelor feedforward multistrat cu perceptroni de tip continuu sau discret (nu are importanta) si e cazul ^nvatarii supervizate. Teorema (Judd6 ). Problema generala a instruirii unei astfel de retele este NP-completa. Cu alte cuvinte, presupun^nd P6=NP, nu exista un algoritm cu timp polinomial a care sa instruiasca o retea ^n conditiile ^n care: 1. Arhitectura retelei (neuronii si conexiunile, fara ponderi) este arbitrara. 2. Numarul de pattern-uri care trebuie memorate ^n retea este arbitrar. Marimea unui caz este aici proportionala cu marimea retelei (numarul de perceptroni, conexiuni) plus numarul pattern-urilor de memorat. Daca, de exemplu, pentru a accelera instruirea, marim numarul de neuroni ^n retea, timpul de executie creste foarte mult, deoarece timpul poate creste exponential fata de numarul de neuroni. Teorema ram^ne valabila indiferent de functia de activare folosita. De asemea nea, teorema ram^ne valabila chiar daca arhitectura retelelor considerate veri ca a restrictia: nr. de straturi ascunse 1: Observatii: 1. Aceasta teorema se refera la instruire ^n general. Exista clase mari de retele si secvente de instruire care duc la o instruire ^n timp polinomial. Problema generala a instruirii unei retele cu o functie booleana oarecare este ^nsa NPcompleta. 2. Se observa empiric faptul ca algoritmul de instruire prin propagarea ^n urma a erorii este foarte lent daca numarul de straturi este mare. S-ar putea deduce ca aceasta ar o proprietate generala: retelele cu straturi putine se instruiesc mai e cient. Teorema lui Judd ne arata ca nu este neaparat asa. Importanta este marimea retelei, complexitatea ei. Judd, J.S. "Neural Network Design and the Complexity of Learning", The MIT Press, Cambridge, 1990. 6 11.4. COMPLEXITATEA INSTRUIRII 191 3. Instruirea este de fapt memorare. Memorarea unor perechi asociate de siruri se face ^n timp liniar, pe o masina von Neumann, adica mult mai rapid. Este, ^nsa, adevarat ca astfel se pierd avantajele procesarii neurale, de exemplu invarianta la perturbatii. 4. Ram^ne ca subiect de cercetare, din punct de vedere al NP-completitudinii, a problema instruirii retelelor recurente. 192 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL Capitolul 12 Consideratii epistemologice asupra calculului neural 12.1 Scopul unei retele neurale Formele superioare de viata, inclusiv cele bazate pe sisteme nervoase centrale, tind sa faciliteze supravietuirea speciei respective ^n conditii de mediu care devin din ce ^n ce mai di cile1. Natura nu ^si foloseste niciodata ^n mod inutil resursele, ci actioneaza conform unui principiu de optimalitate. De aceea, putem a rma ca mecanismele creierului tind sa asigure ^n mod optim supravietuirea. De exemplu, somnul, ^n interpretarea lui Freud, tinde sa integreze zgomotele, pastr^nd homeostazia a sistemului. Din aceasta perspectiva, analogiile dintre calculatoarele digitale si retelele neurale biologice sunt nerezonabile. Problemele aritmetice sunt rareori rezolvate cu scopuri biologice poate ca pasarile ^nvata sa-si numere ouale, ^nsa, chiar si aceasta abilitate poate explicata, p^na la un anumit nivel, prin functii elea mentare de recunoastere a formelor. Necesitatea de a numara sclavi si soldati folosind semne este de origine mai t^rzie ^n dezvoltarea omului si este realizata a pe baza unor mijloace nebiologice. Orice ^ncercare de a construi modele neurale pentru sumatoare, multiplicatoare, convertoare A/D si alte circuite de calcul este de aceea, din acest punct de vedere, irationala. Cea mai importanta functie a sistemului nervos este monitorizarea si controlul conditiilor ^n care organismul traieste ^n mediul respectiv. Aceasta functie se realizeaza prin modi carea starilor organismului si/sau a mediului. Cele mai elementare stari controlabile ale organismului sunt globale, nestructurate (de exemplu, temperatura). Cele mai evoluate astfel de stari sunt legate de comportament social, care implica plani carea anticipativa si interactiunile sociale. Chiar si acestea sunt, ^nsa, motivate biologic. Diferenta dintre calculatoare si creier rezulta din scopurile lor diferite. CalcuKohonen, T. "Self-Organization and Associative Memory". Springer, Berlin, 3rd ed., 1989, chap. 9. 1 193 194 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE latoarele au fost dezvoltate initial pentru a rezolva probleme matematice, mai ales aritmetice. Ulterior, s-a descoperit ca instructiunile folosite pentru calculul simbolic pot utilizate si pentru procesarea limbajului natural. Aceasta descoperire a fost un efect secundar ^n istoria dezvoltarii calculatoarelor. ^nca nu s-a observat I ca o anumita generatie de calculatoare sa-si doreasca sa supravietuiasca! Pentru a modela c^t mai bine sistemele neurale biologice, retelele neurale ara ti ciale trebuie sa interactioneze cu lumea reala, cu obiectele naturale. Statistica semnalelor naturale, de exemplu vorbirea, sunt complet diferite de statistica presupusa ^n teoria matematica a probabilitatilor. Natura gaussiana a zgomotului si distributia normala a datelor sunt ipoteze foarte proaste ^n acest context. 12.2 Functiile neurale biologice sunt localizate sau distribuite? Este unul dintre subiectele de dezbatere continua. Circuitele neurale trebuie sa proceseze functiile local, ^n timp ce distribuirea globala a activitatilor este o functie colectiva a activitatilor tuturor partilor. De fapt, dihotomia distribuire - localizare poate urmarita si la nivelul neuronului: putem localiza cu acuratete de 10 microni corpul si axonul neuronului ramurile dendritelor aceleiasi celule sunt ^nsa distribuite pe o arie cu un diametru de c^tiva milimetri. a Cu alte cuvinte, raspunsul poate localizat, cu toate ca functiile (adaptive) pot distribuite spatial pe o arie mare. 12.3 Este neliniaritatea esentiala ^n calculul neural? Semnalele procesate ^n retelele neurale sunt, de obicei, continue. ^n electronica, I cu toate ca, de fapt, caracteristicile componentelor sunt neliniare, prin folosirea feedback-urilor negative si a altor metode de stabilizare, se organizeaza componentele si circuitele ^n module integrate care se comporta liniar. Neuronii biologici au caracteristici si mai neregulate dec^t componentele eleca tronice. Faptul ca neuronii au raspunsuri neliniare nu ^nseamna ^nsa ca sistemul integrat nu poate sa se comporte liniar. Iata un exemplu de astfel de integrare: c^nd creierul recunoaste o situatie importanta, sistemul reticular de a activare adauga ^n circuitul cortical o excitatie care face ca neuronii sa opereze ^n mijlocul plajei lor dinamice. Se adauga deci un semnal pentru a modi ca plaja ^n care opereaza neuronii. Acest lucru se face doar pentru un timp scurt. ^n I plaja lor dinamica, neuronii pot apoi sa functioneze liniar. ^n ansambul, sistemul I functioneaza, ^n acest caz, temporar liniar. Daca sistemul reticular de activare 12.4. DEOSEBIRI ESENTIALE 195 nu recunoaste o situatie ca ind importanta, neuronii ram^n inactivi, sub pragul a de saturatie. Exista si cazuri de neliniaritate. De exemplu, ^n cazul perceptiei vizuale la insecte. Ochiul insectei este format din multe lentile, ecare capt^nd un sector a al c^mpului vizual. Semnalele rezultate din fotoreceptoarele acestor lentile sunt a prelucrate ^n c^tiva centri nervosi, numiti ganglia, situati l^nga organele senzoa a riale. Acesti centri combina semnalele receptate ^ntr-un mod neliniar, form^nd a produse de perechi de semnale - unul obtinut din gura si unul din fundal. Corelarea perechilor de semnale este diferita ^n cazurile c^nd gura este, respectiv nu a este, ^n miscare. 12.4 Deosebirile esentiale dintre calculatoarele neurale si cele digitale 1. Gradul de paralelism al retelelor neurale este mai mare dec^t cel al oricarui a calculator digital masiv paralel. Calculatoarele masiv paralele sunt retele de procesoare care lucreaza asincron. Aceste calculatoare sunt, totusi, digitale si au circuite digitale ^n nodurile lor. Deosebirea lor esentiala fata de calculatoarele von Neumann consta ^n faptul ca este imposibil de prezis ordinea operatiilor realizate ^n timpul calculului. Retelele neurale lucreaza tot asincron. Semnalele neurale nu au^nsa o forma exacta, deci nu este posibil sa combinam nici o informatie de control (coduri de control, biti de paritate, adrese) cu datele. De exemplu, multiplexarea nu mai este, din aceasta cauza, posibila. Calculatoarele neurale sunt calculatoare analogice. Ele nu pot executa programe memorate. Operatiile implementate pe ele nu pot de nite algoritmic. 2. De ce semnalele neurale nu pot aproximate de variabile booleene. Impulsurile neurale au un aspect binar: amplitudinea nu conteaza. Dar durata unui impuls nu este variabila: nu este posibil sa de nim semnale logice statice similare cu cele folosite ^n calculatoarele digitale. Mai mult, impulsurile neurale nu sunt nici sincronizate, deci semnalele neurale difera de cele digitale. 3. Circuitele neurale nu implementeaza automate nite. Filoso a calculului digital, dar si a inteligentei arti ciale, se bazeaza pe teoria automatelor nite. Prin feedback ( g. 12.1), un automat nit poate implementa orice secventa de stari, ind capabil de a de ni recursiv functiile calculabile. 196 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE intrare automat finit iesire Figura 12.1: Automat nit. Toate calculatoarele digitale aplica principiul recursivitatii la diferite nivele, de la hardware la procedurile de nite ^n limbaje de programare. Aplicarea recursivitatii este posibila din doua motive tehnologice: valorile semnalelor sunt stabile toate combinatiile de semnale si stari sunt accesibile O retea neurala biologica nu poate implementa un automat nit. Functiile feedback din retelele neurale servesc altor scopuri. Procesul de calcul neural arti cial este mai apropiat unei aproximari stohastice. 12.5 Cum pot programate calculatoarele neurale Este greu de imaginat cum ar putea programati pasii individuali de procesare ^n creier si cum sa e programat un calculator neural ca un calculator digital. Structurile anatomice ^n sine constituie "un program", incluz^nd si codul a ^n acest sens, creierul este "programat". Similar, arhitectura retelei genetic. I neurale arti ciale reprezinta "programul" ei. ^n natura biologica, structurile par at^t de semni cative, ca si cum ar create I a conform unui plan a priori. Explicatia stiinti ca este ca mutatiile, pe parcursul unei lungi evolutii, duc prin selectie la solutia optima. Solutiile optime la care se ajunge sunt ^nsa foarte greu de ^nteles, datorita faptului ca sunt de nite implicit prin codurile genetice. Este imposibil sa adoptam aceasta tehnica ^n calculul retelelor neurale arti ciale. Problema principala este cum sa obtinem raspunsuri corecte din partea mediului fara interventia si interpretarea programatorului si sa le prezentam sistemului. Din toate aceste motive, putem a rma ca o retea neurala veritabila nu poate programata. Cele mai utile aplicatii ale retelelor neurale sunt cele pentru care structurile sau mecanismele sunt deja familiare. 12.6 Poate creierul sa se autoperceapa? Numim complexitate a unui sistem numarul de bucle (feedback-uri) care pot aparea ^n sistemul respectiv. Astfel, complexitatea unei singure bucle este 1. 12.6. POATE CREIERUL SA SE AUTOPERCEAPA? 197 Creierul care poate sa perceapa comportamentul unui alt creier mai mic trebuie sa aiba o complexitate de cel putin 109 ori mai mare dec^t complexitatea a creierului investigat (Stakermann2 ). ^n mod ironic, cunostintele deja achizitionate sunt pierdute ^n mod continuu I prin moartea indivizilor si trebuie restabilite de catre cei tineri. ^n concluzie, o identitate nu se poate autopercepe. Creierul biologic nu se I poate auto^ntelege. Starkermann, R. "The Functional Intricacy of Neural Networks - A Mathematical Study", Proceedings, Insbruck, 1993. 2 198 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE Anexa A Complemente matematice A.1 Vectori si matrici 2 6 6 Vector coloana: x = 6 6 4 x1 3 x2 7 7 ... 7 Vector linie: x = x1 : : : xn]t 7 5 xn Fie vectorii n-dimensionali x1 , x2 , ..., xn . Vectorul x este o combinatie liniara a vectorilor x1, x2 , ..., xn daca exista scalarii c1 , ..., cm astfel ^nc^t: a m X x = ci xi : i=1 Multimea de vectori x1, x2 , ..., xn este liniar dependenta daca exista c1, ..., cm , nu toti nuli, astfel ^nc^t: a m X cixi = 0: i=1 ^n caz contrar, vectorii x1, x2, ..., xn sunt liniar independenti. I Norma euclidiana a unui vector: kxk = (xt x)1=2 = qPn 2 i=1 xi . Produsul scalar a doi vectori x si y: xt y = Pn=1 xi yi = kxk kyk cos unde i este unghiul dintre cei doi vectori. Proprietate: xt y = kxkkykcos , unde este unghiul dintre x si y. Se observa ca xty = yt x, deci produsul scalar este comutativ. Vectorii x si y sunt ortogonali daca si numai daca produsul lor scalar este 0. Daca vectorii nenuli x1 , x2 , ..., xn sunt doi c^te doi ortogonali, atunci sunt a liniar independenti. 199 200 ANEXA A. COMPLEMENTE MATEMATICE 23 23 23 1 0 0 Exemplu: Vectorii x1 = 6 0 7, x2 = 6 1 7, x3 = 6 0 7 sunt doi c^te doi a 45 45 45 ortogonali si sunt independenti. 0 0 1 Exemplu: Gasiti produsul scalar dintre vectorii x si y, lungimea lor si unghiul dintre ei, unde: 23 23 2 1 x = 6 1 7 y = 6 ;1 7 45 45 2 4 p Solutie: xt y = 9, kxk = 3, kyk = 18, cos = kxxktkyyk = p12 , deci = 45o. A.2 Forme patratice O forma patratica (FP) este o functie E (x) = xt Ax, unde x este un vector n-dimensional iar A o matrice simetrica de n n elemente. Daca A = (aij )i j=1 ::: n, atunci: E (x1 x2 : : : xn) = a11x2 + 2a12 x1 x2 + 2a13 x1 x3 + : : : + 2a1n x1xn 1 + a22x2 + 2a23 x2 x3 + : : : + 2a2nx2 xn + : : : + annx2 = 2 n nn XX = aij xi xj i=1 j =1 Proprietati ale formelor patratice 1. E (x) este o FP pozitiv semide nita, iar A este o matrice pozitiv semide nita daca (8)x = 0 ) E (x) 0]. 6 2. E (x) este o FP pozitiv de nita, iar A este o matrice pozitiv de nita daca (8)x = 0 ) E (x) > 0]. 6 3. E (x) este o FP negativ semide nita, iar A este o matrice negativ semide nita daca (8)x = 0 ) E (x) 0]. 6 4. E (x) este o FP negativ de nita, iar A este o matrice negativ de nita daca (8)x = 0 ) E (x) < 0]. 6 E (x) este pozitiv de nita daca si numai daca pentru A = (aij )i j=1 ::: n avem: det A11 = ka11 k > 0 det A22 = a11 a12 > 0 a21 a22 ... det Ann = det A > 0: Conditii su ciente pentru ca E (x) sa e: A.3. ELEMENTE DE GEOMETRIE ANALITICA 201 a) FP pozitiv semide nita: detA11 0 detA22 0 : : : detAnn 0 b) FP pozitiv de nita: detA11 > 0 detA22 > 0 : : : detAnn > 0 c) FP negativ semide nita: detA11 0 detA22 0 detA33 0 ::: d) FP negativ de nita: detA11 < 0 detA22 > 0 detA33 : : : e) ^n toate celelalte cazuri, FP este nede nita. I Sa notam ca o forma patratica E (x) este nede nita daca este pozitiva pentru anumite valori ale lui x si negativa pentru alte valori, deci depinde de x. A.3 Elemente de geometrie analitica Ecuatia unei drepte ^n plan este: a x + b y + c = 0 cu a2 + b2 > 0: Vectorul "# n= a b este un vector normal la dreapta data. Acesta este ^ndreptat spre semiplanul pozitiv, adica pentru care a x + b y + c > 0. Ecuatia unei drepte a carei vector normal este n = n1 n2 ]t si trece prin punctul reprezentat de vectorul x1 este: nt (x ; x1) = 0: Av^nd doua puncte x1 si x2 ^n plan si vectorii asociati lor, x1 si x2 , ecuatia a mediatoarei segmentului dintre x1 si x2 este: (x1 ; x2)t (x ; x0) = 0 unde x0 este mijlocul segmentului respectiv. Din relatia anterioara rezulta (x1 ; x2 )t x ; 1 (x1 ; x2 )t (x1 + x2 ) = 0 2 202 si obtinem Din ANEXA A. COMPLEMENTE MATEMATICE (x1 ; x2)t x + 1 (xt2x2 ; xt1x1 ) = 0: 2 xt x = kxk2 obtinem urmatoarea ecuatie a mediatoarei: 1 (x1 ; x2 )tx + 2 (kx2 k2 ; kx1k2) = 0: Ecuatia planului care trece prin trei puncte necoliniare este: xyz1 x1 y1 z1 1 = 0 x2 y2 z2 1 x3 y3 z3 1 Ecuatia planului care trece printr-un punct x(x1 y1 z1) si este perpendicular pe vectorul n = a b c]t este: a (x ; x1 ) + b (y ; y1) + c (z ; z1 ) = 0: Ecuatia planului care trece prin mijlocul segmentului (x1 y1z1 ), (x2 y2z2) si este perpendicular pe vectorul x1 ; x2, unde x1 = x1 y1z1 ]t , x2 = x2 y2z2 ]t este: 1 (x1 ; x2)t x + 2 (jjx2jj2 ; jjx1jj2) = 0 A.4 Operatia XOR XOR este o operatie binara asupra argumentelor logice x1 , x2 . Avem: (x1 x2 ) x3 = x1 (x2 x3) = x1 x2 x3 : Putem extinde operatia XOR pentru n argumente logice: XOR(x1 x2 : : : xn) = x1 x2 : : : xn: Aceasta functie se numeste si functia de paritate deoarece are valoarea 1 daca si numai daca numarul argumentelor care au valoarea 1 este impar. A.5 Iacobianul si hessianul Un vector x(t ) dependent de timp se de neste astfel: 2 dx 3 3 2 2 x1 (t) 7 dt 7 6 6 6 6 x(t ) = 6 ... 7 dx(tt ) = 6 ... 7 = x(t) = 6 5 4 4 4 dx 7 _ 5 d n xn (t) dt 1 3 x1 (t) 7 _ ... 7 5 xn (t) _ A.5. IACOBIANUL SI HESSIANUL 203 Fie functia E (x), unde x este un vector cu n componente. Gradientul se de neste astfel: 2 @E 3 6 @x 7 rxE (x) = 6 ... 7 4 Proprietati: a) rx(xt y) = y b) rx(xt A y) = A y c) rx(xt A y) = A x + At x 1 @E @xn 5 d) C^nd lucram cu forme patratice, A este simetrica si avem A = At. Rezulta a rx(xt A x) = 2 A x. Gradientul^ntr-un punct x0 al unei functii reprezinta directia cresterii maxime a lui E (x). Gradientul reprezinta tangenta la curba pe directia de crestere si este nul ^n punctele de maxim si minim. Daca avem o functie E x(t )] (nu neaparat o forma patratica), unde x este un vector de n componente dependente de timp, atunci dE x(t)] = @E @ x1 + dt @x1 @t Observam ca n X + @E @ xn = @E xi (t): @xn @t i=1 @xi _ dE x(t)] = r E (x)]t x(t ): _ x dt Exemplu: Fie: #" # x1 (t) = e2t : x(t) = x2 (t) t Forma patratica a lui x(t) cu matricea " # 12 A= 2 3 este: " i " 1 2 # " e2t # E x(t)] = e2t t 2 3 t "d 2 #" # 2 dx (x1 + 4x1 x2 + 3x2 ) = 2x1 + 4x2 rxE (x) = d (x2 + 4x1x2 + 3x2 ) 4x1 + 6x2 2 " dx 2t #1 _ x(t) = 2e : 1 h 1 2 ANEXA A. COMPLEMENTE MATEMATICE 204 Atunci "# dE x(t)] = h 2e2t + 4t 4e2t + 6t i 2et = 2(2e4t + (4t + 2)e2t + 3t): 1 dt Fie m functii: E1 (x) = E1 (x1 x2 ... Em (x) = Em (x1 x2 xn ) xn) Matricea iacobiana se de neste ^n felul urmator: 2 @E @x 6 I(x) = dE = 6 ... . . . dx 4 @Em 3 ... 7 7 5 1 @ E1 @xn @x1 @ Em @xn 1 Exemplu: Pentru: h i x= 21t E1(x) = x2 ; x1 x2 1 E2(x) = x1 x2 + x2 2 avem: " #" # 1 I(x) = 2x1x; x2 x1;x2x2 = 3 ;2 : + 14 2 Matricea hessiana a functiei E (x) = E (x1 xn) se de neste astfel: 2 6 H(x) = r2 E (x) = rx rxE (x)] = 6 6 x 4 @2E @x2 1 @2 @x1 @x2 @2E @x1 @xn @2E @x2 @xn ... ... ... @2 @x1 @xn ... @2E @ 2 xn 3 7 7: 7 5 Matricea hessiana este simetrica. Exemplu: Pentru: E (x) = (x2 ; x1 )2 + (1 ; x1 )2 avem: " ;x ; rxE (x) = 2 2x1x2 ; 2x1 1 # " # 2 r2 E (x) = 2 ;1 ;1 : x 1 Deoarece determinantii principali sunt 4 si 2, matricea hessiana este pozitiv de nita. A.6. PROBLEME DE OPTIMIZARE 205 A.6 Probleme de optimizare Presupunem ca avem o functie obiectiv E (x), unde x este o variabila scalara. Aceasta functie ^si atinge minimul ^n punctul x = x , pentru care se ^ndeplinesc urmatoarele conditii: 8 dE(x ) > < dx = 0 > d E (x ) > 0 : : dx Daca x este un vector, generalizarea se face astfel: ( rxE (x ) = 0 r2 E (x ) pozitiv de nita : x Pentru a ^ntelege aceste conditii, sa consideram, de exemplu: "# x = x1 : x2 Dezvoltam ^n serie Taylor ^n punctul x = x si retinem primii termeni ai dezvoltarii: E (x) = E (x ) + (x1 ; x1 ) @E (x ) + (x2 ; x2 ) @E (x ) @x1 @x2 2 2 E x + 1 (x1 ; x1 )2 @ @ 2 (x ) + 1 (x2 ; x2 )2 @ E (2 ) 2 x1 2 @x2 2 +(x1 ; x1)(x2 ; x2 ) @ E (x ) : @x1 @x2 Pentru x1 = x1 ; x1 , x2 = x2 ; x2, obtinem: h @E(x ) E(x ) i " x1 # E (x) = E (x ) + @x @x x 2 @ E(x ) @ E(x ) 23 " " #t # 1 x1 4 @x x1 : @x @x 5 +2 x @ E (x ) @ E (x ) x2 2 @x @x @x 2 2 1 2 2 2 2 1 2 2 Lu^nd a obtinem: x= " x1 x2 2 2 # 1 2 2 2 1 (A.1) E (x) = E (x ) + rxE (x )]t x + 2 xt r2 E (x )] x: x Daca E (x) are un minim ^n x . orice schimbare in nitezimala x ^n x trebuie sa rezulte ^n E (x + x) > E (x ). Pentru aceasta trebuie ca: 1. Gradientul ^n x sa scada si sa faca termenul liniar din A.1 sa e zero. 2. Hessiana ^n x sa e pozitiv de nita, ceea ce va face forma patratica din A.1 pozitiva, independent de x. ANEXA A. COMPLEMENTE MATEMATICE 206 Solutia analitica a unei probleme de optimizare speciale Fie functia: 1 E (x) = 2 xt Ax + bt x unde x este un vector n-dimensional, A este o matrice n n simetrica, pozitiv de nita, b este un vector n-dimensional constant. E (x) este una dintre putinele functii pentru care exista o solutie analitica pentru minimul fara restrinctii. Calculam: rxE (x) = Ax + b r2 E (x) = A: x Prin ipoteza, A este pozitiv de nita. Impunem conditia Ax + b = 0. Solutia este x = ;A;1 b. Rezulta ca x este un minim. A.7 Metoda lui Euler (metoda tangentei) Fie ecuatia diferentiala de ordinul ^nt^i: a y0 = f (x y) unde y = y(x) cu conditia initiala y0 = y(x0): Daca f este complicata, nu putem integra direct. Dorim o aproximare a lui y = (x), care se demonstreaza ca este solutia unica ( g. A.1). Scriem: y1 = y 0 + y y ) y = 0(x ) x: 0 (x0 ) = 0 x y1 = y0 + 0 (x0 )(x1 ; x0 ) = y0 + f (x0 y0)(x1 ; x0 ) Apoi: y2 = y1 + y10 (x2 ; x1 ) = y1 + f (x1 y1)(x2 ; x1 ): ^n general, I yn+1 = yn + hf (xn yn) = yn + hyn0 daca xn+1 = xn + h Aceasta relatie este formula lui Euler. Exemplu: ( y0 = 1 ; x + 4y : y(0) = 1 n = 0 1 2 :::: A.7. METODA LUI EULER (METODA TANGENTEI) y y*=Φ(x) y 1 y 0 x0 x2 y 1 y 0 y 2 x1 y x y*=Φ(x) ∆y ∆x x0 y 2 207 x1 x2 x Figura A.1: Ne deplasam pe tangenta la y0 , p^na la x1 . a Se stie ca solutia exacta a acestui sistem are urmatoarea expresie analitica: 3 y = (x) = 1 x ; 16 + 19 e4x : 4 16 Aproximati pe (0 2), presupun^nd ca nu aveti expresia analitica a lui . a Avem: h= y00 = y1 = y2 = Eroarea este: 01 f (0 1) = 5 y0 + hf (0 1) = 1 + 0 1 5 = 1 5 y1 + hf (x1 y1) = 1 5 + 0 1 (1 ; 0 1 + 6) = 2 19: j2 19 ; (0 2)j = 0 32: Lu^nd o valoare mai mica pentru h, obtinem o eroare mai mica. a Fie acum un sistem de doua ecuatii diferentiale de ordinul I: 80 > x = f (t x y) <0 ( y) > y (t=)f=txx y(t ) = y : :x 0 0 0 0 Cautam valorile aproximative x1 , x2 , ..., xn , .., y1, y2, ..., yn, ... ale solutiei exacte x = (t), y = (t) ^n punctele tn = t0 + nh. Avem: x1 = hf (t0 x0 y0) y1 = hg(t0 x0 y0): ^n general: I xn+1 = xn + hf (tn xn yn) = xn + hxn 0 yn+1 = yn + hg(tn xn yn) = yn + hyn0: ANEXA A. COMPLEMENTE MATEMATICE 208 Exemplu: Determinati valorile aproximative ale lui x = (t), y = (t) ^n punctele t = 0,1 si t = 0,2 pentru sistemul: 80 > x = x ; 4y <0 = y > y (0) ;x1+ (0) = 0 : :x = y Pentru h = 0,1 avem: x0 0 = 1 ; 4 0 = 1 x1 = 1 + 0 1 1 = 1 1 x1 0 = 1 1 ; 4 (;0 1) = 1 5 x2 = 1 1 + 0 1 1 5 = 1 25 Fie sistemul: cu conditiile initiale: y00 = ;1 + 0 = ;1 y1 = 0 + 0 1 (;1) = ;0 1 : y10 = ;1 1 + (;0 1) = ;1 2 y2 = ;0 1 + 0 1 (;1 2) = ;0 22 8 x 0 = F (t x : : : x ) >1 > x 0 = F1 (t x1 : : : xn) <2 2 1 n > ... >0 : xn = Fn(t x1 : : : xn) x1 (t0 ) = x0 1 ... xn (t0) = x0 : n Acest sistem are o solutie ^n intervalul < t < daca exista functiile x1 = 1 (t), ..., xn = n(y), diferentiabile ^n < t < si care satisfac conditiile initiale. Teorema de existenta si unicitate: Daca F1, ..., Fn si @F1 @xn , @F1 , @x1 ..., n ..., @Fn , ..., @Fn sunt continue ^n regiunea R care contine punctul @x1 @x (t0 x0 : : : x0 ), atunci exista un interval jt ; t0 j < R ^n care exista o 1 n solutie unica x1 = 1 (t), ..., xn = n(t) a sistemului, care satisface conditiile initiale. Observam ca nu se spune nimic despre derivatele @Fi . @t A.8 Stabilitatea sistemelor dinamice neliniare La sf^rsitul secolului XIX, Liapunov a dezvoltat o metoda pentru analiza staa bilitatii sistemelor dinamice. Aceasta metoda se bazeaza pe conceptul de energie generalizata si presupune evaluarea functiei lui Liapunov. Fie un sistem autonom descris de sistemul de ecuatii diferentiale liniare sau neliniare: x1 = f1(x) _ x2 = f2(x) _ A.9. VARIABILE ALEATOARE 209 ... xn = fn(x) _ care este echivalent cu x = f (x), unde x este vectorul starilor sistemului. Pre_ supunem ca f (0) = 0, adica x = 0 este un punct de echilibru. Vom formula o conditie pentru ca x = 0 sa e asimptotic stabil, adica vectorul starilor sa tinda catre zero c^nd timpul tinde catre in nit. Fie E (x) energia acumulata ^n sistem. a Teorema lui Liapunov. Daca E este o functie pozitiv de nita pen- tru care: 1. E este continua fata de toate componentele xi i = 1 2 : : : n 2. dEdxt(t)] < 0, adica functia energiei descreste ^n timp, atunci originea este asimptotic stabila. Functia E care satisface aceste conditii se numeste functia lui Liapunov. ^n I general, ea nu este unica. x2 x2 dE/dt<0 dE/dt>0 t=0 x1 0 x1 0 t=0 traiectorie stabila traiectorie instabila Figura A.2: Functia lui Liapunov Daca cel putin o astfel de functie satisface conditiile teoremei, atunci sistemul este asimptotic stabil. Uneori nu este foarte clar despre ce energie este vorba. Consideratiile sunt mai cur^nd matematice dec^t zice. ^n cazul retelelor neurale a a I vorbim de functia energiei computationale, ea neav^nd legatura cu energia din a zica. A.9 Variabile aleatoare Fie o variabila aleatoare discreta ! a1 : : : an X p = 1: = p ::: p i 1 n 210 ANEXA A. COMPLEMENTE MATEMATICE De nim: Valoarea medie: m = P aipi = E ( ) Varianta (dispersia): 2 = E ( ; E ( ))2 = E ( 2) ; (E ( ))2 = P a2 p2 ; ii (P ai pi)2 Deviatia standard: . Functia de repartitie a unei variabile aleatoare normale cu media m si dispersia 2 este: F (x) = P ( < x) 1 Z x e; u;m du pentru ; 1 < x < 1 =p 2 ;1 si este notata cu N (m 2 ). Distributia N (0 1) este standard. Functia de densitate a lui N (m 2 ) este: x;m 1 f (x) = F 0(x) = p e; pentru ; 1 < x < 1: 2 ( 22 ( )2 22 )2 Anexa B Subiecte-tip pentru examen 1. 2. 3. 4. 5. Clasi catorul liniar, functia discriminant liniara. Regula hebbiana. Regula Windrow-Ho . Deduceti regula delta pentru un neuron din conditia de minimizare a erorii. Demonstrati ca functia energiei computationale: n 1 vtWv ; itv + X G Z vi f ;1(z)dz E = ;2 i i 0 i=1 ^ntr-o retea Hop eld cu timp continuu este necrescatoare. 6. Principiul de functionare a unui convertor A/D pe 2 biti implementat printro retea de tip gradient. 7. Teorema perceptronului. 8. Algoritmul de stocare a pattern-urilor prototip ^ntr-o memorie autoasociativa recurenta unipolara. 9. Aproximarea unei functii continue prin retele neurale feedforward. 10. Alegerea arhitecturii unei retele neurale feedforward cu un strat ascuns. 11. Teorema lui Liapunov. 12. Problema zgomotului ^ntr-un asociator liniar. 13. Reprezentarea unei functii booleene printr-o retea neurala feedforward. 14. Adaugarea / eliminarea unui pattern la o / dintr-o memorie autoasociativa recurenta. 15. In uenta factorilor si ^n algoritmul backpropagation. 211 212 ANEXA B. SUBIECTE-TIP PENTRU EXAMEN 16. Demonstrati ca functia energiei computationale: 1 E = ; 2 vt Wv ; itv + Ttv ^ntr-o retea Hop eld cu timp discret este necrescatoare. 17. Perioada refractara a unui neuron biologic. 18. Perioada de ^nsumare latenta a unui neuron biologic. 19. Algoritmul backpropagation este convergent? 20. Care este numarul maxim de regiuni liniar separabile folosind J neuroni ascunsi? 21. ^ntr-o retea Hop eld cu timp continuu, energia scade c^t mai rapid? I a 22. De ce algoritmul de actualizare la retelele Hop eld trebuie sa e stochastic asincron? 23. Cum putem gasi punctele de stabilitate ale unei retele Hop eld de tip gradient? 24. Ce este un asociator liniar? 25. Teorema fundamentala a geneticii. 26. Paralelismul implicit al algoritmilor genetici. 27. Multime fuzzy. 28. Logica fuzzy. 29. Rolul intrarii xe ^n algoritmul de instruire a unei retele feedforward de perceptroni discreti. 30. Teza Church-Turing. 31. Masina Turing. 32. Adaugati relatiile de incluziune corespunzatoare ^ntre urmatoarele multimi: masini Turing, automate celulare, retele neurale, retele de automate. 33. Teorema lui Judd referitoare la complexitatea instruirii retelelor neurale feedforward multistrat. 34. Capacitatea memoriei autoasociative recurente. 35. De ce ^n cazul memoriei asociative bidirectionale se prefera procesarea sincrona? 213 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Principiul de functionare al retelei Hamming. Principiul de functionare al retelei MAXNET. Care este scopul calibrarii supervizate a unui clasi cator neural? Principiul de functionare a retelei Kohonen. Ce este o harta Kohonen? Principiul de functionare a retelei neurale fuzzy. Principiul de functionare a retelei neurale cu functie de activare radiala. Teorema lui Judd. Teorema lui Hecht-Nielsen. Teorema lui Kolmogorov. 214 ANEXA B. SUBIECTE-TIP PENTRU EXAMEN Anexa C Link-uri Neural Networks Commercial Software Tools http://www.emsl.pnl.gov:2080/proj/neuron/neural/systems/software.html SNNS - Stuttgart Neural Network Simulator http://www-ra.informatik.uni-tuebingen.de/SNNS/ OFAI Library Information System Biblio - Neural Networks http://www.ai.univie.ac.at/oefai/nn/conn biblio.html An Introduction to Genetic Algorithms http://www.cs.qub.ac.uk/~/M.Sullivan/ga/ga index.html The Genetic Algorithms Archive http://www.aic.nrl.navy.mil/galist/ David W. Aha Machine Learning Page http://www.aic.nrl.navy.mil/~aha/research/machine-learning.html 215 216 ANEXA C. LINK-URI Bibliogra e 1] Davis, L. "Handbook of Genetic Algorithms", Van Nostrand Reinhold, 1991. 2] Dumitrescu, D., H. Costin "Retele neuronale teorie si aplicatii". Teora, Bucuresti, 1999. 3] Freeman, J.A., D.M. Skapura "Neural Networks: Algorithms, Applications, and Programming Techniques". Addison-Wesley, Reading, Mass., 1991. 4] Goldberg, D.E. "Genetic Algorithms - in Search, Optimization and Machine Learning", Addison-Wesley, 1989. 5] Hagan, M. T., H.B. Demuth, M. Beale "Neural Network Design". PWS Publishing Co., Boston, 1996. 6] Hassoun, M.H. "Fundamentals of Arti cial Neural Networks". The MIT Press, Cambridge, Mass., 1995. 7] Haykin, S. "Neural Networks - A Comprehensive Foundation". Macmillan College Publishing Company, New York, 1999 (second edition). 8] Hecht-Nielsen, R. "Neurocomputing", Addison-Wesley, Reading, MA, 1990. 9] Kosko, B. "Neural Networks and Fuzzy Systems", Prentice Hall, Englewood Cli s, 1992. 10] Masters, T. "Practical Neural Network Recipes in C++". Academic Press, Boston, 1993. 11] Michalewicz, Z. "Genetic Algorithms + Data Structures = Evolution Programs". Springer-Verlag, Berlin, 1994 (second edition). 12] Muller, B., J. Reinhardt "Neural Networks - An Introduction", SpringerVerlag, Berlin, 1990. 13] Negoita, C.V., D.A. Ralescu "Multimi vagi si aplicatii ale lor", Ed. Tehnica, Bucuresti, 1974. 14] Stefan, Gh. "Functie si structura ^n sistemele digitale", Ed. Academiei, Bucuresti, 1991. 217 218 BIBLIOGRAFIE 15] Tou, J.T., R.C. Gonzales "Pattern Recognition Principles", Reading, Addison-Wesley, 1974. 16] Tsoukalas, L.H., R.E. Uhrig "Fuzzy and Neural Approaches in Engineering". John Wiley & Sons, New York, 1997. 17] Wasserman, P.D. "Advanced Methods in Neural Computing", Van Nostrand Reinhold Inc., Computer Science Press, NY, 1993. 18] Zurada, J. "Introduction to Arti cial Neural Systems". West Publishing Company, St. Paul, 1992. ...
View Full Document

Ask a homework question - tutors are online