Download - Reţele neurale Reţele neurale

Transcript
Page 1: Reţele neurale Reţele neurale

Sisteme de programeSisteme de programepentru timp realpentru timp real

Universitatea “Politehnica” din Bucuresti2004-2005

Adina Magda Floreahttp://turing.cs.pub.ro/sptr_05

Page 2: Reţele neurale Reţele neurale

Curs Nr. 4

Reţele neurale• Reţele neurale - introducere• Reţele neurale artificiale• Reţele neurale Hopfield

2

Page 3: Reţele neurale Reţele neurale

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.

• In literatura de specialitate ele se mai numesc: retele neurale, modele conexioniste (nume dat mai ales structurilor aparute recent), sisteme neuromorfice, modele de calcul distribuit.

3

Page 4: Reţele neurale Reţele neurale

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

Page 5: Reţele neurale Reţele neurale

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

Page 6: Reţele neurale Reţele neurale

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

Page 7: Reţele neurale Reţele neurale

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

Page 8: Reţele neurale Reţele neurale

1.4 Modelul neuronului uman

8

Page 9: Reţele neurale Reţele neurale

Picture from PENN School of Medicine http://mail.med.upenn.

edu/~hessd/Lesson2.html

Purkinje neuron in the cerebellum. The branch-like structures above the spherical cell body are

dendrites. Colors represent membrane potentials (top) and

calcium ion concentrations (bottom) during signal conduction

through the dendrites.

9

Page 10: Reţele neurale Reţele neurale

Modelul neuronului uman (cont.)Creierul are 1010 neuroni. 1 neuron primeste intrari de la 105 sinapse 1016 sinapse

10

Componentele unui neuron Sinapse

Page 11: Reţele neurale Reţele neurale

1.5 Modelul neuronului artificial• McCulloch, Pitts (1943) au propus un model

simplu al neuronului, cu intrari binare

11

Page 12: Reţele neurale Reţele neurale

Modelul neuronului artificial (cont.)

• 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

, y

x1

x2

xn

w1

w2

wn

X0= -1

f(x) = 1 - daca x 0 0 - in caz contrar

12

Page 13: Reţele neurale Reţele neurale

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

Page 14: Reţele neurale Reţele neurale

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

Page 15: Reţele neurale Reţele neurale

Caracteristici ANN (cont.) Numarul de straturi sau niveluri Tipul intrarilor si al iesirilor: intreg, real Tipul functiei de transfer (activare)

limitator logica nivel sigmoid

15

t = i=1,nwixi -

f(t) = 1 / (1 + e-t) f(t) = (et - e-t) / (et + e-t)

f ff

t tt

11

1

Page 16: Reţele neurale Reţele neurale

Caracteristici ANN (cont.) Functia activare - sigmoid

• T – temperatură absolută (grade Kelvin).• KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann.

16

hehg 21

1)(

TK B

1

Page 17: Reţele neurale Reţele neurale

2.2 Exemple

17

x

x

x

1

2

N

N Intrari M Iesiri

...yM

...

y2

y1

Page 18: Reţele neurale Reţele neurale

Exemple (cont.)

18

Page 19: Reţele neurale Reţele neurale

Exemple (cont.) - Recunoasterea sabloanelor

19

Retea antrenata sa recunoasca literele T si H

Page 20: Reţele neurale Reţele neurale

Exemple (cont.) - Recunoasterea sabloanelor

20

Antrenare

Functionare

Page 21: Reţele neurale Reţele neurale

Exemple (cont.)

21

O retea poate arata si asa!

Page 22: Reţele neurale Reţele neurale

2.3 RN de clasificare cu sabloane fixe - taxonomie

22

Retele neuronale de clasificare

Intrari binare Intrari reale

Invatare Invataresupervizata nesupervizata

cu sabloane fixe

Invataresupervizata

Invatarenesupervizata

Retea ReteaHopfield Hamming

ClasificatorCarpenter/Grossberg

Perceptron Perceptronmulti-nivel

Harti cu auto-organizareKohonen

Page 23: Reţele neurale Reţele neurale

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

Page 24: Reţele neurale Reţele neurale

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

Page 25: Reţele neurale Reţele neurale

3.1 Caracteristici reţele Hopfield Problema: Sa se memoreze un set de M sabloane xi

s (x1…xN), s=1,M, astfel incat daca se da un sablon li reteaua sa raspunda producand sablonul care este cel mai apropiat de li , deci cel mai apropiat xi

s

Posibilitate: calcul serial(conventional) - memorarea sabloanelor xi

s si scrierea unui program care sa calculeze distanta Hamming

si alegem xis pentru care aceasta distanta este minima

25

N

ii

sii

si lxlx

1

])1()1([ s = 1,M

Page 26: Reţele neurale Reţele neurale

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?

Memorie adresabila prin continut si nu foarte sensibila la erori

Dinamica unei memorii asociative

• atractori• bazine de atractie

26

Page 27: Reţele neurale Reţele neurale

3.2 Structura reţelei Hopfield wij = wji, intrari binare (+1 si –1 sau +1 si 0), functia

de transfer limitator

27

x' x' x' x'1 2 N-1 N

x x x x1 2 N-1 N

1 2 N-1 N

...

Intrari (la momentul 0)Intrari la momentul t

Intrari la mom. t+1

Page 28: Reţele neurale Reţele neurale

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 asincron se 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 a doua este potrivita pentru unitati hardware independente.

28

Page 29: Reţele neurale Reţele neurale

Algoritmul de relaxare paralela a retelei Hopfield1. 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

sfarsit29

ijw

M

S

Sj

Si xx

1ji Nji ,1,

Nji ,1, ji

ii ltx )( 0 Ni ,1

)1

)(f()1(

n

i ktixijwktjx nj ,1

0

Page 30: Reţele neurale Reţele neurale

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 configurare de intrare va folosi reţeaua ca să ajungă într-un minim local, starea cea mai apropiată.

30

Page 31: Reţele neurale Reţele neurale

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ăsiteclasificate 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

31

Page 32: Reţele neurale Reţele neurale

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 xi

2 =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 corect xj (exista 2 atractori).

O configuratie initiala apropiata (in termeni de distanta Hamming) de xj se va relaxa repede la xj.

32

)1

f(

n

i ixijwjx Nj ,1

jxixNijw 1

Page 33: Reţele neurale Reţele neurale

Motivarea alegerii ponderilor (cont.) Caz cu mai multe sabloane (M)

Regula lui Hebb

Stabilitatea unui sablon particular xpj

Conditia de stabilitate esteunde hp

j al neuronului j pentru sablonul p este:

33

M

SNijw Sj

Si xx

11

pjxp

jh )f(

N

i

N

i

M

pSS

N

i

M

S

pixS

jxSix

Npjxp

ixSjxS

ixN

pixijwp

jh1 1 11 1

*)(1*)(1

N

ipjxp

ixN

pjx

1

2112

pix

Page 34: Reţele neurale Reţele neurale

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.

34

jninij

ijwH 21

Page 35: Reţele neurale Reţele neurale

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:

35

2

121

N

iii xn

NH

M

s

N

i

sii xn

NH

1

2

121

Page 36: Reţele neurale Reţele neurale

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.

36

M

s jiji

M

s

sj

si

N

j

sjj

N

i

sii nnxx

Nxnxn

NH

1 , 111

121

21

Page 37: Reţele neurale Reţele neurale

3.7 Aplicatii de optimizareIdentificarea 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 ponderilor wij,kl

intre unitati.

37

Page 38: Reţele neurale Reţele neurale

Identificarea ponderata a grafurilor Intr-o retea simetrica (Hopfield) cu N(N-1)/2 neuroni exista

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.

38

ijji

ijndL

N

jijn

1

1

Page 39: Reţele neurale Reţele neurale

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 .

39

ji i j

ijijij nndH 2)1(2

ijd

)1

f(

n

i ixijwjx

Page 40: Reţele neurale Reţele neurale

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

40

Page 41: Reţele neurale Reţele neurale

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

41

11

11

4321\

DCBAai

Page 42: Reţele neurale Reţele neurale

Problema comis-voiajorului (cont.)

Lungimea totală a unui traseu este (de fapt este lungimea tuturor traseelor posibile, dacă toţi neuronii ar fi activi):

a = 1,N, cu regula a = 0 a = N şi a = N+1 a = 1

2 restrictii: 1) i = 1, N 2) a = 1, N Funcţia de cost – se adauga la L doi termeni de

penalizare care sunt minimizaţi dacă restricţiile sunt satisfăcute

42

aij

ajajiaij nnndL,

1,1,21 },,...,,,,...,,|{ jiNBAjNBAiijij

a

ian 1 i

ian 1

aij a i i a

iaiaajajiaij nnnnndH,

221,1, ])1()1([

2)(

21

Page 43: Reţele neurale Reţele neurale

Problema comis-voiajorului (cont.)

Din primul termen al lui H obtinem ponderi - dij intre toti neuronii dintr-o coloana si neuronii de pe coloana dinainte si de dupa.

Termenii proportionali cu dau ponderi inhibatoare pentru conexiunile intre perechi de neuroni de pe o coloana si intre perechi de neuroni de pe o linie (pt. a satisface restrictiile).

43

ijd ijd

- -

- -

-

dij dij