Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi
46265598-Inteligenta-artificiala-Retele-neuronale-1
Transcript of 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
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