Curs de Inteligenta Artificiala, 2002

Transcription

Curs de Inteligenta Artificiala, 2002
i1
i2
w 2n
w 1n
in
...
wn2
w n1
g1
g2
u1
u2
_
v1
Cn
_
v2
v1
un
C2
C1
_
gn
...
vn
v2
vn
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 frecventat 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 doctorand ^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 articiala. ^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.
Bezdek, J. "On the Relationship Between Neural Networks", Pattern Recognition and
Intelligence, Int. J. Approximate Reasoning, 6, 85-107, 1992.
1
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
2.1
2.2
2.3
2.4
2.5
2.6
Neuronii biologici si modelele lor articiale
Modelarea retelelor neurale . . . . . . . . .
^Invatare si adaptare . . . . . . . . . . . . .
Reguli de ^nvatare . . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . .
Exercitii . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Clasicare . . . . . . . . . . . . . . . . . . . .
Functii discriminant . . . . . . . . . . . . . .
Clasicatori liniari . . . . . . . . . . . . . . .
Perceptronul discret ca dihotomizator liniar .
Perceptronul continuu ca dihotomizator liniar
Teorema de convergenta a perceptronului . . .
Retele monostrat de perceptroni . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . .
Exercitii . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Perceptroni monostrat
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4 Ret
ele neurale feedforward multistrat
4.1 Clasicarea pattern-urilor liniar
neseparabile . . . . . . . . . . . . . . . . .
4.2 Regula de ^nvatare delta . . . . . . . . . .
4.3 Regula delta generalizata . . . . . . . . . .
4.4 Algoritmul de instruire backpropagation .
4.5 Factori ai ^nvatarii . . . . . . . . . . . . .
4.6 Aproximatori universali . . . . . . . . . . .
4.7 Teorema lui Kolmogorov si retelele neurale
4.8 Aplicatii . . . . . . . . . . . . . . . . . . .
4.9 Exemple . . . . . . . . . . . . . . . . . . .
5
19
19
26
31
32
40
48
53
53
55
56
59
63
66
68
69
76
79
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
80
84
87
89
92
94
95
96
CUPRINS
6
4.10 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5 Ret
ele neurale feedback monostrat
5.1
5.2
5.3
5.4
5.5
Retele Hopeld cu timp discret . . .
Retele Hopeld cu timp continuu . .
Aplicatie: problema comis-voiajorului
Exemple . . . . . . . . . . . . . . . .
Exercitii . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Memorii asociative
6.1
6.2
6.3
6.4
6.5
6.6
Concepte de baza . . . . . . . . . . . . . .
Asociatori liniari . . . . . . . . . . . . . .
Memorii autoasociative recurente . . . . .
Analiza performantei . . . . . . . . . . . .
Memoria asociativa bidirectionala (MAB)
Exercitii . . . . . . . . . . . . . . . . . . .
7 Ret
ele neurale cu auto-organizare
7.1
7.2
7.3
7.4
Retelele Hamming si MAXNET . . .
Instruirea nesupervizata a clusterelor
Harti Kohonen . . . . . . . . . . . .
Exercitii . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
107
107
110
114
117
122
125
125
127
130
135
137
141
145
145
148
150
156
8 Ret
ele neurale RBF
159
9 Ret
ele neurale fuzzy
165
8.1 Functii radiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.2 O tehnica de grupare (clustering) . . . . . . . . . . . . . . . . . . 162
8.3 Discutie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.1 Logica fuzzy . . . . . . . . . . . . . . . . .
9.1.1 De ce logica fuzzy? . . . . . . . . .
9.1.2 Logica fuzzy si cea conventionala .
9.2 Retele neurale fuzzy . . . . . . . . . . . .
9.2.1 Neuroni fuzzy . . . . . . . . . . . .
9.2.2 Structura unei RNF . . . . . . . .
9.2.3 Algoritmul de instruire a unei RNF
9.2.4 Analiza RNF . . . . . . . . . . . .
9.2.5 Rezultatele simularii . . . . . . . .
9.2.6 Concluzii . . . . . . . . . . . . . .
10 Algoritmi genetici
10.1
10.2
10.3
10.4
Introducere . . . . . . .
Exemplu . . . . . . . . .
Fundamente matematice
Exercitii . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
165
165
167
169
169
171
172
173
174
175
177
177
178
180
183
CUPRINS
11 Puterea si complexitatea de calcul
11.1
11.2
11.3
11.4
Masina Turing . . . . . . . . . . . . .
Puterea de calcul a retelelor neurale .
Reprezentarea functiilor booleene . .
Complexitatea instruirii . . . . . . .
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12 Considerat
ii epistemologice
12.1 Scopul unei retele neurale . . . . . . . . . . . . . . . . .
12.2 Functiile neurale biologice sunt localizate sau distribuite?
12.3 Este neliniaritatea esentiala ^n
calculul neural? . . . . . . . . . . . . . . . . . . . . . . .
12.4 Deosebiri esentiale . . . . . . . . . . . . . . . . . . . . .
12.5 Cum pot programate calculatoarele
neurale . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.6 Poate creierul sa se autoperceapa? . . . . . . . . . . . . .
A Complemente matematice
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
A.9
Vectori si matrici . . . . . . . . . . . . .
Forme patratice . . . . . . . . . . . . . .
Elemente de geometrie analitica . . . . .
Operatia XOR . . . . . . . . . . . . . . .
Iacobianul si hessianul . . . . . . . . . .
Probleme de optimizare . . . . . . . . .
Metoda lui Euler (metoda tangentei) . .
Stabilitatea sistemelor dinamice neliniare
Variabile aleatoare . . . . . . . . . . . .
B Subiecte-tip pentru examen
C Link-uri
Bibliograe
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
185
185
187
188
190
193
. . . . . 193
. . . . . 194
. . . . . 194
. . . . . 195
. . . . . 196
. . . . . 196
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
199
199
200
201
202
202
205
206
208
209
211
215
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: neurocalcul, 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 efectueze 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 neuron, 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 caracteristicile 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. Neurobiologii 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 calculatoare aplica retelele neurale ^n procesarea semnalelor si construiesc pe baza
retelelor neurale circuite integrate inteligente. Psihologii cauta ^n retelele neurale 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.
Clasicatori 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
x1
1
1
x2
element
comparator
nod
sumator
+
1
11
Σ
clasa
sgn(.)
suma
ponderata
ponderi
x3
date de
intrare
Figura 1.1: Clasicator realizat cu o singura unitate.
P1
P3
(-1,0,1)
(0,-1,1)
x 1 +x 2 +x 3 =0
P7
P5
P0
P4
P2
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:
(
clasa 1
sgn(x1 x2 x3) = ;11 pentru
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).
1
f(Σ )
Σ
-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 canale 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 ierarhice 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 Vehicle In a Neural Network), raportat de Pomerleau (1989). Reteaua ALVINN
preia imagini ale drumului printr-o camera si printr-un laser care detecteaza profunzimea 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
30x32
(intrare)
profunzime
8x32
(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 traditionale de orientare prin vedere articiala.
Capacitatea sistemului ALVINN de a pastra directia drumului nu a fost implementata prin programare (algoritm), ci se bazeaza pe cunostintele asimilate
prin instruire. Dupa 1/2 ora de instruire, sistemul era capabil sa se orienteze singur 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 caracteristic, 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.
-1
+1
1
+
Σ1
unitatea 1
Σ2
unitatea 2
Σ3
unitatea 3
sgn(.)
sgn(.)
o1
o2
-1
-1
-1
+
sgn(.)
o3
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 distorsionate asimil^andu-le cu P6 (g. 1.6).
Acest concept de memorie poate extins cu usurinta la lumea reala a aplicatiilor.
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 modica.
Cazul Nr. unitatii Iesirea actuala
1
1
1
2
1
3
1
1
1
2
2
1
3
-1
1
-1
3
2
1
3
-1
1
1
4
2
-1
3
-1
sgn() Iesirea urmatoare
0
X
1
0
X
1
-2 -1
-1
2
1
1
2
1
-1
-2 -1
-1
2
1
1
0
X
1
0
X
-1
0
X
1
1
2
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 minimizare 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 pentru 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
P3
P1
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 perturba formarea gruparilor reale de date.
Detectarea gruparilor si trasaturilor prezinta importante proprietati de autoorganizare care sunt legate de inteligenta articiala si teoria informatiei. Retelele 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
analogica
x
iesire
digitala
retea de
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 tehnologic era imposibil de implementat.
Donald Hebb (1949) a propus un model de ^nvatare pentru a actualiza conexiunile 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 element 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 combiner), un dispozitiv bazat pe regula de ^nvatare Windrow-Ho (Bernard Windrow, Marcian Ho). Regula minimiza eroarea patratica ^nsumata pe parcursul
instruirii. Aplicatiile erau de recunoasterea formelor, control adaptiv si previziunea 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 cercetarile. 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 introdus 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 interesul 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 populiste. 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 clasice. 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 perceperea 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 neurale 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 lumina 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. Intrarea ^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
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
20
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
Receptori
feedback
intern
Efectori
Organe
senzoriale
Organe
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. Dendritele 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 neuron. Semnalele care ajung la o sinapsa plec^and de la dendritele neuronului respectiv 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. Membrana 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
sinapsa
dendrita altui
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 generarea 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 ponderile 1 acestor conexiuni. Neuronul genereaza un impuls atunci c^and
suma ponderilor impulsurilor receptate depa
se
ste 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 neurale nu sunt sincronizate ^n timp. O caracteristica importanta a neuronului biologic 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 staree de neexcitabilitate completa, acest interval numindu-se perioada refractara.
Putem diviza timpul ^n intervale consecutive, ecare de durata perioadei refractare. 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 depa
se
ste numarul sinapselor excitate
inhibitoare la momentul precedent cu cel put
in 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
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
22
si retransmise (feedback) neuronilor generatori.
Aceasta discutie este o simplicare foarte mare din punct de vedere neurobiologic. 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
w2
x1
x2
o
T
wn
xn
w =-1 sau +1
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
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.
ok+1
x1 -1
T=0
1
x2 -1
T=0
1
x3 -1
T=0
1
T=1
o
x1
1
x2
1
x3
1
NAND
Figura 2.4: Functiile NOR si NAND.
T=1 -1
NOR
T=0
o
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
intrare
excitatoare
T=1
ok+1 =x k
-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 sinaptice de intrare si cu o singura iesire. Intrarile si iesirile sunt unidirectionale.
Denim modelul unui neuron general ca in gura 2.6
sau
o = f (wtx)
n
X
o = f ( wixi)
i=1
unde w este vectorul de ponderi denit astfel:
w = "w1w2 : : : wn]t
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
24
x1
x2
w1
w2
conexiuni
sinaptice
f(wtx)
xn
o
nod(unitate)
de procesare
wn
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 . Uneori 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
(
>0
- bipolara binara: f (net) = sgn(net) = ;11 net
net < 0
Se observa ca pentru ! 1, functia bipolara continua devine bipolar binara.
Functiile unipolare sunt:
- unipolara continua: f (net) = 1+exp1; net
(
>0
- unipolara binara: f (net) = 10 net
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, functiile de activare pot denite si altfel.
2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE
f(net)
λ=5
1
-1
λ=0,5
λ=1
net
1
0
f(net)
λ=5
1
-1
25
λ=1
1
0
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.
x1
x2
w1
w2
+
xn
net
1
o(w,x)
-1
sumator
wn
net
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.
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
26
f(net)=
x1
x2
2
-1
−λ
1+e net
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:
neti =
n
X
j =1
wij xj
i = 1 2 : : : m:
Fie wi = "wi1wi2 : : : win]t , atunci:
neti = witx oi = f (witx)
i = 1 2 : : : m:
2.2. MODELAREA RETELELOR NEURALE
27
1
w11
x1
2
x2
o1
o2
wm1
...
...
w2n
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
6
W = 6664
iar
w11 w12 : : : w1n 3
w21 w22 : : : w2n 777
...
75
wm1 wm2 : : : wmn
2 f () 0 : : : 0 3
66 0 f () : : : 0 77
77 :
;"] = 66 ..
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. Transformarea 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)
Γ[Wx]
o(t)
Figura 2.11: Diagrama bloc a unei retele neurale feedforward.
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
28
Reteaua feedforward este caracterizata prin lipsa de feedback. O retea feedforward 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
x 1 (0)
x 2 (0)
x n(0)
w21
1
o1(t+ Δ )
2
o2(t+ Δ )
n
o n (t+ Δ )
w1n
o2(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
instantanee
Γ[Wo(t)]
o(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 functionarea retelei la momentele % 2% 3% : : :, sistemul este cu timp discret. Conventional, 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 folosesc 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.
Un atractor consta dintr-o singur
h a stare,itsau dintr-un numar limitat de stari. ^In
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.
+
+
v1
R
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
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
30
dv2 + v2 = v1 :
dt RC RC
De aici, obtinem:
(2.1)
%t v ; v
%v2 = C 1R 2
care reprezinta modicarea tensiunii v2 ^n intervalul %t.
tensiunea
tensiunea
v1
v1
v2
v2
t
0
t
0
t0
(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
Rij
net i
Ci
i
oi
Figura 2.16: Conexiune sinaptica.
oj
ARE SI ADAPTARE
2.3. ^INVAT
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 ):
=R C j
i
%t
ij i
De aici:
%t
netki +1 = 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 problema 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 feedback produsa de retea nu mai este necesara si vorbim de o ^nvatare de tip batch,
adica "la gramada".
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
32
retea
adaptiva
W
x
ρ[d,o]
o
generator
de distanta
semnal de
invatare
d
Figura 2.17: ^Invatare supervizata.
Ne referim ^n continuare la ^nvatarea incrementala, ^n care conceptul de feedback 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).
x
retea
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):
ARE
2.4. REGULI DE ^INVAT
33
x2
x2
x1
0
x1
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
xn
win
x
neuronul i
oi
Δwi
X
r
generator de
semnal de
învãtare
di
c
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 presupune 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
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
34
%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
+
win
xn
net i
Δwi
x
oi
comparator
-
X
d i -o i
+ +
di
c
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 supervizata a retelelor neurale. Ponderile sunt initializate cu orice valoare.
ARE
2.4. REGULI DE ^INVAT
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
wi2
...
x2
win
xn
f’(net i)
Δwi
x
oi
f(net i)
-
X
X
d i -o i
+
di
+
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
j
i
@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.
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
36
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.
ARE
2.4. REGULI DE ^INVAT
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
...
x1
wm1
...
w11
om
xj
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=1max
(wtx):
2:::p i
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.
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
38
Tabelul 2.1: Comparatie ^ntre calculul conventional si calculul neural din punct de vedere al
etapelor care trebuie parcurse.
Calcul
convent
ional
Rezolvarea unei probleme
Formularea
algoritmului
Calcul neural
Achizitionarea
cunostintelor
Calcul
Programare
Selectarea unei arhitecturi si denirea
multimii de exemple
reprezentative
Instruire
Sarcina
Memorarea datelor
Aritmetic,
precizie mare
ROM, RAM memorii binare
Precizie mica, aplicatii neliniare
Ponderi ale conexiunilor av^and ^n general 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 autoasocierii. ^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, ulterior, 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. Instruirea 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 caracteristici (trasaturi) comune ^ntr-o multime de pattern-uri. Nu exista categorii a priori de pattern-uri. Sistemul trebuie sa-si construiasca singur
categoriile. Instruirea este nesupervizata. Numarul clusterelor poate , sau
poate nu , cunoscut a priori.
Ponderile
init
iale
0
oricare
oricare
oricare
0
aleatoare
normalizate
Ajustarea %wij
coixj j = 1 2 : : : n
c"di ; sgn(witx)]xj j = 1 2 : : : n
c(di ; oi)f 0(neti )xj j = 1 2 : : : n
c(di ; witx)xj j = 1 2 : : : n
cdixj j = 1 2 : : : n
%wmj = (xj ; wmj ) j = 1 2 : : : n
Hebb
perceptron
delta
Windrow-Ho
corelatie
c^astigatorul
ia tot
nesuperv.
superv.
superv.
superv.
superv.
nesuperv.
Tipul
^nva
tarii
oricare
binar
continuu
oricare
oricare
continuu
Caracteristicile
neuronilor
Tabelul 2.2: Principalele reguli de instruire. Constantele c si sunt pozitive.
Regula de
^nva
tare
neuron
neuron
neuron
neuron
neuron
strat de
neuroni
Neuron sau
strat
ARE
2.4. REGULI DE ^INVAT
39
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
40
2.5 Exemple
1. Exemplu de retea feedforward pe doua straturi cu
functie de activare bipolara
neuronul 1
+
comparator 1
+
comparator 2
+
comparator 3
+
comparator 4
o1
o2
+
o3
comparator 5
o5
o4
-1
iesire
strat 1
intrare
strat 1
intrare
strat 2
iesire
strat 2
Figura 2.24: Retea feedforward pe doua straturi.
Pentru stratul 1:
o = ; "Wx]
h
o = ; o1 o2 o3 o4
h
i
x = x1 x2 ;1 t
it
2 1
6
W1 = 664 ;10
0 13
0 ;2 777
1 05
0 ;1 ;3
Pentru stratul 2:
h
o = "o5 ]
x = o1 o2 o3 o4 ;1
it
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
3
portiunea pt. care
o1 ,o2,o3,o4 sunt +1
2
1
x1
0
1
3
2
Figura 2.25: Reprezentare ^n spatiul bidimensional.
Sa presupunem acum ca avem aceeasi arhitectura, dar ca neuronii au caracteristici sigmoidale. Obtinem:
2
66
66
6
o = 666
66
64
2
1+e(1;x1 )
2
1+e(x1 ;2)
2
1+e(;x2 )
2
1+e(x2 ;3)
;1 3
77
; 1 777
77
; 1 7777
5
;1
o5 = 1 + e(35;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 dintro stare in alta se face de-a lungul unei muchii a hipercubului, deci doua stari
succesive difera doar printr-o componenta. Avem:
1 1 ;1 3
0 1 ;1 777
1 0 ;1 5
;1 ;1 ;1 0
2 0
6
W = 664 11
h
it
Presupun^and x0 = 1 1 1 ;1 , obtinem
h
i
h
o1 = sgn(3) sgn(3) sgn(3) sgn(;3) t = 1 1 1 ;1
it
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
42
Δ
ponderea=+1
ponderea=-1
Δ
x01
+
comparator
1
x02
+
comparator
2
x03
+
comparator
3
x04
+
comparator
4
o1k+1
ok+1
2
ok+1
3
o4k+1
Δ
Δ
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
h
it
h
i
x0 = 1 1 ;1 ;1
x0 = 1 ;1 1 ;1
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 curentul absorbit de neuroni.
2.5. EXEMPLE
43
net 1
R
C1
R21
R12
o2
2
net 2
R
o1
1
C2
Figura 2.27: Retea electrica a doi neuroni.
Obtinem:
8 C dnet = o ;net ; net
>
< 1 dt
R
R
:
>
: C2 dnet = o ;net ; net
2
1
1
1
12
Discretizam:
dt
2
1
R21
2
R
2
8 k+1 k t k
netk
>
< net1 = net1 + R C (o2 ; netk1 ) ; RC %t
:
>
netk
: netk2+1 t
k
k
k
= net2 + R C (o1 ; net2 ) ; RC %t
1
12
1
21
2
1
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:
si ponderile initiale:
2x
66 x12
x = 64 x3
x4
h
3
77
75
i
w1 = 1 ;1 0 0 5 t :
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
44
o2
1
x
o1
1
-1
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 intrare:
2 1 3
2 1 3
2 0 3
6
7
6
7
6
7
x1 = 664 1; 25 775 x2 = 664 ;;02 5 775 x3 = 664 ;11 775 :
0
;1 5
1 5
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
7
h
i6
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
Pasul 2. Se aplica x2.
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 :
0 5
0
0 5
2 1 3
7
h
i6
net2 = w2tx2 = 2 ;3 1 5 0 5 664 ;;02 5 775 = ;0 25
;1 5
2 1 3
6
7
w3 = w2 + sgn(net2 )x2 = w2 ; x2 = 664 ;32 55 775 :
Pasul 3. Se aplica x3.
2
net3 = w3tx3 = ;3
2 1 3
6
7
w4 = w3 + sgn(net3 )x2 = w3 ; x3 = 664 ;43 55 775 :
0 5
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 ;12357
75
0 5
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 7 77
75 :
f (net3 ) = ;0 932 w3 = 664 ;2344
;0 783
Se observa ca pentru functia de activare continua se obtin ^n general rezultate ^n
aceeasi directie, valorile ind ^nsa mai diferentiate.
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
46
5. Exemplu de ^nvatare prin regula perceptronului
Consideram urmatorii vectori de intrare:
2 1 3
2 0 3
2
6 7
6
7
6
x1 = 664 ;02 775 x2 = 664 ;10 55 775 x3 = 664
;1
;1
;1 3
1
0 5
;1
77
75
2 1 3
7
6
w1 = 664 ;01 775
0 5
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 0 8 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 :
0 5
;1
0 7
Pasul 2. Se aplica x2.
2 0 8 3
7
h
i6
net2 = w2t x2 = 0 1 5 ;0 5 ;1 664 ;00 6 775 = ;1 6:
0 7
Deoarece ;1 = sgn(;1 6), nu se aplica nici o corectie.
Pasul 3. Se aplica x3.
2 0 8 3
7
h
i6
net3 = w3t x3 = ;1 1 0 5 ;1 664 ;00 6 775 = ;2 1:
0 7
Deoarece 1 6= sgn(;2 1), se aplica o corectie:
2 0 6 3
7
6
w4 = w3 + 0 1(1 + 1)3 = 664 ;00 14 775 :
0 5
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
1
;1 7
6
7
6
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 vectorii 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 perceptronul 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 01 5 775 w1 = 664 ;01 775
;1
;1
;1
0 5
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
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
48
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 ;00948 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 implementeaza 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:
(
0 :
f (net) = 01 net
net > 0
2.6. EXERCITII
x1
49
1
1/2
f(net)
1
1
1
-1
x2
+
3/2
1
+
+
-1
f(net)
f(net)
o
1/2
-1
1
x1
-1
-1
x2
1/2
1
1
+
f(net)
-1
2
+
f(net)
o
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 pentru 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
(
0
f (net) = 10 net
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 proiectata 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
0
342
x1 = 0 5 x2 = ;0 174 x3 = ;0 94 :
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 segmentul 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:
" #
" #
" #
" #
" #
1
0
2
1
1
x1 = ;2 x2 = 1 x3 = 3 x4 = ;1 w = ;11
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
50
-1
0,5
1
+
f(net)
o0
-1
-2
1,5
1
+
o1
f(net)
-1
1
-4
-4
3,5
+
o2
f(net)
-1
1
-8
-8
7,5
+
-8
o3
f(net)
x
Figura 2.31: Convertor A/D.
-1
1
o1
2
-1
x1
x2
f(net)
-1/2
1/2
f(net)
3/4
o2
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
1 0
2 3
1
2 3 0
2
0
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 raspunsurile corecte. Listati valorile netk obtinute.
2.6. EXERCITII
51
-0,966
x1
o1
f(net)
-0,259
0,906
x2
0,423
o2
f(net)
Figura 2.33: Retea neurala care implementeaza un clasicator.
x1
1
f(net)
-1
-1
f(net)
-1
-1
x2
1
o1
f(net)
1
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
Se va folosi f 0(net) = 21 (1 ; o2 ).
Repetati secventa de instruire (x1 d1), (x2 d2) si studiati comportarea.
1
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:
CAPITOLUL 2. CONCEPTE FUNDAMENTALE
52
-
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 deciziilor ^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
x1
x2
traductor
date extragerea trasaturi clasificator
trasaturilor
...
clasificator
clasa
clasa
i 0 (x)=1 sau 2 sau ... sau R
xn
pattern-ul x
Figura 3.1: Sistem de clasicare.
Trasaturile sunt date comprimate obtinute prin reducerea dimensionalitatii.
53
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
54
.......
1 2 3 4 5 6 7 8 9 10
x i=0
1112 .......
xi =1
de unde putem2extrage
vectorul:
3
x
66 x12 77
x = 664 .. 775
.
xn
f(t)
f(tn)
f(t1)
f(t2)
t
t1
t2
tn
de unde putem2 extrage3 vectorul:
f (t )
66 f (t12 ) 77
x = 664 .. 775
.
f (tn)
Figura 3.2: Exemple de codicare.
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
H1
(-10,10)
H3
(20,10)
(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)
...
1 Selector
2
de
maxim
R
clasa i0
...
2
x
pattern
gR(x)
R
Figura 3.4: Clasicator.
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
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
56
unde g(x) = g1(x) ; g2(x).
Functia
8
>
g(x) < 0
< ;1
i0 = sgn"g(x)] = > nedenit g(x) = 0
: +1
g(x) > 0
implementeaza un dihotomizator (g. 3.5). Problema gasirii functiilor discriminant este esentiala. Ele pot liniare sau neliniare.
pattern
x
discriminator
g(x)
comparator
g(x)
discriminant
clasa i0
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 clusterelor 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 + 12 kx2 k2 ; kx1k2 :
^In general, ecuatia lui g(x) este de forma:
w1x1 + w2x2 + : : : + wnxn + wn+1 = 0
sau: wtx + wn+1 = 0
sau:
"
w
wn+1
#t " #
x = 0
1
3.3. CLASIFICATORI LINIARI
57
x2
g(x)>0
x1-x2
1_
clasa 1
P1
x1
|
1
g(x
x1
P2
x2
)=0
-1
|
3
2
izie
dec
la
erp
hip
e
nd
clasa 2
Figura 3.6: Separarea a doua clase printr-un hiperplan de decizie.
2
66
unde: w = 66
4
w1
w2
...
wn
3
77
77
5
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 patternuri 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:
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
58
Functia discriminant are forma
gi(x) = witx + win+1 i = 1 2 : : : R
unde: wi = xi win+1 = ; 1 xtixi i = 1 2 : : : R:
2
Clasicatorii care folosesc criteriul distantei minime pot considerati clasicatori liniari si ei se numesc uneori masini liniare. Un clasicator liniar arata ca
^n gura 3.7.
w 11
w12
...
1
w1,n+1
+
g 1(x)
1
w1
selector
de maxim
...
x
pattern
i0
raspuns
w R1
...
w
+
g R(x)
R
1 R,n+1
wR
ponderi
discriminanti
Figura 3.7: Clasicator liniar.
Sa observam ca suprafata de decizie Sij dintre regiunile contigue (alaturate,
vecine) Hi si Hj este un hiperplan:
gi(x) ; gj (x) = 0
Daca denim:
obtinem:
sau: witx + win+1 ; wjt x ; wjn+1 = 0:
" #
y = x1
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
|
1
0
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 instruirea unui dihotomizator liniar
Am vazut ^n sectiunea precedenta cum se pot determina coecientii discriminantilor 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
yn=xn
yn+1=1
comparator
w2
...
y2=x2
wn
+
g(y)
i0 =1 sau -1
o=i0
wn+1
d-o
-
+
+
d
Figura 3.9: Masina liniara.
Fie R = 2, deci analizam cazul unui dihotomizator (foloseste doua clase).
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
60
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.
w2
pattern-ul 2
(clasa 2)
y1
5
pattern-ul 4
(clasa 1)
pattern-ul 3
(clasa 2)
w
w ty1 >0
pattern-ul 1
(clasa 1)
y4
w1
4
y5
1
y2
pattern-ul 5
(clasa 2)
y3
3
2
Figura 3.10: Reprezentarea unor suprafete de decizie ^n spatiul ponderilor.
Sa presupunem acum ca ponderile initiale sunt w1. Discutam despre patternul 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
(clasa 1)
y1
w1
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, indiferent 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 arbitrar 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
continuare,
w = wk = wk +1 = : : : :
Se poate demonstra urmatoarea teorema:
0
0
0
62
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
w2
w1
w ty1 >0
w ty1 =0
w ty1 <0
(clasa 2)
y1
w1
Figura 3.12: Ajustarea ponderilor pentru un pattern din clasa 2.
Teorema de convergent
a a perceptronului. Un clasicator pen-
tru doua clase liniar separabile de pattern-uri este ^ntotdeauna instruibil ^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 patternuri 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 permite calcularea gradientului erorii.
...
y1 =x1
o
yn =xn
yn+1 =1
E
generator
de eroare
d
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 ponderilor. Ambele reguli implica adunarea sau scaderea unei
fractiuni din y. Diferenta
2
k
esent
iala este prezenta factorului moderator 1 ; o . Acest factor este 0 < 1 ;
2
k
o < 1. Atunci c^and raspunsurile sunt eronate, avem urmatoarea proprietate:
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 discret 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
dei n elemente, i = 1 2 : : : P . Se deneste vectorul y1 =
h
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 dihotomizator bazat pe perceptron, ^n care yn+1 = ;1 (g. 3.14).
w1
...
y1 =x1
yn =xn
yn+1 =1
f(net)
wn
wn+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.
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
66
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 pattern-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 perceptronului 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 componente 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 clasica 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 utilizarea unei retele monostrat de perceptroni
Fie R > 2 clase doua c^ate doua liniar separabile. Exista deci R functii discriminant 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 : : : wqn+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
...
...
x
-1
w11
w12
w1,n+1
w21
w22
w2,n+1
comparator
1
+
comparator
2
+
comparator
R
o1
o2
...
+
...
wR1
wR2
wR,n+1
oR
Figura 3.16: Clasicator 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 clasicator liniar
Avem urmatoarele pattern-uri (3.18):
" #
" #
" #
10
2
x1 = 2 x2 = ;5 x3 = ;55
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
70
...
o1
...
x
-1
w11
w12
w1,n+1
...
wR1
wR2
wR,n+1
oR
Figura 3.17: Retea de perceptroni de tip continuu.
cu n = 2 si R = 3.
Folosim formula
wi = xi
win+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 + wii+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 + win+1 ; wjt x ; wjn+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 clasicator 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
;
0
5
3
y1 = 1 y2 = 1 y3 = 1 y4 = ;12 :
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
#
;
1
5
2
1
w = w + y1 = 2 75 :
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
72
x1
x2
1
x1
x2
1
x1
x2
1
10
2
g1(x)
+
1
-52
2
-5
+
-14,5
g2(x)
i 0 =1 sau 2 sau 3
selector
2 de maxim
-5
5
+
g3(x)
3
-25
Figura 3.19: Clasicatorul 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 clasicator instruibil.
Pasul 2. Aplicam y2
o2 = sgn
h
;1 5 2 75
i " ;0 5 #!
1
=1
d2 ; o2 = ;2
"
#
;
1
3
2
w = w + y2 = 1 75 :
Pasul 3. Aplicam y3
o3 = ;1
d3 ; o3 = 2
"
#
2
4
3
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:
h
w10 = w9 = w8 = w7
i
w11 = 3 0 75 care sunt ponderile nale:
Exemplu de instruire a unui dihotomizator liniar cu ajutorul 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:
2
2
1
E1 (w) = 2 1 ; 1 + e;(w +w ) ; 1 :
Consideram = 1 si obtinem:
2
E1 (w) =
:
w
"1 + e +w ]2
La urmatorii pasi obtinem:
2
E2(w) =
"1 + e05w ;w ]2
2
E3 (w) =
"1 + e3w +w ]2
2
E4(w) =
:
"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.
1
1
2
2
1
1
2
2
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
74
Exemplu de instruire a unui clasicator reprezentat ca retea 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 instruire) reteaua de perceptroni corespunzatoare acestui clasicator (g. 3.21).
10
2
x1
x2
-5
2
5
50
-1
-5
12,5
23
+
comparator
1
o1
+
comparator
2
o2
comparator
R
oR
+
Figura 3.21: Retea de perceptroni.
Ar trebui sa avem w13 = 52, w23 = 14 5 si w33 = 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
6
7
6
7
6
1
1
1
w1 = 4 ;2 5 w2 = 4 ;1 5 w3 = 4 3 75 :
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
Pasul 2. (y2)
;1
0
2 3
6 2 7
sgn 1 ;2 0 4 ;5 5 = 1 2 ;1 3
2
sgn 0 ;1 2 64 ;5 57 = 1
2 ;1 3
2
sgn ;9 1 0 64 ;5 75 = ;1 ;1
2 3 2 3 2 3
1
2
;1 7
6
7
6
7
6
3
w1 = 4 2 5 ; 4 ;5 5 = 4 3 5 w23 = w22 w33 = w32:
;1
0
Pasul 3. (y3)
1
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
5
2
7
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 (^in g 3.22, sunt zonele umbrite). De exemt
plu, pentru Q avem o = 1 1 ;1 : Pe de alta parte, pattern-uri ca acest Q
nu au fost utilizate la instruire.
CAPITOLUL 3. PERCEPTRONI MONOSTRAT
76
x2
5x1 +3x2 -5=0
-9x 1+x 2=0
P3 (-5,5)
o=[+1 -1 -1]
o=[-1 -1 +1]
t
t
P 1 (10,2)
x1
-x 2 -2=0
Q
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
cu ajutorul
it
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
0 2 0 1 1 3
0 2 0 7 0 8 :
clasa 2, x: 0 0 2 0 3
^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 ajutorul 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
i
h
i
h
i
w14 = 1 3 ;1 t w24 = 5 ;1 ;2 t w34 = 1 ;1 2 t :
Gasiti pattern-urile x1 , x2 si x3.
4. (C) Implementati algoritmul de instruire a unui clasicator liniar reprezentat
ca retea de perceptroni discreti folosind c = 1 si urmatoarele pattern-uri de
instruire:
h
it
i0 = 1 pentru x: h 1 0 0 i t
i0 = 2 pentru x: h 1 0 1 i t
i0 = 3 pentru x: h 1 1 0 i t
i0 = 4 pentru x: 0 0 0 h
it
1 1 0
h
it
1 1 1
h
it
0 1 1
h
it
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 distorsionate?
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 completare la capitolul 3, se pot rezolva astfel multe alte aplicatii: aproximarea
functiilor, recunoasterea caracterelor scrise, recunoasterea vorbirii, sisteme expert, 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 trebuie 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
clasa 1
clasa 2
3
D
C
E
A
1
B
2
Figura 4.1: Doua multimi de pattern-uri care trebuie clasicate ^n doua categorii.
Fiecare dintre cele sapte compartimente (inclusiv A,...,E) sunt aplicate ^ntrunul 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:
(
o1 + o2 + o3) > 0 : clasa 1
o4 = sgn(
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
66
y = 66
4
y1
y2
...
yJ
3
2o
77
66 o12
77 o = 66 ..
5
4 .
oK
3
2 w w ::: w 3
1J
77
66 w1121 : :12:
77
77 W = 66 ..
77
5
4 .
5
wK 1 : : :
wKJ
ARE DELTA
4.2. REGULA DE ^INVAT
81
o3
(-1,-1, 1)
+
comparator
1
o1
+
comparator
2
o2
+
comparator
3
o3
x
1
A
(-1, 0, 1)
C
(-1, 1, 1)
(1,-1, 1)
B
o4
comparator
4
+
(1, 1, 1)
(-1, 1, 0)
(1,-1, 0)
0
transformare
pattern-imagine
imagine
liniar separabila
-1
D
(-1,-1,-1)
o2
(-1, 1,-1)
(1,-1,-1)
(1, 1,-1) E
o1
(b)
(a)
Figura 4.2: (a) Clasicator monostrat (b) Reprezentarea pattern-urilor din gura 4.1 ^n spatiul
imagine o.
1
w11
y1
...
...
wK1
wkj
yj
ok
...
...
yJ
o1
wk1
K
wKJ
oK
Figura 4.3: Retea monostrat de perceptorni de tip continuu.
Prin denitie,
2 f () 0 : : : 0 3
66 0 f () : : : 0 77
77 :
;"] = 66
...
4
5
0 0 : : : f ()
3
d1 7
... 7 :
5
dK
este raspunsul dorit. Generalizam expresia erorii:
K 2
X
1
Ep = 2
dpk ; opk = 12 kdp ; opk2
k=1
2
d = 664
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
o
p1
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
@E %wkj = ; @w
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 Calculam:
Dar
si
Obtinem:
pentru k = 1 2 : : : K j = 1 2 : : : J:
@E @ok
ok = ; @o
k @netk
@ok
f 0k (netk ) = @net
k
@E = ;(d ; o ):
k
k
@ok
ok = (dk ; ok )f 0k (netk )
pentru k = 1 2 : : : K:
ARE DELTA
4.2. REGULA DE ^INVAT
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
;net
;net
f 0(net) = (1 +e e;net)2 = 1 + 1e;net 1 +1 +e e;net; 1 = o(1 ; o):
^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 vector 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 multistrat. 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
@E j = 1 2 : : : J
yj = ; @net
j
si atunci
@E @yj
yj = ; @y
@net
j
j
4.3. REGULA DELTA GENERALIZATA
z1
y1
v 11
w11
v 11
1
wk1
...
o1
yj
v ji
wkj
...
zi
85
...
ok
w K1
yJ-1
K
v J-1,I
zI = -1
...
zI-1
oK
w KJ
v JI
yJ = -1
Figura 4.4: Retea neurala feedforward cu un strat ascuns.
unde
Dar
K
!
@E = @ 1 X
2
@yj @yj 2 k=1 fdk ; f "netk (y)]g :
@yj
f 0i(netj ) = @net
j
K
@ (f "net (y)])
@E = ; X
(
d
k ; ok ) k
@yj
@yj
k=1
K
X
k
= ; (dk ; ok )f 0(netk ) @net
@y
= ;
deoarece
Atunci:
k=1
K
X
k=1
j
ok wkj
ok = (dk ; ok )f 0(netk )
J
X
netk = wkj yj :
j =1
yj = f 0j (netj )
K
X
k=1
ok wkj j = 1 2 : : : J
X
%vji = f 0j (netj )zi ok wkj K
k=1
j = 1 2 : : : J i = 1 2 : : : I:
86 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
Ultima relatie este regula delta generalizata. Aceasta regula se poate rescrie ^n
felul urmator:
v0ji = vji + f 0j (netj )zi
sau, matriceal:
unde
K
X
k=1
ok wkj j = 1 2 : : : J i = 1 2 : : : I
V0 = V + y zt 2
66 z..1
z=4 .
zI
3
2
77
6
5 V = 64
v11
...
vJ 1
^In aceasta relatie,
yj = f 0j (netj )
sau
3
2
v1I 7
y
... 7 y = 66 ...
5
4
vJI
yJ
:::
...
:::
1
K
X
k=1
3
77
5:
ok wkj
y = wjt of 0 y unde wj este coloana j din W, iar
2 0 3
66 f ..y 77
0
f y = 4 . 5:
f 0yJ
1
Pentru cazul unipolar, folosim f 0yj = yj (1 ; yj ), iar pentru cazul bipolar avem
f 0yj = 12 (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 )
t
y = y : : : yJ yj = wjt o f 0yj (netj ):
1
1
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 multistrat.
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 propagarea ^n urma a erorii (error backpropagation) este:
Se dau perechile (z1 d1 ), (z2 d2 ),...,(zP dP ), unde zi este un vector 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
K
X
1
2
yj = 2 (1 ; yj ) ok wkj j = 1 2 : : : J
k=1
88 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
respectiv, pentru cazul unipolar:
ok = (dk ; ok )(1 ; ok )ok k = 1 2 : : : K
yj = yj (1 ; yj )
K
X
k=1
ok wkj j = 1 2 : : : J:
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.
8.
p < P then p p + 1, q q + 1, go to 2.
if E Emax then E 0, p 1, go to 2.
if
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
putem lua
%vjin+1 = yj zi
%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 deplasari ^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, permit^and crearea de hiperplane de separatie care nu trec prin origine. La regula delta
ARII
4.5. FACTORI AI ^INVAT
89
generalizata, intrarea xa este recomandata nu de o teorema, ci de ideea obtinerii
unei aproximari mai &exibile.
Eroarea cumulata este:
P X
K
X
1
(dpk ; opk )2 :
E=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
P X
K
uX
1
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:
Ner Ed = PK
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 patternul 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 algoritm. 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, λ )
λ=1
λ=2
λ=0,5
net
Figura 4.5: Efectul lui asupra lui f (net).
0
Deoarece ponderile sunt ajustate proportional cu f 0(net), ^nseamna ca ponderile corespunzatoare neuronilor pentru care net = 0 se modica cel mai mult.
Ponderile neuronilor cu raspunsuri incerte sunt cele mai afectate. Deoarece semnalele 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 rezolvat. 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 problema. 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
ARII
4.5. FACTORI AI ^INVAT
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:
n J !
X
k unde
J
k
!
k=0
= 0 pentru k > J .
1
2
2-clasa 1
1,3,5,7-clasa 2
4,6-clasa 3
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 .
Mirchandini, G., W. Cao "On Hidden Nodes in Neural Nets". IEEE Trans. Circuits and
Systems, 36, 1989, 661-664.
1
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
a x1
x2
xp b
{
0
Δ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
a i = 1 2 : : : P:
xi+1 ; xi = %x = b ;
P
Denim functia
8
>0
pentru x < 0
<
(x) = 12 sgn(x) + 12 = > nedenit pentru x = 0 :
:1
pentru x > 0
Scriem atunci:
%
x
%
x
H (w x) = hi" x ; xi + 2 ; x ; xi ; 2 ]
i=1
unde hi = h(xi ).
P
X
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
x −Δ x
2
0
___________
i
x i ___________
x i +Δ x
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
____
2
xi
+
1
-1
-1
+Δ x
____
2
+
comparator
2
o
-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
+
1
xi -
-1
Δx
xi + _______
2
Δx
_______
x
comparator
1
+
1/2
+
2
+
+
-1/2
comparator
2
1
o
+
-1
o
2
(b)
(a)
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:
f (x1 : : : xn) =
X
2n+1
q=1
0n
1
X
'q @ pq (xp)A p=1
unde 'q , q = 1 : : : 2n + 1 si pq , p = 1 : : : n sunt functii continue de o singura
variabila.
1
x1
x2
2
y1
2
y2
...
...
...
xn
1
m
ym
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:
zk =
n
X
j =1
k (xj + k") + k
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:
yi =
X
2n+1
k=1
gi(zk )
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 patternuri 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
ascunsi
boli
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 utilizatorului 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 introducerea 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 esantionarea unor semnale de tip continuu (g. 4.13).
4.9 Exemple
Exemplu de construire a unui clasicator multistrat pentru
pattern-uri liniar neseparabile
Fie functia de decizie XOR:
4.9. EXEMPLE
97
Δ
x(t- Δ)
x(t- n Δ )
Δ
x2
x1
x0
x(t- 2Δ)
Δ
...
x(t)
xn
strat ascuns
...
strat de iesire
...
Figura 4.13: Retea neurala cu ^nt^arziere cu un singur canal de achizitie.
x1
0
0
1
1
x2 iesirea
0
1
1
-1
0
-1
1
1
Punctele av^and coordonatele x1 si x2 de mai sus sunt notate cu A, B, C, D.
x2
clasa 1
clasa 2
o=[-1 -1]
o=[1 -1]
r1
o2
1
t
B
1
t
D
2
C
x1
C
r3
1/2
A
o1
1
o=[-1 1]
t
r2
- -1
A,D
(a)
B
o3 = 0
(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
+
1
x2
o1
1
1
-1
+
1
+
1/2
-1
comparator
1
comparator
2
o2
comparator
3
o3
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 )
5
X
0
3 = f (net3 ) k wk3 = o3(1 ; o3)5 w53
k=5
4.9. EXEMPLE
99
o0 = -1
0
3
o1
5
1
o5
4
2
o2
Figura 4.16: Retea neurala multistrat. Functiile de activare sunt unipolare.
4
%w50
%w53
%w54
=
=
=
=
o4 (1 ; o4 )5w54
;5
5 o3
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 patternurile liniar neseparabile din exemplul precedent (problema XOR cu doua variabile). Denim matricile:
h
W = w50 w53 w54
i
"
#
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
3 854 4 281
V = ;61 169
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. Presupun^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
o
1
x1
3
-1
1
2
1
1
x2
x1
0
Figura 4.17: Problema XOR pentru n = 2.
x3
1/2
-1
3/2
1
x1
1
-2
1
o
2
1
1
x1
-x 2
0
1
x2
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
"
x6 = 22 5
#
" #
x2 = 33
"
x7 = ;02
#
" #
" #
" #
x3 = 12
x4 = 22
x5 = 32
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
6
7
6
7
6
7
6
x1 = 4 1 5 x2 = 4 0 5 x3 = 4 ;1 5 x4 = 4 2 75
1
1
1
1
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 :
O masina multistrat cu doi perceptroni discreti bipolari ^n stratul ascuns
si un singur perceptron discret bipolar de iesire trebuie sa clasice prototipurile 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 = 12 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
z1
o1
1
1
-2
0
3
z2
-2
2
1
0
-1
1
-1
o2
3
-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)
(b)
(c)
(d)
(e)
(f)
Gasiti matricile ponderilor, V, W.
Calculati netj , y, netk , o.
Calculati f 0(netj ) si f 0(netk ).
Calculati o si y .
Calculati %V si %W.
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:
clasa A, I, O:
clasa A, O:
clasa A, O:
clasa A, O:
clasa I:
clasa A, O:
clasa A, O:
clasa A, I:
clasa A:
clasa A, O:
clasa A, O:
clasa I, O:
clasa O:
clasa A, O:
x1 = " 1
x1 = " 1
x1 = " 1
x1 = " 1
x1 = " 2
x1 = " 2
x1 = " 2
x1 = " 3
x1 = " 3
x1 = " 3
x1 = " 3
x1 = " 4
x1 = " 4
x1 = " 4
x1 = " 4
1 ]t
2 ]t
3 ]t
4 ]t
1 ]t
2 ]t
4 ]t
1 ]t
2 ]t
3 ]t
4 ]t
1 ]t
2 ]t
3 ]t
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
clasa 3
3/4 -
1/2 -
1/4 -
0
|
1/4
|
1/2
|
3/4
|
1
x2
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 bazinul 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 microelectronice 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 neuron se calculeaza:
neti =
n
X
j =1
j 6=i
wij vj + ii ; Ti pentru i = 1 2 : : : n
107
108
CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
v1
w21
-1 T1
i1
1
w12
-1
i2
v2
T2
v2
...
...
wn1
2
v1
wn2
w2n
vn
in
-1
n
Tn
vn
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
i
1
1
66 .. 77
66 .. 77
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 completeaza v1 . Apoi se calculeaza v2 etc. Acest algoritm particular de actualizare a
ponderilor este cunoscut ca o recursivitate stohastica asincrona a retelelor Hopeld. 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 algoritmul 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 actualizari 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 sistemul se stabilizeaza.
Pentru a evalua proprietatea de stabilitate, vom deni functia energiei computationale:
E = ; 12 vt Wv ; itv + Ttv
care este o forma patratica. Adica:
n X
n
n
n
X
X
X
wij vivj ; ii vi + Tivi:
E = ; 21
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
n
X
%E = ; @ wij vj + ii ; TiA %vi pentru i 6= j
j =1
;neti %vi
%E =
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
sgn(Wvk + i ; T):
!1
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
;
1
;
1
sgn(1)
1
v = ; ;1 0 ;1 = sgn(1) = 11
" #
2
v = ;;11 etc.
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
w 2n
w 1n
in
...
wn2
w n1
g1
g2
u1
u2
_
v1
un
Cn
_
v2
v1
...
C2
C1
_
gn
vn
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:
1
0
n
n
X
C
BX
dui
ii + wij vj ; ui B
@ wij + giCA = Ci dt :
j =1
j 6=i
j =1
j 6=i
(5.2)
Partea st^anga a acestei ecuatii reprezinta curentul total care intra ^n condensatorul de capacitate Ci. Notam conductanta totala care este conectata la in-
112
CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
ii
wi1
v1
ui
...
(v1 -u i)w i1
win
-g iu
vn
g i Ci
f(u i )
vi
_
du
Ci i
dt
i
(vn -u i )w in
Figura 5.3: Modelul unui neuron.
trarea neuronului i cu
Gi =
Atunci, ecuatia 5.2 se poate scrie:
ii +
Fie matricile:
h
n
X
j =1
n
X
j =1
wij + gi:
i
wij vj ; uiGi = Ci du
dt :
i
h
i
C = diag C1 C2 : : : Cn G = diag G1 G2 : : : Gn 2
u(t) = 664
3
2
3
2 3
u1(t) 7
v
i1
1 (t)
... 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:
Z vi
n
X
E (v) = ; 12 vt Wv ; itv + Gi fi;1(z)dz
0
i=1
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
i i
dvi i 0 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
!
2
X ;1
i
= ; Ci dfidv(vi) dv
dt
i
i
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, converge 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. 1
Poz. 3
D
E
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
B
orasul C
D
E
0
0
0
0
1
1
1 0
0 0
0 0
0 1
0 0
2 3
pozitia
0
1
0
0
0
4
0
0
1
0
0
5
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:
n X
n
n
X
X
E = ; 12
wxiyj vxivyj ;
ixivxi
xi=1 yj =1
xi=1
unde wxiyj 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
hipercubului n2 -dimensional "0 1].
Scopul optimizarii este selectarea circuitelor minime. Trebuie sa avem obligatoriu 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.
n X
n X
X
E1 = A
vxivxj :
2
x=1 i=1 j =1
j 6=i
Produsul vxi vxj se refera la acelasi oras, x. Relatia
n X
n
X
i=1 j =1
j 6=i
vxivxj = 0
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.
n X
n X
n
X
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:
X
!2
n X
n
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:
n X
n X
n
1X
2 x=1 y=1 i=1 dxy vxi(vyi+1 + vyi;1 )
116
CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
dar vom folosi urmatoarea functie de energie:
E4 = D
n X
n X
n
X
x=1 y=1 i=1
y6=x
dxy vxi(vyi+1 + vyi;1 )
unde vxn+1 = vx1 si vx0 = vxn.
Dorim sa minimizam E1 + E2 + E3 + E4 . Prin identicarea termenilor acestei
sume cu cei din E , obtinem:
wxiyj = ;2Axy (1 ; ij ) ; 2Bij (1 ; xy ) ; 2C ; 2Ddxy (ji+1 + ji;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 functionarii ei.
Din formula generala a ecuatiei starilor:
!
n
X
i
Ci du
=
i
wij vj ; uiGi
i+
dt
j =1
obtinem:
n
n
X
duxi = ; uxi ; 2A X
vxj ; 2B vyi
dt
y=1
j =1
0 n nj6=i
1 y6=x n
XX
X
;2C @
vxj ; nA ; 2D dxy (vyi+1 + vyi;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 adecvate dec^at calculatoarele clasice pentru rezolvarea problemelor nedeterminist polinomiale.
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, planicarea 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.
problema de optimizare
functia energiei generale
E (v)
E (W,i,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 monostrat.
5.4 Exemple
Retea Hopeld cu timp discret
Fie:
2 0
6
W = 664 11
1
0
1
;1 ;1
1
1
0
;1
;1 3
;1 777 :
;1 5
0
118
CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
Presupunem pragurile si intrarile externe zero. Calculam:
2v 3
h
i 66 v12 77
1
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
a energiai si nu tind
h
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
76 7
h i 6
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 :
!
2
1
1
X
X
1
1
i
E = 2 x ; vi 2 ; 2 22i vi(vi ; 1):
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
A/D, unde v0 + 2v1 este valoarea zecimala a vech de conversie
it
torului binar v1 v0 si corespunde valorii analogice x. Calcul^and, ajungem
la:
1 X
1
1 X
X
E = 21 x2 + 12
2i+j vivj +
22i;1 ; 2ix vi:
i=0 j =0
j 6=i
i=0
Pentru x xat, 12 x2 este o constanta, deci irelevanta atunci c^and minimizam pe
E . Expresia energiei ^n reteaua Hopeld este:
; 21
1 X
1
X
i=0 j =0
wij vi vj
1
X
i=0
ii vi:
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:
0
C0 du
= x ; 1 + (;2)v1 ; u0(;2 + g0)
dt
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
i0
u1
u0
Ω
-2
-2
g0
Ω
g1
i1
C1
C0
1
v1
0
v0
Figura 5.8: Convertor A/D pe doi biti implementat printr-o retea de tip gradient.
Ecuatiile starilor devin:
1 + 2(v ; u (2 + g )
0
C0 du
=
x
;
1
0
0
dt
2
1
C1 du
dt = 2x ; 2 + 2(v0 ; u1(2 + g1):
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 minimele lui E ?
5.4. EXEMPLE
121
_1
2Ω
i1
+
− -1V
g1
2Ω
1Ω
+
−
i0
-1V
xV
u1
g0
u0
2
Ω
Ω
2
−
+
_1
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:
"
1
rE (v) = 22vv01 ++22 ;;2xx
"
#
0
2
2
H = r E (v) = 2 0 :
#
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.
CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
122
u1
-2
v1
Ω
R1
u2
C2
-2
Ω
C1
f1
f2
v2
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:
Ecuatiile starilor
Ponderile (conductantele) W
Functia energiei E (v) trunchiata
rE (v).
u1
C1
Ω
f1
R1
1
u2
f2
C2
_
v1
1
Ω
(a)
(b)
(c)
(d)
R2
_
v2
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)
(b)
(c)
(d)
(e)
Ecuatiile starilor
Ponderile (conductantele) W
Vectorul i al intrarilor externe
Functia energiei E (v) trunchiata
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.
1
5
v1
-5
5
-15
2
-5
-15
3
v2
v3
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
i i
i
j =1 ij j
dt
Ci
vi = f (ui)
Rezolvati numeric acest sistem.
pentru i = 1 2 : : : n :
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 memoreze 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 dintro 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 capacitate 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
CAPITOLUL 6. MEMORII ASOCIATIVE
126
x1
v1
x2
v2
...
...
M
vn
xn
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 permite 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 asociaza vectori din cadrul unei singure multimi care este fx(1) x(2) : : : x(p)g. Evident, 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 perturbat 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
M2
xk
Δ
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
M
xk
Δ
Δ
M’
xk+1
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
h
i
s(i) = s(1i) : : : s(ni) t
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
W0 = f (i) s(i)t
p
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:
v =
X
p
!
f (i) s(i)t s(j)
i=1
(1) (1)t (j )
= f s s + : : : + f (p) s(p)t s(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 respectata.
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:
v = f s s +f s % +
(j ) (j )t (j )
= f +
(j )
p X
(j ) (j )t
i=1
i6=j
(j )
p X
(i)
i=1
i6=j
f s(i)t %(j)
f (i) s(i)t %(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.
CAPITOLUL 6. MEMORII ASOCIATIVE
130
^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:
W0 =
p
X
i=1
s(i) s(i)t = SSt
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
n
X
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
1
w12
v1k
131
...
wn1
wn2
n
...
vnk
...
w1n
w21
2
w2n
v2k
Figura 6.5: Memorie Hopeld 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:
W=
sau
p
X
m=1
s(m) s(m)t ; pI
wij = (1 ; ij )
p
X
m=1
s(im) s(jm)
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.
CAPITOLUL 6. MEMORII ASOCIATIVE
132
Daca avem vectorii unipolari s(1) , ..., s(m) , algoritmul de stocare trebuie modicat astfel ^nc^at o componenta -1 sa ^nlocuiasca elementul 0 ^n vectorul unipolar
originar:
wij = (1 ; ij )
p
X
(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:
wij
0 = (1 ; ij )
p
X
m=1
(2s0(im) ; 1)(2s0(jm) ; 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
neuronul i, daca este cazul:
P
n
neti = j=1 wi j vj , vnew sgn (neti )
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:
n
X
0
neti = wij s(jm ) :
Aplic^and formula:
si, neglij^and pentru
j =1
wij = (1 ; ij )
p
X
s(im) s(jm)
m=1
moment termenul 1 ; ij , obtinem:
p
n X
X
0
neti =
s(im) s(jm) s(jm )
j =1 m=1
p
n
X
(m) X (m) (m0 )
=
si
sj sj :
m=1
j =1
Daca vectorii s(m) si s(m0 ) sunt statistic independenti, atunci termenul
n
X
j =1
0
s(jm) s(jm )
(6.1)
(m) (m0 )
este ^n medie
zero.
De
altfel,
aceast
a
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
(m)
(m0 )
pozitiv. Daca s = s 0 , atunci termenul 6.1 este n.
Deci, daca s(m) = s(m ) pentru un anumit 1 m p, atunci
neti (6.2)
= s(im ) n pentru i = 1 2 : : : n:
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 prototipului 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. Componentele perturbate se conformeaza deci dorintei majoritatii.
0
CAPITOLUL 6. MEMORII ASOCIATIVE
134
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:
net =
X
p
!
; pI s(m0 ) :
s s
(m) (m)t
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) = ; 12 vtWv
X
!
p
1
t
(m) (m)t
s s v + 21 vt pIv:
= ;2v
m=1
Pentru ecare prototip stocat s(m0 ) avem:
p 0
X
s(m )t s(m) s(m)t s(m0 ) + 21 s(m0 )t pIs(m0 )
E (s(m0 ) ) = ; 12
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, energia nu mai este ^n mod necesar minimizata pentru ecare prototip, iar prototipurile nu mai sunt ^n mod necesar stari de echilibru. ^In acest caz, avem:
net = ns(m0 ) ; ps(m0 ) +
= (n ; p)s(m0 ) +
p X
m=1
m6=m0
p X
m=1
m6=m0
s(m) s(m)t s(m0 )
s(m) s(m)t s(m0 ) :
Fata de situatia anterioara, apare suplimentar ultimul temen:
p X
m=1
m6=m0
s(m) s(m)t s(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:
n
X
1
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:
Pornind din
2 0 0 ;2 0 3
7
6
W = 664 ;02 00 00 ;02 775 :
0 ;2 0
0
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:
2
c = (14;ln)n n :
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 Hopeld
Associative Memory". IEEE Trans. on Information Theory, 33, 1987, 461-482.
1
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
2
2
...
1
...
1
n
m
stratul A
W
t
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
b0 = ; Wta0
bj 0
= sgn
i
X
n
i=1
wij
a0
i
!
j = 1 : : : m:
Apoi:
a00 = ; h"Wb0] i
b00 = ; Wta00 etc.
CAPITOLUL 6. MEMORII ASOCIATIVE
138
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. Presupunem 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:
p
X
W =
m=1
p
X
wij =
m=1
a(m) b(m)t
a(im) b(jm) :
Presupun^and ca unul din pattern-urile stocate, a(m0 ), este prezentat la intrare,
obtinem:
b = ;
"X
p 2m=1
b a
(m) (m)t
6
= ; 64nb(m0 ) +
p
X
m=1
m6=m0
(m0 )
a
#
3
b(m) a(m)t a(m0 )775 :
Ultimul termen din relatia anterioara, pe care ^l notam cu:
=
p
X
m=1
m6=m0
b(m) a(m)t a(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
a pattern-ul de intrare este o versiune perturbata a lui a(m0 ) , stabilizarea
0
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) = ; 12 at Wb ; 21 btWta = ;at Wb:
6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB)
139
Vom evalua modicarile energiei pentru un pas:
8
> 0
%ai = < 0
i=1:::n >
: 0
8
> 0
%bj = < 0
j =1:::n >
: 0
m w b >0
pentru P
j =1 ij j
P
pentru Pmj=1 wij bj = 0
pentru mj=1 wij bj < 0
n w a >0
pentru P
i=1 ij j
P
pentru Pni=1 wij aj = 0
pentru ni=1 wij aj < 0
(6.3)
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:
n X
m
X
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):
Observat
ii
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.
CAPITOLUL 6. MEMORII ASOCIATIVE
140
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
2
(i) (j)
m
HD b b
= 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 capabila 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:
W=
pX
;1
i=1
s(i+1) s(i)t + s(1) s(p)t
sau, daca indicele este modulo p + 1:
W=
Av^and straturile A si B, avem:
p
X
i=1
s(i+1) s(i)t :
a = ;"Wb]
b = ;"Wa]:
Daca secventa s(1) : : : s(p) este aplicata la intrarea ^n stratul A, avem:
k
ns
z
}| +
{
a = ; "(|s(2) s(1)t + : : : + s(k+1){zs(k)t + : : : + s(1) s(p)t )} s(k) ] :
( +1)
W
6.6. EXERCITII
141
Termenul
=
p
X
i=1
i6=k
s(i+1) s(i)t s(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:
k
X
p = pi p < n:
i=1
6.6 Exercitii
1. Asociatorul liniar trebuie sa asocieze urmatoarele perechi de vectori:
s(1) =
h
s(2) =
h
s(3) =
(a)
(b)
(c)
(d)
h
1
2
1
2
1
2
; 65
1
2
1
6
1
6
1
2
1
2
1
6
1
6
; 65
it
! f (1) = " 0 1 0 ]t
it
! f (2) = " 1 0 1 ]t
it
(3)
t
! f =" 0 0 0 ]
Vericati daca vectorii s(1) , s(2) , s(3) sunt ortonormali.
Calculati matricea ponderilor.
Vericati asocierea produsa de retea pentru unul din vectorii s(i) .
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
s(1) =
h
s(2) =
h
s(3) =
i
p13 p13 p13 t
p12
p16
0 ; p12
; p26
it
i
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.
CAPITOLUL 6. MEMORII ASOCIATIVE
142
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 matricea 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 caracterele (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).
[ x1... x n]
t
Retea
Hamming
MAXNET
t
[ y1k+1... yk+1
p ]
Δ
Figura 7.1: Clasicator 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
CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE
146
n/2
1
f(net )
y1
w11
1
1
1
w1n
...
...
n/2
wp1
n
1
net
yp
wpn
n
0
p
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:
|
{z
}
xt s(m) = n ; DH x s(m) ;DH x s(m) :
nr. de pozitii
^n care sunt egali
Obtinem:
Luam:
1 xt s(m) = n ; DH x s(m) :
2
2
2 (1)
66 s1(2)
WH = 12 666 s1
4 (p)
s1
3
: : : s(1)
n 7
: : : s(2)
n 7
77
...
75
: : : s(np)
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
−ε
−ε
−ε
1
−ε
y2k
−ε
−ε
1
ypk
y2k+1
ypk+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 )
1
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 Hamming 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 autoasociativa.
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
w
i1
66 w12t 77
W = 664 .. 775 unde wi = 664 ... 775 i = 1 : : : p
.
win
wt
p
y1
2
...
wmn
...
wm1
wm2
ym
...
...
1
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
fkx ; w^ i kg
:::p
unde x este vectorul de intrare. Deoarece:
kx ; w^ mk = xt x ; 2w^ mt x ; 1
avem:
w^ mt x = i=1
max
(w^ tx):
:::p i
1=2
Neuronul al m-lea, cu cea mai mare valoare pentru intrare este declarat c^astigator.
^In general, avem:
t
cos = kxxkkxxi k :
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 manipula ecient pattern-uri liniar neseparabile. Chiar si pentru pattern-uri liniar
separabile, ponderile pot sa se blocheze ^n regiuni izolate, fara sa formeze clusterele 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 dimensionalitatii, pe aceasta suprafata, mentin^andu-se ^nsa ordinea ^ntre ei. Aceasta
suprafata este o harta care conserva topologia datelor de intrare (topology preserving 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, inhibitoare, 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
yi(t + 1) = f @xi(t + 1) +
k
X
0
k=;k0
yi+k (t)k A :
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
yi
i
γ
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) = 085 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 dimensiune 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 componente, 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 patternurilor 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
fkx ; wikg
i
I KOHONEN
7.3. HART
153
γk
y10
y2
y1
b
-3
-2
...
x1
x2
2
x10
3
k
1
-1
-c
distanta
b)
a)
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:
(Ni t) = (t) e
;kri ;rm k
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 ponderile codica functiile de densitate p(x) ale probabilitatilor pattern-urilor de
instruire. Raspunsul neuronilor unei arii se^ntareste daca apar mai multe patternuri 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 ponderi cu componentele x1 : : : x5. Tabloul se instruieste folosind cei 36 de vectori
selectati ^n ordine aleatoare. Dupa 10000 de pasi de instruire, ponderile se stabilizeaza 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 vectorii 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
x1
x2
x3
x4
x5
A
1
0
0
0
0
B
2
0
0
0
0
C
3
0
0
0
0
D
4
0
0
0
0
E
5
0
0
0
0
F
3
1
0
0
0
GH
3 3
2 3
0 0
0 0
0 0
I
3
4
0
0
0
155
J
3
5
0
0
0
K
3
3
1
0
0
L
3
3
2
0
0
MN
3 3
3 3
3 4
0 0
0 0
OP
3 3
3 3
5 6
0 0
0 0
Q
3
3
7
0
0
R
3
3
8
0
0
S
3
3
3
1
0
T
3
3
3
2
0
U
3
3
3
3
0
V
3
3
3
4
0
WX
3 3
3 3
6 6
1 2
0 0
Y
3
3
6
3
0
Z
3
3
6
4
0
1
3
3
6
2
1
2
3
3
6
2
2
3
3
3
6
2
3
4
3
3
6
2
4
5
3
3
6
2
5
6
3
3
6
2
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 structura 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
5
uX
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
I
S
W
J
T
X
U
Y
V
Z
1
R
2
3
4
5
6
Figura 7.12: Arborele partial de lungime minima construit pe baza distantelor dintre vectori.
a
a
a
a
o
o
o
ah
a
a
r
h
h
oe
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 realizeaza clasicarea optima a vectorilor binari bipolari care reprezinta caracterele 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 gruparea 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)
x
u
σ
h(x)
1
−σ
x
u +σ
Figura 8.1: Neuron cu functie de activare radiala.
159
CAPITOLUL 8. RETELE NEURALE RBF
160
Pentru neuronii de acest tip, avem:
;(x;u)2
h(x) = e 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.
2 2
x1
u 11
σ2
x2
...
xp
h1 w11
σ1
u mp
strat de intrari
Σ
Σ
y1
y2
y1 /s
out 1
y2 /s
out 2
yn /s
out n
h2
σm
Σ
hm
yn
wnm
strat de normalizari
Σ
strat ascuns
s
strat de iesiri
Figura 8.2: Retea neurala cu functie de activare radiala.
Avem:
unde:
hi = e
t
; (x;ui2)(2x;ui )
i
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:
yj =
m
X
i=1
hiwji
iar pe ultimul strat, cel al normalizarilor, se calculeaza iesirile nale:
s =
n
X
j =1
yi
yj
outi = s :
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 centrii domeniilor receptive nu este uniforma, este necesar ca ecare neuron ascuns 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
CAPITOLUL 8. RETELE NEURALE RBF
162
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 cluster 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 antecedenta 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 adjective. 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 valoarea 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
viteza
(functia de apartenenta)
SP
167
pozitie
(functia de apartenenta)
LN
0,8
tensiunea motorului
(functia de apartenenta)
LP
0
0
0
MP
0,6
SN
regula 1
SP
0,3
0
0
0,1 m/s
viteza
(intrare)
-10 m
pozitia
(intrare)
0,2
0
regula 2
suma
tensiunilor
(se ia max.)
centrul de
greutate
x
0
iesire (tensiunea motorului)
Figura 9.1: Defuzzicare 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,
deci
truth(P ) = 1 ; truth(P )
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 explica 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 matematice 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 obisnuiti.
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
x1
x2
ponderi
iesiri
y1
w1
g1
g2
w2
...
xN
gM
wN
T
Figura 9.2: Neuronul fuzzy.
...
f
...
h
y2
yM
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 sensul 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:
(
as<T
y = g(s ; T ) = 01 dac
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:
1]
s1]
ij = zij = xij pentru i = 1 : : : N1 j = 1 : : : N2
s1]
1]
yij = P ij pentru i = 1 : : : N1 j = 1 : : : N2
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:
1]
s2]
pq = maxi=1:::N (maxj =1:::N (w(p ; i q ; j )yij ))
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 )
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:
2]
ypqm
= gpqm(spq2])
2]
pentru p = 1 : : : N1, q = 1 : : : N2, m = 1 : : : M , unde ypqm
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:
2
2
2
8
< 1 ; 2jspq ;
pqmj pentru js2] ; j 2]
pqm
pq
2 ypqm
= gpqm(s2]
)
=
pq
:0
^n rest
2]
Kwan, H.K., Cai.Y "A Fuzzy Neural Network and its Application to Pattern Recognition",
IEEE Trans. on Fuzzy Systems, 2, 1994, 185-193.
1
CAPITOLUL 9. RETELE NEURALE FUZZY
172
g pqm(s[2]
pq)
1
Θ pqm
0
s [2]
pq
α
[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:
2]
ym3] = s3]
m = minp=1:::N (minq=1:::N (ypqm ))
pentru m = 1 : : : M .
Al patrulea strat este stratul de iesire si consta din M neuroni de tip COMPNF, 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:
4]
3]
s4]
m = zm = ym pentru
( m = 1 : :4]: M
0 daca sm < T
ym4] = g"s4]
m ; T ] = 1 daca s4] = T pentru m = 1 : : : M
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.
1
2
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.
pqM = s2]
pq = maxi=1:::N (maxj =1:::N (w(p ; i q ; j )xijk ))
pentru p = 1 : : : N1 si q = 1 : : : N2 , unde pqM este mijlocul bazei triunghiului pentru cea de-a M -a functie de iesire a celui de-al (p q)-lea MAXNF ^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])
1
2
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 patternul 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.
2]
Valoarea ypqm
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 intrare si pattern-urile ^nvatate. Avem de fapt:
(
2 2]
maxpq (js2]
3]
pq ; pqm j) 2
ym = 0minpq (1 ; jspq ; pqm j) ^pentru
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 recunoastere 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 5 3 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 .
Cai, Y., H.K. Kwan "Fuzzy Classication Using Fuzzy Inference Networks". IEEE Trans.
Syst., Man, and Cyb., Part B: Cybernetics, 28, 1998, 334-374.
2
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 dezvoltat, 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 genetica 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 caracteristicile 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 optim 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
0,2716 1
Total
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
CAPITOLUL 10. ALGORITMI GENETICI
180
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 degenerarile. 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
1
2
3
4
5
6
Total
sirul Ai val. zecimala
011011
27
001010
10
000011
3
011011
27
100110
38
010111
23
fi
0,037
0,10
0,333
0,037
0,0263
0,043
0,576
pi
0,064
0,174
0,578
0,064
0,046
0,075
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 considera 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 asupra 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 . Presupunem 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 =
H1 =
H2 =
0111000
*1****0
***10**
Sirul A reprezinta schemele H1 si H2. "Taietura" dupa care se executa ^ncrucisarea se alege aleator, echiprobabil ^ntre cele 6 posibilitati. De exemplu:
A =
H1 =
H2 =
011|1000
*1*|***0
***|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. Presupun^and ca aceste doua operatii sunt independente obtinem:
!
f
(
H
)
(
H
)
m(H t + 1) m(H t) f( 1 ; pc l ; 1 :
Observam ca schemele cu lungime mica sunt favorizate.
10.4. EXERCITII
183
Mutatie
Alteram o pozitie xata cu probabilitatea pm, deci supravietuieste cu probabilitatea 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 simboluri 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 recursiv 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 prematematic. 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 exista 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.
Denit
ie. 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,
MSU-TR-89-12, 1989.
1
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 feedforward, 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
din aceste 2N
N
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 perceptroni 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 = (2
k ; 1)w, unde w este o constanta
pozitiva. Alegem pragul pentru neuronii ascunsi: (N ; 1)w. Potentialul pentru
un neuron ascuns este:
X
wjkk ; (N ; 1)w
X
= w"( (2
k ; 1)k ) ; (N ; 1)]:
hj =
k
k
Avem hj > 0 daca si numai daca
(2
k ; 1)k = 1 pentru k = 1 : : : N
unde 2
k ; 1 = 1 si k = 1. Deci, conditia este:
2
k ; 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
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 Networks", 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.
2
11.3. REPREZENTAREA FUNCTIILOR BOOLEENE
189
Avem, deci, urmatoarele iesiri din neuronii ascunsi:
(
pentru j = j0 :
sj = +1
;1 pentru j 6= j0
Ponderea vj dintre sj si neuronul S va :
(
daca F (1 : : : N ) = true vj = +1
;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 :
j
j
0
j
Iesirea din retea va sgn(h) = F (1 : : : N ) (g. 11.1).
+/-1
σ1
σN
q0
s0
v0
...
...
+/-1
w01
qN
s2N-1
S
sgn(h) = F ( σ1 ,..., σN )
v2N-1
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 - McCluskey). 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 normala 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 discret (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 perceptroni, 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 asemenea, teorema ram^ane valabila chiar daca arhitectura retelelor considerate verica
restrictia:
nr. de straturi ascunse 1:
Observat
ii:
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 NPcompleta.
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,
Cambridge, 1990.
6
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 conform 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 elementare 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 controlul 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 exemplu, temperatura). Cele mai evoluate astfel de stari sunt legate de comportament 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. CalcuKohonen, T. "Self-Organization and Associative Memory". Springer, Berlin, 3rd ed., 1989,
chap. 9.
1
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 simbolic 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 articiale trebuie sa interactioneze cu lumea reala, cu obiectele naturale. Statistica
semnalelor naturale, de exemplu vorbirea, sunt complet diferite de statistica presupusa ^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 neuronului:
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 componentele si circuitele ^n module integrate care se comporta liniar.
Neuronii biologici au caracteristici si mai neregulate dec^at componentele electronice. Faptul ca neuronii au raspunsuri neliniare nu ^nseamna ^nsa ca sistemul 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 senzoriale. Acesti centri combina semnalele receptate ^ntr-un mod neliniar, form^and
produse de perechi de semnale - unul obtinut din gura si unul din fundal. Corelarea 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 asincron. 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 programe memorate. Operatiile implementate pe ele nu pot denite algoritmic.
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
automat
finit
iesire
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 mediului 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 trebuie 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.
Starkermann, R. "The Functional Intricacy of Neural Networks - A Mathematical Study",
Proceedings, Insbruck, 1993.
2
198
CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE
Anexa A
Complemente matematice
A.1 Vectori si matrici
2
66
Vector coloana: x = 66
4
x1 3
x2 777
... 75 Vector linie: x = "x1 : : : xn]t
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:
m
X
x = ci xi :
i=1
Multimea de vectori x1, x2 , ..., xn este liniar dependenta daca exista c1, ...,
cm , nu toti nuli, astfel ^nc^at:
m
X
cixi = 0:
i=1
^In caz contrar, vectorii x1, x2, ..., xn sunt liniar independenti.
Norma euclidiana a unui vector: kxk = (xt x)1=2 =
qPn 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
ortogonali si sunt independenti.
0
0
1
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 57
2
4
p
Solut
ie: 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 )ij=1:::n, atunci:
E (x1 x2 : : : xn) = a11x21 + 2a12 x1 x2 + 2a13 x1 x3 + : : : + 2a1n x1xn
+ a22x22 + 2a23 x2 x3 + : : : + 2a2nx2 xn + : : : + annx2n =
n X
n
X
=
aij xi xj
i=1 j =1
Proprieta
ti 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 semidenita 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 )ij=1:::n avem:
det A11 = ka11 k > 0
det A22 = aa11 aa12 > 0
21
22
...
det Ann = det A > 0:
Condit
ii 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
si obtinem
Din
ANEXA A. COMPLEMENTE MATEMATICE
(x1 ; x2)t x + 12 (xt2x2 ; xt1x1 ) = 0:
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 dx 3
3
2
2
x
(
t
)
1
d
t
6
7
x(t ) = 664 ... 775 dxd(tt ) = 664 ... 775 = x_ (t) = 664
d xn
xn (t)
dt
1
3
x_ 1 (t) 7
... 7
5
x_ n (t)
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) = .
4
Proprieta
ti:
a) rx(xt y) = y
b) rx(xt A y) = A y
c) rx(xt A y) = A x + At x
1
@E
@xn
5
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
n @E
dE "x(t)] = @E @x1 + + @E @xn = X
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
1 (t)
x(t) = x2 (t) = et :
Forma patratica a lui x(t) cu matricea
"
#
1
2
A= 2 3
este:
"
"
# " 2t #
i
1
2
E "x(t)] = e2t t 2 3 et
" d 2
# "
#
(x1 + 4x1x2 + 3x22 )
2
x
1 + 4x2
dx
rxE (x) = d (x2 + 4x1x2 + 3x2 ) = 4x1 + 6x2
2
" dx 2t #1
x_ (t) = 2e1 :
h
1
2
ANEXA A. COMPLEMENTE MATEMATICE
204
Atunci
" #
dE "x(t)] = h 2e2t + 4t 4e2t + 6t i 2et = 2(2e4t + (4t + 2)e2t + 3t):
1
dt
Fie m functii:
E1 (x) = E1 (x1 x2 xn)
...
Em (x) = Em (x1 x2 xn)
Matricea iacobiana se deneste ^n felul urmator:
2 @E
@x
I(x) = ddEx = 664 ...
@Em
@E1
@xn
@x1
@Em
@xn
1
Exemplu: Pentru:
3
... 77
5
1
...
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
6
H(x) = r2xE (x) = rx "rxE (x)] = 664
@ 2 E2
@x1
@2
@x1 @x2
@2
@x1 @xn
@2E
@x1 @xn
@2E
@x2 @xn
@2E
@ 2 xn
...
...
...
...
3
77
75 :
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
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 dezvoltarii:
@E (x )
@E (x )
E (x) = E (x ) + (x1 ; x1 ) @x + (x2 ; x2 ) @x
1
2
2
2
(x )
+ 12 (x1 ; x1 )2 @ @E2 (xx ) + 12 (x2 ; x2 )2 @ E
@x22
1
2
+(x1 ; x1)(x2 ; x2 ) @ E (x ) :
@x1 @x2
Pentru %x1 = x1 ; x1 , %x2 = x2 ; x2, obtinem:
h @E(x) E(x) i " %x1 #
E (x) = E (x ) + @x
@x
%x2
2
"
#t @ E(x) @ E(x) 3 "
#
1
%
x
%
x
@x
@x
@x
1
1
+ 2 %x 4 @ E(x) @ E(x) 5 %x :
2
2
@x @x
@x
2
2
1
2
2
2
2
1
2
2
Lu^and
obtinem:
"
2
2
#
1
2
2
2
x1
%x = %
%x2 1
E (x) = 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.
ANEXA A. COMPLEMENTE MATEMATICE
206
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 = y 0 + % 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)
y
y*=Φ(x)
y1
y0
x0
x2
y1
y0
y2
x1
y
x
y*=Φ(x)
Δy
Δx
x0
y2
207
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:
3 + 19 e4x :
y = ,(x) = 14 x ; 16
16
Aproximati pe ,(0 2), presupun^and ca nu aveti expresia analitica a lui ,.
Avem:
h =
y00 =
y1 =
y2 =
Eroarea este:
0 1
f (0 1) = 5
y0 + hf (0 1) = 1 + 0 1 5 = 1 5
y1 + hf (x1 y1) = 1 5 + 0 1 (1 ; 0 1 + 6) = 2 19:
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:
ANEXA A. COMPLEMENTE MATEMATICE
208
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
x1 = 1 + 0 1 1 = 1 1
x1 0 = 1 1 ; 4 (;0 1) = 1 5
x2 = 1 1 + 0 1 1 5 = 1 25
Fie sistemul:
cu conditiile initiale:
y00 = ;1 + 0 = ;1
y1 = 0 + 0 1 (;1) = ;0 1
:
y10 = ;1 1 + (;0 1) = ;1 2
y2 = ;0 1 + 0 1 (;1 2) = ;0 22
8 x 0 = F (t x : : : x )
>
1
1
1
n
>
< x2 0 = F2 (t x1 : : : xn)
...
>
>
: xn 0 = Fn(t x1 : : : xn)
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 existent
a si unicitate: Daca F1, ..., Fn si
@F1
@xn ,
@F1 ,
@x1
...,
@Fn
n
..., @F
@x1 , ..., @xn sunt continue ^n regiunea R care contine punctul
(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 stabilitatii 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. Presupunem 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
0
x1
0 t=0
traiectorie
stabila
traiectorie
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 ;
2
2
2
2
Variant
a
(dispersia)
:
=
E
(
;
E
(
))
=
E
(
)
;
(
E
(
))
=
i i
(P ai pi)2
Deviatia standard: .
Functia de repartitie a unei variabile aleatoare normale cu media m si dispersia 2 este:
F (x) = P ( < x)
Z x ; u;m
= p1
e du pentru ; 1 < x < 1
2 ;1
si este notata cu N (m 2 ). Distributia N (0 1) este standard. Functia de densitate a lui N (m 2 ) este:
x;m
f (x) = F 0(x) = p1 e; pentru ; 1 < x < 1:
2
(
2 2
(
)2
2 2
)2
Anexa B
Subiecte-tip pentru examen
1.
2.
3.
4.
5.
Clasicatorul liniar, functia discriminant liniara.
Regula hebbiana.
Regula Windrow-Ho.
Deduceti regula delta pentru un neuron din conditia de minimizare a erorii.
Demonstrati ca functia energiei computationale:
Z vi
n
X
1
t
t
E = ; 2 v Wv ; i v + Gi fi;1(z)dz
0
i=1
^ntr-o retea Hopeld cu timp continuu este necrescatoare.
6. Principiul de functionare a unui convertor A/D pe 2 biti implementat printro retea de tip gradient.
7. Teorema perceptronului.
8. Algoritmul de stocare a pattern-urilor prototip ^ntr-o memorie autoasociativa 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 gradient?
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 sincrona?
213
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Principiul de functionare al retelei Hamming.
Principiul de functionare al retelei MAXNET.
Care este scopul calibrarii supervizate a unui clasicator neural?
Principiul de functionare a retelei Kohonen.
Ce este o harta Kohonen?
Principiul de functionare a retelei neurale fuzzy.
Principiul de functionare a retelei neurale cu functie de activare radiala.
Teorema lui Judd.
Teorema lui Hecht-Nielsen.
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 Programs". Springer-Verlag, Berlin, 1994 (second edition).
"12] Muller, B., J. Reinhardt "Neural Networks - An Introduction", SpringerVerlag, 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, Bucuresti, 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.