460 likes | 594 Views
Invatare automata. Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/inva_09 si curs.cs.pub.ro. Curs Nr. 6. Re ţ ele neurale Re ţ ele neurale - introducere Re ţ ele neurale artificiale Re ţ ele neurale Hopfield. 2.
E N D
Invatare automata Universitatea Politehnica BucurestiAnul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/inva_09 si curs.cs.pub.ro
Curs Nr. 6 Reţele neurale • Reţele neurale - introducere • Reţele neurale artificiale • Reţele neurale Hopfield 2
1. Reţele neurale - Introducere(Artificial Neural Networks) • RN (ANN) - multime de elemente de prelucrare neliniara care opereaza in paralel si care sunt legate intre ele in structuri ce seamana cu retelele neuronale biologice. • Model inspirat din retelele neuronale din creierul uman. • retele neurale, modele conexioniste (nume dat mai ales structurilor aparute recent), sisteme neuromorfice, modele de calcul distribuit. 3
1.1 Caracteristici • Sunt formate dintr-un numar mare de elemente de prelucrare simple, identice; din punct de vedere functional aceste elemente sunt asemanatoare neuronilor din creierul uman • Elementele de prelucrare sunt conectate prin legaturi; fiecare legatura are asociata o pondere ce codifica cunostintele retelei neuronale • Controlul functionarii este paralel si distribuit • Sunt capabile sa invete prin modificarea automata a ponderilor; pot realiza deci achizitia automata a cunostintelor. 4
1.2 De ce ANN? • Capacitate de invatare si adaptare din exemple • Auto-organizare: o RN poate sa-si creeze propria organizare sau reprezentare a informatiei primita pe parcursul invatarii • Operare in timp real: odata invatata functioneaza repede + prelucrari in paralel • Grad mare de robustete si toleranta la defecte: defectarea unui anumit numar de noduri sau legaturi nu afecteaza, in general, comportarea si performanta retelei. 5
1.3 Scurt istoric • 1943 - McCulloch, Pitts - model simplu (binary devices with fixed thresholds) • 1960 - Rosenblatt - perceptron - (feed-forward ANN) - enunta si demonstreaza teorema de convergenta a perceptronului • 1960 - Widrow, Hoff - ADALINE (ADAptive LInear Element)- dispozitiv electronic analogic- folosea ca regula de invatare Least-Mean-Squares (LMS) • 1969 - Minsky, Papert - au demonstrat limitarile perceptronului • 1970 - Retele neurale ca memorii adresabile prin continut 6
Scurt istoric (cont.) • 1970 - RN s-au cam abandonat • 1980 - Cercetari reluate • 1982 - Hopfield - functia de energie - a pus in evidenta notiunea de memorie ca o multime de atractori dinamici stabili • 1986 - Rumelhart - perceptroni multinivel, retele backpropagation (recurrent networks) • 1988 - Grossberg si Carpenter in 1988 - algoritmi de rezonanta - retele ART (Adaptive Resonance Theory) • 1988 - Anderson si Kohonen (independent) - tehnici asociative 7
Poza de la PENN School of Medicinehttp://mail.med.upenn.edu/~hessd/Lesson2.htmlNeuronulPurkinje.Structurile ramificate ce pornesc din corpul sferic al celulei sunt dendrite. Culorile reprezinta potentialul membranei (sus)si concentratia ionlor de calciu (jos) in timpul propagarii semnalului prin dendrite. 9
Modelul neuronului uman (cont.) Creierul are 1010 neuroni. 1 neuron primeste intrari de la 105 sinapse 1016 sinapse Componentele unui neuron Sinapse 10
1.5 Modelul neuronului artificial • McCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare 11
x1 w1 w2 x2 , y xn wn Modelul neuronului artificial (cont.) X0= -1 • y = f (i=1,nwixi - ) y = f (i=0,nwixi) • wi reprezinta intensitatea legaturii (conexiunii) de la neuronul cu iesirea xi • Daca fi > 0 excitare • Daca fi < 0 inhibare • Daca fi = 0 nu exista sinapsa intre neuroni • - valoarea de prag peste care neuronul se activeaza f(x) = 1 - daca x 0 0 - in caz contrar 12
2. Reţele neurale artificiale Modelul unei ANN este caracterizat de: • Topologia retelei • Caracteristicile elementelor de prelucrare (noduri / neuroni) • Regulile de actualizare / modificare (invatare) a ponderilor • Sensul de propagare a semnalelor de activare prin retea 13
2.1 Caracteristici ANN • Tipul de invatare: supervizat, nesupervizat, fara invatare • Sensul de propagare a semnalelor • Feed-forward networks- un singur sens • Feedback networks- in ambele sensuri (dinamice, numite si recurente) • Regulile de actualizare a ponderilor (invatare) • Mapare asociativa: reteaua invata sa produca anumite valori ale intrarilor pentru sabloane particulare aplicate la intrare (regasire sabloane distorsionate, memorie adresabila prin continut) • Detectarea regularitatilor: reteaua invata sa raspunda anumitor propietati particulare ale sabloanelor de intrare; fiecare iesire are o anumita semnificatie 14
Caracteristici ANN (cont.) • Numarul de straturi sau niveluri • Tipul intrarilor si al iesirilor: intreg, real • Tipul functiei de transfer (activare) limitator logica nivel sigmoid f f f 1 1 1 t t t t = i=1,nwixi - f(t) = 1 / (1 + e-t) f(t) = (et - e-t) / (et + e-t) 15
Caracteristici ANN (cont.) • Functia activare - sigmoid • T – temperatură absolută (grade Kelvin). • KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann. 16
2.2 Exemple 17
Exemple (cont.) - Recunoasterea sabloanelor Retea antrenata sa recunoasca literele T si H 19
Exemple (cont.) - Recunoasterea sabloanelor Antrenare Functionare 20
Exemple (cont.) O retea poate arata si asa! 21
3. Reţele neurale Hopfield • 1986 – Hopfield a propus un model de RN ca o teorie a memoriei • Caracteristici: Reprezentare distribuita. O data este stocata ca un sablon de activare a unui set de elemente de prelucrare. In plus, diverse date pot fi stocate sub forma de sabloane diferite, utilizind aceeasi multime de elemente de prelucrare. Control asincron, distribuit. Fiecare element de prelucrare (nod/neuron) ia decizii numai pe baza informatiilor locale. Aceste informatii locale converg spre sinteza solutiei globale. 23
Reţele neurale Hopfield • Caracteristici: Memorie adresabila prin continut. In retea pot fi stocate un anumit numar de sabloane. Pentru regasirea unui sablon, este suficient sa se specifice numai o parte a acestuia, iar reteaua gaseste automat intreg sablonul. Toleranta la defecte. Daca o parte din elementele de prelucrare lucreaza incorect sau se defecteaza, reteaua continua sa functioneze corect. 24
3.1 Caracteristici reţele Hopfield • Problema:Sa se memoreze un set de M sabloane xis (x1…xN), s=1,M, astfel incat daca se da un sablon li reteaua sa raspundaproducand sablonul care este cel mai apropiat de li ,deci cel mai apropiat xis • Posibilitate: calcul serial(conventional) - memorarea sabloanelor xis si scrierea unui program care sa calculeze distanta Hamming si alegem xis pentru care aceasta distanta este minima s = 1,M 25
Caracteristici reţele Hopfield (cont.) • Cum se poate face acelasi lucru cu o RN? • Prezentand la intrare sablonul li ce structura si ce ponderi va face iesirile egale cu xis minim? • Antrenare retea Hopfield - scaderea energiei starilor pe care trebuie sa le memoreze - stari memorate - minime locale • Reteaua converge la o stare memorata pe baza unei descrieri partiale a starii • atractori • bazine de atractie • Ex: antrenam o retea cu 5 unitati si starea (1, 0, 1, 0, 1) este minim de energie. (1, 0, 0, 0, 1) converge la (1, 0, 1, 0, 1).. • Memorie adresabila prin continut si nu foarte sensibila la erori 26
3.2 Structura reţelei Hopfield • wij = wji, intrari binare, functia de transfer limitator • Intrari +1 si –1 • f(xi) = 1 daca jwijxj > i , -1 in caz contrar • Intrari +1 si 0 • f(xi) = 1 daca jwijxj > i, 0 in caz contrar 27
Structura reţelei Hopfield (cont) Intrari la mom. t+1 Intrari la momentul t 28
Structura reţelei Hopfield (cont.) • Relaxare paralela • Exista doua moduri de actualizare a iesirilor: sincron si asincron • Abordarea sincrona necesita un ceas central si este potential sezitiva la erori de timing. • In modul asincronse poate proceda in doua feluri: • - la fiecare interval de timp se selecteaza aleator un neuron si se actualizeza • - fiecare neuron isi actualizeaza independent iesirea cu o anumita probabilitate la fiecare unitate de timp. • Cele doua posibilitati sunt echivalente (cu exceptia distributiei intervalelor de actualizare).Prima este potrivita pentru simularea cu un control centralizat iar cea de adoua este potrivita pentru unitati hardware independente. 29
Algoritmul de relaxare paralela a retelei Hopfield • Calculul ponderilor initiale 2. Initializeaza reteaua cu sablonul necunoscut 3. repeta pana la convergenta (xj(tk+1) =xj(tk)) 4. x’j xj este sablonul cautat sfarsit 0 30
3.3 Avantaje • Utilizare: • memorată asociativ – ieşirea reprezintă conţinutul căutat • clasificator – ieşirea comparată cu unul dintre cele M exemple • Procedura de relaxare paralelă: căutare în spaţiul stărilor. O configuratie de intrare va folosi reţeaua ca să ajungă într-un minim local, starea cea mai apropiată. 31
3.4 Limitari • Două limitări majore: • (1) – numărul de şabloane ce pot fi stocate şi regăsite este limitat: memoria adresată poate conţine elemente incorect regăsite clasificate neidentificări • Hopfield a arătat că acest comportament apare destul de rar dacă numărul de clase M 0.138*N • (2)- un şablon poate fi instabil dacă are multe valori identice cu un alt şablon în exemple. Şablon instabil reţeaua converge spre o stare diferită de cea asociată şablonului 32
Demo • http://www.heatonresearch.com/articles/61/page1.html • http://to-campos.planetaclix.pt/neural/hope.html 33
3.5 Motivarea alegerii ponderilor • Caz simplu: un singur şablon xi (M=1) pe care vrem să-l memorăm. • Condiţia ca reteaua să fie stabilă: • Acest lucru este adevărat dacă wij proporţional cu xixj deoarece xi2 =1. • Se observă că dacă un număr de intrări din şablonul de intrare ( 1/2) sunt greşite, ele vor fi depăşite în suma intrărilor şi f(...) va genera corectxj (exista 2 atractori). • O configuratie initiala apropiata (in termeni de distanta Hamming) de xj se va relaxa la xj. 34
Motivarea alegerii ponderilor (cont.) • Caz cu mai multe sabloane (M) • Regula lui Hebb • Stabilitatea unui sablon particular xpj • Conditia de stabilitate este unde hpj al neuronului j pentru sablonul p este: 35
3.6 Functia de energie • O funcţie a configuraţiei ni a sistemului. Putem să ne imaginăm această funcţie ca descriind nişte suprafeţe. • Proprietatea fundamentală a funcţiei de energie este aceea că descreşte întotdeauna, pe măsură ce sistemul evoluează aşa cum s-a specificat. • Atractorii (şabloanele memorate) sunt minime locale pe suprafeţele de energie. wii = 0 • F. de energie care minimizeaza o masura in starile stabile permite un mod alternativ de calcul al ponderilor, valorile obtinute fiind cele date de regula lui Hebb. 36
Functia de energie (cont.) • Cazul unui singur sablon:dorim ca functia de energie sa fie minima daca suprapunerea de valori intre configuratia retelei si valoarea unui sablon memorat xi este maxima. Astfel alegem: unde factorul 1/(2*N) este luat pentru a obtine 1/N in formula, altfel se poate lua 1/2. • Cazul cu mai multe sabloane:xis - minime locale pentru H prin insumarea peste toate sabloanele: 37
Functia de energie (cont.) • Inmultind se obtine: ceea ce reprezinta aceeasi formula ca cea initiala a energiei considerind wij dupa regula lui Hebb. • Aceasta abordare este utila in cazul in care se doreste utilizarea retelei ca un dispozitiv de aflare a solutiei optime (solutie de cost minim). • Daca putem scrie o functie de energie o carui minim satisface conditia de solutie optima a problemei, atunci se poate dezvolta acesta functie si identifica ponderile wij drept coeficientii factorilor de forma ninj. • Se pot intalni si alti termeni. Constantele nu sunt o problema(se ignora), coeficientii termenilor de forma ni (liniari) se considera valorile de prag ale neuronilor sau legaturi de la un neuron x0. Termenii de forma ninjnk- nu discutam. 38
3.7 Aplicatii de optimizare Identificarea ponderata a grafurilor (bipartite) • Fie o multime de N puncte (N par) si distantele dij intre fiecare pereche de puncte. Sa se lege punctele in perechi a.i. un punct sa fie legat cu un singur alt punct si sa se minimizeze lungimea totala a legaturilor. • Problema nu este NP • Se modeleaza problema cu o retea Hopfield • Vom folosi 0/1 in loc de +1/-1 • Se asociaza un neuron nij , i<j fiecarei perechi de puncte din problema => N(N-1)/2 neuroni. • Fiecare solutie candidat corespunde unei stari a retelei cu nij=1 daca exista legatura intre i si j si 0 in caz contrar (in solutie). • Problema revine la a gasi un mod de specificare a ponderilorwij,kl intre unitati. 39
Identificarea ponderata a grafurilor • Intr-o retea simetrica (Hopfield) cu N(N-1)/2 neuroniexista N(N-1)[N(N-1)-2]/8 conexiuni. • Dorim sa minimizam lungimea totala a legaturilor respectand restrictia, pt. orice i =1,N • Aceasta restrictie spune ca fiecare nod din graf trebuie sa fie conectat cu exact un singur alt nod. • Definim nij=nji pt. j<i si luam nii=0. • Deoarece este dificil sa impunem restrictia de la inceput, adaugam functiei de energie un termen de penalizare care este minimizat daca restrictia este satisfacuta. 40
Identificarea ponderata a grafurilor (cont.) • Functia totala de cost este: • termeni constanti - se ignora • coeficienti ai termenilor liniari (nij)– valoarea de prag a unui neuron • coeficienti ai termenilor patratici (nij * nkl) – valorile wij,nk • Comparand cu relatia initiala, se observa ca este pentru neuronul nij si restul de termeni din relatie indica faptul ca nij primeste intrari cu activarea - de la celelalte unitati care au legatura cu i sau j. • In general, wij,kl = - ori de cate ori ij are un index in comun cu kl; altfel wij,kl = 0 . 41
Identificarea ponderata a grafurilor (cont.) Interpretarea valorilor • Contributia dij la a lui nij reflecta faptul ca, fara restrictia impusa, lungimea minima totala ar fi minimizata la 0 (nici o legatura). • Cealalta contributie la , care este -, contracareaza acest lucru astfel incat un numar pozitiv de legaturi sa fie admise. • Inhibitia mutuala - reprezentata de wij,kl descurajeaza configuratii cu mai mult de o legatura de la sau spre un neuron. Cum se alege ? • Cam de aceeasi marime cu dij tipice aceeasi prioritate de satisfacere a restrictiei cat si de a avea legaturi scurte. • mica solutii cu putine legaturi (violeaza restrictia de toate leg) • mare nu cele mai scurte legaturi dar satisface restrictia • se modifica pe măsură ce se relaxează reţeaua: intai mic (relaxez restr.) apoi gradual mai mare (fortez restrictia). • Grafuri bipartite: legaturi numai dij cu iS1 si j S2 42
Restrictii • Vector cu o singura valoare 1 restul 0 • Problema celor 8 turnuri • Problema celor 8 regine – poduce stari stabile si cu mai putine regine ! 43
Problema comis-voiajorului • Hopfield şi Tank [1985, 1986] • Se modeleaza problema cu o retea Hopfield • Oraşele, cu distanţele dij între ele • Dacă sunt N oraşe, se aleg N x N neuroni • nia = 1 dacă şi numai dacă oraşul i este parcurs în pasul a 44
Problema comis-voiajorului (cont.) • Lungimea totală a unui traseu este (de fapt este lungimea tuturor traseelor posibile, dacă toţi neuronii ar fi activi): 2 restrictii: • 1) i = 1, N 2) a = 1, N • Funcţia de cost – se adauga la Ldoi termeni de penalizare care sunt minimizaţi dacă restricţiile sunt satisfăcute 45
Problema comis-voiajorului (cont.) • ponderi pentru conexiunile intre perechi de neuroni de pe o coloana si intre perechi de neuroni de pe o linie (pt. a satisface restrictiile) si threshold - /2 • ponderi dij intre ceilalti neuronii (de ex dintr-o coloana si neuronii de pe coloana dinainte si de dupa) dij dij 46