46265598-Inteligenta-artificiala-Retele-neuronale-1

Post on 29-Jun-2015

225 views 0 download

transcript

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

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

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

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

Neuronii

5

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

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

ReŃele neuronale artificiale

7

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

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

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

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

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

Î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

Exemple: 2, respectiv 3 intrări

13

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

Î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

Î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

Î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

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

Regula de învăŃare a perceptronului

18

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

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

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

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

Reprezentarea grafică

22

� Perceptronul poate reprezenta doar funcŃii liniar separabile

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

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

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

Perceptron multistrat cu 2 straturi ascunse

25

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

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

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

28

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

29

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

30

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

FuncŃii de activare (I)

31

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

FuncŃii de activare (II)

32

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

Î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

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

Fazele algoritmului backpropagation

35

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

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

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

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

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

Derivata funcŃiei de activare

40

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

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

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

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

43

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

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

� 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

� 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

� 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

� Î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

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

EvoluŃia erorii pentru problema XOR

50

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

Parametrii finali ai reŃelei

51

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

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

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

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

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

ÎnvăŃarea cu moment pentru problema XOR

56

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

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

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

ÎnvăŃarea cu rată adaptivă

59

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

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

60

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

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

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

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

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

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

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

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

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

Topologie

69

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

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

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

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

FuncŃia gaussiană

73

0.5σ =1.0σ =

1.5σ =

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

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

RBF: aproximator universal

75

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

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

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

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

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

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

Antrenarea iterativă

81

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

Exemplu: XOR, metoda 1

82

centre în toate instanŃele

dmax / √n_

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

Exemplu: XOR, metoda 1

83

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

Exemplu: XOR, metoda 1

84

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

Exemplu: XOR, metoda 2

85

alese aleatoriu

aleasă arbitrar

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

Exemplu: XOR, metoda 2

86

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

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

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

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

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

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

91

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

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

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

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

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

95

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

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

Exemplu

97

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

Testarea reŃelei

98

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

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

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

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

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

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

FuncŃionarea BAM

104

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

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

FuncŃionarea BAM

106

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

Exemplu: vectorii de stocat

107

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

Exemplu: matricea ponderilor

108

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

Exemplu: testarea

109

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

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

Alte exemple

111

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

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

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