1. Inteligență artificială
11. Rețele neuronale (I)
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din 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
2. 2
Rețele neuronale (I)
1. Introducere
2. Perceptronul. Adaline
3. Perceptronul multistrat
4. Rețele cu funcții de bază radială
5. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
3. 3
Rețele neuronale (I)
1. Introducere
1.1. Învățarea automată
1.2. Neuronii biologici
2. Perceptronul. Adaline
3. Perceptronul multistrat
4. Rețele cu funcții de bază radială
5. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
4. Învățarea automată
engl. “machine learning”
Își propune găsirea automată a unor modele
interesante în date
Direcții principale:
Clasificarea și regresia
Gruparea (clusterizarea)
Determinarea regulilor de asociere
Selecția trăsăturilor
4Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
5. 5
Clasificarea
Se dă o mulţime de
antrenare: o mulţime de
instanţe (vectori de
antrenare, obiecte)
Instanţele au atribute
Fiecare instanţă are
atribute cu anumite valori
De obicei, ultimul atribut
este clasa
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
6. Regresia
Reprezintă aproximarea unei funcţii
Orice fel de funcție, nu doar de tipul f : ℝn → ℝ
Doar ieșirea este continuă; unele intrări pot fi
discrete
6Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
7. 7
Clasificarea şi regresia
Aceeaşi idee de bază: învăţarea unei relaţii între
intrări (vectorul x) şi ieşire (y) din date
Singura diferenţă între clasificare şi regresie este
tipul ieşirii: discret, respectiv continuu
Clasificarea estimează o ieşire discretă, clasa
Regresia estimează o funcţie h astfel încât
h(x) ≈ y(x) cu o anumită precizie
Pentru fiecare instanță de antrenare, valoarea dorită
a ieșirii este dată ⇒ învățare supervizată
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
8. Gruparea (clusterizarea)
Are ca scop găsirea unor grupuri astfel încât
instanțele din același grup să fie mai asemănătoare
între ele decât cu instanțele altor grupuri
De obicei, este nesupervizată
8Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
10. Reguli de asociere
Regulile de asociere identifică relații interesante între
date tranzacționale aparent neînrudite
Exemplu: analiza coșului de cumpărături
Persoanele care cumpără lapte și scutece cumpără și
bere în 67% din cazuri
10Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
11. Selecția trăsăturilor
11
Reprezintă determinarea unei submulțimi de atribute relevante
din mulțimea de antrenare
De obicei, este utilizată înainte de aplicarea unor algoritmi de
clasificare sau regresie
Prin scăderea dimensionalității, problemele pot deveni mai ușor
de rezolvat
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
12. Rețelele neuronale
Rețelele neuronale de tipul celor prezentate în
acest curs sunt folosite în general pentru
probleme de regresie și clasificare
12Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
13. 13
Modelul biologic al neuronilor
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 simplificat al
creierului biologic
Creierul uman dispune în medie de 86 de miliarde de
neuroni și 150 de trilioane de sinapse
Calculele sunt prelucrări paralele, complexe și neliniare
Fiecare neuron are o structură simplă (doar aparent...),
dar interconectarea lor asigură puterea de calcul
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
16. 16
Caracteristicile unei rețele
neuronale biologice
Informațiile sunt stocate și prelucrate în toată
rețeaua: sunt globale, nu locale
O caracteristică esențială este plasticitatea:
capacitatea de a se adapta, de a învăța
Posibilitatea învățării a condus la ideea
modelării unor rețele neuronale (mult)
simplificate cu ajutorul calculatorului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
19. 19
Rețele neuronale (I)
1. Introducere
2. Perceptronul. Adaline
2.1. Structură
2.2. Algoritmul de antrenare al perceptronului
2.3. Regula delta
3. Perceptronul multistrat
4. Rețele cu funcții de bază radială
5. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
20. 20
Neuronul artificial
Primul model matematic al unui neuron a fost propus
de McCulloch și Pitts (1943)
ai sunt intrări excitatoare, bj sunt intrări inhibitoare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
21. Neuronul McCulloch-Pitts
Nu poate învăța; parametrii se stabilesc analitic
21Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
22. 22
Perceptronul originar
Rosenblatt (1958), încercând să rezolve problema
învățării, a propus un model de neuron numit
perceptron, prin analogie cu sistemul vizual uman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
23. 23
Perceptronul standard
Semnalele de intrare sunt sumate, iar neuronul
generează un semnal doar dacă suma depăşeşte
pragul
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
24. 24
Perceptronul
Perceptronul are ponderi sinaptice ajustabile
și funcție de activare semn sau treaptă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
25. 25
Învățarea
Scopul perceptronului este să clasifice
intrările x1, x2, ..., xn cu două clase 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
27. 27
Exemple: 2, respectiv 3 intrări
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
28. 28
Î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
Yd(p), atunci eroarea este: e(p) = Yd(p) – Y(p)
Iterația p se referă la vectorul de antrenare cu indexul 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
29. 29
Învățarea (I)
Dacă Y = 0 și Yd = 1 ⇒ e = 1
x ∙ w – θ = 0
x ∙ wd – θ = 1
Dacă x > 0, w trebuie să crească
Dacă x < 0, w trebuie să scadă
Atunci: Δw = α ∙ x = α ∙ x ∙ e
α este rata de învățare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
30. 30
Învățarea (II)
Dacă Y = 1 și Yd = 0 ⇒ e = –1
x ∙ w – θ = 1
x ∙ wd – θ = 0
Dacă x > 0, w trebuie să scadă
Dacă x < 0, w trebuie să crească
Atunci: Δw = α ∙ (–x) = α ∙ x ∙ e
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
32. 32
Învățarea
Regula de învățare a perceptronului:
Δw = α ∙ x ∙ e
Folosind funcția de activare treaptă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
36. 36
Reprezentarea grafică
Perceptronul poate reprezenta doar funcții liniar separabile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
37. 37
Discuție
Perceptronul poate reprezenta funcții liniar
separabile complexe, de 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
38. Adaline
Funcție de activare liniară
Eroarea unui vector de antrenare
Eroarea pe mulțimea de antrenare
38Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
39. Regula de antrenare
39
η este tot rata de învățare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
40. 40
Regula delta
ieșirea dorită
funcția de activare
(derivabilă)
În cazul general:
Actualizarea ponderilor:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
41. 41
Regula delta pentru
funcția de activare liniară
Este aceeași expresie ca la regula de învățare a perceptronului
Însă în cazul anterior se folosea funcția de activare prag, care nu este derivabilă
Regula delta se poate aplica doar pentru funcții de activare derivabile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
42. 42
Rețele neuronale (I)
1. Introducere
2. Perceptronul. Adaline
3. Perceptronul multistrat
3.1. Structură
3.2. Algoritmul de retro-propagare (backpropagation)
3.3. Optimizări
4. Rețele cu funcții de bază radială
5. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
43. 43
Perceptronul multistrat
Perceptronul multistrat este o rețea neuronală cu
propagare înainte (engl. “feed-forward”) cu unul sau
mai multe straturi ascunse
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
44. Perceptron multistrat cu
două straturi ascunse
44Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
45. 45
Straturile „ascunse”
Un strat ascuns își „ascunde” ieșirea dorită. Cunoscând
corespondența intrare-ieșire a rețelei („cutie neagră”),
nu este evident care trebuie să fie ieșirea dorită a unui
neuron dintr-un strat ascuns
Rețelele neuronale clasice au 1 sau 2 straturi ascunse.
Fiecare strat poate conține de exemplu 4 - 50 neuroni
Arhitecturi de învățare profundă (engl. “deep
learning”): multe straturi ascunse, de obicei cu o fază
de pre-antrenare nesupervizată și tehnici diferite de
antrenare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
46. Proprietatea de
aproximare universală
O rețea neuronală cu un singur strat ascuns,
cu un număr posibil infinit de neuroni, poate
aproxima orice funcție reală continuă
Un strat suplimentar poate însă reduce foarte
mult numărul de neuroni necesari în straturile
ascunse
46Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
50. Funcții de activare (I)
Funcțiile cel mai des utilizate sunt sigmoida unipolară
(sau logistică):
50Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
51. Funcții de activare (II)
și mai ales sigmoida bipolară (tangenta hiperbolică):
51
de exemplu: a = 2
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
52. Discuție
Un perceptron cu un singur strat are aceleași
limitări chiar dacă folosește o funcție de
activare neliniară
Un perceptron multistrat cu funcții de activare
liniare este echivalent cu un perceptron cu un
singur strat
O combinație liniară de funcții liniare este tot o
funcție liniară. De exemplu:
f(x) = 2x + 2; g(y) = 3y – 3
g(f(x)) = 3(2x + 2) – 3 = 6x + 3
52Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
53. 53
Învățarea
O rețea multistrat învață într-un mod
asemănător cu perceptronul
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
54. 54
Algoritmul de retro-propagare
engl. “backpropagation”
Bryson & Ho, 1969
Rumelhart, Hinton & Williams, 1986
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
56. 56
Pasul 1. Inițializarea
Ponderile și pragurile se inițializează cu valori aleatorii
mici, dar diferite de 0
O euristică recomandă valori din intervalul
(–2.4 / Fi , 2.4 / Fi ), unde Fi este numărul de intrări al
neuronului i (“fan-in”)
În general, pot fi valori din intervalul [-0.1, 0.1]
Inițializarea ponderilor se face în mod independent
pentru fiecare neuron
În continuare, vom utiliza următorii indici: i pentru
stratul de intrare, j pentru stratul ascuns și k pentru
stratul de ieșire
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
57. 57
Pasul 2. Activarea
Se activează rețeaua prin aplicarea vectorului de
antrenare x1(p), x2(p), …, xn(p) cu ieșirile dorite
yd
1(p), yd
2(p), …, yd
o(p)
Se calculează ieșirile 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
58. 58
Pasul 2. Activarea
Se calculează ieșirile reale ale neuronilor din stratul
de ieșire:
unde m este numărul de intrări al neuronului k din
stratul de ieșire
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
59. 59
Pasul 3a. Ajustarea ponderilor
Se calculează gradienții de eroare ai neuronilor din
stratul de ieșire, în mod similar cu regula delta pentru
perceptron
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
60. 60
Derivata funcției de activare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
61. 61
Pasul 3b. Ajustarea ponderilor
Se calculează gradienții de eroare ai neuronilor din stratul
ascuns:
Se calculează corecțiile ponderilor:
Se actualizează ponderile neuronilor din stratul ascuns:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
62. 62
Pasul 4. Iterația
Se incrementează p
Prezentarea tuturor vectorilor (instanțelor)
de antrenare constituie o epocă
Antrenarea rețelei continuă până când
eroarea medie pătratică ajunge sub un prag
acceptabil sau până când se atinge un număr
maxim prestabilit de epoci de antrenare
V este numărul de vectori de antrenare
O este numărul de ieșiri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
63. Justificare
Formulele de calcul ale gradienților se bazează pe
ideea minimizării erorii rețelei în raport cu ponderile
Însă ∂E / ∂wij nu se poate calcula direct, astfel încât se
aplică regula de înlănțuire:
Diferențialele din partea dreaptă se pot calcula, iar în
final ponderile sunt ajustate conform acestor gradienți:
63Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
64. Demonstrație
Demonstrația completă pentru formule se poate consulta aici:
https://en.wikipedia.org/wiki/Backpropagation#Derivation
64Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
65. Rețele cu mai multe straturi
ascunse
Ajustarea ponderilor din stratul de ieșire se face la fel
ca în pasul 3a
Ajustarea ponderilor din fiecare strat ascuns se face
ca în pasul 3b
Dacă rețeaua are multe straturi ascunse, gradienții
sunt mici iar antrenarea se face foarte lent sau nu
converge deloc
De aceea arhitecturile recente de învățare profundă
folosesc alte metode de antrenare
65Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
66. Exemplu: rețea cu un strat ascuns pentru
aproximarea funcției binare XOR
66Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
67. 67
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
Ponderile și pragurile sunt inițializate
aleatoriu, de exemplu:
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
68. 68
Să considerăm vectorul 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
ewxwxsigmoidy
8808.01/1)( )1.010.119.01(
42421414
ewxwxsigmoidy
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
ewywysigmoidy
5097.05097.0055, yye d
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
69. 69
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)(10.5097)1( 555 eyy
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
70. 70
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)(10.5250)1( 355333 wyy
0.0147.114)0.127(0.8808)(10.8808)1( 455444 wyy
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
71. 71
În final, se actualizează ponderile și pragurile:
5038.00038.05.0
131313
www
8985.00015.09.0
141414
www
4038.00038.04.0
232323
www
9985.00015.00.1
242424
www
2067.10067.02.1
353535
www
0888.10112.01.1
454545
www
7962.00038.08.0
333
0985.00015.01.0
444
3127.00127.03.0
555
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
74. Parametrii finali ai rețelei
74Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
75. 75
(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
x1
x2
1
(a)
1
x2
1
1
(b)
00
x1 + x2 – 1.5 = 0 x1 + x2 – 0.5 = 0
x1 x1
x2
1
1
(c)
0
Regiuni de decizie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
76. 76
Tipuri de antrenare
Învățarea incrementală (engl. “online learning”)
Ponderile se actualizează după prelucrarea fiecărui vector de
antrenare
Ca în exemplul anterior
Învățarea pe lot (engl. “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
Avantaj: 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
77. 77
Metode de accelerare a
învățării
Uneori, rețelele învață mai repede atunci când se
folosește funcția sigmoidă bipolară (tangenta
hiperbolică) în locul sigmoidei unipolare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
78. 78
Metoda momentului
Regula delta generalizată:
Termenul β este un număr pozitiv
(0 ≤ β < 1) numit constantă de moment
sau inerție (engl. “momentum”)
De obicei, β este în jur de 0.95
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
79. Învățarea cu moment pentru
problema XOR
79Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
80. 80
Rata de învățare adaptivă
Pentru accelerarea convergenței și evitarea
instabilității, se pot aplica două euristici:
Dacă variația sumei erorilor pătratice ΔE are
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
81. 81
Rata de învățare adaptivă
Fie Ep suma erorilor pătratice în epoca
prezentă
Dacă Ep > r · Ep-1, atunci α ← α · d
Dacă Ep < Ep-1, atunci α ← α · u
Apoi se calculează noile ponderi
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
82. 82
Învățarea cu rată adaptivă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
83. 83
Învățarea cu moment și rată adaptivă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
84. 84
Metoda Newton
Metodă iterativă pentru determinarea
rădăcinilor unei funcții pe baza derivatei
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
85. 85
Aplicarea metodei Newton
pentru antrenarea unei rețele
Pentru o rețea neuronală,
scopul este determinarea
punctelor unde diferențiala
erorii 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
Metoda momentului poate
fi considerată o
aproximare euristică a
acestei abordări
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
86. 86
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
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
87. 87
Determinarea topologiei și
antrenarea rețelei cu AE
Avantaj: simplitatea abordării
Algoritmul genetic realizează și găsirea topologiei optime și
antrenarea rețelei neuronale
Dezavantaj: timp lung de antrenare
Număr mare de gene din cromozoni, fiind codificate atât
informații privind topologia, cât și ponderile conexiunilor și
valorile prag ale neuronilor
Alternativă: gramatici generative
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
88. 88
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ă folosit
Dacă rețeaua este utilizată pentru regresie și nu pentru
clasificare, funcția de activare a neuronilor de ieșire poate
fi liniară sau semiliniară (limitată 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
performanțele dorite
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
89. 89
Euristici
Fie:
N numărul de intrări
O numărul de ieșiri
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
90. 90
Rețele neuronale (I)
1. Introducere
2. Perceptronul. Adaline
3. Perceptronul multistrat
4. Rețele cu funcții de bază radială
5. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
91. 91
Suprafețe de decizie
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
92. Perceptronii multistrat au o structură greu de
optimizat iar timpul de antrenare este mare
Rețelele RBF sunt tot metode
de învățare supervizată,
des utilizate ca metode de
regresie sau aproximare de
funcții (engl. “curve fitting”)
Funcția care trebuie
aproximată este considerată
o superpoziție de funcții radiale
92
Rețele RBF
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
94. 94
Prelucrări
Ieșirea unui neuron din stratul de ieșire este
o combinație liniară de intrări
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
95. 95
Exemple de funcții radiale
Orice funcție care îndeplinește criteriul:
, unde norma este de obicei
distanța euclidiană
Funcția gaussiană: , β >0
Funcția multicuadrică: , β >0
Funcția spline poliarmonică:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
99. 99
Ieșirea rețelei
De obicei se folosește funcția gaussiană
pentru ieșirea neuronilor din stratul
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
100. 100
Interpretare
Neuronii din stratul intermediar sunt centrele
selectate în spațiul de intrare
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
101. 101
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 wj
Ponderile sunt soluțiile unui sistem de N
ecuații cu N necunoscute: Y = Φ · W
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
102. 102
Selecția deviației standard
Euristică: σ = dmax / √N
dmax = distanța maximă între oricare
două centre
N = numărul de centre
_
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
103. 103
Exemplu: XOR, metoda 1
centre în toate instanțele
dmax / √N
_
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
104. 104
Exemplu: XOR, metoda 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
105. 105
Exemplu: XOR, metoda 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
106. 106
Antrenarea. Cazul 2
Dacă există N centre, pentru un număr mare de
instanțe, calculele sunt foarte complexe
Se pot selecta M centre reprezentative, astfel încât
M ≪ N
Rezultă un sistem de N ecuații cu M necunoscute
Φ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
107. 107
Exemplu: XOR, metoda 2
alese aleatoriu
aleasă arbitrar
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
108. 108
Exemplu: XOR, metoda 2
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
109. 109
Exemplu: XOR, metoda 2
centrele selectate sunt
insuficiente pentru a
învăța funcția XOR
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
110. 110
Selecția centrelor
Selecție aleatorie
Selecție nesupervizată prin clusterizare
Selecție supervizată pe baza gradientului
descendent
urmează detalii suplimentare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
111. 111
Antrenarea iterativă
Toate ratele de
învățare pot fi de
exemplu 0.1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
112. 112
Concluzii
Perceptronul lui Rosenblatt poate învăța funcții liniar
separabile
Perceptronul multistrat poate aproxima funcții
neseparabile liniar, cu regiuni de decizie complexe
Cel mai utilizat algoritm de antrenare pentru perceptronul
multistrat este algoritmul de retro-propagare a erorilor
(engl. “backpropagation”)
Perceptronul multistrat construiește o aproximare globală
a unei funcții, iar rețelele cu funcții de bază radială
construiesc o serie de aproximări locale ale funcției
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm