SlideShare a Scribd company logo
1 of 112
Download to read offline
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
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
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
Î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
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
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
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
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
9Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
14
Interconectarea neuronilor
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Impuls neuronal tipic
15Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
17
Rețele neuronale artificiale
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
18
Analogii
 RN biologică
 Soma (corpul celulei)
 Dendrite
 Axon
 Sinapsă
 RN artificială
 Neuron
 Intrări
 Ieșire
 Pondere (“weight”)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
Neuronul McCulloch-Pitts
 Nu poate învăța; parametrii se stabilesc analitic
21Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
Î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
Interpretarea geometrică
26Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
27
Exemple: 2, respectiv 3 intrări
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
Î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
Î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
Pragul ca pondere
31Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
33
Algoritmul de
antrenare al
perceptronului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
34
Exemplu de antrenare: funcția ȘI
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
35Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
36
Reprezentarea grafică
 Perceptronul poate reprezenta doar funcții liniar separabile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
Regula de antrenare
39
η este tot rata de învățare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
Perceptron multistrat cu
două straturi ascunse
44Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
47Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
48
1 strat ascuns
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
49
2 straturi ascunse
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
Î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
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
Fazele algoritmului
backpropagation
55Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
Derivata funcției de activare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
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
 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
 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
 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
 Î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
72
Rezultate finale
Inputs
x1 x2
1
0
1
0
1
1
0
0
0
1
1
Desired
output
yd
0
0.0155
Actual
output
y5
Y
Error
e
Sum of
squared
errors
e
0.9849
0.9849
0.0175
0.0155
0.0151
0.0151
0.0175
0.0010
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
73Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Parametrii finali ai rețelei
74Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
Învățarea cu moment pentru
problema XOR
79Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
Învățarea cu rată adaptivă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
83
Învățarea cu moment și rată adaptivă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
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
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
 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
93
Topologie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
96
Funcția gaussiană
0.5 
1.0 
1.5 
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
97
Funcția multicuadrică inversă
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10 -5 0 5 10
c=1
c=2
c=3
c=4
c=5
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
98
RBF: aproximator universal
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
Exemplu: XOR, metoda 1
centre în toate instanțele
dmax / √N
_
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
104
Exemplu: XOR, metoda 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
105
Exemplu: XOR, metoda 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
Exemplu: XOR, metoda 2
alese aleatoriu
aleasă arbitrar
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
108
Exemplu: XOR, metoda 2
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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

More Related Content

What's hot

Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
Rodica B
 
Siguranta navigarii pe internet
Siguranta navigarii pe internet Siguranta navigarii pe internet
Siguranta navigarii pe internet
CristinaCrissy
 
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
Violeta Ungureanu
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
dyyyenutzzza
 
Tema 7 culoarea_in_imagine
Tema 7 culoarea_in_imagineTema 7 culoarea_in_imagine
Tema 7 culoarea_in_imagine
Cristiana Toma
 
046 -calificarea_infractiunilor
046  -calificarea_infractiunilor046  -calificarea_infractiunilor
046 -calificarea_infractiunilor
exodumuser
 
Stiluri de comunicare orala
Stiluri de comunicare oralaStiluri de comunicare orala
Stiluri de comunicare orala
Rodica B
 

What's hot (20)

Codul educatiei
Codul educatieiCodul educatiei
Codul educatiei
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
 
Iulian filip. școala de întrebări m,anuscris operant
Iulian filip.  școala de întrebări m,anuscris operantIulian filip.  școala de întrebări m,anuscris operant
Iulian filip. școala de întrebări m,anuscris operant
 
Lituania
LituaniaLituania
Lituania
 
Problema Calului
Problema CaluluiProblema Calului
Problema Calului
 
Analizatorul vizual
Analizatorul vizual Analizatorul vizual
Analizatorul vizual
 
Siguranta navigarii pe internet
Siguranta navigarii pe internet Siguranta navigarii pe internet
Siguranta navigarii pe internet
 
Recapitulare clasa a viii a a
Recapitulare clasa a viii a aRecapitulare clasa a viii a a
Recapitulare clasa a viii a a
 
Functii derivabile
Functii derivabileFunctii derivabile
Functii derivabile
 
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
79379958 temäƒ-psihologie-senzatii-perceptii-reprezentari
 
Formule trigonometrie liceu
Formule trigonometrie liceuFormule trigonometrie liceu
Formule trigonometrie liceu
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
 
Curs tulburari de perceptie
Curs tulburari de perceptieCurs tulburari de perceptie
Curs tulburari de perceptie
 
Tema 7 culoarea_in_imagine
Tema 7 culoarea_in_imagineTema 7 culoarea_in_imagine
Tema 7 culoarea_in_imagine
 
27.alg ramificare
27.alg ramificare27.alg ramificare
27.alg ramificare
 
Relatii interpersonale - 1
Relatii interpersonale - 1Relatii interpersonale - 1
Relatii interpersonale - 1
 
046 -calificarea_infractiunilor
046  -calificarea_infractiunilor046  -calificarea_infractiunilor
046 -calificarea_infractiunilor
 
1.Baltagul-Eseu.docx
1.Baltagul-Eseu.docx1.Baltagul-Eseu.docx
1.Baltagul-Eseu.docx
 
manual-psihologie-clinica-mihaela-minulescu
 manual-psihologie-clinica-mihaela-minulescu manual-psihologie-clinica-mihaela-minulescu
manual-psihologie-clinica-mihaela-minulescu
 
Stiluri de comunicare orala
Stiluri de comunicare oralaStiluri de comunicare orala
Stiluri de comunicare orala
 

Similar to Retele neuronale (I) (12)

Metode de optimizare (II)
Metode de optimizare (II)Metode de optimizare (II)
Metode de optimizare (II)
 
Retele neuronale profunde
Retele neuronale profundeRetele neuronale profunde
Retele neuronale profunde
 
Metode de cautare
Metode de cautareMetode de cautare
Metode de cautare
 
Reprezentarea cunoasterii
Reprezentarea cunoasteriiReprezentarea cunoasterii
Reprezentarea cunoasterii
 
Retele neuronale (II)
Retele neuronale (II)Retele neuronale (II)
Retele neuronale (II)
 
Complexitate si emergenta
Complexitate si emergentaComplexitate si emergenta
Complexitate si emergenta
 
Rationament probabilistic
Rationament probabilisticRationament probabilistic
Rationament probabilistic
 
Logica vaga (fuzzy)
Logica vaga (fuzzy)Logica vaga (fuzzy)
Logica vaga (fuzzy)
 
Modele bazate pe energie
Modele bazate pe energieModele bazate pe energie
Modele bazate pe energie
 
Metode de inferenta in logica propozitionala si predicativa
Metode de inferenta in logica propozitionala si predicativaMetode de inferenta in logica propozitionala si predicativa
Metode de inferenta in logica propozitionala si predicativa
 
Metode de planificare
Metode de planificareMetode de planificare
Metode de planificare
 
Metode de optimizare (I)
Metode de optimizare (I)Metode de optimizare (I)
Metode de optimizare (I)
 

More from Florin Leon

More from Florin Leon (20)

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltare
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilor
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)
 
Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Arhitecturi de agenti (II)
Arhitecturi de agenti (II)
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilor
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 

Retele neuronale (I)

  • 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
  • 9. 9Florin 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
  • 14. 14 Interconectarea neuronilor Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 15. Impuls neuronal tipic 15Florin 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
  • 17. 17 Rețele neuronale artificiale Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 18. 18 Analogii  RN biologică  Soma (corpul celulei)  Dendrite  Axon  Sinapsă  RN artificială  Neuron  Intrări  Ieșire  Pondere (“weight”) 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
  • 26. Interpretarea geometrică 26Florin 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
  • 31. Pragul ca pondere 31Florin 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
  • 33. 33 Algoritmul de antrenare al perceptronului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 34. 34 Exemplu de antrenare: funcția ȘI Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 35. 35Florin 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
  • 47. 47Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 48. 48 1 strat ascuns Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 49. 49 2 straturi ascunse Florin 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
  • 55. Fazele algoritmului backpropagation 55Florin 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
  • 72. 72 Rezultate finale Inputs x1 x2 1 0 1 0 1 1 0 0 0 1 1 Desired output yd 0 0.0155 Actual output y5 Y Error e Sum of squared errors e 0.9849 0.9849 0.0175 0.0155 0.0151 0.0151 0.0175 0.0010 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
  • 73. Evoluția erorii pentru problema XOR 73Florin 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
  • 93. 93 Topologie 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
  • 96. 96 Funcția gaussiană 0.5  1.0  1.5  Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 97. 97 Funcția multicuadrică inversă 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -10 -5 0 5 10 c=1 c=2 c=3 c=4 c=5 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 98. 98 RBF: aproximator universal 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