46265598-Inteligenta-artificiala-Retele-neuronale-1

113
InteligenŃă artificială 11. ReŃele neuronale (I) Florin Leon Universitatea Tehnică „Gh. Asachi” Iaşi Facultatea de Automatică şi Calculatoare http://florinleon.byethost24.com/curs_ia.htm Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Transcript of 46265598-Inteligenta-artificiala-Retele-neuronale-1

Page 1: 46265598-Inteligenta-artificiala-Retele-neuronale-1

InteligenŃă artificială

11. ReŃele neuronale (I)

Florin Leon

Universitatea Tehnică „Gh. Asachi” IaşiFacultatea de Automatică şi Calculatoare

http://florinleon.byethost24.com/curs_ia.htm

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 2: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

2

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 3: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

3

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 4: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Modelul biologic� Modul în care lucrează creierul fiinŃelor vii este

complet diferit de cel al calculatoarelor numerice convenŃionale

� O reŃea neuronală artificială este un model al creierului biologic

4

O reŃea neuronală artificială este un model al creierului biologic

� Creierul uman dispune de 10-100 de miliarde de neuroni şi 100-500 de trilioane de sinapse

� Calculele sunt prelucrări paralele, complexe şi neliniare

� Fiecare neuron are o structură simplă (aparent...), dar interconectarea lor asigură puterea de calcul

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 5: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Neuronii

5

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 6: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Caracteristicile reŃelei neuronale biologice

� InformaŃiile sunt stocate şi prelucrate în toată reŃeaua� Sunt globale, nu locale

6

� O caracteristică esenŃială este plasticitatea, capacitatea de a se adapta – de a învăŃa

� UşurinŃa învăŃării a condus la ideea emulării reŃelelor neuronale cu ajutorul calculatorului

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 7: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale artificiale

7

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 8: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Analogii

� RN biologică

� Soma (corpul celulei)

� RN artificială

� Neuron

8

� Soma (corpul celulei)� Dendrite� Axon� Sinapsă

� Neuron� Intrări� Ieşire� Pondere (“weight”)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 9: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

9

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 10: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Neuronul artificial� Warren McCulloch şi Walter Pitts (1943) au

propus un model de neuron, care rămâne până în prezent fundamentul structural pentru majoritatea reŃelelor neuronale

10

majoritatea reŃelelor neuronale

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 11: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Perceptronul

� Frank Rosenblatt (1958) a introdus un algoritm de antrenare pentru un astfel de neuron – perceptronul Perceptronul are ponderi sinaptice ajustabile

11

� Perceptronul are ponderi sinaptice ajustabile şi funcŃia de activare semn sau prag

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 12: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea

� Scopul perceptronului este să clasifice intrările x1, x2, . . ., xn cu două clase A1 şi A2

12

A1 şi A2

� SpaŃiul intrărilor, n-dimensional, este împărŃit în două de un hiperplan definit de ecuaŃia:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 13: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemple: 2, respectiv 3 intrări

13

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 14: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea� ÎnvăŃarea are loc prin ajustarea succesivă a ponderilor pentru a

reduce diferenŃa dintre ieşirile reale şi ieşirile dorite, pentru toate datele de antrenare

� Dacă la iteraŃia p ieşirea reală este Y(p) iar ieşirea dorită este Y (p), atunci eroarea este: e(p) = Y (p) - Y(p)

14

Yd(p), atunci eroarea este: e(p) = Yd(p) - Y(p)

� IteraŃia p se referă la instanŃa/vectorul de antrenare cu numărul p

� Dacă eroarea este pozitivă, trebuie să creştem ieşirea perceptronului Y(p)

� Dacă eroarea este negativă, trebuie să micşorăm ieşirea Y(p)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 15: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea

� Dacă Y = 0 iar Yd = 1, e = 1� Atunci: ∆w = α · x = α · x · e

15

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 16: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea

� Dacă Y = 1 iar Yd = 0, e = -1� Atunci: ∆w = α · (-x) = α · x · e

16

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 17: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Regula delta

� Se bazează pe minimizarea erorii în raport cu ponderile, cu ajutorul gradientului descendent

� În cazul general: ieşirea dorită

17

� Actualizarea ponderilor:

� DemonstraŃie: http://en.wikipedia.org/wiki/Delta_rule

funcŃia de activare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 18: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Regula de învăŃare a perceptronului

18

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 19: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Algoritmul de antrenare al perceptronului

� 1. IniŃializarea� Ponderile w1, w2,…, wn şi pragul θ sunt iniŃializate

cu valori aleatorii din intervalul [-0.5, 0.5]

2. Activarea

19

� 2. Activarea� Se aplică intrările x1(p), x2(p),…, xn(p) şi se

calculează ieşirea reală Y(p):

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 20: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Algoritmul de antrenare al perceptronului

� 3. Actualizarea ponderilor

20

� 4. Se incrementează p şi se repetă procesul de la pasul 2 până când algoritmul converge� Eroarea pentru toate datele de antrenare este 0� ConvergenŃa nu este garantată

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 21: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu de antrenare: funcŃia ŞIInputs

x1 x2

0

0

1

1

0

1

0

1

0

0

0

EpochDesiredoutputYd

1

Initial

weightsw1 w2

1

0.3

0.3

0.3

0.2

−0.1

−0.1

−0.1

−0.1

0

0

1

0

Actualoutput

Y

Error

e

0

0

−1

1

Final

weightsw1 w2

0.3

0.3

0.2

0.3

−0.1

−0.1

−0.1

0.0

0

0

1

1

0

1

0

1

0

0

0

2

1

0.3

0.3

0.3

0.2

0

0

1

1

0

0

−1

0

0.3

0.3

0.2

0.2

0.0

0.0

0.0

0.0

0 0 03 0.2

0.0

0.0

0.0

0.0

0.0 0 0 0.2 0.0

21

0

0

1

1

0

1

0

1

0

0

0

3

1

0.2

0.2

0.2

0.1

0.0

0.0

0.0

0.0

0

0

1

0

0

0

−1

1

0.2

0.2

0.1

0.2

0.0

0.0

0.0

0.1

0

0

1

1

0

1

0

1

0

0

0

4

1

0.2

0.2

0.2

0.1

0.1

0.1

0.1

0.1

0

0

1

1

0

0

−1

0

0.2

0.2

0.1

0.1

0.1

0.1

0.1

0.1

0

0

1

1

0

1

0

1

0

0

0

5

1

0.1

0.1

0.1

0.1

0.1

0.1

0.1

0.1

0

0

0

1

0

0

0

0.1

0.1

0.1

0.1

0.1

0.1

0.1

0.1

0

Threshold: θ = 0.2; learning rate: α = 0.1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 22: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Reprezentarea grafică

22

� Perceptronul poate reprezenta doar funcŃii liniar separabile

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 23: 46265598-Inteligenta-artificiala-Retele-neuronale-1

DiscuŃie

� Perceptronul poate reprezenta funcŃii liniar separabile mai complexe, de exemplu funcŃia majoritate

23

exemplu funcŃia majoritate� Un arbore de decizie ar avea nevoie de

2n noduri

� Poate învăŃa tot ce poate reprezenta, dar nu poate reprezenta multe funcŃii (neseparabile liniar, de exemplu XOR)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 24: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

24

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 25: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Perceptron multistrat cu 2 straturi ascunse

25

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 26: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Perceptronul multistrat

� Perceptronul multistrat este o reŃea neuronală cu propagare înainte (“feed-forward”) cu unul sau mai multe straturi ascunse� Un strat de intrare

26

� Un strat de intrare� Unul sau mai multe straturi ascunse / intermediare� Un strat de ieşire

� Calculele se realizează numai în neuronii din straturile ascunse şi din stratul de ieşire

� Semnalele de intrare sunt propagate înainte succesiv prin straturile reŃelei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 27: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Straturile „ascunse”

� Un strat ascuns îşi „ascunde” ieşirea dorită; cunoscând corespondenŃa intrare-ieşire a reŃelei („cutie neagră”), nu se poate deduce care trebuie să fie ieşirea dorită a unui neuron dintr-un strat

27

să fie ieşirea dorită a unui neuron dintr-un strat ascuns

� ReŃelele neuronale comerciale au de obicei unul sau două straturi ascunse. Fiecare strat poate conŃine 10-1000 neuroni

� ReŃele neuronale experimentale pot avea 3 sau 4 straturi ascunse, cu milioane de neuroni

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 28: 46265598-Inteligenta-artificiala-Retele-neuronale-1

28

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 29: 46265598-Inteligenta-artificiala-Retele-neuronale-1

29

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 30: 46265598-Inteligenta-artificiala-Retele-neuronale-1

30

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 31: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃii de activare (I)

31

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 32: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃii de activare (II)

32

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 33: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea

� O reŃea multistrat învaŃă într-un mod asemănător cu perceptronul

� ReŃeaua primeşte vectorii de intrare şi

33

� ReŃeaua primeşte vectorii de intrare şi calculează vectorii de ieşire

� Dacă există o eroare (o diferenŃă între ieşirea reală şi ieşirea dorită), ponderile sunt ajustate pentru a reduce eroarea

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 34: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Algoritmul de retro-propagare

� engl. “backpropagation”� Bryson & Ho, 1969� Rumelhart, Hinton & Williams, 1986

Algoritmul are două faze:

34

� Algoritmul are două faze:� ReŃeaua primeşte vectorul de intrare şi propagă

semnalul înainte, strat cu strat, până se generează ieşirea

� Semnalul de eroare este propagat înapoi, de la stratul de ieşire către stratul de intrare, ajustându-se ponderile reŃelei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 35: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Fazele algoritmului backpropagation

35

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 36: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 1. IniŃializarea

� Ponderile şi pragurile se iniŃializează cu valori aleatorii mici, dar diferite de 0

� O euristică recomandă valori din

36

� O euristică recomandă valori din intervalul (–2.4 / Fi , 2.4 / Fi ), unde Fi este numărul total de intrări ale neuronului i (“fan-in”)

� IniŃializarea ponderilor se face pentru fiecare neuron în parte

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 37: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 2. Activarea� Se activează reŃeaua prin aplicarea vectorului de

intrare x1(p), x2(p),…, xn(p) cu ieşirile dorite yd

1(p), yd2(p),…, yd

n(p)� Se calculează ieşirile reale ale neuronilor din stratul

ascuns:

37

Se calculează ieşirile reale ale neuronilor din stratul ascuns:

� unde n este numărul de intrări ale neuronului j din stratul ascuns şi se utilizează o funcŃie de activare sigmoidă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 38: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 2. Activarea

� Se calculează ieşirile reale ale neuronilor din stratul de ieşire:

38

� unde m este numărul de intrări ale neuronului k din stratul de ieşire

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 39: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 3. Ajustarea ponderilor

� Se calculează gradienŃii de eroare ai neuronilor din stratul de ieşire, în mod similar cu regula delta pentru perceptron

39

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 40: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Derivata funcŃiei de activare

40

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 41: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 3. Ajustarea ponderilor

� Se calculează gradienŃii de eroare ai neuronilor din stratul ascuns:

41

� Se calculează corecŃiile ponderilor:

� Se actualizează ponderile neuronilor din stratul ascuns:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 42: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Pasul 4. IteraŃia

� Se incrementează p

� Prezentarea tuturor vectorilor (instanŃelor) de antrenare constituie o epocă

42

de antrenare constituie o epocă� Antrenarea reŃelei continuă până când

eroarea ajunge sub un prag acceptabil sau până când se atinge un număr maxim prestabilit de epoci de antrenare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 43: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: ReŃea cu 3 straturi pentru aproximarea funcŃiei binare XOR

43

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 44: 46265598-Inteligenta-artificiala-Retele-neuronale-1

IniŃializarea

� Pragul aplicat unui neuron dintr-un strat ascuns sau de ieşire este echivalent cu o altă conexiune cu ponderea egală cu θ, conectată la o intrare fixă egală cu -1

44

la o intrare fixă egală cu -1� Ponderile şi pragurile sunt iniŃializate

aleatoriu:� w13 = 0.5, w14 = 0.9, w23 = 0.4, w24 = 1.0� w35 = 1.2, w45 = 1.1� θ3 = 0.8, θ4 = 0.1, θ5 = 0.3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 45: 46265598-Inteligenta-artificiala-Retele-neuronale-1

� Să considerăm instanŃa de antrenare unde intrările x1 şi x2 sunt egale cu 1 iar ieşirea dorită yd

5 este 0� Ieşirile reale ale neuronilor 3 şi 4 din stratul ascuns

sunt calculate precum urmează:

[ ] 5250.01 /1)( )8.014.015.01(32321313 =+=θ−+=

⋅−⋅+⋅−ewxwx sigmoidy

[ ] 8808.01 /1)( )1.010.119.01(42421414 =+=θ−+=

⋅+⋅+⋅−ewxwx sigmoidy

45

[ ]42421414

� Se determină ieşirea reală a neuronului 5 din stratul de ieşire:

� Se obŃine următoarea eroare:

[ ] 5097.01 /1)( )3.011.18808.02.15250.0(54543535 =+=θ−+=

⋅−⋅+⋅−−ewywy sigmoidy

5097.05097.0055, −=−=−= yye d

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 46: 46265598-Inteligenta-artificiala-Retele-neuronale-1

� Se propagă eroarea e din stratul de ieşire către stratul de intrare

� Mai întâi se calculează gradientul erorii pentru neuronul 5 din stratul de ieşire:

1274.05097).0( 0.5097)(1 0.5097)1( 555 −=−⋅−⋅=−= e y yδ

� Apoi se calculează corecŃiile ponderilor şi pragului

46

� Apoi se calculează corecŃiile ponderilor şi pragului� Presupunem că rata de învăŃare α este 0.1

0112.0)1274.0(8808.01.05445 −=−⋅⋅=⋅⋅=∆ δα yw

0067.0)1274.0(5250.01.05335 −=−⋅⋅=⋅⋅=∆ δα yw

0127.0)1274.0()1(1.0)1( 55 −=−⋅−⋅=⋅−⋅=θ∆ δα

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 47: 46265598-Inteligenta-artificiala-Retele-neuronale-1

� Apoi se calculează gradienŃii de eroare pentru neuronii 3 şi 4 din stratul ascuns:

� Apoi se determină corecŃiile ponderilor şi pragurilor:

0381.0)2.1 (0.1274) (0.5250)(1 0.5250)1( 355333 =−⋅−⋅−⋅=⋅⋅−= wyy δδ

0.0147.11 4) 0.127 ( 0.8808)(10.8808)1( 455444 −=⋅−⋅−⋅=⋅⋅−= wyy δδ

47

0038.00381.011.03113 =⋅⋅=⋅⋅=∆ δα xw

0038.00381.011.03223 =⋅⋅=⋅⋅=∆ δα xw

0038.00381.0)1(1.0)1( 33 −=⋅−⋅=⋅−⋅=θ∆ δα

0015.0)0147.0(11.04114 −=−⋅⋅=⋅⋅=∆ δα xw

0015.0)0147.0(11.04224 −=−⋅⋅=⋅⋅=∆ δα xw

0015.0)0147.0()1(1.0)1( 44 =−⋅−⋅=⋅−⋅=θ∆ δα

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 48: 46265598-Inteligenta-artificiala-Retele-neuronale-1

� În final, se actualizează ponderile şi pragurile:

5038.00038.05.0131313

=+=∆+= www

8985.00015.09.0141414

=−=∆+= www

4038.00038.04.0232323

=+=∆+= www

9985.00015.00.1242424

=−=∆+= www

2067.10067.02.1353535

−=−−=∆+= www

0888.10112.01.1 =−=∆+= www

48

0888.10112.01.1454545

=−=∆+= www

7962.00038.08.0333

=−=θ∆+θ=θ

0985.00015.01.0444

−=+−=θ∆+θ=θ

3127.00127.03.0555

=+=θ∆+θ=θ

� Procesul de antrenare se repetă până când suma erorilor pătratice devine mai mică decât o valoare acceptabilă, de exemplu aici 0.001

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 49: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Rezultate finale

Inputs

x1 x2

1

0

1

1

0

1

Desired

output

yd

0.0155

Actual

output

y5Y

Error

e

Sum of

squarederrors

0.9849

−0.0155

0.0151

0.0010

49

0

1

0

1

0

0

1

1

0

0.9849

0.9849

0.0175

0.0151

0.0151

−0.0175

V este numărul de vectori de antrenare (aici 4)

O este numărul de ieşiri (aici 1)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 50: 46265598-Inteligenta-artificiala-Retele-neuronale-1

EvoluŃia erorii pentru problema XOR

50

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 51: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Parametrii finali ai reŃelei

51

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 52: 46265598-Inteligenta-artificiala-Retele-neuronale-1

x1

x2

1

1

x2

1

1

00

x1 + x2 – 1.5 = 0 x1 + x2 – 0.5 = 0

x1 x1

x2

1

1

0

Regiuni de decizie

52

(a) Regiunea de decizie generată de neuronul ascuns 3(b) Regiunea de decizie generată de neuronul ascuns 4 (c)Regiunea de decizie generată de reŃeaua completă:

combinarea regiunilor de către neuronul 5

(a) (b) (c)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 53: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Tipuri de antrenare� ÎnvăŃarea incrementală (“online learning”)

� Ponderile se actualizează după prelucrarea fiecărui vector de antrenare

� Ca în exemplul anterior

ÎnvăŃarea pe lot (“batch learning”)

53

� ÎnvăŃarea pe lot (“batch learning”)� După prelucrarea unui vector de antrenare se acumulează

gradienŃii de eroare în corecŃiile ponderilor ∆w� Ponderile se actualizează o singură dată la sfârşitul unei

epoci (după prezentarea tuturor vectorilor de antrenare): w ← w + ∆w

� Rezultatele antrenării nu mai depind de ordinea în care sunt prezentaŃi vectorii de antrenare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 54: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Metode de accelerare a învăŃării

� ReŃelele învaŃă de obicei mai repede când se foloseşte funcŃia sigmoidă bipolară (tangenta hiperbolică) în locul sigmoidei unipolare

54

� O euristică pentru alegerea parametrilor sigmoidei: � a = 1.716 � b = 0.667

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 55: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Metoda momentului

� Regula delta generalizată:

55

� Termenul β este un număr pozitiv (0 ≤ β < 1) numit constantă de moment (engl. “momentum”)

� De obicei, β este în jur de 0.95

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 56: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea cu moment pentru problema XOR

56

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 57: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Rata de învăŃare adaptivă

� Pentru accelerarea convergenŃei şi evitarea instabilităŃii, se pot aplica două euristici:� Dacă schimbarea sumei erorilor pătratice ∆E are

acelaşi semn algebric pentru mai multe epoci

57

acelaşi semn algebric pentru mai multe epoci consecutive, atunci rata de învăŃare α trebuie să crească

� Dacă semnul lui ∆E alternează timp de câteva epoci consecutive, atunci rata de învăŃare αtrebuie să scadă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 58: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Rata de învăŃare adaptivă

� Fie Ep suma erorilor pătratice în epoca prezentă

� Dacă Ep > r � Ep-1, atunci α ← α � d

58

p p-1 ←

� Dacă Ep < Ep-1, atunci α ← α � u � Apoi se calculează noile ponderi şi praguri

� Valori tipice: r = 1.04, d = 0.7, u = 1.05

ratio down up

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 59: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea cu rată adaptivă

59

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 60: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ÎnvăŃarea cu moment şi rată adaptivă

60

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 61: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Metoda Newton

� Metodă iterativă pentru determinarea rădăcinilor unei funcŃii pe baza derivatei

61

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 62: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Aplicarea metodei Newton pentru antrenarea unei reŃele

� Pentru o reŃea neuronală, scopul este determinarea punctelor unde diferenŃiala erorii este 0

� Metoda momentului poate fi considerată o aproximare euristică a acestei abordări

62

este 0� Se pot folosi diferenŃiale

de ordin 2� Matricea hessiană:

calcule complexe şi sensibilitate la erorile date de precizia reprezentării numerelor în calculator

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 63: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Antrenarea cu AE� Găsirea ponderilor pentru minimizarea erorii este o

problemă de optimizare� Se pot folosi algoritmi evolutivi pentru antrenare� Cromozomii vor fi vectori (foarte) lungi care

63

� Cromozomii vor fi vectori (foarte) lungi care reprezintă ponderile şi pragurile

� Abordarea AE creşte flexibilitatea� FuncŃiile de activare nu mai trebuie să fie diferenŃiabile� Fiecare neuron poate avea un alt tip de funcŃie de activare � Neuronii nu mai trebuie să fie complet conectaŃi � Topologia reŃelei nu mai trebuie să fie stabilită apriori� AE poate determina atât topologia cât şi parametrii reŃelei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 64: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Considerente practice� Pentru a nu satura funcŃiile sigmoide, ceea ce ar conduce

la scăderea vitezei de convergenŃă, intrările şi ieşirile sunt scalate de obicei în intervalul [0.1, 0.9], sau [-0.9, 0.9], în funcŃie de tipul de sigmoidă folositDacă reŃeaua este utilizată pentru aproximare funcŃională

64

� Dacă reŃeaua este utilizată pentru aproximare funcŃionalăşi nu pentru clasificare, funcŃia de activare a neuronilor de ieşire poate fi liniară sau semiliniară (saturată la -1/0 şi 1) în loc de sigmoidă

� Stabilirea numărului de straturi şi mai ales a numărului de neuroni din fiecare strat este relativ dificilă şi poate necesita numeroase încercări pentru a atinge performaŃele dorite

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 65: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Euristici� Fie:

� N numărul de intrări� O numărul de ieşiri� H numărul de neuroni din stratul ascuns

65

� H numărul de neuroni din stratul ascuns(pentru un singur strat ascuns)

� H1 numărul de neuroni din primul strat ascuns şi H2 numărul de neuroni din al doilea strat ascuns(pentru 2 straturi ascunse)

� RelaŃia lui Kudrycki: H = 3 � O sau H1 = 3 � H2

� RelaŃia Hecht-Nielsen: H = 2 � N +1� RelaŃia lui Lippmann: H = O � (N + 1)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 66: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

66

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 67: 46265598-Inteligenta-artificiala-Retele-neuronale-1

SuprafeŃe de decizie

67

Perceptron ReŃea cu funcŃii de bază radială

(engl. “Radial Basis Functions”, RBF)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 68: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele RBF

� Perceptronii multistrat au o structură greu de optimizat iar timpul de antrenare este mare

� ReŃelele RBF sunt tot tipuri de învăŃare supervizată,

68

de învăŃare supervizată, proiectate ca metode de aproximare funcŃională (“curve fitting”)

� FuncŃia care trebuie aproximată este considerată o superpoziŃie de funcŃii radiale

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 69: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Topologie

69

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 70: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Prelucrări

� Ieşirea unui neuron din stratul de ieşire este o combinaŃie liniară de intrări

70

� Ieşirea unui neuron RBF (centru) din stratul intermediar este funcŃie de distanŃa dintre centru şi vectorul de intrare:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 71: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemple de funcŃii radiale

� Orice funcŃie care îndeplineşte criteriul:, unde norma este de obicei

distanŃa euclidianăFuncŃia gaussiană: , β >0

71

� FuncŃia gaussiană: , β >0� FuncŃia multicuadrică: , β >0� FuncŃia spline poliarmonică:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 72: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Ieşirea reŃelei

� De obicei se foloseşte funcŃia gaussiană pentru ieşirea neuronilor din stratul intermediar

72

intermediar� Deci ieşirea reŃelei, pentru un vector de

intrare x şi N centre, este:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 73: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃia gaussiană

73

0.5σ =1.0σ =

1.5σ =

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 74: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃia multicuadrică inversă

0.7

0.8

0.9

1

74

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

-10 -5 0 5 10

c=1

c=2

c=3c=4

c=5

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 75: 46265598-Inteligenta-artificiala-Retele-neuronale-1

RBF: aproximator universal

75

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 76: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Interpretare

� Neuronii din stratul intermediar sunt centrele selectate în spaŃiul de intrare

� Ieşirea unui neuron intermediar reprezintă apropierea instanŃei de

76

� Ieşirea unui neuron intermediar reprezintă apropierea instanŃei de intrare de centrul corespunzător� Dacă instanŃa de intrare este în centru,

neuronul generează 1� Dacă instanŃa este depărtată, ieşirea este

apropiată de 0 (dar niciodată 0)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 77: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Antrenarea. Cazul 1

� Pentru N instanŃe de antrenare (puncte în spaŃiul intrărilor), considerăm N centre, cu “raze” egale date σTrebuie calculate ponderile w

77

� Trebuie calculate ponderile wj

� Ponderile sunt soluŃiile unui sistem de N ecuaŃii cu N necunoscute

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 78: 46265598-Inteligenta-artificiala-Retele-neuronale-1

SelecŃia deviaŃiei standard

� Euristică: σ = dmax / √n� dmax = distanŃa maximă între oricare

2 centre

_

78

2 centre� n = numărul de centre

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 79: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Antrenarea. Cazul 2� Dacă există N centre, calculele sunt foarte complexe

pentru un număr mare de instanŃe� Se pot selecta M centre reprezentative, astfel încât

M << N

79

M << N� Rezultă un sistem de N ecuaŃii cu M necunoscute,

M << N� ΦNxM � WMx1 = YMx1

� Nu se poate inversa Φ pentru că nu este matrice pătratică

� Metoda pseudo-inversei:� ΦT � Φ � W = ΦT � Y� ⇒ W = (ΦT � Φ)-1 � ΦT � Y

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 80: 46265598-Inteligenta-artificiala-Retele-neuronale-1

SelecŃia centrelor

� SelecŃie aleatorie� SelecŃie nesupervizată: clusterizare� SelecŃie supervizată pe baza

80

� SelecŃie supervizată pe baza gradientului descendent

urmează detalii suplimentare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 81: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Antrenarea iterativă

81

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 82: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 1

82

centre în toate instanŃele

dmax / √n_

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 83: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 1

83

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 84: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 1

84

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 85: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 2

85

alese aleatoriu

aleasă arbitrar

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 86: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 2

86

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 87: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: XOR, metoda 2

87

centrele selectate sunt insuficiente pentru a învăŃa funcŃia XOR

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 88: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

88

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 89: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Asocieri

� În creierele biologice, memoria lucrează prin asociere� Putem recunoaşte o faŃă cunoscută într-un mediu

necunoscut în 100-200 ms� Putem rememora o întreagă experienŃă senzorială, vizuală şi

89

� Putem rememora o întreagă experienŃă senzorială, vizuală şi auditivă, când auzim primele măsuri ale unei melodii

� Perceptronul multistrat nu lucrează prin asociere� Pentru emularea acestei capacităŃi avem nevoie de

un alt tip de reŃea neuronală: o reŃea recurentă� O reŃea recurentă are bucle de reacŃie de la ieşiri

către intrări

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 90: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Stabilitatea

� Datorită reacŃiei (engl. “feedback”), stabilitatea reŃelei devine o problemă

� Aceasta a fost rezolvată abia în 1982,

90

� Aceasta a fost rezolvată abia în 1982, când John Hopfield a formulat principiul fizic de stocare a informaŃiilor într-o reŃea stabilă din punct de vedere dinamic

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 91: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃea Hopfield cu un singur strat şi n neuroni

91

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 92: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃia de activare

� ReŃeaua Hopfield foloseşte neuroni McCulloch-Pitts cu funcŃie de activare semn :

92

semn :

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 93: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Vectorul de stare

� Starea curentă a reŃelei este determinată de ieşirile tuturor neuronilor: y1, y2, . . ., yn

� Starea unei reŃele cu un singur strat şi n neuroni este un vector de stare:

93

neuroni este un vector de stare:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 94: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Ponderile

� Ponderile se reprezintă de obicei în formă matriceală:

94

� unde M este numărul de stări care trebuie memorate, Ym este un vector binar n-dimensional şi I este matricea identitate de dimensiune n x n

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 95: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Stări posibile pentru o reŃea cu 3 neuroni

95

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 96: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu

� Să presupunem că vrem să memorăm două stări: (1, 1, 1) şi (-1,-1,-1)

96

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 97: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu

97

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 98: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Testarea reŃelei

98

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 99: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Stări stabile şi instabile� Aceste 2 stări sunt stabile� Celelalte 6 stări rămase sunt instabile. Stările stabile (numite

amintiri fundamentale) sunt capabile să atragă stările apropiate� Amintirea fundamentală (1, 1, 1) atrage stările instabile

(−1, 1, 1), (1, −1, 1) şi (1, 1, −1)

99

(−1, 1, 1), (1, −1, 1) şi (1, 1, −1)� Fiecare din aceste stări are o singură eroare, în comparaŃie cu

amintirea fundamentală (1, 1, 1)

� Amintirea fundamentală (−1, −1, −1) atrage stările instabile (−1, −1, 1), (−1, 1, −1) şi (1, −1, −1)

� Deci, o reŃea Hopfield are capacitatea de a corecta erorile din stările prezentate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 100: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Capacitatea de stocare

� Capacitatea de stocare este cel mai mare număr de amintiri fundamentale care pot fi stocate şi regăsite corectNumărul maxim de amintiri fundamentale

100

� Numărul maxim de amintiri fundamentale Mmax care poate fi stocat într-o reŃea de n neuroni este limitat de: Mmax = 0.15 n

� Pentru a garanta că toate amintirile fundamentale vor fi regăsite perfect, Mmax = n / (4 ln n)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 101: 46265598-Inteligenta-artificiala-Retele-neuronale-1

ReŃele neuronale (I)

1. Introducere2. Perceptronul. Regula delta3. Perceptronul multistrat. Algoritmul

backpropagation. Optimizări

101

backpropagation. Optimizări4. ReŃele cu funcŃii de bază radială5. ReŃeaua Hopfield6. Memorii asociative bidirecŃionale7. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 102: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Memorii asociative bidirecŃionale

� ReŃeaua Hopfield este un tip de memorie auto-asociativă� Poate regăsi o amintire coruptă sau incompletă,

dar nu poate asocia o amintire cu o alta

102

dar nu poate asocia o amintire cu o alta

� Memoria umană este în mod esenŃial asociativă� Un lucru ne aminteşte de altul ş.a.m.d. � Putem folosi o succesiune de asociaŃii mentale

pentru a recupera o amintire pierdută

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 103: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Memorii asociative bidirecŃionale

� Pentru a asocia o amintire cu alta, avem nevoie de o reŃea recurentă capabilă să primească un vector de intrare într-o mulŃime de neuroni şi să producă un vector de ieşire înrudit, dar diferit, în altă mulŃime de neuroniMemoria asociativă bidirecŃională (engl. “Bidirectional

103

� Memoria asociativă bidirecŃională (engl. “Bidirectional Associative Memory”, BAM), propusă de Bart Kosko în 1988, este o reŃea hetero-asociativă� Poate asocia vectori dintr-o mulŃime A cu vectori dintr-o mulŃime B

şi viceversa� La fel ca reŃeaua Hopfield, BAM poate generaliza şi poate produce

ieşiri corecte în cazul intrărilor corupte sau incomplete

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 104: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃionarea BAM

104

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 105: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃionarea BAM

� Când vectorul n-dimensional X este prezentat la intrare, BAM îşi reaminteşte vectorul m-dimensional Y, iar când Y este prezentat ca intrare, BAM îşi reaminteşte X

105

reaminteşte X� BAM funcŃionează pe baza unei matrice de corelaŃie

unde M este numărul de vectori care trebuie memoraŃi

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 106: 46265598-Inteligenta-artificiala-Retele-neuronale-1

FuncŃionarea BAM

106

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 107: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: vectorii de stocat

107

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 108: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: matricea ponderilor

108

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 109: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Exemplu: testarea

109

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 110: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Regăsirea

� Se prezintă un vector necunoscut X (diferit de amintirile fundamentale Xm)

� Se iniŃializează BAM cu X(0) = XSe calculează ieşirea la iteraŃia p:

110

� Se calculează ieşirea la iteraŃia p: Y(p) = sign [WT x X(p)]

� Se actualizează vectorul de intrare:X(p+1) = sign [W x Y(p)]

� Se repetă procesul până la echilibru, când X şi Y rămân neschimbaŃi între 2 iteraŃii succesive

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 111: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Alte exemple

111

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 112: 46265598-Inteligenta-artificiala-Retele-neuronale-1

DiscuŃie

� BAM este stabilă necondiŃionat� Orice mulŃime de asociaŃii poate fi învăŃat

fără risc de instabilitate� Numărul maxim de asociaŃii care pot fi

112

� Numărul maxim de asociaŃii care pot fi stocate în BAM nu trebuie să depăşească numărul de neuroni din stratul mai mic

� O problemă mai serioasă este convergenŃa incorectă� BAM nu produce întotdeauna cea mai apropiată

asociaŃie

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 113: 46265598-Inteligenta-artificiala-Retele-neuronale-1

Concluzii� Perceptronul lui Rosenblatt foloseşte regula delta pentru a

învăŃa funcŃii liniar separabile� Perceptronul multistrat poate aproxima funcŃii

neseparabile liniar, cu regiuni de decizie complexe; cel mai

113

neseparabile liniar, cu regiuni de decizie complexe; cel mai utilizat algoritm de antrenare este backpropagation

� Perceptronul multistrat construieşte o aproximare globală a unei funcŃii; reŃelele cu funcŃii de bază radială construiesc o serie de aproximări locale ale funcŃiei

� ReŃeaua Hopfield şi BAM permit asocierea vectorilor de intrare-ieşire, având şi capacităŃi de corecŃie a erorilor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm