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
Rețele neuronale (I)
1. Introducere
2. Perceptronul. Adaline
3. Perceptronul multistrat
4. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 2
Rețele neuronale (I)
1. Introducere
1.1. Învățarea automată
1.2. Neuronii biologici
2. Perceptronul. Adaline
3. Perceptronul multistrat
4. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 3
Î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

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 4
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 5
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 sau nenumerice

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 6
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 7
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ă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 8
Gruparea (clusterizarea)

“World happiness
report”

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 9
Florin 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
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 11
Selecția trăsăturilor
 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 tip perceptron,
prezentate în acest curs, sunt folosite în
general pentru probleme de regresie și
clasificare

Florin 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 15
Impuls neuronal tipic

Florin 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ă  RN artificială

 Soma (corpul celulei)  Neuron
 Dendrite  Intrări
 Axon  Ieșire
 Sinapsă  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. 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 21
Neuronul McCulloch-Pitts
 Nu poate învăța; parametrii se stabilesc analitic

Florin 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 26
Interpretarea geometrică

Florin 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
 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
 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

net input

Florin 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 35
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 36
Reprezentarea grafică

 Perceptronul poate reprezenta doar funcții separabile liniar

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 37
Discuție
 Perceptronul poate reprezenta funcții
separabile liniar 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

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 39
Eroarea medie pătratică
 engl. “Mean Square Error”, MSE

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 40
Regula de antrenare

α este rata de învățare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 41
Regula delta
 În cazul general: funcția de activare
(derivabilă)

 Actualizarea ponderilor:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 42
Regula delta pentru
funcția de activare liniară

p = pasul
(epoca de antrenare)

 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 43
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. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 44
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 45
Perceptron multistrat cu
două straturi ascunse

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 46
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 47
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

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 48
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 49
1 strat ascuns

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 50
2 straturi ascunse

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 51
Funcții de activare
 Funcțiile cel mai des utilizate sunt sigmoida unipolară
(sau logistică):

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 52
Funcții de activare
 și mai ales sigmoida bipolară (tangenta hiperbolică):

de exemplu: a = 2

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 53
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

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 54
Î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
dorită și ieșirea efectivă), ponderile sunt
ajustate pentru a reduce eroarea

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 55
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
Fazele algoritmului de
retro-propagare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 57
Pasul 1. Inițializarea
 Ponderile și pragurile se inițializează cu valori aleatorii
mici, dar diferite de 0
 În general, pot fi valori din intervalul [-0.1, 0.1]
 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)
 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 58
Pasul 2. Activarea
 Se activează rețeaua prin aplicarea vectorului de
antrenare x1(p), x2(p), …, xn(p) cu ieșirile dorite
yd1(p), yd2(p), …, ydo(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 59
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 60
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 61
Derivata funcției de activare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 62
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 63
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 64
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:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 65
Demonstrație
 Demonstrația completă pentru formule se poate consulta aici:
https://en.wikipedia.org/wiki/Backpropagation#Derivation

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 66
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

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 67
Exemplu: rețea cu un strat ascuns pentru
aproximarea funcției binare XOR

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 68
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 69
 Să considerăm vectorul de antrenare unde intrările
x1 și x2 sunt egale cu 1 iar ieșirea dorită yd5 este 0
 Ieșirile reale ale neuronilor 3 și 4 din stratul ascuns
sunt calculate precum urmează:

y3  sigmoid ( x1w13  x2 w23  3 )  1 / 1  e(10.510.410.8)  0.5250 
y4  sigmoid ( x1w14  x2 w24   )  1 / 1  e
4
(10.9 11.010.1)
  0.8808
 Se determină ieșirea reală a neuronului 5 din stratul
de ieșire:

y5  sigmoid ( y3w35  y4 w45  5 )  1 / 1  e(0.52501.20.88081.110.3)  0.5097 
 Se obține următoarea eroare:
e  yd ,5  y5  0  0.5097  0.5097
70
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
 Se propagă eroarea e din stratul de ieșire către
stratul de intrare
 Mai întâi se calculează gradientul erorii pentru
neuronul 5 din stratul de ieșire:
 5  y5 (1  y5 ) e  0.5097  (1  0.5097)  (0.5097)  0.1274

 Apoi se calculează corecțiile ponderilor și pragului
 Presupunem că rata de învățare  este 0.1

w35    y3   5  0.1 0.5250  (0.1274)  0.0067
w45    y4   5  0.1 0.8808  (0.1274)  0.0112
5    (1)   5  0.1 (1)  (0.1274)  0.0127

71
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
 Apoi se calculează gradienții de eroare pentru
neuronii 3 și 4 din stratul ascuns:
 3  y3 (1  y3 )   5  w35  0.5250  (1  0.5250)  (  0.1274)  ( 1.2)  0.0381
 4  y4 (1  y4 )   5  w45  0.8808  (1  0.8808)  (  0.127 4)  1.1  0.0147

 Apoi se determină corecțiile ponderilor și pragurilor:
w13    x1   3  0.11 0.0381  0.0038
w23    x2   3  0.11 0.0381  0.0038
3    (1)   3  0.1 (1)  0.0381  0.0038
w14    x1   4  0.11 (0.0147)  0.0015
w24    x2   4  0.11 (0.0147)  0.0015
4    (1)   4  0.1 (1)  (0.0147)  0.0015

72
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
 În final, se actualizează ponderile și pragurile:
w w  w  0 .5  0 .0038  0 .5038
13 13 13
w w  w  0 .9  0 .0015  0 .8985
14 14 14
w w  w  0 .4  0 .0038  0 .4038
23 23 23
w w  w  1 .0  0 .0015  0 .9985
24 24 24
w w  w   1 .2  0 .0067   1 .2067
35 35 35
w w  w  1 .1  0 .0112  1 .0888
45 45 45
       0 .8  0 .0038  0 .7962
3 3 3
        0 .1  0 .0015   0 .0985
4 4 4
       0 .3  0 .0127  0 .3127
5 5 5

 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 73
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Rezultate finale
Inputs Desired Actual Error Sum of
output output squared
x1 x2 yd y5 e errors
1 1 0 Y
0.0155 0.0155 0.0010
e
0 1 1 0.9849 0.0151
1 0 1 0.9849 0.0151
0 0 0 0.0175 0.0175

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

O este numărul de ieșiri (aici 1)
74
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Evoluția erorii pentru
problema XOR

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 75
Parametrii finali ai rețelei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 76
Regiuni de decizie
x2 x2 x2
x1 + x2 – 1.5 = 0 x1 + x2 – 0.5 = 0

1 1 1

x1 x1 x1
0 1 0 1 0 1

(a) (b) (c)

(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
77
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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 78
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 79
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 80
Învățarea cu moment pentru
problema XOR

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 81
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 82
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 83
Învățarea cu rată adaptivă

84
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Învățarea cu moment și rată adaptivă

85
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Metoda Newton
 Metodă iterativă pentru determinarea
rădăcinilor unei funcții pe baza derivatei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 86
Aplicarea metodei Newton
pentru antrenarea unei rețele
 Pentru o rețea neuronală,  Metoda momentului poate
scopul este determinarea fi considerată o
punctelor unde diferențiala aproximare euristică a
erorii este 0 acestei abordări
 Se pot folosi diferențiale
de ordin 2
 Matricea hessiană: calcule
complexe și sensibilitate la
erorile date de precizia
reprezentării numerelor în
calculator

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 87
Antrenarea cu algoritmi evolutivi
 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 evolutivă 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 88
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
89
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Considerente practice
 Pentru a nu satura funcțiile sigmoide, ceea ce ar conduce
la scăderea vitezei de convergență, intrările și ieșirile sunt
scalate de obicei în intervalul [0.1, 0.9], sau [-0.9, 0.9], în
funcție de tipul de sigmoidă 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 0 și 1, respectiv la
-1 ș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 90
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 91
Concluzii
 Perceptronul lui Rosenblatt poate învăța funcții
separabile liniar
 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”)

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