Documente Academic
Documente Profesional
Documente Cultură
Curs Retele Neurale PDF
Curs Retele Neurale PDF
1 Bezdek, J. "On the Relationship Between Neural Networks", Pattern Recognition and
Intelligence, Int. J. Approximate Reasoning, 6, 85-107, 1992.
3
4
Cuprins
1 Preliminarii ^n calculul neural 9
1.1 Calculul neural: exemple . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Istoricul dezvoltarii retelelor neurale . . . . . . . . . . . . . . . . . 17
1.3 Viitorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Concepte fundamentale 19
2.1 Neuronii biologici si modelele lor articiale . . . . . . . . . . . . . 19
2.2 Modelarea retelelor neurale . . . . . . . . . . . . . . . . . . . . . . 26
2.3 ^Invatare si adaptare . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Reguli de ^nvatare . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3 Perceptroni monostrat 53
3.1 Clasicare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Functii discriminant . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Clasicatori liniari . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Perceptronul discret ca dihotomizator liniar . . . . . . . . . . . . 59
3.5 Perceptronul continuu ca dihotomizator liniar . . . . . . . . . . . 63
3.6 Teorema de convergenta a perceptronului . . . . . . . . . . . . . . 66
3.7 Retele monostrat de perceptroni . . . . . . . . . . . . . . . . . . . 68
3.8 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.9 Exercitii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Retele neurale feedforward multistrat 79
4.1 Clasicarea pattern-urilor liniar
neseparabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Regula de ^nvatare delta . . . . . . . . . . . . . . . . . . . . . . . 80
4.3 Regula delta generalizata . . . . . . . . . . . . . . . . . . . . . . . 84
4.4 Algoritmul de instruire backpropagation . . . . . . . . . . . . . . 87
4.5 Factori ai ^nvatarii . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.6 Aproximatori universali . . . . . . . . . . . . . . . . . . . . . . . . 92
4.7 Teorema lui Kolmogorov si retelele neurale . . . . . . . . . . . . . 94
4.8 Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5
6 CUPRINS
x1
nod element
1
sumator comparator
1 Σ clasa
x2 + suma sgn(.)
1 ponderata
x3 ponderi
date de
intrare
P1 (-1,0,1) P3
(0,-1,1)
x 1 +x 2 +x 3 =0
P7
P5
P0
P2
P4 P6
Punctele de deasupra planului fac parte din clasa 1, iar punctele de dedesupt
din clasa 2.
Problema pe care ne-o punem este daca o functie continua nu poate mai
avantajoasa (g. 1.3).
f(Σ )
1
-1
unitate de feedback
pt. intensitatea drumului
... 45 unitati
de directie
... 29 unitati
...
imagine profunzime
30x32 8x32
(intrare) (intrare)
Informatia video este o retina de 30x32 care sesizeaza ^n albastru (ofera cel
mai bun contrast). Unitatea de feedback regleaza contrastul. Cele 1217 intrari
conduc spre 29 unitati cu functie continua. Unitatea din mijlocul celor 45 de
unitati de iesire arata c^at de puternica este tendinta de a merge ^nainte. Unitatile
din st^anga-dreapta reprezinta tendintele de a o lua la st^anga-dreapta. Unitatile
din extremitatile st^anga si dreapta corespund virajelor st^anga-dreapta c^at mai
accentuate.
ALVINN a fost instruit prin imagini sintetizate pe calculator. Performantele
obtinute au fost comparabile cu caracteristicile celor mai bune sisteme traditio-
nale de orientare prin vedere articiala.
Capacitatea sistemului ALVINN de a pastra directia drumului nu a fost im-
plementata prin programare (algoritm), ci se bazeaza pe cunostintele asimilate
prin instruire. Dupa 1/2 ora de instruire, sistemul era capabil sa se orienteze sin-
gur pe drum. Altfel ar fost necesare luni de zile pentru dezvoltarea algoritmilor
care sa recunoasca pattern-urile din imaginile preluate.
S-au facut observatii interesante. Astfel, reteaua s-a comportat mai bine dupa
ce a fost instruita sa refaca erori de conducere. Prin aceasta, reteaua si-a dezvoltat
masurile de corectare a conducerii.
retele memorii.
Fie reteaua simpla din gura 1.5.
unitatea 1
Σ1 o1
-1 +1 sgn(.)
1 unitatea 2
Σ2 o2
+ sgn(.)
-1
-1 unitatea 3
-1 Σ3 o3
+ sgn(.)
Reteaua consta din trei unitati care calculeaza valorile functiei signum, trei
noduri de^nsumare si sase ponderi care pot 1. Semnalele care trec prin ponderi
sunt ^nmultite cu valoarea ponderilor. Presupunem ca reteaua este initializata
la iesire cu o1 = o2 = o3 = 1 (cazul 1, tab. 1.1). C^and se permite retelei sa
calculeze, intrarile la unitatile 1 si 2 sunt 0, ^n timp ce la unitatea 3 este -2. Ca
rezultat, o1 si o2 nu se modica, deoarece sgn(0) nu este denit, ^n timp ce o3
devine -1. Urmeaza cazul 2, care este o iesire nala deoarece nu se mai poate
modica. Cazurile 3 si 4 sunt alte exemple de tranzitii posibile. Observam ca si
cazurile 3 si 4 duc apoi la cazul 2, oper^and c^ate o singura modicare.
Iata cum se reprezinta geometric aceste actualizari efectuate de reteaua de tip
memorie descrisa. Se vede ca P6(1 1 ;1) este iesirea stabila a memoriei. C^and
o singura componenta a vectorului de initializare binar (o1, o2, o3 ) difera de P6,
reteaua corecteaza aceasta componenta. Iesirea este apoi mentinuta constanta.
Daca P6 reprezinta descrierea corecta a unui pattern, iar P4, P7 , P2 variante
distorsionate ale lui P6, memoria are capacitatea de a restaura variantele distor-
sionate asimil^andu-le cu P6 (g. 1.6).
Acest concept de memorie poate extins cu usurinta la lumea reala a aplica-
tiilor.
Probleme de optimizare
Retelele neurale pot aplicate cu succes pentru rezolvarea unor probleme de
optimizare.
1.1. CALCULUL NEURAL: EXEMPLE 15
Tabelul 1.1: Exemple de tranzitii ale retelei tip memorie. X ^nseamna sgn(0), iar iesirile
^ncadrate sunt cele care se modi
ca.
Cazul Nr. unitatii Iesirea actuala sgn() Iesirea urmatoare
1 1 0 X 1
1 2 1 0 X 1
3 1 -2 -1 -1
1 1 2 1 1
2 2 1 2 1 -1
3 -1 -2 -1 -1
1 -1 2 1 1
3 2 1 0 X 1
3 -1 0 X -1
1 1 0 X 1
4 2 -1 2 1 1
3 -1 0 X -1
x 2v1 + v0 :
Exista, evident, patru posibilitati: 00, 01, 10, 11. O retea similara cu memoria
din exemplul precedent poate rezolva aceasta conversie (g. 1.7).
Reteaua consta din doua unitati cu caracteristici continue, ecare cu raspuns
^n intervalul dintre 0 si 1. La cele doua unitati, retelei i se mai adauga un numar
de elemente de interconectare pe care nu le specicam.
Conversia corespunde minimizarii erorii de conversie A/D, unde eroarea este
(x ; 2v1 ; v0)2 , ^n prezenta restrictiei v0 v1 2 f0 1g. Aceasta problema de mini-
mizare este rezolvabila de catre o anumita clasa de retele neurale. Caracteristic
acestei clase este ca se minimizeaza asa numita functie de energie pe parcursul
calculului.
Proprietatea de minimizare a energiei este de importanta foarte mare si se
formuleaza astfel: reteaua ^si cauta singura energia ei minima si se stabilizeaza
acolo. O serie de probleme de optimizare se transpun direct ^n minimizarea
functiei de energie a unei retele neurale. Minimizarea energiei de catre retea
poate considerata analoga minimizarii erorii de conversie A/D.
Clasa de retele neurale exemplicata prin conversia A/D este utilizabila si pen-
tru probleme de optimizare combinatorica ^n care complexitatea este exponentiala
sau, mai rau, ^n ordinul lui n!. ^In aceste probleme, este important sa se reduca
ordinul timpului de cautare. Retelele neurale ofera si ^n acest sens o alternativa.
16 CAPITOLUL 1. PRELIMINARII ^IN CALCULUL NEURAL
P1 P3
P7
P5
cazul 1
P0
P2
cazul 3
P4 cazul 4 P6
cazul 2
unitatea 0
v0
1.3 Viitorul
Datorita denumirii, domeniul retelelor neurale este supus unei supraestimari po-
puliste. Este tentant pentru om sa-si imagineze o masina care sa e asemeni lui.
Terminologia antropomorfa trebuie privita cu multa retinere.
Putem aproape siguri ca retelele neurale nu vor ^nlocui calculatoarele cla-
sice. Aceasta, deoarece calculatoarele clasice sunt foarte ieftine si eciente pentru
efectuarea calculelor numerice (procesari de text, CAD, procesari de date).
Sunt ^nsa domenii ^ntregi ^n care retelele neurale devin mai avantajoase. Cele
mai interesante aplicatii sunt cele care presupun inferenta de tip uman si per-
ceperea vorbirii si a imaginilor. Aceste aplicatii nu pot dec^at partial rezolvate
pe calculatoare clasice.
Este de asteptat ca retelele neurale sa e aplicate ^n procesarea semnalelor si
sisteme expert. Retelele neurale nu vor ^nlocui aplicatiile de inteligenta articiala
de pe calculatoarele clasice, ci vor oferi o tehnologie complementara.
Neurocalculatoarele actuale sunt de multe ori calculatoare conventionale care
executa software de simulare a retelelor neurale. Alte neurocalculatoare folosesc
deja componente (placi, chip-uri) dedicate. Cele mai interesante sunt, desigur,
chip-urile VLSI care implementeaza retele neurale. Fabricarea acestor chip-uri
este deja actuala. ^In 1986, AT&T a fabricat primul circuit integrat de memorie
neurala.
Capitolul 2
Concepte fundamentale
Exista doua posibilitati de a deni retelele neurale. La o extrema, retelele neu-
rale sunt o clasa de algoritmi matematici, deoarece o retea poate privita ^n
esenta ca o notatie graca pentru o clasa larga de algoritmi. La cealalta extrema,
retelele neurale emuleaza retelele neurale biologice din organismele vii. ^In lu-
mina cunostintelor limitate pe care le avem ^n prezent asupra retelelor neurale
biologice, cea mai plauzibila denitie se apropie mai mult de cea algoritmica.
Retelele neurale sunt ^n mod cert inspirate din biologie, dar exista mari
diferente ^ntre retelele neurale articiale si cele naturale. Nu exista ^nca modele
care sa concureze cu succes performantele creierului uman. De fapt si cunostintele
noastre despre functionarea creierului sunt extrem de limitate. Creierul ram^ane
mai cur^and o metafora pentru retelele neurale dezvoltate p^ana acum.
Cu toate ca analogia dintre retelele neurale articiale si cele naturale este vaga,
vom ^ncepe totusi prin a mentiona modelul neuronului biologic. Vom deni apoi
neuronul articial si retelele neurale articiale elementare. ^In ne, vom discuta
formele de baza ale procesarii ^n retele neurale articiale, cu un accent deosebit
pe procesele de ^nvatare.
actiuni. Avem deci un sistem const^and din receptori, reteaua neurala si efectori,
care controleaza organismul si actiunile sale. Fluxul informational este descris ^n
gura 2.1.
Corp
Sistemul
nervos
central
feedback
intern
Receptori Efectori
Organe Organe
senzoriale motor
feedback
extern
Neuronul biologic
Neuronul este celula nervoasa si are trei componente:
- soma - corpul celulei
- axonul - bra lunga care serveste ca linie de comunicatie
- dendritele
Dendritele formeaza un arbore de bre ne ^n jurul corpului neuronului. Den-
dritele receptioneaza informatia de la alti neuroni prin axonii acestora. Axonul
este o conexiune cilindrica lunga care^n partea nala devine arborescenta. Fiecare
ramura are o terminatie care aproape atinge dendritele neuronilor vecini. Sinapsa
este interfata prin care neuronul ^si introduce semnalul catre dendrita altui neu-
ron. Semnalele care ajung la o sinapsa plec^and de la dendritele neuronului res-
pectiv sunt impulsuri electrice (g. 2.2).
Transmisia interneuronala este uneori electrica dar de obicei este efectuata
prin eliberarea de transmitatori chimici la sinapse. Astfel, terminatia axonului
genereaza substanta chimica, care afecteaza neuronul receptor. Neuronul receptor
e genereaza un impuls catre axonul sau, e nu produce nici un raspuns.
Neuronul este capabil sa raspunda totalului intrarilor sale agregate ^ntr-un
scurt interval de timp numit perioada de latenta. Raspunsul neuronului este
generat daca totalul potentialului membranei sale atinge un anumit nivel. Mem-
brana poate considerata ca o ^nvelitoare care agrega magnitudinea semnalelor
2.1. NEURONII BIOLOGICI SI MODELELE LOR ARTIFICIALE 21
axoni venind de
la alti neuroni
soma dendrite
impulsul
din partea
corpului
neuronului
dendrita altui
sinapsa neuron
w1
x1
w2
x2
o
T
wn w =-1 sau +1
xn i
i=1,2,...,n
x1 -1 1 x1 1
T=0
x2 -1 T=0 1 o x2 1
T=1 -1 o
T=1 T=0
x3 -1 T=0 1 1
x3
NAND NOR
1
1 ok+1 =x k
T=1
intrare
excitatoare
-1
intrare
inhibitoare
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.
conexiuni
w1 sinaptice
x1
w2
x2
o
f(wtx)
nod(unitate)
wn de procesare
xn
ponderi
multiplicative
f(net) f(net)
1 λ=5 λ=1 λ=0,5 λ=5 λ=1
1
-1 0 1 net -1 0 1 net
-1
Daca functia de activare este bipolara binara, putem folosi reprezentarea din
gura 2.8 a unui perceptron binar, iar pentru functia bipolara continua putem
folosi reprezentarea din gura 2.9 a unui perceptron continuu.
w1
x1
w2
x2
net 1 net o(w,x)
+
-1
sumator
wn
xn comparator
cu prag
neuron
f(net)= 2 -1
x1 −λ
1+e net
x2
o(w,x)
f(net)
xn neuron
Retea feedforward
Sa consideram o arhitectura feedforward de m neuroni care receptioneaza n intrari
(g. 2.10). Pentru acest model denim
o = !o1o2 : : : om ]t
si
x = !x1 x2 : : : xn ]t:
Ponderea wij caracterizeaza al i-lea neuron cu a j -a intrare. Valoarea de
activare pentru al i-lea neuron este atunci:
X
n
neti = wij xj i = 1 2 : : : m:
j =1
Fie wi = !wi1wi2 : : : win]t , atunci:
neti = witx oi = f (witx) i = 1 2 : : : m:
2.2. MODELAREA RETELELOR NEURALE 27
1
o1
w11
x1
2 o2
x2
w2n
...
...
wm1
xn
wmn m
om
x(t) o(t)
Γ[Wx]
Retea feedback
O retea feedback se poate obtine dintr-o retea feedforward prin conectarea iesirilor
neuronilor cu propriile intrari (g. 2.12).
∆
∆
o1(t) w11 1 o1(t+ ∆ )
x 1 (0)
w21
w1n
x 2 (0)
2 o2(t+ ∆ )
o2(t)
x n(0)
n o n (t+ ∆ )
on(t) wnn
intarziere
∆
+ +
R
v1 C v2
- -
dv2 + v2 = v1 : (2.1)
dt RC RC
De aici, obtinem:
$v2
$t v ; v
= C 1R 2
care reprezinta modicarea tensiunii v2 ^n intervalul $t.
tensiunea tensiunea
v1 v1
v2 v2
t t
0 t0 0
(a) (b)
Figura 2.15: Raspunsul ^n timp (a) la un impuls si (b) la o tensiune de intrare de tip unda
armonica al retelei cu timp continuu din
gura anterioara.
net j
j
oj
Rij
net i
Ci
i
oi
x retea o
adaptiva
W
semnal de
generator invatare
ρ[d,o] de distanta d
retea
x adaptiva o
W
2.4 Reguli de ^
nvatare
Sa studiem procesul de instruire a vectorului wi de ponderi, av^and componentele
wij (unde wij este ponderea conexiunii celei de-a j -a intrari cu cel de-al i-lea
neuron) (g. 2.20).
Fie urmatoarea regula generala de ^nvatare: Vectorul wi = !wi1 wi2 : : : win]t
creste proportional cu produsul intrarii x si a semnalului de ^nvatare r. Semnalul
r este in general o functie de wi , x si, daca este cazul, di:
r = r(wi x di):
Incrementul lui wi produs la momentul t este:
$wi (t) = cr!wi(t) x(t) di(t)]x(t)
unde c este constanta de ^nvatare, pozitiva, care determina rata ^nvatarii. Atunci:
wi(t + 1) = wi(t) + cr!wi(t) x(t) di(t)]x(t):
2.4. REGULI DE ^INVAT
ARE 33
x2 x2
x1 x1
0 0
(a) (b)
Figura 2.19: (a) Pattern-uri bidimensionale care formeaza doua clustere. (b) Aparent, nu se
disting mai multe clustere si nu stim c^ate sunt. ^In acest caz ^nvatarea nesupervizata nu este
indicata.
x1
wi1
x2 wi2 neuronul i
oi
...
win
∆wi
xn x r generator de di
X semnal de
învãtare
win
xn
∆wi
-
x d i -o i di
X + +
x1
wi1
x2 wi2
oi
f(net i)
...
win
f’(net i)
xn
∆wi
-
x d i -o i di
X X +
+
c
$wi = ;rE
unde este o constanta pozitiva.
36 CAPITOLUL 2. CONCEPTE FUNDAMENTALE
Regula corelatiei
Substituind r = di ^n regula generala de ^nvatare obtinem regula corelatiei:
$wi = cdix
$wij = cdixj j = 1 2 : : : n:
De obicei, regula corelatiei se aplica ^n retele de memorie cu neuroni cu functie
de activare binara. Se poate interpreta ca un caz particular al regulii lui Hebb
^n care functia de activare este binara si oi = di. Totusi, ^nvatarea hebbiana este
nesupervizata, ^n timp ce regula corelatiei se aplica la ^nvatarea supervizata. Ca
si ^n cazul ^nvatarii hebbiene, este necesar ca ponderile sa e initializate cu valori
apropiate de 0.
2.4. REGULI DE ^INVAT
ARE 37
o1
w11
x1
...
...
wm1
xj om
neuronul
castigator
wmn
...
...
xn
wpn op
Ca rezultat,
wm = !wm1 wm2 : : : wmn]t
este singurul vector ajustat:
$wm = (x ; wm )
$wmj = (xj ; wmj ) pentru j = 1 2 : : : n
unde > 0 este o constanta de^nvatare mica. Criteriul de alegere a c^astigatorului
este:
wmt x = i=1max2 ::: p
(witx):
Numai ponderile neuronului c^astigator se modica. Dupa ajustare, wm va estima
si mai bine pattern-ul x.
Ponderile se initializeaza cu valori aleatoare si sunt normalizate. ^In general,
scade pe parcursul procesului de ^nvatare.
Tabelul 2.1: Comparatie ^ntre calculul conventional si calculul neural din punct de vedere al
etapelor care trebuie parcurse.
Sarcina Calcul Calcul neural
conventional
Rezolvarea unei pro- Formularea Selectarea unei ar-
bleme algoritmului hitecturi si denirea
multimii de exemple
reprezentative
Achizitionarea Programare Instruire
cunostintelor
Calcul Aritmetic, Precizie mica, aplica-
precizie mare tii neliniare
Memorarea datelor ROM, RAM - Ponderi ale conexiu-
memorii binare nilor av^and ^n gene-
ral valori continue
2.5 Exemple
1. Exemplu de retea feedforward pe doua straturi cu
functie de activare bipolara
neuronul 1
o1
+ comparator 1
o2
+ comparator 2
o5
+ comparator 5
o3
+ comparator 3
o4
+ comparator 4
-1
intrare iesire intrare iesire
strat 1 strat 1 strat 2 strat 2
o = ; !Wx]
Pentru stratul 1: h it
o = ; o1 o2 o3 o4
h i
x = x1 x2 ;1 t
2 1 0 13
6 0 ;2 777
W1 = 664 ;10 1 05
0 ;1 ;3
Pentru stratul 2:
o = !o5 ]
h it
x = o1 o2 o3 o4 ;1
h it
W2 = 1 1 1 1 3 5
Raspunsurile primului strat se calculeaza astfel:
h i
o = sgn(x1 ; 1) sgn(;x1 + 2) sgn(x2 ) sgn(;x2 + 3) t
Raspunsul pentru al doilea strat este:
o5 = sgn(o1 + o2 + o3 + o4 ; 3 5):
Observam ca o5 = +1 daca si numai daca o1 = o2 = o3 = o4 = 1. Rezulta ca
aceasta retea este o aplicatie a spatiului bidimensional x1 x2 ^n punctele 1.
2.5. EXEMPLE 41
x2
x1
0 1 2 3
Sa presupunem acum ca avem aceeasi arhitectura, dar ca neuronii au carac-
teristici sigmoidale. Obtinem:
2 2
;1 3
1+e(1;x1 )
66 77
66 ; 1 777
6 2
1+e(x1 ;2)
o = 666 77
66
64
2
1+e(;x2 )
; 1 7777
5
2
1+e(x2 ;3)
;1
o5 = 1 + e(3 5;o 2;o ;o ;o ) ; 1:
1 2 3 4
∆ ponderea=+1
∆ ponderea=-1
comparator ok+1
3
x03 + 3
comparator o4k+1
x04 + 4
∆
∆
net 1 o1
1
R C1
R12 R21
2 o2
net 2
R C2
:
12
>
: C2 dnet = o ;net ; net
2 1 2 2
dt R21 R
Discretizam:
8 k+1
k t k netk
>
< net1 = net1 + R C (o2 ; netk1 ) ; RC $t 1
:
12 1 1
>
: netk2+1
netk
= net2 + R C (o1 ; net2 ) ; RC $t
k t k
21
k
2
2
2
Presupunem ca C1 = C2, R12 = R21 < 0 pentru aceasta retea. Presupunem ca
circuit a fost initializat prin ^ncarcarea condensatoarelor (cu o01 , o02 , nu neaparat
egale). Reteaua ^si cauta unul din cele doua puncte de echilibru (g. 2.28).
Simularea retelei se face pe calculator prin ecuatiile date.
o2
1
x
-1 1 o1
x
-1
Figura 2.28: Modul ^n care reteaua ^si gaseste cele doua puncte de echilibru.
Presupunem ca aceasta retea este instruita folosind multimea de vectori de in-
trare: 2 1 3 2 1 3 2 0 3
6 7 6 7 6 7
x1 = 664 1;25 775 x2 = 664 ;;025 775 x3 = 664 ;11 775 :
0 ;1 5 15
Consideram c = 1. Presupunem pentru ^nceput ca avem neuroni bipolari binari:
f (net) = sgn(net).
x1
x2
o
x3
x4
w2 = w1 + sgn(net1 )x1 = w1 + x1
2 1 3 2 1 3 2 2 3
6 7 6 7 6 7
w2 = 664 ;01 775 + 664 1;25 775 = 664 1;35 775 :
05 0 05
Pasul 2. Se aplica x2.
2 1 3
h i6 7
net2 = w2tx2 = 2 ;3 1 5 0 5 664 ;;025 775 = ;0 25
;1 5
2 1 3
6 7
w3 = w2 + sgn(net2 )x2 = w2 ; x2 = 664 ;32 55 775 :
2
Pasul 3. Se aplica x3.
net3 = w3tx3 = ;3
2 1 3
6 7
w4 = w3 + sgn(net3 )x2 = w3 ; x3 = 664 ;43 55 775 :
05
Sa presupunem acum ca functia de activare este continua si bipolara. Luam
= 1 si pornim din nou de la w1.
Pasul 1. Se aplica x1.
2 1 905 3
6 81 77
f (net1 ) = 0 905 w1 = 664 ;1 2357 75
05
Pasul 2. Se aplica x2.
2 1 828 3
6 772 77
f (net2) = ;0 077 w2 = 664 ;12 512 75
0 616
Pasul 3. Se aplica x3.
2 1 828 3
6 77
f (net3 ) = ;0 932 w3 = 664 ;2 3447 75 :
;0 783
Se observa ca pentru functia de activare continua se obtin ^n general rezultate ^n
aceeasi directie, valorile ind ^nsa mai diferentiate.
46 CAPITOLUL 2. CONCEPTE FUNDAMENTALE
2.6 Exercitii
1. Folositi neuronul McCulloch-Pitts pentru a elabora retele care implemen-
teaza urmatoarele functii logice:
(a) ok+1 = xk1 ok2 o03k , unde x03k este complementul lui xk3 . Se va folosi un
neuron.
(b) ok+2 = x01k xk2 x03k . Se vor folosi doi neuroni ^n cascada.
(c) ok+2 = xk1 xk2 . Se vor folosi doi neuroni ^n cascada.
2. Aratati ca retelele neurale din gura 2.30 sunt echivalente (implementeaza
aceeasi functie). Se presupune ca:
(
f (net) = 01 net 0 :
net > 0
2.6. EXERCITII 49
1
x1
1/2
+ f(net) 1
1 o
-1 1 + f(net)
3/2
x2 + f(net) -1
1 1/2
-1
1
x1
-1
1/2 2 o
-1 + f(net) + f(net)
1
x2 1 -1 1/2
-1
3. Reteaua din gura 2.31 este un convertor A/D si poate utilizata pen-
tru codicarea unei valori continue x ^ntr-un cod binar unipolar pe 4 biti
o3 o2 o1 o0 ). Analizati reteaua si gasiti pentru ce valori ale lui x se obtin
codicarile (0 0 0 0) : : : (1 1 1 1). Presupuneti ;1 x 16 si ca
(
f (net) = 01 net 0
net > 0 :
4. Reteaua din gura 2.32 foloseste neuroni cu functie de activare bipolara
continua ( = 1). S-a masurat ca o1 = 0 28 o2 = ;0 73. Gasiti vectorul
de intrare x = !x1 x2 ]t care a fost aplicat.
5. Reteaua din gura 2.33 cu functie de activare bipolara continua este proiec-
tata pentru a atribui vectorilor x1, x2, x3 clusterele 1 sau 2. Numarul
cluster-ului este identic cu numarul neuronului care produce cel mai mare
raspuns. Determinati din ce clustere fac parte vectorii:
" # " # " #
0 866 ; 0 985
x1 = 0 5 x2 = ;0 174 x3 = ;0 94 : 0 342
6. (C) Reteaua din gura 2.34 foloseste neuroni cu functie de activare bipolara
continua ( = 5) si implementeaza o aplicatie de la planul (x1 x2) la seg-
mentul jo1j < 1. Simulati functionarea retelei si tabulati functia o1 (x1 x2 )
pentru jx1 j < 2 5 si jx2 j < 2 5.
7. ^Invatare hebbiana pentru un neuron care este instruit cu:
" # " # " # " # " #
x1 = ;2 x2 = 1 x3 = 3 x4 = ;1 w = ;11
1 0 2 1 1
50 CAPITOLUL 2. CONCEPTE FUNDAMENTALE
-1
0,5
1 o0
+ f(net)
-1
-2
1,5
1 o1
+ f(net)
-1
-4
3,5 -4
o2
1
+ f(net)
-1
7,5 -8 -8 -8
1 o3
+ f(net)
o1
1
-1 2
f(net)
-1
x1
-1/2
1/2 o2
x2 3/4
f(net)
Figura 2.32: Retea neurala care foloseste neuroni cu functie de activare bipolara continua.
si c = 1. Gasiti ponderile nale pentru cazul c^and functia de activare este
(a) bipolara binara
(b) bipolara continua, = 1.
o1
x1 -0,966 f(net)
-0,259
0,906
o2
x2 0,423
f(net)
x1 1 f(net)
-1
-1
o1
f(net)
-1 -1
x2 1
f(net) 1
-1
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.
x1
x2
clasificator i 0 (x)=1 sau 2 sau ... sau R
...
clasa
xn
pattern-ul x
1 2 3 4 5 6 7 8 9 10
1112 .......
....... x i=0
xi =1
x2
(-10,10) H1
(20,10)
H3 (4,6)
H4 H2
x1
0
H1
g1(x)
1
g2(x)
2 1 Selector
2 clasa i0
x de
...
pattern maxim
...
R
gR(x)
comparator
pattern discriminator
g(x) clasa i0
x g(x)
discriminant
x2
g(x)>0
x1-x2 1_ clasa 1
izie
x1 P1 e dec
la nd
erp
hip
x1
| |
1 2 3
x2
P2
)=0
g(x
-1 clasa 2
x selector i0
...
w R1
g R(x)
...
+ R
w
1 R,n+1
wR
ponderi discriminanti
Sa observam ca suprafata de decizie Sij dintre regiunile contigue (alaturate,
vecine) Hi si Hj este un hiperplan:
gi(x) ; gj (x) = 0
sau: witx + wi n+1 ; wjt x ; wj n+1 = 0:
Daca denim: " #
y = x1
obtinem:
gi(y) = wit y:
Sa presupunem ca avem o multime H de pattern-uri pe care o ^mpartim ^n
submultimile H1 H2 : : : HR . Daca o masina liniara poate clasica pattern-urile
din Hi ca fac^and parte din clasa i, pentru i = 1 2 : : : R, atunci multimile Hi
sunt liniar separabile. Mai formal, daca exista R functii liniare pentru care:
gi(x) > gj (x) pt. x 2 Hi i = 1 2 : : : R j = 1 2 : : : R i 6= j
3.4. PERCEPTRONUL DISCRET CA DIHOTOMIZATOR LINIAR 59
x1
_
1
x2
|
0 1
w1
y1=x 1 comparator
w2
y2=x2
g(y) o=i0 i0 =1 sau -1
+
...
wn
yn=xn
wn+1
yn+1=1 -
d-o + d
+
pattern-ul 2 w2 pattern-ul 3
(clasa 2) (clasa 2)
w ty1 >0
y1 pattern-ul 1
5 (clasa 1)
w
pattern-ul 4 y4
(clasa 1)
w1
4
y2
y5
1 pattern-ul 5
y3 (clasa 2)
3 2
w2
w ty1 >0
w ty1 =0
w ty1 <0
y1 w1
(clasa 1)
w1
unde c > 0 este incrementul de corectie. Repet^and ajustarea de c^ateva ori, indife-
rent de valoarea lui c, ajungem cu ponderile ^n regiunea corecta, unde wty1 > 0.
Sa presupunem ca ponderile initiale sunt w1. De data aceasta, discutam
despre pattern-ul y1 din clasa 2 (g. 3.12).
^In acest caz, y1 nu este clasicat corect, deoarece w1ty1 > 0. Descrestem c^at
mai rapid pe wty1 , deci ^n directia gradientului negativ:
w0 = w1 ; cy1:
Procedura de instruire supervizata este, asadar:
w0 = w1 cy1
unde "+" este valabil c^and se clasica gresit un pattern din clasa 1, iar "-" este
valabil c^and se clasica gresit un pattern din clasa 2. Atunci c^and pattern-ul este
clasicat corect, nu se face nici o corectie. Procedura se repeta iterativ pentru
toate pattern-urile de instruire. Vom vedea ca aceasta formula este aceeasi cu
regula de ^nvatare a perceptronului discret (sectiunea 3.8).
Sa rezumam clasicarea pattern-urilor liniar separabile apartin^and la doar
doua clase. Se cauta un vector w astfel ^nc^at:
wty > 0 pentru x 2 H1 :
wty < 0 pentru x 2 H2
Perceptronul se instruieste pornind cu un vector al ponderilor care este ales ar-
bitrar si cu un increment de corectie ales, de asemenea, arbitrar. Se ajunge la
un vector w = wk , k0 ind numarul iteratiilor necesare pentru instruire. ^In
0
continuare,
w = wk = wk +1 = : : : :
0 0
w2
w1 w ty1 >0
w ty1 =0
w ty1 <0
y1
(clasa 2)
w1
y1 =x1
...
o
yn =xn
yn+1 =1 E generator d
de eroare
Figura 3.13: Modelul folosit la instruirea unui perceptron continuu folosit ca dihotomizator
liniar.
Problema modicarii ponderilor se rezolva foarte elegant prin minimizarea
functiei care masoara eroarea de clasicare, iar aceasta minimizare se realizeaza
prin folosirea gradientului (g. 3.13). Se porneste de la un vector w arbitrar si
se calculeaza rE (w), gradientul functiei eroare curente. Urmatoarea valoare a
lui w este obtinuta ^ndrept^andu-ne ^n directia gradientului negativ de-a lungul
suprafetei multidimensionale a erorii. Directia gradientului negativ este cea a
descresterii cea mai rapide. Luam deci:
wk+1 = wk ; rE (wk )
64 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
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
y1 =x1 w1
...
f(net)
wn
yn =xn
wn+1
yn+1 =1
f(net)
1_
net
T=wn+1
-1
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.
adica, daca:
dk 6= ok ) wk+1 = wk cyk :
O alta varianta a acestei teoreme este cea formulata de Rosenblatt (1957) si
de Minsky si Papert (1969):
T2. Daca pattern-urile de intrare sunt din f;1 0 +1gn, atunci un
perceptron ^nvata ^ntr-un numar nit de pasi sa clasice corect pat-
tern-urile, presupun^and ca acestea sunt liniar separabile.
Trebuie sa notam ca:
1. Ponderile initiale pot numere reale oarecare.
2. Nu ^l putem determina pe k0 deoarece depinde de w , unde w este un
vector solutie pentru ponderi. Deci ar trebui sa ^l cunoastem a priori pe w
pentru a determina numarul de iteratii. De asemenea, k0 depinde de w1.
Ne punem acum problema ce se ^nt^ampla c^and aplicam algoritmul percep-
tronului asupra a doua clase de pattern-uri care nu sunt liniar separabile. Se
poate demonstra urmatoarea teorema:
T3. Pentru o secventa nita de pattern-uri de instruire cu n com-
ponente din f;1 0 +1gn, algoritmul de instruire a perceptronului va
executa, ^ntr-un numar nit de pasi, exact una dintre urmatoarele
doua variante:
1. Produce un vector al ponderilor pentru care perceptronul clasi-
ca corect toate pattern-urile de instruire, daca si numai daca
aceste pattern-uri sunt liniar separabile.
2. Paraseste si reviziteaza un vector al ponderilor, daca si numai
daca pattern-urile de instruire nu sunt liniar separabile.
Se pot face acum urmatoarele observatii:
1. Rezulta astfel o procedura de testare a liniar separabilitatii.
2. Nu se cunoaste o limita superioara pentru c^at ar dura acest test.
^In nal, se poate demonstra urmatoarea teorema:
T4. Daca pattern-urile de instruire au componente reale, algoritmul
de instruire a perceptronului poate sa nu convearga catre o solutie,
chiar daca pattern-urile sunt liniar separabile (constanta de ^nvatare
ind oarecare).
Cu alte cuvinte, atunci c^and pattern-urile de instruire au componente reale
oarecare, alegerea unei constante de ^nvatare adecvate devine critica si aceasta
constanta nu mai poate un numar real pozitiv oarecare.
68 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
w11
w12 comparator o1
+ 1
w1,n+1
...
w21
comparator o2
x w22 + 2
...
w2,n+1
-1
...
wR1
wR2 comparator oR
...
wR,n+1
+ R
3.8 Exemple
Exemplu de construire a unui clasi cator liniar
Avem urmatoarele pattern-uri (3.18):
" # " # " #
x1 = 2 10 x2 = ;5 x3 = ;55
2
70 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
w11
w12 o1
w1,n+1
...
x
...
-1
wR1
wR2 oR
wR,n+1
...
cu n = 2 si R = 3.
Folosim formula
wi = xi
wi n+1 = ; 12 xti xi i = 1 2 : : : R:
si obtinem ponderile:
2 3 2 3 2 3
10 2 ; 5
w1 = 64 2 75 w2 = 64 ;5 75 w3 = 64 5 75 :
;52 ;14 5 ;25
Din formula:
gi(x) = witx + wi i+1 i = 1 2 ::: R
obtinem functiile discriminant
g1(x) = 10x1 + 2x2 ; 52
g2(x) = 2x1 ; x2 ; 14 5
g3(x) = ;5x1 + 5x2 ; 25:
Din
wit x + wi n+1 ; wjt x ; wj n+1 = 0
sau din gi(x) ; gj (x) = 0, obtinem:
S12 : 8x1 + 7x2 ; 37 5 = 0
S13 : ;15x1 + 3x2 + 27 = 0
S23 : ;7x1 + 10x2 ; 10 5 = 0:
3.8. EXEMPLE 71
x2
S13
P3 (-5,5)
H1
H3 S 123 P1 (10,2)
x1
S23
S12
P2 (2,-5)
H2
Figura 3.18: Suprafetele de decizie pentru un clasi cator liniar. S123 = (2 337 2 686).
x1 10
2 g1(x)
x2 + 1
-52
1
x1 2
g2(x) selector i 0 =1 sau 2 sau 3
-5
x2 + 2 de maxim
-14,5
1
x1 -5
5 g3(x)
x2 + 3
-25
1
Figura 3.19: Clasi catorul liniar care implementeaza regiunile de decizie din gura 3.18.
w1
y1 =x1 comparator
net
+
w2
y2 =1
d-o -
+ d
+
Pasul 2. Aplicam y2
h i " ;0 5 #!
o2 = sgn ;1 5 2 75 1 =1
d2 ; o2 = ;2
" #
;1
w = w + y2 = 1 75 :
3 2
Pasul 3. Aplicam y3
o3 = ;1
d3 ; o3 = 2
" #
4 3 2
w = w + y3 = 2 75 :
Pasul 4. Aplicam y4 . Dupa citirea lui y4 , nu se modica ponderile. Reciclam
secventa y1, ..., y4 deoarece nu stim daca perceptronul a reusit sa ^nvete sa
clasice corect.
3.8. EXEMPLE 73
Pasul 5. Aplicam y1
w5 = w4 :
Pasul 6. Aplicam y2
w6 = w5 :
Pasul 7. Aplicam y3 h i
w7 = 2 5 1 75 t :
Pasul 8. Aplicam y4
w8 = w7 :
Reciclam din nou si obtinem:
w10 = w9 = w8 = w7
h i
w11 = 3 0 75 care sunt ponderile nale:
Exemplu de instruire a unui dihotomizator liniar cu aju-
torul unui perceptron continuu
Reluam exemplul din cazul discret. Valoarea erorii la pasul k este:
2
Ek = 21 dk ; 1 + e2;netk ; 1
unde netk = wkty. Lu^and yk = yk , pentru k = 1 2 3 4, obtinem:
1 2 2
E1 (w) = 2 1 ; 1 + e;(w +w ) ; 1 :1 2
E3 (w) = 2
!1 + e3w +w ]2
1 2
E4(w) = 2 :
!1 + exp(2w1 ; w2)]2
Luam = 0 5 si facem calculele conform algoritmului. Deoarece o nu poate
niciodata 1, vom lua de obicei pentru d valorile -0,9 si 0,9.
74 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
10 comparator o1
x1
2
+ 1
-5
2 comparator o2
x2 -5 + 2
5
50
12,5 comparator oR
-1 23 + R
2 3 2 3 2 3
1 10 ;9
w12 = w11 w22 = w21 w32 = 64 3 75 ; 64 2 75 = 64 1 75 :
;1 ;1 0
Pasul 2. (y2) 2 3
6 2 7
sgn 1 ;2 0 4 ;5 5 = 1
2 ;1 3
2
sgn 0 ;1 2 64 ;5 75 = 1
2 ;1 3
2
sgn ;9 1 0 64 ;5 75 = ;1
;1
2 3 2 3 2 3
6 1
7 6 2
7 6 ;1 7
w1 = 4 2 5 ; 4 ;5 5 = 4 3 5
3
w23 = w22 w33 = w32:
0 ;1 1
Pasul 3. (y3)
sgn (w13t y3) = 1
sgn (w23t y3) = ;1
sgn (w33t y3) = 1
2 3
4
w14 = 64 ;2 75 w24 = w23 w34 = w33:
2
Se ^ncheie primul ciclu, apoi reluam secventa etc. Se modica doar ponderile
primului perceptron.
2 3 2 3 2 3
2 7 5
w15 = w14 w16 = 64 3 75 w17 = 64 ;2 75 w18 = w17 w19 = 64 3 75 :
3 4 5
Obtinem o retea de perceptroni pentru care:
o1 = sgn(5x1 + 3x2 ; 5)
o2 = sgn(;x2 ; 2)
o3 = sgn(;9x1 + x2 ):
S-au produs regiuni deh indecizie (^in g 3.22, sunt zonele umbrite). De exem-
t
plu, pentru Q avem o = 1 1 ;1 : Pe de alta parte, pattern-uri ca acest Q
nu au fost utilizate la instruire.
76 CAPITOLUL 3. PERCEPTRONI MONOSTRAT
x2
5x1 +3x2 -5=0
-9x 1+x 2=0
P3 (-5,5)
t
o=[+1 -1 -1]
t
o=[-1 -1 +1] P 1 (10,2)
x1
-x 2 -2=0
o=[+1 +1 -1]t
P2 (2,-5)
o=[-1 +1 -1] t
3.9 Exercitii
1. (C) Implementati algoritmul de instruire ah unui dihotomizator
it cu ajutorul
unui perceptron discret lu^and c = 1, w = 0 0 0 0 si
h it h it h it
clasa 1, x: h 0 8 0 5 0 i h 0 9 0 7 0 3 i h 1 0 8 0 5 i
t t t
clasa 2, x: 0 0 2 0 3 02 01 13 02 07 08 :
^Incercati si alte valori pentru c.
1 2 3 1 2 3
4 5 6 4 5 6
7 8 9 7 8 9
[ 1 0 0 1 0 0 1 1 1 ]
3 clasa 1
clasa 2
D
C
E
A
1
B
2
Figura 4.1: Doua multimi de pattern-uri care trebuie clasi cate ^n doua categorii.
Fiecare dintre cele sapte compartimente (inclusiv A,...,E) sunt aplicate ^ntr-
unul din v^arfurile cubului, ^n spatiul o1o2 o3 (spatiul o). Se observa ca ^n spatiul
imagine o, pattern-urile din cele doua clase sunt usor separabile printr-un plan,
de exemplu prin planul o1 + o2 + o3 = 0. Perceptronul cu intrarile o1, o2, o3 este
un dihotomizator liniar:
(
o4 = sgn( o1 + o2 + o3) > 0 : clasa 1
sgn(o1 + o2 + o3) < 0 : clasa 2 :
4.2 Regula de ^
nvatare delta pentru o retea de
neuroni monostrat
Fie o retea monostrat de perceptroni de tip continuu (g. 4.3) ^n care daca
yJ = ;1, atunci wkJ , k = 1 2 : : : K sunt chiar valorile pragurilor celor K
neuroni.
^In aceasta retea, o = ; !Wy], unde:
2 y1 3 2o 3 2 w w ::: w 3
1J
66 y2 77 66 o12 77 66 w1121 : :12: 77
y = 66 ... 77 o = 66 .. 77 W = 66 .. 77
4 5 4 . 5 4 . 5
yJ oK wK 1 : : : wKJ
4.2. REGULA DE ^INVAT
ARE DELTA 81
o3
(-1,-1, 1) A (-1, 0, 1) C
(-1, 1, 1)
(1,-1, 1)
comparator o1
+ 1 B (1, 1, 1)
x
comparator o2 comparator o4
+ 2 + 4 (-1, 1, 0)
1 + comparator o3 (1,-1, 0)
3 0
transformare imagine (-1,-1,-1) D o2
pattern-imagine -1 liniar separabila
(-1, 1,-1)
(1,-1,-1)
(1, 1,-1) E
o1
(a) (b)
Figura 4.2: (a) Clasi
cator monostrat (b) Reprezentarea pattern-urilor din
gura 4.1 ^n spatiul
imagine o.
w11
1
y1 o1
wk1
wK1
...
...
wkj ok
yj
...
...
K
yJ wKJ oK
y1
z1 v 11
v 11 w11
wk1
1
o1
...
yj
zi v ji
wkj
...
ok
...
zI-1
...
w K1
yJ-1 K
oK
v J-1,I
w KJ
zI = -1 v JI yJ = -1
unde K !
@E = @ 1 X
@yj @yj 2 k=1 fdk ; f !netk (y)]g :
2
Dar
@yj
f 0i(netj ) = @net
j
@E = ; XK @ (f !net (y)])
( d k ; ok ) k
@yj k=1 @yj
XK
= ; (dk ; ok )f 0(netk ) @net@y
k
k=1 j
XK
= ; ok wkj
k=1
deoarece
ok = (dk ; ok )f 0(netk )
X
J
netk = wkj yj :
j =1
Atunci:
X
K
yj = f 0j (netj ) ok wkj j = 1 2 ::: J
k=1
X K
$vji = f 0j (netj )zi ok wkj j = 1 2 : : : J i = 1 2 : : : I:
k=1
86 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
Ultima relatie este regula delta generalizata. Aceasta regula se poate rescrie ^n
felul urmator:
X
K
v0ji = vji + f 0j (netj )zi ok wkj j = 1 2 ::: J i = 1 2 ::: I
k=1
sau, matriceal:
V0 = V + y zt
unde 2 3 2 3 2 3
66 z..1 77 6 v11
...
:::
...
v1I 7 y
... 7 y = 66 ... 77
5 V = 64
1
z=4 . 5 4 5:
zI vJ 1 ::: vJI yJ
^In aceasta relatie,
X
K
yj = f 0j (netj ) ok wkj
k=1
sau
y = wjt of 0 y
unde wj este coloana j din W, iar
2 0 3
66 f ..y 77 1
f y = 4 . 5:
0
f 0yJ
Pentru cazul unipolar, folosim f 0yj = yj (1 ; yj ), iar pentru cazul bipolar avem
f 0yj = 21 (1 ; yj2).
Compar^and regulile de actualizare a ponderilor:
pentru stratul de iesire: W0 = W + oyt
pentru stratul ascuns: V0 = V + y zt
se observa ca diferenta semnicativa este indicele care localizeaza stratul si modul
^n care se calculeaza vectorul semnalului de eroare :
h it
o = h o : : : oK i ok = (dk ; ok )f 0ok (netk )
1
t
y = y : : : yJ
1 yj = wjt o f 0yj (netj ):
Se observa ca wjt o este produsul scalar al semnalelor de eroare provenind de la
stratul urmator.
Regula delta generalizata propaga eroarea cu c^ate un strat ^n urma. Vom
formaliza ^n continuare aceasta metoda de instruire pentru o retea neurala mul-
tistrat.
4.4. ALGORITMUL DE INSTRUIRE BACKPROPAGATION 87
k=1
88 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
4.5 Factori ai ^
nvatarii
Algoritmul de instruire prin propagarea ^n urma a erorii poate interpretat ca
o problema de optimizare: se minimizeaza eroarea medie cumulata Em , merg^and
pe directia gradientului negativ.
O dicultate tipica ar ca prin acest algoritm se poate sa obtinem doar un
minim local pentru functia eroare. Prin faptul ca impunem o valoare minima
acceptabila pentru Em , putem controla acest lucru. Se poate ^nsa sa nu avem o
convergenta a algoritmului, daca ne ^ndreptam spre un minim local ^n loc de a
ne ^ndrepta spre un minim global. Este de fapt un algoritm de tip greedy.
Totusi, problema minimelor locale nu este o problema majora a acestui al-
goritm. Aceasta deoarece algoritmul are o natura stohastica: exista o anumita
randomizare ^n instruire. Cu c^at reteaua este mai mare, cu at^at mai bine va
functiona instruirea. Natura stohastica este data at^at de ponderile initiale, c^at
si de pattern-urile de instruire. Chiar c^and pattern-urile de instruire au o natura
determinista, adaugarea unui zgomot cu medie zero poate duce al ^mbunatatirea
ecientei instruirii.
Instruirea functioneaza cel mai bine ^n conditii de randomizare. De aceea,
ponderile initiale se aleg cu valori aleatoare, iar pattern-urile de instruire este
bine sa e ^ntr-o secventa aleatoare.
90 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
Sa studiem acum efectul lui asupra lui f 0(net) (g. 4.5). Avem
;net
f 0(net) = (12+ee;net )2
pentru functia de activare continua bipolara.
f’(net, λ )
λ=2
λ=1
λ=0,5 net
k=0 k
!
unde Jk = 0 pentru k > J .
2-clasa 1
1 1,3,5,7-clasa 2
2 3
4,6-clasa 3
4 6
5
7
h(x)
H(w,x)
h(x)
H(w,x)
h1
h2
x
0 a x1 x2 xp b
{
∆x
Denim functia
8
>0
< pentru x < 0
(x) = 12 sgn(x) + 12 = > nedenit pentru x = 0 :
:1 pentru x > 0
Scriem atunci:
X
P $x $ x
H (w x) = hi! x ; xi + 2 ; x ; xi ; 2 ]
i=1
unde hi = h(xi ).
4.6. APROXIMATORI UNIVERSALI 93
Putem scrie:
x ; xi + $2x ; x ; xi ; $2x =
1 sgn x ; x + $x ; 1 sgn x ; x ; $x :
i i
2 2 2 2
Acest termen este o fereastra de ^naltime unitara si latime $x (g. 4.8).
implementare cu
perceptroni de tip discret
1- implementare cu
perceptroni de tip continuu
x
0 x −∆ x
i
___________ x i +∆ x
x i ___________
2 2
-1 + comparator
1 1/2
−∆x
____ o
xi 2
+
1
-1 comparator -1/2
+∆ x
+ 2
-1 ____
2
Figura 4.9: Retea neurala care implementeaza fereastra de ^naltime unitara si latime x.
O retea cu 2P perceptroni discreti poate implementa functia H (w x). Pentru
un termen, reteaua se poate descrie ca ^n gura 4.10.
^In general, o functie h(x), unde x este un vector, poate aproximata printr-o
retea neurala cu un singur strat ascuns. ^In ce masura reteaua este instruibila (de
pilda, prin regula delta generalizata), ram^ane o problema deschisa.
Fara a demonstra, vom mentiona doua importante proprietati:
1. O retea feedforward cu un singur strat ascuns poate aproxima oric^at de
bine orice functie neliniara continua.
2. O retea feedforward cu un singur strat ascuns poate implementa o functie
booleana arbitrara.
94 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
x 1 x
1 + comparator
1 1/2 + 1
∆x
_______
xi - o o
2 + +
-1/2
+ comparator
2 + 2
-1 ∆x -1
xi + _______
2
(a) (b)
Figura 4.10: Implementare folosind (a) perceptroni de tip discret si (b) perceptroni de tip
continuu cu c^at este mai mare, cu at^at mai mult forma ferestrei se apropie de cea rectangulara.
...
...
m ym
xn
2n+1
4.8 Aplicatii
Retelele feedforward multistrat pot aplicate cu succes la multe probleme de
clasicare si de recunoastere. Pentru aceasta, nu este necesar sa e cunoscut
un model formal pentru clasicare sau recunoastere. Este sucient sa utilizam
o arhitectura potrivita si o multime sucienta de pattern-uri de instruire, apoi
aplicam algoritmul de instruire prin propagarea^n urma a erorii. Solutia se obtine
deci prin experimentare si simulare, nu printr-o abordare formala riguroasa.
Cu toate ca nu este foarte clar ce constituie o multime adecvata de pattern-
uri de instruire, sunt raportate o serie de aplicatii ^n recunoasterea vorbirii, a
semnalelor sonore etc.
Sa notam ca iesirile cu mai mult de doua valori pentru un neuron pot modela
incertitudinea. Modul conventional de a construi un sistem expert necesita un
expert uman care sa formuleze regulile cu ajutorul carora sa e analizate datele
de intrare. Numarul acestor reguli poate foarte mare. Pe de alta parte, de
96 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
1 1
1
2 2
...
K
...
...
I J
multe ori este dicil de formulat aceste reguli. Deoarece retelele neurale pot
instruite fara ca ele sa ^ncapsuleze cunostintele ^n reguli, sa vedem ^n ce masura
ele pot aplicate ca o alternativa la sistmele expert conventionale.
Retelele neurale pentru diagnosticare, defectoscopie, predictie, recunoasterea
formelor rezolva ^n esenta probleme de clasicare, asociere si generalizare. Aceste
retele pot achizitiona cunostinte fara sa extraga reguli de tip IF-THEN de la un
expert uman. Dupa instruire, ele pot functiona ca sisteme expert. Ceea ce
va lipsi este explicarea: un sistem expert neural nu poate explica utilizatoru-
lui rationamentul deciziilor luate. Numim aceste sistem expert sisteme expert
conexioniste.
Atunci c^and o retea instruita este testata cu un pattern substantial diferit
de cele folosite pentru instruire, raspunsul obtinut se presupune ca rezolva o
problema de generalizare. Exemple tipice de generalizare sunt diagnosticarea si
predictia. Figura 4.12 descrie functionarea unui sistem expert conexionist pentru
diagnostic medical.
^Intr-un sistem expert conventional, o dicultate este formularea si introduce-
rea regulilor de catre expertul uman. Sistemul expert conexionist poate ^nvata
din diagnosticul curent care a fost acceptat. O atentie speciala trebuie data
alegerii lui J . Daca J este prea mic, apar dicultati de aplicare a celor I intrari
^n cele K iesiri. Daca J este prea mare, creste inutil timpul de instruire si de
diagnosticare si ponderile sunt dicil de estimat corect.
O serie de aplicatii folosesc pattern-uri temporale care se obtin prin esantio-
narea unor semnale de tip continuu (g. 4.13).
4.9 Exemple
Exemplu de construire a unui clasi cator multistrat pentru
pattern-uri liniar neseparabile
Fie functia de decizie XOR:
4.9. EXEMPLE 97
x1 x2 iesirea
0 0 1
0 1 -1
1 0 -1
1 1 1
clasa 1 x2 o2
1
t
clasa 2 o=[-1 -1]
C
t B D 2
o=[1 -1] 1 r3
r1 1/2
C x1 o1
A 1
t
o=[-1 1]
r2
- -1
B
A,D o3 = 0
(a) (b)
Alegem:
1 : ;2x1 + x2 ; 12 = 0
2 : x1 ; x2 ; 12 = 0
98 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
^n mod arbitrar (g. 4.14a). Pentru aceste linii, vectorii normali unitari sunt:
h it
r1 = p15 h ;2 1 i
t
r2 = p12 1 ;1 :
x1 -2
comparator o1
1 + 1 1
x2 1 comparator o3
-1 1
+ 3
comparator 1
1/2 + 2 o2 -1
-1 1/2
-1
o0 = -1
0
3
o1 o5
1 5
4
o2
2
4 = o4 (1 ; o4 ) 5w54
$w50 = ; 5
$w53 = 5 o3
$w54 = 5 o4:
Apoi:
$w30 = ; 3 $w40 = ; 4
$w31 = 3o1 $w41 = 4 o1
$w32 = 3o2 $w42 = 4 o2:
Putem astfel sa construim prin instruire un clasicator multistrat pentru pattern-
urile liniar neseparabile din exemplul precedent (problema XOR cu doua vari-
abile). Denim matricile:
h i " #
W = w50 w53 w54 w 30 w31 w32
V = w40 w41 w42 :
Pentru = 0 1 se ajunge dupa instruire la:
h i
W = ;3 967 ;8 160 ;5 376
" #
V = ;61 169 3 854 4 281
269 ;4 674 ;4 578 :
Dorim ca reteaua sa functioneze ca un clasicator cu iesiri binare. ^Inlocuim
neuronii de tip continuu cu neuroni binari si pastram ponderile pe care le-am
calculat pentru cazul continuu.
x2
-1/2
-1
-1/2
-3/2
1 1
1 o
x1 3
1 -1
2
1
x1 x2 1
x3
1/2
-1
3/2
1 x1
1
1
-2
2
o
1
1
x1 x2 1
0
-x 2 1
4.10 Exercitii
1. Pattern-urile liniar neseparabile
" # " # " # " # " #
x1 = 13 x2 = 33 x3 = 12 x4 = 22 x5 = 32
" # " # " # " # " #
x6 = 225 x7 = ;02 x8 = 10 x9 = 30 x10 = 50
4.10. EXERCITII 101
1 o1
z1 1
-2 0
3
-2
z2
2
0 1
-1 1 o2
-1
-1
5. Reteaua din gura 4.19, daca a fost instruita corect, trebuie sa raspunda
cu o1 = 0 95 si o2 = 0 05 la pattern-ul de intrare
2 3 2 3
64 zz12 75 = 64 13 75 :
;1 ;1
Ponderile au fost initializate ca ^n gura. Se alege = 1, iar neuronii
folosesc functia de activare
f (net) = 1 + 1e;net :
Analizati un pas al algoritmului de instruire prin propagarea ^n urma a
erorii realiz^and urmatoarele operatii:
(a) Gasiti matricile ponderilor, V, W.
(b) Calculati netj , y, netk , o.
(c) Calculati f 0(netj ) si f 0(netk ).
(d) Calculati o si y .
(e) Calculati $V si $W.
(f) Gasiti noile valori pentru V si W.
6. (C) Implementati algoritmul de instruire prin propagarea ^n urma a erorii
pentru I , J , K si selectabile si un singur strat ascuns. Folositi perceptroni
bipolari de tip continuu.
7. (C) Elaborati clasicatorul pentru literele A, I si O denite ca ^n gura
4.20, cu ajutorul programului de la exercitiul 6. Presupuneti doua tipuri
de reprezentari interne:
4.10. EXERCITII 103
8. (C) Elaborati o retea pentru pattern-urile liniar neseparabile din gura 4.21
folosind programul scris la exercitiul 6.
(a) Selectati un numar potrivit de neuroni ^n stratul ascuns. Folositi K =
104 CAPITOLUL 4. RETELE NEURALE FEEDFORWARD MULTISTRAT
x1
1-
clasa 1
clasa 2
3/4 - clasa 3
1/2 -
1/4 -
x2
| | | |
0 1/4 1/2 3/4 1
107
108 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
-1 T1
v1 w21 i1 1 v1
w12
-1
T2
v2 i2 2 v2
... wn1
...
wn2
w2n
vn
in n vn
-1 Tn
Regula se aplica asincron, adica pentru c^ate o singura valoare a lui i la un moment
dat. Se porneste de la v0. Pentru k = 1, avem n actualizari. Pentru ^nceput se
actualizeaza vi1, unde numarul neuronului i este aleator. Pentru ceilalti neuroni,
iesirile ram^an aceleasi. Se calculeaza apoi vj1, j 6= i, j aleator etc., p^ana se com-
pleteaza v1 . Apoi se calculeaza v2 etc. Acest algoritm particular de actualizare a
ponderilor este cunoscut ca o recursivitate stohastica asincrona a retelelor Hop-
eld. Trebuie sa facem distinctie ^ntre algoritmul asincron si cel sincron (paralel)
descris de formula:
vk+1 = ;!Wvk + i ; T] k = 0 1 : : :
Conform acestei formule, toti neuronii ^si pot modica simultan iesirile. ^In al-
goritmul asincron, dupa ce se calculeaza vik+1, aceasta valoare ia locul lui vik
particip^and la calculul celorlalte componente din vk+1. Procesul continua p^ana
se calculeaza toate valorile din vk+1. Pentru ecare k = 1 2 : : :, avem n ac-
tualizari aleatoare individuale, la nivel de neuron. Algoritmul se opreste c^and
vk+1 = vk .
Reprezent^and vectorul de iesire ^n f;1 1gn, acesta se misca dintr-un v^arf al
cubului n-dimensional ^ntr-un v^arf adiacent, p^ana c^and se stabilizeaza ^ntr-unul
din v^arfuri. Pozitia nala a lui vk , pentru k ! 1, este determinata de ponderile
initiale, pragurile initiale, intrari, v0, dar si de ordinea tranzitiilor.
Urmatoarele probleme sunt deschise: daca sistemul are atractori si daca sis-
temul se stabilizeaza.
Pentru a evalua proprietatea de stabilitate, vom deni functia energiei com-
putationale:
E = ; 21 vt Wv ; itv + Ttv
care este o forma patratica. Adica:
Xn X n Xn Xn
E = ; 21 wij vivj ; ii vi + Tivi:
i=1 j =1 i=1 i=1
i6=j
Fie vik+1 ; vik = $vi , adica presupunem ca nodul i s-a modicat la momentul k.
Modicarea este asincrona, deci se refera doar la neuronul i. Calculam
rE = ;Wv ; it + Tt
^n care am tinut cont ca W este simetrica. Incrementul energiei este
$E = rE t $v
unde 2 0 3
66 .. 77
6 . 7
$v = 666 $vi 777 :
64 ... 75
0
110 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
Atunci:
$E = (;0witv ; ii + Ti)$vi 1
Xn
$E = ; @ wij vj + ii ; TiA $vi pentru i 6= j
j =1
$E = ;neti $vi
Pentru functia de activare sgn(), din relatia 5.1 avem:
daca neti < 0 ) $vi 0
daca neti > 0 ) $vi 0
daca net1 = 0 ) $vi = 0:
Adica, avem mereu neti $vi 0 si $E 0. Aceasta ^nseamna ca energia retelei
poate doar sa scada sau sa ram^ana constanta. Presupun^and ca neti 6= 0, atunci
$E = 0 daca si numai daca $vi = 0. Cu alte cuvinte, E scade strict daca si
numai daca $vi 6= 0 si E ram^ane constanta daca si numai daca $vi = 0. Daca
neti = 0, atunci $vi = 0, deci $E = 0.
Pentru o stare stabila, adica pentru un atractor,^n cazul unei scheme asincrone
avem:
vk+1 = klim
!1
sgn(Wvk + i ; T):
Am aratat ca energia este necrescatoare. Ea este, ^n mod evident, si marginita,
ceea ce ^nseamna ca E ^si atinge minimul.
Daca algoritmul de actualizare a ponderilor este sincron, se poate ^nt^ampla
ca algoritmul sa cicleze ^ntre doua pattern-uri complementare. Acest lucru este
ilustrat de exemplul de mai jos.
" h # i
W = ;01 ;01 v0 = ;1 ;1 t
" #" # " # " #
0
v = ; ;1 0; 1 ;1 sgn(1) 1
1 = sgn(1) = 1
1
" #
;
v = ;;11 etc.
2
Vom vedea ca pattern-urile complementare corespund unor nivele identice ale
energiei.
...
wn2
w n1
g1 g2 gn
u1 u2 ... un
C1 C2 Cn
_ _ _
v1 v2 vn
v1 v2 vn
Figura 5.2: Retea neurala de tip gradient care foloseste componente electrice.
Vom exemplica un model de retea neurala de tip gradient prin folosirea unor
componente electrice (g. 5.2). Pentru a pastra notatia originala a lui Hopeld,
tensiunile ui sunt de fapt neti . Ponderile wij sunt conductante. Iesirile inversate
v'i sunt folosite pentru a modela conductante negative, adica inhibitorii. Avem:
wij = wji si wii = 0 pentru i j = 1 : : : n:
Neuronii pot interpretati ca amplicatori: curentul prin conductanta gi este
amplicat de neuronul i (g. 5.3). Ci i = 1 : : : n sunt capacitati.
Folosind acest model de neuron, putem scrie legea lui Kirchho:
0 1
X
n BXn C dui
@ wij + giCA = Ci dt :
ii + wij vj ; ui B (5.2)
j =1 j =1
j 6=i j 6=i
Partea st^anga a acestei ecuatii reprezinta curentul total care intra ^n conden-
satorul de capacitate Ci. Notam conductanta totala care este conectata la in-
112 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
ii
wi1
v1
ui vi
(v1 -u i)w i1 f(u i )
...
win g i Ci
vn -g iu i _
du
Ci i
(vn -u i )w in dt
trarea neuronului i cu
X
n
Gi = wij + gi:
j =1
Atunci, ecuatia 5.2 se poate scrie:
X
n
ii + wij vj ; uiGi = Ci dui
dt :
j =1
Fie matricile:
h i h i
C = diag C1 C2 : : : Cn G = diag G1 G2 : : : Gn
2 3 2 3 2 3
u1(t) 7 v 1 (t) i1
u(t) = 664
... 7 v(t) = 66 ... 77 i = 66 ... 77
5 4 5 4 5
un(t) vn(t) in
unde u(t) este vectorul starilor, iar v(t) reprezinta vectorul iesirilor. Avem:
8 du(t)
< C dt = Wv(t) ; Gu(t) + i ecuatia starilor
>
>
: v(t) = f (u(t)) ecuatia iesirilor
Sa studiem stabilitatea sistemului descris de aceste ecuatii. Functia energiei
care ne permite sa analizam modelul continuu este:
Xn Z vi
E (v) = ; 12 vt Wv ; itv + Gi fi;1(z)dz
i=1 0
unde fi;1(z) este inversa functiei de activare fi. Aceasta formula contine termenul
Tt v din functia energiei discrete
; 21 vtWv ; itv + Tt v
5.2. RETELE HOPFIELD CU TIMP CONTINUU 113
^n termenul al doilea, iar ultimul termen este specic cazului continuu si dispare
pentru ! 1. Avem:
d G Z vi f ;1(z)dz = G u
dvi i 0 i i i
u=f -1 (v)
-1 +1
| |
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.
Poz. 2
A Poz. 3
Poz. 1
E D
B
C Poz. 4
Poz. 5
Fie orasele A, B,..., E si e acest ciclu. ^Il reprezentam prin tabelul 5.1, unde
vxi este iesirea neuronului corespunzator orasului x si pozitiei i ^n ciclu.
A 0 1 0 0 0
B 0 0 0 1 0
orasul C 0 0 0 0 1
D 0 0 1 0 0
E 1 0 0 0 0
1 2 3 4 5
pozitia
Tabelul 5.1: Reprezentarea ciclului din
gura 5.5.
Pentru un ciclu care viziteaza toate v^arfurile, tabloul trebuie sa aiba un singur
1 pe ecare coloana si un singur 1 pe ecare linie. Pozitionam neuronii ^n acest
tablou de n n elemente, ^n ecare element pun^and un neuron. Vom avea exact n
5.3. APLICATIE: PROBLEMA COMIS-VOIAJORULUI 115
neuroni activi pentru solutie. Presupunem pentru o valoare mare, deci energia
este trunchiata:
Xn X n Xn
E = ; 12 wxi yj vxivyj ; ixivxi
x i=1 y j =1 x i=1
unde wxi yj este ponderea de la neuronul yj la neuronul xi. Observam ca domeniul
vectorilor v unde se minimizeaza functia E este format din cele 2n v^arfuri ale
2
^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.
E (W,i,v)=E (v)
se calculeaza W,i
se construieste reteaua
sau se elaboreaza
algoritmul de simulare
se initializeaza
reteaua cu conditii
initial neutre
se implementeaza
tranzitiile dinamice
punct de echilibru
care este solutie
STOP
Figura 5.6: Modul de rezolvare a unei probleme de optimizare folosind retele feedback monos-
trat.
5.4 Exemple
Retea Hop eld cu timp discret
Fie:
2 0 1 1 ;1 3
6 ;1 777 :
W = 664 11 0
1
1
0 ;1 5
;1 ;1 ;1 0
118 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
[-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)
x- _12
2x-2
i1 i0
g1 g0
u1 u0
Ω Ω
-2 -2
C1 C0
1 0
v1 v0
Figura 5.8: Convertor A/D pe doi biti implementat printr-o retea de tip gradient.
C0 du
dt
0
= x ; 1 + 2'v ; u (2 + g )
2 1 0 0
C1 du
dt = 2x ; 2 + 2'v0 ; u1(2 + g1):
1
2Ω 2Ω
_1
2Ω
_1
1Ω
+ i1 i0
+
+
− -1V − -1V −
xV
g1 g0
u1 u0
Ω Ω
2 2
C1 C0
1 0
_ _
v1 v0
Figura 5.9: Convertor A/D pe doi biti implementat printr-o retea de tip gradient si care foloseste
o tensiune de referinta de 1V.
" #
0 2
H = r E (v) = 2 0 :
2
Observam :
det H11 = 0" #
0 2
det H22 = 2 0 = ;4:
Matricea H nu este pozitiv sau negativ denita. E nu are deci minim sau maxim,
daca nu consider
a2m alte restrictii. Impunem restrictia ca spatiul de iesire sa e
patratul 0 1 . Atunci, minimele lui E sunt situate ^n v^arfurile patratului,
daca aceste minime exista. Se poate demonstra acest lucru pentru ! 1. Daca
v este o solutie pentru rE (v) = 0 si se a%a ^n interiorul patratului, atunci este
un punct sa. Rezulta ca pentru a gasi solutia avem doua posibilitati:
1. Rezolvarea numerica a sistemului de ecuatii diferentiale
2. Simularea retelei printr-un program de simulare a circuitelor electronice, de
exemplu SPICE.
122 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
u1 v1
Ω f1
-2
C1 R1
Ω
u2 -2 v2
f2
C2 R2
5.5 Exercitii
1. Simulati ^n SPICE convertorul A/D. Generalizati-l pentru patru biti.
2. Pentru reteaua neurala din gura 5.10, cu mare, gasiti:
(a) Ecuatiile starilor
(b) Ponderile (conductantele) W
(c) Functia energiei E (v) trunchiata
(d) rE (v).
_
u1 v1
Ω f1
1
C1 R1
Ω _
u2 1 v2
f2
C2 R2 1A
v1
5 1
-5
5
v2
2
-15
-5 v3
-15 3
5. Fie reteaua neurala din gura 5.12, cu mare. Evalu^and functia de energie
trunchiata, gasiti minimele, maximele si punctele sa^n ! ;1 1 ]3. Calculati
apoi valorile energiei ^n toate v^arfurile cubului.
6. O retea neurala este descrisa de ecuatiile:
(
dui = 1 Pn w v ; u G + i
dt Ci j =1 ij j i i i pentru i = 1 2 : : : n :
vi = f (ui)
Rezolvati numeric acest sistem.
124 CAPITOLUL 5. RETELE NEURALE FEEDBACK MONOSTRAT
x1 v1
x2 v2
...
...
xn vn
^In aceasta gura, x este vectorul intrarilor, v este vectorul iesirilor, x 2 <n,
v 2 <m si v = M !x], unde M este un operator neliniar matricial specic ecarui
tip de memorie. Structura lui M re%ecta o paradigma specica. Pentru memorii
dinamice, M implica si variabila timp.
Pentru un model de memorie dat, forma operatorului M este exprimata de
obicei ^n functie de vectorii prototip care trebuie stocati. Algoritmul care per-
mite calcularea lui M se numeste algoritm de ^nregistrare sau stocare. De obicei,
neuronii sunt asezati pe unul sau doua straturi.
Maparea v = M !x] este numita regasire. Notam prototipurile cu un indice
superior ^n paranteza.
Sa presupunem ca ^n memorie sunt stocati anumiti vectori prototip, astfel
^nc^at, daca se aplica un pattern cheie, iesirea produsa de memorie si asociata
cheii este raspunsul memoriei.
Presupun^and ca exista p perechi de asocieri stocate:
x(i) ! v(i) pentru i = 1 : : : p
si
v(i) 6= x(i) pentru i = 1 : : : p
atunci reteaua este o memorie heteroasociativa.
Daca aplicatia este de forma:
x(i) ! v(i)v i =x i pentru i = 1 : : : p
( ) ( )
x0 v0
M1
x0
vk+1
xk M2
x0
vk+2
xk M
∆ ∆
xk+1
M’ vk+1
W0 = FSt
unde W0 este o matrice de corelatie m n si
h i
F = f (1) f (2) : : : f (p)
h i
S = s(1) s(2) : : : s(p) :
Sa presupunem ca, dupa instruire, aplicam vectorul cheie s(j) . Atunci:
X
p !
v = f (i) s(i)t s(j)
i=1
= f s s + : : : + f (p) s(p)t s(j) :
(1) (1)t (j )
Am tinut cont si de faptul ca $(j) este statistic independent de s(j) , deci pot
considerati ortogonali, adica:
s(j)t $(j) = ks(j)t kk$(j)kcos
= 0:
Observam ca raspunsul memoriei este asocierea dorita f (j) , plus o componenta
aditiva datorata perturbatiei $(j) . Aceasta componenta contine ^n paranteza
aproape toti termenii lui W ponderati de $(j) . Chiar si ^n cazul ^n care vectorii
memorati sunt ortonormali, la f (j) se adauga un zgomot foarte mare. Metoda
este inecienta pentru a regasi un pattern perturbat.
130 CAPITOLUL 6. MEMORII ASOCIATIVE
Algoritmul de regasire
0 1
X n
vik+1 = sgn @ wij vjk A
j =1
Presupun^and ca pornim din v0 si ca se alege ^n mod aleator secventa m, p, q de
neuroni, avem:
Prima actualizare: v1 = ! v10 v20 : : : vm1 : : : vp0 : : : vq0 : : : vn0 ]t
A doua actualizare: v2 = ! v10 v20 : : : vm1 : : : vp2 : : : vq0 : : : vn0 ]t
A treia actualizare: v3 = ! v10 v20 : : : vm1 : : : vp2 : : : vq3 : : : vn0 ]t
6.3. MEMORII AUTOASOCIATIVE RECURENTE 131
w12 1
v1k
w1n
v2k w21 2
w2n
...
...
vnk wn1
wn2
n
...
Figura 6.5: Memorie Hop
eld autoasociativa.
Avem:
E (v) = ; 12 vtWv:
Am vazut ca energia este necrescatoare si reteaua se stabilizeaza ^ntr-unul din
minimele locale energetice.
Fie ;v complementul vectorului v.
Se observa ca E (v) = E (;v). Deci, un minim pentru E (v) are aceeasi
valoare cu un minim pentru E (;v). Cu alte cuvinte, tranzitiile memoriei se pot
termina ^n aceeasi masura at^at ^n v, c^at si ^n ;v. Factorul decisiv care determina
convergenta este similaritatea dintre v0 si v, respectiv ;v.
Algoritmul de stocare
Fie s(1) , ..., s(p) prototipurile bipolar binare care trebuie stocate. Algoritmul de
stocare pentru calcularea matricii ponderilor este:
X
p
W= s(m) s(m)t ; pI
m=1
sau
X
p
wij = (1 ; ij ) s(im) s(jm)
m=1
unde ij = 0 pentru i 6= j , ii = 1 si I este matricea unitate.
Matricea W este foarte similara cu matricea de autocorelatie obtinuta prin
^nvatare hebbiana ^n cazul asociatorului liniar autoasociativ. Diferenta este
ca wii = 0. Sistemul nu memoreaza vectorul s(m) , ci doar ponderile wij care
reprezinta corelatii ^ntre componentele acestui vector.
Oric^and se pot adauga noi autoasocieri aditionale la memoria existenta, prin
incrementarea ponderilor existente. Oric^and se pot elimina autoasociatori prin
decrementarea ponderilor existente. Regula de stocare este invarianta la ordinea
^n care sunt stocate prototipurile.
132 CAPITOLUL 6. MEMORII ASOCIATIVE
Daca avem vectorii unipolari s(1) , ..., s(m) , algoritmul de stocare trebuie modi-
cat astfel ^nc^at o componenta -1 sa ^nlocuiasca elementul 0 ^n vectorul unipolar
originar:
X
p
wij = (1 ; ij ) (2s(im) ; 1)(2s(jm) ; 1):
m=1
Sa observam ca regula de0 stocare este invarianta la operatia de complementare
binara. Stoc^and vectorul s (m) , complementar lui s(m) , obtinem:
0 = (1 ; X
p
wij ij ) (2s0(im) ; 1)(2s0(jm) ; 1):
m=1
Substituind s0 (im) = 1 ; s(im) , obtinem wij 0 = wij . Cu alte cuvinte, este indiferent
daca stocam un pattern sau complementul sau binar.
Algoritmul de stocare si regasire pentru o memorie autoasociativa recurenta
este urmatorul:
Aceasta explica intuitiv cum un pattern perturbat poate asociat celui mai
apropiat prototip stocat. Discutia este ^nsa valabila doar pentru valori mari ale
lui n.
Sa presupunem acum ca prototipurile stocate sunt ortogonale. Avem:
X
p !
net = s s
(m) (m)t
; pI s(m0 ) :
m=1
Deoarece s(i)t s(j) = 0 pentru i 6= j si s(i)t s(j) = n, obtinem
net = (n ; p)s(m0 ) :
Daca n > p, rezulta ca s(m0 ) este stabil. Functia de energie este:
E (v) = ; 21 vtWv
Xp !
= ;2v 1 t s s v + 21 vt pIv:
(m) (m)t
m=1
Daca p < c, atunci toate cele p pattern-uri stocate, sunt stabile cu probabilitatea
aproape 1. Oricum ar valoarea 0 < < 1=2, capacitatea unei memorii Hopeld
este deci ^ntre:
n=(4 ln n) < c < n=(2 ln n)
unde c depinde de fapt de toleranta la eroare, adica de . ^In loc de 2n pattern-uri,
putem stoca doar c pattern-uri!
Studiul lui McEliece et al. releva prezenta unor atractori ^n care nu au fost
memorate pattern-uri acestia au ^n general bazinele de atractie mai mici dec^at
cele ale pattern-urilor stocate.
Chiar daca numarul pattern-urilor ce pot stocate ^ntr-o memorie Hopeld
este destul de mic, aceste memorii au o serie de aplicatii ^n procesarea vorbirii,
baze de date, prelucrarea imaginilor.
McElice, R.J, Posner, E.C., Rodemich, E.R., Vankatesh, S.V. "The Capacity of the Hop
eld
1
Associative Memory". IEEE Trans. on Information Theory, 33, 1987, 461-482.
6.5. MEMORIA ASOCIATIVA BIDIRECTIONALA (MAB) 137
W
1 1
2 2
...
n
t
...
m
stratul A W stratul B
Termenul
X
p
= s(i+1) s(i)t s(k)
i=1
i6=k
este zgomotul, unde indicele de ^nsumare este modulo p + 1. Daca vectorii din S
sunt ortogonali, atunci = 0 si a = s(k+1) , dintr-un singur pas.
Asadar, daca la intrare avem s(k) , obtinem ^n mod circular:
s(k+1) ! s(k+2) ! : : : ! s(p) ! : : :
Daca vectorii din S nu sunt ortogonali, presupun^and ^nsa ca ei sunt stocati la
o DH << n, ^n general ne putem astepta sa obtinem totusi secventa corecta S
daca aplicam s(k).
Aceasta memorie poate stoca cel mult k secvente de lungimi p1 p2 : : : pk ,
unde:
Xk
p = pi p < n:
i=1
6.6 Exercitii
1. Asociatorul liniar trebuie sa asocieze urmatoarele perechi de vectori:
h it
s(1) = 1 1 1 1
! f (1) = ! 0 1 0 ]t
h 2 2 2 2
it
s(2) = 1
; 65 1 1
! f (2) = ! 1 0 1 ]t
h 2 6 6
it
s(3) = 1
2
1
6
1
6 ; 65 ! f =! 0 0 0 ]
(3) t
vectorii f (1) , f (2) , f (3) . Gasiti matricea W si vectorii f (1) , f (2) , f (3) care sunt
codicati ^n retea.
142 CAPITOLUL 6. MEMORII ASOCIATIVE
x1
1/6
1/2+1/6 v1
+
-2/6
x2
-2/6
v2
+
1/6
-1/2+1/6
x3
Retea
MAXNET
[ x1... x n] t Hamming t
[ y1k+1... yk+1
p ]
n/2
1 f(net )
w11 y1
1
1 1
w1n
...
...
n/2
wp1
1
wpn yp net
n
p 0 n
a) b)
Figura 7.2: a) Reteaua Hamming b) Functia de activare a neuronilor retelei Hamming. Zonele
^n care f (net) < 0 si f (net) > 1 sunt inactive pentru ca 0 net n.
de pozit
ii(m^)n care acesti doi vectori difera este ^nsa chiar distanta Hamming,
DH x s , prin denitie. Atunci:
xt s(m) = n ; DH x s(m) ;DH x s(m) :
| {z }
nr. de pozitii
^n care sunt egali
Obtinem:
1 xt s(m) = n ; DH x s(m) :
2 2
Luam: 2 (1) 3
66 s1(2)
: : : s(1)
n 7
WH = 12 666 s1 n 7
: : : s(2) 77
... 75
4 (p)
: : : s(np)
s1
unde factorul 21 folosese la scalare. La intrarea ^n nodul m, m = 1 : : : p avem:
netm = 21 xt s(m) + n2
= n ; DH x s(m) :
Se observa ca am adaugat termenul n2 . Luam f (netm ) = n1 netm , m = 1 : : : p.
Deoarece 0 netm n, avem 0 f (netm ) 1, m = 1 : : : p.
Avem:
1. Daca x = s(m) , atunci DH = x s(m) = 0 si netm = n, deci f (netm ) = 1.
7.1. RETELELE HAMMING SI MAXNET 147
2. Daca x este complementul lui s(m) , atunci DH x s(m) = n, netm = 0 si
f (netm ) = 0.
^In general, numarul neuronului cu cea mai mare iesire indica numarul clasei careia
^i este atribuit x, din punct de vedere al DH. Reteaua Hamming este, evident, de
tip feedforward.
Reteaua MAXNET (g. 7.3) este recurenta si are rolul de a transforma iesirile
din reteaua Hamming, astfel ^nc^at toate aceste iesiri sa devina 0, cu exceptia celei
maxime.
∆
∆
y1k y1k+1
1
−ε
−ε
y2k −ε y2k+1
1
−ε
−ε
ypk −ε ypk+1
1
f(net )
net
0 1
Figura 7.4: Functia de activare a neuronilor retelei MAXNET. Zona ^n care avem net > 1 este
inactiva.
y1
1
...
...
wm1
2 wm2
ym
wmn
...
...
n
yp
^In loc de kx ; xi k, putem folosi cos
ca si criteriu de similaritate ^ntre x si xi,
astfel ^nc^at x este "mai aproape" de xi daca
este mai mic. Este necesar ^nsa
sa normalizam vectorii x si xi, pentru ca altfel criteriul nu mai functioneaza: se
poate ca kx ; xik sa e mare, dar
sa e mic.
Reducem acum kx ; wm k ^n directia gradientului negativ al distantei:
rwm kx ; wm k2 = ;2(x ; wm)
$w^ m0 = (x ; w^ m)
unde este de obicei ^ntre 0,1 si 0,7. Celelalte ponderi nu se schimba. Avem
atunci: ( k+1 k k
w^ m = w^ m + x ; w^ mk :
w^ ik+1 = w^ ik i 6= m
Procesul continua pentru un nou pattern x. Parametrul se reduce monoton
si instruirea ^ncetineste pe parcurs. Vectorul modicat w^ mk+1 este normalizat si
intra ^n pasul urmator. ^In nal, ecare w^ i va reprezenta centrul de greutate al
unei regiuni de decizie, deci a unui cluster.
Functiile de activare ale neuronilor nu au relevanta, dar ^n general sunt de tip
continuu.
Obtinem ^n nal un clasicator ^n care pattern-ul de intrare x este asociat
gruparii m, unde ym = max(y1 : : : yp).
Dupa instruire, reteaua Kohonen poate folosita ca si clasicator. Pentru
aceasta, trebuie sa o calibram supervizat: se aleg p reprezentanti ai celor p clustere
si se aplica, etichet^and corespunzator cele p noduri cu iesirile respective. Astfel,
etichetam de fapt clusterele.
Ponderile initiale sunt luate, ^n general, ^n mod aleator, astfel ^nc^at sa acopere
uniform spatiul pattern-urilor.
Reteaua Kohonen are limitari legate de arhitectura monostrat: nu poate ma-
nipula ecient pattern-uri liniar neseparabile. Chiar si pentru pattern-uri liniar
separabile, ponderile pot sa se blocheze ^n regiuni izolate, fara sa formeze clus-
terele adecvate. ^In astfel de situatii, se reinitializeaza ponderile cu valori noi, sau
se adauga zgomot la vectorii pondere ^n timpul instruirii.
Daca numarul gruparilor este a priori necunoscut, se ia un p sucient de
mare. Pe parcursul instruirii, unii neuroni se vor comporta haotic, ponderile
catre ei nestabiliz^andu-se. Acesti neuroni nu reprezinta clustere, deci pot omisi
^n faza de utilizare a retelei.
Astfel de regiuni, cum este harta tonotopica, se numesc harti de trasaturi ordonate
(ordered feature maps). Vom studia ^n aceasta sectiune mecanismul prin care
aceste harti de trasaturi ordonate se pot dezvolta natural.
Cortexul este o suprafata de 2-4 mm grosime, av^and aproximativ 1m2 si
const^and din 6 straturi de neuroni de tip si densitate variabile. El are forma
pe care o cunoastem pentru a maximiza densitatea ^n craniu.
Vom studia un model al cortexului care este o suprafata bidimensionala de
elemente de procesare. Vectorii de intrare vor proiectati, prin reducerea dimen-
sionalitatii, pe aceasta suprafata, mentin^andu-se ^nsa ordinea ^ntre ei. Aceasta
suprafata este o harta care conserva topologia datelor de intrare (topology pre-
serving map). O astfel de harta este o harta cu auto-organizare si este instruita
nesupervizat. Neuronii biologici de pe suprafata mentionata au conexiuni laterale
a caror tarie depinde de distanta dintre neuronii respectivi (g. 7.6).
puterea conexiunii
0 distanta laterala de la
al i-lea neuron
Figura 7.6: "Palaria mexicana" descrie puterea conexiunii laterale a neuronilor biologici.
k=;k0
x i-1 i-1
xi i yi
x i+1 i+1
y2 y10 γk
y1
b
-3 -2 2 3 k
... -1 1
x1 x2 x10 -c
distanta
a) b)
iesirea y
i
2 15 pasi
4 pasi
0 pasi
1/2
1 3 8 10 i = nr. neuronului
Nm (t 1 )
Nm (t 2 )
m
A B C D E F GH I J K L MN OP Q R S T U V WX Y Z 1 2 3 4 5 6
x1 1 2 3 4 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
x2 0 0 0 0 0 1 2 3 4 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
x3 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 3 3 3 3 6 6 6 6 6 6 6 6 6 6
x4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 1 2 3 4 2 2 2 2 2 2
x5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6
Tabelul 7.1: Vectori 5-dimensionali.
B C D E * Q R * Y Z
A * * * * P * * X *
* F * N O * W * * 1
* G * M * * * * 2 *
H K L * T U * 3 * *
* I * * * * * * 4 *
* J * S * * V * 5 6
poate observa ca harta trasaturilor produsa prin auto-organizare are aceeasi struc-
tura ca si acest arbore. ^Inseamna ca am reusit sa pastram topologia dintr-un
spatiu 5-dimensional ^ntr-un plan. Distanta dintre vectorii xi si xj din spatiul
pattern-urilor: v u
uX5
kxi ; xj k = t (xik ; xjk )2
k=1
se mentine si ^n spatiul trasaturilor, unde devine o simpla distanta ^n plan.
Algoritmul de instruire tine cont at^at de relatiile topologice dintre datele de
intrare c^at si de istoricul datelor de intrare, adica de frecventa de aparitie a
pattern-urilor similare sau identice.
Acest algoritm are numeroase aplicatii ^n controlul robotilor, recunoasterea
vorbirii etc.
Un exemplu celebru este masina de scris fonetica (Kohonen, 1988), folosita
^n recunoasterea vorbirii.
La intrare avem un vector 15-dimensional. Semnalul vocal este convertit prin
FFT ^n semnal ^n frecventa acoperind pe 15 canale frecventele dintre 200Hz
si 5kHz. Fiecare fonem tinde sa ocupe un segment al spectrului 15-dimensional
Fourier. Cu toate ca spectrele unor foneme diferite se suprapun partial, un tablou
de neuroni este capabil, dupa instruire, sa extraga trasaturile fonemelor si sa le
proiecteze pe o harta plana. Reteaua neurala a fost instruita cu semnale spectrale
generate la ecare 9,83 ms de vorbirea continua. Esantioanele spectrului FFT au
fost folosite ^n ordinea lor naturala
Dupa instruire, anumiti neuroni devin sensibili la spectrul diferitelor foneme
(g. 7.13).
Harta a fost calibrata folosind foneme standard. Majoritatea celulelor au
156 CAPITOLUL 7. RETELE NEURALE CU AUTO-ORGANIZARE
A B C D E
F
G
H K L M N O P Q R
I S W
J T X 1 2 3 4 5 6
U Y
V Z
Figura 7.12: Arborele partial de lungime minima construit pe baza distantelor dintre vectori.
a a a ah h oe
o a a h r ...
o o a h r
...
...
^nvatat un singur fonem. Exista c^ateva celule care indica raspunsul a doua foneme
diferite, necesit^and o discriminare suplimentara. Pe aceasta harta, un cuv^ant
genereaza o traiectorie.
7.4 Exercitii
1. (C) Proiectati reteaua Hammimg si reteaua MAXNET asociata care reali-
zeaza clasicarea optima a vectorilor binari bipolari care reprezinta carac-
terele A, I si O din problema 7, capitolul 4 ^n termenii distantei Hamming
minime.
2. (C) Implementati algoritmul de instruire c^astigatorul ia tot pentru gru-
parea caracterelor C, I si T afectate de zgomot, ^n mod similar reprezentarii
folosite ^n problema anterioara. Presupuneti ca aceste caractere afectate de
7.4. EXERCITII 157
h(x)
1
u h(x)
x σ
x
−σ u +σ
159
160 CAPITOLUL 8. RETELE NEURALE RBF
h(u) = 1
unde este un parametru, iar u este o pondere. h(x) scade foarte rapid daca x
este diferit de u.
De aceasta data nu mai exista analogia cu potentialul membranei, cum este
cazul functiei de activare de forma f (xt w). De aceea, retelele de acest tip se
numesc "radial basis function neural networks". Ponderile nu se mai ^nmultesc
cu intrarile. Le vom numi totusi astfel, fara a crea confuzie.
Iesirea h(x) are un raspuns semnicativ doar pentru un interval de valori
ale lui x, acest interval ind domeniul receptiv al neuronului. Marimea acestui
domeniu este determinata de . Prin analogie cu distributia normala, u poate
valoarea medie, iar 2 dispersia functiei de activare a neuronului.
Forma generala a unei retele neurale bazata pe acest tip de neuron este cea
din gura 8.2.
u 11 h1 w11 y1 out 1
x1 σ1 Σ y1 /s
y2 out 2
x2 σ2 Σ y2 /s
h2
...
yn out n
xp u mp σm Σ yn /s
strat de intrari
hm
wnm strat de normalizari
strat ascuns Σ s
strat de iesiri
unde:
x = ! x1 : : : xp ]t
i este parametrul pentru al i-lea neuron ascuns si
ui = ! ui1 : : : uim ]t
este vectorul ponderilor dintre intrari si al i-lea neuron ascuns.
Fiecarui pattern ^nvatat ^i corespunde un neuron ascuns.
8.1. FUNCTII RADIALE 161
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.3 Discutie
Retelele cu functie de activare radiala sunt foarte rapide la instruire, dar lente la
utilizare. Procedeul de clustering poate util. Foarte importanta este alegerea
corecta a lui .
164 CAPITOLUL 8. RETELE NEURALE RBF
Capitolul 9
Retele neurale fuzzy
9.1 Logica fuzzy
9.1.1 De ce logica fuzzy?
^In 1985, Hitachi a instalat ^n Japonia un metrou controlat prin logica fuzzy.
Trenurile accelereaza mai rapid si uniform, economisind 10% energie comparativ
cu solutia conventionala.
^In Vest, interesul este ceva mai mic. Explicatia este probabil si traditia logicii
aristotelice binare care spune ca ceva exista sau nu exista. Filosoa si religia
orientale se bazeaza pe principiul ca ceva exista si, ^n acelasi timp, nu exista, de
exemplu YIN si YANG.
Atunci c^and nu au putut converti binar o informatie conform principiului
true/false, occidentalii au apelat la statistica. Astfel, probabilitatea ca o masina
sa e lenta sau rapida se exprima printr-un numar ^ntre 0 si 1. Logica fuzzy
produce acelasi rezultat, etichet^and masinile ^n functie de viteza cu numere ^ntre
0 si 1. Aceasta a produs o mare confuzie, ne^nteleg^andu-se diferenta dintre cele
doua demersuri. Vom vedea ^nsa ca diferenta este fundamentala.
Initiatorul logicii fuzzy este, paradoxal, un occidental: Zadeh ^n 1965.
Controlere fuzzy
Sistemele fuzzy au fost folosite foarte des ^n controlere. Aceste controlere sunt
usor de proiectat, uneori ^n c^ateva ore. Performantele lor sunt mai bune dec^at ^n
cazul controlerelor clasice. Proiectarea unui sistem fuzzy nu necesita cunostinte
de logica fuzzy. Vom demonstra aceasta proiect^and un controler fuzzy pentru un
lift.
Primul pas ^n proiectarea unui sistem fuzzy este sa decidem asupra unei
multimi de reguli fuzzy. ^In cazul nostru, ele sunt:
1. Daca liftul se ridica lent si pozitia sa este departe de pozitia dorita, atunci
mareste viteza.
165
166 CAPITOLUL 9. RETELE NEURALE FUZZY
2. Daca liftul se ridica cu o viteza medie si este aproape de pozitia dorita,
atunci micsoreaza viteza.
Exprimam acelasi lucru prin reguli IF-THEN:
1. IF viteza este SP (small positive) AND pozitia este LN (large negative)
THEN tensiunea motorului este LP (large positive).
2. IF viteza este MP (medium positive) AND pozitia este SN (small negative)
THEN tensiunea motorului este SP (small positive).
Sarcina controlerului fuzzy este sa proceseze aceste doua reguli, eventual si
altele, dupa ce a determinat pozitia si acceleratia.
O regula are doua parti: partea antecedenta si cea consecventa. Partea an-
tecedenta poate contine mai multe clauze legate prin AND, OR si NOT. O clauza
este, de exemplu "viteza este SP". Clauzele pot descompuse ^n variabile si ad-
jective. De exemplu, variabile sunt "viteza" si "pozitia", iar adjective sunt SP,
LN si LP.
Gradul ^n care o regula este relevanta ^ntr-o situatie masurata este acelasi
cu gradul ^n care antecedentul regulii este adevarat ^n sens fuzzy. Valoarea de
adevar fuzzy a unui antecedent depinde de valoarea de adevar fuzzy a ecarei
clauze ale sale si de operatiile logice care leaga aceste clauze.
^In logica fuzzy, ecarui adjectiv (cum este si SP) i se atribuie o functie de
apartenenta. Valoarea functiei de apartenenta este ^ntre 0 si 1. Data ind val-
oarea unei variabile, functia de apartenenta este folosita pentru a calcula valoarea
de adevar a acelei variabile.
Exemplu: Un barbat de 1,60 m ^n mod cert nu este "^nalt", deci functia de
apartenenta la multimea barbatilor ^nalti a acestuia are valoarea 0. Pentru 1,75m
avem o valoare ^ntre 0 si 1.
Folosind functiile de apartenenta fuzzy, ecarei clauze dintr-un antecedent i se
poate atribui o valoare de adevar fuzzy. Mai trebuie acum sa atribuim o valoare
de adevar ^ntregului antecedent.
Exemplu: Functia de apartenenta a vitezei la SP are valoarea 0,6 si functia de
apartenenta a pozitiei la LN are valoarea 0,8, deci valoarea de adevar a ^ntregului
antecedent este 0,6 pentru ca se considera valoarea minima.
Pasul nal consta ^n combinarea valorilor de iesire pentru cele doua reguli.
Acest proces se numeste defuzzicare. La acest proces, nu exista un consens
asupra modului de operare.
Tipul de defuzzicare ilustrat ^n gura 9.1 se numeste defuzzicare min-max.
^Intr-un sistem fuzzy, toate regulile actioneaza simultan asupra iesirii. La
iesire avem tensiunea corespunzatoare centrului de greutate al sumei regiunilor
9.1. LOGICA FUZZY 167
regula 1
0 0 0
MP SN SP
0,3 0,2
0 0 0 regula 2
0,1 m/s -10 m
viteza pozitia
(intrare) (intrare)
suma centrul de
tensiunilor greutate
(se ia max.)
x
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.
^In logica fuzzy, propozitiile pot avea valori de adevarat oriunde ^ntre 0 si 1,
deci paradoxul lui Russell nu mai exista.
Desigur, elimin^and toate restrictiile asupra imaginatiei, putem practic ex-
plica orice. De exemplu, sa consideram superstitiile popoarelor primitive care
explica fenomenele naturale cu ajutorul entitatilor supranaturale. Logicienii
conventionali acuza teoreticienii fuzzy de "constructie articala". Teoriile mate-
matice trebuie ^nsa judecate prin consistenta, frumusetea si utilitatea lor. Teoria
fuzzy satisface toate aceste cerinte.
Observatii matematice
Fie X o multime oarecare. Fie fA : X ! !0 1] o functie. Functia fA deneste o
multime fuzzy (^n X ), adica multimea A = f(x fA (x)jx 2 Xg. Functia fA este
functia de apartenenta la multimea A.
Apare un abuz de limbaj^ntre "multimea" fuzzy A si "functia" de apartenenta
la A. Acest abuz se datoreaza faptului ca denim o multime prin gradul de
apartenenta la aceasta multime, nu prin enumerarea multimii, cum suntem obis-
nuiti.
...
...
wN gM yM
xN
Toate intrarile si ponderile sunt valori reale, iar iesirile sunt valori reale ^n
intervalul !0,1]. Fiecare iesire poate asociata gradului de apartenenta (^n sen-
sul fuzzy), adica exprima ^n ce masura pattern-ul cu intrarile fx1 x2 : : : xN g
apartine unei multimi fuzzy. Avem:
z = h(w1x1 w2x2 : : : wN xN )
unde z este intrarea ^n NF, iar h este functia de agregare,
s = f (z ; T )
unde s este starea NF, f este functia de activare, iar T este pragul,
yj = gj (s) j = 1 : : : M
unde gj , j = 1 : : : M sunt functiile de iesire ale NF reprezent^and gradele de
apartenenta ale lui fx1 : : : xN g la cele M multimi fuzzy. ^In general, ponderile,
pragul si functiile de iesire sunt modicabile ^n timpul procesului de instruire.
Functia de agregare si functia de activare sunt xe. Se pot deni multe tipuri de
NF prin schimbarea functiilor f si h.
Denim acum patru tipuri de NF.
1. un NF de intrare este un NF folosit ^n stratul de intrare a unei RNF (retele
de neuroni fuzzy), av^and doar o singura intrare x, astfel ^nc^at z = x.
2. un MAX-NF are functia de agregare:
z = maxi=1 ::: N (wixi):
4. un COMP-NF (NF competitiv) are pragul variabil si o singura iesire, astfel
^nc^at:
(
y = g(s ; T ) = 01 dac as<T
daca s T
T = t(c1 c2 : : : cK )
unde s este starea NF, t este functia prag, iar ck , k = 1 : : : K sunt variabile
competitive ale NF.
9.2. RETELE NEURALE FUZZY 171
s1]
yij = P ij pentru i = 1 : : : N1 j = 1 : : : N2
1]
vmax
unde xij este valoarea pixelului (i j ), xij 0, iar Pvmax este valoarea maxima a
pixelilor pentru toate pattern-urile de intrare.
Al doilea strat consta din N1 N2 MAX-NF. Acest al doilea strat realizeaza
fuzzicarea pattern-urilor de intrare prin functia pondere w(m n). Starea celui
de-al (p q)-lea MAX-NF din al doilea strat este:
pq = maxi=1 ::: N (maxj =1 ::: N (w(p ; i q ; j )yij ))
s2] 1]
1 2
ypqm
2]
= gpqm(s2]
pq ) = :0 pq pqm 2
^n rest
1Kwan, H.K., Cai.Y "A Fuzzy Neural Network and its Application to Pattern Recognition",
IEEE Trans. on Fuzzy Systems, 2, 1994, 185-193.
172 CAPITOLUL 9. RETELE NEURALE FUZZY
g pqm(s[2]
pq)
Θ pqm s [2]
pq
0
α
[2]
pentru m = 1 : : : M .
Al patrulea strat este stratul de iesire si consta din M neuroni de tip COMP-
NF, c^ate unul pentru ecare pattern ^nvatat. Daca un pattern de intrare este
cel mai asemanator cu al m-lea pattern ^nvatat, atunci iesirea celui de-al m-lea
COMP-NF este 1, iar celelalte iesiri sunt 0. Avem:
s4]
m = zm = ym pentru
4] 3]
( m = 1 : :4]: M
0 daca sm < T
m ; T ] = 1 daca s4] = T pentru m = 1 : : : M
ym4] = g!s4]
m
T = maxm=1 ::: M (ym3]) pentru m = 1 : : : M
unde T este pragul de activare pentru toti neuronii din cel de-al patrulea strat.
Pasul 2. M = 0, k = 1.
Pasul 3. M = M + 1. Creeaza al M -lea MIN-NF ^n al treilea strat si al M -lea
COMP-NF ^n al patrulea strat.
pq = maxi=1 ::: N (maxj =1 ::: N (w(p ; i q ; j )xijk ))
pqM = s2] 1 2
0 1 Tf 0 35
0 1 1 6:
Dupa instruire, s-a testat RNF la recunoasterea unor pattern-uri perturbate,
rezultatele ind foarte bune.
9.2. RETELE NEURALE FUZZY 175
9.2.6 Concluzii
Timpul de instruire a RNF este mai mic dec^at ^n cazul instruirii prin propagarea
^n urma a erorii. Recunoasterea este si ea mai rapida. Sa observam ca aceasta
RNF ^nvata nesupervizat, ind ^n esenta un algoritm de clustering. Ulterior
instruirii, RNF este folosita ca un clasicator. Exista variante ale acestei RNF
care ^nvata ^n mod supervizat2 .
2Cai, Y., H.K. Kwan "Fuzzy Classi
cation Using Fuzzy Inference Networks". IEEE Trans.
Syst., Man, and Cyb., Part B: Cybernetics, 28, 1998, 334-374.
176 CAPITOLUL 9. RETELE NEURALE FUZZY
Capitolul 10
Algoritmi genetici
Natura a demonstrat puterea geneticii. Cei ce vor sa multiplice performantele
sistemelor biologice, chiar partial, nu pot ignora modul ^n care acestea s-au dez-
voltat, cum au evoluat.
Algoritmii genetici sunt mijloace prin care masinile pot emula mecanismele
selectiei naturale. Acesti algoritmi sunt simpli, robusti si generali. Cu retelele
neurale au ^n comun urmatoarele:
nu sunt necesare cunostinte asupra spatiului de cautare
consuma uneori mult timp
sunt paraleli prin natura lor
ambele metode se aplica unor probleme similare.
De aceea, de multe ori algoritmii genetici si retelele neurale se aplica ^mpreuna.
De exemplu, algoritmii genetici se pot aplica pentru accelerarea procesului de
instruire a retelelor neurale. ^In mod ciudat, printr-un algoritm genetic se poate
obtine algoritmul genetic care rezolva o problema data.
10.1 Introducere
Metodele conventionale de optimizare se bazeaza pe ajustarea parametrilor unui
model pentru a produce un rezultat dorit. La retelele neurale, prin instruire se
modica iterativ ponderile conexiunilor, astfel ^nc^at sa se produca relatia dorita
^ntre intrari si iesiri. De remarcat ca este mentinuta o singura solutie care este
optimizata ^n mod iterativ.
Algoritmii genetici opereaza optimizari conform tehnicilor cunoscute ^n ge-
netica biologica: se modica si se mentin caracteristicile unei populatii de solutii
(indivizi) pe parcursul unui mare numar de generatii. Acest proces produce
populatii succesive av^and un numar din ce ^n ce mai mare de indivizi cu carac-
teristicile dorite. Ca si ^n natura, procesul este probabilistic, dar nu complet
aleator. Dupa cum vom vedea, regulile geneticii retin caracteristicile dorite prin
177
178 CAPITOLUL 10. ALGORITMI GENETICI
10.2 Exemplu
Dorim sa minimizam valoarea unui sir binar, considerat aici ca un numar binar.
Vom efectua urmatorii pasii:
1. initializare
2. reproducere
3. ^ncrucisare
4. mutatie
5. repeta pasii 2-4.
Initializare
Fiecare sir este generat ca un numar binar aleator. Pornim cu urmatoarele sase
siruri:
i sirul Ai val. zecimala fi pi
1 011010 26 0,0385 0,142
2 001011 11 0,0909 0,334
3 110110 54 0,0185 0,068
4 010011 19 0,0526 0,194
5 100111 39 0,0256 0,094
6 010110 22 0,0455 0,168
Total 0,2716 1
Ca functie obiectiv se alege (val. zecimala);1.
001011
110110
011010
010011
010110
100111
Procesul continua pentru sirurile A3 si A4 , av^and ^ntregul aleator 4 si pentru
sirurile A5 si A6 av^and ^ntregul aleator 3. Obtinem sirurile:
011011
001010
000011
011011
100110
010111
Mutatie
Biologic, ea perturba caracteristicile populatiei, ^n mod aleator, prevenind de-
generarile. Cele mai multe mutatii mai mult distrug dec^at sa e benece. De
aceea, mutatia trebuie sa e rara, pentru a nu distruge specia. Pe de alta parte,
ea e necesara. ^In simularea noastra, vom presupune o rata a mutatiei de 1/1000
biti, mutatia ^nsemn^and aici o inversare de bit. Deoarece avem 36 de biti ^n
populatie, probabilitatea unei mutatii este 0,036. Presupunem ca nu are loc nici
o mutatie la acest pas. Obtinem astfel a doua generatie:
i sirul Ai val. zecimala fi pi
1 011011 27 0,037 0,064
2 001010 10 0,10 0,174
3 000011 3 0,333 0,578
4 011011 27 0,037 0,064
5 100110 38 0,0263 0,046
6 010111 23 0,043 0,075
Total 0,576 1
Observam ca totalul functiei obiectiv a crescut vizibil.
^Intregul proces se reia, obtin^and urmatoarele generatii.
^In general, populatia poate sa creasca sau sa scada de la o generatie la alta.
Acest proces continua p^ana c^and functia obiectiv atinge o valoare acceptabila
pentru o anumita generatie. Convergenta este, ^n general, rapida.
Se poate^nt^ampla sa ajungem la o degenerare, de exemplu daca cele sase siruri
sunt 000011. De aici putem iesi doar astept^and o mutatie favorabila. Aceasta
poate avea loc doar dupa multe generatii. Astfel se poate ^nt^ampla si ^n natura,
unde o specie poate suferi o adaptare neoptima pentru milenii, p^ana c^and apare
un organism mai bine adaptat care ajuta la perfectionarea speciei.
Reproductie
Presupunem ca la momentul t exista m reprezentanti (m siruri) ai schemei H ^n
generatia A(t). Vom scrie: m = m(H t). Conform algoritmului de reproductie,
un sir Ai este copiat ^n generatia urmatoare cu probabilitatea pi = Pfifj . Pre-
supunem ca selectam n siruri distincte din A(t) pentru urmatoarea generatie,
A(t + 1), cu "reintroducere". Avem:
m(H t + 1) = m(H t) n fP(Hf )
j
unde f (H ) este valoarea medie a functiei obiectiv pentru sirurile care reprezinta
schema H la P momentul t.
Fie f' = nfj valoarea medie a functiei obiectiv pentru ^ntreaga populatie
(A(t) are n siruri). Atunci:
m(H t + 1) = m(H t) f (fH '
):
^Incrucisare
Fie l = 7 si e:
A = 0111000
H1 = *1****0
H2 = ***10**
Sirul A reprezinta schemele H1 si H2. "Taietura" dupa care se executa ^ncruci-
sarea se alege aleator, echiprobabil ^ntre cele 6 posibilitati. De exemplu:
A = 011|1000
H1 = *1*|***0
H2 = ***|10**
^Incrucisarea are loc prin schimbarea primelor 3 caractere din A. Observam
ca H1 este distrusa, deoarece 1 si 0 vor plasate ^n siruri diferite. H2
supravietuieste ^nsa. Probabilitatea ca H1 sa e distrusa este mai mare, deoarece
(H1) > (H2). Probabilitatea ca H1 sa e distrusa este
pd = l(;H11) = 65 :
Probabilitatea ca H1 sa supravietuiasca este
ps = 1 ; pd = 16
. Similar, pentru H2, pd = 61 .
Nu am considerat deocamdata situatia ^n care, prin operatia de ^ncrucisare,
pozitiile xate din schema nu se modica.
^In general,
ps = 1 ;l ; (1H ) :
Fie pc probabilitatea ca sa efectuam operatia de ^ncrucisare. Avem:
ps 1 ; pc l (;H1) :
Se foloseste semnul pentru ca acum tinem cont si de situatia ^n care, prin
operatia de ^ncrucisare, pozitiile xate nu se modica.
Consideram acum efectul combinat al reproductiei si ^ncrucisarii. Presupu-
n^and ca aceste doua operatii sunt independente obtinem:
!
f (H )
m(H t + 1) m(H t) f' 1 ; pc l ; 1 : ( H )
Mutatie
Alteram o pozitie xata cu probabilitatea pm, deci supravietuieste cu probabili-
tatea 1 ; pm . O schema H supravietuieste daca ecare dintre cele o(H ) pozitii -
xate supravietuieste. Rezulta ca probabilitatea ca o schema H sa supravietuiasca
este (1 ; pm)o(H ) . Pentru valori mici ale lui pm , aceasta probabilitate se poate
aproxima cu 1 ; o(H )pm, conform inegalitatii Bernoulli: Oricare ar a ;1 si
n natural, avem:
(1 + a)n 1 + na:
Tin^and cont de toate operatiile genetice, obtinem (rotunjit):
!
f (H ) ( H )
m(H t + 1) m(H t) f' 1 ; pc l ; 1 ; o(H )pm :
Observam ca schemele cu ordin mic sunt favorizate.
^In nal, putem formula urmatoarea teorema:
Teorema Fundamentala a Algoritmilor Genetici (Holland,
1975). Schemele cu valoare a functiei obiectiv peste medie, cu lun-
gimea de denitie si ordinul mici, cresc exponential ^n generatiile
urmatoare.
Am vazut ca ^ntr-o populatie de n siruri de lungime l sunt procesate ^ntre 2l
si n2l scheme. Nu toate aceste scheme sunt procesate cu o probabililitate mare,
datorita operatiilor de ^ncrucisare si mutatie (schemele lungi sunt distruse).
Se poate demonstra ca numarul de scheme efectiv procesate este ^n ordinul
lui n3 , tin^and cont si de operatiile de ^ncrucisare si mutatie.
Cu alte cuvinte, cu toate ca se proceseaza n siruri la ecare generatie, un
algoritm genetic proceseaza de fapt ^n ordinul lui n3 scheme. Aceasta proprietate
deneste paralelismul implicit al unui algoritm genetic. Manipul^and n elemente,
procesam de fapt aproximativ n3 similaritati.
Acestui paralelism implicit i se datoreaza faptul ca spatiul cautarilor este
sucient de mare pentru ca algoritmul sa nu duca, ^n general, la un optim local
ci la unul global.
Fiind data o populatie de siruri, cu valorile respective ale functiei obiectiv, ne
punem problema de ce informatie dispunem pentru a ghida cautarea unor siruri
mai bune. Raspunsul este: similaritatile dintre siruri. Aceste similaritati sunt
descrise de schemele populatiei.
10.4 Exercitii
1. (C) Minimizati functia f (x y z) = x2 +y2 +z2 , x y z 2 !;512 512]. Folositi
siruri binare de lungime 10.
184 CAPITOLUL 10. ALGORITMI GENETICI
Capitolul 11
Puterea si complexitatea de
calcul a retelelor neurale
11.1 Masina Turing
Masina Turing este un model abstract de calculabilitate. O masina Turing este
formata dintr-o banda divizata ^n celule, innita la dreapta si dintr-un cap de
citire/scriere care la un moment dat este pozitionat exact asupra unei celule.
Fiecare celula poate contine cel mult un simbol. ^In plus, exista o multime nita
de stari care controleaza mutarile masinii. La o mutare, masina Turing, ^n functie
de simbolul din celula de banda pe care este pozitionat capul de citire/scriere si
de starea ^n care se a%a masina, efectueaza urmatoarele:
1. Trece ^ntr-o noua stare.
2. Scrie un simbol ^n celula pe care masina se a%a pozitionata, ^nlocuind ceea
ce era scris ^nainte (eventual poate tipari acelasi simbol).
3. Deplaseaza capul de citire o celula la dreapta sau st^anga, sau lasa capul de
citire/scriere pozitionat asupra aceleiasi celule.
Initial, capul de citire/scriere este pozitionat asupra celei mai din st^anga celule.
Primele n celule din st^anga, pentru un n 0, contin simboluri care reprezinta
datele de intrare, iar restul de celule, ^n numar innit, contin un simbol special
ce nu poate folosit pentru reprezentarea datelor de intrare (de obicei, blank).
Masina porneste dintr-o stare precis determinata, numita stare initiala. Unele
stari din multimea nita a starilor se numesc stari nale. Starile nale sunt de
doua tipuri: de acceptare si de respingere.
Multimea simbolurilor formeaza un alfabet (nit). Secventele nite de sim-
boluri se numesc cuvinte. O masina M accepta un cuv^ant w daca, pornind din
starea initiala, cu w ca data de intrare, ajunge, dupa un numar nit de pasi,
^ntr-o stare nala de acceptare.
Limbajul acceptat de o masina M este multimea (nita sau innita):
L(M ) = fwjM accepta wg:
185
186 CAPITOLUL 11. PUTEREA SI COMPLEXITATEA DE CALCUL
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
2 Ito, Y. "Finite Mapping by Neural Networks and Truth Functions", Math. Scientist, 17,
1992, 69-77.
3 Funahashi, K. "On the Approximate Realization of Continuous Mapping by Neural Net-
works", Neural Networks, 2, 1989, 183-192.
4 Hecht-Nielsen, R. "Theory of the Backpropagation Neural Network", In: "Neural Networks
for Perception", H. Wechsler (Ed.), Academic Press, 1992, 65-93.
11.3. REPREZENTAREA FUNCTIILOR BOOLEENE 189
+/-1 σ1 w01 q0
s0
v0
S sgn(h) = F ( σ1 ,..., σN )
...
...
+/-1 v2N-1
s2N-1
σN qN
2 -1
aratat ca functiile logice sub forma normala conjunctiva pot instruite folosind
doar un numar polinomial de exemple pozitive. ^In cazul functiilor ^n forma nor-
mala disjunctiva mai este nevoie, ^n plus, de ^nca un nivel de ^nvatare.
O problema interesanta este daca functia poate ^nvatata folosind doar putine
exemple si las^and-o apoi sa "generalizeze".
193
194 CAPITOLUL 12. CONSIDERATII EPISTEMOLOGICE
latoarele au fost dezvoltate initial pentru a rezolva probleme matematice, mai ales
aritmetice. Ulterior, s-a descoperit ca instructiunile folosite pentru calculul sim-
bolic pot utilizate si pentru procesarea limbajului natural. Aceasta descoperire
a fost un efect secundar ^n istoria dezvoltarii calculatoarelor. ^Inca nu s-a observat
ca o anumita generatie de calculatoare sa-si doreasca sa supravietuiasca!
Pentru a modela c^at mai bine sistemele neurale biologice, retelele neurale ar-
ticiale trebuie sa interactioneze cu lumea reala, cu obiectele naturale. Statistica
semnalelor naturale, de exemplu vorbirea, sunt complet diferite de statistica pre-
supusa ^n teoria matematica a probabilitatilor. Natura gaussiana a zgomotului
si distributia normala a datelor sunt ipoteze foarte proaste ^n acest context.
intrare iesire
automat
finit
Creierul care poate sa perceapa comportamentul unui alt creier mai mic tre-
buie sa aiba o complexitate de cel putin 109 ori mai mare dec^at complexitatea
creierului investigat (Stakermann2 ).
^In mod ironic, cunostintele deja achizitionate sunt pierdute ^n mod continuu
prin moartea indivizilor si trebuie restabilite de catre cei tineri.
^In concluzie, o identitate nu se poate autopercepe. Creierul biologic nu se
poate auto^ntelege.
Multimea de vectori x1, x2 , ..., xn este liniar dependenta daca exista c1, ...,
cm , nu toti nuli, astfel ^nc^at:
Xm
cixi = 0:
i=1
^In caz contrar, vectorii x1, x2, ..., xn sunt liniar independenti.
qPn 2
Norma euclidiana a unui vector: kxk = (xt x)1=2 = i=1 xi .
Produsul scalar a doi vectori x si y: xt y = Pni=1 xi yi = kxk kyk cos
unde
este unghiul dintre cei doi vectori.
Proprietate: xt y = kxkkykcos
, unde
este unghiul dintre x si y.
Se observa ca xty = yt x, deci produsul scalar este comutativ.
Vectorii x si y sunt ortogonali daca si numai daca produsul lor scalar este 0.
Daca vectorii nenuli x1 , x2 , ..., xn sunt doi c^ate doi ortogonali, atunci sunt
liniar independenti.
199
200 ANEXA A. COMPLEMENTE MATEMATICE
2 3 2 3 2 3
1 0 0
Exemplu: Vectorii x1 = 64 0 75, x2 = 64 1 75, x3 = 64 0 75 sunt doi c^ate doi
0 0 1
ortogonali si sunt independenti.
Exemplu: Gasiti produsul scalar dintre vectorii x si y, lungimea lor si unghiul
dintre ei, unde: 2 3 2 3
2 1
x = 64 1 75 y = 64 ;1 75
2 4
p
Solutie: xt y = 9, kxk = 3, kyk = 18, cos
= kxxkktyyk = p12 , deci
= 45o.
a) 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.
si obtinem
(x1 ; x2)t x + 12 (xt2x2 ; xt1x1 ) = 0:
Din
xt x = kxk2
obtinem urmatoarea ecuatie a mediatoarei:
(x1 ; x2 )tx + 21 (kx2 k2 ; kx1k2) = 0:
Ecuatia planului care trece prin trei puncte necoliniare este:
x y z 1
x1 y1 z1 1 = 0
x2 y2 z2 1
x3 y3 z3 1
Ecuatia planului care trece printr-un punct x(x1 y1 z1) si este perpendicular
pe vectorul n = !a b c]t este:
a (x ; x1 ) + b (y ; y1) + c (z ; z1 ) = 0:
Ecuatia planului care trece prin mijlocul segmentului (x1 y1z1 ), (x2 y2z2) si este
perpendicular pe vectorul x1 ; x2, unde x1 = !x1 y1z1 ]t , x2 = !x2 y2z2 ]t este:
(x1 ; x2)t x + 21 (jjx2jj2 ; jjx1jj2) = 0
4 5
@E
@xn
Proprietati:
a) rx(xt y) = y
b) rx(xt A y) = A y
c) rx(xt A y) = A x + At x
d) C^and lucram cu forme patratice, A este simetrica si avem A = At. Rezulta
rx(xt A x) = 2 A x.
Gradientul^ntr-un punct x0 al unei functii reprezinta directia cresterii maxime
a lui E (x). Gradientul reprezinta tangenta la curba pe directia de crestere si este
nul ^n punctele de maxim si minim.
Daca avem o functie E !x(t )] (nu neaparat o forma patratica), unde x este un
vector de n componente dependente de timp, atunci
dE !x(t)] = @E @x1 + + @E @xn = X
n @E
dt @x1 @t @xn @t i=1 @xi x_ i (t):
Observam ca
dE !x(t)] = !r E (x)]t x_ (t ):
x
dt
Exemplu: Fie: " # " 2t #
x(t) = x2 (t) = et :
x 1 (t)
este:
h i " # " 2t #
E !x(t)] = e2t t 2 3 et 1 2
" d 2 # " #
(x1 + 4x1x2 + 3x22 ) 2 x 1 + 4x2
rxE (x) = d (x2 + 4x1x2 + 3x2 ) = 4x1 + 6x2
dx 1
" dx 2t #1 2 2
x_ (t) = 2e1 :
204 ANEXA A. COMPLEMENTE MATEMATICE
Atunci
" #
dE !x(t)] = h 2e2t + 4t 4e2t + 6t i 2et = 2(2e4t + (4t + 2)e2t + 3t):
dt 1
Fie m functii:
E1 (x) = E1 (x1 x2 xn)
...
Em (x) = Em (x1 x2 xn)
Matricea iacobiana se deneste ^n felul urmator:
2 @E 1
@E1 3
I(x) = ddEx = 664 ... ... 77
@x @xn
1
... 5
@Em
@x1 @Em
@xn
Exemplu: Pentru:
h i
x = 2 1 t
E1(x) = x21 ; x1 x2
E2(x) = x1 x2 + x22
avem: " # " #
I(x) = 2x1x;2 x2 x1;+x21x2 = 31 ;42 :
Matricea hessiana a functiei E (x) = E (x1 xn ) se deneste astfel:
2 3
6
@ 2 E2
@x1
@2
@x1 @x2 @2
@x1 @xn 77
H(x) = r2xE (x) = rx !rxE (x)] = 664 ... ... ... ... 75 :
@2E
@x1 @xn
@2E
@x2 @xn @2E
@ 2 xn
Matricea hessiana este simetrica.
Exemplu: Pentru:
E (x) = (x2 ; x1 )2 + (1 ; x1 )2
avem:
" # " #
rxE (x) = 2 2x1x2;;x2x1; 1 r2xE (x) = 2 ;21 ;11 :
Deoarece determinantii principali sunt 4 si 2, matricea hessiana este pozitiv
denita.
A.6. PROBLEME DE OPTIMIZARE 205
2
dx
Daca x este un vector, generalizarea se face astfel:
(
rxE (x ) = 0
r2xE (x ) pozitiv denita :
Pentru a ^ntelege aceste conditii, sa consideram, de exemplu:
" #
x = xx12 :
Dezvoltam ^n serie Taylor ^n punctul x = x si retinem primii termeni ai dez-
voltarii:
E (x)
@E (x ) @E (x )
= E (x ) + (x1 ; x1 ) @x + (x2 ; x2 ) @x
1 2
1 @x22
+(x1 ; x1)(x2 ; x2 ) @ E (x ) :
2
@x1 @x2
Pentru $x1 = x1 ; x1 , $x2 = x2 ; x2, obtinem:
h @E(x) E(x) i " $x1 #
E (x) = E (x ) + @x 1 @x $x2
2
Lu^and " #
$x = $ x1
$x2
obtinem:
E (x)
1
= E (x ) + !rxE (x )]t $x + 2 $xt !r2xE (x )]$x: (A.1)
Daca E (x) are un minim ^n x . orice schimbare innitezimala $x ^n x trebuie
sa rezulte ^n E (x + $x) > E (x ). Pentru aceasta trebuie ca:
1. Gradientul ^n x sa scada si sa faca termenul liniar din A.1 sa e zero.
2. Hessiana ^n x sa e pozitiv denita, ceea ce va face forma patratica din
A.1 pozitiva, independent de $x.
206 ANEXA A. COMPLEMENTE MATEMATICE
y y y2
y1 y*=Φ(x) y1 y*=Φ(x)
y0 y0
y2 ∆y
∆x
x0 x1 x2 x x0 x1 x2 x
Se stie ca solutia exacta a acestui sistem are urmatoarea expresie analitica:
y = +(x) = 14 x ; 16
3 + 19 e4x :
16
Aproximati pe +(0 2), presupun^and ca nu aveti expresia analitica a lui +.
Avem:
h = 01
y00 = f (0 1) = 5
y1 = y0 + hf (0 1) = 1 + 0 1 5 = 1 5
y2 = y1 + hf (x1 y1) = 1 5 + 0 1 (1 ; 0 1 + 6) = 2 19:
Eroarea este:
j2 19 ; +(0 2)j = 0 32:
Lu^and o valoare mai mica pentru h, obtinem o eroare mai mica.
Fie acum un sistem de doua ecuatii diferentiale de ordinul I:
8 0
>
< x0 = f (t x y)
> y = f (t x y) :
: x(t0 ) = x0 y(t0) = y0
Cautam valorile aproximative x1 , x2 , ..., xn , .., y1, y2, ..., yn, ... ale solutiei exacte
x = +(t), y = ,(t) ^n punctele tn = t0 + nh. Avem:
x1 = hf (t0 x0 y0)
y1 = hg(t0 x0 y0):
^In general:
xn+1 = xn + hf (tn xn yn) = xn + hxn 0
yn+1 = yn + hg(tn xn yn) = yn + hyn0:
208 ANEXA A. COMPLEMENTE MATEMATICE
...
x_ n = fn(x)
care este echivalent cu x_ = f (x), unde x este vectorul starilor sistemului. Pre-
supunem ca f (0) = 0, adica x = 0 este un punct de echilibru. Vom formula o
conditie pentru ca x = 0 sa e asimptotic stabil, adica vectorul starilor sa tinda
catre zero c^and timpul tinde catre innit. Fie E (x) energia acumulata ^n sistem.
Teorema lui Liapunov. Daca E este o functie pozitiv denita pen-
tru care:
1. E este continua fata de toate componentele xi i = 1 2 : : : n
2. dEdxt(t)] < 0, adica functia energiei descreste ^n timp,
atunci originea este asimptotic stabila.
Functia E care satisface aceste conditii se numeste functia lui Liapunov. ^In
general, ea nu este unica.
x2 x2
dE/dt<0 dE/dt>0
t=0
x1 x1
0 0 t=0
traiectorie traiectorie
stabila instabila
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.
Denim:
Valoarea medie: m = P aipi = E ( ) P a2 p2 ;
Variant a (dispersia) : 2
= E ( ; E ( )) 2
= E ( 2
) ; ( E ( )) 2
=
(P ai pi)2
i i
Deviatia standard: .
Functia de repartitie a unei variabile aleatoare normale cu media m si dis-
persia 2 este:
F (x) = P ( < x)
Z x ; u;m
= p1 e du pentru ; 1 < x < 1
( )2
2 2
2 ;1
si este notata cu N (m 2 ). Distributia N (0 1) este standard. Functia de densi-
tate a lui N (m 2 ) este:
f (x) = F 0(x) = p1 e;
x;m
pentru ; 1 < x < 1:
( )2
2 2
2
Anexa B
Subiecte-tip pentru examen
1. Clasicatorul liniar, functia discriminant liniara.
2. Regula hebbiana.
3. Regula Windrow-Ho.
4. Deduceti regula delta pentru un neuron din conditia de minimizare a erorii.
5. Demonstrati ca functia energiei computationale:
1 Xn Z vi
E = ; 2 v Wv ; i v + Gi fi;1(z)dz
t t
i=1 0
215
216 ANEXA C. LINK-URI
Bibliograe
!1] Davis, L. "Handbook of Genetic Algorithms", Van Nostrand Reinhold, 1991.
!2] Dumitrescu, D., H. Costin "Retele neuronale teorie si aplicatii". Teora,
Bucuresti, 1999.
!3] Freeman, J.A., D.M. Skapura "Neural Networks: Algorithms, Applications,
and Programming Techniques". Addison-Wesley, Reading, Mass., 1991.
!4] Goldberg, D.E. "Genetic Algorithms - in Search, Optimization and Machine
Learning", Addison-Wesley, 1989.
!5] Hagan, M. T., H.B. Demuth, M. Beale "Neural Network Design". PWS
Publishing Co., Boston, 1996.
!6] Hassoun, M.H. "Fundamentals of Articial Neural Networks". The MIT
Press, Cambridge, Mass., 1995.
!7] Haykin, S. "Neural Networks - A Comprehensive Foundation". Macmillan
College Publishing Company, New York, 1999 (second edition).
!8] Hecht-Nielsen, R. "Neurocomputing", Addison-Wesley, Reading, MA, 1990.
!9] Kosko, B. "Neural Networks and Fuzzy Systems", Prentice Hall, Englewood
Clis, 1992.
!10] Masters, T. "Practical Neural Network Recipes in C++". Academic Press,
Boston, 1993.
!11] Michalewicz, Z. "Genetic Algorithms + Data Structures = Evolution Pro-
grams". Springer-Verlag, Berlin, 1994 (second edition).
!12] Muller, B., J. Reinhardt "Neural Networks - An Introduction", Springer-
Verlag, Berlin, 1990.
!13] Negoita, C.V., D.A. Ralescu "Multimi vagi si aplicatii ale lor", Ed. Tehnica,
Bucuresti, 1974.
!14] Stefan, Gh. "Functie si structura ^n sistemele digitale", Ed. Academiei, Bu-
curesti, 1991.
217
218 BIBLIOGRAFIE