Sunteți pe pagina 1din 217

Despre autori

^Incep^and cu anul universitar 1992/1993, Razvan Andonie a predat un curs


de Retele neurale la Universitatea "Transilvania", specializarile Electronica si
calculatoare, Electrotehnica, Informatica. Acelasi curs l-a predat la Universitatea
Texas din San Antonio, SUA, ^ n anul universitar 1999/2000.
Angel Cataron a facut parte din prima generatie de absolventi care au frecven-
tat acest curs. ^In perioada 1997-1999, el a predat cursul de Retele neurale la
Universitatea "Transilvania", specializarea Electronica si calculatoare. Pe l^anga
aceasta, el este coordonatorul orelor de laborator pentru acest curs si este doc-
torand ^ n domeniul retelelor neurale.
Prefata
Chiar daca acest material este suportul cursului de Retele neurale, de-a lungul
timpului acest curs a ^ nceput sa contina capitole noi, la interferenta retelelor
neurale cu sistemele fuzzy si algoritmii genetici. Aceasta este ^ n concordanta cu
tendintele actuale ^ n lume.
De aceea, am preferat denumirea de inteligenta computationala. Inteligenta
computationala, asa cum a fost denita de Bezdek1 , are ca obiectiv modelarea
inteligentei biologice. Din acest punct de vedere, ea este similara domeniului
numit inteligenta articiala. Spre deosebire de inteligenta articiala, care este
bazata pe notiunea de cunostinta, inteligenta computationala este o modelare
numerica a inteligentei biologice. Putem vorbi deci de trei tipuri de "inteligenta":
biologica, articiala si computationala.
Inteligenta computationala este formata din urmatoarele subdomenii: retele
neurale, algoritmi genetici, programare evolutionara, sisteme fuzzy, viata arti-
ciala. ^In contextul inteligentei computationale, toate aceste subdomenii sunt
legate de modelarea numerica a inteligentei biologice.
Acest curs acopera majoritatea subdomeniilor inteligentei computationale.
Fiecare capitol ofera, pe l^anga informatii teoretice, c^ate o sectiune de aplicatii,
urmata de un set de exercitii, cele marcate prin (C) ind destinate implementarii
pe calculator.

1 Bezdek, J. "On the Relationship Between Neural Networks", Pattern Recognition and
Intelligence, Int. J. Approximate Reasoning, 6, 85-107, 1992.

3
4
Cuprins
1 Preliminarii ^n calculul neural 9
1.1 Calculul neural: exemple . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Istoricul dezvoltarii retelelor neurale . . . . . . . . . . . . . . . . . 17
1.3 Viitorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Concepte fundamentale 19
2.1 Neuronii biologici si modelele lor articiale . . . . . . . . . . . . . 19
2.2 Modelarea retelelor neurale . . . . . . . . . . . . . . . . . . . . . . 26
2.3 ^Invatare si adaptare . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Reguli de ^ nvatare . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3 Perceptroni monostrat 53
3.1 Clasicare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Functii discriminant . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Clasicatori liniari . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Perceptronul discret ca dihotomizator liniar . . . . . . . . . . . . 59
3.5 Perceptronul continuu ca dihotomizator liniar . . . . . . . . . . . 63
3.6 Teorema de convergenta a perceptronului . . . . . . . . . . . . . . 66
3.7 Retele monostrat de perceptroni . . . . . . . . . . . . . . . . . . . 68
3.8 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.9 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Retele neurale feedforward multistrat 79
4.1 Clasicarea pattern-urilor liniar
neseparabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Regula de ^ nvatare delta . . . . . . . . . . . . . . . . . . . . . . . 80
4.3 Regula delta generalizata . . . . . . . . . . . . . . . . . . . . . . . 84
4.4 Algoritmul de instruire backpropagation . . . . . . . . . . . . . . 87
4.5 Factori ai ^ nvatarii . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.6 Aproximatori universali . . . . . . . . . . . . . . . . . . . . . . . . 92
4.7 Teorema lui Kolmogorov si retelele neurale . . . . . . . . . . . . . 94
4.8 Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5
6 CUPRINS

4.10 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


5 Retele neurale feedback monostrat 107
5.1 Retele Hopeld cu timp discret . . . . . . . . . . . . . . . . . . . 107
5.2 Retele Hopeld cu timp continuu . . . . . . . . . . . . . . . . . . 110
5.3 Aplicatie: problema comis-voiajorului . . . . . . . . . . . . . . . . 114
5.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.5 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6 Memorii asociative 125
6.1 Concepte de baza . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2 Asociatori liniari . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.3 Memorii autoasociative recurente . . . . . . . . . . . . . . . . . . 130
6.4 Analiza performantei . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.5 Memoria asociativa bidirectionala (MAB) . . . . . . . . . . . . . 137
6.6 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7 Retele neurale cu auto-organizare 145
7.1 Retelele Hamming si MAXNET . . . . . . . . . . . . . . . . . . . 145
7.2 Instruirea nesupervizata a clusterelor . . . . . . . . . . . . . . . . 148
7.3 Harti Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.4 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8 Retele neurale RBF 159
8.1 Functii radiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.2 O tehnica de grupare (clustering) . . . . . . . . . . . . . . . . . . 162
8.3 Discutie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9 Retele neurale fuzzy 165
9.1 Logica fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
9.1.1 De ce logica fuzzy? . . . . . . . . . . . . . . . . . . . . . . 165
9.1.2 Logica fuzzy si cea conventionala . . . . . . . . . . . . . . 167
9.2 Retele neurale fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.2.1 Neuroni fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.2.2 Structura unei RNF . . . . . . . . . . . . . . . . . . . . . 171
9.2.3 Algoritmul de instruire a unei RNF . . . . . . . . . . . . . 172
9.2.4 Analiza RNF . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2.5 Rezultatele simularii . . . . . . . . . . . . . . . . . . . . . 174
9.2.6 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10 Algoritmi genetici 177
10.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.2 Exemplu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.3 Fundamente matematice . . . . . . . . . . . . . . . . . . . . . . . 180
10.4 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
CUPRINS 7

11 Puterea si complexitatea de calcul 185


11.1 Masina Turing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.2 Puterea de calcul a retelelor neurale . . . . . . . . . . . . . . . . . 187
11.3 Reprezentarea functiilor booleene . . . . . . . . . . . . . . . . . . 188
11.4 Complexitatea instruirii . . . . . . . . . . . . . . . . . . . . . . . 190
12 Consideratii epistemologice 193
12.1 Scopul unei retele neurale . . . . . . . . . . . . . . . . . . . . . . 193
12.2 Functiile neurale biologice sunt localizate sau distribuite? . . . . . 194
12.3 Este neliniaritatea esentiala ^ n
calculul neural? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
12.4 Deosebiri esentiale . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.5 Cum pot  programate calculatoarele
neurale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
12.6 Poate creierul sa se autoperceapa? . . . . . . . . . . . . . . . . . . 196
A Complemente matematice 199
A.1 Vectori si matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.2 Forme patratice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
A.3 Elemente de geometrie analitica . . . . . . . . . . . . . . . . . . . 201
A.4 Operatia XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
A.5 Iacobianul si hessianul . . . . . . . . . . . . . . . . . . . . . . . . 202
A.6 Probleme de optimizare . . . . . . . . . . . . . . . . . . . . . . . 205
A.7 Metoda lui Euler (metoda tangentei) . . . . . . . . . . . . . . . . 206
A.8 Stabilitatea sistemelor dinamice neliniare . . . . . . . . . . . . . . 208
A.9 Variabile aleatoare . . . . . . . . . . . . . . . . . . . . . . . . . . 209
B Subiecte-tip pentru examen 211
C Link-uri 215
Bibliograe 217
8 CUPRINS
Capitolul 1
Preliminarii ^n calculul neural
Calculul neural se efectueaza pe o retea densa de noduri si conexiuni. Aceste
noduri lucreaza ^ n mod colectiv si simultan si se numesc neuroni articiali, sau
neuroni. Neuronii pot opera, de exemplu, ca sumatoare sau comparatoare. De
obicei, neuronii lucreaza ^ n paralel si sunt congurati ^ n arhitecturi regulate.
Astfel, ei pot  organizati pe nivele ierarhice si se permit conexiuni feedback ^ n
cadrul unui nivel sau conexiuni feedback catre nivelele adiacente. Puterea ecarei
conexiuni este exprimata printr-o valoare numerica numita pondere, care poate 
modicata.
Domeniul retelelor neurale este cunoscut si sub denumiri similare: neuro-
calcul, conexionism, procesare paralela distribuita, sisteme adaptive, retele cu
autoorganizare etc. Aceasta varietate indica de fapt tot at^atea perspective din
care se studiaza retelele neurale.
Retelele neurale functioneaza ca retele paralele distribuite. Caracteristica lor
de baza este arhitectura. Unele retele sunt caracterizate de comportarea lor ^ n
timp, de dinamica lor. Retelele neurale difera ^ ntre ele prin modul de ^ nvatare:
exista o varietate de reguli de ^ nvatare care stabilesc c^and si cum se modica
ponderile conexiunilor. ^In ne, retelele difera prin viteza si ecienta de ^ nvatare.
Spre deosebire de calculatoarele conventionale, care sunt programate sa efec-
tueze anumite lucrari, majoritatea retelelor neurale trebuie sa e ^ nvatate (sau
instruite). Ele ^ nvata noi asocieri, noi pattern-uri, noi dependente functionale.
Dupa cum vom vedea mai t^arziu, faptul ca retelele ^ nvata reguli si algoritmi
^ nlocuieste programarea necesara ^ n calculul conventional. Utilizatorii retelelor
neurale nu specica un algoritm care sa e executat de catre un anumit neu-
ron, cum s-ar ^ nt^ampla pe o masina traditionala. ^In loc de aceasta, ei aleg o
conguratie care li se pare cea mai buna arhitectura, specica toate caracteristi-
cile neuronilor si ponderile initiale, apoi aleg modul de instruire pentru retea. ^In
urmatoarea faza, sunt aplicate diferite date de intrare din care reteaua ^ si extrage
cunostinte, adica ^ nvata. Ca rezultat, reteaua acumuleaza informatie care poate
 apoi utilizata.
Calculul cu retele neurale se situeaza ^ ntre inginerie si inteligenta articiala. Se
folosesc tehnicile matematice ingineresti clasice, dar si metode euristice specice
inteligentei articiale.
9
10 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL

^In acest sens vom raspunde la urmatoarele ^ ntrebari:


Cum poate  instruita ecient o retea si cum se ^ nvata ea?
Ce modele de neuroni trebuie folosite?
Care sunt cele mai adecvate arhitecturi pentru anumite clase de probleme?
Care sunt cele mai bune metode pentru a extrage cunostintele acumulate
^ ntr-o retea?
Care sunt aplicatiile tipice pentru calculul neural si c^at de eciente sunt
aceste aplicatii?
Retelele neurale au atras atentia specialistilor din numeroase discipline. Neu-
robiologii sunt interesati ^ n modelarea retelelor neurale biologice. Fizicienii sunt
atrasi de analogiile dintre retelele neurale si sistemele dinamice neliniare pe care
le studiaza. Matematicienii sunt fascinati de potentialul modelarii matematice
aplicat ^ n sistemele foarte mari si complexe. Inginerii ^ n electronica si calcu-
latoare aplica retelele neurale ^ n procesarea semnalelor si construiesc pe baza
retelelor neurale circuite integrate inteligente. Psihologii cauta ^ n retelele neu-
rale structurile prototip care modeleaza procesarea informatiei de catre om. ^In
ne, informaticienii sunt interesati ^ n posibilitatile de calcul ale retelelor masiv
paralele ^ n domeniile inteligentei articiale, teoriei calculabilitatii, modelarii si
simularii etc.

1.1 Calculul neural: exemple


Ne propunem sa dam c^ateva exemple de utilizare a retelelor neurale ^ n rezolvarea
unor probleme reale.

Clasi catori si sisteme automate de orientare ^n spatiu


Vom deni retelele neurale care raspund instantaneu datelor de intrare. Pentru
^ nceput, vom analiza performantele unui simplu clasicator, apoi vom extinde
aceasta problema.
Fie P0 P1 : : : P7 opt puncte ^ n spatiul tridimensional. Multimea consta din
toate v^arfurile unui cub tridimensional:
fP0(;1 ;1 ;1) P1(;1 ;1 1) P2(;1 1 ;1) P3(;1 1 1)
P4 (1 ;1 1) P5(1 ;1 1) P6(1 1 ;1) P7(1 1 1)g
Consideram doua clase de puncte:
1. puncte cu doua sau mai multe coordonate pozitive: P3, P5 , P6 , P7 
2. restul de puncte.
1.1. CALCULUL NEURAL: EXEMPLE 11

x1
nod element
1
sumator comparator
1 Σ clasa
x2 + suma sgn(.)
1 ponderata
x3 ponderi

date de
intrare

Figura 1.1: Clasi cator realizat cu o singura unitate.

P1 (-1,0,1) P3
(0,-1,1)
x 1 +x 2 +x 3 =0
P7
P5

P0
P2

P4 P6

Figura 1.2: Partitionarea spatiului cartezian.

Pentru orice punct Pi(x1 x2 x3 ), i = 1 : : : 7, apartenenta la una dintre clasele


de mai sus poate  stabilita prin urmatorul calcul:
(
sgn(x1 x2 x3) = ;11 pentru clasa 1
pentru clasa 2
Aceasta expresie descrie functia de decizie a unui clasicator. Nu este necesara
o instruire a acestui clasicator. Reteaua neurala rezultata este extrem de simpla
(g. 1.1).
Am realizat clasicarea printr-o singura unitate, sau nod de calcul. Aceasta
implementeaza ^ nsumarea cu ponderile respective (1 ^ n acest caz) si este urmata
de o comparare cu prag.
De fapt, se realizeaza o partitionare a spatiului cartezian tridimensional prin
planul x1 + x2 + x3 = 0 (g. 1.2).
12 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL

Punctele de deasupra planului fac parte din clasa 1, iar punctele de dedesupt
din clasa 2.
Problema pe care ne-o punem este daca o functie continua nu poate  mai
avantajoasa (g. 1.3).

f(Σ )
1

-1

Figura 1.3: Functie continua de decizie.


^In acest caz, datele de iesire pot  ^ n intervalul dintre -1 si 1. Folosirea
neuronilor cu caracteristici continue ofera posibilitati mult mai mari. Se obtine
o granularitate (o ranare) mai mare a datelor de iesire.
Neurologii folosesc electro-encefalograma (EEG) care preia pe mai multe ca-
nale impulsurile electrice ale creierului. Evaluarea EEG este dicila si de aceea se
face de obicei de catre neurologi calicati. Pentru o monitorizare pe calculator,
sa ne concentram pe un caz concret: detectarea unei iminente crize de epilepsie.
Este nevoie de o prelucrare on-line a semnalelor EEG.
^In 1990, Eberhart si Dobbins au realizat detectarea semnalelor EEG pentru
crizele de epilepsie folosind un clasicator neural. Datele sunt monitorizate prin
patru canale de interes. Semnalele EEG sunt esantionate de 200 sau 250 ori
pe secunda ^ ntr-o fereastra de 240 ms. Aceasta are ca rezultat obtinerea a 48
sau 60 de esantioane de date pentru ecare canal. Aceste esantioane trebuie
evaluate si sunt introduse ^ ntr-o retea neurala de 40 de unitati interconectate, cu
caracteristici continue. Un total de 41 de unitati aranjate pe trei nivele ierar-
hice proceseaza datele. Doua unitati de iesire sunt utilizate pentru identicarea
v^arfurilor de semnal.
Reteaua a fost elaborata de o echipa de ingineri si neurologi. Dupa ce a fost
instruita, reteaua a dat rezultate excelente dovedindu-si utilitatea ^ n spitale.
Sa consideram un alt exemplu: proiectul ALVINN (Autonomous Land Ve-
hicle In a Neural Network), raportat de Pomerleau (1989). Reteaua ALVINN
preia imagini ale drumului printr-o camera si printr-un laser care detecteaza pro-
funzimea obiectelor. La iesire este generata directia pe care trebuie sa circule
autovehiculul pentru a urma drumul. Arhitectura retelei este cea din gura 1.4.
1.1. CALCULUL NEURAL: EXEMPLE 13

unitate de feedback
pt. intensitatea drumului
... 45 unitati
de directie

... 29 unitati

...
imagine profunzime
30x32 8x32
(intrare) (intrare)

Figura 1.4: Arhitectura retelei ALVINN.

Informatia video este o retina de 30x32 care sesizeaza ^ n albastru (ofera cel
mai bun contrast). Unitatea de feedback regleaza contrastul. Cele 1217 intrari
conduc spre 29 unitati cu functie continua. Unitatea din mijlocul celor 45 de
unitati de iesire arata c^at de puternica este tendinta de a merge ^ nainte. Unitatile
din st^anga-dreapta reprezinta tendintele de a o lua la st^anga-dreapta. Unitatile
din extremitatile st^anga si dreapta corespund virajelor st^anga-dreapta c^at mai
accentuate.
ALVINN a fost instruit prin imagini sintetizate pe calculator. Performantele
obtinute au fost comparabile cu caracteristicile celor mai bune sisteme traditio-
nale de orientare prin vedere articiala.
Capacitatea sistemului ALVINN de a pastra directia drumului nu a fost im-
plementata prin programare (algoritm), ci se bazeaza pe cunostintele asimilate
prin instruire. Dupa 1/2 ora de instruire, sistemul era capabil sa se orienteze sin-
gur pe drum. Altfel ar  fost necesare luni de zile pentru dezvoltarea algoritmilor
care sa recunoasca pattern-urile din imaginile preluate.
S-au facut observatii interesante. Astfel, reteaua s-a comportat mai bine dupa
ce a fost instruita sa refaca erori de conducere. Prin aceasta, reteaua si-a dezvoltat
masurile de corectare a conducerii.

Memorie simpla si restaurarea pattern-urilor


Vom discuta acum despre retele neurale care raspund ^ n timp datelor de intrare
(un pattern ^ n acest caz). Deoarece ele fac acest lucru ^ ntr-un mod foarte ca-
racteristic, prin reconstructia treptata a unui pattern memorat, vom numi aceste
14 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL

retele memorii.
Fie reteaua simpla din gura 1.5.

unitatea 1
Σ1 o1
-1 +1 sgn(.)

1 unitatea 2
Σ2 o2
+ sgn(.)
-1

-1 unitatea 3
-1 Σ3 o3
+ sgn(.)

Figura 1.5: Retea memorie.

Reteaua consta din trei unitati care calculeaza valorile functiei signum, trei
noduri de^ nsumare si sase ponderi care pot  1. Semnalele care trec prin ponderi
sunt ^ nmultite cu valoarea ponderilor. Presupunem ca reteaua este initializata
la iesire cu o1 = o2 = o3 = 1 (cazul 1, tab. 1.1). C^and se permite retelei sa
calculeze, intrarile la unitatile 1 si 2 sunt 0, ^ n timp ce la unitatea 3 este -2. Ca
rezultat, o1 si o2 nu se modica, deoarece sgn(0) nu este denit, ^ n timp ce o3
devine -1. Urmeaza cazul 2, care este o iesire nala deoarece nu se mai poate
modica. Cazurile 3 si 4 sunt alte exemple de tranzitii posibile. Observam ca si
cazurile 3 si 4 duc apoi la cazul 2, oper^and c^ate o singura modicare.
Iata cum se reprezinta geometric aceste actualizari efectuate de reteaua de tip
memorie descrisa. Se vede ca P6(1 1 ;1) este iesirea stabila a memoriei. C^and
o singura componenta a vectorului de initializare binar (o1, o2, o3 ) difera de P6,
reteaua corecteaza aceasta componenta. Iesirea este apoi mentinuta constanta.
Daca P6 reprezinta descrierea corecta a unui pattern, iar P4, P7 , P2 variante
distorsionate ale lui P6, memoria are capacitatea de a restaura variantele distor-
sionate asimil^andu-le cu P6 (g. 1.6).
Acest concept de memorie poate  extins cu usurinta la lumea reala a aplica-
tiilor.

Probleme de optimizare
Retelele neurale pot  aplicate cu succes pentru rezolvarea unor probleme de
optimizare.
1.1. CALCULUL NEURAL: EXEMPLE 15

Tabelul 1.1: Exemple de tranzitii ale retelei tip memorie. X ^nseamna sgn(0), iar iesirile
^ncadrate sunt cele care se modi ca.
Cazul Nr. unitatii Iesirea actuala  sgn() Iesirea urmatoare
1 1 0 X 1
1 2 1 0 X 1
3 1 -2 -1 -1
1 1 2 1 1
2 2 1 2 1 -1
3 -1 -2 -1 -1
1 -1 2 1 1
3 2 1 0 X 1
3 -1 0 X -1
1 1 0 X 1
4 2 -1 2 1 1
3 -1 0 X -1

Sa presupunem ca valoarea analogica x, 0  x  3 5 trebuie digitizata ^ ntr-un


numar binar v1 v0, (v1 v0 2 f0 1g), astfel inc^at

x  2v1 + v0 :
Exista, evident, patru posibilitati: 00, 01, 10, 11. O retea similara cu memoria
din exemplul precedent poate rezolva aceasta conversie (g. 1.7).
Reteaua consta din doua unitati cu caracteristici continue, ecare cu raspuns
^ n intervalul dintre 0 si 1. La cele doua unitati, retelei i se mai adauga un numar
de elemente de interconectare pe care nu le specicam.
Conversia corespunde minimizarii erorii de conversie A/D, unde eroarea este
(x ; 2v1 ; v0)2 , ^ n prezenta restrictiei v0 v1 2 f0 1g. Aceasta problema de mini-
mizare este rezolvabila de catre o anumita clasa de retele neurale. Caracteristic
acestei clase este ca se minimizeaza asa numita functie de energie pe parcursul
calculului.
Proprietatea de minimizare a energiei este de importanta foarte mare si se
formuleaza astfel: reteaua ^ si cauta singura energia ei minima si se stabilizeaza
acolo. O serie de probleme de optimizare se transpun direct ^ n minimizarea
functiei de energie a unei retele neurale. Minimizarea energiei de catre retea
poate  considerata analoga minimizarii erorii de conversie A/D.
Clasa de retele neurale exemplicata prin conversia A/D este utilizabila si pen-
tru probleme de optimizare combinatorica ^ n care complexitatea este exponentiala
sau, mai rau, ^ n ordinul lui n!. ^In aceste probleme, este important sa se reduca
ordinul timpului de cautare. Retelele neurale ofera si ^ n acest sens o alternativa.
16 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL

P1 P3

P7
P5

cazul 1
P0
P2
cazul 3

P4 cazul 4 P6

cazul 2

Figura 1.6: Actualizarile efectuate de reteaua de tip memorie.

Detectarea gruparilor si a trasaturilor

O clasa importanta de retele neurale pot  utilizate pentru detectarea gruparilor


de date. Aceste retele sunt calate pe anumite aspecte de similaritate ^ n datele
evaluate. De exemplu, se poate sa m interesati ^ n a grupa anumite rezultate
de masurare ^ n scopul eliminarii erorilor sistematice care pot aparea ^ n timpul
masurarii. Deoarece zgomotul este aleator, el nu formeaza grupari, ci doar per-
turba formarea gruparilor reale de date.
Detectarea gruparilor si trasaturilor prezinta importante proprietati de au-
toorganizare care sunt legate de inteligenta articiala si teoria informatiei. Re-
telele din aceasta clasa au ^ n general arhitecturi simple, dar subtilitatile apar ^ n
timpul procesului de autoorganizare.
Detectarea trasaturilor se raporteaza la reducerea dimensionalitatii datelor.
De exemplu, semnalul vorbirii consta din 15 canale de frecventa audio. Fonemele
sunt deci descrise ^ ntr-un spatiu 15-dimensional. Problema este ca nu putem
reprezenta astfel fonemele, deoarece capacitatea noastra de vizualizare se reduce
la trei dimensiuni. Utiliz^and o retea neurala, este posibil sa reprezentam spectrul
15-dimensional al vorbirii ^ ntr-un tablou ^ n plan. Secventa fonemelor unui cuv^ant
formeaza o traiectorie specica ^ n plan. Aceste harti fonotopice pot  foarte utile
^ n construirea masinilor de scris fonetice, ^ n ^ nvatarea vorbirii si pentru terapie.
 RETELELOR NEURALE
1.2. ISTORICUL DEZVOLTARII 17

unitatea 0
v0

intrare retea de iesire


analogica digitala
x interconectare
unitatea 1
v1

Figura 1.7: Diagrama bloc a unui convertor A/D pe doi biti.

1.2 Istoricul dezvoltarii retelelor neurale


McCulloch si Pitts (1943) au propus primul model pentru neuron. Acest model
include toate elementele pentru a efectua operatii logice, dar la acel nivel tehno-
logic era imposibil de implementat.
Donald Hebb (1949) a propus un model de ^ nvatare pentru a actualiza cone-
xiunile neuronului, cunoscut acum ca regula hebbiana de ^nvatare. El a formulat
ideea ca informatia poate  memorata ^ n conexiuni.
Primele neurocalculatoare au fost construite ^ n anii '50 (Minsky, 1954). Ele
^ si adaptau automat conexiunile. ^In 1958, Frank Rosenblatt a inventat un ele-
ment neural numit perceptron. Era conceput ca o masina instruibila capabila sa
^ nvete sa clasice anumite pattern-uri prin modicarea conexiunilor la elementele
comparatoare.
La ^ nceputul anilor '60, a fost propus ADALINE (ADAptive LINEar com-
biner), un dispozitiv bazat pe regula de ^ nvatare Windrow-Ho (Bernard Win-
drow, Marcian Ho). Regula minimiza eroarea patratica ^ nsumata pe parcursul
instruirii. Aplicatiile erau de recunoasterea formelor, control adaptiv si previziu-
nea vremii.
^In ciuda entuziasmului anilor '60, masinile existente nu permiteau abordarea
unor probleme complexe. Pe de alta parte, nici schemele de ^ nvatare nu erau
sucient de dezvoltate. S-a intrat astfel ^ ntr-o perioada de stagnare a carei cauze
erau de fapt cunoscute.
Episodul nal al acestei ere a fost lucrarea lui Minsky si Papert1 , care a
demonstrat limitele retelelor bazate pe perceptroni. ^In acest timp, majoritatea
cercetatorilor se ^ ndreptau spre alte domenii. Domeniul retelelor neurale (care
facea la acea vreme parte din cibernetica) parea ^ nchis. ^In schimb se dezvolta
1 Minsky, M., S. Papert "Perceptrons". Cambridge, MA, MIT Press, 1969.
18 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL

promitator domeniul inteligentei articiale, prelu^and si sarcini pe care retelele


neurale nu puteau sa le rezolve la acel stadiu.
^In perioada 1965-1984, c^ativa cercetatori au reusit sa dezvolte totusi cerceta-
rile. Kunihiko Fukushima a denit o clasa de retele neurale numite neocognitroni
(1980). Neocognitronul modeleaza recunoasterea vizuala a formelor prin emularea
imaginilor de pe retina si procesarea lor folosind neuroni ierarhizati pe doua
nivele.
Cercetarile ^ n domeniul memoriilor asociative au evoluat ^ n Finlanda (Teuvo
Kohonen) si SUA (James Anderson). Stephen Grossberg si Gail Carpenter au in-
trodus c^ateva arhitecturi de retele neurale si au dezvoltat teoria retelelor adaptive
prin rezonanta, ART.
Era renasterii a ^ nceput odata cu introducerea arhitecturii recurente pentru
memoriile asociative (John Hopeld, 1982). O alta revitalizare a domeniului
provine din lucrarile lui James McClelland si David Rumelhart (1986).
^Incep^and cu anii 1986-1987, s-au initiat multe programe de cercetare si intere-
sul a devenit extrem de mare. Au aparut aplicatii complexe. Au fost fabricate
chip-uri VLSI de retele neurale. Cu toate ca domeniul calculului neural are o
istorie interesanta, el este ^ nca la ^ nceputul dezvoltarii sale.

1.3 Viitorul
Datorita denumirii, domeniul retelelor neurale este supus unei supraestimari po-
puliste. Este tentant pentru om sa-si imagineze o masina care sa e asemeni lui.
Terminologia antropomorfa trebuie privita cu multa retinere.
Putem  aproape siguri ca retelele neurale nu vor ^ nlocui calculatoarele cla-
sice. Aceasta, deoarece calculatoarele clasice sunt foarte ieftine si eciente pentru
efectuarea calculelor numerice (procesari de text, CAD, procesari de date).
Sunt ^ nsa domenii ^ ntregi ^ n care retelele neurale devin mai avantajoase. Cele
mai interesante aplicatii sunt cele care presupun inferenta de tip uman si per-
ceperea vorbirii si a imaginilor. Aceste aplicatii nu pot  dec^at partial rezolvate
pe calculatoare clasice.
Este de asteptat ca retelele neurale sa e aplicate ^ n procesarea semnalelor si
sisteme expert. Retelele neurale nu vor ^ nlocui aplicatiile de inteligenta articiala
de pe calculatoarele clasice, ci vor oferi o tehnologie complementara.
Neurocalculatoarele actuale sunt de multe ori calculatoare conventionale care
executa software de simulare a retelelor neurale. Alte neurocalculatoare folosesc
deja componente (placi, chip-uri) dedicate. Cele mai interesante sunt, desigur,
chip-urile VLSI care implementeaza retele neurale. Fabricarea acestor chip-uri
este deja actuala. ^In 1986, AT&T a fabricat primul circuit integrat de memorie
neurala.
Capitolul 2
Concepte fundamentale
Exista doua posibilitati de a deni retelele neurale. La o extrema, retelele neu-
rale sunt o clasa de algoritmi matematici, deoarece o retea poate  privita ^ n
esenta ca o notatie graca pentru o clasa larga de algoritmi. La cealalta extrema,
retelele neurale emuleaza retelele neurale biologice din organismele vii. ^In lu-
mina cunostintelor limitate pe care le avem ^ n prezent asupra retelelor neurale
biologice, cea mai plauzibila denitie se apropie mai mult de cea algoritmica.
Retelele neurale sunt ^ n mod cert inspirate din biologie, dar exista mari
diferente ^ ntre retelele neurale articiale si cele naturale. Nu exista ^ nca modele
care sa concureze cu succes performantele creierului uman. De fapt si cunostintele
noastre despre functionarea creierului sunt extrem de limitate. Creierul ram^ane
mai cur^and o metafora pentru retelele neurale dezvoltate p^ana acum.
Cu toate ca analogia dintre retelele neurale articiale si cele naturale este vaga,
vom ^ ncepe totusi prin a mentiona modelul neuronului biologic. Vom deni apoi
neuronul articial si retelele neurale articiale elementare. ^In ne, vom discuta
formele de baza ale procesarii ^ n retele neurale articiale, cu un accent deosebit
pe procesele de ^ nvatare.

2.1 Neuronii biologici si modelele lor articiale


Creierul uman consta din aproximativ 1011 neuroni. Ei comunica printr-o retea
de conexiuni formate din axoni si sinapse, av^and o densitate de aproximativ 104
sinapse/neuron. Ipoteza cea mai recenta privind modelarea sistemului nervos
natural este ca neuronii comunica ^ ntre ei prin impulsuri electrice. Totodata,
neuronii opereaza ^ ntr-un mediu chimic. Creierul poate  considerat o retea
densa de conexiuni electrice conditionate ^ n mare masura de procese biochimice.
Reteaua neurala are o structura elaborata, cu interconexiuni foarte complexe. In-
trarea ^ n retea este asigurata de catre receptorii senzoriali. Receptorii furnizeaza
stimuli at^at din partea corpului c^at si din partea organelor senzoriale care preiau
stimulii lumii exterioare. Stimulii au forma impulsurilor electrice care conduc
informatia ^ n reteaua de neuroni. Ca rezultat al procesarii informatiei ^ n sistemul
nervos central, efectorii sunt controlati si dau raspunsuri sub forma diferitelor
19
20 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

actiuni. Avem deci un sistem const^and din receptori, reteaua neurala si efectori,
care controleaza organismul si actiunile sale. Fluxul informational este descris ^ n
gura 2.1.

Corp
Sistemul
nervos
central
feedback
intern
Receptori Efectori
Organe Organe
senzoriale motor

feedback
extern

Figura 2.1: Fluxul informational ^n sistemul nervos.

Neuronul biologic
Neuronul este celula nervoasa si are trei componente:
- soma - corpul celulei
- axonul - bra lunga care serveste ca linie de comunicatie
- dendritele
Dendritele formeaza un arbore de bre ne ^ n jurul corpului neuronului. Den-
dritele receptioneaza informatia de la alti neuroni prin axonii acestora. Axonul
este o conexiune cilindrica lunga care^ n partea nala devine arborescenta. Fiecare
ramura are o terminatie care aproape atinge dendritele neuronilor vecini. Sinapsa
este interfata prin care neuronul ^ si introduce semnalul catre dendrita altui neu-
ron. Semnalele care ajung la o sinapsa plec^and de la dendritele neuronului res-
pectiv sunt impulsuri electrice (g. 2.2).
Transmisia interneuronala este uneori electrica dar de obicei este efectuata
prin eliberarea de transmitatori chimici la sinapse. Astfel, terminatia axonului
genereaza substanta chimica, care afecteaza neuronul receptor. Neuronul receptor
e genereaza un impuls catre axonul sau, e nu produce nici un raspuns.
Neuronul este capabil sa raspunda totalului intrarilor sale agregate ^ ntr-un
scurt interval de timp numit perioada de latenta. Raspunsul neuronului este
generat daca totalul potentialului membranei sale atinge un anumit nivel. Mem-
brana poate  considerata ca o ^ nvelitoare care agrega magnitudinea semnalelor
2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 21

axoni venind de
la alti neuroni

soma dendrite

impulsul
din partea
corpului
neuronului
dendrita altui
sinapsa neuron

Figura 2.2: Modelul neuronului biologic.

care intra pe parcursul unei anumite durate de timp. Neuronul genereaza un


impuls-raspuns si ^ l transmite axonului sau numai daca conditiile necesare sunt
^ ndeplinite.
Impulsurile care intra ^ n neuron pot  excitatoare { daca cauzeaza genera-
rea de catre neuron a unui impuls, sau inhibitoare { daca ^ mpiedica generarea
unui astfel de impuls. O conditie mai precisa pentru ca neuronul sa genereze un
impuls este ca excitatia sa depaseasca inhibitia cu o valoare de aproximativ 40
mV, numita pragul neuronului. Deoarece o conexiune sinaptica produce reactia
de excitatie sau de inhibitie a neuronului receptor, este practic sa atasam pon-
derile 1 acestor conexiuni. Neuronul genereaza un impuls atunci c^and
suma ponderilor impulsurilor receptate depaseste valoarea pragului pe
parcursul perioadei de ^nsumare latenta.
Procesarea ^ n retelele neurale biologice este complexa si mai putin structurata
dec^at calculul digital. Spre deosebire de cazul calculului digital, impulsurile neu-
rale nu sunt sincronizate ^ n timp. O caracteristica importanta a neuronului bi-
ologic este ca semnalele generate nu difera ^ n magnitudine. Cu alte cuvinte,
informatia transmisa ^ ntre celulele nervoase este sub forma semnalelor binare.
Dupa transmiterea unui impuls, axonul ram^ane pentru un timp ^ ntr-o sta-
ree de neexcitabilitate completa, acest interval numindu-se perioada refractara.
Putem diviza timpul ^ n intervale consecutive, ecare de durata perioadei re-
fractare. Aceasta ne permite o descriere discreta a comportarii neuronului. De
exemplu, putem preciza care neuroni vor genera impulsuri la momentul k + 1
baz^andu-ne pe conditiile de excitatie de la momentul k.
Neuronul va  excitat la un anumit moment dat, daca numarul
sinapselor excitate excitatoare depaseste numarul sinapselor excitate
inhibitoare la momentul precedent cu cel putin numarul T , unde T este
valoarea pragului neuronului.
Intervalele de timp pot  luate de ordinul milisecundelor. Perioada refractara
nu este ^ nsa uniforma: depinde de tipul de neuroni si de modul ^ n care sunt
ei conectati. Avem deci o retea densa de neuroni interconectati care genereaza
semnale asincrone. Semnalele sunt transmise apoi catre neuronii vecini dar sunt
22 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

si retransmise (feedback) neuronilor generatori.


Aceasta discutie este o simplicare foarte mare din punct de vedere neurobi-
ologic. Retelele neurale articiale sunt mult mai simple dec^at corespondentul lor
natural. Sa examinam un model de neuron articial cu semnicatie istorica.

Modelul neural McCulloch-Pitts


Este prima denitie formala a unui neuron articial (1943).

w1
x1
w2
x2
o
T

wn w =-1 sau +1
xn i
i=1,2,...,n

Figura 2.3: Neuronul McCulloch-Pitts.

Intrarile xki i = 1 2 : : : n sunt 0 sau 1, ^ n functie de absenta sau prezenta


impulsului la momentul k (g 2.3). Semnalul de iesire al neuronului este o.
Regula dupa care neuronul genereaza un semnal este:
( Pn w xk  T
ok+1 1 dac
a
= 0 daca Pin=1 wixik < T
i=1 i i
wi = 1 pentru o sinapsa excitatoare si wi = ;1 pentru o sinapsa inhibitoare.
Cu toate ca este foarte simplu, acest model are un remarcabil potential
computational. Poate realiza operatiile logice NOT, OR si AND. Dupa cum
stim, orice functie logica de mai multe variabile poate  implementata utiliz^and
sau NOT si OR, sau NOT si AND. De exemplu, functiile NOR si NAND pot 
implementate prin retele de neuroni conform modelelor din gura 2.4.

x1 -1 1 x1 1
T=0

x2 -1 T=0 1 o x2 1
T=1 -1 o
T=1 T=0

x3 -1 T=0 1 1
x3
NAND NOR

Figura 2.4: Functiile NOR si NAND.


2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 23

Neuronul McCulloch-Pitts are o ^ nt^arziere cu durata de o unitate. Aceasta


proprietate permite construirea circuitelor digitale secventiale. Notam pentru
^ nceput ca un singur neuron, cu o singura intrare x, cu ponderea si valoarea
de prag unitare, calculeaza ok+1 = xk . Un astfel de neuron se comporta ca un
registru simplu, capabil sa retina intrarea pentru un interval de timp de o unitate.
O celula de memorie se construieste ca ^ n gura 2.5.

1
1 ok+1 =x k
T=1
intrare
excitatoare
-1
intrare
inhibitoare

Figura 2.5: Celula de memorie.

Dupa ce s-a initializat celula, astfel ^ nc^at sa genereze sau sa nu genereze un
semnal, aceasta valoare de iesire este sustinuta indenit, ^ n absenta unor intrari.
Hardware-ul unui calculator digital de orice complexitate poate  obtinut prin
utilizarea unei retele neurale constituite din blocuri elementare pentru operatii
logice si pentru memorie. Ne intereseaza, ^ nsa altceva: care este puterea de calcul
a retelelor neurale tin^and cont de capacitatea lor de a ^ nvata. Vom reveni asupra
acestor aspecte mai t^arziu.

Modelarea unui neuron general


Modelul neural McCulloch-Pitts este elegant si are o expresie matematica precisa.
El opereaza ^ nsa c^ateva simplicari drastice. Astfel, permite doar stari binare
(0 si 1), presupune ca timpul este discret si presupune sincronismul operatiilor
tuturor neuronilor. De asemenea, ponderile si pragurile sunt presupuse xe. ^In
continuare, vom prezenta generalizari ale modelului McCulloch-Pitts, care vor 
de altfel modelele noastre operationale.
Fiecare model neural consta dintr-un element de procesare cu conexiuni sinap-
tice de intrare si cu o singura iesire. Intrarile si iesirile sunt unidirectionale.
Denim modelul unui neuron general ca in gura 2.6
o = f (wtx)
sau
X
n
o = f ( wixi)
i=1
unde w este vectorul de ponderi denit astfel:
w = !w1w2 : : : wn]t
24 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

conexiuni
w1 sinaptice
x1
w2
x2
o
f(wtx)
nod(unitate)
wn de procesare
xn
ponderi
multiplicative

Figura 2.6: Modelul unui neuron general.

iar x este vectorul de intrari:


x = !x1 x2 : : : xn ]t:
Toti vectorii din acest curs sunt vectori coloana, iar indicele t noteaza o
transpunere. Functia f (wtx) este functia de activare. Domeniul ei de denitie
este multimea valorilor de activare, net, a unui model neural:
net = wtx:
De aceea, folosim si notatia f (net). Variabila net este analogul potentialului
membranei neuronului biologic.
Convenim ca exista n ; 1 conexiuni sinaptice si ca xn = ;1, wn = T . Une-
ori vom extrage explicit pragul T ca parametru separat. De acum ^ ncolo, vom
^ ntelege prin neuroni { modele de neuroni, iar prin retele neurale { retele neurale
articiale compuse din modele de neuroni.
Functii de activare tipice sunt:
- bipolara continua: f (net) = 1+exp2; net ; 1  > 0
(
- bipolara binara: f (net) = sgn(net) = ;11 net >0
net < 0
Se observa ca pentru  ! 1, functia bipolara continua devine bipolar binara.
Functiile unipolare sunt:
- unipolara continua: f (net) = 1+exp1; net
(
- unipolara binara: f (net) = 10 net >0
net < 0
Pentru  ! 1, functiile continue devin functii discrete. Cele doua functii
continue se numesc si caracteristici sigmoidale.
Majoritatea neuronilor utilizeaza functii de activare bipolare. Desigur, func-
tiile de activare pot  denite si altfel.
2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 25

f(net) f(net)
1 λ=5 λ=1 λ=0,5 λ=5 λ=1
1

-1 0 1 net -1 0 1 net

-1

Figura 2.7: Functii de activare continue bipolara si unipolara.

Daca functia de activare este bipolara binara, putem folosi reprezentarea din
gura 2.8 a unui perceptron binar, iar pentru functia bipolara continua putem
folosi reprezentarea din gura 2.9 a unui perceptron continuu.

w1
x1
w2
x2
net 1 net o(w,x)
+
-1
sumator
wn
xn comparator
cu prag
neuron

Figura 2.8: Perceptron binar.

Perceptronul discret a fost introdus de Rosenblatt (1958) si a fost prima


masina instruibila.
Iesirile neuronilor pot  discrete (binare) sau continue. Pentru un strat de m
neuroni, valorile lor de iesire o1 , o2 , : : :, om pot  date de:
o = !o1 o2 : : : om ]:
Domeniul de denitie al vectorilor o este un spatiu m-dimensional denit
pentru cazul continuu astfel:
(;1 1)m fo 2 <m oi 2 (;1 1)g pentru cazul bipolar
sau
(0 1)m fo 2 <m oi 2 (0 1)g pentru cazul unipolar:
Domeniul lui o este interiorul unui cub m-dimensional.
26 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

f(net)= 2 -1
x1 −λ
1+e net
x2
o(w,x)
f(net)

xn neuron

Figura 2.9: Perceptron continuu.

Pentru cazul discret, avem:


f;1 1gm fo 2 <m oi 2 f;1 1gg pentru cazul bipolar
sau
f0 1gm fo 2 <m oi 2 f0 1gg pentru cazul unipolar:
Domeniul lui o este format din v^arfurile unui cub m-dimensional. Un vector
poate avea deci 2m valori.

2.2 Modelarea retelelor neurale


Cunosc^and acum denitia modelului unui neuron general, putem deni o retea
neurala ca o interconectare de neuroni astfel ^nc^at iesirea ecarui neuron este
conectata, via ponderi, cu toti neuronii, inclusiv cu neuronul respectiv.

Retea feedforward
Sa consideram o arhitectura feedforward de m neuroni care receptioneaza n intrari
(g. 2.10). Pentru acest model denim
o = !o1o2 : : : om ]t
si
x = !x1 x2 : : : xn ]t:
Ponderea wij caracterizeaza al i-lea neuron cu a j -a intrare. Valoarea de
activare pentru al i-lea neuron este atunci:
X
n
neti = wij xj i = 1 2 : : : m:
j =1
Fie wi = !wi1wi2 : : : win]t , atunci:
neti = witx oi = f (witx) i = 1 2 : : : m:
2.2. MODELAREA RETELELOR NEURALE 27

1
o1
w11
x1
2 o2
x2
w2n
...

...
wm1
xn
wmn m
om

Figura 2.10: Retea neurala feedforward.

Denim operatorul matricial neliniar ; pentru care:


o = ;(Wx)
unde W este matricea ponderilor (matricea conexiunilor):
2 w11 w12 : : : w1n 3
6 w21 w22 : : : w2n 777
W = 6664 ... 75
wm1 wm2 : : : wmn
iar 2 f ( ) 0 : : : 0 3
66 0 f ( ) : : : 0 77
;! ] = 66 .. 77 :
4 . 5
0 : : : 0 f ( )
Functiile f ( ) sunt functii neliniare de activare.
Vectorii x, o sunt numiti si pattern-uri de intrare, respectiv de iesire. Trans-
formarea unui pattern de intrare ^ ntr-un pattern de iesire are loc fara ^ nt^arziere,
instantaneu. De aceea, spunem ca o astfel de retea este de tip feedforward. Avem
(g. 2.11):
o(t) = ;!Wx(t)]

x(t) o(t)
Γ[Wx]

Figura 2.11: Diagrama bloc a unei retele neurale feedforward.


28 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

Reteaua feedforward este caracterizata prin lipsa de feedback. O retea feedfor-


ward poate  conectata ^ n cascada pentru a forma o retea pe mai multe straturi.
^Intr-o astfel de retea, iesirea unui strat este intrarea urmatorului strat.

Retea feedback
O retea feedback se poate obtine dintr-o retea feedforward prin conectarea iesirilor
neuronilor cu propriile intrari (g. 2.12).



o1(t) w11 1 o1(t+ ∆ )
x 1 (0)
w21
w1n

x 2 (0)
2 o2(t+ ∆ )
o2(t)

x n(0)
n o n (t+ ∆ )
on(t) wnn

Figura 2.12: Retea neurala feedback.


Perioada de timp $ este analoga perioadei refractare a modelului neuronului
biologic. Avem (g. 2.13):
o(t + $) = ;!Wo(t)]:

x(0) retea o(t+∆)


instantanee
Γ[Wo(t)]

intarziere

Figura 2.13: Diagrama bloc a retelei neurale feedback.


Intrarea x(t) este folosita doar pentru a initializa aceasta retea, astfel ^ nc^at
o(0) = x(0). Intrarea este apoi ^ ndepartata si, pentru t > 0, sistemul devine
autonom.
2.2. MODELAREA RETELELOR NEURALE 29

Consider^and timpul ca o variabila discreta si decidem sa observam functiona-


rea retelei la momentele $ 2$ 3$ : : :, sistemul este cu timp discret. Conventi-
onal, putem considera ca pasul timpului este unitar. Atunci, notam:
ok+1 = ;(Wok ) pentru k = 1 2 : : :
Aceasta retea este recurenta deoarece raspunsul ei la momentul k + 1 depinde de
^ ntregul istoric al retelei ^ ncep^and cu momentul k = 0:
o1 = ;!Wx0]
o2 = ;!W;!Wx0]]
:::
ok+1 = ;!W;!: : : ;!Wx0 ] : : :]]:
Retelele recurente opereaza de obicei cu o reprezentare discreta a datelor si folo-
sesc neuroni cu o functie de activare discreta. Un sistem av^and intrari cu timp
discret si o reprezentare discreta a datelor se numeste un automat. Deci, retelele
neurale recurente din aceasta categorie pot  considerate niste automate.
Numim o1 o2 : : : stari ale retelei la momentele 1, 2,... si ecuatiile de mai sus
oglindesc secventa tranzitiilor starilor. O stare de echilibru se numeste si atractor.
h a stare,itsau dintr-un numar limitat de stari. ^In
Un atractor consta dintr-o singur
capitolul 1 am vazut ca o = 1 1 ;1 este un atractor. Secventa de stari ale
unei retele recurente este ^ n general nedeterminista.
O retea cu timp continuu se obtine ^ nlocuind elementele de ^ nt^arziere discrete
cu elemente continue. Fie, de exemplu, reteaua feedback cu timp continuu din
gura 2.14.

+ +
R
v1 C v2

- -

Figura 2.14: Retea feedback cu timp continuu.


Ea este o retea electrica const^and dintr-o rezistenta si un condensator, unde v1
este tensiunea la intrare, iar v2 este tensiunea la iesire. De fapt, retelele electrice
sunt utilizate frecvent pentru a modela calculele efectuate de o retea neurala.
Retelele electrice poseda %exibilitatea de a modela toate fenomenele liniare si
neliniare ^ nt^alnite ^ n acest curs. Din aceasta cauza, retelele electrice reprezinta
modele zice functionale ale retelelor neurale. Din legea lui Kircho obtinem:
v1 ; v2 = C dv2 )
R dt
30 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

dv2 + v2 = v1 : (2.1)
dt RC RC
De aici, obtinem:
$v2 $t v ; v
= C 1R 2
care reprezinta modicarea tensiunii v2 ^ n intervalul $t.

tensiunea tensiunea

v1 v1

v2 v2

t t
0 t0 0

(a) (b)

Figura 2.15: Raspunsul ^n timp (a) la un impuls si (b) la o tensiune de intrare de tip unda
armonica al retelei cu timp continuu din gura anterioara.

De obicei, retelele cu timp continuu folosesc neuroni cu functii de activare


continue. ^In gura 2.16 avem o conexiune sinaptica bazata pe circuitul electric
descris ^ n gura 2.14.

net j
j
oj

Rij

net i
Ci
i
oi

Figura 2.16: Conexiune sinaptica.


2.3. ^INVAT
  ARE SI ADAPTARE 31

Rezistenta Rij serveste ca pondere de la iesirea neuronului j catre intrarea


neuronului i. Ecuatia 2.1 poate  discretizata astfel:
netki +1 ; netki 1 (ok ; netk ):
$t =R C j i
ij i
De aici:
netki +1 $t
= netki + R C (okj ; netki ):
ij i
O retea de mai multi neuroni de acest tip are, din punct de vedere dinamic, o
comportare complexa.

2.3 ^Invatare si adaptare


^In general, ^ nvatarea este schimbarea comportamentului datorita experientei. La
om si animale procesul de ^ nvatare nu poate  observat direct, ci presupunem ca
a avut loc observ^and modicarile de comportament. La retelele neurale, procesul
de ^ nvatare este mai direct: putem observa ecare pas al ^ nvatarii ca o relatie
distincta de tip cauza-efect.
Un cadru general pentru procesul de ^ nvatare la retele neurale este dat de
teoria aproximarii.
^Invatarea ca aproximare
Teoria aproximarii se refera la aproximarea unei functii continue de mai multe
variabile h(x) printr-o alta functie H (w x), unde x = !x1 x2 : : : xn]t este vectorul
de intrare si w = !w1 w2 : : : wm]t este vectorul parametrilor (ponderilor). Scopul
^ nvatarii este sa se gaseasca w pentru care se obtine cea mai buna aproximare a
lui h(x), av^and la dispozitie o multime de exemple, fxg, folosite pentru ^ nvatare.
O problema importanta este alegerea functiei H (w x), aceasta numindu-se pro-
blema reprezentarii. Dupa alegerea lui H (w x), se aplica algoritmul de ^ nvatare
al retelei pentru gasirea parametrilor optimi w :
!H (w x) h(x)]  !H (w x) h(x)]
unde  este o metrica (o distanta).
Retelele feedback sunt sisteme dinamice. De aceea, ^ nvatarea ^ n acest caz se
refera la ^ nvatarea starilor de echilibru.
^Invatarea supervizata si ^nvatarea nesupervizata
Majoritatea retelelor neurale pe care le discutam ^ nvata incremental, pas cu pas.
Daca ponderile retelei sunt ajustate printr-un singur pas, atunci informatia feed-
back produsa de retea nu mai este necesara si vorbim de o ^ nvatare de tip batch,
adica "la gramada".
32 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

x retea o
adaptiva
W
semnal de
generator invatare
ρ[d,o] de distanta d

Figura 2.17: ^Invatare supervizata.

Ne referim ^ n continuare la ^ nvatarea incrementala, ^ n care conceptul de feed-


back are un rol central.
^In ^nvatarea supervizata (g. 2.17), presupunem ca la ecare moment c^and se
aplica intrarea, raspunsul d al sistemului este dat de catre instructor (un factor
uman).

retea
x adaptiva o
W

Figura 2.18: ^Invatare nesupervizata.


^Invatarea nesupervizata (g. 2.18) se foloseste de multe ori, de exemplu, la
clustering (g. 2.19), atunci c^and informatia a priori este minima.

2.4 Reguli de ^
nvatare
Sa studiem procesul de instruire a vectorului wi de ponderi, av^and componentele
wij (unde wij este ponderea conexiunii celei de-a j -a intrari cu cel de-al i-lea
neuron) (g. 2.20).
Fie urmatoarea regula generala de ^ nvatare: Vectorul wi = !wi1 wi2 : : : win]t
creste proportional cu produsul intrarii x si a semnalului de ^ nvatare r. Semnalul
r este in general o functie de wi , x si, daca este cazul, di:
r = r(wi x di):
Incrementul lui wi produs la momentul t este:
$wi (t) = cr!wi(t) x(t) di(t)]x(t)
unde c este constanta de ^nvatare, pozitiva, care determina rata ^ nvatarii. Atunci:
wi(t + 1) = wi(t) + cr!wi(t) x(t) di(t)]x(t):
2.4. REGULI DE ^INVAT
  ARE 33

x2 x2

x1 x1
0 0

(a) (b)

Figura 2.19: (a) Pattern-uri bidimensionale care formeaza doua clustere. (b) Aparent, nu se
disting mai multe clustere si nu stim c^ate sunt. ^In acest caz ^nvatarea nesupervizata nu este
indicata.

x1
wi1
x2 wi2 neuronul i
oi
...

win
∆wi
xn x r generator de di
X semnal de
învãtare

Figura 2.20: Modelul instruirii ^n cazul ^nvatarii supervizate.

Pentru cazul discret:


wik+1 = wik + cr(wik xki dki )xk :
Pentru cazul continuu:
dwi(t) = crx(t):
dt
Vom studia ^ n continuare ^ nvatarea cu timp discret (pas cu pas). Se pre-
supune ca ponderile sunt initializate convenabil, ^ nainte ca procesul de ^ nvatare
sa ^ nceapa.

Regula de ^nvatare a lui Hebb (1949)


Aceasta regula particularizeaza semnalul de ^ nvatare astfel:
r = f (witx)
adica semnalul de ^ nvatare este chiar iesirea neuronului. Atunci:
$wi = cf (witx)x
34 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

$wij = cf (witx)xj = coixj pentru j = 1 2 : : : n:


Este necesar ca, initial, ponderile sa aiba valori aleatoare mici. ^Invatarea
dupa regula lui Hebb este de tip feedforward si nesupervizata. Este implementata
urmatoarea idee:
"Daca celula A excita ^ n mod repetat celula B, fac^and-o sa genereze
un impuls, atunci are loc un proces de crestere (schimbare metabolica)
^ ntr-una sau ^ n ambele celule, astfel ^ nc^at ecienta excitarii lui B de
catre A creste."
Cu alte cuvinte, pattern-urile de intrare mai frecvente vor avea si in%uenta
cea mai mare asupra ponderilor conexiunilor.

Regula de ^nvatare a perceptronului (Rosenblatt, 1958)


Semnalul de ^ nvatare pentru aceasta regula este:
r = di ; oi
unde oi = sgn(witx) si di este raspunsul dorit (pentru cazul bipolar, 1) (g.
2.21).
x1
wi1
x2 wi2 net i oi
+ comparator
...

win
xn
∆wi
-
x d i -o i di
X + +

Figura 2.21: Regula de ^nvatare a perceptronului.


Avem:
$wi = c!di ; sgn(witx)]x
$wij = c!di ; sgn(witx)]xj pentru j = 1 2 : : : n:
Sa observam ca aceasta regula este aplicabila doar pentru situatia c^and functia
de activare este binara. Are loc o ajustare a ponderilor daca si numai daca oi
este incorect. Deoarece raspunsul dorit poate  1 sau -1, avem:
$wi = 2cx daca di = 1 si sgn(witx) = ;1
$wi = ;2cx daca di = ;1 si sgn(witx) = 1
Daca di = sgn(witx), se observa ca $wi = 0.
Regula de ^ nvatare a perceptronului este importanta pentru ^ nvatarea super-
vizata a retelelor neurale. Ponderile sunt initializate cu orice valoare.
2.4. REGULI DE ^INVAT
  ARE 35

Regula de ^nvatare delta (McClelland, Rummelhart, 1986)


Este valabila pentru functii de activare continue si pentru ^ nvatarea supervizata.
Semnalul de ^ nvatare pentru aceasta regula (g. 2.22) este numit delta si este
dat de
r = !di ; f (witx)]f 0(witx):

x1
wi1
x2 wi2
oi
f(net i)
...

win
f’(net i)
xn
∆wi
-
x d i -o i di
X X +
+
c

Figura 2.22: Regula de ^nvatare delta.


Aceasta regula se deduce din conditia de cea mai mica eroare patratica dintre
oi si di. Fie E eroarea patratica:
E = 12 (di ; oi )2
ceea ce este echivalent cu
E = 21 !di ; f (witx)]2 :
De aici,
rE = ;(di ; oi)f 0(witx)x:
Componentele gradientului erorii sunt:
@E = ;(d ; o )f 0(wtx)x pentru j = 1 2 : : : n
i i i j
@wij
si reprezinta panta pe directia wij . Alegem termenul $wij astfel ^ nc^at sa e
proportional cu panta negativa (deci sa minimizam pe E ) si obtinem:
$wij = (di ; oi)f 0(neti)xj j = 1 2 ::: n
$wi = (di ; oi)f 0(neti)x (2.2)

$wi = ;rE
unde  este o constanta pozitiva.
36 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

Presupun^and ca semnalul de ^ nvatare este


r = !di ; f (witx)]f 0(witx)
obtinem:
$wi = c(di ; oi)f 0(neti)x
ceea ce este identic cu 2.4, c si  ind constante arbitrare.
Regula delta este de fapt o transpunere a regulii de ^ nvatare a perceptronului
discret la cazul perceptronului continuu. Ponderile pot  initializate cu orice
valoare.

Regula de ^nvatare Windrow-Ho (1962)


Aceasta regula este aplicabila pentru ^ nvatarea supervizata. Este independenta
de functia de activare folosita deoarece minimizeaza eroarea patratica dintre
raspunsul dorit di si valoarea de activare a neuronului neti = witx. Semnalul
de ^ nvatare este
r = di ; witx:
Atunci,
$wi = c(di ; witx)x
$wij = c(di ; witx)xj j = 1 2 : : : n:
Aceasta regula poate  considerata un caz special al regulii delta: presupunem
f (witx) = wit x, adica functia de activare este functia identica f (net) = net si
obtinem f 0(net) = 1.
Ponderile pot  initializate oricum.

Regula corelatiei
Substituind r = di ^ n regula generala de ^ nvatare obtinem regula corelatiei:
$wi = cdix
$wij = cdixj j = 1 2 : : : n:
De obicei, regula corelatiei se aplica ^ n retele de memorie cu neuroni cu functie
de activare binara. Se poate interpreta ca un caz particular al regulii lui Hebb
^ n care functia de activare este binara si oi = di. Totusi, ^ nvatarea hebbiana este
nesupervizata, ^ n timp ce regula corelatiei se aplica la ^ nvatarea supervizata. Ca
si ^ n cazul ^ nvatarii hebbiene, este necesar ca ponderile sa e initializate cu valori
apropiate de 0.
2.4. REGULI DE ^INVAT
  ARE 37

Regula "c^astigatorul ia tot"


Aceasta regula difera mult de regulile prezentate p^ana acum. Poate  explicata
pe o multime de neuroni si este un exemplu de ^ nvatare competitiva folosita ^ n
instruirea nesupervizata. ^In general, aceasta regula se foloseste pentru ^ nvatarea
proprietatilor statistice ale intrarilor.
^Invatarea se bazeaza pe premiza ca unul din neuroni, e el neuronul m, are
raspunsul maxim pentru intrarea x. Acest neuron este c^astigatorul (g. 2.23).

o1
w11
x1

...
...

wm1
xj om
neuronul
castigator
wmn
...

...
xn
wpn op

Figura 2.23: Regula de ^nvatare c^astigatorul ia tot.

Ca rezultat,
wm = !wm1 wm2 : : : wmn]t
este singurul vector ajustat:
$wm = (x ; wm )
$wmj = (xj ; wmj ) pentru j = 1 2 : : : n
unde  > 0 este o constanta de^ nvatare mica. Criteriul de alegere a c^astigatorului
este:
wmt x = i=1max2 ::: p
(witx):
Numai ponderile neuronului c^astigator se modica. Dupa ajustare, wm va estima
si mai bine pattern-ul x.
Ponderile se initializeaza cu valori aleatoare si sunt normalizate. ^In general,
 scade pe parcursul procesului de ^ nvatare.

Paradigme ale ^nvatarii ^n retele neurale


1. Autoasociere. O multime de pattern-uri este prezentata ^ n mod repetat si
sistemul memoreaza aceste pattern-uri. Apoi, un pattern similar cu unul din
pattern-urile memorate este prezentat. Sarcina este de a regasi pattern-ul
originar.
38 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

Tabelul 2.1: Comparatie ^ntre calculul conventional si calculul neural din punct de vedere al
etapelor care trebuie parcurse.
Sarcina Calcul Calcul neural
conventional
Rezolvarea unei pro- Formularea Selectarea unei ar-
bleme algoritmului hitecturi si denirea
multimii de exemple
reprezentative
Achizitionarea Programare Instruire
cunostintelor
Calcul Aritmetic, Precizie mica, aplica-
precizie mare tii neliniare
Memorarea datelor ROM, RAM - Ponderi ale conexiu-
memorii binare nilor av^and ^ n gene-
ral valori continue

2. Heteroasociere. Este o varianta a autoasocierii. O multime de perechi de


pattern-uri este prezentata ^ n mod repetat. Paradigmele autoasocierii si
heteroasocierii sunt tipice memoriilor asociative.
3. Clasicare. Paradigma clasicarii poate  considerata o varianta a au-
toasocierii. ^In acest caz avem o multime xata de categorii ^ n care trebuie
clasicate pattern-urile de intrare. ^In perioada instruirii, sistemului i se
prezinta pattern-uri din secventa de instruire precizand categoriile din care
fac parte. Scopul este de a ^ nvata corect clasicarea, astfel ^ nc^at, ulte-
rior, orice pattern de intrare (eventual perturbat fata de pattern-urile din
secventa de instruire) sa e clasicat corect. Aceasta este paradigma tipica
pentru algoritmul perceptronului si instruirea prin propagarea ^ n urma a
erorii ^ n retelele feedforward multistrat. Instruirea este supervizata. In-
struirea este mai buna daca ^ n secventa de instruire apar si pattern-uri
perturbate (spre deosebire de paradigma autoasocierii).
4. Detectare de regularitati (clustering). Sistemul trebuie sa descopere carac-
teristici (trasaturi) comune ^ ntr-o multime de pattern-uri. Nu exista ca-
tegorii a priori de pattern-uri. Sistemul trebuie sa-si construiasca singur
categoriile. Instruirea este nesupervizata. Numarul clusterelor poate , sau
poate nu , cunoscut a priori.
Tabelul 2.2: Principalele reguli de instruire. Constantele c si sunt pozitive.
Regula de Ajustarea $wij Ponderile Tipul Caracteris- Neuron sau
^nvatare initiale ^nvatarii ticile strat
neuronilor
Hebb coixj j = 1 2 : : : n 0 nesuperv. oricare neuron
perceptron c!di ; sgn(witx)]xj j = 1 2 : : : n oricare superv. binar neuron
delta c(di ; oi)f 0(neti )xj j = 1 2 : : : n oricare superv. continuu neuron
2.4. REGULI DE ^INVAT

Windrow-Ho c(di ; witx)xj j = 1 2 : : : n oricare superv. oricare neuron


corelatie cdixj j = 1 2 : : : n 0 superv. oricare neuron
  ARE

c^astigatorul $wmj = (xj ; wmj ) j = 1 2 : : : n aleatoare nesuperv. continuu strat de


ia tot normalizate neuroni
39
40 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

2.5 Exemple
1. Exemplu de retea feedforward pe doua straturi cu
functie de activare bipolara
neuronul 1
o1
+ comparator 1
o2
+ comparator 2
o5
+ comparator 5
o3
+ comparator 3

o4
+ comparator 4
-1
intrare iesire intrare iesire
strat 1 strat 1 strat 2 strat 2

Figura 2.24: Retea feedforward pe doua straturi.

o = ; !Wx]
Pentru stratul 1: h it
o = ; o1 o2 o3 o4
h i
x = x1 x2 ;1 t
2 1 0 13
6 0 ;2 777
W1 = 664 ;10 1 05
0 ;1 ;3
Pentru stratul 2:
o = !o5 ]
h it
x = o1 o2 o3 o4 ;1
h it
W2 = 1 1 1 1 3 5
Raspunsurile primului strat se calculeaza astfel:
h i
o = sgn(x1 ; 1) sgn(;x1 + 2) sgn(x2 ) sgn(;x2 + 3) t
Raspunsul pentru al doilea strat este:
o5 = sgn(o1 + o2 + o3 + o4 ; 3 5):
Observam ca o5 = +1 daca si numai daca o1 = o2 = o3 = o4 = 1. Rezulta ca
aceasta retea este o aplicatie a spatiului bidimensional x1 x2 ^ n punctele 1.
2.5. EXEMPLE 41

x2

2 portiunea pt. care


o1 ,o2,o3,o4 sunt +1

x1
0 1 2 3

Figura 2.25: Reprezentare ^n spatiul bidimensional.

Sa presupunem acum ca avem aceeasi arhitectura, dar ca neuronii au carac-
teristici sigmoidale. Obtinem:
2 2
;1 3
1+e(1;x1 )
66 77
66 ; 1 777
6 2
1+e(x1 ;2)
o = 666 77
66
64
2
1+e(;x2 )
; 1 7777
5
2
1+e(x2 ;3)
;1
o5 = 1 + e(3 5;o 2;o ;o ;o ) ; 1:
1 2 3 4

Aplicatia spatiului bidimensional x1 x2 ^ ntr-un segment al axei reale este ^ n acest


caz mai complicata.

2. Exemplu de retea recurenta


Starile retelei sunt v^arfurile unui cub 4-dimensional: f;1 1g4. Trecerea dintr-
o stare in alta se face de-a lungul unei muchii a hipercubului, deci doua stari
succesive difera doar printr-o componenta. Avem:
2 0 1 1 ;1 3
6 0 1 ;1 777
W = 664 11 1 0 ;1 5
;1 ;1 ;1 0
h it
Presupun^and x0 = 1 1 1 ;1 , obtinem
h i h it
o1 = sgn(3) sgn(3) sgn(3) sgn(;3) t = 1 1 1 ;1
42 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

∆ ponderea=+1
∆ ponderea=-1

x01 comparator o1k+1


+ 1

x02 comparator ok+1


2
+ 2

comparator ok+1
3
x03 + 3

comparator o4k+1
x04 + 4


Figura 2.26: Retea neurala recurenta.


h it
si deci 1 1 1 ;1 este o stare de echilibru. Tot o stare de echilibru este si
h i
;1 ;1 ;1 1 t .
h it
Presupun^and x0 = 1 1 1 1 , obtinem:
h i
o1 = sgn(1) sgn(1) sgn(1) sgn(;3) t :
h i h i
Are deci loc tranzitia 1 1 1 1 ! 1 1 1 ;1 si se ajunge la cea mai
apropiata stare de echilibru.
Vericati singuri ce se int^ampla c^and x0 ia alte valori:
h it
x0 = 1 1 ;1 ;1
h it
x0 = 1 ;1 1 ;1
h i
x0 = ;1 1 1 ;1 t :

3. Exemplu de retea feedback cu timp continuu


Fie reteaua din gura 2.27 unde oi = f (neti) i = 1 2, iar f este functia de
activare continua bipolara. ^In aceasta gura, R12 si R21 sunt ponderi negative,
^ nt^arzierile sunt realizate de dispozitivul RC , iar rezistentele R modeleaza curen-
tul absorbit de neuroni.
2.5. EXEMPLE 43

net 1 o1
1

R C1
R12 R21

2 o2
net 2
R C2

Figura 2.27: Retea electrica a doi neuroni.

Obtinem: 8 C dnet = o ;net ; net


>
< 1 dt 1
R R
2 1 1

:
12

>
: C2 dnet = o ;net ; net
2 1 2 2
dt R21 R
Discretizam:
8 k+1 k t k netk
>
< net1 = net1 + R C (o2 ; netk1 ) ; RC $t 1

:
12 1 1

>
: netk2+1 netk
= net2 + R C (o1 ; net2 ) ; RC $t
k t k
21
k
2
2
2

Presupunem ca C1 = C2, R12 = R21 < 0 pentru aceasta retea. Presupunem ca
circuit a fost initializat prin ^ ncarcarea condensatoarelor (cu o01 , o02 , nu neaparat
egale). Reteaua ^ si cauta unul din cele doua puncte de echilibru (g. 2.28).
Simularea retelei se face pe calculator prin ecuatiile date.

4. Exemplu de ^nvatare hebbiana


^In gura 2.29, avem intrarea:
2x 3
66 x12 77
x = 64 x3 75
x4
si ponderile initiale: h i
w 1 = 1 ;1 0 0 5 t :
44 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

o2
1
x

-1 1 o1

x
-1

Figura 2.28: Modul ^n care reteaua ^si gaseste cele doua puncte de echilibru.

Presupunem ca aceasta retea este instruita folosind multimea de vectori de in-
trare: 2 1 3 2 1 3 2 0 3
6 7 6 7 6 7
x1 = 664 1;25 775 x2 = 664 ;;025 775 x3 = 664 ;11 775 :
0 ;1 5 15
Consideram c = 1. Presupunem pentru ^ nceput ca avem neuroni bipolari binari:
f (net) = sgn(net).
x1

x2
o
x3

x4

Figura 2.29: Retea neurala pentru ^nvatarea hebbiana.

Pasul 1. Se aplica x1.


2 1 3
h i6 7
net1 = w1t x1 = 1 ;1 0 0 5 664 1;25 775 = 3
0
2.5. EXEMPLE 45

w2 = w1 + sgn(net1 )x1 = w1 + x1
2 1 3 2 1 3 2 2 3
6 7 6 7 6 7
w2 = 664 ;01 775 + 664 1;25 775 = 664 1;35 775 :
05 0 05
Pasul 2. Se aplica x2.
2 1 3
h i6 7
net2 = w2tx2 = 2 ;3 1 5 0 5 664 ;;025 775 = ;0 25
;1 5
2 1 3
6 7
w3 = w2 + sgn(net2 )x2 = w2 ; x2 = 664 ;32 55 775 :
2
Pasul 3. Se aplica x3.
net3 = w3tx3 = ;3
2 1 3
6 7
w4 = w3 + sgn(net3 )x2 = w3 ; x3 = 664 ;43 55 775 :
05
Sa presupunem acum ca functia de activare este continua si bipolara. Luam
 = 1 si pornim din nou de la w1.
Pasul 1. Se aplica x1.
2 1 905 3
6 81 77
f (net1 ) = 0 905 w1 = 664 ;1 2357 75
05
Pasul 2. Se aplica x2.
2 1 828 3
6 772 77
f (net2) = ;0 077 w2 = 664 ;12 512 75
0 616
Pasul 3. Se aplica x3.
2 1 828 3
6 77
f (net3 ) = ;0 932 w3 = 664 ;2 3447 75 :
;0 783
Se observa ca pentru functia de activare continua se obtin ^ n general rezultate ^ n
aceeasi directie, valorile ind ^ nsa mai diferentiate.
46 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

5. Exemplu de ^nvatare prin regula perceptronului


Consideram urmatorii vectori de intrare:
2 1 3 2 0 3 2 ;1 3 2 1 3
6 7 6 7 6 77 6 7
x1 = 664 ;02 775 x2 = 664 ;10 55 775 x3 = 664 1
05 75 w1 = 664 ;01 775
;1 ;1 ;1 05
si c = 0 1. Raspunsurile dorite de catre supervizor pentru x1 , x2 , x3 sunt -1, -1
si, respectiv, 1.
Pasul 1. Se aplica x1.
2 1 3
h i6 7
net1 = w1t x1 = 1 ;1 0 0 5 664 ;02 775 = 2 5:
;1
Deoarece ;1 6= sgn(2 5), are loc o corectie a ponderilor:
2 1 3 2 1 3 2 08 3
6 7 6 7 6 7
w2 = w1 + 0 1(;1 ; 1)x1 = 664 ;01 775 ; 0 2 664 ;02 775 = 664 ;00 6 775 :
05 ;1 07
Pasul 2. Se aplica x2.
2 08 3
h i6 7
net2 = w2t x2 = 0 1 5 ;0 5 ;1 664 ;00 6 775 = ;1 6:
07
Deoarece ;1 = sgn(;1 6), nu se aplica nici o corectie.
Pasul 3. Se aplica x3.
2 08 3
h i6 7
net3 = w3t x3 = ;1 1 0 5 ;1 664 ;00 6 775 = ;2 1:
07
Deoarece 1 6= sgn(;2 1), se aplica o corectie:
2 06 3
6 7
w4 = w3 + 0 1(1 + 1)3 = 664 ;00 14 775 :
05
2.5. EXEMPLE 47

Nu este o simpla coincidenta faptul ca ultima componenta a vectorilor x1, x2 ,


x3 este invariabila. ^Invatarea prin regula perceptronului necesita ca o componenta
a vectorului de intrare sa e xata (nu neaparat la valoarea -1).
Daca reciclam din nou vectorii x1 , x2 , x3 la intrare, erorile vor  mai mici,
deci reteaua a "^ nvatat". De exemplu, daca dupa ce am aplicat o data x1 , x2 , x3
mai aplicam o data x1 , obtinem net4 = 0 9, deci raspunsul este mai bun dec^at
net1 = 2 5.
Un contraexemplu important:
" # " #
x1 = 11 x2 = ;;11 d1 = 1 d2 = 1 :
Trebuie ca w1 + w2 > 0 si w1 + w2 < 0, ceea ce este imposibil. Fie acum:
2 3 2 3
6 1
7 6 ;1 7
y1 = 4 1 5 y2 = 4 ;1 5 d1 = 1 d2 = 1 :
;1 ;1
^In acest caz trebuie ca w1 + w2 > w3 si w1 + w2 < ;w3 . Acest sistem are solutii,
evident, de exemplu w1 = 1, w2 = 1, w3 = ;3. Ce am facut de fapt? Deoarece
este evident ca x1 si x2 nu pot  ^ nvatati ^ n mod supervizat, am considerat vec-
torii extinsi y1 si y2 care se obtin din x1 si x2 prin adaugarea unei componente
constante, ;1. Am vazut ca pentru y1 si y2 exista w1 si w2 astfel ^ nc^at percep-
tronul sa ^ nvete corect. Puteti acum folosi regula perceptronului pentru a ^ nvata
y1 si y2. ^Incercati sa explicati din punct de vedere geometric care este diferenta
dintre a ^ nvata x1 si x2 fata de a ^ nvata y1 si y2.

6. Exemplu de ^nvatare prin regula delta


Folosim aceiasi vectori ca ^ n exemplul precedent:
2 1 3 2 0 3 2 ;1 3 2 1 3
6 7 6 7 6 7 6 7
x1 = 664 ;02 775 x2 = 664 ;10 55 775 x3 = 664 015 775 w1 = 664 ;01 775
;1 ;1 ;1 05
La fel, raspunsurile dorite sunt -1, -1, 1, iar c = 0 2.
Se demonstreaza mai t^arziu ca:
f 0(net) = 12 (1 ; o2 )
daca f este functia de activare bipolara continua. Consideram  = 1.
Pasul 1. Se aplica x1.
net1 = w1t x1 = 2 5
o1 = f (net1 ) = 0 848
48 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

f 0(net1 ) = 12 !1 ; (o1 )2] = 0 14


2 0 974 3
6 7
w2 = c(;1 ; o1)f 0(net1 )x1 + w1 = 664 ;0 0948 775 :
0 526
Pasul 2. Se aplica x2.
net2 = w2tx2 = ;1 948
o2 = f (net2) = ;0 75
f 0(net2 ) = 12 !1 ; (o2)2 ] = 0 218
2 0 974 3
6 956 77
w3 = c(;1 ; o2)f 0(net2 )x2 + w2 = 664 ;00 002 75 :
0 531
Pasul 3. Se aplica x3.
net3 = w3t x3 = ;2 46
o3 = f (net3 ) = ;0 842
f 0(net3 ) = 12 !1 ; (o3)2 ] = 0 145
2 0 974 3
6 929 77
w4 = c(;1 ; o3)f 0(net3 )x3 + w3 = 664 ;00 016 75 :
0 505
Metoda necesita de obicei valori mici pentru c.

2.6 Exercitii
1. Folositi neuronul McCulloch-Pitts pentru a elabora retele care implemen-
teaza urmatoarele functii logice:
(a) ok+1 = xk1 ok2 o03k , unde x03k este complementul lui xk3 . Se va folosi un
neuron.
(b) ok+2 = x01k xk2 x03k . Se vor folosi doi neuroni ^ n cascada.
(c) ok+2 = xk1 xk2 . Se vor folosi doi neuroni ^ n cascada.
2. Aratati ca retelele neurale din gura 2.30 sunt echivalente (implementeaza
aceeasi functie). Se presupune ca:
(
f (net) = 01 net 0 :
net > 0
2.6. EXERCITII 49

1
x1
1/2
+ f(net) 1
1 o
-1 1 + f(net)
3/2
x2 + f(net) -1
1 1/2

-1

1
x1
-1
1/2 2 o
-1 + f(net) + f(net)
1

x2 1 -1 1/2

-1

Figura 2.30: Exemplu de retele neurale echivalente.

3. Reteaua din gura 2.31 este un convertor A/D si poate  utilizata pen-
tru codicarea unei valori continue x ^ ntr-un cod binar unipolar pe 4 biti
o3 o2 o1 o0 ). Analizati reteaua si gasiti pentru ce valori ale lui x se obtin
codicarile (0 0 0 0) : : : (1 1 1 1). Presupuneti ;1  x  16 si ca
(
f (net) = 01 net 0
net > 0 :
4. Reteaua din gura 2.32 foloseste neuroni cu functie de activare bipolara
continua ( = 1). S-a masurat ca o1 = 0 28 o2 = ;0 73. Gasiti vectorul
de intrare x = !x1 x2 ]t care a fost aplicat.
5. Reteaua din gura 2.33 cu functie de activare bipolara continua este proiec-
tata pentru a atribui vectorilor x1, x2, x3 clusterele 1 sau 2. Numarul
cluster-ului este identic cu numarul neuronului care produce cel mai mare
raspuns. Determinati din ce clustere fac parte vectorii:
" # " # " #
0 866 ; 0 985
x1 = 0 5 x2 = ;0 174 x3 = ;0 94 : 0 342

6. (C) Reteaua din gura 2.34 foloseste neuroni cu functie de activare bipolara
continua ( = 5) si implementeaza o aplicatie de la planul (x1 x2) la seg-
mentul jo1j < 1. Simulati functionarea retelei si tabulati functia o1 (x1 x2 )
pentru jx1 j < 2 5 si jx2 j < 2 5.
7. ^Invatare hebbiana pentru un neuron care este instruit cu:
" # " # " # " # " #
x1 = ;2 x2 = 1 x3 = 3 x4 = ;1 w = ;11
1 0 2 1 1
50 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

-1
0,5
1 o0
+ f(net)
-1
-2
1,5
1 o1
+ f(net)
-1
-4
3,5 -4
o2
1
+ f(net)
-1
7,5 -8 -8 -8
1 o3
+ f(net)

Figura 2.31: Convertor A/D.

o1
1
-1 2
f(net)

-1
x1
-1/2
1/2 o2
x2 3/4
f(net)

Figura 2.32: Retea neurala care foloseste neuroni cu functie de activare bipolara continua.

si c = 1. Gasiti ponderile nale pentru cazul c^and functia de activare este
(a) bipolara binara
(b) bipolara continua,  = 1.

8. (C) Implementati^ nvatarea unui neuron prin regula perceptronului folosind:


2 3 0 2 3 1 0 2 3 1
0 2 0
w1 = 64 1 75 B@ x1 = 64 1 75 d1 = ;1 CA B@ x2 = 64 ;1 75 d2 = 1 CA
0 ;1 ;1
Repetati secventa de instruire (x1 d1 ), (x2 d2 ) p^ana c^and se obtin raspun-
surile corecte. Listati valorile netk obtinute.
2.6. EXERCITII 51

o1
x1 -0,966 f(net)

-0,259
0,906
o2
x2 0,423
f(net)

Figura 2.33: Retea neurala care implementeaza un clasi cator.

x1 1 f(net)
-1
-1
o1
f(net)
-1 -1

x2 1
f(net) 1

-1

Figura 2.34: Retea neurala care implementeaza o aplicatie de la un plan la o dreapta.

9. (C) Instruiti prin regula delta un neuron folosind  = 1, c = 0 25 si


2 3 0 2 3 1 0 2 3 1
1 2 1
w1 = 64 0 75 B@ x1 = 64 0 75 d1 = ;1 CA B@ x2 = 64 ;2 75 d2 = 1 CA
1 ;1 ;1
Se va folosi f 0(net) = 21 (1 ; o2 ).
Repetati secventa de instruire (x1 d1), (x2 d2) si studiati comportarea.
10. (C) Folositi aceleasi date ca si ^ n problema precedenta, aplic^and regula
Windrow-Ho.
Repetati secventa de instruire.
11. (C) Elaborati un program pentru analiza retelelor feedforward cu doua
straturi. Parametrii de intrare sunt:
- tipul functiei de activare
- , daca este cazul
- marimea retelei
- vectorii de intrare pentru testarea retelei
12. (C) Implementati algoritmii de ^ nvatare pentru un neuron cu cel mult sase
intrari. Parametrii de intrare sunt:
52 CAPITOLUL 2. CONCEPTE FUNDAMENTALE

- regula (Hebb, perceptron, delta, Windrow-Ho)


- functia de activare
-  (daca este cazul)
- datele pentru instruire
- numarul de pasi pentru instruire (se pot repeta datele).
Capitolul 3
Clasicatori pe baza de
perceptroni monostrat
^In acest capitol vom formula fundamentele retelelor neurale instruibile, folosite ^ n
procese de decizie. Functia principala a unui sistem de decizie este luarea decizi-
ilor ^ n ceea ce priveste clasa din care face parte pattern-ul de intrare considerat.
Arhitecturile discutate ^ n acest capitol sunt de tip feedforward, neuronii ind
dispusi pe un singur strat.

3.1 Clasicare
Una dintre cele mai importante categorii de probleme care poate  efectuata
de o retea neurala este clasicarea pattern-urilor. Un pattern este descrierea
cantitativa a unui obiect, eveniment sau fenomen. Clasicarea se poate referi
at^at la pattern-uri spatiale c^at si temporale (ex.: imagini video de vapoare, harti
meteo, amprente, caractere, semnale acustice, electrocardiograme etc.).
Scopul clasicarii pattern-urilor este de a atribui un obiect zic, eveniment
sau fenomen unei clase specicate ^ n prealabil. Un sistem de clasicare arata ca
^ n gura 3.1.

masuratori date extragerea trasaturi clasificator clasa


traductor trasaturilor

x1
x2
clasificator i 0 (x)=1 sau 2 sau ... sau R
...

clasa
xn
pattern-ul x

Figura 3.1: Sistem de clasi care.

Trasaturile sunt date comprimate obtinute prin reducerea dimensionalitatii.


53
54 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

1 2 3 4 5 6 7 8 9 10
1112 .......
....... x i=0
xi =1

de unde putem2extrage 3 vectorul:


x
66 x12 77
x = 664 .. 775
.
xn
f(t)
f(tn)
f(t1)
f(t2)

de unde putem2 extrage3 vectorul:


t f (t )
66 f (t12 ) 77
x = 664 .. 775
t1 t2 tn
.
f (tn)

Figura 3.2: Exemple de codi care.

De exemplu, din imaginile receptionate de pe satelitul LANDSAT, sunt necesare


doar c^ateva din componentele spectrale.
Retelele neurale pot  utilizate at^at pentru clasicare c^at si pentru extragerea
trasaturilor.
^In continuare, vom reprezenta componentele de intrare ale unui clasicator ca
un vector x (g. 3.2). Clasicarea este obtinuta prin implementarea unei functii
de decizie i0 , unde i0 (x) 2 f1 2 : : :Rg.
Atunci c^and pattern-urile de intrare nu sunt identice cu pattern-urile folosite
pentru instruirea clasicatorului, procesul de clasicare se numeste recunoastere.
Clasicarea poate  descrisa de multe ori ^ n termeni geometrici. Orice pattern
poate  reprezentat printr-un punct ^ n spatiul euclidian n-dimensional En numit
spatiul pattern-urilor. Un clasicator aplica multimi de puncte din En ^ ntr-unul
din numerele 1 2 : : : R. Multimile care contin pattern-urile din clasele 1 2 : : : R
le vom nota cu H1 H2 : : : HR , respectiv. ^In gura 3.3, n = 2, R = 4 si i0 = j
pentru orice x2 Hj , j = 1 2 3 4.
Regiunile Hi sunt regiuni de decizie separate^ ntre ele prin suprafete de decizie.
Presupunem ca pattern-urile de pe suprafetele de decizie nu apartin nici unei
clase. ^In spatiul n-dimensional, suprafetele de decizie sunt hipersuprafete (n ; 1)
dimensionale.
3.2. FUNCTII DISCRIMINANT 55

x2
(-10,10) H1
(20,10)
H3 (4,6)
H4 H2
x1
0

H1

Figura 3.3: Regiuni de decizie.

3.2 Functii discriminant


Presupunem ca avem o multime nita de pattern-uri n-dimensionale x1 , x2 : : :,
xP si cunoastem clasicarea dorita pentru ecare dintre ele. Presupunem ca avem
functiile discriminant g1, g2, ..., gR astfel ^ nc^at x face parte din clasa i daca si
numai daca
gi(x) > gj (x) pentru j = 1 2 : : : R si i 6= j:
Valorile gi(x) si gj (x) sunt scalare. Conform relatiei de mai sus, ^ n regiunea Hi,
gi(x) este maxim (g. 3.4).

g1(x)
1
g2(x)
2 1 Selector
2 clasa i0
x de
...

pattern maxim
...

R
gR(x)

Figura 3.4: Clasi cator.


Daca x se a%a pe suprafata de decizie dintre Hi si Hj , atunci
gi(x) ; gj (x) = 0:
Pentru cazul c^and R = 2, clasicatorul se numeste dihotomizator. Acest cuv^ant
provine din alaturarea cuvintelor grecesti dicha (^ n doua) si tomia (taietura). ^In
cazul dihotomizatorului, regula de clasicare devine:
g(x) > 0: clasa 1
g(x) < 0: clasa 2
56 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

unde g(x) = g1(x) ; g2(x).


Functia 8
< ;1
> g(x) < 0
i0 = sgn!g(x)] = > nedenit g(x) = 0
: +1 g(x) > 0
implementeaza un dihotomizator (g. 3.5). Problema gasirii functiilor discrimi-
nant este esentiala. Ele pot  liniare sau neliniare.

comparator
pattern discriminator
g(x) clasa i0
x g(x)
discriminant

Figura 3.5: Dihotomizator.

Ne vom concentra asupra clasicatorilor ale caror functii discriminant se obtin


prin ^ nvatare iterativa, cu ajutorul pattern-urilor de instruire. Presupunem ca:
1. Multimea pattern-urilor de instruire si clasicarea lor sunt cunoscute, deci
^ nvatarea este supervizata.
2. Functiile discriminant sunt liniare si doar coecientii lor sunt ajustati pe
parcursul procesului de ^ nvatare.

3.3 Clasicatori liniari


Vom discuta ^ n detaliu functiile discriminant liniare. ^In acest caz, suprafetele
de decizie sunt hiperplane. Consideram initial ca R = 2. Centrii P1 , P2 ale
clusterelor care formeaza cele doua clase sunt vectorii x1 si x2 , respectiv (g.
3.6).
Punctele prototip P1 si P2 pot  interpretate ca centrii de greutate ale clus-
terelor respective. Vom prefera ca hiperplanul de decizie sa contina mijlocul
segmentului care conecteaza P1 si P2 si sa e perpendicular pe vectorul x1 ; x2 .
Ecuatia hiperplanului de decizie este atunci:
 
g(x) = (x1 ; x2 )tx + 21 kx2 k2 ; kx1k2 :
^In general, ecuatia lui g(x) este de forma:
w1x1 + w2x2 + : : : + wnxn + wn+1 = 0
sau: wtx + wn+1 = 0
" #t " #
sau: w x =0
wn+1 1
3.3. CLASIFICATORI LINIARI 57

x2

g(x)>0

x1-x2 1_ clasa 1
izie
x1 P1 e dec
la nd
erp
hip
x1
| |
1 2 3

x2
P2
)=0
g(x
-1 clasa 2

Figura 3.6: Separarea a doua clase printr-un hiperplan de decizie.


2 w1 3
66 w2 77
unde: w = 66 ... 77
4 5
wn
este vectorul ponderilor. ^In cazul precedent,
 
w = x1 ; x2 wn+1 = 12 kx2 k2 ; kx1k2 :
Deci, daca punctele prototip P1 si P2 sunt cunoscute, se deduce si g(x).
Functiile discriminant liniare pot  folosite si daca avem mai mult dec^at doua
clase. Daca avem R clase, doua c^ate doua separabile, atunci vor  p^ana la R(R2;1)
hiperplane de decizie.
Sa presupunem ca folosim criteriul distantei minime pentru a clasica pattern-
uri si ca avem R clase. Fiecare clasa este reprezentata de un punct prototip
P1 P2 : : : PR reprezentat de un vector x1 : : : xR. Distanta euclidiana dintre un
pattern de intrare x si pattern-ul prototip xi este
q
kx ; xi k = (x ; xi )t(x ; xi ):
Clasicatorul calculeaza distantele dintre x si xi , i = 1 2 : : : R, aleg^and apoi
clasa pentru care distanta este minima. Avem:
kx ; xi k2 = xt x ; 2xtix + xtixi i = 1 2 : : : R:
De fapt, cautam xi pentru care se obtine max(xtix ; 12 xti xi ). Putem lua atunci:

gi(x) = xti x ; 12 xti xi i = 1 2 : : : R:


58 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

Functia discriminant are forma


gi(x) = witx + wi n+1 i = 1 2 ::: R
unde: wi = xi wi n+1 = ; 1 xtixi i = 1 2 : : : R:
2
Clasicatorii care folosesc criteriul distantei minime pot  considerati clasi-
catori liniari si ei se numesc uneori masini liniare. Un clasicator liniar arata ca
^ n gura 3.7.
w 11
w12 g 1(x)
+
...
w1,n+1 1
1
w1

x selector i0
...

pattern de maxim raspuns

w R1
g R(x)
...

+ R
w
1 R,n+1
wR
ponderi discriminanti

Figura 3.7: Clasi cator liniar.

Sa observam ca suprafata de decizie Sij dintre regiunile contigue (alaturate,
vecine) Hi si Hj este un hiperplan:
gi(x) ; gj (x) = 0
sau: witx + wi n+1 ; wjt x ; wj n+1 = 0:
Daca denim: " #
y = x1
obtinem:
gi(y) = wit y:
Sa presupunem ca avem o multime H de pattern-uri pe care o ^ mpartim ^ n
submultimile H1 H2 : : : HR . Daca o masina liniara poate clasica pattern-urile
din Hi ca fac^and parte din clasa i, pentru i = 1 2 : : : R, atunci multimile Hi
sunt liniar separabile. Mai formal, daca exista R functii liniare pentru care:
gi(x) > gj (x) pt. x 2 Hi i = 1 2 : : : R j = 1 2 : : : R i 6= j
3.4. PERCEPTRONUL DISCRET CA DIHOTOMIZATOR LINIAR 59

x1

_
1

x2
|
0 1

Figura 3.8: Pattern-uri neseparabile liniar.

atunci multimile Hi sunt liniar separabile.


^In gura 3.8 avem un exemplu de pattern-uri liniar neseparabile care pot 
modelate prin functia de paritate unipolara
XOR(x1 x2 ) = x1  x2
unde  este operatorul OR exclusiv.

3.4 Utilizarea perceptronului discret ^


n instru-
irea unui dihotomizator liniar
Am vazut ^ n sectiunea precedenta cum se pot determina coecientii discrimi-
nantilor liniari (ponderile) din informatia a priori asupra pattern-urilor si a
apartenentei lor la diferite clase.
^In aceasta sectiune, ponderile se vor obtine printr-un proces de ^ nvatare.
Pattern-urile de instruire x1 x2 : : : xP sunt prezentate masinii liniare (g. 3.9)
^ mpreuna cu raspunsurile corecte. Aceasta secventa de pattern-uri se numeste
secventa de instruire. Raspunsul este dat de catre supervizor, iar clasicatorul
^ si modica parametrii pe baza ^ nvatarii iterative supervizate.

w1
y1=x 1 comparator
w2
y2=x2
g(y) o=i0 i0 =1 sau -1
+
...

wn
yn=xn
wn+1
yn+1=1 -
d-o + d
+

Figura 3.9: Masina liniara.

Fie R = 2, deci analizam cazul unui dihotomizator (foloseste doua clase).


60 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

Suprafata de decizie ^ n spatiul En are ecuatia:


wtx + wn+1 = 0
sau: wty = 0 y 2 En+1:
Aceasta ecuatie descrie un hiperplan care trece prin origine si este perpendicular
pe vectorul y, iar y este ^ ndreptat catre semispatiul pentru care wty > 0, deci
catre semispatiul unde se a%a clasa 1.
^In gura 3.10 este dat un exemplu ^ n care pattern-urile y1, y2 ,...,y5 sunt
deplasate de la origine, ^ n paralel, de-a lungul hiperplanelor lor de decizie. Este
umbrita regiunea din spatiul ponderilor care satisface conditia de separabilitate
liniara a claselor 1 si 2.

pattern-ul 2 w2 pattern-ul 3
(clasa 2) (clasa 2)
w ty1 >0
y1 pattern-ul 1
5 (clasa 1)
w
pattern-ul 4 y4
(clasa 1)

w1

4
y2
y5
1 pattern-ul 5
y3 (clasa 2)

3 2

Figura 3.10: Reprezentarea unor suprafete de decizie ^n spatiul ponderilor.


Sa presupunem acum ca ponderile initiale sunt w1. Discutam despre pattern-
ul y1 din clasa 1. Conform gurii 3.11, y1 nu este clasicat corect, deoarece
w1ty1 < 0.
Ajustam vectorul w astfel ^ nc^at wty1 sa creasca c^at mai rapid, deci ^ n directia
gradientului. Gradientul este:
rw (wty1) = y1:
Deci, atunci c^and pattern-ul y1 este clasicat gresit, vom ajusta ponderile astfel:
w0 = w1 + cy1
3.4. PERCEPTRONUL DISCRET CA DIHOTOMIZATOR LINIAR 61

w2

w ty1 >0
w ty1 =0

w ty1 <0

y1 w1
(clasa 1)
w1

Figura 3.11: Ajustarea ponderilor pentru un pattern din clasa 1.

unde c > 0 este incrementul de corectie. Repet^and ajustarea de c^ateva ori, indife-
rent de valoarea lui c, ajungem cu ponderile ^ n regiunea corecta, unde wty1 > 0.
Sa presupunem ca ponderile initiale sunt w1. De data aceasta, discutam
despre pattern-ul y1 din clasa 2 (g. 3.12).
^In acest caz, y1 nu este clasicat corect, deoarece w1ty1 > 0. Descrestem c^at
mai rapid pe wty1 , deci ^ n directia gradientului negativ:
w0 = w1 ; cy1:
Procedura de instruire supervizata este, asadar:
w0 = w1  cy1
unde "+" este valabil c^and se clasica gresit un pattern din clasa 1, iar "-" este
valabil c^and se clasica gresit un pattern din clasa 2. Atunci c^and pattern-ul este
clasicat corect, nu se face nici o corectie. Procedura se repeta iterativ pentru
toate pattern-urile de instruire. Vom vedea ca aceasta formula este aceeasi cu
regula de ^ nvatare a perceptronului discret (sectiunea 3.8).
Sa rezumam clasicarea pattern-urilor liniar separabile apartin^and la doar
doua clase. Se cauta un vector w astfel ^ nc^at:
wty > 0 pentru x 2 H1 :
wty < 0 pentru x 2 H2
Perceptronul se instruieste pornind cu un vector al ponderilor care este ales ar-
bitrar si cu un increment de corectie ales, de asemenea, arbitrar. Se ajunge la
un vector w = wk , k0 ind numarul iteratiilor necesare pentru instruire. ^In
0

continuare,
w = wk = wk +1 = : : : :
0 0

Se poate demonstra urmatoarea teorema:


62 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

w2

w1 w ty1 >0
w ty1 =0

w ty1 <0

y1
(clasa 2)
w1

Figura 3.12: Ajustarea ponderilor pentru un pattern din clasa 2.

Teorema de convergenta a perceptronului. Un clasicator pen-


tru doua clase liniar separabile de pattern-uri este ^ ntotdeauna instru-
ibil ^ ntr-un numar nit de iteratii.
Vom discuta mai detaliat aceasta teorema ^ n sectiunea urmatoare.
Valoarea lui k0 depinde de incrementul de corectie si de secventa de pattern-
uri utilizate pentru instruire.
Regula w0 = w1  cy1 devine ^ n cazul instruirii percepronului discret:
wk+1 = wk + 2c (dk ; ok )yk
unde k este numarul iteratiei, ok este iesirea actuala iar dk reprezinta iesirea
dorita pentru vectorul yk aplicat la intrare. Daca dk = ok , nu se ajusteaza wk .
Daca dk = 1 si ok = ;1, atunci:
wk+1 = wk + cyk :
Daca dk = ;1 si ok = 1, atunci:
wk+1 = wk ; cyk :
Algoritmul de instruire a unui perceptron discret care poate  folosit apoi ca
dihotomizator liniar este urmatorul:
Se dau P perechi (x1 d1 ), (x2 d2),...,(xP dP ), unde xi este un
hvector deit n elemente, i = 1 2 : : : P . Se deneste vectorul y1 =
xi 1 , i = 1 2 : : : P .
1. Se alege c > 0.
3.5. PERCEPTRONUL CONTINUU CA DIHOTOMIZATOR LINIAR 63

2. Se initializeaza vectorul w de n + 1 elemente cu valori aleatoare


si mici. Se fac urmatoarele initializari: k  1, i  1 si E  0.
3. y  yi , d  di , o  sgn(wt y):
4. w  w + 12 c(d ; o)y:
5. Se calculeaza eroarea patratica cumulata:
E  E + 21 (d ; o)2:
6. if i < P then i  i + 1, k  k + 1, go to 3.
7. if E > 0 then E  0, i  1, go to 3.
else "s-a terminat instruirea", write w, k.

3.5 Utilizarea perceptronului continuu ^


n
instruirea unui dihotomizator liniar
Utilizarea perceptronului continuu are doua avantaje:
1. Un control mai n asupra procedurii de instruire.
2. Se lucreaza cu caracteristici diferentiabile ale comparatorului, ceea ce per-
mite calcularea gradientului erorii.

y1 =x1
...

o
yn =xn
yn+1 =1 E generator d
de eroare

Figura 3.13: Modelul folosit la instruirea unui perceptron continuu folosit ca dihotomizator
liniar.
Problema modicarii ponderilor se rezolva foarte elegant prin minimizarea
functiei care masoara eroarea de clasicare, iar aceasta minimizare se realizeaza
prin folosirea gradientului (g. 3.13). Se porneste de la un vector w arbitrar si
se calculeaza rE (w), gradientul functiei eroare curente. Urmatoarea valoare a
lui w este obtinuta ^ ndrept^andu-ne ^ n directia gradientului negativ de-a lungul
suprafetei multidimensionale a erorii. Directia gradientului negativ este cea a
descresterii cea mai rapide. Luam deci:
wk+1 = wk ; rE (wk )
64 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

unde  este constanta de ^nvatare, o valoare pozitiva.


Eroarea de clasicare care trebuie minimizata este:
Ek = 21 (dk ; ok )2
h i2
= 12 dk ; f (wktyk ) :
Obtinem (pentru simplicarea scrierii, omitem temporar indicii k):
rE (w) = ;(d ; o)f 0(net)y
unde net = wty, sau:
@E = ;(d ; o)f 0(net)y i = 1 2 : : : n + 1
i
@wi
care este, de fapt, regula delta de ^ nvatare pentru perceptronul continuu.
Daca functia de activare este
f (net) = 1 + 2e;net ; 1
^ n care luam  = 1, atunci
;net
f 0(net) = (1 +2ee;net )2 :
Aplicam identitatea
2e;net = 1 (1 ; o2)
(1 + e;net)2 2
care se verica lu^and o = f (net) si obtinem:
rE (w) = ; 12 (d ; o)(1 ; o2 )y:
Rezulta:
wk+1 = wk + 12 (dk ; ok )(1 ; ok 2)yk :
Aceasta regula corecteaza ponderile ^ n aceeasi directie ca si regula
wk+1 = wk + 2c (dk ; ok )yk
din cazul perceptronului discret. Difera marimea vectorului de corectie a ponderi-
lor. Ambele reguli implica adunarea sau scaderea unei fractiuni din y. Diferenta
esentiala este prezenta factorului moderator 1 ; o . Acest factor este 0 < 1 ;
k 2

o < 1. Atunci c^and raspunsurile sunt eronate, avem urmatoarea proprietate:


k 2

pentru net apropiat de 0, factorul de corectie este mai mare dec^at daca net este
departe de 0. Aceasta contribuie la stabilitatea procesului de ^ nvatare.
3.5. PERCEPTRONUL CONTINUU CA DIHOTOMIZATOR LINIAR 65

O alta diferenta semnicativa este ca algoritmul pe baza perceptronului dis-


cret duce ^ ntotdeauna la o solutie (daca solutia exista). Acest lucru nu este
garantat ^ n cazul perceptronului continuu pentru orice valoare a lui . Deoarece
valorile ponderilor se modica de la un pas la altul, nu mergem de fapt exact
^ n directia lui ;rE (w). Pentru  mic, putem considera ca mergem ^ n aceasta
directie. Pentru o valoare a lui  sucient de mica, se ajunge la un w care ^ l
minimizeaza pe E (w). Nu avem o teorema a perceptronului de tip continuu care
sa garanteze convergenta catre o solutie.
Algoritmul de instruire a unui perceptron continuu pentru utilizarea sa ca
dihotomizator liniar este urmatorul:
Se dau P perechi (x1 d1 ), (x2 d2),...,(xP dP ), unde xi este un
vector
h dei n elemente, i = 1 2 : : : P . Se deneste vectorul y1 =
xi 1 t , i = 1 2 : : : P .
1. Se aleg  > 0,  = 1 si Emax > 0.
2. Se initializeaza vectorul w de n + 1 elemente cu valori aleatoare
si mici. Se fac urmatoarele initializari: k  1, i  1 si E  0.
3. y  yi, d  di , o  f (wt y), care este functia de activare
continua.
4. w  w + 12 (d ; o)(1 ; o2 )y:
5. Se calculeaza eroarea patratica cumulata:
E  E + 21 (d ; o)2:
6. if i < P then i  i + 1, k  k + 1, go to 3.
7. if E  Emax then E  0, i  1, go to 3.
else "s-a terminat instruirea", write w, k, E .
^In acest capitol am presupus p^ana acum ca yn+1 = +1. Fie acum un diho-
tomizator bazat pe perceptron, ^ n care yn+1 = ;1 (g. 3.14).

y1 =x1 w1
...

f(net)
wn
yn =xn
wn+1
yn+1 =1

Figura 3.14: Perceptron instruit ca dihotomizator.


Ca urmare a procesului de instruire, obtinem acelasi rezultat, doar semnul lui
wn+1 se inverseaza. Putem lua deci yn+1 = +1 sau yn+1 = ;1.
66 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

Sa presupunem, ^ n cazul dihotomizatorului bazat pe perceptronul continuu,


ca luam yn+1 = ;1. Atunci:
net = wt x ; wn+1:
Luam T = wn+1. Avem:
(
f (net) > 0 pentru wtx > T :
f (net) < 0 pentru wtx < T
Functia de activare f cu argumentul wtx este cea din gura 3.15.

f(net)

1_

net
T=wn+1

-1

Figura 3.15: Functia de activare folosita de un perceptron instruit ca dihotomizator.

Procesul de instruire accepta pentru yn+1 orice valoare constanta. Lu^and ^ nsa
yn+1 = ;1, wn+1 devine egal cu pragul T al neuronului. De acum ^ ncolo, vom
considera yn+1 = ;1 si wn+1 = T , ^ n cazul ^ n care nu specicam altfel.

3.6 Mai multe despre teorema de convergenta


a perceptronului
Vom discuta ^ n aceasta sectiune mai ^ n detaliu acest important rezultat teoretic.
Sa ne reamintim enuntul teoremei:
T1. Un clasicator pentru doua clase liniar separabile de pattern-uri
este ^ ntotdeauna instruibil ^ ntr-un numar nit de iteratii.
Iteratiile se refera la relatia:
wk+1 = wk + 2c (dk ; ok )yk
3.6. TEOREMA DE CONVERGENTA A PERCEPTRONULUI 67

adica, daca:
dk 6= ok ) wk+1 = wk  cyk :
O alta varianta a acestei teoreme este cea formulata de Rosenblatt (1957) si
de Minsky si Papert (1969):
T2. Daca pattern-urile de intrare sunt din f;1 0 +1gn, atunci un
perceptron ^ nvata ^ ntr-un numar nit de pasi sa clasice corect pat-
tern-urile, presupun^and ca acestea sunt liniar separabile.
Trebuie sa notam ca:
1. Ponderile initiale pot  numere reale oarecare.
2. Nu ^ l putem determina pe k0 deoarece depinde de w , unde w este un
vector solutie pentru ponderi. Deci ar trebui sa ^ l cunoastem a priori pe w
pentru a determina numarul de iteratii. De asemenea, k0 depinde de w1.
Ne punem acum problema ce se ^ nt^ampla c^and aplicam algoritmul percep-
tronului asupra a doua clase de pattern-uri care nu sunt liniar separabile. Se
poate demonstra urmatoarea teorema:
T3. Pentru o secventa nita de pattern-uri de instruire cu n com-
ponente din f;1 0 +1gn, algoritmul de instruire a perceptronului va
executa, ^ ntr-un numar nit de pasi, exact una dintre urmatoarele
doua variante:
1. Produce un vector al ponderilor pentru care perceptronul clasi-
ca corect toate pattern-urile de instruire, daca si numai daca
aceste pattern-uri sunt liniar separabile.
2. Paraseste si reviziteaza un vector al ponderilor, daca si numai
daca pattern-urile de instruire nu sunt liniar separabile.
Se pot face acum urmatoarele observatii:
1. Rezulta astfel o procedura de testare a liniar separabilitatii.
2. Nu se cunoaste o limita superioara pentru c^at ar dura acest test.
^In nal, se poate demonstra urmatoarea teorema:
T4. Daca pattern-urile de instruire au componente reale, algoritmul
de instruire a perceptronului poate sa nu convearga catre o solutie,
chiar daca pattern-urile sunt liniar separabile (constanta de ^ nvatare
ind oarecare).
Cu alte cuvinte, atunci c^and pattern-urile de instruire au componente reale
oarecare, alegerea unei constante de ^ nvatare adecvate devine critica si aceasta
constanta nu mai poate  un numar real pozitiv oarecare.
68 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

3.7 Instruirea unui clasicator liniar prin uti-


lizarea unei retele monostrat de perceptroni
Fie R > 2 clase doua c^ate doua liniar separabile. Exista deci R functii discrimi-
nant liniare astfel ^ nc^at:
gi(x) > gj (x) pentru i j = 1 2 : : : R i 6= j 8x 2 Hi:
Denim vectorul ponderilor
h i
wq = wq1 wq2 : : : wq n+1 t :
Sa presupunem ca un pattern y este prezentat unui clasicator liniar. Daca
wity > wjt y, j = 1 2 : : : R, i =6 j , clasicarea este corecta si
w1 0 = w1
w2 0 = w2
...
wR 0 = wR
sunt valorile ajustate ale vectorilor ponderilor. Daca avem wity  wmt y pentru
un m 6= i, atunci:
wi0 = wi + cy
wm 0 = wm ; cy
wk 0 = wk pentru k = 1 2 : : : R k 6= i m
sau:
wij 0 = wij + cyj pentru j = 1 2 : : : n + 1
wmj 0 = wmj + cyj pentru j = 1 2 : : : n + 1
wkj 0 = wkj pentru k = 1 2 : : : R k 6= i m j = 1 2 : : : n + 1
Acest clasicator are la iesire un selector de maxim.
Sa ^ ncercam acum sa ^ nlocuim selectorul de maxim dintr-un clasicator liniar
cu R perceptroni discreti (g. 3.16).
Daca x 2 Hi, trebuie ca oi = 1 si oj = ;1 pentru j = 1 2 : : : R si j 6= i.
Eliminam astfel selectorul de maxim. Ajustarea ponderilor se face astfel:
k 
wik+1 = wik + c2 dki ; oki yk pentru i = 1 2 : : : R:
Aceasta este regula de instruire a clasicatorului bazat pe o retea de perceptroni
discreti. ^In relatia de mai sus, di si oi se refera la al i-lea perceptron.
Teorema perceptronului se poate generalizaa si demonstra si pentru cazul cu
R > 2 clase doua c^ate doua liniar separabile.
Algoritmul de instruire a unei retele monostrat de perceptroni folosita ca si
clasicator liniar este urmatorul:
3.8. EXEMPLE 69

w11
w12 comparator o1
+ 1
w1,n+1

...
w21
comparator o2
x w22 + 2

...
w2,n+1
-1

...
wR1
wR2 comparator oR
...
wR,n+1
+ R

Figura 3.16: Clasi cator liniar cu R clase.

Se dau perechile (x1 d1),... ,(xP dP ), unde xi este un h vector idet


R elemente si i = 1 2 : : : P . Se denesc vectorii yi = xi ;1 ,
i = 1 2 ::: P.
1. Se alege c > 0, ca ^n cazul perceptronului discret.
2. Se initializeaza matricea W de R  (n + 1) cu valori aleatoare si
mici. Se initializeaza k  1, p  1 si E  0.
3. y  yp, d  dP , oi  sgn(wity), pentru i = 1 2 : : : R, unde
wi este linia i din matricea W.
4. wi  wi + 12 c(di ; oi )y, pentru i = 1 2 : : : R, unde i reprezinta
elementul al i-lea din vectorul d.
5. E  12 (di ; oi )2 + E , i = 1 2 : : : R.
6. if i < P then i  i + 1, p  p + 1, go to 3.
7. if E  Emax then E  0, i  1, go to 3.
else "s-a terminat instruirea", write w, k, E .
Putem folosi si o retea de perceptroni de tip continuu (g. 3.17).
^In acest caz, ajustarea ponderilor se face astfel:
 
wik+1 = wik + 12 (dki ; oki ) 1 ; oki 2 yk pentru i = 1 2 : : : R:
Asupra acestei formule si a retelei de perceptroni de tip continuu vom discuta pe
larg ^ n capitolul urmator.

3.8 Exemple
Exemplu de construire a unui clasi cator liniar
Avem urmatoarele pattern-uri (3.18):
" # " # " #
x1 = 2 10 x2 = ;5 x3 = ;55
2
70 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

w11
w12 o1
w1,n+1

...
x

...
-1
wR1
wR2 oR
wR,n+1
...

Figura 3.17: Retea de perceptroni de tip continuu.

cu n = 2 si R = 3.
Folosim formula
wi = xi
wi n+1 = ; 12 xti xi i = 1 2 : : : R:
si obtinem ponderile:
2 3 2 3 2 3
10 2 ; 5
w1 = 64 2 75 w2 = 64 ;5 75 w3 = 64 5 75 :
;52 ;14 5 ;25
Din formula:
gi(x) = witx + wi i+1 i = 1 2 ::: R
obtinem functiile discriminant
g1(x) = 10x1 + 2x2 ; 52
g2(x) = 2x1 ; x2 ; 14 5
g3(x) = ;5x1 + 5x2 ; 25:
Din
wit x + wi n+1 ; wjt x ; wj n+1 = 0
sau din gi(x) ; gj (x) = 0, obtinem:
S12 : 8x1 + 7x2 ; 37 5 = 0
S13 : ;15x1 + 3x2 + 27 = 0
S23 : ;7x1 + 10x2 ; 10 5 = 0:
3.8. EXEMPLE 71

x2
S13

P3 (-5,5)
H1
H3 S 123 P1 (10,2)

x1

S23
S12

P2 (2,-5)
H2

Figura 3.18: Suprafetele de decizie pentru un clasi cator liniar. S123 = (2 337 2 686).

Exemplu de instruire a unui dihotomizator cu


ajutorul unui perceptron discret
Avem urmatoarele patru pattern-uri si raspunsuri dorite pentru ecare dintre ele:
Clasa 1: x1 = 1 x3 = 3 d1 = d3 = 1
Clasa 2: x2 = ;0 5 x4 = ;2 d2 = d4 = ;1:
Pattern-urile extinse sunt:
" # " # " # " #
1
y1 = 1 y2 = 1 ;0 5 y3 = 1 y4 = ;12 :
3
h it
Fie ponderile initiale w1 = ;2 5 1 75 alese arbitrar. Regula w0 = w  cy
devine ^ n cazul perceptronului:
h i
$wk = c dk ; sgn(wktyk ) yk :
2
Alegem c = 1.
Pasul 1. Aplicam y1
h i " 1 #!
o1 = sgn ;2 5 1 75 1 = ;1
d1 ; o1 ="2 #
;
w = w + y1 = 2 75 :
2 1 1 5
72 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

x1 10
2 g1(x)
x2 + 1
-52
1

x1 2
g2(x) selector i 0 =1 sau 2 sau 3
-5
x2 + 2 de maxim
-14,5
1

x1 -5
5 g3(x)
x2 + 3
-25
1

Figura 3.19: Clasi catorul liniar care implementeaza regiunile de decizie din gura 3.18.

w1
y1 =x1 comparator

net
+
w2
y2 =1
d-o -
+ d
+

Figura 3.20: Perceptron discret folosit ca un clasi cator instruibil.

Pasul 2. Aplicam y2
h i " ;0 5 #!
o2 = sgn ;1 5 2 75 1 =1
d2 ; o2 = ;2
" #
;1
w = w + y2 = 1 75 :
3 2

Pasul 3. Aplicam y3
o3 = ;1
d3 ; o3 = 2
" #
4 3 2
w = w + y3 = 2 75 :
Pasul 4. Aplicam y4 . Dupa citirea lui y4 , nu se modica ponderile. Reciclam
secventa y1, ..., y4 deoarece nu stim daca perceptronul a reusit sa ^ nvete sa
clasice corect.
3.8. EXEMPLE 73

Pasul 5. Aplicam y1
w5 = w4 :
Pasul 6. Aplicam y2
w6 = w5 :
Pasul 7. Aplicam y3 h i
w7 = 2 5 1 75 t :
Pasul 8. Aplicam y4
w8 = w7 :
Reciclam din nou si obtinem:
w10 = w9 = w8 = w7
h i
w11 = 3 0 75 care sunt ponderile nale:
Exemplu de instruire a unui dihotomizator liniar cu aju-
torul unui perceptron continuu
Reluam exemplul din cazul discret. Valoarea erorii la pasul k este:
  2
Ek = 21 dk ; 1 + e2;netk ; 1
unde netk = wkty. Lu^and yk = yk , pentru k = 1 2 3 4, obtinem:
1   2 2
E1 (w) = 2 1 ; 1 + e;(w +w ) ; 1 :1 2

Consideram  = 1 si obtinem:


E1 (w) = 2 :
!1 + e +w ]2
w 1 2

La urmatorii pasi obtinem:


E2(w) = 2
!1 + e0 5w ;w ]2
1 2

E3 (w) = 2
!1 + e3w +w ]2
1 2

E4(w) = 2 :
!1 + exp(2w1 ; w2)]2
Luam  = 0 5 si facem calculele conform algoritmului. Deoarece o nu poate 
niciodata 1, vom lua de obicei pentru d valorile -0,9 si 0,9.
74 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

Exemplu de instruire a unui clasi cator reprezentat ca re-


tea de perceptroni discreti
Reluam clasicatorul liniar (R = 3) construit deja pe baza distantei minime.
Sunt usor de calculat valorile functiilor discriminant ^ n x1 , x2 si x3:
x1 x2 x3
g1(x) 52 -42 -92
g2(x) -4,5 14,5 -49,5
g3(x) -65 -60 25
Raspunsurile maxime se obtin, desigur, pe diagonala. Construim (nu prin instru-
ire) reteaua de perceptroni corespunzatoare acestui clasicator (g. 3.21).

10 comparator o1
x1
2
+ 1
-5
2 comparator o2
x2 -5 + 2
5
50
12,5 comparator oR
-1 23 + R

Figura 3.21: Retea de perceptroni.


Ar trebui sa avem w1 3 = 52, w2 3 = 14 5 si w3 3 = 25 ca valori de prag. Putem
scadea aceste praguri cu 2 fara ca sa modicam raspunsurile clasicatorului.
Vom construi acum direct clasicatorul prin instruirea retelei de perceptroni.
Alegem aleator vectorii initiali:
2 3 2 3 2 3
1 0 1
w1 = 4 ;2 5 w2 = 4 ;1 5 w3 = 4 3 75 :
1 6 7 1 6 7 1 6
0 2 ;1
Fie c = 1. Cu "*" marcam raspunsurile incorecte.
Pasul 1. (y1) 2 3
  6 10 7
sgn 1 ;2 0 4 2 5 = 1
2 ;1 3
  10
sgn 0 ;1 2 64 2 75 = ;1
2 ;1 3
  10
sgn 1 3 ;1 64 2 75 = 1 
;1
3.8. EXEMPLE 75

2 3 2 3 2 3
1 10 ;9
w12 = w11 w22 = w21 w32 = 64 3 75 ; 64 2 75 = 64 1 75 :
;1 ;1 0
Pasul 2. (y2) 2 3
 6 2 7
sgn 1 ;2 0 4 ;5 5 = 1 
2 ;1 3
  2
sgn 0 ;1 2 64 ;5 75 = 1
2 ;1 3
  2
sgn ;9 1 0 64 ;5 75 = ;1 
;1
2 3 2 3 2 3
6 1
7 6 2
7 6 ;1 7
w1 = 4 2 5 ; 4 ;5 5 = 4 3 5
3
w23 = w22 w33 = w32:
0 ;1 1
Pasul 3. (y3)
sgn (w13t y3) = 1 
sgn (w23t y3) = ;1
sgn (w33t y3) = 1
2 3
4
w14 = 64 ;2 75 w24 = w23 w34 = w33:
2

Se ^ ncheie primul ciclu, apoi reluam secventa etc. Se modica doar ponderile
primului perceptron.
2 3 2 3 2 3
2 7 5
w15 = w14 w16 = 64 3 75 w17 = 64 ;2 75 w18 = w17 w19 = 64 3 75 :
3 4 5
Obtinem o retea de perceptroni pentru care:
o1 = sgn(5x1 + 3x2 ; 5)
o2 = sgn(;x2 ; 2)
o3 = sgn(;9x1 + x2 ):
S-au produs regiuni deh indecizie (^i n g 3.22, sunt zonele umbrite). De exem-
t
plu, pentru Q avem o = 1 1 ;1 : Pe de alta parte, pattern-uri ca acest Q
nu au fost utilizate la instruire.
76 CAPITOLUL 3. PERCEPTRONI MONOSTRAT

x2
5x1 +3x2 -5=0
-9x 1+x 2=0

P3 (-5,5)
t
o=[+1 -1 -1]
t
o=[-1 -1 +1] P 1 (10,2)

x1

-x 2 -2=0

o=[+1 +1 -1]t
P2 (2,-5)

o=[-1 +1 -1] t

Figura 3.22: Regiuni de indecizie.

3.9 Exercitii
1. (C) Implementati algoritmul de instruire ah unui dihotomizator
it cu ajutorul
unui perceptron discret lu^and c = 1, w = 0 0 0 0 si
h it h it h it
clasa 1, x: h 0 8 0 5 0 i h 0 9 0 7 0 3 i h 1 0 8 0 5 i
t t t
clasa 2, x: 0 0 2 0 3 02 01 13 02 07 08 :
^Incercati si alte valori pentru c.

1 2 3 1 2 3

4 5 6 4 5 6

7 8 9 7 8 9

[ 1 0 0 1 0 0 1 1 1 ]

Figura 3.23: Caracterele tiparite L si I folosite al instruirea unui dihotomizator.


3.9. EXERCITII 77

2. (C) Implementati algoritmul de instruire a unui dihotomizator cu aju-


torul unui perceptron continuu ^ n conditiile problemei precedente. ^Incercati
diferite valori pentru constanta de ^ nvatare.
3. Prin algoritmul de instruire a unui clasicator liniar cu trei clase reprezentat
printr-o retea de trei perceptroni discreti, s-a ajuns ca ^ n trei pasi sa se
termine instruirea. Se considera c = 1.
h i
Pasul 1. (x1). Se ajusteaza w11 = w21 = w31 = 0 0 0 t .
Pasul 2. (x2). Se ajusteaza w32.
Pasul 3. (x3). Se ajusteaza w23.
^In nal,
h it h it h i
w14 = 1 3 ;1 w24 = 5 ;1 ;2 w34 = 1 ;1 2 t :
Gasiti pattern-urile x1 , x2 si x3.
4. (C) Implementati algoritmul de instruire a unui clasicator liniar reprezen-
tat
ca retea de perceptroni discreti folosind c = 1 si urmatoarele pattern-uri de
instruire:
h it h it
i0 = 1 pentru x: h 1 0 0 i h 1 1 0
it
t
i0 = 2 pentru x: h 1 0 1 i h 1 1 1
it
t
i0 = 3 pentru x: h 1 1 0 i h 0 1 1
it
t
i0 = 4 pentru x: 0 0 0 0 0 1 :
Reprezentati suprafetele de decizie rezultate.
5. Proiectati si instruiti un clasicator pentru caracterele tiparite L si I (g.
3.23).
Folositi un perceptron discret. Ce se ^ nt^ampla daca literele sunt distorsion-
ate?
Rezultat: Apare indecizia. Ar trebui sa instruim perceptronul si cu aceste
litere distorsionate.
78 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
Capitolul 4
Retele neurale feedforward
multistrat
Pentru pattern-uri de instruire care nu sunt liniar separabile, reteaua neurala
introdusa ^ n capitolul 3 trebuie modicata. Modicarea se poate face astfel:
- e prin utilizarea unor functii discriminant neliniare (de ex. liniare pe
portiuni)
- e printr-o retea multistrat.
Alegem ultima varianta. ^In acest caz, ecare strat este compus dintr-o retea care
se bazeaza pe conceptul de functie discriminant liniara.
Retelele multistrat pot implementa suprafete de decizie arbitrare. ^In com-
pletare la capitolul 3, se pot rezolva astfel multe alte aplicatii: aproximarea
functiilor, recunoasterea caracterelor scrise, recunoasterea vorbirii, sisteme ex-
pert, generarea traiectoriilor etc.
Retelele neurale multistrat sunt ^ n prezent cele mai rasp^andite arhitecturi.
^In acest capitol, vom studia retelele neurale multistrat instruibile.

4.1 Clasicarea pattern-urilor liniar


neseparabile
Fie doua multimi de pattern-uri Y1 si Y2. Daca nu exista un vector w al ponderilor
astfel ^ nc^at:
yt w > 0 pentru orice y 2 Y1
yt w < 0 pentru orice y 2 Y2
atunci Y1 si Y2 sunt liniar neseparabile. Vom presupune ca pattern-urile din Y1
si Y2 sunt vectori mariti cu o componenta.
Sa presupunem pentru ^ nceput ca doua multimi de pattern-uri H1 si H2 tre-
buie clasicate ^ n doua categorii (g. 4.1).
Aceasta clasicare se poate implementa ca ^ n gura 4.2.
79
80 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

3 clasa 1
clasa 2

D
C

E
A

1
B
2

Figura 4.1: Doua multimi de pattern-uri care trebuie clasi cate ^n doua categorii.

Fiecare dintre cele sapte compartimente (inclusiv A,...,E) sunt aplicate ^ ntr-
unul din v^arfurile cubului, ^ n spatiul o1o2 o3 (spatiul o). Se observa ca ^ n spatiul
imagine o, pattern-urile din cele doua clase sunt usor separabile printr-un plan,
de exemplu prin planul o1 + o2 + o3 = 0. Perceptronul cu intrarile o1, o2, o3 este
un dihotomizator liniar:
(
o4 = sgn( o1 + o2 + o3) > 0 : clasa 1
sgn(o1 + o2 + o3) < 0 : clasa 2 :

4.2 Regula de ^
nvatare delta pentru o retea de
neuroni monostrat
Fie o retea monostrat de perceptroni de tip continuu (g. 4.3) ^ n care daca
yJ = ;1, atunci wkJ , k = 1 2 : : : K sunt chiar valorile pragurilor celor K
neuroni.
^In aceasta retea, o = ; !Wy], unde:
2 y1 3 2o 3 2 w w ::: w 3
1J
66 y2 77 66 o12 77 66 w1121 : :12: 77
y = 66 ... 77 o = 66 .. 77 W = 66 .. 77
4 5 4 . 5 4 . 5
yJ oK wK 1 : : : wKJ
4.2. REGULA DE ^INVAT
  ARE DELTA 81

o3

(-1,-1, 1) A (-1, 0, 1) C
(-1, 1, 1)
(1,-1, 1)
comparator o1
+ 1 B (1, 1, 1)
x
comparator o2 comparator o4
+ 2 + 4 (-1, 1, 0)

1 + comparator o3 (1,-1, 0)
3 0
transformare imagine (-1,-1,-1) D o2
pattern-imagine -1 liniar separabila
(-1, 1,-1)
(1,-1,-1)
(1, 1,-1) E
o1

(a) (b)

Figura 4.2: (a) Clasi cator monostrat (b) Reprezentarea pattern-urilor din gura 4.1 ^n spatiul
imagine o.

w11
1
y1 o1
wk1
wK1
...

...

wkj ok
yj
...
...

K
yJ wKJ oK

Figura 4.3: Retea monostrat de perceptorni de tip continuu.


2 f ( ) 0 : : : 0 3
66 0 f ( ) : : : 0 77
;! ] = 66 ... 77 :
4 5
0 0 : : : f ( )
Prin denitie, 3 2
d1 7
... 7 :
5 d = 664
dK
este raspunsul dorit. Generalizam expresia erorii:
1 XK  2
Ep = 2 dpk ; opk = 12 kdp ; opk2
k=1
82 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

pentru un pattern p, p = 1 2 : : : P , unde dp este raspunsul dorit, iar op raspunsul


retelei pentru pattern-ul p:
2 3 2 3
d p1 o p1
dp = 664 ... 775 op = 664 ... 775 :
dpK opK
Pentru simplitate, sa presupunem ca
yJ = ;1 si wkJ = Tk pentru k = 1 2 : : : K
unde Tk sunt praguri. Ca si ^ n cazul unui singur perceptron, calculam
$wkj = ; @w @E
kj
deci pe directia gradientului negativ al erorii, unde pentru simplitate am omis
indicele lui E . Avem:
ok = f (netk ) netk = PJj=1 wkj yj pentru k = 1 2 : : : K:
Semnalul de eroare pentru al k-lea neuron este:
@E :
ok = ; @net
k
Acest semnal l-am numit si semnal de ^nvatare. Avem:
@E = @E @netk = ; y
ok j
@wkj @netk @wkj
deoarece
@netk = y :
j
@w kj
Putem scrie:
$wkj =  ok yj pentru k = 1 2 : : : K j = 1 2 : : : J:
Calculam:
@E @ok
ok = ; @o
k @netk
Dar
@ok
f 0k (netk ) = @net
k
si
@E = ;(d ; o ):
k k
@ok
Obtinem:
ok = (dk ; ok )f 0k (netk ) pentru k = 1 2 : : : K:
4.2. REGULA DE ^INVAT
  ARE DELTA 83

Formula de ajustare a ponderilor este atunci:


$wkj = (dk ; ok )f 0k (netk )yj
si este identica cu regula de ^ nvatare delta pentru un singur perceptron.
Pentru functia de activare continua unipolara, obtinem
f 0(net) = (1 +e e;net)2 = 1 + 1e;net 1 +1 +e e;net; 1 = o(1 ; o):
;net ;net

^In acest caz, avem:


ok = (dk ; ok )ok (1 ; ok ):
^In cazul bipolar, am aratat ^ n capitolul 3 ca:
f 0(net) = 12 (1 ; o2 )
si deci:
ok = 21 (dk ; ok )(1 ; o2k ):
^In concluzie, actualizarea ponderilor se face pentru k = 1 2 : : : K , j = 1 2 : : : J
astfel:
w0kj = wkj + (dk ; ok )ok (1 ; ok )yj
pentru
ok = 1 + e1;netk
si
w0kj = wkj + 12 (dk ; ok )(1 ; o2k )yj
pentru  !
1
ok = 2 1 + e;netk ; 1 :
2
^In general, putem scrie
W0 = W +  o yt
unde 2 3
66 oo12 77
o = 66 .. 77 :
4 . 5
oK
Algoritmul de instruire a unei retele monostrat de perceptroni de tip continuu
prin regula delta este urmatorul:
Se dau perechile (y1 d1 ), (y2 d2 ),...,(yP dP ), unde yi este un vec-
tor de J elemente, di este un vector de K elemente, iar componenta
J a vectorului yi, i = 1 2 : : : P , este ;1.
84 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

1. Se aleg  > 0 si Emax > 0.


2. Se initializeaza matricea W de K J elemente cu valori aleatoare
si mici. Se initializeaza: p  1, q  1 si E  0.
3. y  yp , d  dp, ok  f (wkt y) pentru k = 1 2 : : : K , unde wk
este linia k din W.
4. Se actualizeaza ponderile conform regulii
wk  wk + 21 (dk ; ok )(1 ; o2k )y
pentru k = 1 2 : : : K ^n cazul bipolar
si conform regulii
wk  wk + (dk ; ok )ok (1 ; ok )y
pentru k = 1 2 : : : K ^n cazul unipolar.
5. Se calculeaza eroarea patratica cumulata:
E  E + 12 (dk ; ok )2 k = 1 2 : : : K:
6. if p < P then p  p + 1, q  q + 1, go to 3.
7. if E  Emax then E  0, p  1, go to 3.
else "s-a terminat instruirea", write W, q , E .

4.3 Regula delta generalizata


Vom generaliza acum regula delta de ^ nvatare pentru retele feedforward multi-
strat. Consideram pentru aceasta o retea de neuroni cu doua straturi (g. 4.4).
Straturile de neuroni ale caror iesiri nu sunt direct accesibile se numesc straturi
interne sau straturi ascunse. Pentru stratul ascuns avem:
$vji = ; @E j = 1 2 : : : J i = 1 2 : : : I
@vji
@E = @E @netj
@vji @netj @vji
$vji =  yj zi
unde yj este semnalul de eroare pentru stratul ascuns av^and iesirea y. Vom scrie
yj = ; @net@E j = 1 2 : : : J
j
si atunci
yj = ; @y @E @yj
j @net
j
4.3. REGULA DELTA GENERALIZATA 85

y1
z1 v 11
v 11 w11
wk1
1
o1

...
yj
zi v ji
wkj

...
ok

...
zI-1

...
w K1
yJ-1 K
oK
v J-1,I
w KJ
zI = -1 v JI yJ = -1

Figura 4.4: Retea neurala feedforward cu un strat ascuns.

unde  K !
@E = @ 1 X
@yj @yj 2 k=1 fdk ; f !netk (y)]g :
2

Dar
@yj
f 0i(netj ) = @net
j

@E = ; XK @ (f !net (y)])
( d k ; ok ) k
@yj k=1 @yj
XK
= ; (dk ; ok )f 0(netk ) @net@y
k
k=1 j
XK
= ; ok wkj
k=1
deoarece
ok = (dk ; ok )f 0(netk )
X
J
netk = wkj yj :
j =1
Atunci:
X
K
yj = f 0j (netj ) ok wkj j = 1 2 ::: J
k=1
X K
$vji = f 0j (netj )zi ok wkj j = 1 2 : : : J i = 1 2 : : : I:
k=1
86 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

Ultima relatie este regula delta generalizata. Aceasta regula se poate rescrie ^ n
felul urmator:
X
K
v0ji = vji + f 0j (netj )zi ok wkj j = 1 2 ::: J i = 1 2 ::: I
k=1
sau, matriceal:
V0 = V +  y zt
unde 2 3 2 3 2 3
66 z..1 77 6 v11
...
:::
...
v1I 7 y
... 7 y = 66 ... 77
5 V = 64
1

z=4 . 5 4 5:
zI vJ 1 ::: vJI yJ
^In aceasta relatie,
X
K
yj = f 0j (netj ) ok wkj
k=1
sau
y = wjt of 0 y
unde wj este coloana j din W, iar
2 0 3
66 f ..y 77 1

f y = 4 . 5:
0
f 0yJ
Pentru cazul unipolar, folosim f 0yj = yj (1 ; yj ), iar pentru cazul bipolar avem
f 0yj = 21 (1 ; yj2).
Compar^and regulile de actualizare a ponderilor:
pentru stratul de iesire: W0 = W +  oyt
pentru stratul ascuns: V0 = V +  y zt
se observa ca diferenta semnicativa este indicele care localizeaza stratul si modul
^ n care se calculeaza vectorul semnalului de eroare :
h it
o = h o : : : oK i ok = (dk ; ok )f 0ok (netk )
1
t
y = y : : : yJ
1 yj = wjt o f 0yj (netj ):
Se observa ca wjt o este produsul scalar al semnalelor de eroare provenind de la
stratul urmator.
Regula delta generalizata propaga eroarea cu c^ate un strat ^ n urma. Vom
formaliza ^ n continuare aceasta metoda de instruire pentru o retea neurala mul-
tistrat.
4.4. ALGORITMUL DE INSTRUIRE BACKPROPAGATION 87

4.4 Instruirea unei retele neurale multistrat


prin propagarea ^
n urma a erorii
^In general, o retea neurala multistrat aplica vectorul de intrare z ^ n vectorul de
iesire o astfel:
o = N !z]
unde N este un operator compus neliniar matricial. Pentru reteaua cu un strat
ascuns avem:
o = ;!W;!Vz]]:
^In acest caz, trebuie sa ajustam matricile V si W astfel ^ nc^at eroarea
kd ; ok2
sa e minima. Algoritmul de instruire a unei retele neurale multistrat prin propa-
garea ^ n urma a erorii (error backpropagation) este:
Se dau perechile (z1 d1 ), (z2 d2 ),...,(zP dP ), unde zi este un vec-
tor de I elemente, ziI = ;1 si i = 1 2 : : : P . Se determina marimea
stratului ascuns. Acesta va avea iesirile y, unde y este un vector
de J elemente, iar yJ = ;1. Iesirile o din retea sunt vectori de K
elemente.
1. Se aleg  > 0 si Emax > 0. Se initializeaza matricea W de K  J
si matricea V de J  I elemente cu valori aleatoare, mici. Se
initializeaza p  1, q  1 si E  0.
2. Se initializeaza
z  zp d  dp
yj  f (vjt z) pentru j = 1 2 : : : J
unde vj este un vector coloana reprezent^and linia j din V,
ok  f (wkt y) pentru k = 1 2 : : : K
unde wk este un vector coloana reprezent^and linia k din W.
3. Se calculeaza eroarea patratica cumulata:
E  E + 21 (dk ; ok )2 k = 1 2 : : : K:
4. Se calculeaza semnalele de eroare pentru cazul bipolar:
ok = 12 (dk ; ok )(1 ; o2k ) k = 1 2 : : : K
1 XK
yj = 2 (1 ; yj ) ok wkj j = 1 2 : : : J
2

k=1
88 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

respectiv, pentru cazul unipolar:


ok = (dk ; ok )(1 ; ok )ok k = 1 2 ::: K
X
K
yj = yj (1 ; yj ) ok wkj j = 1 2 : : : J:
k=1
5. Se ajusteaza ponderile stratului de iesire:
wkj  wkj +  ok yj k = 1 2 ::: K j = 1 2 : : : J:
6. Se ajusteaza ponderile stratului ascuns:
vji  vji +  yj zi j = 1 2 :::J i = 1 2 : : : I:
7. if p < P then p  p + 1, q  q + 1, go to 2.
8. if E  Emax then E  0, p  1, go to 2.
else "s-a terminat instruirea", write W, V, q, E .
^In algoritmul de instruire prin propagarea ^ n urma a erorii, ^ n loc de
$wkjn+1 =  ok yj
$vjin+1 =  yj zi
putem lua
$wkjn+1 =  ok yj + $wkjn
$vjin+1 =  yj zi + $vjin
unde  este o constanta numita momentum. Prin regula delta, nu ne deplasam
de fapt ^ n directia gradientului negativ al erorii, deoarece ponderile se modica la
ecare pas. Pot aparea oscilatii daca  este mare. Daca  este mic, oscilatiile sunt
neglijabile, dar rata ^ nvatarii este prea mica. Termenul ^ n care apare  ltreaza
oscilatiile. De obicei, se ia  = 0 9 si se poate mari . Daca  = 0, ajungem la
acelasi rezultat, dar trebuie sa folosim o valoare mai mica pentru . Instruirea
poate dura ^ nsa mai mult.
Algoritmul de instruire prin propagarea ^ n urma a erorii face o serie de de-
plasari ^ n sensul gradientilor negativi ai valorilor individuale pe care le ia Ep,
adica pentru un pattern, si nu ^ n sensul gradientului negativ al lui E . Acest
lucru se ^ nt^ampla deoarece  nu este innit de mic. Din acest motiv, ^ n anumite
cazuri, dupa citirea lui zp, se poate ca E sa creasca! Eroarea referitoare doar la
zp scade ^ nsa, sau ram^ane zero.
^In general, functia de activare bipolara duce la rezultate mai bune dec^at
functia unipolara.
^In cazul discret, intrarea xa este ceruta de teorema perceptronului, permi-
t^and crearea de hiperplane de separatie care nu trec prin origine. La regula delta
4.5. FACTORI AI ^INVAT
  ARII
 89

generalizata, intrarea xa este recomandata nu de o teorema, ci de ideea obtinerii


unei aproximari mai %exibile.
Eroarea cumulata este:
1 XP X K
E=2 (dpk ; opk )2 :
p=1 k=1
Aceasta eroare poate  foarte mare daca P si K sunt mari. De aceea, este mai
adecvat sa folosim: v
u
1 uX P X K
Em = PK t (dpk ; opk )2
p=1 k=1
adica eroarea medie normalizata.
Atunci c^and reteaua este instruita ca si clasicator, ne intereseaza doar eroarea
de decizie:
Ed = PK Ner
unde Ner este numarul total de erori de clasicare. De obicei, iesirile dorite sunt
0, cu exceptia uneia care este 1 si corespunde clasei din care face parte pattern-
ul respectiv. O retea multistrat poate  transformata ^ ntr-un clasicator, dupa
instruire, prin ^ nlocuirea perceptronilor de tip continuu cu perceptroni discreti.
Clasicarea este o forma importanta a calculului neural, ^ nsa ea limiteaza
potentialul de calcul al unei retele, deoarece foloseste raspunsul binar. O retea
multistrat poate  utilizata si pentru aproximarea functiilor.

4.5 Factori ai ^
nvatarii
Algoritmul de instruire prin propagarea ^ n urma a erorii poate  interpretat ca
o problema de optimizare: se minimizeaza eroarea medie cumulata Em , merg^and
pe directia gradientului negativ.
O dicultate tipica ar  ca prin acest algoritm se poate sa obtinem doar un
minim local pentru functia eroare. Prin faptul ca impunem o valoare minima
acceptabila pentru Em , putem controla acest lucru. Se poate ^ nsa sa nu avem o
convergenta a algoritmului, daca ne ^ ndreptam spre un minim local ^ n loc de a
ne ^ ndrepta spre un minim global. Este de fapt un algoritm de tip greedy.
Totusi, problema minimelor locale nu este o problema majora a acestui al-
goritm. Aceasta deoarece algoritmul are o natura stohastica: exista o anumita
randomizare ^ n instruire. Cu c^at reteaua este mai mare, cu at^at mai bine va
functiona instruirea. Natura stohastica este data at^at de ponderile initiale, c^at
si de pattern-urile de instruire. Chiar c^and pattern-urile de instruire au o natura
determinista, adaugarea unui zgomot cu medie zero poate duce al ^ mbunatatirea
ecientei instruirii.
Instruirea functioneaza cel mai bine ^ n conditii de randomizare. De aceea,
ponderile initiale se aleg cu valori aleatoare, iar pattern-urile de instruire este
bine sa e ^ ntr-o secventa aleatoare.
90 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

Sa studiem acum efectul lui  asupra lui f 0(net) (g. 4.5). Avem
;net
f 0(net) = (12+ee;net )2
pentru functia de activare continua bipolara.

f’(net, λ )

λ=2
λ=1

λ=0,5 net

Figura 4.5: Efectul lui  asupra lui f (net).


0

Deoarece ponderile sunt ajustate proportional cu f 0(net), ^ nseamna ca pon-


derile corespunzatoare neuronilor pentru care net = 0 se modica cel mai mult.
Ponderile neuronilor cu raspunsuri incerte sunt cele mai afectate. Deoarece sem-
nalele de eroare ok si yj sunt de asemenea proportionale cu f 0(net), rezulta ca,
componentele erorii care se propaga ^ n urma sunt mari doar pentru neuronii cu
raspunsuri incerte.
Se observa ca, pentru o constanta de ^ nvatare xata, ajustarea ponderilor
este proportionala cu . Folosirea functiilor de activare cu valoare mare pentru
 are acelasi efect cu utilizarea unei constante de ^ nvatare mari. De aceea, este
recomandabil sa pastram  = 1 si sa controlam viteza de ^ nvatare doar prin .
Valoarea optima pentru constanta de ^ nvatare  depinde de problema de re-
zolvat. O valoare mare pentru  duce al viteza mai mare de ^ nvatare, dar se poate
ca astfel sa trecem de solutie. O valoare mai mica pentru  duce la o ranare
(pasi mai mici) care ^ nsa ^ nseamna si pasi mai multi, deci timp de procesare mai
^ ndelungat. ^In concluzie,  trebuie ales ^ n mod experimental pentru ecare pro-
blema. Cel mai bine, se porneste cu  av^and valoare mica si se ^ ncearca marirea
acestui parametru pentru a mari viteza algoritmului. S-a observat ca ^ n general
valorile pentru  sunt ^ ntre 10;3 si 10.
Una dintre cele mai importante probleme este alegerea arhitecturii retelei. Sa
presupunem ca avem un singur strat ascuns de J neuroni, ca stratul de iesire are
K neuroni si ca avem I noduri de intrare ^ n retea. Evident, I este dependent de
problema de rezolvat, deci ^ l consideram xat. Cum ^ i alegem pe J si pe K ?
Daca reteaua functioneaza ca un clasicator, K poate  egal cu numarul de
clase. Dar K poate  considerat si log2 C , unde C este numarul claselor, daca
folosim o reprezentare binara a claselor. De exemplu, pentru 2 neuroni de iesire
putem avea clasele 0, 1, 2, 3, corespunzatoare iesirilor 00, 01, 10, 11. Numarul
4.5. FACTORI AI ^INVAT
  ARII
 91

de neuroni de iesire pentru un clasicator cu C clase poate  deci un ^ ntreg ^ ntre


log2 C si C . Pe de alta parte, comprimarea stratului de iesire sub C neuroni
poate afecta perioada de instruire si robustetea retelei nale. De aceea, ^ n cazul
unui clasicator, se ia de obicei K = C .
Alegerea lui J este ^ nca o problema ^ n studiu. Retelele cu un singur strat
ascuns pot forma regiuni arbitrare de decizie pentru pattern-uri n-dimensionale.
Sa presupunem ca avem o colectie de pattern-uri n-dimensionale liniar separabile
^ n M regiuni disjuncte apartin^and ecare la una dintre cele R clase, R  M .
Evident, trebuie ca numarul de pattern-uri de instruire, P , sa e mai mare sau
cel mult egal cu M .
Cu c^at P=M este mai mare, cu at^at instruirea este mai na. Mirchandini si
Cao 1 au aratat care este numarul maxim de regiuni liniar separabile folosind J
neuroni:
Xn J !

k=0 k
 !
unde Jk = 0 pentru k > J .

2-clasa 1
1 1,3,5,7-clasa 2
2 3
4,6-clasa 3

4 6
5
7

Figura 4.6: Regiuni disjuncte care apartin la trei clase.

^In exemplul nostru (g. 4.6), avem n = 2 si M = 7. Deci,


 !  !  !
J + J + J = 1 + J + J 2  7:
0 1 2 2 2
De aici, rezulta o estimare pentru marimea stratului ascuns: J = 3. Daca avem
n  J , atunci numarul maxim de regiuni este
 !  !  !
J + J + : : : J = 2J
0 1 J
si de aici ^ l obtimem pe J .
1Mirchandini, G., W. Cao "On Hidden Nodes in Neural Nets". IEEE Trans. Circuits and
Systems, 36, 1989, 661-664.
92 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

4.6 Retele feedforward multistrat folosite


ca aproximatori universali
Ne propunem sa aproximam functia continua h(x) cu functia treapta H (w x)
(g. 4.7).

h(x)
H(w,x)

h(x)
H(w,x)

h1

h2

x
0 a x1 x2 xp b
{

∆x

Figura 4.7: Aproximarea functiei h(x) cu functia treapta H (w x).


Presupunem ca se cunosc P esantioane, adica valorile functiei h(x) ^ n punctele
x1 , x2 ,..., xP . Presupunem ca
xi+1 ; xi = $x = b ; P
a i = 1 2 : : : P:

Denim functia
8
>0
< pentru x < 0
(x) = 12 sgn(x) + 12 = > nedenit pentru x = 0 :
:1 pentru x > 0
Scriem atunci:
X
P $x   $ x 
H (w x) = hi! x ; xi + 2 ; x ; xi ; 2 ]
i=1
unde hi = h(xi ).
4.6. APROXIMATORI UNIVERSALI 93

Putem scrie:
   
x ; xi + $2x ; x ; xi ; $2x =
1 sgn x ; x + $x  ; 1 sgn x ; x ; $x  :
i i
2 2 2 2
Acest termen este o fereastra de ^ naltime unitara si latime $x (g. 4.8).

implementare cu
perceptroni de tip discret

1- implementare cu
perceptroni de tip continuu

x
0 x −∆ x
i
___________ x i +∆ x
x i ___________
2 2

Figura 4.8: Fereastra de ^naltime unitara si latime x.


Fereastra se poate implementa ca ^ n gura 4.9.
x 1

-1 + comparator
1 1/2
−∆x
____ o
xi 2
+
1
-1 comparator -1/2

+∆ x
+ 2
-1 ____
2

Figura 4.9: Retea neurala care implementeaza fereastra de ^naltime unitara si latime x.
O retea cu 2P perceptroni discreti poate implementa functia H (w x). Pentru
un termen, reteaua se poate descrie ca ^ n gura 4.10.
^In general, o functie h(x), unde x este un vector, poate  aproximata printr-o
retea neurala cu un singur strat ascuns. ^In ce masura reteaua este instruibila (de
pilda, prin regula delta generalizata), ram^ane o problema deschisa.
Fara a demonstra, vom mentiona doua importante proprietati:
1. O retea feedforward cu un singur strat ascuns poate aproxima oric^at de
bine orice functie neliniara continua.
2. O retea feedforward cu un singur strat ascuns poate implementa o functie
booleana arbitrara.
94 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

x 1 x
1 + comparator
1 1/2 + 1
∆x
_______
xi - o o
2 + +
-1/2
+ comparator
2 + 2
-1 ∆x -1
xi + _______
2

(a) (b)

Figura 4.10: Implementare folosind (a) perceptroni de tip discret si (b) perceptroni de tip
continuu cu c^at  este mai mare, cu at^at mai mult forma ferestrei se apropie de cea rectangulara.

4.7 Teorema lui Kolmogorov si retelele neurale


^In loc de a aproxima o functie continua, ne punem acum problema reprezentarii
ei exacte printr-o retea neurala.
^In 1900, David Hilbert a formulat urmatoarea ipoteza: o functie continua de
mai multe variabile nu este ^n mod necesar decompozabila ^ntr-o suprapunere de
functii continue de un numar mai mic de variabile. Aceasta presupunere a fost
contrazisa ^ n 1957 de Kolmogorov printr-o teorema a carei aplicatii au aparut
abia acum, ^ n contextul retelelor neurale.
Teorema lui Kolmogorov arma ca orice functie f continua denita pe un cub
n-dimensional este reprezentabila astfel:
0n 1
X
2n+1 X
f (x1 : : : xn) = 'q @ pq (xp)A
q=1 p=1
unde 'q , q = 1 : : : 2n + 1 si pq , p = 1 : : : n sunt functii continue de o singura
variabila.
1
1 y1
x1
2
x2 2 y2
...

...
...

m ym
xn

2n+1

Figura 4.11: Retea neurala care implementeaza o functie oarecare f .

Interpretarea neurala este urmatoarea:


T1 (Hecht-Nielsen, 1986). Fie f : !0 1]n  <n ! <m, f (x) = y,
o functie continua oarecare. Atunci, f poate  implementata exact
4.8. APLICATII 95

de catre o retea neurala feedforward cu un singur strat ascuns av^and


arhitectura din gura 4.11.
Denim acum functiile de activare pentru aceasta arhitectura.
Fie zk iesirea din neuronul ascuns k. Avem:
X
n
zk = k (xj + k") + k
j =1
unde  este o constanta reala, este o functie monoton crescatoare,
independenta de f , " este o constanta rationala 0 < "  , unde
este o constanta pozitiva arbitrar aleasa.
Iesirile yi se calculeaza astfel:
X
2n+1
yi = gi(zk )
k=1
unde functiile gi, i = 1 : : : m sunt reale si continue, depinz^and de f
si ".
Aceasta teorema nu ne spune cum sa obtinem functia sau constanta ".
Este o teorema existentiala. Ea se poate extinde pentru orice functii continue
pe un compact (multime ^ nchisa si marginita). Acest rezultat a fost primul pas.
Cybenco (1989) a aratat ca orice functie continua denita pe un compact din
<n poate  aproximata oric^at de bine de o retea feedforward cun un singur strat
ascuns folosind functii de activare sigmoidale. Uneori se pot obtine aproximari
mai compacte folosind mai multe straturi ascunse.
Sprecher (1996) a gasit algoritmul de constructie a functiei (din teorema lui
Hecht-Nielsen), astfel ^ nc^at este monoton crescatoare, independent de f si n.

4.8 Aplicatii
Retelele feedforward multistrat pot  aplicate cu succes la multe probleme de
clasicare si de recunoastere. Pentru aceasta, nu este necesar sa e cunoscut
un model formal pentru clasicare sau recunoastere. Este sucient sa utilizam
o arhitectura potrivita si o multime sucienta de pattern-uri de instruire, apoi
aplicam algoritmul de instruire prin propagarea^ n urma a erorii. Solutia se obtine
deci prin experimentare si simulare, nu printr-o abordare formala riguroasa.
Cu toate ca nu este foarte clar ce constituie o multime adecvata de pattern-
uri de instruire, sunt raportate o serie de aplicatii ^ n recunoasterea vorbirii, a
semnalelor sonore etc.
Sa notam ca iesirile cu mai mult de doua valori pentru un neuron pot modela
incertitudinea. Modul conventional de a construi un sistem expert necesita un
expert uman care sa formuleze regulile cu ajutorul carora sa e analizate datele
de intrare. Numarul acestor reguli poate  foarte mare. Pe de alta parte, de
96 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

1 1
1

2 2

...
K

...

...
I J

simptome neuroni boli


ascunsi

Figura 4.12: Sistem expert conexionist pentru diagnoza medicala.

multe ori este dicil de formulat aceste reguli. Deoarece retelele neurale pot 
instruite fara ca ele sa ^ ncapsuleze cunostintele ^ n reguli, sa vedem ^ n ce masura
ele pot  aplicate ca o alternativa la sistmele expert conventionale.
Retelele neurale pentru diagnosticare, defectoscopie, predictie, recunoasterea
formelor rezolva ^ n esenta probleme de clasicare, asociere si generalizare. Aceste
retele pot achizitiona cunostinte fara sa extraga reguli de tip IF-THEN de la un
expert uman. Dupa instruire, ele pot functiona ca sisteme expert. Ceea ce
va lipsi este explicarea: un sistem expert neural nu poate explica utilizatoru-
lui rationamentul deciziilor luate. Numim aceste sistem expert sisteme expert
conexioniste.
Atunci c^and o retea instruita este testata cu un pattern substantial diferit
de cele folosite pentru instruire, raspunsul obtinut se presupune ca rezolva o
problema de generalizare. Exemple tipice de generalizare sunt diagnosticarea si
predictia. Figura 4.12 descrie functionarea unui sistem expert conexionist pentru
diagnostic medical.
^Intr-un sistem expert conventional, o dicultate este formularea si introduce-
rea regulilor de catre expertul uman. Sistemul expert conexionist poate ^ nvata
din diagnosticul curent care a fost acceptat. O atentie speciala trebuie data
alegerii lui J . Daca J este prea mic, apar dicultati de aplicare a celor I intrari
^ n cele K iesiri. Daca J este prea mare, creste inutil timpul de instruire si de
diagnosticare si ponderile sunt dicil de estimat corect.
O serie de aplicatii folosesc pattern-uri temporale care se obtin prin esantio-
narea unor semnale de tip continuu (g. 4.13).

4.9 Exemple
Exemplu de construire a unui clasi cator multistrat pentru
pattern-uri liniar neseparabile
Fie functia de decizie XOR:
4.9. EXEMPLE 97

x(t) x(t- ∆) x(t- 2∆) x(t- n ∆ )


∆ ∆
... ∆
x0 x1 x2 xn

... strat ascuns

... strat de iesire

Figura 4.13: Retea neurala cu ^nt^arziere cu un singur canal de achizitie.

x1 x2 iesirea
0 0 1
0 1 -1
1 0 -1
1 1 1

Punctele av^and coordonatele x1 si x2 de mai sus sunt notate cu A, B, C, D.

clasa 1 x2 o2
1
t
clasa 2 o=[-1 -1]
C
t B D 2
o=[1 -1] 1 r3

r1 1/2

C x1 o1
A 1
t
o=[-1 1]
r2
- -1
B
A,D o3 = 0

(a) (b)

Figura 4.14: Suprafete de decizie ^n problema XOR.

Alegem:
1 : ;2x1 + x2 ; 12 = 0
2 : x1 ; x2 ; 12 = 0
98 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

^ n mod arbitrar (g. 4.14a). Pentru aceste linii, vectorii normali unitari sunt:
h it
r1 = p15 h ;2 1 i
t
r2 = p12 1 ;1 :

x1 -2
comparator o1
1 + 1 1

x2 1 comparator o3
-1 1
+ 3

comparator 1
1/2 + 2 o2 -1
-1 1/2

-1

Figura 4.15: Reteaua neurala care implementeaza problema XOR.


Reteaua neurala din gura 4.15 implementeaza aceste suprafete de decizie
prin intermediul stratului ascuns. Pentru acestea, avem:
   
o1 = sgn ;2x1 + x2 ; 21 o2 = sgn x1 ; x2 ; 12 :
Arbitrar, se alege linia de decizie (g. 4.14b)
o1 + o2 + 1 = 0
si atunci
o3 = sgn(o1 + o2 + 1):
Reteaua neurala implementata aici clasica pattern-urile A, B, C, D astfel:
Simbol x1 x2 o1 o2 o1 + o2 = 1 o3 clasa
A 0 0 -1 -1 - -1 2
B 0 1 +1 -1 + +1 1
C 1 0 -1 +1 + +1 1
D 1 1 -1 -1 - -1 2
Exemplu de instruire prin propagarea ^n urma a erorii
Presupunem ca avem o retea cu trei neuroni cu un strat ascuns (g. 4.16).
Neuronii 1,2 si 3 sunt ctivi si ne simplica notatia. Presupunem ca ponderile
au fost initializate si ca o1 si o2 sunt calculate conform unui pattern de intrare.
Calculam o3, o4 , o5 si apoi:
5 = (d5 ; o5 )o5(1 ; o5 )
X5
3 = f (net3 ) k wk3 = o3(1 ; o3) 5 w53
0
k=5
4.9. EXEMPLE 99

o0 = -1
0
3
o1 o5
1 5

4
o2
2

Figura 4.16: Retea neurala multistrat. Functiile de activare sunt unipolare.

4 = o4 (1 ; o4 ) 5w54
$w50 = ; 5
$w53 =  5 o3
$w54 =  5 o4:
Apoi:
$w30 = ; 3 $w40 = ; 4
$w31 =  3o1 $w41 =  4 o1
$w32 =  3o2 $w42 =  4 o2:
Putem astfel sa construim prin instruire un clasicator multistrat pentru pattern-
urile liniar neseparabile din exemplul precedent (problema XOR cu doua vari-
abile). Denim matricile:
h i " #
W = w50 w53 w54 w 30 w31 w32
V = w40 w41 w42 :
Pentru  = 0 1 se ajunge dupa instruire la:
h i
W = ;3 967 ;8 160 ;5 376
" #
V = ;61 169 3 854 4 281
269 ;4 674 ;4 578 :
Dorim ca reteaua sa functioneze ca un clasicator cu iesiri binare. ^Inlocuim
neuronii de tip continuu cu neuroni binari si pastram ponderile pe care le-am
calculat pentru cazul continuu.

Exemplu de alegere a marimii stratului ascuns


^In gura 4.17 avem un clasicator pentru problema XOR cu n = 2. Pre-
supun^and J  n, obtinem pentru J = 2 numarul maxim de regiuni 22 = 4.
100 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

x2
-1/2
-1
-1/2
-3/2
1 1
1 o
x1 3
1 -1
2
1

x1 x2 1

Figura 4.17: Problema XOR pentru n = 2.

x3
1/2
-1
3/2

1 x1
1
1
-2
2
o

1
1
x1 x2 1
0
-x 2 1

Figura 4.18: Problema XOR pentru n = 3.

Sa consideram acum aceeasi problema pentru n = 3 (g. 4.18), unde x3 =


x1 x2 .
Lu^and n = 3 si M = 2 obtinem J = 1. Am rezolvat deci aceeasi problema,
dar cu mai putini neuroni.

4.10 Exercitii
1. Pattern-urile liniar neseparabile
" # " # " # " # " #
x1 = 13 x2 = 33 x3 = 12 x4 = 22 x5 = 32
" # " # " # " # " #
x6 = 225 x7 = ;02 x8 = 10 x9 = 30 x10 = 50
4.10. EXERCITII 101

trebuie clasicate astfel:


clasa 1: x4 x6 x7 x8 x9
clasa 2: restul.
Elaborati o retea neurala de perceptroni discreti cu un strat ascuns care sa
functioneze ca un clasicator. Nu instruiti reteaua de neuroni, ci folositi
metoda din primul exemplu.
2. Fie prototipurile ^ n forma extinsa
2 3 2 3 2 3 2 3
3 4 4 5
x1 = 4 1 5 x2 = 4 0 5 x3 = 4 ;1 5 x4 = 4 2 75
6 7 6 7 6 7 6
1 1 1 1
2 3 2 3 2 3 2 3
5 3 2 1
x5 = 64 3 75 x6 = 64 3 75 x7 = 64 0 75 x8 = 64 1 75 :
1 1 1 1
O masina multistrat cu doi perceptroni discreti bipolari ^ n stratul ascuns
si un singur perceptron discret bipolar de iesire trebuie sa clasice pro-
totipurile astfel ^ nc^at:
clasa 1: x1 x2 x3
clasa 2: restul :
(a) Vericati daca vectorii pondere
2 3 2 3
2 0
w1 = 64 1 75 w2 = 64 1 75
5 ;2
asigura separarea liniara a pattern-urilor (primul strat).
(b) Completati elaborarea clasicatorului folosind rezultatul anterior si
calculati ponderile perceptronului de iesire.
3. Demonstrati ca, pentru n = 2, numarul J al neuronilor stratului ascuns
necesari pentru partitionarea prin hiperplane ^ n M regiuni este
p 
J = 21 8M ; 7 ; 1 :

4. Fie problema clasicarii ^ n doua clase a unor pattern-uri planare (n =


2) rezolvata printr-o arhitectura de retea neurala cu J = 8 si K = 2.
Determinati o margine inferioara pentru P , care este numarul vectorilor de
instruire. Indicatie: Acest numar este egal cu numarul regiunilor separabile,
M.
102 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

1 o1
z1 1
-2 0
3
-2
z2
2
0 1

-1 1 o2
-1

-1

Figura 4.19: Retea neurala multistrat pentru exercitiul 5.

5. Reteaua din gura 4.19, daca a fost instruita corect, trebuie sa raspunda
cu o1 = 0 95 si o2 = 0 05 la pattern-ul de intrare
2 3 2 3
64 zz12 75 = 64 13 75 :
;1 ;1
Ponderile au fost initializate ca ^ n gura. Se alege  = 1, iar neuronii
folosesc functia de activare
f (net) = 1 + 1e;net :
Analizati un pas al algoritmului de instruire prin propagarea ^ n urma a
erorii realiz^and urmatoarele operatii:
(a) Gasiti matricile ponderilor, V, W.
(b) Calculati netj , y, netk , o.
(c) Calculati f 0(netj ) si f 0(netk ).
(d) Calculati o si y .
(e) Calculati $V si $W.
(f) Gasiti noile valori pentru V si W.
6. (C) Implementati algoritmul de instruire prin propagarea ^ n urma a erorii
pentru I , J , K si  selectabile si un singur strat ascuns. Folositi perceptroni
bipolari de tip continuu.
7. (C) Elaborati clasicatorul pentru literele A, I si O denite ca ^ n gura
4.20, cu ajutorul programului de la exercitiul 6. Presupuneti doua tipuri
de reprezentari interne:
4.10. EXERCITII 103

Figura 4.20: Literele A, I si O pentru exercitiul 7.

(a) n = 16, P = 3, I = 17, J = 9, K = 3 si


clasa A: x1 = ! 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 ]t
clasa I: x2 = ! 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ]t
clasa O: x3 = ! 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 ]t
(b) n = 2, P = 16, I = 3, J = 9, K = 3 si
clasa A, O: x1 = ! 1 1 ]t
clasa A, I, O: x1 = ! 1 2 ]t
clasa A, O: x1 = ! 1 3 ]t
clasa A, O: x1 = ! 1 4 ]t
clasa A, O: x1 = ! 2 1 ]t
clasa I: x1 = ! 2 2 ]t
clasa A, O: x1 = ! 2 4 ]t
clasa A, O: x1 = ! 3 1 ]t
clasa A, I: x1 = ! 3 2 ]t
clasa A: x1 = ! 3 3 ]t
clasa A, O: x1 = ! 3 4 ]t
clasa A, O: x1 = ! 4 1 ]t
clasa I, O: x1 = ! 4 2 ]t
clasa O: x1 = ! 4 3 ]t
clasa A, O: x1 = ! 4 4 ]t
^Incercati diferite valori pentru . Evaluati numarul de cicluri de instruire
pentru ambele arhitecturi. Iesirile trebuie sa e:
pentru A: ! 1 ;1 ;1 ]
pentru I: ! ;1 1 ;1 ]
pentru O: ! ;1 ;1 1 ]:

8. (C) Elaborati o retea pentru pattern-urile liniar neseparabile din gura 4.21
folosind programul scris la exercitiul 6.
(a) Selectati un numar potrivit de neuroni ^ n stratul ascuns. Folositi K =
104 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT

x1

1-
clasa 1
clasa 2
3/4 - clasa 3

1/2 -

1/4 -

x2
| | | |
0 1/4 1/2 3/4 1

Figura 4.21: Pattern-uri neseparabile pentru exercitiul 8.

3, astfel ^ nc^at iesirile sa e:


pentru clasa 1: ! 1 ;1 ;1 ]t
pentru clasa 2: ! ;1 1 ;1 ]t
pentru clasa 3: ! ;1 ;1 1 ]t
(b) Instruiti reteaua pentru vectorii din gura si diferite valori pentru .
9. (C) Fie h(x) = 0 8 sin x ;1  x  1 si aproximarea ei printr-o retea
neurala o(x). Construiti o retea de perceptroni bipolari de tip continuu cu
un strat ascuns care aproximeaza h(x) prin o(x).
10. (C) Realizati un sistem expert conexionist care sa va ajute la planicarea
timpului vostru liber. ^In functie de factorii de circumstanta, sistemul expert
va va spune ce activitate sa alegelti. Activitatile posibile sunt:
(a) vizita
(b) sport
(c) lm
(d) somn
(e) cumparaturi
Factorii care determina alegerea activitatii sunt:
4.10. EXERCITII 105

(a) resursele nanciare disponibile


(b) starea vremii
(c) durata de timp care poate  afectata
(d) existenta unui prieten care poate  vizitat
(e) starea de oboseala
(f) necesitatea de a face cumparaturi
(g) ultima activitate facuta ^ n timpul liber
(h) existenta unui lm bun
Sistemul va  realizat ca o retea de perceptroni. Propuneti o secventa de 20
de perechi de forma (activitati, factori de decizie) ca secventa de instruire,
cu cel putin 2 perechi pentru ecare activitate din lista. Codicati intrarile
ca variabile mixte (continue si binare) din intervalul !0 1] si atribuiti 0
intrarilor care nu au importanta. Instruiti sistemul si, apoi, testati-l cu
date de intrare diferite de cele folosite pentru instruire.
11. (C) Scrieti un program care implementeaza o retea de perceptroni capabila
sa clasice cifrele 0{9 ^ n categoriile par { impar. Pentru instruirea retelei,
folositi o secventa de instruire ^ n care caracterele sunt codicate ca matrici
binare de 5  3 pixeli. Dupa instruire, utilizati reteaua pentru clasicarea
pattern-urilor perturbate.
106 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
Capitolul 5
Retele neurale feedback
monostrat
Retelele neurale pe care le vom studia ^ n acest capitol sunt sisteme dinamice care
evolueaza ^ n timp, ^ ntr-un spatiu discret sau continuu. Evolutia unei astfel de
retele este, asa cum vom vedea, disipativ, ^ n sensul ca are tendinta de scadere a
energiei. Tranzitia ^ ntr-o retea neurala dinamica este catre o solutie asimptotic
stabila care este un minim local al unei functii a energiei disipate.
Retelele discutate^ n acest capitol se bazeaza ^ n special pe lucrarile lui Hopeld
(1984, 1985, 1986).
Sa mentionam c^ateva concepte fundamentale ale sistemelor dinamice.
Am vazut ca un atractor este o stare catre care sistemul evolueaza ^ n timp
pornind de la anumite conditii initiale. Multimea acestor conditii formeaza ba-
zinul de atractie al atractorului. Daca atractorul este un punct unic ^ n spatiul
starilor, atunci el este un punct x. Un atractor poate ^ nsa consta si dintr-o
secventa de stari, caz ^ n care se numeste ciclu limita.
O retea de acest tip este capabila sa tolereze anumite distorsiuni ale vectorilor
de initializare si sa le elimine.

5.1 Fundamentele matematice ale retelelor


Hopeld cu timp discret
Acest tip de retele au proprietati foarte interesante. Utiliz^and tehnologii micro-
electronice si optoelectronice, s-au fabricat microsisteme care se bazeaza pe aceste
retele.
Conform postulatelor lui Hopeld, o retea feedback monostrat este de forma
celei din gura 5.1.
Aceasta retea consta din n neuroni cu pragurile T1,...,Tn . Pentru ecare neu-
ron se calculeaza:
X
n
neti = wij vj + ii ; Ti pentru i = 1 2 : : : n
j =1
j 6=i

107
108 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

-1 T1
v1 w21 i1 1 v1
w12
-1
T2
v2 i2 2 v2

... wn1

...
wn2
w2n
vn
in n vn
-1 Tn

Figura 5.1: Retea feedback monostrat.

unde ii este intrarea externa a neuronului i. Vectorial, putem scrie:


neti = wit + ii ; Ti pentru i = 1 2 : : : n
unde 2 3 2 3
w i1
66 .. 77 66 v..1 77
wi = 4 . 5 v = 4 . 5 :
win vn
Putem, de asemenea, sa rescriem relatia de mai sus astfel:
net = Wv + i ; T
unde 2 3 2 3 2 3
net
66 .. 77 1 i
66 .. 77
1
66 T..1 77
net = 4 . 5 i = 4 . 5 T = 4 . 5
netn in Tn
2 t 3 2 0 w12 : : : w1n 3
66 w.. 1 77 666 w21 0 : : : w2n 777
W = 4 . 5 = 64 .. .. . . . .. 75 :
wnt . . .
wn1 wn2 : : : 0
^In acest model, matricea W este simetrica.
Sa presupunem pentru moment ca functia de activare este sgn( ). Atunci:
8
>
< vi ram^ane neschimbat daca neti = 0
> v  ;1 daca net < 0 (5.1)
: vi1  +1 daca netii > 0
Adica:
vik+1 = sgn(witvk + ii ; Ti) i = 1 2 : : : n k = 0 1 : : :
5.1. RETELE HOPFIELD CU TIMP DISCRET 109

Regula se aplica asincron, adica pentru c^ate o singura valoare a lui i la un moment
dat. Se porneste de la v0. Pentru k = 1, avem n actualizari. Pentru ^ nceput se
actualizeaza vi1, unde numarul neuronului i este aleator. Pentru ceilalti neuroni,
iesirile ram^an aceleasi. Se calculeaza apoi vj1, j 6= i, j aleator etc., p^ana se com-
pleteaza v1 . Apoi se calculeaza v2 etc. Acest algoritm particular de actualizare a
ponderilor este cunoscut ca o recursivitate stohastica asincrona a retelelor Hop-
eld. Trebuie sa facem distinctie ^ ntre algoritmul asincron si cel sincron (paralel)
descris de formula:
vk+1 = ;!Wvk + i ; T] k = 0 1 : : :
Conform acestei formule, toti neuronii ^ si pot modica simultan iesirile. ^In al-
goritmul asincron, dupa ce se calculeaza vik+1, aceasta valoare ia locul lui vik
particip^and la calculul celorlalte componente din vk+1. Procesul continua p^ana
se calculeaza toate valorile din vk+1. Pentru ecare k = 1 2 : : :, avem n ac-
tualizari aleatoare individuale, la nivel de neuron. Algoritmul se opreste c^and
vk+1 = vk .
Reprezent^and vectorul de iesire ^ n f;1 1gn, acesta se misca dintr-un v^arf al
cubului n-dimensional ^ntr-un v^arf adiacent, p^ana c^and se stabilizeaza ^ ntr-unul
din v^arfuri. Pozitia nala a lui vk , pentru k ! 1, este determinata de ponderile
initiale, pragurile initiale, intrari, v0, dar si de ordinea tranzitiilor.
Urmatoarele probleme sunt deschise: daca sistemul are atractori si daca sis-
temul se stabilizeaza.
Pentru a evalua proprietatea de stabilitate, vom deni functia energiei com-
putationale:
E = ; 21 vt Wv ; itv + Ttv
care este o forma patratica. Adica:
Xn X n Xn Xn
E = ; 21 wij vivj ; ii vi + Tivi:
i=1 j =1 i=1 i=1
i6=j
Fie vik+1 ; vik = $vi , adica presupunem ca nodul i s-a modicat la momentul k.
Modicarea este asincrona, deci se refera doar la neuronul i. Calculam
rE = ;Wv ; it + Tt
^ n care am tinut cont ca W este simetrica. Incrementul energiei este
$E = rE t $v
unde 2 0 3
66 .. 77
6 . 7
$v = 666 $vi 777 :
64 ... 75
0
110 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

Atunci:
$E = (;0witv ; ii + Ti)$vi 1
Xn
$E = ; @ wij vj + ii ; TiA $vi pentru i 6= j
j =1
$E = ;neti $vi
Pentru functia de activare sgn( ), din relatia 5.1 avem:
daca neti < 0 ) $vi  0
daca neti > 0 ) $vi  0
daca net1 = 0 ) $vi = 0:
Adica, avem mereu neti $vi  0 si $E  0. Aceasta ^ nseamna ca energia retelei
poate doar sa scada sau sa ram^ana constanta. Presupun^and ca neti 6= 0, atunci
$E = 0 daca si numai daca $vi = 0. Cu alte cuvinte, E scade strict daca si
numai daca $vi 6= 0 si E ram^ane constanta daca si numai daca $vi = 0. Daca
neti = 0, atunci $vi = 0, deci $E = 0.
Pentru o stare stabila, adica pentru un atractor,^ n cazul unei scheme asincrone
avem:
vk+1 = klim
!1
sgn(Wvk + i ; T):
Am aratat ca energia este necrescatoare. Ea este, ^ n mod evident, si marginita,
ceea ce ^ nseamna ca E ^ si atinge minimul.
Daca algoritmul de actualizare a ponderilor este sincron, se poate ^ nt^ampla
ca algoritmul sa cicleze ^ ntre doua pattern-uri complementare. Acest lucru este
ilustrat de exemplul de mai jos.
" h # i
W = ;01 ;01 v0 = ;1 ;1 t
" #" # " # " #
0
v = ; ;1 0; 1 ;1 sgn(1) 1
1 = sgn(1) = 1
1

" #
;
v = ;;11 etc.
2

Vom vedea ca pattern-urile complementare corespund unor nivele identice ale
energiei.

5.2 Fundamentele matematice ale retelelor


Hopeld cu timp continuu
Retelele feedback monostrat cu timp continuu se numesc si retele de tip gradient.
O retea de tip gradient converge catre unul dintre minimele stabile din spatiul
5.2. RETELE HOPFIELD CU TIMP CONTINUU 111

starilor. Evolutia sistemului este ^ n directia generala a gradientului negativ al


functiei de energie. Cautarea unui minim energetic corespunde cautarii unei
solutii pentru o problema de optimizare. Retelele de tip gradient sunt exemple
de sisteme neliniare, dinamice si asimptotic stabile.
i1 i2 in
w 1n w 2n

...
wn2

w n1

g1 g2 gn
u1 u2 ... un
C1 C2 Cn

_ _ _
v1 v2 vn

v1 v2 vn

Figura 5.2: Retea neurala de tip gradient care foloseste componente electrice.
Vom exemplica un model de retea neurala de tip gradient prin folosirea unor
componente electrice (g. 5.2). Pentru a pastra notatia originala a lui Hopeld,
tensiunile ui sunt de fapt neti . Ponderile wij sunt conductante. Iesirile inversate
v'i sunt folosite pentru a modela conductante negative, adica inhibitorii. Avem:
wij = wji si wii = 0 pentru i j = 1 : : : n:
Neuronii pot  interpretati ca amplicatori: curentul prin conductanta gi este
amplicat de neuronul i (g. 5.3). Ci i = 1 : : : n sunt capacitati.
Folosind acest model de neuron, putem scrie legea lui Kirchho:
0 1
X
n BXn C dui
@ wij + giCA = Ci dt :
ii + wij vj ; ui B (5.2)
j =1 j =1
j 6=i j 6=i
Partea st^anga a acestei ecuatii reprezinta curentul total care intra ^ n conden-
satorul de capacitate Ci. Notam conductanta totala care este conectata la in-
112 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

ii

wi1
v1
ui vi
(v1 -u i)w i1 f(u i )
...

win g i Ci
vn -g iu i _
du
Ci i
(vn -u i )w in dt

Figura 5.3: Modelul unui neuron.

trarea neuronului i cu
X
n
Gi = wij + gi:
j =1
Atunci, ecuatia 5.2 se poate scrie:
X
n
ii + wij vj ; uiGi = Ci dui
dt :
j =1
Fie matricile:
h i h i
C = diag C1 C2 : : : Cn G = diag G1 G2 : : : Gn
2 3 2 3 2 3
u1(t) 7 v 1 (t) i1
u(t) = 664
... 7 v(t) = 66 ... 77 i = 66 ... 77
5 4 5 4 5
un(t) vn(t) in
unde u(t) este vectorul starilor, iar v(t) reprezinta vectorul iesirilor. Avem:
8 du(t)
< C dt = Wv(t) ; Gu(t) + i ecuatia starilor
>
>
: v(t) = f (u(t)) ecuatia iesirilor
Sa studiem stabilitatea sistemului descris de aceste ecuatii. Functia energiei
care ne permite sa analizam modelul continuu este:
Xn Z vi
E (v) = ; 12 vt Wv ; itv + Gi fi;1(z)dz
i=1 0

unde fi;1(z) este inversa functiei de activare fi. Aceasta formula contine termenul
Tt v din functia energiei discrete
; 21 vtWv ; itv + Tt v
5.2. RETELE HOPFIELD CU TIMP CONTINUU 113

^ n termenul al doilea, iar ultimul termen este specic cazului continuu si dispare
pentru  ! 1. Avem:
d G Z vi f ;1(z)dz = G u
dvi i 0 i i i

rE (v) = ;Wv ; i + Gu:


Atunci:
 !
dE !v(t)] = rE t (v) v_ = (;Wv ; i + Gu)t v_ = ; C du t dv
dt dt dt
X ;1  !
= ; Ci dfidv(vi) dv
2
i
i i dt
deoarece
dui = dfi;1(vi) dvi :
dt dvi dt

u=f -1 (v)

-1 +1
| |

Figura 5.4: Inversa functiei de activare.


^In gura 5.4, functia fi;1 este monoton crescatoare, deci dfi;1 (vi )
dvi > 0. Atunci:
dE < 0 pentru dv 6= 0 si
dt dt
dE > 0 pentru dv = 0:
dt dt
Am gasit o functie Liapunov a sistemului, deci sistemul este asimptotic stabil.
Functia E este marginita ^ n spatiul iesirilor, deci tinde catre un minim.
Modicarile ^ n timp nu sunt exact pe directia gradientului functiei de energie
(adica pe directia scaderii c^at mai rapide a energiei).
Reteaua de tip gradient, ^ n cazul ^ n care spatiul iesirilor este marginit, con-
verge catre unul dintre minimele lui E (v), deci catre o stare stabila. Acest minim
este ^ n interiorul hipercubului iesirilor. Daca  ! 1, atunci minimul este ^ ntr-un
v^arf al hipercubului.
114 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

Faptul ca sistemul este asimptotic stabil ^ n spatiul iesirilor este echivalent cu
faptul ca sistemul este asimptotic stabil ^ n spatiul starilor u. Aceasta, deoarece
ecuatia
v(t) = f (u(t))
este monotona.

5.3 Aplicatie: problema comis-voiajorului


Vom da o solutie a problemei comis-voiajorului pentru n orase folosind retele de
tip gradient (Hopeld, Tank, 1985). Problema este NP-completa.
Reprezent^and problema sub forma unui graf cu n v^arfuri, trebuie sa gasim
ciclul de lungime minima care trece prin toate v^arfurile. Numarul de astfel de
cicluri care trebuie evaluate este (n;21)! .
Se poate elabora o retea neurala de n2 neuroni unipolari de tip continuu care
sa rezolve aceasta problema. Aranjam neuronii ^ ntr-un tablou de n  n elemente.
Tabloul este reprezentat ^ n gura 5.5, ^ n care Poz. reprezinta pozitia ^ n ciclu.

Poz. 2
A Poz. 3
Poz. 1
E D

B
C Poz. 4
Poz. 5

Figura 5.5: Reprezentarea cu ajutorul unui graf a problemei comis-voiajorului.

Fie orasele A, B,..., E si e acest ciclu. ^Il reprezentam prin tabelul 5.1, unde
vxi este iesirea neuronului corespunzator orasului x si pozitiei i ^ n ciclu.
A 0 1 0 0 0
B 0 0 0 1 0
orasul C 0 0 0 0 1
D 0 0 1 0 0
E 1 0 0 0 0
1 2 3 4 5
pozitia
Tabelul 5.1: Reprezentarea ciclului din gura 5.5.
Pentru un ciclu care viziteaza toate v^arfurile, tabloul trebuie sa aiba un singur
1 pe ecare coloana si un singur 1 pe ecare linie. Pozitionam neuronii ^ n acest
tablou de n  n elemente, ^ n ecare element pun^and un neuron. Vom avea exact n
5.3. APLICATIE: PROBLEMA COMIS-VOIAJORULUI 115

neuroni activi pentru solutie. Presupunem pentru  o valoare mare, deci energia
este trunchiata:
Xn X n Xn
E = ; 12 wxi yj vxivyj ; ixivxi
x i=1 y j =1 x i=1
unde wxi yj este ponderea de la neuronul yj la neuronul xi. Observam ca domeniul
vectorilor v unde se minimizeaza functia E este format din cele 2n v^arfuri ale
2

hipercubului n2 -dimensional !0 1].


Scopul optimizarii este selectarea circuitelor minime. Trebuie sa avem obli-
gatoriu c^ate un neuron activ pe linie si pe coloana. ^In plus, trebuie sa eliminam
solutiile triviale, pentru care avem, ^ n tablou, linii sau coloane nule. Sa exprimam
aceste conditii de optimizare folosind patru functii de energie, ecare ^ ndeplinind
un rol separat.
Xn Xn X
E1 = A vxivxj :
x=1 i=1 j =1
j 6=i
Produsul vxi vxj se refera la acelasi oras, x. Relatia
X
n X
n
vxivxj = 0
i=1 j =1
j 6=i
se ^ ndeplineste daca cel mult un vxi = 1 iar restul sunt 0, adica daca orasul x
apare cel mult o singura data pe circuit. E1 = 0 ^ nseamna ca ecare oras este
vizitat cel mult o data. Daca E1 > 0, atunci exista orase vizitate de mai multe
ori.
Xn Xn X n
E2 = B vxivyi:
i=1 x=1 y=1
y6=x
E2 = 0 ^ nseamna ca ecare pozitie din ciclu are cel mult un singur oras asociat ei.
Daca E2 > 0, atunci exista mai multe orase vizitate simultan. Observam ca E1
si E2 sunt, de asemenea, nule pentru solutii triviale ^ n care avem linii sau coloane
^ n tablou care nu contin nici un 1. De aceea, mai introducem:
Xn X n !2
E3 = C vxi ; n
x=1 i=1
pentru a ne asigura ca nu avem o solutie triviala, deci o solutie cu mai putin
de n de 1 ^ n tablou. E3 = 0 ^ nseamna ca avem exact n de 1 ^ n tablou. Deci
E1 + E2 + E3 are minimul 0 pentru toate matricile care au exact un 1 pe ecare
linie si pe ecare coloana. Dorim sa minimizam lungimea ciclului. Notam cu dxy
distanta dintre x si y si dxy = dyx. Lungimea ciclului este:
1X n X n X n
2 x=1 y=1 i=1 dxy vxi(vy i+1 + vy i;1 )
116 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

dar vom folosi urmatoarea functie de energie:


X
n X
n X
n
E4 = D dxy vxi(vy i+1 + vy i;1 )
x=1 y=1 i=1
y6=x
unde vx n+1 = vx1 si vx0 = vxn.
Dorim sa minimizam E1 + E2 + E3 + E4 . Prin identicarea termenilor acestei
sume cu cei din E , obtinem:
wxi yj = ;2A xy (1 ; ij ) ; 2B ij (1 ; xy ) ; 2C ; 2Ddxy ( j i+1 + j i;1)
unde ij este simbolul lui Kronecker ( ij = 0 pentru i 6= j , ii = 1). Constantele
pozitive A, B , C , D sunt selectate euristic pentru a construi o suma convenabila a
termenilor E1 ,..., E4. Ele dau ponderea ecaruia dintre acesti termeni. Obtinem,
de asemenea:
ixi = 2Cn:
Am generat reteaua. Mai trebuie acum sa gasim solutia prin simularea functio-
narii ei.
Din formula generala a ecuatiei starilor:
 ! X n
Ci du dt
i
= ii+ wij vj ; uiGi
j =1
obtinem:
duxi = ; uxi ; 2A X n Xn
vxj ; 2B vyi
dt  j =1 y=1
0 n nj6=i 1 y6=x n
XX X
;2C @ vxj ; nA ; 2D dxy (vy i+1 + vy i;1)
x=1 j =1 y=1
y6=x
unde  este o constanta a timpului.
S-au luat  = 1,  = 50, A = B = D = 250, C = 100, 10  n  30 si s-a
rezolvat numeric acest sistem de ecuatii. Nu se ajunge neaparat la solutia optima.
Pentru n = 10, 50% din teste au produs cele mai scurte cicluri din 181440 de
solutii posibile. Pentru valori mari ale lui n apar, ^ nsa, dicultati.
Aceasta duce la ^ ntrebarea fundamentala daca retelele neurale sunt mai adec-
vate dec^at calculatoarele clasice pentru rezolvarea problemelor nedeterminist poli-
nomiale.
S-a demonstrat (Bruck, Goodman, 1988) ca nu exista nici o retea de marime
polinomiala ^ n n care sa rezolve problema comis-voiajorului cu o precizie dorita.
Aceasta, at^ata timp c^at NP 6= P!
Problema comis-voiajorului ilustreaza utilizarea retelelor Hopeld^ n probleme
de optimizare. S-au obtinut rezultate ^ n probleme de alocare a resurselor, pla-
nicarea lucrarilor, optimizarea tracului, optimizarea conexiunilor ^ n circuitele
integrate (1990), programare liniara si neliniara.
5.4. EXEMPLE 117

^In concluzie, putem spune ca una dintre limitarile retelelor Hopeld este faptul
ca ajungem de multe ori la un minim local si nu global. Aceasta se datoreaza
formei complexe a functiei E (v).
Una din dicultati este si traducerea problemei de optimizare ^ ntr-o problema
de minimizare a energiei. Singurele forme ale functiei de energie care se cunosc
sunt cele date de Hopeld. Daca  este mare, se poate lua energia trunchiata.
Daca intrarile externe sunt nule, dispare si al doilea termen. Schema de rezolvare
a unei probleme de optimizare folosind retele feed-back monostrat este cea din
gura 5.6.

functia energiei generale problema de optimizare


E (W,i,v) E (v)

E (W,i,v)=E (v)
se calculeaza W,i

se construieste reteaua
sau se elaboreaza
algoritmul de simulare

se initializeaza
reteaua cu conditii
initial neutre

se implementeaza
tranzitiile dinamice

punct de echilibru
care este solutie
STOP

Figura 5.6: Modul de rezolvare a unei probleme de optimizare folosind retele feedback monos-
trat.

5.4 Exemple
Retea Hop eld cu timp discret
Fie:
2 0 1 1 ;1 3
6 ;1 777 :
W = 664 11 0
1
1
0 ;1 5
;1 ;1 ;1 0
118 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

Presupunem pragurile si intrarile externe zero. Calculam:


2v 3
1 h i 66 v12 77
E (v) = ; 2 v1 v2 v3 v4 W 64 v 75
3
v4
= ;v1 (v2 + v3 ; v4) ; v2 (v3 ; v4 ) + v3v4 :
h it
Calcul^and expresia pentru toate v^arfurile hipercubului: ;1 ;1 ;1 ;1 ,...,
h it
1 1 1 1 se ajunge la nivelele de energie -6, 0, 2. Tranzitiile au loc pe
muchiile hipercubului, hde la un v^arf la iun alth v^arf cu energie maii scazuta. Minimul
t t
este atins ^ n v^arfurile 1 1 1 ;1 si ;1 ;1 ;1 1 , unde avem stari
stabile. Tranzitiile au loc asincron. De aceea, o tranzitie este doar de-a lungul
unei singure muchii (se poate modica cel mult o componenta).
Daca tranzitiile au loc sincron, atunci ele nu minimizeaz
h a energiai si nu tind
t
catre o stare stabila. De exemplu, pornind din v0 = 1 ;1 1 1 , ajungem
la:
2 0 1 1 ;1 3 2 1 3
h i 6 76 7
v1 = ; Wv0 = ; 664 11 01 10 ;;11 775 664 ;11 775
;1 ;1 ;1 0 1
2 sgn(;1) 3 2 ;1 3
6 sgn(1) 77 66 1 77
= 664 sgn( ;1) 75 = 64 ;1 75 :
sgn(;1) ;1
Tranzitia nu mai este de-a lungul unei muchii. Se calculeaza ca
v2 = v0
deci oscileaza ^ ntre v0 si v1. ^In v0 si v1 energia este 2. Spre deosebire de
tranzitiile sincrone, tranzitiile asincrone duc ^ ntotdeauna
h la unul dintrei minimele
energetice. Daca la tranzitiile asincrone pornim de la ;1 1 1 1 si scadem
energia, atunci evolutia se poate desfasura ca ^ n gura 5.7.
Minimul la care ajungem depinde de ordinea de actualizare a componentelor.

Retea de tip gradient


Vom elabora un convertor A/D (Tank, Hopeld, 1986) pe 2 biti. Presupunem ca
f (ui) este continua unipolara.
Se poate arata ca o functie energiei totale aleasa convenabil poate :
X 2
X !
1 1
1 1
E = 2 x ; vi 2 ; 2 22i vi(vi ; 1):
i
i=0 i=0
5.4. EXEMPLE 119

[-1 1 1 1]
(E = 2)

[-1 -1 1 1] [1 1 1 1]
(E = 0) (E = 0)

[-1 -1 -1 1] [1 1 1 -1]
(E = -6) (E = -6)

Figura 5.7: Variante de evolutie a starilor pentru o serie de tranzitii asincrone.


 2
Dorim sa minimizam pe E , ceea ce implica minimizarea lui 12 x ; P1i=0 vi2i
care este eroarea
h de conversie
it A/D, unde v0 + 2v1 este valoarea zecimala a vec-
torului binar v1 v0 si corespunde valorii analogice x. Calcul^and, ajungem
la: 1 
X
1 X X 
E = 21 x2 + 12
1
2i+j vivj + 22i;1 ; 2ix vi:
i=0 j =0 i=0
j 6=i
Pentru x xat, 12 x2 este o constanta, deci irelevanta atunci c^and minimizam pe
E . Expresia energiei ^ n reteaua Hopeld este:
X
1 X X
; 21
1 1
wij vi vj ii vi:
i=0 j =0 i=0
Ultimul termen dispare deoarece minimele sunt ^ n v^arfurile hipercubului. Prin
identicarea termenilor din cele doua expresii, ajungem la:
w01 = w10 = ;2
i0 = x ; 12
i1 = 2x ; 2
Convertorul rezultat este un caz special al unei retele de tip gradient (g. 5.8).
Avem:
C0 du
dt
0
= x ; 1 + (;2)v1 ; u0(;2 + g0)
2
du
C1 dt1 = 2x ; 2 + (;2)v0 ; u1(;2 + g1)
care sunt ecuatiile starilor. De exemplu, putem presupune ca folosim o tensiune
de referinta av^and valoarea de -1V (g. 5.9).
120 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

x- _12
2x-2

i1 i0

g1 g0
u1 u0
Ω Ω
-2 -2

C1 C0

1 0

v1 v0

Figura 5.8: Convertor A/D pe doi biti implementat printr-o retea de tip gradient.

Ecuatiile starilor devin:

C0 du
dt
0
= x ; 1 + 2'v ; u (2 + g )
2 1 0 0

C1 du
dt = 2x ; 2 + 2'v0 ; u1(2 + g1):
1

Conditia wij  0 asigura realizabilitatea retelei folosind rezistente de valoare


Rij = w1ij . ^Inlocuind ponderile si valorile curentilor externi ^ n expresia energiei,
obtinem pentru valori mari ale lui :
E = 2v0 v1 + v20 + 2v1 ; x(v0 + 2v1 ): (5.3)
Reprezent^and grac functia E , obtinem:
- Pentru x = 0, punctul stationar este punct de minim: v0 = v1 = 0
- Pentru x = 1, punctul stationar este punct de minim: v0 = 1, v1 = 0
- Pentru x = 1 25 punctele stationare sunt: punctul de minim dorit v0 = 1,
v1 = 0, dar si punctul de minim nedorit v0 = 0, v1 = 1, precum si un punct
sa, undeva ^ n interiorul patratului: 0 < v0 < 1, 0 < v1 < 1.
^In loc sa rezolvam sistemul de ecuatii diferentiale, oare nu putem cauta mi-
nimele lui E ?
5.4. EXEMPLE 121

2Ω 2Ω
_1
2Ω
_1
1Ω

+ i1 i0
+
+
− -1V − -1V −
xV
g1 g0
u1 u0
Ω Ω
2 2

C1 C0

1 0

_ _
v1 v0

Figura 5.9: Convertor A/D pe doi biti implementat printr-o retea de tip gradient si care foloseste
o tensiune de referinta de 1V.

Din relatia 5.3 obtinem:


" #
rE (v) = 22vv01 ++22 ;;2xx
1

" #
0 2
H = r E (v) = 2 0 :
2

Observam :
det H11 = 0" #
0 2
det H22 = 2 0 = ;4:

Matricea H nu este pozitiv sau negativ denita. E nu are deci minim sau maxim,
daca nu consider
 a2m alte restrictii. Impunem restrictia ca spatiul de iesire sa e
patratul 0 1 . Atunci, minimele lui E sunt situate ^ n v^arfurile patratului,
daca aceste minime exista. Se poate demonstra acest lucru pentru  ! 1. Daca
v este o solutie pentru rE (v) = 0 si se a%a ^ n interiorul patratului, atunci este
un punct sa. Rezulta ca pentru a gasi solutia avem doua posibilitati:
1. Rezolvarea numerica a sistemului de ecuatii diferentiale
2. Simularea retelei printr-un program de simulare a circuitelor electronice, de
exemplu SPICE.
122 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

u1 v1
Ω f1
-2
C1 R1


u2 -2 v2
f2

C2 R2

Figura 5.10: Reteaua neurala propusa pentru exercitiul 2.

5.5 Exercitii
1. Simulati ^ n SPICE convertorul A/D. Generalizati-l pentru patru biti.
2. Pentru reteaua neurala din gura 5.10, cu  mare, gasiti:
(a) Ecuatiile starilor
(b) Ponderile (conductantele) W
(c) Functia energiei E (v) trunchiata
(d) rE (v).
_
u1 v1
Ω f1
1
C1 R1

Ω _
u2 1 v2
f2

C2 R2 1A

Figura 5.11: Reteaua neurala propusa pentru exercitiul 3.


5.5. EXERCITII 123

3. Pentru reteaua neurala din gura 5.11, cu  mare, gasiti:


(a) Ecuatiile starilor
(b) Ponderile (conductantele) W
(c) Vectorul i al intrarilor externe
(d) Functia energiei E (v) trunchiata
(e) rE (v).
4. Fie o retea neurala cu trei neuroni, a carei functie de energie trunchiata
este:
E (v) = v12 ; v22 + v32 ; 2v1 v3 ; v1 v3 + 4v1 + 12:
Gasiti:
(a) rE (v)
(b) r2 E (v)
(c) Minimele, maximele si punctele sa ale lui E (v), atunci c^and nu avem
alte restrictii.

v1
5 1
-5

5
v2
2
-15

-5 v3
-15 3

Figura 5.12: Reteaua neurala propusa pentru exercitiul 5.

5. Fie reteaua neurala din gura 5.12, cu  mare. Evalu^and functia de energie
trunchiata, gasiti minimele, maximele si punctele sa^ n ! ;1 1 ]3. Calculati
apoi valorile energiei ^ n toate v^arfurile cubului.
6. O retea neurala este descrisa de ecuatiile:
( 
dui = 1 Pn w v ; u G + i

dt Ci j =1 ij j i i i pentru i = 1 2 : : : n :
vi = f (ui)
Rezolvati numeric acest sistem.
124 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT

Indicatie: Alegem, de exemplu, o metoda foarte simpla, cea a lui Euler:


8 k+1 P 
>
< ui = uki + h C1i nj=1 wij vjk ; uki Gi + ii pentru i = 1 : : : n
> unde h = tk+1 ; tk
: vik = f (uki)

7. Implementati metoda din exercitiul 6 pentru problema convertorului A/D


pe doi biti si gasiti v(t) (iesirea stabila) pentru:
C0 = C1 = 1F g0 = g1 = 1*;1 x = 0
vi = f (ui) = 1 + e1;10ui i = 0 1
Testati programul pentru:
v0 = ! 0 25 0 25 ]t
v 0 = ! 0 5 0 5 ]t
v0 = ! 0 75 0 75 ]t:
8. (C) Proiectati o memorie Hopeld recurenta autoasociativa care sa memo-
reze ca prototipuri caracterele A, I si O, codicate ca matrici binare de
7  5 pixeli. Implementati algoritmul de regasire si simulati convergenta
asincrona a memoriei catre ecare din prototipurile memorate, folosind ca
pattern-uri cheie caracterele A, I si O, perturbate.
Capitolul 6
Memorii asociative
^In capitolul precedent, ne-am concentrat ^ n special pe rezolvarea unor probleme
de optimizare. ^In acest capitol, vom interpreta evolutia unui sistem dinamic ca
o miscare a unui pattern de intrare catre un alt pattern care este memorat si
se numeste prototip sau memorie stocata. Retelele neurale din aceasta clasa se
numesc memorii asociative.
O memorie asociativa ecienta poate stoca un mare numar de pattern-uri. Pe
parcursul apelului, memoria este excitata cu un pattern cheie (numit si argument
al cautarii) care contine o portiune de informatie despre un anumit pattern dintr-
o multime de pattern-uri memorate. Acest prototip anume poate  regasit prin
asocierea pattern-ului cheie si a informatiei memorate.
S-au elaborat mai multe modele de memorii asociative. Ne vom concentra
asupra retelelor feedback din capitolul precedent, dar vom discuta si arhitecturi
feedforward de memorie.
^In general, memoriile asociative achizitioneaza informatie a priori. Scrierea ^ n
memorie provoaca modicari ale conexiunilor dintre neuroni. Nu exista adrese,
toata informatia din memorie este distribuita spatial ^ n retea.
Care sunt cerintele pentru o astfel de memorie? Ea trebuie sa aiba o capa-
citate mare de stocare a prototipurilor. Ea trebuie sa e robusta, astfel ^ nc^at o
distrugere locala a structurii sa nu provoace caderea ^ ntregului sistem. ^In plus, o
astfel de memorie trebuie sa e capabila de a adauga/elimina asociatii, pe masura
ce se modica cerintele de stocare.
Memoriile asociative permit de obicei cautarea paralela. Scopul cautarii este
de a extrage unul sau toate pattern-urile care se potrivesc cu pattern-ul cheie.
Se presupune ca memoria biologica opereaza conform principiilor unei memorii
asociative: nu exista locatii de memorie cu adrese stocarea este distribuita ^ ntr-o
retea densa de neuroni interconectati.

6.1 Concepte de baza


Diagrama bloc a unei memorii asociative este reprezentata ^ n gura 6.1.
125
126 CAPITOLUL 6. MEMORII ASOCIATIVE

x1 v1
x2 v2

...
...
xn vn

Figura 6.1: Diagrama bloc a unei memorii asociative.

^In aceasta gura, x este vectorul intrarilor, v este vectorul iesirilor, x 2 <n,
v 2 <m si v = M !x], unde M este un operator neliniar matricial specic ecarui
tip de memorie. Structura lui M re%ecta o paradigma specica. Pentru memorii
dinamice, M implica si variabila timp.
Pentru un model de memorie dat, forma operatorului M este exprimata de
obicei ^ n functie de vectorii prototip care trebuie stocati. Algoritmul care per-
mite calcularea lui M se numeste algoritm de ^nregistrare sau stocare. De obicei,
neuronii sunt asezati pe unul sau doua straturi.
Maparea v = M !x] este numita regasire. Notam prototipurile cu un indice
superior ^ n paranteza.
Sa presupunem ca ^ n memorie sunt stocati anumiti vectori prototip, astfel
^ nc^at, daca se aplica un pattern cheie, iesirea produsa de memorie si asociata
cheii este raspunsul memoriei.
Presupun^and ca exista p perechi de asocieri stocate:
x(i) ! v(i) pentru i = 1 : : : p
si
v(i) 6= x(i) pentru i = 1 : : : p
atunci reteaua este o memorie heteroasociativa.
Daca aplicatia este de forma:

x(i) ! v(i)v i =x i pentru i = 1 : : : p
( ) ( )

atunci memoria este autoasociativa.


^In memoria heteroasociativa, asocierile se fac ^ ntre multimile ordonate de
vectori fx(1) x(2) : : : x(p) g si fv(1) v(2) : : : v(p)g. Memoriile autoasociative aso-
ciaza vectori din cadrul unei singure multimi care este fx(1) x(2) : : : x(p)g. Evi-
dent, proiectarea unui vector x(i) ^ n el^ nsusi nu are nici o semnicatie. O aplicatie
mai realista a unei mapari autoasociative este asocierea unui pattern cheie per-
turbat cu prototipul sau stocat ^ n memorie.
Spre deosebire de memoriile calculatoarelor, care sunt adresabile prin adresa,
memoriile asociative sunt adresabile prin continut.
Prin retele neurale se pot realiza memorii statice (instantanee, nerecurente) si
memorii dinamice (recurente). Memoria din gura 6.2 este una statica realizata
6.2. ASOCIATORI LINIARI 127

x0 v0
M1

Figura 6.2: Memorie statica realizata printr-o retea feedforward.

x0
vk+1
xk M2

Figura 6.3: Memorie dinamica autoasociativa realizata printr-o retea recurenta.

printr-o retea feedforward si v0 = M1 !x0 ] care reprezinta un sistem de ecuatii


algebrice neliniare. ^In gura 6.3 este o memorie dinamica autoasociativa realizata
printr-o retea recurenta pentru care vk+1 = M2 !x0 vk ], reprezent^and un sistem
de ecuatii diferentiale neliniare.
Un exemplu de memorie dinamica este reteaua Hopeld ^ n care
vk+1 = M2 !vk ]
adica ^ n care avem un v0 , dar nu avem intrari externe (g. 6.4).

x0
vk+2
xk M
∆ ∆

xk+1
M’ vk+1

Figura 6.4: Memorie dinamica heteroasociativa.

6.2 Asociatori liniari


Memoriile asociative traditionale sunt de tip instantaneu, feedforward. Pentru
memoria asociativa liniara avem:
v = Wx
128 CAPITOLUL 6. MEMORII ASOCIATIVE

unde x este pattern-ul de intrare, iar v pattern-ul de iesire. Nu apar neuroni.


Daca totusi introducem formal neuroni, atunci avem:
v = M1 !Wx]
unde M1 ! ] este un operator matricial liniar unitate. Avem un strat de neuroni
de iesire pentru care
v1 = f (neti) = neti:
Sa presupunem ca dorim sa stocam^ n acest asociator liniar p. Se dau perechile
de vectori fs(i) f (i) g, i = 1 : : : p. Vectorii s reprezinta stimulii, iar vectorii f sunt
raspunsurile fortate. Avem:
h i
s(i) = s(1i) : : : s(ni) t
h i
f (i) = f1(i) : : : fm(i) t :
Practic, s(i) pot  pattern-uri iar f (i) informatii asupra apartenentei lor la o clasa,
sau imagini ale lor.
Obiectivul asociatorului liniar este sa implementeze maparea
v = Wx
sub forma
f (i) + (i) = Ws(i)
sau, folosind simbolul de mapare
s(i) ! f (i) + (i) pentru i = 1 2 : : : p
astfel ^ nc^at vectorul zgomot (i) sa e minimizat.
Problema se poate pune si astfel: pentru un numar mare de observatii, sa
se gaseasca W care minimizeaza Pi k(i)k. Este o problema tipica de statistica
matematica si nu o vom aborda aici.
Dorim sa gasim W care permite stocarea ecienta a datelor ^ n memorie.
Aplicam regula de ^ nvatare hebbiana pentru a instrui asociatorul:
wij 0 = wij + fi sj pentru i = 1 2 : : : m j = 1 2 : : : n
unde vectorii f si s trebuie sa e membrii ai perechii de asociere.
W0 = W + fst
Initializ^and ponderile din W cu zero, avem:
W0 = f (i) s(i)t :
Acesta este primul pas al instruirii. Avem p perechi de ^ nvatat, deci:
X p
W0 = f (i) s(i)t
i=1
6.2. ASOCIATORI LINIARI 129

W0 = FSt
unde W0 este o matrice de corelatie m  n si
h i
F = f (1) f (2) : : : f (p)
h i
S = s(1) s(2) : : : s(p) :
Sa presupunem ca, dupa instruire, aplicam vectorul cheie s(j) . Atunci:
X
p !
v = f (i) s(i)t s(j)
i=1
= f s s + : : : + f (p) s(p)t s(j) :
(1) (1)t (j )

Ideal ar  sa avem v = f (j) . Aceasta se ^ nt^ampla daca


s(i)t s(j) = 0 pentru i 6= j
s(j)t s(j) = 1:
Deci, multimea de vectori ortonormali fs(1) : : : s(p)g asigura maparea perfecta.
Ortonormalitatea este o conditie supusa intrarilor si ea nu este ^ ntotdeauna res-
pectata.
Sa presupunem ca s(j)0 este s(j) perturbat:
s(j)0 = s(j) + $(j)
unde termenul perturbatie $(j) se poate presupune statistic independent de s(j) .
Pentru cazul c^and vectorii stocati ^ n memorie sunt ortonormali, avem:
p 
X 
v = f s s +f s $ +
(j ) (j )t (j ) (j ) (j )t (j ) (i)
f s(i)t $(j)
i=1
i6=j
p 
X 
= f +(j )
f (i) s(i)t $(j) :
i=1
i6=j

Am tinut cont si de faptul ca $(j) este statistic independent de s(j) , deci pot 
considerati ortogonali, adica:
s(j)t $(j) = ks(j)t kk$(j)kcos = 0:
Observam ca raspunsul memoriei este asocierea dorita f (j) , plus o componenta
aditiva datorata perturbatiei $(j) . Aceasta componenta contine ^ n paranteza
aproape toti termenii lui W ponderati de $(j) . Chiar si ^ n cazul ^ n care vectorii
memorati sunt ortonormali, la f (j) se adauga un zgomot foarte mare. Metoda
este inecienta pentru a regasi un pattern perturbat.
130 CAPITOLUL 6. MEMORII ASOCIATIVE

^In nal, sa notam o proprietate interesanta a asociatorului liniar ^ n cazul


autoasociativ. ^In acest caz, reteaua este un autocorelator. Luam f (i) = s(i) si
obtinem matricea de autocorelatie W0:
X
p
W0 = s(i) s(i)t = SSt
i=1
tin^and cont de faptul ca W0 este simetrica. Sa notam ^ nsa ca W0 nu are diagonala
egala cu zero.0 Presupun^and s(1) : : : s(p) ortonormali, pentru vectorul de intrare
perturbat s(j) obtinem:
X
v = s(j) + s(i) s(i)t $(j)
i=1
i6=j
= s(j) + (p ; 1)$(j)
unde termenul $(j) apare amplicat de p ; 1 ori!
Asociatorii liniari si autoasociatorii pot  folositi si atunci c^and vectorii s(1) ,
..., s(p) sunt liniar independenti (o conditie mai slaba dec^at ortogonalitatea).
Kohonen a aratat ca, ^ n acest caz, avem:
W = F(St S);1St :
Acest W minimizeaza eroarea patratica dintre f (j) si v(j).
Deoarece vectorii prototip nu sunt ^ n general liniar independenti, nici aceasta
metoda nu poate  aplicata oric^and. ^In plus, apare problema zgomotului.
^In concluzie, asociatorii liniari nu sunt ^ n general utilizabili ^ n practica.

6.3 Concepte de baza ale memoriilor


autoasociative recurente
O astfel de memorie este ^ n esenta o retea feedback monostrat cu timp discret de
tip Hopeld (g. 6.5).
Recursivitatea este stohastic asincrona. Fiecare feedback se produce cu o
^ nt^arziere $. Neuronii sunt alcatuiti dintr-un sumator si un comparator si sunt
bipolari discreti. Iesirile sunt ^ n multimea f;1 1gn. Presupunem ca ii = Ti = 0,
pentru i = 1 2 : : : n.

Algoritmul de regasire
0 1
X n
vik+1 = sgn @ wij vjk A
j =1
Presupun^and ca pornim din v0 si ca se alege ^ n mod aleator secventa m, p, q de
neuroni, avem:
Prima actualizare: v1 = ! v10 v20 : : : vm1 : : : vp0 : : : vq0 : : : vn0 ]t
A doua actualizare: v2 = ! v10 v20 : : : vm1 : : : vp2 : : : vq0 : : : vn0 ]t
A treia actualizare: v3 = ! v10 v20 : : : vm1 : : : vp2 : : : vq3 : : : vn0 ]t
6.3. MEMORII AUTOASOCIATIVE RECURENTE 131

w12 1
v1k
w1n
v2k w21 2
w2n

...

...
vnk wn1
wn2
n

...
Figura 6.5: Memorie Hop eld autoasociativa.

Avem:
E (v) = ; 12 vtWv:
Am vazut ca energia este necrescatoare si reteaua se stabilizeaza ^ ntr-unul din
minimele locale energetice.
Fie ;v complementul vectorului v.
Se observa ca E (v) = E (;v). Deci, un minim pentru E (v) are aceeasi
valoare cu un minim pentru E (;v). Cu alte cuvinte, tranzitiile memoriei se pot
termina ^ n aceeasi masura at^at ^ n v, c^at si ^ n ;v. Factorul decisiv care determina
convergenta este similaritatea dintre v0 si v, respectiv ;v.

Algoritmul de stocare
Fie s(1) , ..., s(p) prototipurile bipolar binare care trebuie stocate. Algoritmul de
stocare pentru calcularea matricii ponderilor este:
X
p
W= s(m) s(m)t ; pI
m=1
sau
X
p
wij = (1 ; ij ) s(im) s(jm)
m=1
unde ij = 0 pentru i 6= j , ii = 1 si I este matricea unitate.
Matricea W este foarte similara cu matricea de autocorelatie obtinuta prin
^ nvatare hebbiana ^ n cazul asociatorului liniar autoasociativ. Diferenta este
ca wii = 0. Sistemul nu memoreaza vectorul s(m) , ci doar ponderile wij care
reprezinta corelatii ^ ntre componentele acestui vector.
Oric^and se pot adauga noi autoasocieri aditionale la memoria existenta, prin
incrementarea ponderilor existente. Oric^and se pot elimina autoasociatori prin
decrementarea ponderilor existente. Regula de stocare este invarianta la ordinea
^ n care sunt stocate prototipurile.
132 CAPITOLUL 6. MEMORII ASOCIATIVE

Daca avem vectorii unipolari s(1) , ..., s(m) , algoritmul de stocare trebuie modi-
cat astfel ^ nc^at o componenta -1 sa ^ nlocuiasca elementul 0 ^ n vectorul unipolar
originar:
X
p
wij = (1 ; ij ) (2s(im) ; 1)(2s(jm) ; 1):
m=1
Sa observam ca regula de0 stocare este invarianta la operatia de complementare
binara. Stoc^and vectorul s (m) , complementar lui s(m) , obtinem:
0 = (1 ; X
p
wij ij ) (2s0(im) ; 1)(2s0(jm) ; 1):
m=1

Substituind s0 (im) = 1 ; s(im) , obtinem wij 0 = wij . Cu alte cuvinte, este indiferent
daca stocam un pattern sau complementul sau binar.
Algoritmul de stocare si regasire pentru o memorie autoasociativa recurenta
este urmatorul:

Se dau vectorii binar bipolari s(1) , ..., s(p) de c^ate n componente.


Vectorul initial (care se cere regasit) este v0 , tot de n componente.
Stocarea
1. Se initializeaza W  0, m  1, unde W este matricea n  n a
ponderilor.
2. Se stocheaza s(m) :
W  W + s(m) s(m)t ; I:
3. if m < p then m  m + 1, go to 2.
Regasirea
1. Se initializeaza k  1, v  v0, unde k este un contor de ciclu.
2. Se initializeaza i  1, contorul de actualizare ^n ciclu. Se
obtine o permutare aleatoare a ^ntregilor 1 : : : n: 1 : : : n.
actualizare  FALSE .
3. Este actualizat
P neuronul i, daca este cazul:
neti = j=1 wi j vj , vnew  sgn (neti )
n
if vi 6= vnew then actualizare  TRUE , vi  vnew.
4. if i < n then i  i + 1, goto 3.
5. if actualizare = FALSE then fnu a avut loc nici o actualizare
^n acest ciclu, regasirea se terminag display k v
else k  k + 1, goto 2.
6.3. MEMORII AUTOASOCIATIVE RECURENTE 133

Consideratii asupra modului de functionare


Memoria autoasociativa Hopeld este referita de multe ori ca un decodor corector
de erori. Memoria lucreaza cel mai bine cu valori mari ale lui n.
Sa presupunem ca n are o valoare mare. Presupunem ca pattern-ul s(m0 ) este
unul din cele p pattern-uri stocate. Acest pattern este acum la intrarea memoriei.
Pentru neuronul i avem:
Xn 0
neti = wij s(jm ) :
j =1
Aplic^and formula:
X
p
wij = (1 ; ij ) s(im) s(jm)
m=1
si, neglij^and pentru moment termenul 1 ; ij , obtinem:
X n X p 0
neti = s(im) s(jm) s(jm )
j =1 m=1
Xp
(m) X (m) (m0 )
n
= si sj sj :
m=1 j =1
Daca vectorii s(m) si s(m0 ) sunt statistic independenti, atunci termenul
X
n 0
s(jm) s(jm ) (6.1)
j =1
(m) (m0 )
este ^ n medie zero. De altfel, aceasta sum a este produsul scalar s s . Daca
s(m) si s(m0 ) sunt0 ortogonali, deci statistic independenti, acest produs devine zero.
Daca s(m) si s(m ) sunt ^ ntr-o anumita masura identici, atunci termenul 6.1 devine
(m0 )
pozitiv. Daca s = s 0 , atunci termenul 6.1 este n.
(m)

Deci, daca s(m) = s(m ) pentru un anumit 1  m  p, atunci


neti
0
= s(im ) n pentru i = 1 2 : : : n: (6.2)
0
neti are acelasi semn ca si s(im ) , pentru i = 1 : : : n. ^In concluzie, vectorul s(m0 )
este stabil si nu se mai poate modica.
Vom da acum o explicatie intuitiva a faptului ca pattern-urile perturbate pot
 refacute.
Sa presupunem ca vectorul de la intrare este o versiune perturbata a proto-
tipului s(m0 ) care este stocat ^ n memorie, iar perturbatia afecteaza doar o mica
parte a componentelor (majoritatea componentelor sunt neperturbate). ^In acest
caz, ^ n 6.2 multiplicatorul n va avea o valoare ceva mai mica, egala cu num0arul
de componente identice dintre s(m0 ) si vectorul de intrare. Semnul lui s(im ) se
propaga asupra lui neti. Componentele0 perturbate sunt actualizate, una c^ate
una, cu valorile lor neperturbate din s(m ). Evident, este necesar ca majoritatea
componentelor vectorului initial sa e neperturbate si ca n sa e mare. Compo-
nentele perturbate se conformeaza deci dorintei majoritatii.
134 CAPITOLUL 6. MEMORII ASOCIATIVE

Aceasta explica intuitiv cum un pattern perturbat poate  asociat celui mai
apropiat prototip stocat. Discutia este ^ nsa valabila doar pentru valori mari ale
lui n.
Sa presupunem acum ca prototipurile stocate sunt ortogonale. Avem:
X
p !
net = s s
(m) (m)t
; pI s(m0 ) :
m=1
Deoarece s(i)t s(j) = 0 pentru i 6= j si s(i)t s(j) = n, obtinem
net = (n ; p)s(m0 ) :
Daca n > p, rezulta ca s(m0 ) este stabil. Functia de energie este:
E (v) = ; 21 vtWv
Xp !
= ;2v 1 t s s v + 21 vt pIv:
(m) (m)t
m=1

Pentru ecare prototip stocat s(m0 ) avem:


Xp  0  
E (s(m0 ) ) = ; 12 s(m )t s(m) s(m)t s(m0 ) + 21 s(m0 )t pIs(m0 )
m=1
1
= ; 2 (n2 ; pn):
Memoria are o stare de echilibru la ecare prototip s(m0 ) , iar energia are valoarea
ei minima ; 12 (n2 ; pn) ^ n aceste stari.
Pentru cazul mai general, c^and prototipurile nu sunt mutual ortogonale, e-
nergia nu mai este ^ n mod necesar minimizata pentru ecare prototip, iar pro-
totipurile nu mai sunt ^ n mod necesar stari de echilibru. ^In acest caz, avem:
p 
X 
net = ns(m0 ) ; ps(m0 ) + s(m) s(m)t s(m0 )
m=1
m6=m0
p 
X 
= (n ; p)s(m0 ) + s(m) s(m)t s(m0 ) :
m=1
m6=m0
Fata de situatia anterioara, apare suplimentar ultimul temen:
p 
X 
s(m) s(m)t s(m0 ) :
m=1
m6=m0

Acesta poate  interpretat ca un vector zgomot. Cu c^at (n ; p) este mai mare,


cu at^at scade importanta zgomotului si prototipurile devin stari de echilibru.
6.4. ANALIZA PERFORMANTEI 135

6.4 Analiza performantei memoriilor


autoasociative recurente
^In aceasta sectiune, vom stabili relatii ^ ntre marimea n a memoriei si numarul de
pattern-uri distincte care pot  refacute ^ n mod ecient. Aceasta depinde si de
gradul de similaritate dintre vectorul cheie si cel mai apropiat prototip, precum
si de gradul de similaritate dintre prototipuri.
Pentru a masura "similaritatea", vom folosi distanta Hamming. De fapt, ea
este proportionala cu "disimilaritatea". Pentru vectorii bipolari de n componente
x si y, avem:
1 Xn
DH(x y) = 2 jxi ; yij:
i=1
Aceasta ^ nseamna ca DH(x y) reprezinta numarul de pozitii ^ n care difera bitii.
Prin actualizarea asincrona, la ecare pas se modica vectorul de iesire cu DH =
1.
Fie, de exemplu:
s(1) = ! ;1 ;1 1 1 ]t
s(2) = ! ;1 1 1 ;1 ]t
Construim: 2 0 0 ;2 0 3
6 7
W = 664 ;02 00 00 ;02 775 :
0 ;2 0 0
Pornind din
v0 = ! ;1 1 ;1 1 ]t
obtinem, prin actualizari asincrone ascendente:
v1 = ! 1 ;1 ;1 1 ]t
v2 = ! 1 ;1 ;1 1 ]t = v3 = : : :
Actualizarile au fost astfel descrise pas cu pas. Convergenta este catre ;s(2) si
nu catre s(1) sau s(2) . Avem:
   
DH v0 s(1) = DH v0 s(2) = 2
deci v0 nu este atras catre s(1) sau s(2) .
Fie acum:
v0 = ! ;1 1 1 1 ]t:
Avem:    
DH v0 s(1) = DH v0 s(2) = 1:
136 CAPITOLUL 6. MEMORII ASOCIATIVE

Prin actualizari asincrone ascendente, obtinem:


v1 = v0
v2 = ! ;1 ;1 1 1 ]t = v3 = : : : = s(1)
Pe de alta parte ^ nsa, daca actualizarile sunt ^ n ordine descendenta, obtinem s(2) .
Pentru acest exemplu, avem p=n = 2=4, deci memoria este supra^ ncarcata
si sensibila la perturbatii. De aceea, refacerea pattern-urilor perturbate nu este
^ ntotdeauna ecienta. Se observa si ca nu putem evita stocarea complementelor
pattern-urilor stocate.
^In astfel de memorii, pot exista stari stabile care nu reprezinta pattern-uri
memorate. De asemenea, convergenta nu este neaparat catre cel mai apropiat
pattern memorat (apropiere masurata prin DH). Aceste doua deciente devin
deranjante atunci c^and memoria este supra^ ncarcata, deci c^and p=n este mare.

Capacitatea memoriei autoasociative recurente


Vom mentiona aici rezultatele obtinute de McEliece et al.1.
Un vector stare vk al unei memorii este stabil daca
h i
vk+1 = ; Wvk = vk :
Aceasta denitie nu este legata de tipul de actualizare: sincron sau asincron.
Fie  raza de atractie denita astfel: orice vector la o DH mai mica dec^at n
(distanta de atractie) de starea stabila v este eventual atras de v. Am vazut ca
distanta de atractie este ^ ntre 1 si n=2, deci  este ^ ntre 1=n si 1=2.
Pentru ca sistemul sa functioneze ca o memorie, impunem ca ecare vector
memorat s(m) sa e stabil. Mai putin restrictiv este sa cerem sa existe un vector
stabil la o distanta mica de s(m) , "n, pentru toate cele p pattern-uri memorate.
Capacitatea asimptotica a unei memorii autoasociative cu n neuroni este:
c = (14;ln)n n :
2

Daca p < c, atunci toate cele p pattern-uri stocate, sunt stabile cu probabilitatea
aproape 1. Oricum ar  valoarea 0 <  < 1=2, capacitatea unei memorii Hopeld
este deci ^ ntre:
n=(4 ln n) < c < n=(2 ln n)
unde c depinde de fapt de toleranta la eroare, adica de . ^In loc de 2n pattern-uri,
putem stoca doar c pattern-uri!
Studiul lui McEliece et al. releva prezenta unor atractori ^ n care nu au fost
memorate pattern-uri acestia au ^ n general bazinele de atractie mai mici dec^at
cele ale pattern-urilor stocate.
Chiar daca numarul pattern-urilor ce pot  stocate ^ ntr-o memorie Hopeld
este destul de mic, aceste memorii au o serie de aplicatii ^ n procesarea vorbirii,
baze de date, prelucrarea imaginilor.
McElice, R.J, Posner, E.C., Rodemich, E.R., Vankatesh, S.V. "The Capacity of the Hop eld
1
Associative Memory". IEEE Trans. on Information Theory, 33, 1987, 461-482.
6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB) 137

6.5 Memoria asociativa bidirectionala (MAB)


MAB (g. 6.6) este o memorie heteroasociativa adresabila prin continut const^and
din doua straturi (Kosko, 1987, 1988).

W
1 1

2 2
...

n
t
...
m
stratul A W stratul B

Figura 6.6: Memorie asociativa bidirectionala.

Fie p perechi de pattern-uri memorate:


     
f a(1) b(1) a(2) b(2) : : : a(p) b(p) g
Presupunem ca avem vectorul b la intrarea ^ n stratul A al memoriei. Presupunem
ca neuronii sunt binari bipolari:
a0 = ;!Wb]
adica: 0m 1
X
ai 0 = sgn @ wij bj A i = 1 : : : n:
j =1
Procesarea are loc sincron. Urmeaza:
h i
b0 = ; Wta0
X
n !
0
bj = sgn wij a0
i j = 1 : : : m:
i=1
Apoi:
a00 = ; !hWb0] i
b00 = ; Wta00 etc.
138 CAPITOLUL 6. MEMORII ASOCIATIVE

Procesul continua p^ana c^and a si b nu se mai modica.  


^In mod ideal, procesul se stabilizeaza ^ ntr-o pereche a(i) b(i) din multimea
perechilor memorate. Putem opera asemanator pentru cazul unipolar. Pre-
supunem ca straturile sunt activate alternativ.
Stabilitatea unei astfel de retele nu este afectata de procesarea sincrona ca ^ n
cazul memoriilor Hopeld, deoarece oricum cele doua straturi lucreaza asincron.
De aceea, se prefera procesarea sincrona, convergenta ind mai rapida dec^at ^ n
cazul ^ n care am folosi procesarea asincrona.
Daca W este patrata si simetrica, atunci W = Wt si avem de fapt o memorie
autoasociativa cu un singur strat. Stocarea are loc conform regulii hebbiene:
X
p
W = a(m) b(m)t
m=1
Xp
wij = a(im) b(jm) :
m=1
Presupun^and ca unul din pattern-urile stocate, a(m0 ), este prezentat la intrare,
obtinem:
"X
p   #
(m0 )
b = ; b a
(m) (m)t
a
2m=1 3
6 X
b(m) a(m)t a(m0 )775 :
p
= ; 64nb(m0 ) +
m=1
m6=m0
Ultimul termen din relatia anterioara, pe care ^ l notam cu:
X
p
= b(m) a(m)t a(m0 )
m=1
m6=m0
reprezinta zgomotul.
Sa presupunem pentru moment0 ca pattern-urile a(1) : : : a(p) sunt ortogonale.
Atunci,  = 0 si se obtine b = b(m ) dintr-un singur pas.
Dac
0
a pattern-ul de intrare este o versiune perturbata a lui a(m0 ) , stabilizarea
la b(m ) nu mai este iminenta si depinde de mai multi factori: DH dintre vectorul
cheie si prototipuri, ortogonalitatea sau DH dintre vectorii b(1) : : : b(p) etc.

Consideratii asupra stabilitatii


C^and memoria MAB ajunge la o stare de echilibru, astfel ^ nc^at a(k) ! b(k+1) !
a(k+2) = a(k) , spunem ca ea este bidirectional stabila.
Fie functia de energie:
E (a b) = ; 21 at Wb ; 21 btWta = ;at Wb:
6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB) 139

Vom evalua modicarile energiei pentru un pas:


8
> 0 pentru P m w b >0
$ai = < 0 P j =1 ij j
pentru Pmj=1 wij bj = 0
i=1 ::: n >: 0 pentru mj=1 wij bj < 0
8 (6.3)
> 0 pentru P n w a >0
$bj = < 0 P i=1 ij j
pentru Pni=1 wij aj = 0
j =1 ::: n >
: 0 pentru ni=1 wij aj < 0
Calculam:
raE (a b) = ;Wb
rbE (a b) = ;Wt a:
Modicarile de energie cauzate de catre modicarea unei singure componente
sunt:
0m 1
X
$Eai (a b) = ; @ wij bj A $ai pentru i = 1 : : : n
j =1
X n !
$Ebj (a b) = ; wij ai $bj pentru j = 1 : : : m:
i=1
Rezulta ca $E  0, daca tinem cont si de 6.3. Deoarece E este inferior marginita,
adica:
X n Xm
E (a b)  ; jwij j
i=1 j =1
rezulta ca memoria converge catre un punct stabil care este un minim local pentru
functia de energie. Deci, memoria este bidirectional stabila.
Sa observam ca nu este important daca procesarea^ ntr-un strat se face sincron
sau asincron.
Kosko (1988) a aratat (euristic) ca numarul maxim de perechi, p, care pot 
stocate si regasite cu succes, este min(n m). O masura mai stricta a capacitatii
este: q
p = min(n m):
Observatii
1. Formula de stocare a perechilor de pattern-uri nu garanteaza ca acestea
corespund unor minime locale.
2. Am vazut ca, daca pattern-urile stocate sunt ortogonale, atunci zgomotul
este zero si toate pattern-urile stocate pot , ^ n mod garantat, recuperate
printr-un pas (daca nu sunt perturbate). Wang (1990) a propus cresterea
ctiva a pattern-urilor de instruire pentru a obtine o ortogonalizare a lor.
140 CAPITOLUL 6. MEMORII ASOCIATIVE
   
Perechile a(i) a(j) si b(i) b(j) sunt fara zgomot, unde i j = 1 : : : p,
daca:
 
HD a(i) a(j) = n
 (i) (j) 2
HD b b = m
2
acestea ind conditiile de ortogonalitate ^ ntre a(i) si a(j) , respectiv b(i) si
b(j) . Daca avem aceasta situatie, atunci recuperarea datelor este imediata
si fara erori (daca nu sunt perturbate). Prin cresterea vectorilor a(i) si b(i) ,
i = 1 : : : p, cu componente aditionale obtinem aceasta ortogonalitate la
nivel de perechi.
Prin aceasta tehnica se ^ mbunatateste si capacitatea MAB de a corecta
erori.

Utilizarea MAB pentru pattern-uri temporale


n o
Fie secventa S = s(1) s(2) : : : s(p) de vectori n-dimensionali bipolari binari
reprezent^and tranzitiile starilor (pattern-uri temporale). Reteaua MAB este ca-
pabila sa memoreze secventa S , astfel ^ nc^at:
h i
s(i+1) = ; Ws(i)
unde i este modulo p + 1.
Pornind de la starea initiala x(0)^ n vecinatatea lui s(i) , secventa S este apelata
ca un ciclu de tranzitii ale starilor. Acest model este numit memorie asociativa
temporala.
Pentru stocarea secventei, astfel ^ nc^at s(1) sa e asociat cu s(2) , s(2) cu s(3) , ...,
s(p) cu s(1) , procedam astfel:
pX
;1
W= s(i+1) s(i)t + s(1) s(p)t
i=1
sau, daca indicele este modulo p + 1:
X
p
W= s(i+1) s(i)t :
i=1
Av^and straturile A si B, avem:
a = ;!Wb]
b = ;!Wa]:
Daca secventa s(1) : : : s(p) este aplicata la intrarea ^ n stratul A, avem:
ns k
z }| + {
( +1)

a = ; !(|s(2) s(1)t + : : : + s(k+1){zs(k)t + : : : + s(1) s(p)t )} s(k) ] :


W
6.6. EXERCITII 141

Termenul  
X
p
= s(i+1) s(i)t s(k)
i=1
i6=k
este zgomotul, unde indicele de ^ nsumare este modulo p + 1. Daca vectorii din S
sunt ortogonali, atunci  = 0 si a = s(k+1) , dintr-un singur pas.
Asadar, daca la intrare avem s(k) , obtinem ^ n mod circular:
s(k+1) ! s(k+2) ! : : : ! s(p) ! : : :
Daca vectorii din S nu sunt ortogonali, presupun^and ^ nsa ca ei sunt stocati la
o DH << n, ^ n general ne putem astepta sa obtinem totusi secventa corecta S
daca aplicam s(k).
Aceasta memorie poate stoca cel mult k secvente de lungimi p1 p2 : : : pk ,
unde:
Xk
p = pi p < n:
i=1

6.6 Exercitii
1. Asociatorul liniar trebuie sa asocieze urmatoarele perechi de vectori:
h it
s(1) = 1 1 1 1
! f (1) = ! 0 1 0 ]t
h 2 2 2 2
it
s(2) = 1
; 65 1 1
! f (2) = ! 1 0 1 ]t
h 2 6 6
it
s(3) = 1
2
1
6
1
6 ; 65 ! f =! 0 0 0 ]
(3) t

(a) Vericati daca vectorii s(1) , s(2) , s(3) sunt ortonormali.


(b) Calculati matricea ponderilor.
(c) Vericati asocierea produsa de retea pentru unul din vectorii s(i) .
(d) Perturbati s(i) d^andu-i unei componente valoarea 0 si calculati vectorul
rezultat perturbat.
2. Asociatorul liniar din gura 6.7 a fost instruit sa asocieze vectorilor de
intrare:
h i
s(1) = p13 p13 p13 t
h it
s(2) = p12 0 ; p12
h i
s(3) = p16 ; p26 p16 t

vectorii f (1) , f (2) , f (3) . Gasiti matricea W si vectorii f (1) , f (2) , f (3) care sunt
codicati ^ n retea.
142 CAPITOLUL 6. MEMORII ASOCIATIVE

x1
1/6
1/2+1/6 v1
+
-2/6
x2
-2/6
v2
+
1/6
-1/2+1/6
x3

Figura 6.7: Asociatorul liniar propus pentru exercitiul 2.

3. Autoasociatorul liniar trebuie sa asocieze versiuni perturbate ale vectorilor


s1 , s2, s3 cu prototipurile lor neperturbate din problema 1. Calculati ma-
tricea W.
4. Urmatorii vectori trebuie stocati ^ ntr-o memorie autoasociativa recurenta:
s(1) = ! 1 1 1 1 1 ]t
s(2) = ! 1 ;1 ;1 1 ;1 ]t
s(3) = ! ;1 1 1 1 1 ]t
(a) Calculati matricea W.
(b) Aplicati la intrare vectorul v0 = ! 1 ;1 ;1 1 1 ]t si folositi actu-
alizarea asincrona ascendenta.
(c) Aplicati v0 prin actualizare asincrona descendenta.
(d) Comentati daca memoria Hopeld ofera o solutie optima din punct de
vedere al DH. (Atentie, memoria este supra^ ncarcata. Luati sgn(0) = 1
^ n aceasta problema).
5. O memorie asociativa temporala trebuie sa stocheze urmatoarea secventa:
s(1) = ! 1 ;1 ;1 1 ;1 ]t
s(2) = ! ;1 1 1 ;1 ;1 ]t
s(3) = ! ;1 1 1 1 ;1 ]t
Calculati W si vericati regasirea pattern-urilor. ^Incercati sa introduceti
la intrare pattern-uri perturbate.
6. (C) Proiectati o memorie heteroasociativa bidirectioanla care asociaza ca-
racterele (A, C), (I, I) si (O, T). Reprezentati caracterele A, I, O ca matrici
6.6. EXERCITII 143

binare de 5  3 pixeli, iar caracterele C, I, T ca matrici binare de 3  3


pixeli. Vericati memoria folosind la intrare pattern-uri neperturbate si
pattern-uri perturbate.
144 CAPITOLUL 6. MEMORII ASOCIATIVE
Capitolul 7
Retele neurale cu auto-organizare
^In acest capitol ne vom concentra pe retele neurale care trebuie sa descopere
singure relatiile interesante din cadrul pattern-urilor de intrare, deci nu vom
folosi instruirea supervizata. Obiectivul nostru este sa exploram algoritmii de
instruire nesupervizata ai retelelor neurale, retele care au astfel capacitatea de
auto-organizare, adica de adaptare.

7.1 Retelele Hamming si MAXNET


Vom considera un clasicator cu doua straturi pentru vectori binari bipolari (g.
7.1).

Retea
MAXNET
[ x1... x n] t Hamming t
[ y1k+1... yk+1
p ]

Figura 7.1: Clasi cator cu doua straturi pentru vectori binari.


Prima parte este o retea Hamming, detaliata ^ n gura 7.2.
Fie s(m) , m = 1 : : : p, vectorul prototip pentru clasa m. Presupunem ca
avem pentru ecare clasa un vector prototip si, corespunzator, un neuron.
Fie x vectorul de intrare. Folosim produsul scalar al vectorilor ca o masura
de matching (potrivire) ^ ntre acesti vectori. Ideea este sa luam:
h i
wm = wm1 : : : wmn t pentru m = 1 : : : p
si sa avem xt wm maxim c^and x = s(m) . Deoarece vectorii sunt binari bipolari,
produsul xt s(m) reprezinta numarul de pozitii ^ n care x si s(m) difera. Numarul
145
146 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

n/2
1 f(net )
w11 y1
1
1 1
w1n

...
...

n/2
wp1
1
wpn yp net
n
p 0 n

a) b)

Figura 7.2: a) Reteaua Hamming b) Functia de activare a neuronilor retelei Hamming. Zonele
^n care f (net) < 0 si f (net) > 1 sunt inactive pentru ca 0 net n.

de pozit
 ii(m^) n care acesti doi vectori difera este ^ nsa chiar distanta Hamming,
DH x s , prin denitie. Atunci:
    
xt s(m) = n ; DH x s(m) ;DH x s(m) :
| {z }
nr. de pozitii
^ n care sunt egali
Obtinem:
1 xt s(m) = n ; DH x s(m)  :
2 2
Luam: 2 (1) 3
66 s1(2)
: : : s(1)
n 7
WH = 12 666 s1 n 7
: : : s(2) 77
... 75
4 (p)
: : : s(np)
s1
unde factorul 21 folosese la scalare. La intrarea ^ n nodul m, m = 1 : : : p avem:
netm = 21 xt s(m) + n2
 
= n ; DH x s(m) :
Se observa ca am adaugat termenul n2 . Luam f (netm ) = n1 netm , m = 1 : : : p.
Deoarece 0  netm  n, avem 0  f (netm )  1, m = 1 : : : p.
Avem:
 
1. Daca x = s(m) , atunci DH = x s(m) = 0 si netm = n, deci f (netm ) = 1.
7.1. RETELELE HAMMING SI MAXNET 147

 
2. Daca x este complementul lui s(m) , atunci DH x s(m) = n, netm = 0 si
f (netm ) = 0.
^In general, numarul neuronului cu cea mai mare iesire indica numarul clasei careia
^ i este atribuit x, din punct de vedere al DH. Reteaua Hamming este, evident, de
tip feedforward.
Reteaua MAXNET (g. 7.3) este recurenta si are rolul de a transforma iesirile
din reteaua Hamming, astfel ^ nc^at toate aceste iesiri sa devina 0, cu exceptia celei
maxime.



y1k y1k+1
1
−ε
−ε

y2k −ε y2k+1
1
−ε

−ε
ypk −ε ypk+1
1

Figura 7.3: Reteaua MAXNET.

Matricea ponderilor retelei MAXNET este matricea p  p:


2 1 ;" ;" : : : ;" 3
6 ;" 1 ;" : : : ;" 77
WM = 6664 .. ... ... 775
.
;" ::: 1
unde 0 < " < 1=p, " ind coecientul de interactie laterala.
Lu^and (g. 7.4):
(
f (net) = 0 net < 0
net net  0
h i
y(k+1) = ; WM yk
si presupun^and 0  yi0  1, i = 1 : : : p, valorile de init ializare, obtinem
urmatorul proces:
148 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

f(net )

net
0 1

Figura 7.4: Functia de activare a neuronilor retelei MAXNET. Zona ^n care avem net > 1 este
inactiva.

La ecare recurenta, ecare componenta a vectorului y(k+1) scade


p^ana devine 0. Componentele lui y(k+1) devin 0 ^ n ordinea inversa a
marimii lor. Procesul se stabilizeaza c^and o singura componenta (cea
maxima) ram^ane nenula. Aceasta componenta scade cel mai lent. Pe
masura ce sunt anulate componente, descresterea este mai lenta.

Sa comparam aceasta retea cu asociatorul Hopeld. Presupunem ca trebuie


sa clasicam ^ n 5 clase posibile un vector cu 50 de componente.

1. Reteaua Hamming necesita 255 de conexiuni pentru cei 5 neuroni.

2. Reteaua Hopeld necesita 2450 de conexiuni pentru cei 50 de neuroni. ^In


plus, capacitatea de stocare este limitata.

Reteaua Hamming pare mai ecienta. Totusi, ea nu regaseste pattern-ul prototip,


ci doar indicele clasei din care face parte pattern-ul de intrare. Deci, reteaua Ham-
ming nu poate restaura un pattern perturbat, ci gaseste doar distanta minima a
acestui pattern fata de prototipuri.
Reteaua Hamming este un clasicator propriu-zis, nu o memorie autoasocia-
tiva.

7.2 Instruirea nesupervizata a clusterelor


Clustering ^ nseamna gruparea pattern-urilor similare si separarea celor nesimilare.
Exista tehnici clasice de clustering: k-means, ISODATA etc, dar noi ne vom
concentra pe metodele conexioniste.
7.2. INSTRUIREA NESUPERVIZATA A CLUSTERELOR 149

Instruirea c^astigatorul ia tot


Presupunem ca avem secventa de instruire fx1 : : : xN g care reprezinta p clustere.
Pentru reteaua Kohonen (g. 7.5), despre care vom discuta ^ n continuare, avem:
y = ;! Wx]
2 wt 3 2 3
66 w12t 77 w i1
W = 664 .. 775 unde wi = 664 ... 775 i = 1 : : : p
. win
wt p

y1
1
...
...

wm1
2 wm2
ym
wmn
...

...

n
yp

Figura 7.5: Reteaua Kohonen.


Algoritmul de instruire este de tip c^astigatorul ia tot. Vectorii wi, i = 1 : : : p
sunt variabili si trebuie ^ nvatati. ^Inainte de instruire, se normalizeaza vectorii
ponderilor:
w^ i = wi : i = 1 : : : p:
kwik
Se calculeaza indicele m pentru care:
kx ; w^ mk = i=1min::: pfkx ; w^ i kg
unde x este vectorul de intrare. Deoarece:
 1=2
kx ; w^ mk = xt x ; 2w^ mt x ; 1
avem:
w^ mt x = i=1
max (w^ tx):
::: p i
Neuronul al m-lea, cu cea mai mare valoare pentru intrare este declarat c^astigator.
^In general, avem:
cos = kxxkkxxi k :
t
i
150 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

^In loc de kx ; xi k, putem folosi cos ca si criteriu de similaritate ^ ntre x si xi,
astfel ^ nc^at x este "mai aproape" de xi daca este mai mic. Este necesar ^ nsa
sa normalizam vectorii x si xi, pentru ca altfel criteriul nu mai functioneaza: se
poate ca kx ; xik sa e mare, dar sa e mic.
Reducem acum kx ; wm k ^ n directia gradientului negativ al distantei:
rwm kx ; wm k2 = ;2(x ; wm)
$w^ m0 =  (x ; w^ m)
unde  este de obicei ^ ntre 0,1 si 0,7. Celelalte ponderi nu se schimba. Avem
atunci: ( k+1 k k  
w^ m = w^ m +  x ; w^ mk :
w^ ik+1 = w^ ik i 6= m
Procesul continua pentru un nou pattern x. Parametrul  se reduce monoton
si instruirea ^ ncetineste pe parcurs. Vectorul modicat w^ mk+1 este normalizat si
intra ^ n pasul urmator. ^In nal, ecare w^ i va reprezenta centrul de greutate al
unei regiuni de decizie, deci a unui cluster.
Functiile de activare ale neuronilor nu au relevanta, dar ^ n general sunt de tip
continuu.
Obtinem ^ n nal un clasicator ^ n care pattern-ul de intrare x este asociat
gruparii m, unde ym = max(y1 : : : yp).
Dupa instruire, reteaua Kohonen poate  folosita ca si clasicator. Pentru
aceasta, trebuie sa o calibram supervizat: se aleg p reprezentanti ai celor p clustere
si se aplica, etichet^and corespunzator cele p noduri cu iesirile respective. Astfel,
etichetam de fapt clusterele.
Ponderile initiale sunt luate, ^ n general, ^ n mod aleator, astfel ^ nc^at sa acopere
uniform spatiul pattern-urilor.
Reteaua Kohonen are limitari legate de arhitectura monostrat: nu poate ma-
nipula ecient pattern-uri liniar neseparabile. Chiar si pentru pattern-uri liniar
separabile, ponderile pot sa se blocheze ^ n regiuni izolate, fara sa formeze clus-
terele adecvate. ^In astfel de situatii, se reinitializeaza ponderile cu valori noi, sau
se adauga zgomot la vectorii pondere ^ n timpul instruirii.
Daca numarul gruparilor este a priori necunoscut, se ia un p sucient de
mare. Pe parcursul instruirii, unii neuroni se vor comporta haotic, ponderile
catre ei nestabiliz^andu-se. Acesti neuroni nu reprezinta clustere, deci pot  omisi
^ n faza de utilizare a retelei.

7.3 Harti Kohonen


Centrii anumitor activitati (vorbire, vedere, auz, functii motoare) sunt localizati
^ n anumite arii specice ale cortexului. Mai mult, aceste arii prezinta o ordonare
logica a functionalitatii lor. Putem da ca exemplu, harta tonotopica a regiunilor
auditive, unde neuronii vecini raspund unor frecvente similare ale sunetului, de
la frecvente ^ nalte la frecvente joase. Un alt exemplu este harta somatotopica.
  I KOHONEN
7.3. HART 151

Astfel de regiuni, cum este harta tonotopica, se numesc harti de trasaturi ordonate
(ordered feature maps). Vom studia ^ n aceasta sectiune mecanismul prin care
aceste harti de trasaturi ordonate se pot dezvolta natural.
Cortexul este o suprafata de 2-4 mm grosime, av^and aproximativ 1m2 si
const^and din 6 straturi de neuroni de tip si densitate variabile. El are forma
pe care o cunoastem pentru a maximiza densitatea ^ n craniu.
Vom studia un model al cortexului care este o suprafata bidimensionala de
elemente de procesare. Vectorii de intrare vor  proiectati, prin reducerea dimen-
sionalitatii, pe aceasta suprafata, mentin^andu-se ^ nsa ordinea ^ ntre ei. Aceasta
suprafata este o harta care conserva topologia datelor de intrare (topology pre-
serving map). O astfel de harta este o harta cu auto-organizare si este instruita
nesupervizat. Neuronii biologici de pe suprafata mentionata au conexiuni laterale
a caror tarie depinde de distanta dintre neuronii respectivi (g. 7.6).

puterea conexiunii

0 distanta laterala de la
al i-lea neuron

Figura 7.6: "Palaria mexicana" descrie puterea conexiunii laterale a neuronilor biologici.

^In vecinatatea cu raza de 50-100 m, conexiunile sunt excitatoare. Deci,


auto-feedback-ul ecarui neuron este pozitiv, exprimat de coecientul  > 0 (g.
7.7).
Aria excitatoare este ^ nconjurata de un inel de conexiuni mai slabe, inhibi-
toare, cu raza de 200-500m.
Autoorganizarea unei astfel de harti poate  exemplicata pe un model liniar
de 10 neuroni, reprezent^and o sectiune arbitrara a unei harti bidimensionale (g.
7.8).
Calculam: 0 1
X
k
yi(t + 1) = f @xi(t + 1) + yi+k (t)k A :
0

k=;k0

Semnalele y(t) sunt ^ nt^arziate cu o unitate ^ nainte de a deveni feedback-uri.


152 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

x i-1 i-1

xi i yi

x i+1 i+1

Figura 7.7: Modelarea interactiunilor dintre neuronii biologici.

Coecientii de feedback, k , depind de distanta dintre neuroni. Lu^and:


 
xi (t) = 0 85 sin3 (i17+3) i = 1 : : : 10
< 0 net  0
>
f (net) = > net 0 < net < 2
: 2 net  2
b=0 4
c=0 2
se obtin iesirile din gura 7.9.
Un algoritm de proiectie a trasaturilor converteste un pattern de dimensi-
une arbitrara ^ n raspunsurile unui tablou unidimensional sau bidimensional de
neuroni.
Rezultatele urmatoare apartin lui Kohonen (1990).
Presupunem ca vectorii de intrare, cu un numar arbitrar, dar xat, de compo-
nente, sunt proiectati pe un tablou de neuroni av^and o topologie hexagonala (g.
7.10). ^In aceasta gura, m este neuronul c^astigator, iar Nm(t1 ) este vecinatatea
lui m la momentul t1 .
Dupa instruire, ecare intrare x produce un raspuns ^ n retea, pozitia locala a
raspunsului ind semnicativa: ea re%ecta caracteristica trasaturii dominante a
lui x. Aceasta proiectie a trasaturilor este o proiectie neliniara a spatiului pattern-
urilor pe tabloul neuronilor. Proiectia face ca relatiile de vecinatate topologica
sa expliciteze relatiile de ordine dintre datele de intrare, aceste relatii din urma
ind, ^ nsa, ^ ntr-un spatiu de dimensiune mult mai mare.
Sa vedem cum are loc instruirea.
Intrarea x este aplicata simultan tuturor neuronilor. Fie
kx ; wm k = min i
fkx ; wikg
  I KOHONEN
7.3. HART 153

y2 y10 γk
y1
b

-3 -2 2 3 k
... -1 1

x1 x2 x10 -c

distanta
a) b)

Figura 7.8: a) Sectiune arbitrara a unei harti bidimensionale b) Feedback-ul lateral.

unde wi este vectorul ponderilor catre neuronul i.


Daca neuronul m este c^astigator, deci raspunde maxim pentru x, aceasta
antreneaza, ca ^ n exemplul precedent, neuronii vecini. Nu avem un neuron
c^astigator, ci o vecinatate Nm c^astigatoare. Se ajusteaza doar ponderile catre
neuronii din Nm .
Raza lui Nm trebuie sa scada pe masura ce instruirea progreseaza:
Nm (t1) > Nm (t2 ) > Nm(t3 ) : : : pentru t1 < t2 < t3 : : :
Se ^ ncepe cu o raza foarte mare si se termina cu vecinatatea care include doar
neuronul c^astigator. Mecanismul interactiilor laterale, tip "palarie mexicana",
este ^ ncadrat ^ n denitia acestor vecinatati locale si a modului de adaptare a
ponderilor.
Adaptarea ponderilor pentru hartile cu auto-organizare se face astfel:
$wi = (Ni t) !x(t) ; wi(t)] pentru i 2 Nm(t)
unde 0 < (Ni t) < 1 este constanta de ^ nvatare. De exemplu, Kohonen a folosit:
;kri ;rm k
(Ni t) = (t) e 2 (t)

unde rm este vectorul pozitiei neuronului m, ri este vectorul pozitiei neuronului


i, iar (t) si (t) sunt functii descrescatoare ^ n timp.
Ca rezultat al instruirii ponderilor, se obtine o harta de neuroni ^ n care pon-
derile codica functiile de densitate p(x) ale probabilitatilor pattern-urilor de
instruire. Raspunsul neuronilor unei arii se^ ntareste daca apar mai multe pattern-
uri similare corespunzatoare acelei arii.
Fie de exemplu 32 de vectori 5-dimensionali diferiti, etichetati cu A, ..., 6
(tab. 7.1).
154 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

iesirea y
i

2 15 pasi

4 pasi

0 pasi
1/2

1 3 8 10 i = nr. neuronului

Figura 7.9: Evolutia iesirilor celor 10 neuroni.

Nm (t 1 )

Nm (t 2 )
m

Figura 7.10: Tablou de neuroni av^and o topologie hexagonala.

Proiectia se face pe un tablou de 70 de neuroni, conectati ecare prin 5 pon-


deri cu componentele x1 : : : x5. Tabloul se instruieste folosind cei 36 de vectori
selectati ^ n ordine aleatoare. Dupa 10000 de pasi de instruire, ponderile se sta-
bilizeaza si reteaua obtinuta este calibrata. Calibrarea se face prin etichetare
supervizata. De exemplu, av^and vectorul B la intrare, observam unde apare
raspunsul maxim ^ n tabloul de neuroni si etichetam acel neuron cu B. Obtinem
harta din g. 7.11.
32 de neuroni vor  etichetati si 38 nu. Inspectam similaritatile dintre vec-
torii de instruire. Reprezentam vectorii ca v^arfuri ^ ntr-un graf. Fiecarei muchii
^ i atasam distanta dintre cele doua pattern-uri corespunzatoare v^arfurilor. De
exemplu, distanta dintre A si C este egala cu:
kA ; C k = 2:
Construim ^ n continuare arborele partial de lungime minima (g. 7.12). Se
  I KOHONEN
7.3. HART 155

A B C D E F GH I J K L MN OP Q R S T U V WX Y Z 1 2 3 4 5 6
x1 1 2 3 4 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
x2 0 0 0 0 0 1 2 3 4 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
x3 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 3 3 3 3 6 6 6 6 6 6 6 6 6 6
x4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 1 2 3 4 2 2 2 2 2 2
x5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6
Tabelul 7.1: Vectori 5-dimensionali.

B C D E * Q R * Y Z
A * * * * P * * X *
* F * N O * W * * 1
* G * M * * * * 2 *
H K L * T U * 3 * *
* I * * * * * * 4 *
* J * S * * V * 5 6

Figura 7.11: Harta obtinuta ^n urma instruirii.

poate observa ca harta trasaturilor produsa prin auto-organizare are aceeasi struc-
tura ca si acest arbore. ^Inseamna ca am reusit sa pastram topologia dintr-un
spatiu 5-dimensional ^ ntr-un plan. Distanta dintre vectorii xi si xj din spatiul
pattern-urilor: v u
uX5
kxi ; xj k = t (xik ; xjk )2
k=1
se mentine si ^ n spatiul trasaturilor, unde devine o simpla distanta ^ n plan.
Algoritmul de instruire tine cont at^at de relatiile topologice dintre datele de
intrare c^at si de istoricul datelor de intrare, adica de frecventa de aparitie a
pattern-urilor similare sau identice.
Acest algoritm are numeroase aplicatii ^ n controlul robotilor, recunoasterea
vorbirii etc.
Un exemplu celebru este masina de scris fonetica (Kohonen, 1988), folosita
^ n recunoasterea vorbirii.
La intrare avem un vector 15-dimensional. Semnalul vocal este convertit prin
FFT ^ n semnal ^ n frecventa acoperind pe 15 canale frecventele dintre 200Hz
si 5kHz. Fiecare fonem tinde sa ocupe un segment al spectrului 15-dimensional
Fourier. Cu toate ca spectrele unor foneme diferite se suprapun partial, un tablou
de neuroni este capabil, dupa instruire, sa extraga trasaturile fonemelor si sa le
proiecteze pe o harta plana. Reteaua neurala a fost instruita cu semnale spectrale
generate la ecare 9,83 ms de vorbirea continua. Esantioanele spectrului FFT au
fost folosite ^ n ordinea lor naturala
Dupa instruire, anumiti neuroni devin sensibili la spectrul diferitelor foneme
(g. 7.13).
Harta a fost calibrata folosind foneme standard. Majoritatea celulelor au
156 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE

A B C D E
F
G
H K L M N O P Q R
I S W
J T X 1 2 3 4 5 6
U Y
V Z

Figura 7.12: Arborele partial de lungime minima construit pe baza distantelor dintre vectori.

a a a ah h oe

o a a h r ...

o o a h r
...
...

Figura 7.13: Harta fonemelor dupa instruire (^n limba nlandeza).

^ nvatat un singur fonem. Exista c^ateva celule care indica raspunsul a doua foneme
diferite, necesit^and o discriminare suplimentara. Pe aceasta harta, un cuv^ant
genereaza o traiectorie.

7.4 Exercitii
1. (C) Proiectati reteaua Hammimg si reteaua MAXNET asociata care reali-
zeaza clasicarea optima a vectorilor binari bipolari care reprezinta carac-
terele A, I si O din problema 7, capitolul 4 ^ n termenii distantei Hamming
minime.
2. (C) Implementati algoritmul de instruire c^astigatorul ia tot pentru gru-
parea caracterelor C, I si T afectate de zgomot, ^ n mod similar reprezentarii
folosite ^ n problema anterioara. Presupuneti ca aceste caractere afectate de
7.4. EXERCITII 157

zgomot au DH=1 fata de prototipurile neafectate de zgomot. Calculati


vectorii nali de ponderi wC , wI si wT . ^In timpul operatiei de testare,
calculati raspunsurile f (netC ), f (netI ) si f (netT ) ecarui neuron cu functie
de activare unipolar continua. Intrarile sunt vectori bipolari binari obtinuti
din literele reprezentate matriceal. Folositi  = 1.
3. (C) Fie multimea de pattern-uri
213 213 213 203 213
6 7 6 7 6 7 6 7 6 7
x1 = 664 00 775 x2 = 664 10 775 x3 = 664 11 775 x4 = 664 10 775 x5 = 664 11 775 :
0 0 0 0 1
Implementati harta Kohonen pentru a proiecta acesti vectori pe o retea de
5  5 neuroni. Folositi vecinatati hexagonale. Descresteti pe  de la 0,5 la
0,004 pentru primii 1000 de pasi, apoi descresteti-l de la 0,04 la 0 pentru
urmatorii 9000 de pasi. Descresteti raza vecinatatii de la 2 la 0 pe parcursul
primilor 1000 de pasi. Calibrati apoi harta si desenati arborele partial de
lungime minima produs pe harta pentru intrarile x1 , x2 , x3, x4, x5 .
158 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE
Capitolul 8
Retele neurale cu functie de
activare radiala
Aceste retele neurale au un timp de instruire mult mai rapid dec^at retelele neurale
feedforward cu propagare ^ n urma a erorii, evit^and si problema minimului local.
Dezavantajul este ca, dupa instruire, necesita un timp de calcul mai mare ^ n
exploatare. ^In 1990 s-a demostrat ca aceste retele sunt aproximatori universali,
ca si retelele feedforward cu functie de activare continua. Aceasta ^ nseamna ca
pot aproxima orice functie continua, oric^at de bine.
O astfel de retea este o retea feedforward ^ n care functia de activare este o
functie de tip gaussiana. Deoarece gaussiana este simetric radiala, vom numi
aceste retele "cu functie de activare radiala". Gaussiana nu este ^ nsa dec^at o
functie particulara de acest tip.
Spre deosebire de retelele feedforward, ponderile conexiunilor catre straturile
ascunse nu sunt initializate aleator. Ele sunt initializate cu valorile care produc
raspunsul dorit.

8.1 Functii radiale


Fie cazul unei singure intrari ^ ntr-un neuron ascuns (g. 8.1).

h(x)

1
u h(x)
x σ

x
−σ u +σ

Figura 8.1: Neuron cu functie de activare radiala.

159
160 CAPITOLUL 8. RETELE NEURALE RBF

Pentru neuronii de acest tip, avem:


;(x;u)2
h(x) = e  2 2

h(u) = 1
unde  este un parametru, iar u este o pondere. h(x) scade foarte rapid daca x
este diferit de u.
De aceasta data nu mai exista analogia cu potentialul membranei, cum este
cazul functiei de activare de forma f (xt w). De aceea, retelele de acest tip se
numesc "radial basis function neural networks". Ponderile nu se mai ^ nmultesc
cu intrarile. Le vom numi totusi astfel, fara a crea confuzie.
Iesirea h(x) are un raspuns semnicativ doar pentru un interval de valori
ale lui x, acest interval ind domeniul receptiv al neuronului. Marimea acestui
domeniu este determinata de . Prin analogie cu distributia normala, u poate 
valoarea medie, iar 2 dispersia functiei de activare a neuronului.
Forma generala a unei retele neurale bazata pe acest tip de neuron este cea
din gura 8.2.

u 11 h1 w11 y1 out 1
x1 σ1 Σ y1 /s
y2 out 2
x2 σ2 Σ y2 /s
h2
...

yn out n
xp u mp σm Σ yn /s

strat de intrari
hm
wnm strat de normalizari
strat ascuns Σ s
strat de iesiri

Figura 8.2: Retea neurala cu functie de activare radiala.


Avem: t
; (x;ui2)(2x;ui )
hi = e i

unde:
x = ! x1 : : : xp ]t
i este parametrul pentru al i-lea neuron ascuns si
ui = ! ui1 : : : uim ]t
este vectorul ponderilor dintre intrari si al i-lea neuron ascuns.
Fiecarui pattern ^ nvatat ^ i corespunde un neuron ascuns.
8.1. FUNCTII RADIALE 161

^In stratul de iesire se calculeaza:


X
m
yj = hiwji
i=1
iar pe ultimul strat, cel al normalizarilor, se calculeaza iesirile nale:
X
n
s = yj
j =1
outi = s : yi
Aceste din urma normalizari sunt optionale.
Domeniul receptiv al celui de-al i-lea neuron ascuns este determinat de centrul
sau, ui , si de marimea sa, data de i . La neuronii studiati p^ana acum, acest
domeniu era determinat de conexiunile neurale, nu de forma functiei de activare.
Se pot folosi si alte functii de activare. Esential este ca ele sa tinda rapid catre
zero atunci c^and distanta dintre vectorii x si u creste, iar raspunsul maxim sa ^ l
aiba c^and x = u.
Reteaua trebuie instruita prin xarea parametrilor i si a ponderilor de tip u
si w. Instruirea se face ^ n doua faze. La ^ nceput se atribuie valori pentru ui si
i , i = 1 : : : m. Apoi, se instruieste matricea W prin ^ nvatare supervizata.
Fixarea centrilor domeniilor receptive
Trebuie sa xam centrii domeniilor receptive. Fixarea ponderilor ui se poate face
^ n mai multe feluri. Putem atribui ecarui vector din secventa de instruire c^ate
un neuron ascuns, cu centrul corespunzator. Deoarece vectorii sunt, ^ n general,
dispusi ^ n grupari (clustere), aceasta metoda duce la un numar prea mare de
neuroni ascunsi. Mai bine este sa gasim centrul ecarui cluster de vectori din
secventa de instruire si sa atribuim ecarui astfel de centru c^ate un neuron ascuns.

Fixarea diametrelor domeniilor receptive


Diametrul domeniului receptiv, determinat de valoarea lui , poate avea un efect
foarte profund asupra retelei. Obiectivul este sa acoperim spatiul pattern-urilor
de intrare, c^at mai uniform, cu domenii receptive. Daca distanta dintre cen-
trii domeniilor receptive nu este uniforma, este necesar ca ecare neuron as-
cuns sa aiba o valoare specica pentru . Daca centrii domeniilor receptive
sunt la distanta mare, atunci  trebuie sa e sucient de mare pentru a acoperi
golurile daca centrii sunt apropiati, atunci neuronii respectivi trebuie sa aiba 
mic. Aceasta este ca o egalizare de histograma, procedeu cunoscut ^ n procesarea
imaginilor.
De exemplu, putem xa  astfel:
1. Pentru ecare neuron ascuns, gaseste distanta medie dintre centrul sau, ui
si centrii celor N vecini ai sai cei mai apropiati.
2. Atribuie aceasta valoare lui i
162 CAPITOLUL 8. RETELE NEURALE RBF

Instruirea matricii W
1. Se aplica vectorul x la intrare, unde x este din secventa de instruire.
2. Se calculeaza iesirile h din stratul ascuns.
3. Se calculeaza iesirile y si se compara cu vectorul t al iesirilor dorite. Se
ajusteaza W astfel:
wij (k + 1) = wij (k) + (ti ; yi)xj
unde  este coecientul de ^nvatare. De obicei  << 1, iar aceasta este
de fapt regule Windrow-Ho. Se pot folosi si alte reguli, de exemplu regula
perceptronului.
4. Repeta 1-3 pentru ecare pattern de instruire.
5. Repeta 1-4 p^ana c^and eroarea este sucient de mica.
Deoarece domeniile receptive sunt limitate, ajustarile apar destul de rar, ceea
ce conduce la o viteza mare.
Algoritmul de instruire a lui W se refera la un singur strat, iar pattern-urile
corespunzatoare neuronilor din stratul ascuns sunt liniar separabile, deoarece
ecare clasa este formata dintr-un pattern. Rezulta ca algoritmul de instruire a
lui W converge catre minimul global, conform teoremei perceptronului. Practic,
convergenta este de aproximativ 1000 de ori mai rapida dec^at ^ n cazul instruirii
prin propagarea ^ n urma a erorii.

8.2 O tehnica de grupare (clustering)


Am vazut ca este avantajos sa obtinem c^ate un reprezentant pentru ecare clus-
ter si sa instruim apoi reteaua doar cu acesti reprezentanti. Putem pondera
reprezentantii cu numarul de pattern-uri pe care ^ i reprezinta:
Pn m h w
yj = Pi=1n mi ih ji
i=1 i i
unde mi este numarul de pattern-uri din clusterul i.
Iata o tehnica de clustering (Specht, 1991) simpla si ecienta. Se deneste
o raza r. Primul pattern de instruire devine centrul primului cluster. Fiecare
pattern din secventa de instruire este considerat pe r^and. Daca distanta dintre
pattern-ul considerat si cel mai apropiat cluster este mai mica sau egala dec^at r,
atunci pattern-ul este atribuit acelui cluster daca distanta este mai mare dec^at
r, pattern-ul devine primul membru al unui nou cluster.
Procedeul de clustering este folositor atunci c^and exista un exces de instruire
cu date care formeaza clustere dense.
8.3. DISCUTIE 163

8.3 Discutie
Retelele cu functie de activare radiala sunt foarte rapide la instruire, dar lente la
utilizare. Procedeul de clustering poate  util. Foarte importanta este alegerea
corecta a lui .
164 CAPITOLUL 8. RETELE NEURALE RBF
Capitolul 9
Retele neurale fuzzy
9.1 Logica fuzzy
9.1.1 De ce logica fuzzy?
^In 1985, Hitachi a instalat ^ n Japonia un metrou controlat prin logica fuzzy.
Trenurile accelereaza mai rapid si uniform, economisind 10% energie comparativ
cu solutia conventionala.
^In Vest, interesul este ceva mai mic. Explicatia este probabil si traditia logicii
aristotelice binare care spune ca ceva exista sau nu exista. Filosoa si religia
orientale se bazeaza pe principiul ca ceva exista si, ^ n acelasi timp, nu exista, de
exemplu YIN si YANG.
Atunci c^and nu au putut converti binar o informatie conform principiului
true/false, occidentalii au apelat la statistica. Astfel, probabilitatea ca o masina
sa e lenta sau rapida se exprima printr-un numar ^ ntre 0 si 1. Logica fuzzy
produce acelasi rezultat, etichet^and masinile ^ n functie de viteza cu numere ^ ntre
0 si 1. Aceasta a produs o mare confuzie, ne^ nteleg^andu-se diferenta dintre cele
doua demersuri. Vom vedea ^ nsa ca diferenta este fundamentala.
Initiatorul logicii fuzzy este, paradoxal, un occidental: Zadeh ^ n 1965.

Controlere fuzzy
Sistemele fuzzy au fost folosite foarte des ^ n controlere. Aceste controlere sunt
usor de proiectat, uneori ^ n c^ateva ore. Performantele lor sunt mai bune dec^at ^ n
cazul controlerelor clasice. Proiectarea unui sistem fuzzy nu necesita cunostinte
de logica fuzzy. Vom demonstra aceasta proiect^and un controler fuzzy pentru un
lift.
Primul pas ^ n proiectarea unui sistem fuzzy este sa decidem asupra unei
multimi de reguli fuzzy. ^In cazul nostru, ele sunt:
1. Daca liftul se ridica lent si pozitia sa este departe de pozitia dorita, atunci
mareste viteza.
165
166 CAPITOLUL 9. RETELE NEURALE FUZZY

2. Daca liftul se ridica cu o viteza medie si este aproape de pozitia dorita,
atunci micsoreaza viteza.
Exprimam acelasi lucru prin reguli IF-THEN:
1. IF viteza este SP (small positive) AND pozitia este LN (large negative)
THEN tensiunea motorului este LP (large positive).
2. IF viteza este MP (medium positive) AND pozitia este SN (small negative)
THEN tensiunea motorului este SP (small positive).
Sarcina controlerului fuzzy este sa proceseze aceste doua reguli, eventual si
altele, dupa ce a determinat pozitia si acceleratia.
O regula are doua parti: partea antecedenta si cea consecventa. Partea an-
tecedenta poate contine mai multe clauze legate prin AND, OR si NOT. O clauza
este, de exemplu "viteza este SP". Clauzele pot  descompuse ^ n variabile si ad-
jective. De exemplu, variabile sunt "viteza" si "pozitia", iar adjective sunt SP,
LN si LP.
Gradul ^ n care o regula este relevanta ^ ntr-o situatie masurata este acelasi
cu gradul ^ n care antecedentul regulii este adevarat ^ n sens fuzzy. Valoarea de
adevar fuzzy a unui antecedent depinde de valoarea de adevar fuzzy a ecarei
clauze ale sale si de operatiile logice care leaga aceste clauze.
^In logica fuzzy, ecarui adjectiv (cum este si SP) i se atribuie o functie de
apartenenta. Valoarea functiei de apartenenta este ^ ntre 0 si 1. Data ind val-
oarea unei variabile, functia de apartenenta este folosita pentru a calcula valoarea
de adevar a acelei variabile.
Exemplu: Un barbat de 1,60 m ^ n mod cert nu este "^ nalt", deci functia de
apartenenta la multimea barbatilor ^ nalti a acestuia are valoarea 0. Pentru 1,75m
avem o valoare ^ ntre 0 si 1.
Folosind functiile de apartenenta fuzzy, ecarei clauze dintr-un antecedent i se
poate atribui o valoare de adevar fuzzy. Mai trebuie acum sa atribuim o valoare
de adevar ^ ntregului antecedent.
Exemplu: Functia de apartenenta a vitezei la SP are valoarea 0,6 si functia de
apartenenta a pozitiei la LN are valoarea 0,8, deci valoarea de adevar a ^ ntregului
antecedent este 0,6 pentru ca se considera valoarea minima.
Pasul nal consta ^ n combinarea valorilor de iesire pentru cele doua reguli.
Acest proces se numeste defuzzicare. La acest proces, nu exista un consens
asupra modului de operare.
Tipul de defuzzicare ilustrat ^ n gura 9.1 se numeste defuzzicare min-max.
^Intr-un sistem fuzzy, toate regulile actioneaza simultan asupra iesirii. La
iesire avem tensiunea corespunzatoare centrului de greutate al sumei regiunilor
9.1. LOGICA FUZZY 167

viteza pozitie tensiunea motorului


(functia de apartenenta) (functia de apartenenta) (functia de apartenenta)
SP LN 0,8 LP
0,6

regula 1
0 0 0

MP SN SP
0,3 0,2

0 0 0 regula 2
0,1 m/s -10 m
viteza pozitia
(intrare) (intrare)
suma centrul de
tensiunilor greutate
(se ia max.)
x

iesire (tensiunea motorului)

Figura 9.1: Defuzzi care min-max.

hasurate. Trebue sa facem observatia ca forma functiei de apartenenta este data
de proiectant. De obicei se alege o functie triunghiulara sau trapezoidala.
Logica fuzzy generalizeaza logica binara, permit^and valori reale ^ ntre 0 si 1.

9.1.2 Logica fuzzy, logica conventionala


si teoria multimilor
Ca si teoria multimilor, logica fuzzy se ocupa de conceptul apartenentei la o
multime. ^In teoria clasica a multimilor, un element poate sau nu poate sa apartina
unei multimi, ceea ce este nenatural.
Exemplu: Un barbat de 1,80 m poate avea un grad de apartenenta de 0,6
la multimea barbatilor ^ nalti. Aceasta ^ nseamna si ca acest barbat are un grad
de apartenenta de 0,4 la multimea barbatilor care "nu sunt ^ nalti". Acest barbat
apartine deci simultan celor doua multimi complementare, ceea ce ar  imposibil
^ n teoria conventionala.
Logica conventionala deneste o functie de apartenenta la o multime A astfel:
fA (x) 2 f0 1g, unde 0 ^ nseamna x 62 A, iar 1 ^ nseamna x 2 A. ^In logica fuzzy,
functia de apartenenta devine: fA (x) 2 !0 1].
Ideea de a vedea o multime ca o functie capabila sa deneasca grade de
apartenenta sta la baza teoriei multimilor fuzzy. Evident, este nevoie de o noua
matematica, cea introdusa de Zadeh.
168 CAPITOLUL 9. RETELE NEURALE FUZZY

Logica conventionala si logica fuzzy


Logica conventionala foloseste AND, OR si NOT. Orice relatie poate  descrisa
prin combinarea acestor operatori. Functiile logice fuzzy opereaza asupra unor
valori de adevar ^ n !0 1]. Pentru valorile 0 si 1, o astfel de functie trebuie sa
dea acelasi rezultat ca si ^ n logica conventionala. Evident, exista o innitate de
functii care sa satisfaca aceste cerinte. Trebuie alese cele mai avantajoase.
Functia AND poate  implementata astfel:
and(X Y ) = min(X Y )
unde X Y 2 !0 1].
Functia OR: or(X Y ) = max(X Y ).
Functia NOT: not(X ) = 1 ; X .

Teoria clasica si fuzzy a multimilor


Fie mA (x) valoarea functiei de apartenenta a punctului x la multimea A si mB (x)
valoarea functiei de apartenenta a punctului x la multimea B. Denim:
mA\B (x) = min!mA (x) mB (x)]:
Este o denitie compatibila cu denitia functiei AND. Este relatia pe care am
folosit-o ^ n exemplul cu controlerul. Similar:
mAB (x) = max!mA mB ]
mAc (x) = 1 ; mA (x)
unde Ac este complementul lui A.
Ca exercitiu, calculati intersectia si reuniunea multimilor A si Ac.

Multimi fuzzy si paradoxuri logice


Bertrand Russell a dat urmatorul paradox al barbierului: ^Intr-un oras exista un
barbier care barbiereste pe oricine nu se barbiereste singur. Problema este daca
barbierul se barbiereste singur. Apare o contradictie logica, un paradox. Daca
propozitia P :"se barbiereste singur" are valoarea de adevarat, truth(P ), atunci
truth(P ) = truth(notP ), deoarece barbierul se barbiereste si, ^ n acelasi timp, nu
se barbiereste singur. Folosind complementul fuzzy,
truth(notP ) = 1 ; truth(P ):
Atunci,
truth(P ) = 1 ; truth(P )
deci
truth(P ) = 0 5:
9.2. RETELE NEURALE FUZZY 169

^In logica fuzzy, propozitiile pot avea valori de adevarat oriunde ^ ntre 0 si 1,
deci paradoxul lui Russell nu mai exista.
Desigur, elimin^and toate restrictiile asupra imaginatiei, putem practic ex-
plica orice. De exemplu, sa consideram superstitiile popoarelor primitive care
explica fenomenele naturale cu ajutorul entitatilor supranaturale. Logicienii
conventionali acuza teoreticienii fuzzy de "constructie articala". Teoriile mate-
matice trebuie ^ nsa judecate prin consistenta, frumusetea si utilitatea lor. Teoria
fuzzy satisface toate aceste cerinte.

Observatii matematice
Fie X o multime oarecare. Fie fA : X ! !0 1] o functie. Functia fA deneste o
multime fuzzy (^ n X ), adica multimea A = f(x fA (x)jx 2 Xg. Functia fA este
functia de apartenenta la multimea A.
Apare un abuz de limbaj^ ntre "multimea" fuzzy A si "functia" de apartenenta
la A. Acest abuz se datoreaza faptului ca denim o multime prin gradul de
apartenenta la aceasta multime, nu prin enumerarea multimii, cum suntem obis-
nuiti.

9.2 Retele neurale fuzzy


9.2.1 Neuroni fuzzy
Un neuron non-fuzzy are N intrari ponderate si o iesire. Iesirea se calculeaza
astfel: X !
N
y=f wixi ; T
i=1
unde f este functia de activare, ^ n general neliniara. Un neuron fuzzy (NF) (g.
9.2) are N intrari ponderate si M iesiri.

intrari ponderi iesiri


w1 y1
x1
g1
w2 y2
x2 g2
h f
...

...
...

wN gM yM
xN

Figura 9.2: Neuronul fuzzy.


170 CAPITOLUL 9. RETELE NEURALE FUZZY

Toate intrarile si ponderile sunt valori reale, iar iesirile sunt valori reale ^ n
intervalul !0,1]. Fiecare iesire poate  asociata gradului de apartenenta (^ n sen-
sul fuzzy), adica exprima ^ n ce masura pattern-ul cu intrarile fx1 x2 : : : xN g
apartine unei multimi fuzzy. Avem:
z = h(w1x1 w2x2 : : : wN xN )
unde z este intrarea ^ n NF, iar h este functia de agregare,
s = f (z ; T )
unde s este starea NF, f este functia de activare, iar T este pragul,
yj = gj (s) j = 1 : : : M
unde gj , j = 1 : : : M sunt functiile de iesire ale NF reprezent^and gradele de
apartenenta ale lui fx1 : : : xN g la cele M multimi fuzzy. ^In general, ponderile,
pragul si functiile de iesire sunt modicabile ^ n timpul procesului de instruire.
Functia de agregare si functia de activare sunt xe. Se pot deni multe tipuri de
NF prin schimbarea functiilor f si h.
Denim acum patru tipuri de NF.
1. un NF de intrare este un NF folosit ^ n stratul de intrare a unei RNF (retele
de neuroni fuzzy), av^and doar o singura intrare x, astfel ^ nc^at z = x.
2. un MAX-NF are functia de agregare:
z = maxi=1 ::: N (wixi):

3. un MIN-NF are functia de agregare:


z = mini=1 ::: N (wixi ):

4. un COMP-NF (NF competitiv) are pragul variabil si o singura iesire, astfel
^ nc^at:
(
y = g(s ; T ) = 01 dac as<T
daca s  T
T = t(c1 c2 : : : cK )
unde s este starea NF, t este functia prag, iar ck , k = 1 : : : K sunt variabile
competitive ale NF.
9.2. RETELE NEURALE FUZZY 171

9.2.2 Structura unei RNF


RNF propusa1 este pe patru straturi. Primul strat, de intrare, foloseste neuroni
fuzzy de intrare. Presupun^and ca dorim sa recunoastem caractere, ecare NF din
acest strat corespunde unui pixel din pattern-ul de intrare. Daca ecare pattern
de intrare are N1  N2 pixeli, atunci primul strat are N1  N2 NF de intrare.
Pentru al (i j )-lea NF de intrare din primul strat avem:
s1]
ij = zij = xij pentru i = 1 : : : N1 j = 1 : : : N2
1]

s1]
yij = P ij pentru i = 1 : : : N1 j = 1 : : : N2
1]
vmax
unde xij este valoarea pixelului (i j ), xij  0, iar Pvmax este valoarea maxima a
pixelilor pentru toate pattern-urile de intrare.
Al doilea strat consta din N1  N2 MAX-NF. Acest al doilea strat realizeaza
fuzzicarea pattern-urilor de intrare prin functia pondere w(m n). Starea celui
de-al (p q)-lea MAX-NF din al doilea strat este:
pq = maxi=1 ::: N (maxj =1 ::: N (w(p ; i q ; j )yij ))
s2] 1]
1 2

pentru p = 1 : : : N1 si q = 1 : : : N2, unde w(p;i q ;j ) este ponderea conexiunii


dintre al (i j )-lea NF de intrare din primul strat si al (p q)-lea MAX-NF din al
doilea strat:
w(m n) = e; (m +n )
2 2 2

pentru m = ;(N1 ; 1) : : : (N1 ; 1) si n = ;(N2 ; 1) : : : (N2 ; 1). Prin aceasta


functie pondere care are o forma de gaussiana, ecare NF din al doilea strat
este ca o lentila, astfel ^ nc^at ecare NF focalizeaza pe un pixel din pattern-ul de
intrare, dar "vede" si pixelii vecini. Parametrul  determina c^ati pixeli "vede"
un NF, aceasta ind decis prin algoritmul de instruire. Functia w se numeste si
functie de fuzzicare. Fiecare MAX-NF din acest strat are M iesiri diferite, c^ate
una pentru ecare NF din al treilea strat. Iesirile celui de-al (p q)-lea MAX-NF
din al doilea strat sunt:
ypqm
2]
= gpqm(s2]
pq )
pentru p = 1 : : : N1, q = 1 : : : N2, m = 1 : : : M , unde ypqm 2]
este a m-a iesire a
celui de-al (p q)-lea MAX-NF catre al m-lea MIN-NF din stratul trei. Functia de
iesire gpqm se determina prin algoritmul de instruire. Pentru simplitate, putem
alege triunghiuri isoscele de ^ naltime 1 si baza  (g. 9.3).
Avem:
8
< 1 ; 2jspq ;pqmj pentru js2] ;  j  
2]

ypqm
2]
= gpqm(s2]
pq ) = :0  pq pqm 2
^ n rest
1Kwan, H.K., Cai.Y "A Fuzzy Neural Network and its Application to Pattern Recognition",
IEEE Trans. on Fuzzy Systems, 2, 1994, 185-193.
172 CAPITOLUL 9. RETELE NEURALE FUZZY

g pqm(s[2]
pq)

Θ pqm s [2]
pq

0
α
[2]

Figura 9.3: Functia de iesire gpqm .

pentru   0, p = 1 : : : N1, q = 1 : : : N2, m = 1 : : : M , unde pqm este


mijlocul bazei triunghiului. Prin algoritmul de instruire se determina pentru
ecare p, q, m valorile corespunzatoare pentru  si pqm.
Al treilea strat consta din M neuroni de tip MIN-NF. Fiecare din acesti
neuroni reprezinta un pattern ^ nvatat. Deci, M poate  determinat doar la
^ ncheierea procesului de instruire. Iesirea celui de-al m-lea MIN-NF este:
ym3] = s3]
m = minp=1 ::: N (minq=1 ::: N (ypqm ))
1 2
2]

pentru m = 1 : : : M .
Al patrulea strat este stratul de iesire si consta din M neuroni de tip COMP-
NF, c^ate unul pentru ecare pattern ^ nvatat. Daca un pattern de intrare este
cel mai asemanator cu al m-lea pattern ^ nvatat, atunci iesirea celui de-al m-lea
COMP-NF este 1, iar celelalte iesiri sunt 0. Avem:
s4]
m = zm = ym pentru
4] 3]
( m = 1 : :4]: M
0 daca sm < T
m ; T ] = 1 daca s4] = T pentru m = 1 : : : M
ym4] = g!s4]
m
T = maxm=1 ::: M (ym3]) pentru m = 1 : : : M
unde T este pragul de activare pentru toti neuronii din cel de-al patrulea strat.

9.2.3 Algoritmul de instruire a unei RNF


Prin instruire, trebuie sa determinam urmatorii parametri: , pqm,  si M .
Denim Tf , 0  Tf  1, ca toleranta la eroare a RNF. Fie K numarul total de
pattern-uri de instruire.
Pasul 1. Creeaza N1  N2 neuroni de tip NF de intrare ^ n primul strat si N1  N2
neuroni de tip MAX-NF ^ n al doilea strat. Alege o valoare pentru ,   0
si o valoare pentru  .
9.2. RETELE NEURALE FUZZY 173

Pasul 2. M = 0, k = 1.
Pasul 3. M = M + 1. Creeaza al M -lea MIN-NF ^ n al treilea strat si al M -lea
COMP-NF ^ n al patrulea strat.
pq = maxi=1 ::: N (maxj =1 ::: N (w(p ; i q ; j )xijk ))
pqM = s2] 1 2

pentru p = 1 : : : N1 si q = 1 : : : N2 , unde pqM este mijlocul bazei tri-


unghiului pentru cea de-a M -a functie de iesire a celui de-al (p q)-lea MAX-
NF ^ n stratul 2. Xk = fxijk g, i = 1 : : : N1 , j = 1 : : : N2 este al k-lea
pattern de instruire. Presupunem ca valorile xijk sunt deja normalizate.
Pasul 4. k = k + 1. Daca k > K , algoritmul de instruire se termina.
Altfel, accepta la intrarea ^ n retea al k-lea pattern si calculeaza iesirea RNF
curente, cu M neuroni ^ n straturile 3 si 4.
 = 1 ; maxj=1 ::: M (yjk3])
unde yjk3] este iesirea celui de-al j -lea MIN-NF din stratul 3 pentru al k-lea
pattern de instruire Xk .
Daca:
  Tf , goto Pasul 4.
 > Tf , goto Pasul 3.

9.2.4 Analiza RNF


Primul strat de neuroni accepta datele de intrare si transforma valoarea pixelilor
^ n valori normalizate, ^ n intervalul !0,1].
Al doilea strat fuzzica pattern-ul de intrare. Valoarea unui pixel ^ n pattern-
ul de intrare va afecta starile mai multor NF din stratul 2. Cu c^at  este mai mic,
cu at^at mai multi NF din stratul 2 vor  afectati de un pixel din pattern-ul de
intrare. Deci,  controleaza gradul de fuzzicare. Daca  este prea mic, RNF nu
va putea separa pattern-urile distincte. Daca  este prea mare, RNF ^ si pierde
abilitatea de a recunoaste pattern-uri perturbate. Valoarea lui  trebuie aleasa
astfel ^ nc^at toate pattern-urile distincte sa poata  separate, iar RNF sa aiba o
rata de recunoastere acceptabila.
Valoarea ypqm 2]
exprima conceptul fuzzy cu privire la gradul ^ n care valoarea
pixelilor ^ n jurul pixelului (p q) din pattern-ul de intrare sunt similare cu valoarea
pixelilor ^ n jurul pixelului (p q) din cel de-al m-lea pattern ^ nvatat. Functia
de iesire gpqm pentru neuronii din cel de-al doilea strat este, de fapt, o functie
de apartenenta fuzzy: gpqm(s2] pq ) arata gradul de apartenenta al pattern-ului de
intrare la clasa reprezentata de al m-lea pattern ^ nvatat, apartenenta referindu-se
la vecinatatile corespunzatoare ale pixelului (p q).
Neuronii din al treilea strat determina similaritatile dintre pattern-ul de in-
trare si pattern-urile ^ nvatate. Avem de fapt:
(
ym = 0minp q (1 ;  jspq ; pqm j) ^pentru maxp q (js2]
pq ; pqm j)  2
2 2] 
3]
n rest
174 CAPITOLUL 9. RETELE NEURALE FUZZY

pentru m = 1 : : : M . Valoarea ym3] masoara similaritatea pattern-ului de intrare


cu al m-lea pattern ^ nvatat. Daca pattern-ul de intrare a fost deja ^ nvatat, va
exista un m pentru care ym3] = 1. Daca pattern-ul de intrare nu a fost ^ nvatat,
toate valorile ym3], m = 1 : : : M vor  mai mici dec^at 1. Valoarea lui  trebuie
sa acopere toate valorile posibile la nivel de pixel.
Stratul de iesire este folosit pentru defuzzicare. Deci, procedura de re-
cunoastere prin RNF consta din:
1. datele de intrare (stratul 1)
2. fuzzicare (stratul 2)
3. deductie fuzzy (stratul 3)
4. defuzzicare (stratul 4)
Straturile 3 si 4 sunt construire prin instruirea retelei. Daca un pattern de
intrare este similar cu un pattern deja ^ nvatat, el este tratat ca acel pattern, fara
a mai  ^ nvatat si el. ^In caz contrar, pattern-ul de intrare este ^ nvatat. Procesul
de instruire poate  continuu: RNF nu trebuie ^ n mod necesar instruita complet
^ nainte de a  folosita ea poate si instruita si pe parcursul folosirii.
Parametrii ,  si Tf trebuie xati convenabil.

9.2.5 Rezultatele simularii


^In implementarea autorilor, literele si cifrele au fost construite ca pattern-uri de
16  16 pixeli, pixelii av^and doar valori binare. Pattern-urile au fost apoi miscate
prin deplasari ^ n cele opt directii cu unul si doi pixeli. Cele 36 de pattern-uri
corecte si c^ateva din pattern-urile obtinute prin deplasari au fost folosite pentru
a instrui reteaua.
Pentru a testa performantele retelei, s-au folosit pattern-uri perturbate prin:
marire/micsorare, subtiere/^ ngrosare, adaugarea/extragerea unor mici portiuni
etc.
S-au folosit diferite valori pentru ,  , Tf la instruire:
1 53 5

0 1  Tf  0 35
0 1    1 6:
Dupa instruire, s-a testat RNF la recunoasterea unor pattern-uri perturbate,
rezultatele ind foarte bune.
9.2. RETELE NEURALE FUZZY 175

9.2.6 Concluzii
Timpul de instruire a RNF este mai mic dec^at ^ n cazul instruirii prin propagarea
^ n urma a erorii. Recunoasterea este si ea mai rapida. Sa observam ca aceasta
RNF ^ nvata nesupervizat, ind ^ n esenta un algoritm de clustering. Ulterior
instruirii, RNF este folosita ca un clasicator. Exista variante ale acestei RNF
care ^ nvata ^ n mod supervizat2 .

2Cai, Y., H.K. Kwan "Fuzzy Classi cation Using Fuzzy Inference Networks". IEEE Trans.
Syst., Man, and Cyb., Part B: Cybernetics, 28, 1998, 334-374.
176 CAPITOLUL 9. RETELE NEURALE FUZZY
Capitolul 10
Algoritmi genetici
Natura a demonstrat puterea geneticii. Cei ce vor sa multiplice performantele
sistemelor biologice, chiar partial, nu pot ignora modul ^ n care acestea s-au dez-
voltat, cum au evoluat.
Algoritmii genetici sunt mijloace prin care masinile pot emula mecanismele
selectiei naturale. Acesti algoritmi sunt simpli, robusti si generali. Cu retelele
neurale au ^ n comun urmatoarele:
nu sunt necesare cunostinte asupra spatiului de cautare
consuma uneori mult timp
sunt paraleli prin natura lor
ambele metode se aplica unor probleme similare.
De aceea, de multe ori algoritmii genetici si retelele neurale se aplica ^ mpreuna.
De exemplu, algoritmii genetici se pot aplica pentru accelerarea procesului de
instruire a retelelor neurale. ^In mod ciudat, printr-un algoritm genetic se poate
obtine algoritmul genetic care rezolva o problema data.

10.1 Introducere
Metodele conventionale de optimizare se bazeaza pe ajustarea parametrilor unui
model pentru a produce un rezultat dorit. La retelele neurale, prin instruire se
modica iterativ ponderile conexiunilor, astfel ^ nc^at sa se produca relatia dorita
^ ntre intrari si iesiri. De remarcat ca este mentinuta o singura solutie care este
optimizata ^ n mod iterativ.
Algoritmii genetici opereaza optimizari conform tehnicilor cunoscute ^ n ge-
netica biologica: se modica si se mentin caracteristicile unei populatii de solutii
(indivizi) pe parcursul unui mare numar de generatii. Acest proces produce
populatii succesive av^and un numar din ce ^ n ce mai mare de indivizi cu carac-
teristicile dorite. Ca si ^ n natura, procesul este probabilistic, dar nu complet
aleator. Dupa cum vom vedea, regulile geneticii retin caracteristicile dorite prin
177
178 CAPITOLUL 10. ALGORITMI GENETICI

maximizarea probabilitatii de proliferare a solutiilor (indivizilor) care au aceste


caracterisitci.
Genetica nu optimizeaza, ci ^ mbunatateste. Un individ nu trebuie sa e op-
tim pentru a supravietui el trebuie sa e superior altor indivizi din populatia
respectiva.
Algoritmii genetici opereaza asupra unor codicari de parametri, nu direct
asupra parametrilor. Codicarile sunt siruri de lungime nita, de obicei binare.
Fiind data o populatie initiala de siruri, un algoritm genetic produce o noua
populatie de siruri folosind o multime de reguli genetice. Regulile sunt astfel
construite ^ nc^at aceasta noua generatie tinde sa aiba siruri superioare celor din
generatia precedenta, din punct de vedere al unei functii obiectiv.

10.2 Exemplu
Dorim sa minimizam valoarea unui sir binar, considerat aici ca un numar binar.
Vom efectua urmatorii pasii:
1. initializare
2. reproducere
3. ^ ncrucisare
4. mutatie
5. repeta pasii 2-4.

Initializare
Fiecare sir este generat ca un numar binar aleator. Pornim cu urmatoarele sase
siruri:
i sirul Ai val. zecimala fi pi
1 011010 26 0,0385 0,142
2 001011 11 0,0909 0,334
3 110110 54 0,0185 0,068
4 010011 19 0,0526 0,194
5 100111 39 0,0256 0,094
6 010110 22 0,0455 0,168
Total 0,2716 1
Ca functie obiectiv se alege (val. zecimala);1.

Reproducere prin selectie


Se obtine o a doua generatie de siruri care au, ^ n medie, functia obiectiv mai
mare. Fiecare sir Ai este copiat ^ n generatia urmatoare de un numar de ori care
10.2. EXEMPLU 179

este proportional cu pi, unde:


pi = Pfif
j j
fi ind functia obiectiv, iar pi este functia obiectiv relativa. "Discul norocului"
(g. 10.1) este reprezentarea graca a acestor functii.

001011

110110
011010

010011
010110

100111

Figura 10.1: "Discul norocului". Sectiunile sunt proportionale cu pi .


Pentru ecare copiere ^ n generatia urmatoare, se copiaza sirul la care s-a oprit
discul. Se fac sase copieri, pentru ca a doua generatie sa e la fel de mare:
011010
001011
001011
010011
100111
010110
Primul sir se reproduce, ^ n medie, de 6 0 412 = 0 71 ori deci, prin rotunjire, o
data.
^Incrucisare
Se simuleaza schimbul de material genetic care are loc ^ n timpul reproducerii
biologice. ^In mod aleator, se obtin perechi de siruri. Pentru simplitate, vom
^ ncrucisa perechile adiacente. Pentru ecare pereche se obtine un numar ^ ntreg
aleator ^ ntre 1 si 6. Acesta arata c^ati biti din dreapta se schimba ^ ntre cele doua
siruri. De exemplu, ^ ncrucisam sirurile A1 si A2 , av^and ^ ntregul aleator 2:
( ) ( )
011010 ! 011011 :
001011 001010
180 CAPITOLUL 10. ALGORITMI GENETICI

Procesul continua pentru sirurile A3 si A4 , av^and ^ ntregul aleator 4 si pentru
sirurile A5 si A6 av^and ^ ntregul aleator 3. Obtinem sirurile:
011011
001010
000011
011011
100110
010111

Mutatie
Biologic, ea perturba caracteristicile populatiei, ^ n mod aleator, prevenind de-
generarile. Cele mai multe mutatii mai mult distrug dec^at sa e benece. De
aceea, mutatia trebuie sa e rara, pentru a nu distruge specia. Pe de alta parte,
ea e necesara. ^In simularea noastra, vom presupune o rata a mutatiei de 1/1000
biti, mutatia ^ nsemn^and aici o inversare de bit. Deoarece avem 36 de biti ^ n
populatie, probabilitatea unei mutatii este 0,036. Presupunem ca nu are loc nici
o mutatie la acest pas. Obtinem astfel a doua generatie:
i sirul Ai val. zecimala fi pi
1 011011 27 0,037 0,064
2 001010 10 0,10 0,174
3 000011 3 0,333 0,578
4 011011 27 0,037 0,064
5 100110 38 0,0263 0,046
6 010111 23 0,043 0,075
Total 0,576 1
Observam ca totalul functiei obiectiv a crescut vizibil.
^Intregul proces se reia, obtin^and urmatoarele generatii.
^In general, populatia poate sa creasca sau sa scada de la o generatie la alta.
Acest proces continua p^ana c^and functia obiectiv atinge o valoare acceptabila
pentru o anumita generatie. Convergenta este, ^ n general, rapida.
Se poate^ nt^ampla sa ajungem la o degenerare, de exemplu daca cele sase siruri
sunt 000011. De aici putem iesi doar astept^and o mutatie favorabila. Aceasta
poate avea loc doar dupa multe generatii. Astfel se poate ^ nt^ampla si ^ n natura,
unde o specie poate suferi o adaptare neoptima pentru milenii, p^ana c^and apare
un organism mai bine adaptat care ajuta la perfectionarea speciei.

10.3 Fundamente matematice


O schema este o submultime de siruri cu similaritati ^ n anumite pozitii. Vom con-
sidera siruri peste alfabetul V = f0 1g. Un sir va  notat astfel: A = a1 a2a3 : : : al ,
unde ai poate  0 sau 1, iar l este lungimea sirului. O schema H peste alfabetul
10.3. FUNDAMENTE MATEMATICE 181

V + = f0 1 g este, de exemplu, H = 11  0  . Schema H este, de pilda,


reprezentata de sirul 0110000.
Daca V are k siruri, atunci se pot forma (k + 1)l scheme. Fiecare sir este
continut ^ n 2l scheme deoarece, ecare caracter din sir poate avea e valoarea pe
care o are, e .
Deci, ^ ntr-o populatie de n siruri, exista cel mult n 2l scheme si cel putin 2l
scheme reprezentate efectiv ^ n populatie, acest numar depinz^and de diversitatea
populatiei. Ordinul unei scheme H , o(H ), este numarul pozitiilor xate din H .
De exemplu, o(011  1  ) = 4.
Lungimea de denitie a unei scheme H , (h), este distanta dintre prima si
ultima pozitie xata. De exemplu, (011  1  ) = 4.
Vom considera efectele operatiilor de reproducere, ^ ncrucisare si mutatie asu-
pra schemelor reprezentate ^ ntr-o populatie de siruri.

Reproductie
Presupunem ca la momentul t exista m reprezentanti (m siruri) ai schemei H ^ n
generatia A(t). Vom scrie: m = m(H t). Conform algoritmului de reproductie,
un sir Ai este copiat ^ n generatia urmatoare cu probabilitatea pi = Pfifj . Pre-
supunem ca selectam n siruri distincte din A(t) pentru urmatoarea generatie,
A(t + 1), cu "reintroducere". Avem:
m(H t + 1) = m(H t) n fP(Hf )
j
unde f (H ) este valoarea medie a functiei obiectiv pentru sirurile care reprezinta
schema H la P momentul t.
Fie f' = nfj valoarea medie a functiei obiectiv pentru ^ ntreaga populatie
(A(t) are n siruri). Atunci:
m(H t + 1) = m(H t) f (fH '
):

O schema H creste deci direct proportional cu raportul:


valoarea medie a functiei obiectiv pentru schema H :
valoarea medie a functiei obiectiv pentru ^ ntreaga populatie
Efectul reproducerii este clar: din punct de vedere al numarului de reprezentanti,
o schema H cu f (H ) > f' creste, iar o schema H cu f (H ) < f' scade.
Sa presupunem acum ca pentru o schema H avem f (H ) = f'+ cf', unde c este
o constanta. Atunci:
' '
m(H t + 1) = m(H t) f +f'cf = (1 + c) m(H t):
Pornind din t = 0, obtinem:
m(H t) = m(H 0)(1 + c)t
adica, obtinem o progresie geometrica. Cresterea / scaderea unei scheme prin
reproductie este exponentiala.
182 CAPITOLUL 10. ALGORITMI GENETICI

^Incrucisare
Fie l = 7 si e:
A = 0111000
H1 = *1****0
H2 = ***10**

Sirul A reprezinta schemele H1 si H2. "Taietura" dupa care se executa ^ ncruci-
sarea se alege aleator, echiprobabil ^ ntre cele 6 posibilitati. De exemplu:
A = 011|1000
H1 = *1*|***0
H2 = ***|10**
^Incrucisarea are loc prin schimbarea primelor 3 caractere din A. Observam
ca H1 este distrusa, deoarece 1 si   0 vor  plasate ^ n siruri diferite. H2
supravietuieste ^ nsa. Probabilitatea ca H1 sa e distrusa este mai mare, deoarece
(H1) > (H2). Probabilitatea ca H1 sa e distrusa este
pd = l(;H11) = 65 :
Probabilitatea ca H1 sa supravietuiasca este
ps = 1 ; pd = 16
. Similar, pentru H2, pd = 61 .
Nu am considerat deocamdata situatia ^ n care, prin operatia de ^ ncrucisare,
pozitiile xate din schema nu se modica.
^In general,
ps = 1 ;l ; (1H ) :
Fie pc probabilitatea ca sa efectuam operatia de ^ ncrucisare. Avem:
ps  1 ; pc l (;H1) :
Se foloseste semnul  pentru ca acum tinem cont si de situatia ^ n care, prin
operatia de ^ ncrucisare, pozitiile xate nu se modica.
Consideram acum efectul combinat al reproductiei si ^ ncrucisarii. Presupu-
n^and ca aceste doua operatii sunt independente obtinem:
 !
f (H )
m(H t + 1)  m(H t) f' 1 ; pc l ; 1 : ( H )

Observam ca schemele cu lungime mica sunt favorizate.


10.4. EXERCITII 183

Mutatie
Alteram o pozitie xata cu probabilitatea pm, deci supravietuieste cu probabili-
tatea 1 ; pm . O schema H supravietuieste daca ecare dintre cele o(H ) pozitii -
xate supravietuieste. Rezulta ca probabilitatea ca o schema H sa supravietuiasca
este (1 ; pm)o(H ) . Pentru valori mici ale lui pm , aceasta probabilitate se poate
aproxima cu 1 ; o(H )pm, conform inegalitatii Bernoulli: Oricare ar  a  ;1 si
n natural, avem:
(1 + a)n  1 + na:
Tin^and cont de toate operatiile genetice, obtinem (rotunjit):
 !
f (H ) ( H )
m(H t + 1)  m(H t) f' 1 ; pc l ; 1 ; o(H )pm :
Observam ca schemele cu ordin mic sunt favorizate.
^In nal, putem formula urmatoarea teorema:
Teorema Fundamentala a Algoritmilor Genetici (Holland,
1975). Schemele cu valoare a functiei obiectiv peste medie, cu lun-
gimea de denitie si ordinul mici, cresc exponential ^ n generatiile
urmatoare.
Am vazut ca ^ ntr-o populatie de n siruri de lungime l sunt procesate ^ ntre 2l
si n2l scheme. Nu toate aceste scheme sunt procesate cu o probabililitate mare,
datorita operatiilor de ^ ncrucisare si mutatie (schemele lungi sunt distruse).
Se poate demonstra ca numarul de scheme efectiv procesate este ^ n ordinul
lui n3 , tin^and cont si de operatiile de ^ ncrucisare si mutatie.
Cu alte cuvinte, cu toate ca se proceseaza n siruri la ecare generatie, un
algoritm genetic proceseaza de fapt ^ n ordinul lui n3 scheme. Aceasta proprietate
deneste paralelismul implicit al unui algoritm genetic. Manipul^and n elemente,
procesam de fapt aproximativ n3 similaritati.
Acestui paralelism implicit i se datoreaza faptul ca spatiul cautarilor este
sucient de mare pentru ca algoritmul sa nu duca, ^ n general, la un optim local
ci la unul global.
Fiind data o populatie de siruri, cu valorile respective ale functiei obiectiv, ne
punem problema de ce informatie dispunem pentru a ghida cautarea unor siruri
mai bune. Raspunsul este: similaritatile dintre siruri. Aceste similaritati sunt
descrise de schemele populatiei.

10.4 Exercitii
1. (C) Minimizati functia f (x y z) = x2 +y2 +z2 , x y z 2 !;512 512]. Folositi
siruri binare de lungime 10.
184 CAPITOLUL 10. ALGORITMI GENETICI
Capitolul 11
Puterea si complexitatea de
calcul a retelelor neurale
11.1 Masina Turing
Masina Turing este un model abstract de calculabilitate. O masina Turing este
formata dintr-o banda divizata ^ n celule, innita la dreapta si dintr-un cap de
citire/scriere care la un moment dat este pozitionat exact asupra unei celule.
Fiecare celula poate contine cel mult un simbol. ^In plus, exista o multime nita
de stari care controleaza mutarile masinii. La o mutare, masina Turing, ^ n functie
de simbolul din celula de banda pe care este pozitionat capul de citire/scriere si
de starea ^ n care se a%a masina, efectueaza urmatoarele:
1. Trece ^ ntr-o noua stare.
2. Scrie un simbol ^ n celula pe care masina se a%a pozitionata, ^ nlocuind ceea
ce era scris ^ nainte (eventual poate tipari acelasi simbol).
3. Deplaseaza capul de citire o celula la dreapta sau st^anga, sau lasa capul de
citire/scriere pozitionat asupra aceleiasi celule.
Initial, capul de citire/scriere este pozitionat asupra celei mai din st^anga celule.
Primele n celule din st^anga, pentru un n  0, contin simboluri care reprezinta
datele de intrare, iar restul de celule, ^ n numar innit, contin un simbol special
ce nu poate  folosit pentru reprezentarea datelor de intrare (de obicei, blank).
Masina porneste dintr-o stare precis determinata, numita stare initiala. Unele
stari din multimea nita a starilor se numesc stari nale. Starile nale sunt de
doua tipuri: de acceptare si de respingere.
Multimea simbolurilor formeaza un alfabet (nit). Secventele nite de sim-
boluri se numesc cuvinte. O masina M accepta un cuv^ant w daca, pornind din
starea initiala, cu w ca data de intrare, ajunge, dupa un numar nit de pasi,
^ ntr-o stare nala de acceptare.
Limbajul acceptat de o masina M este multimea (nita sau innita):
L(M ) = fwjM accepta wg:
185
186 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL

Multimea limbajelor acceptate de masini Turing formeaza clasa limbajelor recur-


siv enumerabile, L0.
^In cazul ^ n care numarul de pasi efectuati este nit, modul de operare al unei
masini Turing este descris de catre un algoritm.
^In afara de imaginea masinii Turing ca si o procedura (algoritm - daca este
nit) de recunoastere a unei multimi, putem considera ca un astfel de dispozitiv
calculeaza o functie adaug^and o banda de scriere. O astfel de masina calculeaza
o functie naturala f daca, pornind cu data de intrare x, se opreste cu f (x) pe
banda de scriere. Functia f se numeste, ^ n acest caz, Turing-calculabila.
Calculabilitatea intuitiva este un concept prematematic care nu permite nici
o restrictie inevitabil impusa de o denitie riguroasa.
Orice functie Turing-calculabila este si intuitiv calculabila. Reciproca acestei
armatii este mai dicil de formulat, deoarece identica doua obiecte din care
unul este matematic iar unul prematematic.

Teza lui Church-Turing (1936). Orice functie intuitiv calcula-


bila este Turing-calculabila.

Teza lui Church-Turing nu poate  demonstrata, ci doar justicata prematem-


atic. Cu alte cuvinte, este greu de acceptat existenta unor functii naturale intuitiv
calculabile care sa nu e Turing-calculabile.
^In conformitate cu teza lui Church-Turing, clasa multimilor L0 coincide cu
clasa multimilor algoritmic calculabile.

Teorema (Turing, 1936). Problema opririi masinii Turing este


nerezolvabila.

Cu alte cuvinte, nu exista un algoritm care sa determine daca o masina Turing
arbitrara, actionata dintr-o conguratie arbitrara (q w i) se va opri sau nu (q este
starea, w este data de intrare, iar i este pozitia capului).
Puterea de calcula a masinilor Turing este foarte mare: orice algoritm , chiar si
NP, poate  implementat pe o masina Turing corespunzatoare. O masina Turing
poate rezolva orice problema rezolvabila pe un calculator de uz general, av^and
avantajul ca poate  descrisa matematic foarte concis.
Masinile Turing pot  deterministe sau nedeterministe. Multimea limbajelor
acceptate de masinile nedeterministe este, ^ nsa, egala cu multimea limbajelor
acceptate de masinile deterministe.
Un algoritm NP poate  rezolvat ^ ntr-un timp polinomial pe o masina Turing
nedeterminista. Daca se doreste rezolvarea pe o masina determinista, timpul nu
mai ram^ane polinomial.
Un algoritm P poate  rezolvat ^ ntr-un timp polinomial pe o masina Turing
determinista.
11.2. PUTEREA DE CALCUL A RETELELOR NEURALE 187

11.2 Puterea de calcul a retelelor neurale


Un model masiv paralel (MMP) este o multime de celule interconectate printr-o
retea de comunicatie. Fiecarei celule ^ i corespunde o vecinatate din care provin
conexiunile care intra ^ n celula. Numarul de celule poate  innit, numarul de
conexiuni este, la nivel local, nit, iar conexiunile sunt orientate.
^In particular, modele masiv paralele sunt: retelele neurale, automatele celulare
si retelele de automate.
^In cadrul masinilor Turing, o problema este rezolvabila algoritmic daca exis-
ta un algoritm av^and la intrare un cuv^and nit w si la iesire un cuv^ant care
reprezinta informatia determinata de w. Spre deosebire de aceasta, un MMP
rezolva probleme de conguratie, av^and la intrare o conguratie x a modelului si
la iesire o conguratie a modelului care reprezinta informatia determinata de x.
Generalizam acum notiunea de rezolvabilitate pentru MMP.

Denitie. O problema de conguratie este p-rezolvabila printr-un


model masiv paralel M daca, indiferent de conguratia de intrare x,
exista un moment t astfel ^ nc^at avem:
stabilitate: T (t0 x) = T (t x) pentru t0 > t
corectitudine: T (t0 x) este exact iesirea dorita.

Prin T am notat functia care deneste dinamica globala a modelului.

C^ateva rezultate fundamentale


McCulloch si Pitts armau^ n 1943 ca retelele neurale sunt calculatoare universale.
Franklin si Garzon au aratat ca orice problema rezolvabila algoritmic (printr-o
masina Turing) poate  efectiv formulata sub forma unei probleme de conguratie
p-rezolvabila pe o retea neurala Asadar, retelele neurale sunt ce putin la fel de
puternice ca si masinile Turing.
Conguratiile unui MMP pot  ^ nsa innite, deci p-rezolvabilitatea este o
notiune mai complexa dec^at calculabilitatea. Franklin si Garzon au demonstrat ca
problema opririi este p-rezolvabila pe o retea neurala innita. Aceasta problema
nu este^ nsa rezolvabila pe o masina Turing, dupa cum am vazut. Conform acestui
rezultat, dar si al altor rezultate de acest fel, s-au demonstrat de catre Garzon si
Franklin1 urmatoarele relatii:
masini Turing  automate celulare  retele neurale  retele de automate
Garzon, M., S. Franklin "NeuralComputability II", Report of Memphis State University,
1
MSU-TR-89-12, 1989.
188 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL

11.3 Reprezentarea functiilor booleene prin


retele feedforward
Orice functie nita poate  implementata exact printr-o retea neurala feedfor-
ward, cu un strat ascuns, de perceptroni de tip continuu (Ito 2)
Prin denitie, o functie nita este de forma f : Q ! R, unde Q  Rd, Q
nita.
Orice functie continua poate  aproximata oric^at de bine de o retea neurala
feedforward cu un singur strat ascuns, de perceptroni de tip continuu (Funahashi3,
Hecht-Nielsen 4 ).
Sa consideram cazul functiilor booleene. Domeniul de denitie al unei functii
booleene cu N argumente contine 2N elemente. Pentru ecare N
din aceste 2N
elemente exista 2 valori posibile ale functiei. Deci, exista 22 functii booleene
diferite cu N argumente. Vom reprezenta o functie booleeana arbitrara printr-o
retea feedforward cu un strat ascuns. Aceasta nu surprinde, o functie booleeana
ind un caz particular de functie nita. Primul strat va  format din N per-
ceptroni discreti 1 : : : N , reprezent^and argumentele functiei. Ultimul strat
consta dintr-un neuron discret S , reprezent^and valoarea functiei F (1 : : : N ).
Valorile logice sunt reprezentate de 1. ^In stratul ascuns sunt 2N neuroni
discreti q0 : : : q2N ;1. Ponderea wjk dintre k si qj este w, calculata astfel:
e (1 : : : N ) reprezentarea binara a lui j . Luam wjk = +w daca k = 1 si
wjk = ;w daca k = 0. Adica, wjk = (2k ; 1)w, unde w este o constanta
pozitiva. Alegem pragul pentru neuronii ascunsi: (N ; 1)w. Potentialul pentru
un neuron ascuns este:
X
hj = wjkk ; (N ; 1)w
Xk
= w!( (2k ; 1)k ) ; (N ; 1)]:
k
Avem hj > 0 daca si numai daca
(2k ; 1)k = 1 pentru k = 1 : : : N
unde 2k ; 1 = 1 si k = 1. Deci, conditia este:
2k ; 1 = k pentru k = 1 : : : N:
Cu alte cuvinte, pentru o intrare, exact un neuron din stratul ascuns va deveni 
activ. Acest neuron este qj , unde j0 este reprezentat binar ca 2+1 : : : N2+1 .
0
1

2 Ito, Y. "Finite Mapping by Neural Networks and Truth Functions", Math. Scientist, 17,
1992, 69-77.
3 Funahashi, K. "On the Approximate Realization of Continuous Mapping by Neural Net-
works", Neural Networks, 2, 1989, 183-192.
4 Hecht-Nielsen, R. "Theory of the Backpropagation Neural Network", In: "Neural Networks
for Perception", H. Wechsler (Ed.), Academic Press, 1992, 65-93.
11.3. REPREZENTAREA FUNCTIILOR BOOLEENE 189

Avem, deci, urmatoarele iesiri din neuronii ascunsi:


(
sj = +1 pentru j = j0 :
;1 pentru j 6= j0
Ponderea vj dintre sj si neuronul S va :
(
vj = +1 daca F (1 : : : N ) = true
;1 daca F (1 : : : N ) = false
unde (1 : : : N ) corespunde lui sj . Luam pragul:
X
; vj
j
. Potentialul pentru neuronul S este:
X X X
k = vj sj + vj = vj (sj + 1) = 2vj : 0
j j j
Iesirea din retea va  sgn(h) = F (1 : : : N ) (g. 11.1).

+/-1 σ1 w01 q0
s0
v0
S sgn(h) = F ( σ1 ,..., σN )
...
...

+/-1 v2N-1
s2N-1
σN qN
2 -1

Figura 11.1: Retea neurala care implementeaza functia F (1  : : :  N ).


Se observa ca numarul de neuroni ascunsi este 2N , deci foarte mare. Pe de
alta parte, problema reprezentarii unei functii booleene (SATI) este NP-completa
(teorema lui Cook). Deci, este explicabil. De fapt, am folosit forma normala
disjunctiva, cu o poarta OR si 2N porti AND.
^In cazuri particulare, reprezentarea se poare face ^ nsa mult mai ecient (cu
mai putini neuroni). De exemplu, XOR su 2 argumente se poate reprezenta cu
2, nu 4 neuroni ascunsi.
Apare problema minimizarii retelei neurale care reprezinta o functie booleana
data. Pentru retelele cu un strat ascuns, corespunz^and functiilor booleene ^ n
forma normala conjunctiva, problema minimizarii este cunoscuta: se minimizeaza
functia booleana printr-unul din algoritmii uzuali (Karnaugh sau Quine - Mc-
Cluskey). Minimizarea se refera aici la numarul de neuroni, adica numarul de
porti. O problema cu totul diferita este daca o functie booleana cu N argumente
poate  "^ nvatata" de catre o retea neurala, ^ ntr-un timp polinomial. Valiant5 a
5 Valiant, L.G. "A Theory of the Learnable", Commun. ACM, 27, 1134, 1984.
190 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL

aratat ca functiile logice sub forma normala conjunctiva pot  instruite folosind
doar un numar polinomial de exemple pozitive. ^In cazul functiilor ^ n forma nor-
mala disjunctiva mai este nevoie, ^ n plus, de ^ nca un nivel de ^ nvatare.
O problema interesanta este daca functia poate ^ nvatata folosind doar putine
exemple si las^and-o apoi sa "generalizeze".

11.4 Complexitatea instruirii retelelor neurale


feedforward
Fie cazul retelelor feedforward multistrat cu perceptroni de tip continuu sau dis-
cret (nu are importanta) si e cazul ^ nvatarii supervizate.
Teorema (Judd6 ). Problema generala a instruirii unei astfel de retele
este NP-completa.
Cu alte cuvinte, presupun^and P6=NP, nu exista un algoritm cu timp polinomial
care sa instruiasca o retea ^ n conditiile ^ n care:
1. Arhitectura retelei (neuronii si conexiunile, fara ponderi) este arbitrara.
2. Numarul de pattern-uri care trebuie memorate ^ n retea este arbitrar.
Marimea unui caz este aici proportionala cu marimea retelei (numarul de percep-
troni, conexiuni) plus numarul pattern-urilor de memorat.
Daca, de exemplu, pentru a accelera instruirea, marim numarul de neuroni
^ n retea, timpul de executie creste foarte mult, deoarece timpul poate creste
exponential fata de numarul de neuroni.
Teorema ram^ane valabila indiferent de functia de activare folosita. De aseme-
nea, teorema ram^ane valabila chiar daca arhitectura retelelor considerate verica
restrictia:
nr. de straturi ascunse  1:
Observatii:
1. Aceasta teorema se refera la instruire ^ n general. Exista clase mari de retele
si secvente de instruire care duc la o instruire ^ n timp polinomial. Problema
generala a instruirii unei retele cu o functie booleana oarecare este ^ nsa NP-
completa.
2. Se observa empiric faptul ca algoritmul de instruire prin propagarea ^ n
urma a erorii este foarte lent daca numarul de straturi este mare. S-ar
putea deduce ca aceasta ar  o proprietate generala: retelele cu straturi
putine se instruiesc mai ecient. Teorema lui Judd ne arata ca nu este
neaparat asa. Importanta este marimea retelei, complexitatea ei.
Judd, J.S. "Neural Network Design and the Complexity of Learning", The MIT Press,
6
Cambridge, 1990.
11.4. COMPLEXITATEA INSTRUIRII 191

3. Instruirea este de fapt memorare. Memorarea unor perechi asociate de


siruri se face ^ n timp liniar, pe o masina von Neumann, adica mult mai
rapid. Este, ^ nsa, adevarat ca astfel se pierd avantajele procesarii neurale,
de exemplu invarianta la perturbatii.
4. Ram^ane ca subiect de cercetare, din punct de vedere al NP-completitudinii,
problema instruirii retelelor recurente.
192 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL
Capitolul 12
Consideratii epistemologice
asupra calculului neural
12.1 Scopul unei retele neurale
Formele superioare de viata, inclusiv cele bazate pe sisteme nervoase centrale,
tind sa faciliteze supravietuirea speciei respective ^ n conditii de mediu care devin
din ce ^ n ce mai dicile1.
Natura nu ^ si foloseste niciodata ^ n mod inutil resursele, ci actioneaza con-
form unui principiu de optimalitate. De aceea, putem arma ca mecanismele
creierului tind sa asigure ^ n mod optim supravietuirea. De exemplu, somnul,
^ n interpretarea lui Freud, tinde sa integreze zgomotele, pastr^and homeostazia
sistemului.
Din aceasta perspectiva, analogiile dintre calculatoarele digitale si retelele
neurale biologice sunt nerezonabile. Problemele aritmetice sunt rareori rezolvate
cu scopuri biologice poate ca pasarile ^ nvata sa-si numere ouale, ^ nsa, chiar si
aceasta abilitate poate  explicata, p^ana la un anumit nivel, prin functii ele-
mentare de recunoastere a formelor. Necesitatea de a numara sclavi si soldati
folosind semne este de origine mai t^arzie ^ n dezvoltarea omului si este realizata
pe baza unor mijloace nebiologice. Orice ^ ncercare de a construi modele neurale
pentru sumatoare, multiplicatoare, convertoare A/D si alte circuite de calcul este
de aceea, din acest punct de vedere, irationala.
Cea mai importanta functie a sistemului nervos este monitorizarea si con-
trolul conditiilor ^ n care organismul traieste ^ n mediul respectiv. Aceasta functie
se realizeaza prin modicarea starilor organismului si/sau a mediului. Cele mai
elementare stari controlabile ale organismului sunt globale, nestructurate (de e-
xemplu, temperatura). Cele mai evoluate astfel de stari sunt legate de comporta-
ment social, care implica planicarea anticipativa si interactiunile sociale. Chiar
si acestea sunt, ^ nsa, motivate biologic.
Diferenta dintre calculatoare si creier rezulta din scopurile lor diferite. Calcu-
1Kohonen, T. "Self-Organization and Associative Memory". Springer, Berlin, 3rd ed., 1989,
chap. 9.

193
194 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE

latoarele au fost dezvoltate initial pentru a rezolva probleme matematice, mai ales
aritmetice. Ulterior, s-a descoperit ca instructiunile folosite pentru calculul sim-
bolic pot  utilizate si pentru procesarea limbajului natural. Aceasta descoperire
a fost un efect secundar ^ n istoria dezvoltarii calculatoarelor. ^Inca nu s-a observat
ca o anumita generatie de calculatoare sa-si doreasca sa supravietuiasca!
Pentru a modela c^at mai bine sistemele neurale biologice, retelele neurale ar-
ticiale trebuie sa interactioneze cu lumea reala, cu obiectele naturale. Statistica
semnalelor naturale, de exemplu vorbirea, sunt complet diferite de statistica pre-
supusa ^ n teoria matematica a probabilitatilor. Natura gaussiana a zgomotului
si distributia normala a datelor sunt ipoteze foarte proaste ^ n acest context.

12.2 Functiile neurale biologice sunt localizate


sau distribuite?
Este unul dintre subiectele de dezbatere continua. Circuitele neurale trebuie
sa proceseze functiile local, ^ n timp ce distribuirea globala a activitatilor este o
functie colectiva a activitatilor tuturor partilor.
De fapt, dihotomia distribuire - localizare poate  urmarita si la nivelul neu-
ronului:
putem localiza cu acuratete de 10 microni corpul si axonul neuronului
ramurile dendritelor aceleiasi celule sunt ^ nsa distribuite pe o arie cu un
diametru de c^ativa milimetri.
Cu alte cuvinte, raspunsul poate  localizat, cu toate ca functiile (adaptive) pot
 distribuite spatial pe o arie mare.

12.3 Este neliniaritatea esentiala ^


n
calculul neural?
Semnalele procesate ^ n retelele neurale sunt, de obicei, continue. ^In electronica,
cu toate ca, de fapt, caracteristicile componentelor sunt neliniare, prin folosirea
feedback-urilor negative si a altor metode de stabilizare, se organizeaza compo-
nentele si circuitele ^ n module integrate care se comporta liniar.
Neuronii biologici au caracteristici si mai neregulate dec^at componentele elec-
tronice. Faptul ca neuronii au raspunsuri neliniare nu ^ nseamna ^ nsa ca sis-
temul integrat nu poate sa se comporte liniar. Iata un exemplu de astfel de
integrare: c^and creierul recunoaste o situatie importanta, sistemul reticular de
activare adauga ^ n circuitul cortical o excitatie care face ca neuronii sa opereze ^ n
mijlocul plajei lor dinamice. Se adauga deci un semnal pentru a modica plaja
^ n care opereaza neuronii. Acest lucru se face doar pentru un timp scurt. ^In
plaja lor dinamica, neuronii pot apoi sa functioneze liniar. ^In ansambul, sistemul
functioneaza, ^ n acest caz, temporar liniar. Daca sistemul reticular de activare
12.4. DEOSEBIRI ESENTIALE 195

nu recunoaste o situatie ca ind importanta, neuronii ram^an inactivi, sub pragul


de saturatie.
Exista si cazuri de neliniaritate. De exemplu, ^ n cazul perceptiei vizuale la
insecte. Ochiul insectei este format din multe lentile, ecare capt^and un sector
al c^ampului vizual. Semnalele rezultate din fotoreceptoarele acestor lentile sunt
prelucrate ^ n c^ativa centri nervosi, numiti ganglia, situati l^anga organele senzo-
riale. Acesti centri combina semnalele receptate ^ ntr-un mod neliniar, form^and
produse de perechi de semnale - unul obtinut din gura si unul din fundal. Core-
larea perechilor de semnale este diferita ^ n cazurile c^and gura este, respectiv nu
este, ^ n miscare.

12.4 Deosebirile esentiale dintre calculatoarele


neurale si cele digitale
1. Gradul de paralelism al retelelor neurale este mai mare dec^at cel al oricarui
calculator digital masiv paralel.
Calculatoarele masiv paralele sunt retele de procesoare care lucreaza asin-
cron. Aceste calculatoare sunt, totusi, digitale si au circuite digitale ^ n
nodurile lor. Deosebirea lor esentiala fata de calculatoarele von Neumann
consta ^ n faptul ca este imposibil de prezis ordinea operatiilor realizate ^ n
timpul calculului.
Retelele neurale lucreaza tot asincron. Semnalele neurale nu au^ nsa o forma
exacta, deci nu este posibil sa combinam nici o informatie de control (coduri
de control, biti de paritate, adrese) cu datele. De exemplu, multiplexarea
nu mai este, din aceasta cauza, posibila.
Calculatoarele neurale sunt calculatoare analogice. Ele nu pot executa pro-
grame memorate. Operatiile implementate pe ele nu pot  denite algorit-
mic.
2. De ce semnalele neurale nu pot  aproximate de variabile booleene.
Impulsurile neurale au un aspect binar: amplitudinea nu conteaza. Dar
durata unui impuls nu este variabila: nu este posibil sa denim semnale
logice statice similare cu cele folosite ^ n calculatoarele digitale. Mai mult,
impulsurile neurale nu sunt nici sincronizate, deci semnalele neurale difera
de cele digitale.
3. Circuitele neurale nu implementeaza automate nite.
Filosoa calculului digital, dar si a inteligentei articiale, se bazeaza pe
teoria automatelor nite. Prin feedback (g. 12.1), un automat nit poate
implementa orice secventa de stari, ind capabil de a deni recursiv functiile
calculabile.
196 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE

intrare iesire
automat
finit

Figura 12.1: Automat nit.

Toate calculatoarele digitale aplica principiul recursivitatii la diferite nivele,


de la hardware la procedurile denite ^ n limbaje de programare. Aplicarea
recursivitatii este posibila din doua motive tehnologice:
valorile semnalelor sunt stabile
toate combinatiile de semnale si stari sunt accesibile
O retea neurala biologica nu poate implementa un automat nit. Functiile
feedback din retelele neurale servesc altor scopuri. Procesul de calcul neural
articial este mai apropiat unei aproximari stohastice.

12.5 Cum pot  programate calculatoarele


neurale
Este greu de imaginat cum ar putea  programati pasii individuali de procesare
^ n creier si cum sa e programat un calculator neural ca un calculator digital.
Structurile anatomice ^ n sine constituie "un program", incluz^and si codul
genetic. ^In acest sens, creierul este "programat". Similar, arhitectura retelei
neurale articiale reprezinta "programul" ei.
^In natura biologica, structurile par at^at de semnicative, ca si cum ar  create
conform unui plan a priori. Explicatia stiintica este ca mutatiile, pe parcursul
unei lungi evolutii, duc prin selectie la solutia optima. Solutiile optime la care se
ajunge sunt ^ nsa foarte greu de ^ nteles, datorita faptului ca sunt denite implicit
prin codurile genetice. Este imposibil sa adoptam aceasta tehnica ^ n calculul
retelelor neurale articiale.
Problema principala este cum sa obtinem raspunsuri corecte din partea mediu-
lui fara interventia si interpretarea programatorului si sa le prezentam sistemului.
Din toate aceste motive, putem arma ca o retea neurala veritabila nu poate
 programata. Cele mai utile aplicatii ale retelelor neurale sunt cele pentru care
structurile sau mecanismele sunt deja familiare.

12.6 Poate creierul sa se autoperceapa?


Numim complexitate a unui sistem numarul de bucle (feedback-uri) care pot
aparea ^ n sistemul respectiv. Astfel, complexitatea unei singure bucle este 1.
12.6. POATE CREIERUL SA SE AUTOPERCEAPA?
 197

Creierul care poate sa perceapa comportamentul unui alt creier mai mic tre-
buie sa aiba o complexitate de cel putin 109 ori mai mare dec^at complexitatea
creierului investigat (Stakermann2 ).
^In mod ironic, cunostintele deja achizitionate sunt pierdute ^ n mod continuu
prin moartea indivizilor si trebuie restabilite de catre cei tineri.
^In concluzie, o identitate nu se poate autopercepe. Creierul biologic nu se
poate auto^ ntelege.

2Starkermann, R. "The Functional Intricacy of Neural Networks - A Mathematical Study",


Proceedings, Insbruck, 1993.
198 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE
Anexa A
Complemente matematice
A.1 Vectori si matrici
2 x1 3
66 x2 777
Vector coloana: x = 66 ... 75 Vector linie: x = !x1 : : : xn]t
4
xn
Fie vectorii n-dimensionali x1 , x2 , ..., xn . Vectorul x este o combinatie liniara
a vectorilor x1, x2 , ..., xn daca exista scalarii c1 , ..., cm astfel ^ nc^at:
X
m
x = ci xi :
i=1

Multimea de vectori x1, x2 , ..., xn este liniar dependenta daca exista c1, ...,
cm , nu toti nuli, astfel ^ nc^at:
Xm
cixi = 0:
i=1
^In caz contrar, vectorii x1, x2, ..., xn sunt liniar independenti.
qPn 2
Norma euclidiana a unui vector: kxk = (xt x)1=2 = i=1 xi .

Produsul scalar a doi vectori x si y: xt y = Pni=1 xi yi = kxk kyk cos unde
este unghiul dintre cei doi vectori.
Proprietate: xt y = kxkkykcos , unde este unghiul dintre x si y.
Se observa ca xty = yt x, deci produsul scalar este comutativ.
Vectorii x si y sunt ortogonali daca si numai daca produsul lor scalar este 0.
Daca vectorii nenuli x1 , x2 , ..., xn sunt doi c^ate doi ortogonali, atunci sunt
liniar independenti.
199
200 ANEXA A. COMPLEMENTE MATEMATICE

2 3 2 3 2 3
1 0 0
Exemplu: Vectorii x1 = 64 0 75, x2 = 64 1 75, x3 = 64 0 75 sunt doi c^ate doi
0 0 1
ortogonali si sunt independenti.
Exemplu: Gasiti produsul scalar dintre vectorii x si y, lungimea lor si unghiul
dintre ei, unde: 2 3 2 3
2 1
x = 64 1 75 y = 64 ;1 75
2 4
p
Solutie: xt y = 9, kxk = 3, kyk = 18, cos = kxxkktyyk = p12 , deci = 45o.

A.2 Forme patratice


O forma patratica (FP) este o functie E (x) = xt Ax, unde x este un vector
n-dimensional iar A o matrice simetrica de n  n elemente.
Daca A = (aij )i j=1 ::: n, atunci:
E (x1 x2 : : : xn) = a11x21 + 2a12 x1 x2 + 2a13 x1 x3 + : : : + 2a1n x1xn
+ a22x22 + 2a23 x2 x3 + : : : + 2a2nx2 xn + : : : + annx2n =
Xn Xn
= aij xi xj
i=1 j =1
Proprietati ale formelor patratice
1. E (x) este o FP pozitiv semidenita, iar A este o matrice pozitiv semidenita
daca !(8)x = 6 0 ) E (x)  0].
2. E (x) este o FP pozitiv denita, iar A este o matrice pozitiv denita daca
!(8)x =6 0 ) E (x) > 0].
3. E (x) este o FP negativ semidenita, iar A este o matrice negativ semide-
nita daca !(8)x =
6 0 ) E (x)  0].
4. E (x) este o FP negativ denita, iar A este o matrice negativ denita daca
!(8)x = 6 0 ) E (x) < 0].
E (x) este pozitiv denita daca si numai daca pentru A = (aij )i j=1 ::: n avem:
det A11 = ka11 k > 0 
 
det A22 =  aa11 aa12  > 0
21 22
...
det Ann = det A > 0:
Conditii suciente pentru ca E (x) sa e:
A.3. ELEMENTE DE GEOMETRIE ANALITICA 201

a) FP pozitiv semidenita:
detA11  0 detA22  0 : : : detAnn  0
b) FP pozitiv denita:
detA11 > 0 detA22 > 0 : : : detAnn > 0
c) FP negativ semidenita:
detA11  0 detA22  0 detA33  0 : : :
d) FP negativ denita:
detA11 < 0 detA22 > 0 detA33 : : :
e) ^In toate celelalte cazuri, FP este nedenita.
Sa notam ca o forma patratica E (x) este nedenita daca este pozitiva pentru
anumite valori ale lui x si negativa pentru alte valori, deci depinde de x.

A.3 Elemente de geometrie analitica


Ecuatia unei drepte ^ n plan este:
a x + b y + c = 0 cu a2 + b2 > 0:
Vectorul " #
n = ab
este un vector normal la dreapta data. Acesta este ^ ndreptat spre semiplanul
pozitiv, adica pentru care a x + b y + c > 0.
Ecuatia unei drepte a carei vector normal este n = !n1 n2 ]t si trece prin
punctul reprezentat de vectorul x1 este:
nt (x ; x1) = 0:
Av^and doua puncte x1 si x2 ^ n plan si vectorii asociati lor, x1 si x2 , ecuatia
mediatoarei segmentului dintre x1 si x2 este:
(x1 ; x2)t (x ; x0) = 0
unde x0 este mijlocul segmentului respectiv.
Din relatia anterioara rezulta
(x1 ; x2 )t x ; 12 (x1 ; x2 )t (x1 + x2 ) = 0
202 ANEXA A. COMPLEMENTE MATEMATICE

si obtinem
(x1 ; x2)t x + 12 (xt2x2 ; xt1x1 ) = 0:
Din
xt x = kxk2
obtinem urmatoarea ecuatie a mediatoarei:
(x1 ; x2 )tx + 21 (kx2 k2 ; kx1k2) = 0:
Ecuatia planului care trece prin trei puncte necoliniare este:
 x y z 1 
 
 x1 y1 z1 1  = 0
 x2 y2 z2 1 
 x3 y3 z3 1 
Ecuatia planului care trece printr-un punct x(x1 y1 z1) si este perpendicular
pe vectorul n = !a b c]t este:
a (x ; x1 ) + b (y ; y1) + c (z ; z1 ) = 0:
Ecuatia planului care trece prin mijlocul segmentului (x1 y1z1 ), (x2 y2z2) si este
perpendicular pe vectorul x1 ; x2, unde x1 = !x1 y1z1 ]t , x2 = !x2 y2z2 ]t este:
(x1 ; x2)t x + 21 (jjx2jj2 ; jjx1jj2) = 0

A.4 Operatia XOR


XOR este o operatie binara asupra argumentelor logice x1 , x2 . Avem:
(x1  x2 )  x3 = x1  (x2  x3) = x1  x2  x3 :
Putem extinde operatia XOR pentru n argumente logice:
XOR(x1 x2 : : : xn) = x1  x2  : : :  xn:
Aceasta functie se numeste si functia de paritate deoarece are valoarea 1 daca si
numai daca numarul argumentelor care au valoarea 1 este impar.

A.5 Iacobianul si hessianul


Un vector x(t ) dependent de timp se deneste astfel:
2 3 2 dx 3 2 3
x ( t ) 6 d 7
1
x_ 1 (t) 7
x(t ) = 664 ... 775 dxd(tt ) = 664 ... 775 = x_ (t) = 664
1 t
... 7
5
xn (t) d xn x_ n (t)
dt
A.5. IACOBIANUL SI HESSIANUL 203

Fie functia E (x), unde x este un vector cu n componente. Gradientul se


deneste astfel: 2 @E 3
66 @x.. 77
rxE (x) = .
1

4 5
@E
@xn
Proprietati:
a) rx(xt y) = y
b) rx(xt A y) = A y
c) rx(xt A y) = A x + At x
d) C^and lucram cu forme patratice, A este simetrica si avem A = At. Rezulta
rx(xt A x) = 2 A x.
Gradientul^ ntr-un punct x0 al unei functii reprezinta directia cresterii maxime
a lui E (x). Gradientul reprezinta tangenta la curba pe directia de crestere si este
nul ^ n punctele de maxim si minim.
Daca avem o functie E !x(t )] (nu neaparat o forma patratica), unde x este un
vector de n componente dependente de timp, atunci
dE !x(t)] = @E @x1 + + @E @xn = X
n @E
dt @x1 @t @xn @t i=1 @xi x_ i (t):
Observam ca
dE !x(t)] = !r E (x)]t x_ (t ):
x
dt
Exemplu: Fie: " # " 2t #
x(t) = x2 (t) = et :
x 1 (t)

Forma patratica a lui x(t) cu matricea


" #
A= 2 3 1 2

este:
h i " # " 2t #
E !x(t)] = e2t t 2 3 et 1 2
" d 2 # " #
(x1 + 4x1x2 + 3x22 ) 2 x 1 + 4x2
rxE (x) = d (x2 + 4x1x2 + 3x2 ) = 4x1 + 6x2
dx 1

" dx 2t #1 2 2

x_ (t) = 2e1 :
204 ANEXA A. COMPLEMENTE MATEMATICE

Atunci
" #
dE !x(t)] = h 2e2t + 4t 4e2t + 6t i 2et = 2(2e4t + (4t + 2)e2t + 3t):
dt 1
Fie m functii:
E1 (x) = E1 (x1 x2 xn)
...
Em (x) = Em (x1 x2 xn)
Matricea iacobiana se deneste ^ n felul urmator:
2 @E 1
@E1 3
I(x) = ddEx = 664 ... ... 77
@x @xn
1
... 5
@Em
@x1 @Em
@xn
Exemplu: Pentru:
h i
x = 2 1 t
E1(x) = x21 ; x1 x2
E2(x) = x1 x2 + x22
avem: " # " #
I(x) = 2x1x;2 x2 x1;+x21x2 = 31 ;42 :
Matricea hessiana a functiei E (x) = E (x1 xn ) se deneste astfel:
2 3
6
@ 2 E2
@x1
@2
@x1 @x2 @2
@x1 @xn 77
H(x) = r2xE (x) = rx !rxE (x)] = 664 ... ... ... ... 75 :
@2E
@x1 @xn
@2E
@x2 @xn @2E
@ 2 xn
Matricea hessiana este simetrica.
Exemplu: Pentru:
E (x) = (x2 ; x1 )2 + (1 ; x1 )2
avem:
" # " #
rxE (x) = 2 2x1x2;;x2x1; 1 r2xE (x) = 2 ;21 ;11 :
Deoarece determinantii principali sunt 4 si 2, matricea hessiana este pozitiv
denita.
A.6. PROBLEME DE OPTIMIZARE 205

A.6 Probleme de optimizare


Presupunem ca avem o functie obiectiv E (x), unde x este o variabila scalara.
Aceasta functie ^ si atinge minimul ^ n punctul x = x , pentru care se ^ ndeplinesc
urmatoarele conditii: 8 dE(x)
>
< dx = 0
> :
: d E(x) > 0
2

2
dx
Daca x este un vector, generalizarea se face astfel:
(
rxE (x ) = 0
r2xE (x ) pozitiv denita :
Pentru a ^ ntelege aceste conditii, sa consideram, de exemplu:
" #
x = xx12 :
Dezvoltam ^ n serie Taylor ^ n punctul x = x si retinem primii termeni ai dez-
voltarii:
E (x) @E (x ) @E (x )
= E (x ) + (x1 ; x1 ) @x + (x2 ; x2 ) @x
1 2

+ 12 (x1 ; x1 )2 @ @E2 (xx ) + 12 (x2 ; x2 )2 @ E (x )


2 2

1 @x22
+(x1 ; x1)(x2 ; x2 ) @ E (x ) :
2

@x1 @x2
Pentru $x1 = x1 ; x1 , $x2 = x2 ; x2, obtinem:
h @E(x) E(x) i " $x1 #
E (x) = E (x ) + @x 1 @x $x2
2

" #t @ E(x) @ E(x) 3 "


2 2 2 #
1 $x
+ 2 $x 4 @ E(x) @ E(x) 5 $x :
1 @x 2
1 @x @x 1$ x 1 2
2 2
2 2
@x @x
2 2 @x 2
2

Lu^and " #
$x = $ x1
$x2
obtinem:
E (x) 1
= E (x ) + !rxE (x )]t $x + 2 $xt !r2xE (x )]$x: (A.1)
Daca E (x) are un minim ^ n x . orice schimbare innitezimala $x ^ n x trebuie
sa rezulte ^ n E (x + $x) > E (x ). Pentru aceasta trebuie ca:
1. Gradientul ^ n x sa scada si sa faca termenul liniar din A.1 sa e zero.
2. Hessiana ^ n x sa e pozitiv denita, ceea ce va face forma patratica din
A.1 pozitiva, independent de $x.
206 ANEXA A. COMPLEMENTE MATEMATICE

Solutia analitica a unei probleme de optimizare speciale


Fie functia:
E (x) = 21 xt Ax + bt x
unde x este un vector n-dimensional, A este o matrice n  n simetrica, pozitiv
denita, b este un vector n-dimensional constant. E (x) este una dintre putinele
functii pentru care exista o solutie analitica pentru minimul fara restrinctii.
Calculam:
rxE (x) = Ax + b
r2xE (x) = A:
Prin ipoteza, A este pozitiv denita. Impunem conditia Ax + b = 0. Solutia
este x = ;A;1 b. Rezulta ca x este un minim.

A.7 Metoda lui Euler (metoda tangentei)


Fie ecuatia diferentiala de ordinul ^ nt^ai:
y0 = f (x y) unde y = y(x)
cu conditia initiala
y0 = y(x0):
Daca f este complicata, nu putem integra direct.
Dorim o aproximare a lui y = +(x), care se demonstreaza ca este solutia
unica (g. A.1). Scriem:
y1 = y0 + $y
+0 (x0 ) = $y ) $y = +0(x0 )$x:
$x

y1 = y0 + +0 (x0 )(x1 ; x0 ) = y0 + f (x0 y0)(x1 ; x0 )


Apoi: y2 = y1 + y10 (x2 ; x1 ) = y1 + f (x1 y1)(x2 ; x1 ):
^In general,
yn+1 = yn + hf (xn yn) = yn + hyn0 daca xn+1 = xn + h n = 0 1 2 ::::
Aceasta relatie este formula lui Euler.
Exemplu: (
y0 = 1 ; x + 4y :
y(0) = 1
A.7. METODA LUI EULER (METODA TANGENTEI) 207

y y y2
y1 y*=Φ(x) y1 y*=Φ(x)
y0 y0
y2 ∆y
∆x

x0 x1 x2 x x0 x1 x2 x

Figura A.1: Ne deplasam pe tangenta la y0 , p^ana la x1 .

Se stie ca solutia exacta a acestui sistem are urmatoarea expresie analitica:

y = +(x) = 14 x ; 16
3 + 19 e4x :
16
Aproximati pe +(0 2), presupun^and ca nu aveti expresia analitica a lui +.
Avem:
h = 01
y00 = f (0 1) = 5
y1 = y0 + hf (0 1) = 1 + 0 1 5 = 1 5
y2 = y1 + hf (x1 y1) = 1 5 + 0 1 (1 ; 0 1 + 6) = 2 19:
Eroarea este:
j2 19 ; +(0 2)j = 0 32:
Lu^and o valoare mai mica pentru h, obtinem o eroare mai mica.
Fie acum un sistem de doua ecuatii diferentiale de ordinul I:
8 0
>
< x0 = f (t x y)
> y = f (t x y) :
: x(t0 ) = x0 y(t0) = y0
Cautam valorile aproximative x1 , x2 , ..., xn , .., y1, y2, ..., yn, ... ale solutiei exacte
x = +(t), y = ,(t) ^ n punctele tn = t0 + nh. Avem:
x1 = hf (t0 x0 y0)
y1 = hg(t0 x0 y0):
^In general:
xn+1 = xn + hf (tn xn yn) = xn + hxn 0
yn+1 = yn + hg(tn xn yn) = yn + hyn0:
208 ANEXA A. COMPLEMENTE MATEMATICE

Exemplu: Determinati valorile aproximative ale lui x = +(t), y = ,(t) ^ n


punctele t = 0,1 si t = 0,2 pentru sistemul:
8 0
< x0 = x ; 4y
>
> y = ;x + y :
: x(0) = 1 y(0) = 0
Pentru h = 0,1 avem:
x0 0 = 1 ; 4 0 = 1 y00 = ;1 + 0 = ;1
x1 = 1 + 0 1 1 = 1 1 y1 = 0 + 0 1 (;1) = ;0 1 :
x1 0 = 1 1 ; 4 (;0 1) = 1 5 y10 = ;1 1 + (;0 1) = ;1 2
x2 = 1 1 + 0 1 1 5 = 1 25 y2 = ;0 1 + 0 1 (;1 2) = ;0 22
Fie sistemul: 8 x 0 = F (t x : : : x )
>
> 1 1 1 n
< x2 0 = F2 (t x1 : : : xn)
> ...
>
: xn 0 = Fn(t x1 : : : xn)
cu conditiile initiale:
x1 (t0 ) = x01
...
xn (t0) = x0n :
Acest sistem are o solutie ^ n intervalul  < t <  daca exista functiile x1 = +1 (t),
..., xn = +n(y), diferentiabile ^ n  < t <  si care satisfac conditiile initiale.
Teorema de existenta si unicitate: Daca F1, ..., Fn si @F1 ,
@x1 ...,
@F1 ..., @F @Fn
@xn , @x1 , ..., @xn sunt continue ^ n regiunea R care contine punctul
n
(t0 x01 : : : x0n), atunci exista un interval jt ; t0 j < R ^ n care exista o
solutie unica x1 = +1 (t), ..., xn = +n(t) a sistemului, care satisface
conditiile initiale.
Observam ca nu se spune nimic despre derivatele @Fi .
@t

A.8 Stabilitatea sistemelor dinamice neliniare


La sf^arsitul secolului XIX, Liapunov a dezvoltat o metoda pentru analiza sta-
bilitatii sistemelor dinamice. Aceasta metoda se bazeaza pe conceptul de energie
generalizata si presupune evaluarea functiei lui Liapunov.
Fie un sistem autonom descris de sistemul de ecuatii diferentiale liniare sau
neliniare:
x_ 1 = f1(x)
x_ 2 = f2(x)
A.9. VARIABILE ALEATOARE 209

...
x_ n = fn(x)
care este echivalent cu x_ = f (x), unde x este vectorul starilor sistemului. Pre-
supunem ca f (0) = 0, adica x = 0 este un punct de echilibru. Vom formula o
conditie pentru ca x = 0 sa e asimptotic stabil, adica vectorul starilor sa tinda
catre zero c^and timpul tinde catre innit. Fie E (x) energia acumulata ^ n sistem.
Teorema lui Liapunov. Daca E este o functie pozitiv denita pen-
tru care:
1. E este continua fata de toate componentele xi i = 1 2 : : : n
2. dEdxt(t)] < 0, adica functia energiei descreste ^ n timp,
atunci originea este asimptotic stabila.
Functia E care satisface aceste conditii se numeste functia lui Liapunov. ^In
general, ea nu este unica.

x2 x2

dE/dt<0 dE/dt>0
t=0
x1 x1
0 0 t=0

traiectorie traiectorie
stabila instabila

Figura A.2: Functia lui Liapunov

Daca cel putin o astfel de functie satisface conditiile teoremei, atunci sistemul
este asimptotic stabil. Uneori nu este foarte clar despre ce energie este vorba.
Consideratiile sunt mai cur^and matematice dec^at zice. ^In cazul retelelor neurale
vorbim de functia energiei computationale, ea neav^and legatura cu energia din
zica.

A.9 Variabile aleatoare


Fie o variabila aleatoare discreta
 ! X
a 1 : : : an
= p ::: p pi = 1:
1 n
210 ANEXA A. COMPLEMENTE MATEMATICE

Denim:
Valoarea medie: m = P aipi = E ( ) P a2 p2 ;
Variant a (dispersia) :  2
= E ( ; E ( )) 2
= E ( 2
) ; ( E ( )) 2
=
(P ai pi)2
i i

Deviatia standard:  .
Functia de repartitie a unei variabile aleatoare normale cu media m si dis-
persia 2 este:
F (x) = P ( < x)
Z x ; u;m
= p1 e  du pentru ; 1 < x < 1
( )2
2 2
 2 ;1
si este notata cu N (m 2 ). Distributia N (0 1) este standard. Functia de densi-
tate a lui N (m 2 ) este:
f (x) = F 0(x) = p1 e; 
x;m
pentru ; 1 < x < 1:
( )2
2 2
 2
Anexa B
Subiecte-tip pentru examen
1. Clasicatorul liniar, functia discriminant liniara.
2. Regula hebbiana.
3. Regula Windrow-Ho.
4. Deduceti regula delta pentru un neuron din conditia de minimizare a erorii.
5. Demonstrati ca functia energiei computationale:
1 Xn Z vi
E = ; 2 v Wv ; i v + Gi fi;1(z)dz
t t
i=1 0

^ ntr-o retea Hopeld cu timp continuu este necrescatoare.


6. Principiul de functionare a unui convertor A/D pe 2 biti implementat printr-
o retea de tip gradient.
7. Teorema perceptronului.
8. Algoritmul de stocare a pattern-urilor prototip ^ ntr-o memorie autoasocia-
tiva recurenta unipolara.
9. Aproximarea unei functii continue prin retele neurale feedforward.
10. Alegerea arhitecturii unei retele neurale feedforward cu un strat ascuns.
11. Teorema lui Liapunov.
12. Problema zgomotului ^ ntr-un asociator liniar.
13. Reprezentarea unei functii booleene printr-o retea neurala feedforward.
14. Adaugarea / eliminarea unui pattern la o / dintr-o memorie autoasociativa
recurenta.
15. In%uenta factorilor  si  ^ n algoritmul backpropagation.
211
212 ANEXA B. SUBIECTE-TIP PENTRU EXAMEN

16. Demonstrati ca functia energiei computationale:


E = ; 21 vt Wv ; itv + Ttv
^ ntr-o retea Hopeld cu timp discret este necrescatoare.
17. Perioada refractara a unui neuron biologic.
18. Perioada de ^ nsumare latenta a unui neuron biologic.
19. Algoritmul backpropagation este convergent?
20. Care este numarul maxim de regiuni liniar separabile folosind J neuroni
ascunsi?
21. ^Intr-o retea Hopeld cu timp continuu, energia scade c^at mai rapid?
22. De ce algoritmul de actualizare la retelele Hopeld trebuie sa e stochastic
asincron?
23. Cum putem gasi punctele de stabilitate ale unei retele Hopeld de tip gra-
dient?
24. Ce este un asociator liniar?
25. Teorema fundamentala a geneticii.
26. Paralelismul implicit al algoritmilor genetici.
27. Multime fuzzy.
28. Logica fuzzy.
29. Rolul intrarii xe ^ n algoritmul de instruire a unei retele feedforward de
perceptroni discreti.
30. Teza Church-Turing.
31. Masina Turing.
32. Adaugati relatiile de incluziune corespunzatoare ^ ntre urmatoarele multimi:
masini Turing, automate celulare, retele neurale, retele de automate.
33. Teorema lui Judd referitoare la complexitatea instruirii retelelor neurale
feedforward multistrat.
34. Capacitatea memoriei autoasociative recurente.
35. De ce ^ n cazul memoriei asociative bidirectionale se prefera procesarea sin-
crona?
213

36. Principiul de functionare al retelei Hamming.


37. Principiul de functionare al retelei MAXNET.
38. Care este scopul calibrarii supervizate a unui clasicator neural?
39. Principiul de functionare a retelei Kohonen.
40. Ce este o harta Kohonen?
41. Principiul de functionare a retelei neurale fuzzy.
42. Principiul de functionare a retelei neurale cu functie de activare radiala.
43. Teorema lui Judd.
44. Teorema lui Hecht-Nielsen.
45. Teorema lui Kolmogorov.
214 ANEXA B. SUBIECTE-TIP PENTRU EXAMEN
Anexa C
Link-uri
Neural Networks Commercial Software Tools
http://www.emsl.pnl.gov:2080/proj/neuron/neural/systems/software.html
SNNS - Stuttgart Neural Network Simulator
http://www-ra.informatik.uni-tuebingen.de/SNNS/
OFAI Library Information System Biblio - Neural Networks
http://www.ai.univie.ac.at/oefai/nn/conn biblio.html
An Introduction to Genetic Algorithms
http://www.cs.qub.ac.uk/~/M.Sullivan/ga/ga index.html
The Genetic Algorithms Archive
http://www.aic.nrl.navy.mil/galist/
David W. Aha Machine Learning Page
http://www.aic.nrl.navy.mil/~aha/research/machine-learning.html

215
216 ANEXA C. LINK-URI
Bibliograe
!1] Davis, L. "Handbook of Genetic Algorithms", Van Nostrand Reinhold, 1991.
!2] Dumitrescu, D., H. Costin "Retele neuronale teorie si aplicatii". Teora,
Bucuresti, 1999.
!3] Freeman, J.A., D.M. Skapura "Neural Networks: Algorithms, Applications,
and Programming Techniques". Addison-Wesley, Reading, Mass., 1991.
!4] Goldberg, D.E. "Genetic Algorithms - in Search, Optimization and Machine
Learning", Addison-Wesley, 1989.
!5] Hagan, M. T., H.B. Demuth, M. Beale "Neural Network Design". PWS
Publishing Co., Boston, 1996.
!6] Hassoun, M.H. "Fundamentals of Articial Neural Networks". The MIT
Press, Cambridge, Mass., 1995.
!7] Haykin, S. "Neural Networks - A Comprehensive Foundation". Macmillan
College Publishing Company, New York, 1999 (second edition).
!8] Hecht-Nielsen, R. "Neurocomputing", Addison-Wesley, Reading, MA, 1990.
!9] Kosko, B. "Neural Networks and Fuzzy Systems", Prentice Hall, Englewood
Clis, 1992.
!10] Masters, T. "Practical Neural Network Recipes in C++". Academic Press,
Boston, 1993.
!11] Michalewicz, Z. "Genetic Algorithms + Data Structures = Evolution Pro-
grams". Springer-Verlag, Berlin, 1994 (second edition).
!12] Muller, B., J. Reinhardt "Neural Networks - An Introduction", Springer-
Verlag, Berlin, 1990.
!13] Negoita, C.V., D.A. Ralescu "Multimi vagi si aplicatii ale lor", Ed. Tehnica,
Bucuresti, 1974.
!14] Stefan, Gh. "Functie si structura ^ n sistemele digitale", Ed. Academiei, Bu-
curesti, 1991.
217
218 BIBLIOGRAFIE

!15] Tou, J.T., R.C. Gonzales "Pattern Recognition Principles", Reading,


Addison-Wesley, 1974.
!16] Tsoukalas, L.H., R.E. Uhrig "Fuzzy and Neural Approaches in Engineering".
John Wiley & Sons, New York, 1997.
!17] Wasserman, P.D. "Advanced Methods in Neural Computing", Van Nostrand
Reinhold Inc., Computer Science Press, NY, 1993.
!18] Zurada, J. "Introduction to Articial Neural Systems". West Publishing
Company, St. Paul, 1992.

S-ar putea să vă placă și