invatare automata

46
Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/ inva_09 si curs.cs.pub.ro

Upload: deborah-velazquez

Post on 31-Dec-2015

159 views

Category:

Documents


3 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Invatare automata

Invatare automata

Universitatea Politehnica BucurestiAnul universitar 2008-2009

Adina Magda Floreahttp://turing.cs.pub.ro/inva_09 si

curs.cs.pub.ro

Page 2: Invatare automata

Curs Nr. 6

Reţele neurale• Reţele neurale - introducere

• Reţele neurale artificiale

• Reţele neurale Hopfield

2

Page 3: Invatare automata

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

Page 4: Invatare automata

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: Invatare automata

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: Invatare automata

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: Invatare automata

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: Invatare automata

1.4 Modelul neuronului uman

8

Page 9: Invatare automata

Poza de la PENN School of Medicine

http://mail.med.upenn.edu/~hessd/Lesson2.html

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

Page 10: Invatare automata

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: Invatare automata

1.5 Modelul neuronului artificial

• McCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare

11

Page 12: Invatare automata

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: Invatare automata

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: Invatare automata

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: Invatare automata

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

1

11

Page 16: Invatare automata

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: Invatare automata

2.2 Exemple

17

x

x

x

1

2

N

N Intrari M Iesiri

...y

M

...

y2

y1

Page 18: Invatare automata

Exemple (cont.)

18

Page 19: Invatare automata

Exemple (cont.) - Recunoasterea sabloanelor

19

Retea antrenata sa recunoasca literele T si H

Page 20: Invatare automata

Exemple (cont.) - Recunoasterea sabloanelor

20

Antrenare

Functionare

Page 21: Invatare automata

Exemple (cont.)

21

O retea poate arata si asa!

Page 22: Invatare automata

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: Invatare automata

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: Invatare automata

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: Invatare automata

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 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: Invatare automata

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

Page 27: Invatare automata

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

Page 28: Invatare automata

Structura reţelei Hopfield (cont)

28

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 29: Invatare automata

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.

29

Page 30: Invatare automata

Algoritmul de relaxare paralela a retelei Hopfield

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

sfarsit30

ijw

M

S

Sj

Si xx

1ji Nji ,1,

Nji ,1, ji

ii ltx )( 0Ni ,1

)1

)(f()1(

n

i ktixijwktjx nj ,1

0

Page 31: Invatare automata

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

Page 32: Invatare automata

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

32

Page 34: Invatare automata

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

34

)1

f(

n

i ixijwjx Nj ,1

jxixNijw1

Page 35: Invatare automata

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

M

SNijw Sj

Si xx

1

1

pjxp

jh )f(

N

i

N

i

M

pS

S

N

i

M

S

pixS

jxSix

Npjxp

ixSjxS

ixN

pixijwp

jh1 1 11 1

*)(1

*)(1

N

i

pjxp

ixN

pjx

1

211

2p

ix

Page 36: Invatare automata

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

jninij

ijwH 2

1

Page 37: Invatare automata

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

2

12

1

N

iii xn

NH

M

s

N

i

sii xn

NH

1

2

12

1

Page 38: Invatare automata

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

M

s jiji

M

s

sj

si

N

j

sjj

N

i

sii nnxx

Nxnxn

NH

1 , 111

1

2

1

2

1

Page 39: Invatare automata

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.

39

Page 40: Invatare automata

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.

40

ijji

ijndL

N

jijn

1

1

Page 41: Invatare automata

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

ji i j

ijijij nndH 2)1(2

ijd

)1

f(

n

i ixijwjx

Page 42: Invatare automata

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

Page 43: Invatare automata

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

M

s jiji

M

s

sj

si

N

j

sjj

N

i

sii nnxx

Nxnxn

NH

1 , 111

1

2

1

2

1

Page 44: Invatare automata

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

1

1

1

1

4321\

D

C

B

A

ai

Page 45: Invatare automata

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 L doi termeni de

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

45

aij

ajiaij nndL,

1,2

1

},...,1,,,...,1,,...,1|{ NajiNjNiijaija

a

ian 1 i

ian 1

aij a i i a

iaiaajiaij nnnndH,

221, ])1()1([

22

1

Page 46: Invatare automata

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)

46

ijd ijd

- -

- -

-

dij dij