Sunteți pe pagina 1din 232

Colecia PRELUCRAREA SEMNALELOR

REELE NEURONALE
Arhitecturi i algoritmi







Referent tiinific: Prof.dr.ing. tefan HOLBAN





Descrierea CIP a Bibliotecii Naionale



ISBN 973-9389-66-X
Prof.dr.ing. Virgil Tiponu ef lucr.dr.ing. Ctlin-Daniel Cleanu




REELE NEURONALE
Arhitecturi i algoritmi


Colecia PRELUCRAREA SEMNALELOR





EDITURA POLITEHNICA
TIMIOARA 2002

Copyright @ Editura Politehnica, 2002
Toate drepturile sunt rezervate editurii. Nici o parte din aceast lucrare nu
poate fi reprodus, stocat sau transmis prin indiferent ce form, fr acordul
prealabil scris al Editurii Politehnica.

EDITURA POLITEHNICA
Bv. Republicii nr.9
1900 Timioara, Romnia




Consilier editorial: Conf.dr.ing. Eugen CICAL
Prefa


Reelele neuronale artificiale (RNA) sunt recunoscute ca modele dominante
(paradigme) ale Inteligenei Artificiale (IA). Cu ajutorul lor i gsesc rezolvarea o
varietate larg de probleme din mediile tiinifice i inginereti.
Cartea se adreseaz studenilor de la facultile de Electronic i
Telecomunicaii, Automatic i Calculatoare, Informatic dar i tuturor acelora care
urmresc rezolvarea unor probleme complexe din varii domenii prin intermediul
metodelor conexioniste. Trebuie subliniat n acest context intenia autorilor de a oferi
o perspectiv inginereasc asupra domeniului reelelor neuronale artificiale,
accentundu-se cu precdere aspectele aplicative. Din acest motiv latura matematic
este redus la mimimul necesar coerenei lucrrii, rezultnd astfel i o accesibilitate
mai mare a discursului.
Prezenta lucrare trateaz aspecte legate de arhitectura i funcionarea
neuronului artificial i a principalelor tipuri de reele neuronale:
- RNA de tip perceptron;
- RNA bazate pe funcii radiale;
- RNA recurente;
- RNA cu auto-organizare.
Totodat se prezint i modaliti hibride de implementare a RNA n
conjuncie cu alte paradigme ale IA cum ar fi:
- Logica fuzzy;
- Algoritmii genetici;
- nvarea prin ntrire.
n finalul lucrrii este abordat problematica implementrii RNA iar n ultimul
capitol sunt prezentate cteva aplicaii ale reelelor neuronale. De menionat ilustrarea
anumitor aspecte reprezentative din cadrul acestei cri prin exemple dezvoltate cu
ajutorul mediului MATLAB v.6, ultima versiune existent la data redactrii
prezentului material.
Pentru aprofundarea aspectelor practice privind implementarea RNA este
recomandat utilizarea, n paralel cu acest material, a crii Reele neuronale.
Aplicaii aprut n Ed. POLITEHNICA i elaborat de aceeai autori.
Lucrarea a fost realizat, pe baza unei documentri efectuate la University of
STRATHCLYDE, Glasgow, Marea Britanie, n cadrul programului TEMPUS AC-JEP
13438-98 iar autorii in s mulumeasc pe aceast cale coordonatorilor acestui
program. Totodat exprimm mulumiri recenzorului pentru sugestiile utile exprimate
dup parcurgerea acestui material precum i cadrelor didactice de la University of
Strathclyde, Glasgow, pentru numeroasele discuii care au contribuit la finalizarea
acestei cri.
Contribuia autorilor la realizarea acestei cri este urmtoarea:
- Prof.dr.ing. V. Tiponu: Capitolele 1, 3, 8 i coordonarea ntregii lucrri;
- .l.dr.ing. C.D. Cleanu: Capitolele 2, 4, 5, 6, i 7.

Autorii













Cuprins


CAP.1 Introducere..pag.11
1.1 Reele neuronale artificiale definiie, proprieti...pag.11
1.2 Neuronul biologic.pag.12
1.3 Neuronul artificial....pag.15
1.4 Arhitecturi ale RNA.pag.18
1.5 Tipuri i algoritmi de instruire.pag.21
CAP.2 Reele neuronale de tip perceptron.pag.29
2.1 Introducere...pag.29
2.2 RNA de tip perceptron cu un singur neuronpag.29
2.2.1 Perceptronul simplu.pag.30
2.2.2 RNA Adaline. Algoritmul LMS..pag.32
2.2.3 Deducerea regulilor de modificare a ponderilor pentru cazul
perceptronului simplupag.34
2.2.4 Consideraii asupra valorii ratei de nvare (instruire)pag.35
2.2.5 Capacitatea perceptronului simplu...pag.36
2.3 RNA de tip perceptron cu mai multe straturi...pag.37
2.3.1 Algoritmul de antrenament..pag.37
2.3.2 Algoritmi rapizi de antrenament pentru RNA cu propagare
nainte a semnalului..pag.45
2.3.2.1 Metoda lui Newton...pag.45
2.3.2.2 Metoda LevenbergMarquardt.pag.46
2.3.2.3 Metode de tip cvasiNewton....pag.47
2.3.2.4 Metode bazate pe gradientul conjugat..pag.48
CAP.3 Reele neuronale bazate pe funcii radiale..pag.51
3.1 Introducere...pag.51
3.2 Problema interpolriipag.53
3.3 Strategii de nvare pentru RNA bazate pe funcii radiale..pag.55
CAP.4 Reele neuronale recurente..pag.59
4.1 Introducere...pag.59
4.2 RNA de tip Hopfield (RNA-H)pag.59
CAP.5 Reele neuronale cu autoorganizare...pag.63
5.1 Introducere...pag.63
5.2. Reele neuronale cu autoorganizare i algoritm de nvare de tip hebbianpag.63
5.2.1 Reele neuronale cu un singur neuron liniar.pag.65
5.2.2 Analiza componentelor principale. Reducerea dimensionalitii.pag.66
5.2.3 Analiza componentelor principale prin reele neuronale cu
autoorganizare..pag.69
5.2.3.1 Algoritmul hebbian generalizatpag.70
5.2.3.2 Algoritmul APEX.pag.72
5.2.3.3 Analiza neliniar a componentelor principale..pag.74
5.3 Reele neuronale cu autoorganizare i nvare de tip competitivpag.76
5.3.1 Reele neuronale cu autoorganizare i nvare
competitiv simpl...pag.77
5.3.2 Reele neuronale cu autoorganizare tip hart de trsturi....pag.83
5.3.3 Algoritmi SOFM mbuntii..pag.87
5.3.4. Cuantizarea vectorial (VQ, Vector Quantization).
nvarea prin cuantizare vectorial (LVQ, Learning VQ)....pag.96
CAP.6 Sisteme hibride inteligente.pag.101
6.1 Introducere.pag.101
6.2 Algoritmi genetici. Strategii de evoluie. Programare evolutivpag.104
6.2.1 Introducere.pag.104
6.2.2 Proiectarea unui algoritm evolutiv.pag.106
6.3 Sisteme hibride neuro-genetice..pag.112
6.4. Sisteme cu logic fuzzy.pag.115
6.5 Sisteme hibride neuro-fuzzy...pag.120
6.6 nvarea prin ntrire.....pag.136
6.6.1. Preliminarii....pag.136
6.6.2. Compromisul dintre fazele de explorare i exploatare..pag.138
6.6.3. Modelul nvrii prin ntrire...pag.139
6.6.4. Modele pentru evaluarea comportamentului.pag.141
6.6.5. Algoritmi specifici nvrii prin ntrire..pag.142
6.6.5.1. Metode bazate pe valoarea aciunilorpag.142
6.6.5.2. Metode bazate pe programarea dinamic..pag.144
6.6.5.3. Metode de tip Monte Carlo...pag.145
6.6.5.4. Diferena temporal...pag.147
6.6.6. Aplicaii ale reelelor neuronale artificale bazate pe
nvarea prin ntrire...pag.153
CAP.7 Implementarea reelelor neuronale..pag.157
7.1 Introducere.pag.157
7.2. Implementarea software (printr-un limbaj de programare)..pag.157
7.3. Implementarea hardware...pag.159
7.3.1. Implementarea analogic...pag.159
7.3.2 Implementarea digital...pag.167
7.3.2.1 Procesoare paralele de uz general..pag.167
7.3.2.2 Procesoare dedicate pentru calcul neuronal...pag.167
7.3.2.3 Circuite digitale VLSI dedicate RNApag.168
7.3.3 Implementri hibride..pag.171
7.3.4 Implementarea optic.pag.176
CAP.8 Aplicaii ale reelelor neuronale..pag.179
8.1 Introducere.....pag.179
8.2 Problema XOR...pag.180
8.3 Problema paritii...pag.181
8.4. Problema codrii...pag.181
8.5 Sinteza vorbirii...pag.182
8.6 Recunoaterea automat a vorbirii.pag.184
8.7 Detecia i recunoaterea facial....pag.186
8.7.1 Arhitectura i implementarea unui sistem de detecie i recunoatere
automat a feei..pag.186
8.7.2 Rezultate experimentale.pag.190
8.7.2.1 Influena folosirii tehnicii de extragere a trsturilor
de tip operator de interes asupra procesului de recunoatere
facial.pag.192
8.7.2.2 Influena rezoluiei imaginii faciale i a dimensiunilor ferestrei
de extragere a trsturilor asupra performanelor procesului de
recunoatere facial....pag.194
8.7.2.3 Influena folosirii unor arhitecturi paralele i ierarhice de
RNA-MLP asupra procesului de recunoatere facial...pag.196
8.7.3 Comparaie cu alte sisteme de recunoatere facial...pag.196
8.7.4 Implementarea MATLAB a sistemului de detecie i recunoatere
facial bazat pe reele neuronalepag.199
ANEXA 1pag.203
ANEXA 2pag.209
ANEXA 3pag.213
ANEXA 4pag.217
Bibliografiepag.223


CAPITOLUL 1
Introducere


1.1 Reele neuronale artificiale definiie, proprieti

Reelele neuronale artificiale (RNA), denumite uneori procesoare paralel
distribuite, neurocomputere sau modele conexioniste, reprezint o ncercare de a
simula, cel puin parial , structura i funciile creierului specifice organismelor vii.
Ca o definiie general, se poate spune c RNA reprezint un sistem de
procesare al semnalelor, compus dintr-un numr mare de procesoare elementare
interconectate, denumite neuroni artificiali sau noduri, i care coopereaz pentru
rezolvarea unor sarcini specifice. Modalitatea de adaptare la condiiile specifice
mediului const n modificarea ponderilor asociate conexiunilor dintre neuroni i
eventual a structurii RNA.
Astfel de modele conexioniste ofer anumite avantaje, caracteristice
sistemelor neuronale reale (biologice) i care nu sunt ntlnite n cazul sistemelor de
calcul tradiionale, secveniale [1]:
O proprietate deosebit de important a RNA este aceea de a nva i de a se
adapta;
Posibilitatea de a opera cu date imprecise;
Capacitatea de generalizare, n sensul n care RNA va opera corect i cu
date de intrare care nu au fost prezentate n timpul procesului de antrenament;
Datorit gradului ridicat de paralelism , funcionarea defectuoas sau chiar
pierderea unui numr de neuroni nu afecteaz semnificativ performana
sistemului global. RNA reprezint deci sisteme tolerante la erori;
Capacitatea de a aproxima orice funcie continu neliniar cu gradul de
acuratee dorit. Astfel RNA pot fi folosite cu succes n modelarea sistemelor
neliniare;
- 12 - CAP.1 Introducere

Datorit numrului mare de intrri i ieiri, RNA modeleaz cu uurin
sisteme multivariabil;
Implementrile hardware ale RNA, de exemplu prin intermediul circuitelor
integrate pe scar larg (VLSI), fac posibil utilizarea RNA pentru cazul
aplicaiilor n timp real.

1.2 Neuronul biologic

Creierul uman const dintr-o reea de 10
10
...10
11
neuroni puternic
interconectai. n fig.1.2.1 este prezentat structura [2] unei celule nervoase. Se pot
distinge urmtoarele pri constituente [3]:
Soma sau corpul celulei reprezint partea central a celulei care realizeaz
majoritatea funciilor logice ale neuronului. Corpul celulei conine
mecanismul genetic i metabolic necesar meninerii activitii neuronului.
Axonul (ieirea celulei) reprezint o prelungire a corpului celulei
(citoplasm), unic i n general nearborizat. Funcia axonilor este aceea de a
conduce influxul nervos de la corpul celular la dendritele sau corpul celular al
altui neuron sau la o celul efectoare.
Dendritele (intrrile neuronului) sunt prelungiri ale citoplasmei relativ scurte,
groase i bogat ramificate. Funcia lor este aceea de a recepiona excitaii i de
a le conduce pn la corpul neuronului . n funcie de tipul neuronului el poate
avea pn la 10
4
dendrite.

1.2 Neuronul biologic - 13 -


AXON

TEAC DE MIELIN
RETICUL ENDOPLSMATIC
MITOCONDRIE
NUCLEU
SINAPSE


Fig.1.2.1 Structura celulei nervoase (neuron) ncorporeaz materialul genetic i un aparat metabolic
complex.

Contactul dintre neuroni se realizeaz prin intermediul sinapselor. Sinapsele
dintre doi neuroni se realizeaz n trei feluri: ntre butonii terminali ai
axonului unui neuron i dendritele altui neuron (sinapse axo-dendritice); ntre
butonii terminali ai axonului unui neuron i corpul altui neuron (sinapse axo-
somatice); ntre butonii terminali ai axonului unui neuron poriunea incipient
a axonului altui neuron (sinapse axo-axonale). Din punct de vedere
funcional, sinapsele sunt de dou feluri: excitatorii i inhibitorii. Stocarea
informaiei n neuroni se presupune c este efectuat prin intermediul
conexiunilor sinaptice, mai precis prin tiparele pe care le formeaz acestea i
prin ponderea pe care o are fiecare legtur n parte.

- 14 - CAP.1 Introducere

Conform acestui model simplificat al neuronului, corpul celulei primete
semnale de la ali neuroni prin intermediul conexiunilor sinaptice ajustabile. Cnd un
neuron este excitat, produce impulsuri nervoase care sunt transmise, fr atenuare,
de-a lungul axonului, spre ali neuroni. Rata impulsurilor ieirii neuronului depinde
att de intensitatea semnalelor de intrare ct i de ponderile sinaptice aferente acestora.
Se poate spune c neuronul opereaz ntr-o form mixt, digital-analogic. Informaia
transmis ntre neuroni, sub forma inpulsurilor nervoase (poteniale de aciune), poate
fi considerat semnal digital. Densitatea impulsurilor este cea care codeaz informaia
i poate fi privit ca un semnal analogic. n fig.1.2.2 se ofer o reprezentare
schematic a neuronului biologic din perspectiva teoriei prelucrrii informaiei.



Conversie neliniar
n poteniale de aciune
Ieirea neuronului
(poteniale de
aciune)
Axon
Sinapse
(memorie i demodulare)
Dendrite
Soma
Prag
Intrri neuronale
(poteniale de
aciune)


Fig.1.2.2 Modelul simplificat al neuronului biologic considerat din punctul de vedere al teoriei
informaiei



1.3 Neuronul artificial - 15 -

1.3 Neuronul artificial

Neuronul artificial denumit uneori procesor elementar sau, mai simplu nod,
ncearc s imite structura i funcionarea neuronului biologic. Exist numeroase
modele prezentate n literatur [4], dar cel mai rspndit are la baz modelul elaborat
de McCulloch-Pitts n 1943. Astfel se poate considera c neuronul artificial [5] este
format dintr-un numr de intrri, fiecare dintre acestea fiind caracterizat de propria
pondere sinaptic. De exemplu, semnalul x
j
prezent la intrarea sinapsei j este
conectat la neuronul k prin multiplicare cu ponderea w
kj
(fig.1.3.1).

x
1

x
j

x
N

k
u
k
y
k
w
kj

w
kN
w
k1


Fig. 1.3.1 Modelul neuronului artificial

O alt component a modelului neuronului artificial prezentat n fig.1.3.1 o
reprezint sumatorul destinat nsumrii intrrilor ponderate.
Rezultatul obinut n urma nsumrii:

=
=
N
j
j kj k
x w u
1
(1.3.1)
este denumit intrare net.
Pentru limitarea amplitudinii semnalului de ieire al neuronului, acesta este
prevzut cu o funcie de activare ) ( :
) ( ) (
k k k k k
b u u y + = = (1.3.2)
- 16 - CAP.1 Introducere

n care
k
reprezint valoarea pragului de activare (treshold) al neuronului. Uneori
intrarea net este majorat prin termenul b
k
denumit factor al deplasrii scrii (bias);
deplasarea scrii reprezint deci negativul pragului de activare.
Valoarea:
k k k
u v = (1.3.3)
poart denumirea de potenial de activare.
n ceea ce privete tipul funciei de activare, aceasta este de regul o funcie
neliniar; n cele ce urmeaz se va face o prezentare a celor mai rspndite tipuri de
funcii de activare (fig.1.3.2):
Funcia prag:


=
altfel
dac v
v
0
0 1
) ( (1.3.4)
Funcia prag simetric sau funcia signum:


=
altfel
dac v
v
1 -
0 1
) ( (1.3.5)
Funcia sigmoid:
. ,
1
1
) ( ct a
e
v
av
=
+
=

(1.3.6)
Funcia tangent hiperbolic:
v
v
e
e
v
2
2
1
1
) (

= (1.3.7)
Funciile sigmoid i tangent hiperbolic reprezint unele dintre funciile de
activare cel mai des folosite la implementarea RNA, unul dintre motive
reprezentndu-l calculul simplu al derivatelor acestora.
Funcia liniar:
v v = ) ( (1.3.8)
Funcia liniar cu saturaie:
1.3 Neuronul artificial - 17 -

>

<
=
1 1,
1 0 ,
0 , 0
) (
dac v
v dac v
dac v
v (1.3.9)
Funcia liniar cu saturaie, simetric:

>

<
=
1 1,
1 0 ,
0 , 1
) (
dac v
v dac v
dac v
v (1.3.10)
Funcia gaussian:
) exp( ) (
2
v v = (1.3.11)

-4 -2 0 2 4
-1
0
1
Prag
-4 -2 0 2 4
-1
0
1
Signum
-4 -2 0 2 4
-1
0
1
Sigmoid
-4 -2 0 2 4
-1
0
1
Tangenta hiperbolica
-4 -2 0 2 4
-1
0
1
Liniara
-4 -2 0 2 4
-1
0
1
Saturatie
-4 -2 0 2 4
-1
0
1
Saturatie simetrica
-4 -2 0 2 4
-1
0
1
Gaussiana

Fig. 1.3.2 Funcii de activare tipice

Analiznd comparativ modelele neuronului real (biologic) i neuronului
artificial se pot face urmtoarele observaii [6]:
- 18 - CAP.1 Introducere

Din punct de vedere al implementrii este practic imposibil i chiar ineficient
ca modelul artificial al neuronului s copieze exact comportamentul i
structura celui biologic.
RNA sunt proiectate pentru rezolvarea unor probleme specifice i deci
arhitectura i trsturile RNA depind de problema pe care trebuie s o rezolve.
Un neuron real produce la ieire o secven de impulsuri i nu o anumit
valoare cum este cazul celui artificial. Reprezentarea ratei de activare printr-
un singur numr (y
k
) ignor informaia care ar putea fi coninut de exemplu
n faza impulsurilor.
Unele celule nervoase biologice efectueaz o nsumare neliniar a intrrilor.
Pot exista chiar operaii logice (I, SAU, NU) efectuate la nivelul dendritelor.
Ieirile neuronilor nu se modific n mod sincron i nu toi au acelai tip de
ntrziere.
Cantitatea de substan transmitoare (mediator chimic) eliberat la nivelul
sinapsei poate s varieze ntr-un mod imprevizibil. Fenomenul este aproximat
grosier prin intermediul funciei de activare.

1.4 Arhitecturi ale RNA

Se pot distinge dou mari categorii n modul de structurare al unei RNA:

RNA feedforward (cu propagare nainte).

Sunt caracterizate de prezena unui strat de neuroni de intrare, un numr de
straturi ascunse (posibil i fr) i un strat de neuroni de ieire.
n fig.1.4.1 este prezentat arhitectura unei RNA feedforward cu un singur
strat ascuns. Definitoriu pentru acest tip de RNA este faptul c un neuron primete
semnale doar de la neuroni aflai n stratul/straturi precedent/precedente. Se spune
1.4 Arhitecturi ale RNA - 19 -

despre o RNA c este total conectat dac fiecare nod din fiecare strat este conectat la
fiecare neuron din stratul precedent (fig.1.4.1).
Dac anumite conexiuni sinaptice lipsesc se spune c RNA este parial
conectat (fig.1.4.2). RNA total conectate au un caracter general, n sensul n care pot
fi folosite ntr-o gam larg de probleme, dar rezultatele nu sunt ntotdeauna cele mai
bune [7]. RNA parial conectate introduc anumite restrngeri, care reprezint tocmai
cunotine apriorice despre problema de rezolvat i care reduc gradul de generalitate al
unei RNA. Prin restrngerea cmpului de recepie al neuronilor se efectueaz o
extragere a trsturilor locale iar n straturile ce urmeaz acestea sunt combinate
pentru a se forma trsturi de ordin superior. Astfel, RNA parial conectate pot da
rezultate mai bune dect RNA total conectate n rezolvarea anumitor probleme
specifice, cu condiia exploatrii cunotinelor apriorice despre problema dat.



Fig. 1.4.1 RNA feedforward total conectat

- 20 - CAP.1 Introducere




Fig.1.4.2 RNA feedforward parial conectat

RNA recurente (feedback, cu propagare napoi).

RNA recurente se individualizeaz prin existena unui semnal de reacie, din
partea neuronilor de ordin superior, pentru cei de ordin inferior sau chiar pentru
propriile lor intrri (fig.1.4.3).




Fig.1.4.3 RNA recurent


1.5 Tipuri i algoritmi de instruire - 21 -

1.5 Tipuri i algoritmi de instruire

RNA achiziioneaz cunotinele prin instruire (nvare). nvarea presupune
adaptarea parametrilor liberi ai RNA (ponderi, praguri, rat de nvare, uneori chiar
forma funciei de activare sau structura reelei) ca urmare a stimulilor mediului n care
se gsete reeaua.
Vectorii de instruire sunt prezentai RNA n mod secvenial iar ponderile
sinaptice, care memoreaz practic cunotinele reelei, sunt adaptate pentru a extrage
informaia pe care aceti vectori o conin.
Tipul de nvre este determinat de maniera n care sunt ajustai parametrii
liberi ai RNA.
Dei n literatura RNA [1], [5], [8] exist o mare diversitate de opinii n ceea
ce privete modul de clasificare al algoritmilor i tipurilor de nvre, fig.1.5.1
ncearc s sintetizeze principalele direcii.

TIPURI DE INSTRUIRE


SUPERVIZAT NESUPERVIZAT PRIN NTRIRE
(CU AUTOORGANIZARE)


HEBBIAN COMPETITIV

CORECIA ERORILOR BOLTZMAN (STOCHASTIC)



WIDROW-HOFF PROPAGAREA NAPOI A ERORII
(LMS sau REGULA DELTA)


Algoritmi

Fig.1.5.1 Tipuri i algoritmi de instruire
- 22 - CAP.1 Introducere

nvarea de tip supervizat

Este caracterizat de prezena unui supervizor care cunoate cu exactitate
modul de asociere al intrrilor RNA cu ieirile acesteia, conform fig.1.5.2.


SUPERVIZOR
SISTEM
SUPUS
NVRII
Rspuns
actual
Vector de
intrare
Semnal de eroare
Rspuns dorit
+
-


Fig.1.5.2 Arhitectura unui sistem cu nvare supervizat

Parametrii RNA sunt modificai sub influena combinat a vectorilor de antrenament i
a semnalului de eroare (diferena dintre rspunsul dorit i cel actual). Scopul final al
algoritmului de antrenament este ca RNA s emuleze, optim n sens statistic,
supervizorul.

nvarea de tip nesupervizat (cu autoorganizare)

Este caracterizat de absena unui semnal sau supervizor care s aprecieze
corectitudinea asociaiilor intrare-ieire (fig.1.5.3). RNA va descoperii singur
legitile coninute n datele de intrare printr-o reprezentare intern adecvat a
trsturilor vectorului de intrare.

1.5 Tipuri i algoritmi de instruire - 23 -


SISTEM
SUPUS
NVRII
Vector de
intrare


Fig.1.5.3 Sistem cu nvare de tip nesupervizat

nvarea prin ntrire

Urmrete maximizarea unei mrimi scalare (indice de performan sau
semnal de ntrire) n urma unei aciuni efectuate de ctre sistemul supus nvrii.
Dac modificrile aduse conduc spre o stare mai bun dect cea precedent, tendina
sistemului de a produce acea aciune particular este ntrit.

Algoritmi de nvare bazai pe corecia erorii

Fie x(n) vectorul de intrare aplicat unei RNA. Dac se noteaz ieirea
neuronului k prin y
k
(n), semnalul de eroare poate fi definit ca fiind diferena dintre
ieirea dorit pentru neuronul k i ceea ce furnizeaz n etapa actual de ctre acelai
neuron:
e n d n y n
k k k
( ) = ( ) - ( )
(1.5.1)
Scopul final al algoritmilor bazai pe corecia erorii este de a minimiza aa-numita
funcie de cost. Unul dintre criteriile frecvent utilizate n alegerea funciei de cost este
cel al erorii ptratice medii - care urmrete minimizarea valorii medii ptratice
pentru suma erorilor ptratice aferente stratului de ieire al RNA:

(

=

k
k
n e E J ) (
2
1
2
(1.5.2)
n care E[.] semnific media n sens statistic.
- 24 - CAP.1 Introducere

Una dintre metodele de minimizarea a funciei de cost J n raport cu parametrii
RNA este metoda gradientului descendent.
De cele mai multe ori proprietile statistice ale procesului nu sunt cunoscute.
n acest caz se ofer o soluie aproximativ pentru problema de optimizare, prin
utilizarea drept funcie de cost a valorii instantanee a sumei erorilor ptratice:

=
k
k
n e n ) (
2
1
) (
2
(1.5.3)
O metod n acest sens o ofer Widrow i Hoff (regula delta):
) ( ) ( ) )( ( ) ( n x n e
w
y
n e
w
n w
j k
j k
k
k
j k
kj

= (1.5.4)
n care reprezint rata de nvre a RNA.
Graficul aplicaiei J n funcie de ponderile RNA poart denumirea de
suprafa a erorii.
Exemplul 1.1 Se urmrete reprezentarea suprafeei erorii pentru cazurile unui
element liniar (fig.1.5.3) respectiv pentru cazul unui element neliniar (1.5.4) folosind
mediul MATLAB 5.3. Codul surs este urmtorul:

%Exemplu de reprezentare a suprafetei erorii
%pentru cazurile unui neuron liniar respectiv neliniar
%Catalin-Daniel Caleanu, 2000

clear
%definire perechi de valori intrare(p, pattern)-iesire(t, target)
p = [-6.0 -6.1 -4.1 -4.0 +4.0 +4.1 +6.0 +6.1];
t = [+0.0 +0.0 +.97 +.99 +.01 +.03 +1.0 +1.0];

%definire ponderi (w, weights), deplasari de scara (b, biases)
wv = -1:.1:1; bv = -2.5:.25:2.5;
1.5 Tipuri i algoritmi de instruire - 25 -



Fig.1.5.3 Suprafaa erorii pentru cazul unui neuron liniar



Fig. 1.5.4 Suprafaa erorii pentru cazul unui neuron neliniar
- 26 - CAP.1 Introducere

%calculul si afisarea suprafetei erorii
es = errsurf(p,t,wv,bv,'purelin');
plotes(wv,bv,es,[60 30])
figure
es = errsurf(p,t,wv,bv,'logsig');
plotes(wv,bv,es,[60 30])

Se poate desprinde ideea conform creia minimizarea erorii unui neuron liniar
este mai uoar dect minimizarea unui neuron neliniar (sigmoidal). Doar pentru cazul
elementului liniar eroarea are un minim global; n rest suprafaa erorii poate avea
minime locale.

Algoritmi de nvare de tip Boltzmann

Sunt inspirai din teoria informaiei i din termodinamic, neuronii constituind
o structur recurent caracterizat de aa-numita funcie energie:

=
i j
i j ji
s s w E
2
1
(1.5.5)
unde s
i
reprezint starea neuronului i, adic +1 (neuron activ) sau -1 (neuron
inactiv).
Maina Boltzmann opereaz prin alegerea aleatoare a unui neuron i
schimbarea strii acestuia. Astfel schimbarea ponderilor se va face innd cont de
corelaiile dintre starea neuronului i i cea a neuronului j.

Algoritmi de nvare de tip hebbian

Conform postulatului lui Hebb, modificarea ponderii sinaptice w
kj
este
dependent de activitatea pre- i postsinaptic:
1.5 Tipuri i algoritmi de instruire - 27 -

)) ( ), ( ( ) ( n x n y F n w
j k kj
= (1.5.6)
O form particular a ec. (1.5.6) este:
) ( ) ( ) ( n x n y n w
j k kj
= (1.5.7)
cu o constant pozitiv reprezentnd rata de nvare. Dezavantajul acestei reguli l
reprezint faptul c ea conduce la o cretere exponenial a w
kj
. Una din metodele
propuse ulterior presupune introducerea unui termen de uitare (forgetting factor)
[10]:
) ( ) ( ) ( ) ( ) ( n w n y n x n y n w
kj k j k kj
= (1.5.8)

Algoritmul de nvare de tip competitiv

Este caracterizat de competiia ntre neuronii de ieire ai RNA, ctigatorul
acesteia urmnd s fie activat. Spre deosebire de RNA care se bazeaz pe algoritmi de
nvare de tip hebbian i la care exist posibilitatea ca mai muli neuroni s fie activi
simultan, la RNA bazate pe algoritmi de nvare de tip competitiv doar un singur
neuron este activ la un moment dat.
Practic, fiecare neuron al unei astfel de RNA va deveni specializat, n urma
procesului de nvare, n recunoaterea unei anumite trsturi prezent n datele de
intrare. Acest lucru este posibil avnd n vedere modalitatea de adaptare a ponderilor:


=
altfel
ia competi stigat c a j neuronul dac w x
w
ji j
ji
, 0
t " " ), (
(1.5.9)
Prin aceasta, ponderea w
j
a neuronului j, ctigator al competiiei, se apropie i mai
mult de tiparul x prezentat la intrare.




- 28 - CAP.1 Introducere


CAPITOLUL 2
Reele neuronale de tip perceptron


2.1 Introducere

Se urmrete n cadrul acestui capitol prezentarea unei clase deosebit de
importante de RNA de tip cu propagare nainte a semnalului (feedforward). Este vorba
de RNA perceptron simplu respectiv o generalizare a acestuia, perceptronul multistrat
(RNA-MLP, Multilayer Perceptron). Printre primii autori care au fundamentat
principiile teoretice legate de perceptronul simplu/multistrat se regsesc Rosenblatt
[11], Widrow [12] i respectiv Rumelhart, Hinton,Williams [13]. Cei din urm autori
fundamenteaz i celebrul algoritm de antrenament pentru RNA-MLP i anume
algoritmul cu propagare napoi a erorii (BP, backpropagation). Toate aceste aspecte
sunt extensiv tratate de ctre S.Haykin n una dintre cele mai bune cri referitoare la
domeniul RNA [5].
Interesul deosebit fa de aceste reele neuronale a fost generat, printre altele,
de capacitatea acestora de a generaliza adic de a opera cu date diferite de cele
prezentate n etapa de antrenament i de a nva plecnd de la o distribuie aleatoare a
ponderilor sinaptice ale reelei. n consecin acest tip de reele poate fi folosit cu
succes n diversele aplicaii ce conin clasificatori.

2.2 RNA de tip perceptron cu un singur neuron

Se prezint n continuare arhitectura i algoritmii de antrenament pentru cazul
RNA cu un singur neuron: perceptronul simplu i RNA ADALINE antrenat cu
algoritmul LMS. Perceptronul simplu are o aplicabilitate practic limitat datorit
valorii binare a ieirii sau datorit imposibilitii clasificrii tiparelor (vectorilor de
intrare) neliniari. El se constituie ns ca punct de plecare n studiul perceptronului
- 30 - CAP.2 Reele neuronale de tip perceptron

multistrat.

2.2.1 Perceptronul simplu

Arhitectura unei astfel de RNA este prezentat n fig. 2.2.1.1. Se poate afirma
c perceptronul simplu reprezint o particularizare a modelului McCulloch-Pitts al
neuronului artificial pentru cazul n care funcia de activare este de tip treapt unitate
bipolar.

v
x
2

x
1
x
N

I
E

I
R
E
I
N
T
R

R
I
-1
w
1

w
N

y
e
+1
-1
d
(v)
-


Fig. 2.2.1.1 Arhitectura perceptronului simplu.

Scopul perceptronului simplu este de a clasifica n una din cele dou clase
disponibile (y = +1 sau y = -1) un set de stimuli exteriori.
Funcionarea sa pote fi descris prin urmtoarele ecuaii:

=
=
N
i
i i
x w v
1
(2.2.1.1)


+
= = =
2
1
) ( , 1
) ( , 1
) sgn( ) (
C n dac
C n dac
v v y
x
x
(2.2.1.2)
Regiunile de decizie vor fi separate de ctre un hiperplan definit de relaia:
0
1
=

=
N
i
i i
x w (2.2.1.3)
2.2 RNA de tip perceptron cu un singur neuron - 31 -

Ca i particularizare pentru cazul N = 2 ecuaia (2.2.1.3) ia forma:
0
2 2 1 1
= + x w x w (2.2.1.4)
ceea ce reprezint ecuaia unei drepte n planul x
2
Ox
1
. n acest caz, tiparele vor fi
separate printr-o dreapt. Un exemplu de astfel de problem liniar separabil l
constituie funcia I logic iar ca i contraexemplu se poate considera funcia SAU-
EXCLUSIV (fig.2.2.1.2). Pentru cazul N = 3 ec.(2.2.1.3) descrie un plan iar pentru
N > 3 un hiperplan.

I SAU Exclusiv
x
1
x
2
y x
1
x
2
Y
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 0

Funcia I
x
2
x
1
Funcia SAU-EXCLUSIV
x
2
x
1


Fig.2.2.1.2 Tabela de adevr i ilustrarea separabilitii funciilor logice I i SAU-EXCLUSIV.

n concluzie, perceptronul simplu poate fi folosit cu succes doar n cazul
particular al clasificrii tiparelor liniar separabile, adic a tiparelor care sunt situate,
ntr-un caz general, de-o parte i de alta al unui hiperplan. Avnd n vedere notaiile
urmtoare:
- 32 - CAP.2 Reele neuronale de tip perceptron

T
N
n x n x n x n )] ( ),..., ( ), ( , 1 [ ) (
2 1
= x = vector de intrare;
T
N
n w n w n w n n )] ( ),..., ( ), ( ), ( [ ) (
2 1
= w = vectorul ponderilor sinaptice;
(n) = prag;
y(n) = rspuns actual;
d(n) = rspuns dorit;
(n) = rat de nvare, de regul 0 < < 1.
paii algoritmului (tip Rosenblatt) de antrenament aferent perceptronului simplu vor fi:
a) Iniializarea: w(0) = 0;
b) Calcul rspuns actual: )] ( ) ( sgn[ ) ( n n n y
T
x w = , n care funcia sgn(.) reprezint
funcia signum.
c) Modificarea ponderilor sinaptice: ) ( )]) ( ) ( [ ) ( ) 1 ( n n y n d n n x w w + = +
n care :


+
=
2
1
) ( , 1
) ( , 1
) (
C n dac
C n dac
n d
x
x

d) Incrementarea lui n cu o unitate i salt la pct.b)

2.2.2 RNA Adaline. Algoritmul LMS

Algoritmul celor mai mici ptrate (LMS - Least Mean Square), cunoscut i
sub denumirea de algoritmul Widrow-Hoff sau regula delta, este destinat antrenrii
unei RNA format dintr-un singur neuron liniar. Ceea ce l difereniaz de algoritmul
de antrenament al perceptronului simplu este modul de calcul al semnalului de
eroare, care n acest caz nu este cuantizat iar funcia de activare poate fi liniar.
Avnd n vedere aceste aspecte, algoritmul LMS poate fi formulat n modul
urmtor:
a) Etapa de iniializare: pentru w
k
(0) = 0, k = 1,2, ..., N
b) Etapa de filtrare:
2.2 RNA de tip perceptron cu un singur neuron - 33 -

=
=
N
j
j j
n x n w n y
0
) ( ) ( ) (
) ( ) ( ) ( n y n d n e =
N k n x n e n w n w
k k k
,..., 2 , 1 ), ( ) ( ) ( ) 1 ( = + = +
Formularea algoritmului LMS s-a fcut din perspectiva unei filtrri spaiale.
El poate fi utilizat n aceeai msur n rezolvarea problemelor de filtrare temporal,
considernd c x(n) reprezint eantioane ale vectorului de intrare la momente de timp
diferite:
T
N n x n x n x n )] 1 ( ),..., 1 ( ), ( [ ) ( + = x (2.2.2.1)
RNA ADALINE (Adaptive Linear Element) folosete algoritmul de
antrenament LMS (Widrow-Hoff) n scopul clasificrii tiparelor. Structura ei este
prezentat n fig. 2.2.2.1
n timpul etapei de antrenament, tiparele sunt aplicate direct RNA, ea urmnd
s descopere singur caracteristicile acestora. Experiena acumulat de ctre RNA este
coninut n valorile w
1
, ..., w
N
i .


y
x
2

x
1

x
N
-
e

-

d
w
1
w
N
v

Fig.2.2.2.1 Structura RNA ADALINE.


- 34 - CAP.2 Reele neuronale de tip perceptron

2.2.3 Deducerea regulilor de modificare a ponderilor pentru cazul
perceptronului simplu

Algoritmul de modificare a ponderilor urmrete minimizarea erorii la nivelul
neuronului sau al stratului neuronal de ieire.
Se definete eroarea la nivelul neuronului de ieire k:
) ( ) ( ) ( n y n d n e
k k k
= (2.2.3.1)
Pentru cuantificarea erorii la nivelul neuronului/neuronilor de ieire se
definete o funcie de cost, uneori denumit i criteriu de performan [14]. O posibil
form pentru aceasta este:
] ) (
2
1
[
2

=
k
k n e E J (2.2.3.2)
cu E[.] reprezentnd media n sens statistic.
Una dintre metodele folosite pentru obinerea minimului funciei J este bazat
pe gradientul acesteia. Ilustrarea metodei pailor descendeni se poate face prin
urmtoarea figur:


Punct de minim
w
0
w
n
w
n+1
J
ponderi
J n = ) ( w
J
J
=

w


Fig.2.2.3.1 Ilustrarea grafic a metodei pailor descendeni
2.2 RNA de tip perceptron cu un singur neuron - 35 -

Conform acestei metode incrementul de modificare a ponderilor este dat de
ecuaia:

w
w

= =
J
J n ) ( (2.2.3.3)
Pentru c proprietile statistice nu sunt de regul cunoscute, se poate folosi n
loc de J, suma erorilor ptratice instantanee:

=
k
k
av
n e n E ) (
2
1
) (
2
(2.2.3.4)
De aici rezult:

=
k
k
k
av
n e
n e
n E
n
w w
w
) (
) (
) (
) ( (2.2.3.5)
dar: )) ( ( ) ( ) ( ) ( ) ( n v n d n y n d n e
k k k k k
= = (2.2.3.6)
n care reprezint funcia de activare i v
k
potenialul de activare. Rezult astfel:

=
k
k
n n vk n e n ) ( )) ( ( ) ( ) ( x w (2.2.3.7)
Pentru cazul prezentat anterior, k=1 i = sgn, se obine:
) ( )) ( ) ( ( ) ( ) ( ) ( n n y n d n n e n x x w = = (2.2.3.8)

2.2.4 Consideraii asupra valorii ratei de nvare (instruire)

n cazul algoritmilor de antrenament prezentai anterior rata de nvare
trebuie s satisfac condiia:
0 < < 1, =ct.
pentru a asigura convergena algoritmului.
Dac este aleas la o valoare prea mic, rezult un proces lent de nvare,
vectorul pondere modificndu-se foarte puin de la o iteraie la alta. Dac este prea
mare, algoritmul poate s nu sesizeze punctul de minim, ceea ce conduce la un proces
de nvare oscilant care s-ar putea s nu convearg niciodat.
- 36 - CAP.2 Reele neuronale de tip perceptron

Exist diverse procedee (fig.2.2.4.1) prin care rata de nvare poate fi
modificat de-alungul epocilor de antrenament, obinndu-se astfel o rat de nvare
variabil:
Metoda aproximrii stochastice: . , ) ( ct c
n
c
n = =
Metoda caut apoi converge: . , ,
1
) (
0
0
ct
n
n =
+
=



Nr. de epoci (iteraii) de antrenament
Algoritm standard
Caut apoi converge
Aproximarea
stochastic
(n)

0


Fig.2.2.4.1 Metode de modificare a ratei de nvare

2.2.5 Capacitatea perceptronului simplu

Se refer la numrul de tipare maxim, p
max
, care poate fi stocat ntr-o reea cu
N intrri. Pentru cazul unitilor care furnizeaz valori continue (liniare sau
neliniare) numrul maxim de tipare intrare-ieire este dat de condiia de independen
liniar:
p
max
N
Pentru cazul unitilor cu neliniaritate de tip prag:
p
max
= 2N

2.3 RNA de tip perceptron cu mai multe straturi - 37 -

2.3 RNA de tip perceptron cu mai multe straturi

Perceptronul multistrat (RNAMLP, Multilayer Perceptron) reprezint o
generalizare a perceptronului simplu prezentat n capitolul anterior. Este o RNA de tip
feedforward (cu propagare nainte a semnalului) compus din (fig.2.3.1):
- un strat de intrare;
- unul sau mai multe straturi ascunse;
- strat de ieire.


y
1

x
2

x
1

x
N
I
N
T
R

R
I
I

E


I

R

I

y
2

y
M

Q P
Strat de
intrare
1 1
Strat
ascuns nr.1
Strat de
ieire
Strat
ascuns nr.2

Fig.2.3.1 Perceptron cu dou straturi.

2.3.1 Algoritmul de antrenament

Se deosebesc dou etape n realizarea unei aplicaii cu RNA. Prima reprezint
etapa de antrenament sau de nvare n care sunt aplicate perechi de tipare intrare
ieire corect asociate, iar RNA i modific parametrii liberi pentru a nva aceste
asociaii. A doua etap presupune utilizarea propriuzis a RNA; se pot aplica n acest
caz vectori de intrare diferii de cei din etapa de antrenament, urmnd ca RNA, pe
baza capacitii de generalizare, s furnizeze un rspuns adecvat.
Pentru deducerea algoritmului de antrenament corespunztor RNAMLP se
definete eroarea la nivelul neuronului j din stratul de ieire, n a n- a iteraie:
- 38 - CAP.2 Reele neuronale de tip perceptron

e
j
(n) = d
j
(n) y
j
(n)
n care d
j
reprezint rspunsul dorit iar y
j
rspunsul actual al RNAMLP.
Eroarea instantanee la nivelul ntregului strat de ieire poate fi definit ca
suma erorilor ptratice ale neuronilor de ieire:
( ) ( ) n e n
j
j
=
2
2
1

Fie T numrul total de tipare de antrenament. n acest caz, eroarea pentru
ntreg setul de date de antrenament reprezint funcia de cost ce va trebui minimizat:
( )
( )
=
=
T
1 n
T
1
av
n n

Exist dou moduri n care se pot adapta ponderile RNAMLP n cursul
etapei de antrenament:
modul tipar cu tipar, (pattern by pattern) n care dup aplicarea fiecrei
perechi de tipare intrareieire ponderile sunt actualizate;
modul lot de tipare, (batch) n care ponderile sunt calculate o singur dat
pe baza tuturor perechilor de tipare intrareieire disponibile.
Algoritmul de antrenament pentru RNAMLP va fi dedus pentru modul tipar
cu tipar.
Conform principiului gradientului descendent:
( )
( )
( ) n w
n
n w
ji
ji

=


n care:
( )
( )
( )
( )
( )
( )
( )
( )
( )
( ) n w
n v
n v
n y
n y
n e
n e
n
n w
n
ji
j
j
j
j
j
j ji



Deoarece:
( ) ( )
( )
( )
( ) n e
n e
n
n e n
j
j j
j
=

2
2
1

2.3 RNA de tip perceptron cu mai multe straturi - 39 -

( ) ( ) ( )
( )
( )
( ) ( ) ( )
( )
( )
( ) ( ) n v
n v
n y
n v n y
n y
n e
n y n d n e
j
j
j
j j
j
j
j j j
=

=
=

= 1

( ) ( ) ( )
( )
( )
( ) n y
n w
n v
n y n w n v
i
j ji
j
i ji j
=


Deci:
( )
( )
( ) ( ) ( ) ( ) n y n v n e
n w
n
i j j
ji
=


Se definete gradientul local ( ) n
j
:
( ) ( ) ( ) ( )
( )
( )
( )
( ) n v
n y
n y
n
n v n e n
j
j
j
j j j

= + =


( ) ( ) ( ) n y n n w
i j ji
=
Formula de mai sus este valabil pentru cazul n care neuronul j aparine
stratului de ieire. Pentru cazul n care neuronul j aparine unui strat ascuns, trebuie
redefinit gradientul local:
( )
( )
( )
( )
( )
( )
( )
( ) ( ) n v
n y
n
n v
n y
n y
n
n
j j
j j
j
j
j


=
n care:
( ) ( )

=
k
k
n e n
2
2
1

k fiind indicele corespunztor neuronilor straturilor de ieire
Atunci:
( )
( )
( )
( )
( )
( )
( )
( )
( )

k k j
k
k
k
k
j
k
k
j
n y
n v
n v
n e
e
n y
n e
n e
n y
n

Deoarece:
- 40 - CAP.2 Reele neuronale de tip perceptron

( ) ( ) ( ) ( ) ( ) ( )
( )
( )
( ) ( )
( ) ( )
( )
( )
( ) n w
n y
n v
n y w n v
n v
n v
n e
n v n d n y n d n e
kj
j
k
j
j kj k
k k
k
k
k k k k k
=

=
=

= =



Rezult:
( )
( )
( ) ( ) ( ) ( ) ( ) ( )

= =

k
kj k kj k k
k
k
j
n w n n w n v n e
n y
n


n consecin, pentru cazul n care neuronul j aparine unui strat ascuns:
( ) ( ) ( ) ( ) ( )

=
k
kj j j j
n w n n v n
i
( ) ( ) ( ) ( ) ( ) ( ) n y n w n n v n w
i
k
kj k j j ji
(

=


Algoritmul dedus poart denumirea de algoritm cu propagare napoi a erorii
(BP - Backpropagation Algorithm). Algoritmul BP standard este de tip gradient
descendent, ca i regula de nvare Widrow-Hoff, adic presupune modificarea
ponderilor n sensul negativ al funciei de cost. Denumirea este justificat de
modalitatea de adaptare a ponderilor, aceasta fcndu-se ncepnd de la stratul de
ieire spre stratul de intrare, prin calculul recursiv al gradientului local.
Observaii:
1. Proprietile funciei de activare (.).
Calcularea lui pentru fiecare neuron necesit determinarea derivatei funciei
de activare (.). Deci (.) trebuie s fi o funcie continu, derivabil i de regul
neliniar. O astfel de funcie este funcia sigmoid:
( ) ( ) ( )
( ) n v
j j j
j
e
n v n y

+
= =
1
1

( )
( )
( ) ( )
( )
| |
( ) n v n v
j j
j
j
j j
e e n v
n v
n y

+ = =

2
1
2.3 RNA de tip perceptron cu mai multe straturi - 41 -

( )
( )
( )
( ) ( )
( )
( )
( )
)] ( 1 )[ (
1
1
1
2
n y n y
n y
n y
n y
n v
n y
n y
e
j j
j
j
j
j j
j
j n v
j
=
(
(


Dac neuronul j aparine stratului de ieire, fie y
j
(n) =o
j
(n). Atunci este:
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )] 1 [ ] [ n o n o n o n d n v n e n
j j j j j j j j
= =
Dac neuronul j aparine unui strat ascuns:
( ) ( ) ( ) ( ) ( ) ( ) ( ) | | ( ) ( )

= =
k
kj k j j
k
kj k j j j
n w n n y n y n w n n v n 1
2. BP cu moment.
Valoarea ratei de nvare trebuie s fie suficient de mic pentru a asigura
convergena algoritmului dar i suficient de mare pentru a genera un proces de
nvare rapid.
O metod simpl pentru creterea ratei de nvare, cu evitarea instabilitii
procesului de antrenament reprezint introducerea unui termen denumit moment n
legea de variaie a w
ji
(n):
( ) ( ) ( ) ( ) 1 + = n w n y n n w
ji i j ji

Se poate scrie w
ji
(n) ca o serie de timp:
( ) ( ) ( )
( )
( )

= =

= =
n
t
n
t ji
j n
i j
t n
ji
t w
t
t y t n w
0 0
1


Dac derivatele pariale au acelai semn algebric n iteraii consecutive w
ji
(n)
crete n amplitudine, deci w
ji
(n) se va modifica cu un increment din ce n ce mai
mare. Aceasta nseamn c prin introducerea termenului moment viteza algoritmului
este accelerat pentru cazul unor suprafee ale peisajul energetic ale funciei de cost
descresctoare.
Dac derivatele pariale au semne diferite n iteraii consecutive w
ji
(n) scade
n amplitudine, deci w
ji
(n) va fi modificat n cantiti din ce n ce mai mici.
n consecin introducerea termenului moment are un efect de stabilizare a
- 42 - CAP.2 Reele neuronale de tip perceptron

unui proces oscilatoriu de nvare.
Termenul moment poate fi privit i ca o inerie introdus n modificarea
ponderilor, prin acest fapt evitndu-se nepenirea RNA n minime locale ale
suprafeei erorii.
3. Criterii de stabilitate.
Fie w un vector pondere pentru care suprafaa erorii are un minim (local sau
global). O condiie necesar ca w
*

s fie un punct de minim este ca vectorul gradient
g(w) al suprafeei erorii s fie egal cu zero n w = w
*
. n acest sens se pot formula
cteva criterii de stop pentru algoritmul BP:
a) se consider c algoritmul BP a convers dac norma euclidian a vectorului
gradient e suficient de mic: g

(w
final
) < ;
b) se consider c algoritmul BP a convers dac rata modificrii erorii ptratice este
suficient de mic (ex: 0.1 1% / epoc);
c) se consider c algoritmul BP a convers dac
av
(w) , cu un prag suficient de
mic al erorii.
Momentul n care algoritmul de antrenament se oprete influeneaz i
capacitatea de generalizare a RNA. Dac reeaua se supraantreneaz, eroarea final
obinut pentru datele de antrenament va fi deosebit de sczut (Eroarea ptratic
medie = 10
-5
10
-10
) n schimb acest lucru va afecta n mod negativ capacitatea de
generalizare, n sensul n care RNA nu va rspunde corect pentru date de intrare
diferite de cele din etapa de antrenament.
4. Determinarea numrul de straturi ascunse i de neuroni/strat ascuns.
Numrul optim de straturi ascunse i de neuroni/strat ascuns este dificil de
precizat apriori.
n general, un singur strat ascuns e suficient pentru rezolvarea majoritii
problemelor. n mod excepional, se pot folosi dou, cel mult trei straturi ascunse.
De regul, numrul de neuroni afereni straturilor de intrare respectiv ieire
este dictat de natura aplicaiei. Neuronii structurilor ascunse au rolul foarte important
de a detecta trsturile, legitile, regularitile coninute n tiparele de antrenament.
2.3 RNA de tip perceptron cu mai multe straturi - 43 -

Un numr prea mare de neuroni ascuni/strat influeneaz n mod negativ capacitatea
de generalizare a RNA. Totodat conduce la sporirea volumului de date care urmeaz
a fi procesat i deci la o durat sporit pentru etapa de antrenament. Un numr prea
mic de neuroni nu este suficient pentru formarea unei reprezentri interne a datelor
adecvat i poate conduce la o eroare medie ptratic mare pe parcursul epocilor de
antrenament i implicit la o eroare mare corespunztoare nu numai datelor de test ci i
celor de antrenament.
n concluzie, numrul optim de neuroni ascuni se va determina experimental.

Pe baza formulei deduse pentru modalitatea de adaptare a ponderilor i pe
baza observaiilor 1. 4. se pot enuna paii algoritmului cu propagare napoi a erorii:
1. Iniializarea.
Se definesc numrul de straturi i neuroni/strat. Se iniializeaz ponderile
sinaptice i pragurile cu valori aleatoare mici, uniform distribuite. De exemplu
ponderile i pragurile se vor distribui uniform n intervalul
|
|
.
|

\
|

i i
F F
4 , 2
,
4 , 2
n care F
i

(fan-in) reprezint numrul de intrri pentru neuronul i.
2. Prezentarea tiparelor de antrenament.
Pentru fiecare pereche de tipare de antrenament | | } { N n n d n x ,... 2 , 1 ; ) ( ), ( =
se vor efectua paii 3. i 4. Prezentarea tuturor celor N tipare de antrenament este
denumit epoc de antrenament.
3. Propagarea nainte.
ncepnd de la primul strat ascuns i sfrind cu stratul de ieire se calculeaz
pentru fiecare neuron j al stratului l potenialul intern de activare:


= ) ( ) ( ) (
) 1 ( ) ( ) (
n y n w n v
l
i
l
ji
l
j

i mai apoi, prin aplicarea funciei de activare, se calculeaz ieirile acestora. De
exemplu pentru funcia de activare de tip sigmoidal:
- 44 - CAP.2 Reele neuronale de tip perceptron

) (
) 1 (
) (
) (
1
1
n v
l
l
j l
j
e
y

+
=
Dac i = 0, avem 1 ) (
) 1 (
0
=

n y
l
i ) (
) ( ) (
0
n w
l
j
l
j
= . Dac neuronul j aparine
primului strat ascuns (l = 1) avem ) ( ) (
) 0 (
n x n y
i i
= iar dac neuronul j aparine
stratului de ieire (l = L) avem ) ( ) (
) (
n o n y
j
L
j
= .
n continuare, se calculeaz eroarea pentru fiecare neuron al stratului de ieire,
e
j
(n), ca fiind diferena dintre ieirea dorit d
j
(n) i ieire actual y
j
(n):
) ( ) ( ) ( n y n d n e
j j j
=
4. Propagarea napoi.
Se calculeaz gradientul local al RNA, strat cu strat, ncepnd cu cel de ieire:
( ) ( ) ( ) ( ) ( ) ( ) | |
( ) ( ) | | ( )

+ +
=
= =
k
l
kj
l
k j
l
j
l
j
j j j j j j
L
j
L
j
n w n n y n y n
n o n o n y n d n v n e n
) ( 1 ) (
1 ) ( ) ( ) (
) 1 ( ) 1 ( ) ( ) (
) ( ) (



Apoi sunt modificate ponderile sinaptice ale RNA n stratul l conform
regulii delta generalizate (BP cu moment):
| |
( )
( )
( )
( ) n y n n w n w n w n w
l
i
l
j
l
ji
l
ji
l
ji
l
ji
1 ) ( ) ( ) ( ) (
) 1 ( ) ( ) ( ) 1 (

+ + = +
n care reprezint rata de nvare i constanta moment.
5. Iteraia.
Se continu etapele 3. i 4. pentru toate perechile de vectori de antrenament.
Dup fiecare epoc de antrenament se evalueaz criteriul de stop al algoritmului (rata
schimbrilor parametrilor liberi sub un anumit prag, eroarea ptratic medie suficient
de mic, numr maxim de epoci atinse, etc).
Observaii:
1 Ordinea prezentrii tiparelor, de la o epoc la alta, se recomand a fi aleatoare.
2 Att ct i se recomand a fi ajustate pe parcursul epocilor de antrenament (n
mod tipic, sczute).

2.3 RNA de tip perceptron cu mai multe straturi - 45 -

2.3.2 Algoritmi rapizi de antrenament pentru RNA cu propagare nainte a
semnalului

Algoritmul BP standard prezint o serie de dezavantaje. Printre acestea se pot
enumera convergena lent i dependena acesteia de parametrii liberi ai reelei
(ponderi, praguri, form funcie de activare, rat de nvare, etc.). Algoritmii
prezentai n cadrul acestui subcapitol (pentru o descriere exhaustiv a se consulta
[15]) ofer o alternativ la BP. Ei converg n mult mai puine epoci spre valori optime
ale ponderilor dect BP ns implic o complexitate ridicat a calculelor. De subliniat
ns faptul c n cazul unor reele de dimensiuni mari convergena ntr-un numr mai
mic de epoci nu nseamn implicit i un timp de antrenament mai scurt deoarece
calculele aferente unei epoci pot s dureze foare mult. Din acest motiv folosirea unuia
sau altuia dintre algoritmii de antrenament este determinat de problema concret ce
se dorete a fi soluionat.

2.3.2.1 Metoda lui Newton

Funcia de cost (w) poate fi aproximat conform dezvoltrii n serie Taylor n
jurul punctului w
0
:
( ) ( ) ( ) ( ) ( )
0 0
2
0 0 0 0
) (
2
1
w w w w w w w + + =
T
w w
Matricea cu derivate pariale de ordinul doi,
j i
ij
w w

=

2
H se numete hessian.
Pentru ca w s fie un punct de minim se anuleaz derivata relaiei precedente:
( ) ( ) ( ) 0
0 0
= + = w w H w w
( )
1
0
1
0
0
) (


=

=
H
w
w
H
w
w w


Relaia de mai sus reprezint metoda lui Newton, care folosit iterativ,
- 46 - CAP.2 Reele neuronale de tip perceptron

estimarea lui w fiind un nou w
0
, conduce la gsirea minimului ntr-un numr extrem
de redus de epoci de antrenament.
Dezavantajul metodei const din complexitatea extrem de ridicat a
calculelor ce trebuie efectuate la fiecare iteraie: calculul derivatelor pariale de ordin
nti i doi pentru precum i inversa hessianului (care poate s fie singular i deci H
-1
nu exist!).
n consecin metoda lui Newton i gsete aplicabilitate practic restrns,
dar poate servi ca punct de referin pentru abordri ulterioare.

2.3.2.2 Metoda LevenbergMarquardt

Elimin parial dezavantajele metodei lui Newton prin aproximarea
hessianului cu matricea ( ) ] [
2
I w + , n care reprezint un factor de regul
pozitiv iar I matricea identic:
( )
( )
1 2
0
] [

+

=
I w
w
w



Observaie:
O matrice este:
a) simetric, dac A = A
T
;
b) pozitiv definit, dac
n T
R x 0, x 0, Ax x >
c) singular, dac nu A
-1
.
n acest condiii ( ) ] [
2
I w + este simetric i nesingular chiar dac
hessianul e singular. Pe de alt parte, poate fi fcut suficient de mic pentru a asigura
convergena rapid a algoritmului.
Metoda LevenbergMarquardt reprezint una din cele mai rapide metode
folosite n practic, dar este imposibil de folosit n cazul n care vectorii de
antrenament au dimensiuni mari (sute de componente) din cauza cerinelor de
memorie i putere de calcul.
2.3 RNA de tip perceptron cu mai multe straturi - 47 -

2.3.2.3 Metode de tip cvasiNewton

Se circumscriu n cadrul metodelor de minimizare care folosesc doar
informaie provenit din derivata de ordinul I, combinat cu aa numita cutare dup o
linie (line search):
d w w
0
+ =
n care reprezint pasul iar d direcia n care se face cutarea.
Observaie: n cazul n care direcia de cutare se alege ca fiind negativul gradientului,
( )
0
w d = , atunci se obine din relaia de mai sus tocmai algoritmul pailor
descendeni (gradientului descendent) folosit n deducerea algoritmului BP standard:
) (
0
w w w w
0
= =
Ideea care st la baza metodelor de tip cvasiNewton este aceea de a aproxima
H
-1
printr-o matrice H
k
care s in cont doar de informaia obinut pe baza
derivatelor pariale de ordinul I. Una din cele mai sofisticate metode cvasiNewton
este algoritmul BFGS (BroydenFletcherGoldfarbShanno):
( ) ( ) ( )
( ) ( ) ( )
( )
k
k
k 1 k
k
k
k k 1 k
w H w w d
d w w
= =
+ =
+
+

Fie:

( )
( )
( )
( )
k k
k
y w w =
+1
.
Atunci:
k
T
k
T
k k
k
T
k
T
k k
k
k
T
r
T
k k
k
y d
d d
y d
d y
y d
y d
+
|
|
.
|

\
|
=
+
I H I H ) (
1

i rata de nvare:
( ) ( ) ( )
( ) | |
k
k
k k
w H w

=
0
min arg


- 48 - CAP.2 Reele neuronale de tip perceptron

2.3.2.4 Metode bazate pe gradientul conjugat

Conform metodei gradientului (pailor) descendent vectorul direcie de-a
lungul cruia ajusteaz vectorul pondere, reprezint negativul vectorului gradient
( ).
0
w d = Paii succesivi ai acestui algoritm sunt n mod necesar perpendiculari,
deoarece:
( ) ( ) ( ) ( ) 1 0
0
+ = +

= n n n

d d w
adic noul vector gradient este perpendicular pe vechea direcie de cutare (vezi
fig.2.3.2.4.1). n consecin, se urmeaz o traiectorie n zig - zag.


a) b)
Fig.2.3.2.4.1 Gsirea minimului unei suprafee ptratice (centrul elipsei) n cazul pailor descendeni a) i
n cazul gradientului conjugat b).

O soluie mai bun const n alegerea noii direcii ca un compromis ntre direcia
gradientului i vechea direcie de cutare:
( ) ( ) ( ) ( ) w d d + + = + n n n 1 1
Aceasta nseamn c noua direcie trebuie astfel aleas nct s nu modifice
componenta gradientului de-alungul direciei anterioare, care a fost tocmai anulat:
( ) ( ) ( ) 0 1
0
= + + n n d w d
adic:
( ) ( ) 0 1 = + n n d H d
n acest caz se spune c vectorii d(n+1) i d(n) sunt conjugai, de unde i denumirea
acestor algoritmi de antrenament.
2.3 RNA de tip perceptron cu mai multe straturi - 49 -

Exist mai multe modaliti de alegere a lui :
Polak-Ribiere:
( ) ( ) ( ) | |
( ) ( ) n n
n n n
n
T
T
g g
g g g + +
=
1 1
) (
Fletcher-Reeves: ( )
( ) ( )
( ) ( ) n n
n n
n
T
T
g g
g g 1 1 + +
=
n care cu g(n) s-a notat vectorul gradient ( ) n i:
( ) ( ) ( ) ( ) { } n n n d w

+ = min arg
Din punct de vedere al rapiditii convergenei i al complexitii algoritmului,
metoda gradientului conjugat se situeaz ntre metoda gradientului descendent i cea
de tip cvasi-Newton.


















- 50 - CAP.2 Reele neuronale de tip perceptron


CAPITOLUL 3
Reele neuronale artificiale bazate pe funcii radiale


3.1 Introducere

n cadrul acestui capitol se prezint o abordare diferit a modului de realizare
a unei RNA. Acest proces este vzut de aceast dat ca o problema de aproximare a
unei curbe ntr-un spaiu multidimensional. Conform acestui punct de vedere,
nvarea este echivalent cu gsirea unei suprafee ntr-un spaiu multidimensional
care s se potriveasc cu cea descris de datele de intrare. Generalizarea reelelor
neuronale bazate pe funcii radiale (Radial Basis Function RBF) reprezint n
acest caz capacitatea de interpolare a RNA vizavi de datele de test.
Comparativ cu o RNA-MLP, RNA-RBF pot s solicite mai muli neuroni dar
antrenarea acestora necesit mai puin timp dect n cazul perceptronului. Explicaia
acestui fapt este urmtoarea: ieirile neuronilor sigmoidali ai stratului ascuns sunt
semnificative pentru regiuni largi ale spaiului de intrare n timp ce neuronii bazai pe
funcii radiale rspund doar la regiuni relativ mici din spaiul de intrare. n consecin,
RNA-RBF se comport mai bine cnd sunt disponibili muli vectori de antrenament.
Modelul unui neuron RBF este prezentat n fig.3.1.1. n acest caz intrarea net
este consituit din norma diferenei vectoriale ||t - x||. Un exemplu tipic pentru funcia
de activare este:
2
) (
x
e x

= reprezentat n fig.3.1.2. Se constat c funcia radial
are un maxim dac intrarea e nul. Dac distana dintre t i x descrete, valoarea ieirii
crete. Adic neuronul radial se comport ca un detector care produce 1 la ieire de
fiecare dat cnd tiparul de intrare e identic cu vectorul pondere t.
O RNA-RBF prezint structural trei straturi (fig.3.1.3):
- stratul de intrare sau stratul senzorial;

- 52 - CAP. 3 Reele neuronale artificiale bazate pe funcii radiale


||distan||
x
1
x
P
t
1
t
P

b
y

1
y = ( ||t - x||b )

Fig.3.1.1 Arhitectura unui neuron RBF.

x

2
) (
x
e x

=

Fig.3.1.2 Form tipic pentru funcia de activare radial



Fig.3.1.2 Arhitectura unei RNA-RBF
3.1 Introducere - 53 -

- stratul ascuns, care furnizeaz funcii care constituie o baz pentru vectorii de
intrare; aceste funcii poart denumirea de funcii radiale;
- stratul de ieire alctuit din neuroni cu funcie de activare liniar.
Transformarea spaiului de intrare n spaiul neuronilor ascuni este neliniar
pe cnd transformarea spaiului neuronilor ascuni n spaiul neuronilor de ieire este
liniar. Justificarea acestui aspect se bazeaz pe teorema lui Cover asupra
separabilitii tiparelor [16] care arat c o problem de clasificare a tiparelor
transformat neliniar ntr-un spaiu de dimensiune nalt este cu mult mai probabil de a
fi liniar separabil dect ntr-un spaiu cu dimensiuni mai puine.

3.2 Problema interpolrii

Problema interpolrii poate fi formulat dup cum urmeaz:
Fiind date N puncte diferite {x
i
R
p
| i=1,2,...,N} i un numr echivalent de
numere reale {d
i
R
1

| i=1,2,...,N} s se gseasc funcia F : R
p
R
1
care satisface
condiia de interpolare:
F(x
i
) = d
i
, i=1,2,...,N (3.2.1)
Tehnica bazat pe funcii radiale const n alegerea funciei F cu urmtoarea
form:
( )

=
=
N
i
i i
w F
1
) ( x x x (3.2.2)
unde {(||x - x
i
||) | i = 1,2,...,N} reprezint o mulime de N funcii arbitrare, de regul
neliniare, cunoscute sub denumirea de funcii radiale. Notaia ||.|| semnific o norm,
de regul cea euclidian. Punctele cunoscute x
i
R
p
, i = 1, 2,..., N, reprezint centrele
funciilor radiale.
Combinnd (3.2.1) cu (3.2.2) obinem un set de ecuaii liniare, avnd drept
necunoscute coeficienii w
i
:
- 54 - CAP. 3 Reele neuronale artificiale bazate pe funcii radiale


(
(
(
(

=
(
(
(
(

(
(
(
(

N N NN N N
N
N
d
d
d
w
w
w
M M
L
M M M M
L
L
2
1
2
1
2 1
2 22 21
1 12 11



(3.2.3)
n care:

ji
= (||x
j
- x
i
||), j,i = 1, 2 ,..., N (3.2.4)
Fie:
d = [d
1
, d
2
, ..., d
N
]
T
(3.2.5)
w = [w
1
, w
2
, ..., w
N
]
T
(3.2.6)
= {
ji
| j, i = 1, 2 ,..., N} (3.2.7)
cu definit ca matrice de interpolare. Se poate scrie atunci:
w = x (3.2.8)
de unde:
w =
-1
d (3.2.9)
Rezultatele teoretice i experimentale arat c alegerea funciei neliniare (.) nu este
crucial pentru performanele ulterioare ale unui RNA RBF. Aceasta poate fi, de
exemplu:
( )
0 , 0 ,
1
) (
2 / 1
2 2
>
+
= r c
c r
r (3.2.10)
sau
0 , 0 ,
2
exp ) (
2
2
>
|
|
.
|

\
|
= r
r
r

(3.2.11)





3.3 Strategii de nvare pentru RNA bazate pe funcii radiale - 55 -

3.3 Strategii de nvare pentru RNA bazate pe funcii radiale

Exista mai multe metode de antrenament ale RNA-RBF, deosebirea ntre ele
constnd n metoda de alegere a centrilor funciilor radiale.

Metoda bazat pe creterea reelei

Iniial stratul ascuns nu are nici un neuron. Dup fiecare epoc, vectorul de
intrare pentru care se obine cea mai mare eroare la nivelul stratului de ieire este
folosit pentru crearea unui nou neuron prin egalizarea ponderilor acestuia cu vectorul
de intrare. Se calculeaz apoi ponderile stratului liniar. Dac se ajunge la eroarea
(performana) dorit sau dac se atinge un numr maxim de neuroni pentru stratul
ascuns, procesul de antrenament va fi ncheiat.

Metoda centrilor fici, alei aleator

Reprezint una dintre cele mai simple abordri i presupune funcii radiale
fixe care definesc funciile de activare ale stratului ascuns. Locaiile centrilor funciilor
sunt alese aleator dintre vectorii de intrare.
Pentru funciile radiale se prefer un Gaussian izotropic:
( ) M i
d
M
G
i i
... , 2 , 1 , exp
2
2
2
= |
.
|

\
|
= t x t x (3.3.1)
n care M reprezint numrul centrilor iar d distana maxim dintre acetia.
n acest caz, deviaia standard pentru toate funciile va fi aceeai:
M
d
2
= (3.3.2)
Pentru determinarea ponderilor stratului liniar de ieire se folosete metoda
pseudoinversei [17]:
- 56 - CAP. 3 Reele neuronale artificiale bazate pe funcii radiale

w = G
+
d (3.3.3)
cu G
+
fiind pseudoinversa matricii G:
G = {g
ji
} (3.3.4)
cu
N j M i
d
M
g
i ji
... , 2 , 1 , ... , 2 , 1 , exp
2
2
= = |
.
|

\
|
= t x
j
(3.3.5)
Conform teoremei decompoziiei valorilor singulare, pseudoinversa matricii G este
definit astfel:
G
+
= V
+
U
T
(3.3.6)
n care
+
este ea nsi o matrice N x N constituit din valorile singulare ale lui G:
|
|
.
|

\
|
=
+
0 ,..., 0 ,
1
,...,
1
,
1
2 1 k
diag

(3.3.7)

Metoda selciei autoorganizate a centrilor

n cadrul acestei abordri este permis deplasarea locaiei centrilor funciilor
radiale ntr-o manier autoorganizat, n timp ce ponderile stratului liniar de ieire sunt
calculate ntr-o manier supervizat.
Componenta autoorganizant permite alocarea resurselor RNA astfel nct
centrii funciilor radiale vor fi plasai doar n regiuni semnificative ale spaiului de
intrare. Pentru selecia autoorganizat a centrilor se poate folosi metoda celor mai
apropiai k vecini iar pentru nvarea supervizat se poate folosi un algoritm bazat
pe corecia erorilor (de exemplu LMS).
Exemplul 3.1 RNA-RBF au fost folosite cu succes n deosebi la problemele de
aproximare/interpolare [18] i predicie [19] a funciilor. n continuare este
demonstrat capacitatea unei astfel de reele de a aproxima funcia f(x) =
sin(x)+cos(x):

3.3 Strategii de nvare pentru RNA bazate pe funcii radiale - 57 -

%Exempl u de i mpl ement ar e a unei RNA- RBF
%pent r u cazul i nt er pol ar i i f unct i i l or
%Cat al i n- Dani el Cal eanu, 2000

cl ear al l
eg = 0. 02; %er oar ea MSE dor i t a
sc = 1; %mar i mea campl ul ui r ecept i v al f unct i i l or r adi al e

P=0: pi / 4: 2*pi ; %def i ni r ea t i par ul ui de i nt r ar e
T=si n( P) + cos( P) ; %def i ni r ea t i par ul ui de i esi r e
%( punct el e de i nt r epol ar e)

net =newr b( P, T, eg, sc) ; %cr ear ea RNA- RBF

t est =0: pi / 32: 2*pi ; %def i ni r ea supor t ul ui pent r u punct el e de
t est
y=si n( t est ) + cos( t est ) ; %cal cul ul val or i l or f unct i ei or i gi nal e
z=si m( net , t est ) ; %cal cul ul val or i l or obt i nut e pr i n i nt er pol ar e

%r epr ezent ar ea gr af i ca a r ezul t at el or
pl ot ( t est , z)
hol d on
pl ot ( t est , y, ' r - - ' )
pl ot ( P, T, ' +' )
hol d of f


0 1 2 3 4 5 6 7
-1.5
-1
-0.5
0
0.5
1
1.5
funcie aproximat

funcie original

puncte de
antrenament

Fig.3.3.1 RNA-RBF folosit la aproximarea funciilor

- 58 - CAP. 3 Reele neuronale artificiale bazate pe funcii radiale

n concluzie se poate afirma c RNA-RBF reprezint o soluie alternativ n
special n problemele ce presupun interpolarea, aproximarea sau predicia funciilor.
De menionat ns i posibilitarea folosirii lor n probleme de clasificare.
CAPITOLUL 4
Reele neuronale artificiale recurente

4.1 Introducere

n acest capitol se prezint o alt clas important de RNA i anume aceea a
RN cu structur recurent. RNA recurente sunt caracterizate de:
- uniti de procesare neliniare;
- simetria conexiunilor sinaptice (w
ji
= w
ij
);
- folosirea intensiv a feedback-ului .
Din aceast categorie fac parte RNA Boltzmann (RNA-B) i RNA Hopfield
(RNA-H), cea din urm fiind detaliat n cele ce urmeaz, dezvoltarea acestora fiind
inspirat din fizica statistic i termodinamic.

4.2 RNA de tip Hopfield (RNA-H)

Poate fi vzut ca o memorie asociativ sau ca o memorie adresabil prin
coninut, a crei funcie principal este regsirea tiparelor stocate n memorie, ca
rspuns la prezentarea unui tipar incomplet sau contaminat cu zgomot. Esena
memoriilor adresabile prin coninut const n transformarea tiparelor

n stri stabile
s

ale sistemului dinamic (proces de codare) i invers (proces de decodare).


Fiecare neuron, de tip McCulloch-Pitts, al RNA-H (fig.4.2.1) este caracterizat
prin una din cele dou stri posibile: activ (s
i
= 1) , respectiv inactiv (s
i
= -1).
Starea unei RNA-H alctuit din N neuroni este definit de ctre vectorul:
s = [s
1
, s
2
, ..., s
N
]
T
(4.2.1)
Potenialul intern al unui neuron j este:

=
=
N
i
j i ji j
s w v
1
(4.2.2)
- 60 - CAP.4 Reele neuronale artificiale recurente

n care
j
reprezint pragul neuronului.




Fig.4.2.1. Arhitectura unei RNA-H cu 3 neuroni.

Neuronul j i modific starea conform regulii:

<
> +
=
0 , 1
0 , 1
j
j
j
v dac
v dac
s (4.2.3)
sau echivalent s
j
= sgn[v
j
]. Dac v
j
= 0 atunci s
j
poate lua o valoare arbitrar, +1 sau
1. De exemplu, se poate conveni ca starea neuronului s rmn nemodificat.
n funcionarea RNA-H se pot distinge dou etape:
a) Faza de memorare. S presupunem c se dorete stocarea a p vectori N
dimensionali {

| = 1, 2, ..., p}. Atunci, conform postulatului lui Hebb:
i
p
j ji
N
w
,
1
,
1

=
= (4.2.4)
De regul se consider w
ii
= 0, i.
Acelai lucru poate fi scris n form matricial astfel:
I W

N
p
N
T
p
=

=1
1

(4.2.5)
4.2 RNA de tip Hopfield (RNA-H) - 61 -

n care W reprezint matricea ponderilor sinaptice ale reelei i are dimensiunea NxN
iar I reprezint matricea identic.
Se constat faptul c ponderile RNA se calculeaz ntr-o singur epoc, spre deosebire
de RNA-MLP sau RBF.
Din ecuaia de calcul pentru ponderile RNA se constat urmtoarele:
- ieirea fiecrui neuron se constituie n intrare pentru toi ceilali neuroni ai
reele;
- nu exist autoexcitaie (self-feedback), adic w
ii
= 0, I;
- matricea ponderilor RNA este simetric w
ij
= w
ji
(sau W = W
T
) adic influena
exercitat de neuronul i asupra neuronului j este egal cu influena
exercitat de neuronul j asupra neuronului i
b) Faza de utilizare (regsire). n aceast faz, un anumit tipar x este impus drept
vector de stare al RNA-H. De regul el reprezint o versiune incomplet sau afectat
de zgomot al unui tipar memorat. Procesul de regsire se desfoar n mod dinamic:
fiecare neuron al reelei, n mod aleator ales, estimeaz propriul potenial de activare i
i stabilete starea final. Acest proces asincron (serial) de modificare a strilor se va
opri n momentul n care vectorul de stare nu se va mai modifica. Aceasta nseamn c
RNA-H a produs un vector de stare y invariant n timp, ale crui elemente satisfac
condiia de stabilitate:
N j y w y
N
i
i i ji j
..., , 2 , 1 ), sgn(
1
= =

=
(4.2.6)
sau n form matricial:
) sgn( y W y = (4.2.7)
Vectorul de stare y este denumit stare stabil a spaiului fazelor sistemului.
RNA-H cu ponderi sinaptice simetrice li se poate asocia aa-numita funcie de
energie (fig.4.2.2):

= =
=
N
i
N
j
j i ji
s s w E
1 1
2
1
(4.2.8)
- 62 - CAP.4 Reele neuronale artificiale recurente




Fig.4.2.2 Funcia de energie (Lyapunov) pentru cazul W = [1 0;1 0] generat prin
intermediul mediului MATLAB.

Variaia energiei E ca urmare a variaiei strii neuronului j e dat de expresia:

=
=
N
j i
i
i ji j
s w s E
1
(4.2.9)
Astfel, n timpul fazei de regsire a unui tipar, E descrete monoton. Schimbarea strii
RNA-H va continua pn cnd se va atinge un minim local al peisajului energetic.
Minimele peisajului energetic corespund unor atractori specifici spaiului strilor
(fazelor) care n mod normal reprezint puncte determinate n faza de memorare.
Regiunea nvecinat atractorilor poart denumirea de bazin de atracie.
Observaie: Nu este obligatoriu ca starea final s coincid cu unul din tiparele
memorate. Acest fapt poate fi pus i pe seama apariiei unor stri (atractori) fali
(spurious states).
Relativ la capacitatea de memorare a RNA-H se arat c numrul maxim de
tipare de dimensiune N care pot fi regsite perfect este:

N
N
p
ln 4
max
(4.2.10)





CAPITOLUL 5
Reele neuronale cu autoorganizare


5.1 Introducere

Aceast categorie a reelelor neuronale are drept caracteristic fundamental
folosirea algoritmilor de nvare nesupervizai (cu autoorganizare). Prin aceasta se
nelege faptul c nu exist un semnal extern furnizat de ctre mediu sau de ctre un
instructor care s confirme sau s infirme veridicitatea ieirilor RNA. Reeaua nsi
trebuie s descopere tipare, trsturi, regulariti i corelaii existente n datele de
intrare precum i modul de codare sau reprezentare intern al acestora, pentru a-l
furniza ieirilor.
Pentru aceasta, algoritmul este nsoit de un set de reguli de natur local
care permit calcularea unei funcii intrare-ieire cu proprietile specifice dorite. Din
acest punct de vedere, algoritmii de nvare nesupervizai se apropie ntr-o msur
mai mare dect cei supervizai, de modul de organizare a informaiei specific
creierului.
Subcapitolele urmtoare vor fi dedicate principalelor dou clase de sisteme cu
autoorganizare: cele care au la baz nvarea de tip hebbian i cele cu nvare
competitiv.

5.2. Reele neuronale cu autoorganizare i algoritm de nvare
de tip hebbian

n acest subcapitol se vor prezenta aspecte legate de RNA bazate pe algoritmi
de nvare nesupervizai derivai din regula lui Hebb pentru modificarea ponderilor.
- 64 - CAP.5 Reele neuronale cu autoorganizare


Ieirile reelelor vor avea valori continue, neexistnd competiie ntre neuroni, spre
deosebire de reelele neuronale prezentate n capitolul urmtor. De aceea, scopul
acestor reele nu va fi legat de clasificarea sau gruparea (clustering) tiparelor
prezentate intrrilor ci, mai degrab, de proiecie a datelor de intrare n spaiul definit
de componentele principale ale acestora.

5.2.1 Reele neuronale cu un singur neuron liniar

n [20] se arat c un singur neuron liniar, la care ponderile sinaptice se
adapteaz ntr-o manier hebbian, poate fi asimilat cu un filtru care genereaz
componenta principal a distribuiei intrrilor.
Pentru a demonstra acest fapt, se pleac de la modelul unui neuron prezentat n
fig.5.2.1.

x
0
(n)
x
1
(n)
x
p-1
(n)
w
p-1
(n)
w
1
(n)
w
0
(n)
y(n)


Fig.5.2.1.Modelul unui neuron liniar

Modelul este liniar n sensul n care ieirea poate fi scris ca o combinaie
liniar a intrrilor:
i
p
i
i
x w y

=
=
1
0
(5.2.1.1.)
n concordan cu postulatul lui Hebb, ponderile sinaptice vor fi modificate
dup formula:
5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 65 -



1 ..., , 1 , 0 ), ( ) ( ) ( ) 1 ( = + = + p i n x n y n w n w
i i i
(5.2.1.2.)
n care n reprezint timpul discret, iar rata de nvare. Se observ c aplicnd
formula (5.2.1.2.) se va obine o cretere nelimitat a w
i
, ceea ce este neacceptabil
din punct de vedere fizic. Acest neajuns poate fi ns evitat prin introducerea saturaiei
sau a normalizrii n adaptarea ponderilor sinaptice.
Exist multe metode care impun constrngeri asupra creterii vectorului
pondere w:
a) Dup fiecare epoc se recalculeaz ponderile w'
i
= w
i
alegnd astfel nct
|w'| = 1;
b) Linsher [21] propune un algoritm n care w

w
i
w
+
;
c) Yuille [22] folosete o regul de forma :
) | | (
2
w w yx w
i i i
= (5.2.1.3)
cu
max
| | = w n loc de | w | = 1.
n continuare se va folosi tehnica de normalizare descris de Oja n [20]:

=
+
+
= +
1
0
2
)] ( ) ( ) ( [
) ( ) ( ) (
) 1 (
p
i
i i
i i
i
n x n y n w
n x n y n w
n w

(5.2.1.4)
Presupunnd mic putem dezvolta 5.2.4.1. n serie de puteri dup i se va obine :
) ( )] ( ) ( ) ( )[ ( ) ( ) 1 (
2
o n w n y n x n y n w n w
i i i i
+ + = + (5.2.1.5)
cu ) (
2
o fiind notai termenii n de ordin doi sau mai mare; pentru mic acetia
pot fi neglijai, obinndu-se :
)] ( ) ( ) ( )[ ( ) ( ) 1 ( n w n y n x n y n w n w
i i i i
+ = + (5.2.1.6)
Analiznd ecuaia (5.2.1.6) putem identifica prezena a dou forme de reacie
(feedback) intern:
- O reacie pozitiv de autoamplificare rspunztoare de creterea ponderilor w
i
(n)

n
conformitate cu intrarea x
i
(n);
- 66 - CAP.5 Reele neuronale cu autoorganizare


- O reacie negativ corespunztoare termenului y(n) prin care se obine un control al
creterii ponderilor, cu efect de stabilizare a w
i
(n). Produsul y(n)w
i
(n) poate fi vzut
ca o caracterizare a unui proces de uitare (forgetting term) cu att mai intens cu ct
rspunsul y(n) este mai puternic.

5.2.2 Analiza componentelor principale. Reducerea dimensionalitii

Analiza componentelor principale reprezint o tehnic ce permite detectarea
celor mai marcante tendine ale unui nor de date. Componentele principale ale norului
x sunt direciile din R
n
de-a lungul crora alungirea norului este cea mai marcant.
Cunoaterea acestor direcii poate servi la selecia trsturilor dintr-un anumit set de
date. Proiectnd norul pe direciile date de componentele sale principale, realizm o
comprimare a informaiei cuprins n mulimea de instruire, adic o reducere a
dimensionalitii spaiului de intrare [8].
Fie x un vector p dimensional reprezentnd datele supuse analizei
componentelor principale (transformarea Karhunen-Love).
Presupunem c media vectorului x este 0:
E[x] = 0 (5.2.2.1)
Dac x nu ar ndeplini condiia (5.2.2.1), pentru ca media vectorului s fie zero se
calculeaz centrul de greutate al norului de puncte (media):

=
=
1
0
1
p
i
i
x
p
m (5.2.2.2)
i se scade aceast mrime din vectorul x.
Fie u un vector unitate p-dimensional:
1 ) (
2 / 1
= = u u u
T
(5.2.2.3)
Proiecia lui x pe u se poate scrie :
x u u x a
T T
= = (5.2.2.4)
iar
5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 67 -



0 ] [ ] [ = = x E u a E
T
(5.2.2.5)
Variana lui a, sinonim cu valoarea mediei ptratice, este:
u R u u xx E u u x x u E a E
T T T T T
= = = = ] [ )] )( [( ] [
2 2
(5.2.2.6)
unde R este matricea de corelaie a vectorului x.
Putem vedea variana
2
a proieciei a ca o funcie de vectorul unitate u:
Ru u u
T
= =
2
) ( (5.2.2.7)
Se pune problema gsirii vectorului unitate u de-a lungul cruia ) (u are
valori extreme (minime sau maxime locale).
Se consider o perturbaie u , astfel nct:
) ( ) ( u u u = + (5.2.2.8)
Din (5.2.2.7) avem:
= + + = + ) ( ) ( ) ( u u R u u u u
T

u R u Ru u Ru u
T T T
) ( ) ( 2 + + = (5.2.2.9)
Ignornd termenul de gradul 2, Ru u
T
) ( , se obine:
Ru u u Ru u Ru u u u
T T T
) ( 2 ) ( ) ( 2 ) ( + = + = + (5.2.2.10)
Aceasta implic, pe baza 5.2.2.8:
( 0 ) = Ru u
T
(5.2.2.11)
Nu ns orice perturbaie u a lui u este admisibil, ci doar acelea pentru care:
1 = + u u
sau echivalent:
1 ) ( ) ( = + + u u u u
T

Avnd n vedere i 5.2.2.3 rezult :
0 ) ( = u u
T
(5.2.2.12)
Aceasta nseamn c u trebuie s fie ortogonal pe u i deci doar o schimbare n
- 68 - CAP.5 Reele neuronale cu autoorganizare


direcia lui u este permis.
Prin convenie elementele vectorului u sunt adimensionale. Combinnd
ecuaiile 5.2.2.11 i 5.2.2.12 i introducnd factorul de scalare cu aceeai dimensiune
ca i termenul 5.2.2.11 rezult:
0 ) ( ) ( = u u Ru u
T T
(5.2.2.13)
sau echivalent :
u Ru u Ru u
T
= = 0 ) ( ) ( (5.2.2.14)
Ecuaia (5.2.2.14) este cunoscut sub denumirea de problema valorilor proprii. Ea
are soluii netriviale (u0) doar pentru nite valori speciale ale lui denumite valori
proprii ale matricii de corelaie R. Valorile corespuntoare lui u se numesc vectori
proprii [5].
Presupunem valorile proprii aranjate n ordine descresctoare:
1 1 0
... ...

> > > > >
p j

Se poate scrie atunci:
RU = U (5.2.2.15)
n care:
U = [u
0
,, u
j
,, u
p-1
]
= diag[
0
,,
j
,,
p-1
]
Ecuaia 5.2.2.15 poate fi rescris astfel :
= RU U
T
(5.2.2.16)
sau ntr-o form explicit :

=
=
j k
j k
Ru u
j
k
T
j
, 0
,
(5.2.2.17)
i deci . 1 ..., , 1 , 0 ) (
,
= = p j u
j j

Valoarea practic a metodei analizei componentelor principale este legat de
reducerea dimensionalitii datelor.
Vectorul x poate fi reconstruit din proiecia sa dup cum urmeaz:
5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 69 -


=
= =
1
0
p
j
j j
u a Ua x (5.2.2.18)
Vom putea reduce numrul trsturilor necesare pentru o reprezentare efectiv a
datelor renunnd la combinaiile liniare din ecuaia 5.2.2.18 care au varian redus i
meninndu-le pe acelea pentru care variana are valori mari:

=
< =
1
0
'
,
m
j
j j
p m u a x (5.2.2.19)
n concluzie, pentru a realiza reducerea dimensionalitii datelor de intrare
calculm valorile i vectorii proprii pentru matricea de corelaie a datelor de intrare,
iar apoi proiectm datele ortogonal ntr-un subspaiu definit de vectorii proprii
corespunztori celor mai mari valori proprii . Aceast metod de reprezentare a datelor
este cunoscut sub denumirea de decompoziie subspaial [23].

5.2.3 Analiza componentelor principale prin reele neuronale cu
autoorganizare

Se poate arta relativ simplu c vectorul ponderilor sinaptice w(n) al unei RN
liniare care folosete o regul de nvare de tip hebbian (5.2.1) converge cu
probabilitatea 1 spre un vector unitate corespunztor direciei vectorului propriu al
matricei de corelaie de valoare maxim.
Ecuaia 5.2.1.5 se poate rescrie astfel :
)] ( ) ( ) ( )[ ( ) ( ) 1 ( n w n y n x n y n w n w + = + (5.2.3.1)
innd cont de faptul c ) ( ) ( ) ( ) ( ) ( n x n w n w n x n y
T T
= = relaia de mai sus devine:
+ = + ) ( ) ( ) ( [ ) ( ) 1 ( n w n x n x n w n w
T

)] ( ) ( ) ( ) ( ) ( n w n w n x n x n w
T T
(5.2.3.2)
Acest algoritm este stabil asimptotic n sensul n care soluia ecuaiei (5.2.3.2)
converge spre un punct fix stabil, pe msur ce n tinde la infinit:
- 70 - CAP.5 Reele neuronale cu autoorganizare


, ) (
0
q n w pentru n (5.2.3.3)
Mediind n sens statistic ]) [ ( E relaia 5.2.3.2 obinem:
0 0 0 0
) ( 0 q Rq q Rq
T
= (5.2.3.4)
n care R reprezint matricea de corelaie a vectorului de intrare x(n):
)] ( ) ( [ n x n x E R
T
= (5.2.3.5)
Valoarea asimptotic medie q
0
a vectorului ponderilor satisface la echilibru relaia:

0 0 0
q Rq = (5.2.3.6)
unde:

0 0 0
Rq q
T
= (5.2.3.7)
Deducem c q
0
este un vector propriu al matricii R. Fie q
0
,q
1
,, q
p-1
vectorii proprii ai
matricii de corelaie R. Ecuaia (5.2.3.4) este satisfcut de oricare dintre aceti
vectori, dar doar q
0
corespunztor celei mai mari valori
max 0
= reprezint o soluie
stabil [5].
Putem concluziona deci c modelul neuronului liniar la care ponderile sunt
modificate dup o lege de tip hebbian (5.2.1.5) sau echivalent (5.2.3.1) tinde s
extrag prima component principal din vectorul de intrare staionar,
corespunztor celei mai mari valori proprii pentru matricea de corelaie a vectorului de
intrare [20].

5.2.3.1 Algoritmul hebbian generalizat

n continuare se va prezenta succint algoritmul hebbian generalizat (GHA,
Generalized Hebbian Algorithm) propus de Sanger [24] n 1989 precum i o
generalizare a acestuia denumit algoritm hebbian generalizat pentru domeniul complex
(CGHA, Complex Domain Generalized Hebbian Algorithm ) prezentat de Y. Ma i
Y. Zhang [25] n 1997.
5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 71 -



Prin intermediul algoritmului GHA vectorii proprii ai matricii de corelaie a
datelor de intrare pot fi dedui iterativ cu ajutorul unei RN cu un singur strat liniar
(fig.5.2.3.1.1).
W
1 W
1
W
1
-y
M
W
M -y
2
W
2
-y
1
W
1
X



Fig.5.2.3.1.1 Reeaua pentru implementarea GHA sau CGHA

Presupunem vectorul de intrare de forma :
X=[x
1
, x
2
,x
N
]
T
(5.2.3.1.1)
Primii M vectori proprii ai matricii de corelaie R
xx
=E[XX
T
], ordonai n manier
descresctoare a valorilor proprii sunt furnizai de urmtorii vectori coloan :

T
N
w w w W ] ... [
1 12 11 1
= (5.2.3.1.2)

T
N
w w w W ] ... [
2 22 21 2
= (5.2.3.1.3)
. .......... .......... ..........

T
MN M M M
w w w W ] ... [
2 1
= (5.2.3.1.4)
Principala problem a algoritmului GHA este gsirea ponderilor W
j

(j=1,2,M). Pentru aceasta se iniializeaz W
j
cu valori aleatoare dup care ponderile
vor fi modificate astfel:
+ = + ) ( )[ ( ) ( ) ( ) 1 ( n X n y n n W n W
j j j

( )


j i
i i j j
n W n y n W n y ] ) ( ) ( ) ( (5.2.3.1.5)
n care n reprezint indexul iteraiilor i
- 72 - CAP.5 Reele neuronale cu autoorganizare


) ( ) ( ) ( n x n W n y
T
j j
= (5.2.3.1.6)
Sanger arat c W
j
converge spre componenta de ordinul j a vectorului propriu al R
xx
.
Ma i Zhang [25] observ c algoritmul este restrns doar la domeniul real i
propun algoritmul CGHA capabil s prelucreze date din domeniul complex (de
exemplu, datele obinute de la o matrice de senzori sunt transformate prin eantionare
n cuadratur n mrimi complexe). n acest caz modificarea ponderilor se va face
dup o regul asemntoare cu cea de la GHA:
+ = + ) ( )][ ( [ ) ( ) ( ) 1 ( n X n y conj n n W n W
j j j


j i
i J j j
n W n Y n W n y )] ( ) ( ) ( ) ( , j=1,2,M (5.2.3.1.7)
n care conj[y
j
(n)] este conjugata complex a lui
) ( ) ( ) ( n X n W n y
H
j j
= (5.2.3.1.8)
unde H reprezint hermitianul transpus.

5.2.3.2 Algoritmul APEX

APEX (Adaptive Principal Component Extraction) este un algoritm pentru
calculul recursiv al componentelor principale propus de ctre Kung i Diamantoros
[26]. El se bazeaz pe observaia c prin utilizarea unei RNA care folosete, pe lng
conexiuni feedforward i conexiuni lateral, cu neuroni interacionnd ntr-o manier
anti-hebbian, ieirile neuronilor corespunztori stratului de ieire vor defini un sistem
de coordonate necorelat chiar dac semnalele aplicate la intrare sunt puternic corelate.
n fig.5.2.3.2.1 este prezentat modelul unei RNA care implementeaz acest algoritm.

5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 73 -



x
1
y
0
x
p-1
y
j
y
1
x
2
aj
1
aj
0

Fig. 5.2.3.2.1 RNA cu conexiuni laterale care implementeaz algoritmul APEX

Etapele algoritmului APEX sunt urmtoarele:

a) Iniializarea vectorului ponderilor sinaptice feedforward w
j
i vectorului ponderilor
feedback a
j
cu valori aleatoare mici. Atribuirea unei valori pozitive ratei de nvare ;
b) Fie j=0 i pentru n = 1,2,, se va calcula:
)] ( ) ( ) ( ) ( [ ) ( ) 1 (
) ( ) ( ) (
0
2
0 0 0
0 0
n w n y n x n y n w n w
n x n w n y
T
+ = +
=


n care cu x(n) s-a notat vectorul de intrare.
Pentru valori mari ale lui n avem:
0 0
) ( q n w
unde q este vectorul propriu asociat celei mai mari valori proprii ale matricii de
corelaie a lui x(n).
c) Fie j =1 i pentru n=1,2, se calculeaz:
- 74 - CAP.5 Reele neuronale cu autoorganizare


)] ( ) ( ) ( ) ( [ ) ( ) 1 (
)] ( ) ( ) ( [ ) ( ) 1 (
) ( ) ( ) ( ) (
)] ( ),... ( ), ( [ ) (
2
1
2
1
1 1 0 1
n a n y n y n y n a n a
n w y n x n y n w n w
n y n a n x n w y
n y n y n y n y
j j j j j j
j j j j j
j
T
j
T
j j
T
j j
+ = +
+ = +
+ =
=


d) Se incrementeaz j cu o unitate i se continu cu pasul c) pn la j = m-1, cu m
reprezentnd numrul componentelor principale dorite.
Pentru n suficient de mare avem:
0 ) (
) (

n a
q n w
j
j j

unde q
j
este vectorul propriu asociat cu cea de-a j valoare proprie a matricii de
corelaie a lui x(n).

5.2.3.3 Analiza neliniar a componentelor principale

Motivaia folosirii unor tehnici de analiz neliniar (NPCA) a componentelor
principale const n faptul c dei PCA standard este optim n aproximarea datelor de
intrare (n sensul erorii ptratice medii), reprezentarea furnizat nu este ntotdeauna
cea mai bun n descrierea unor caracteristici fundamentale ale datelor de intrare.
RNA pentru PCA reprezint datele ntr-o baz ortonormal determinat de proprieti
statistice de ordinul 2 (covariane) ale datelor de intrare. RNA care implementeaz
NPCA au avantajul de a putea extrage proprieti statistice de ordin superior celor
extrase de PCA.
Pentru implementarea acestor RNA a fost propus adugarea, la modelul unui
neuron, a unor funcii de activare de tip sigmoidal, deci a unei funcii neliniare. Astfel
de ncercri au fost fcute de Oja [27] sau mai recent de Karhunen i colectiv [28] care
propune urmtoarea structur de RNA (fig. 5.2.3.3.1). Algoritmul propus, denumit
ICA (Independent Component Analysis) va fi prezentat succint n continuare.
5.2. RNA cu autoorganizare i algoritm de nvare de tip hebbian - 75 -



Presupune parcurgerea a trei etape:


x
V
v
y
x'
Q
W
T


Fig.5.2.3.3.1 RNA pentru ICA

a) Preprocesarea datelor de intrare
nainte de aplicarea vectorilor de date x
k
se scade media acestora din fiecare
x
k
. Urmeaz o procedur de obinere a unor date albe, folosind metode PCA standard
care efectueaz simultan o compresie optim a informaiei n sensul erorii ptratice
medii i o filtare a zgomotului gaussian; matricea acestei transformri este dat de
relaia :
T
E D V
2
1

= (5.2.3.3.1)
unde D este matricea diagonal MM , D = diag [ )] ( ),..., 1 ( M i E o matrice
)] ( ),..., 1 ( [ , M c c E M L = cu ) (i semnificnd a "i" cea mai mare valoare proprie
a matricii de covarian } {
T
k k
x x E i c(i) respectiv al "i" cel mai mare vector propriu.
b) Separarea datelor
Calculul matricii de separaie
T
k
W , o matrice de separaie ortogonal
M M , reprezint partea cea mai dificil a algoritmului ICA. Autorii propun
urmtoarea soluie pentru determinarea W: calculul W prin metoda algoritmului
bigradient [29]:
) ( ) (
1 k
T
k k k
T
k k k k k
W W I W y g V W W + + =
+
(5.2.3.3.2)
- 76 - CAP.5 Reele neuronale cu autoorganizare


n care g(.) este o funcie neliniar, iar
k
o constant uzual ntre 0,51.
c) Estimarea vectorilor baz
Algoritmul neuronal pentru determinarea matricii ponderilor Q este:
T
k k k k k k k
y y Q x Q Q ) (
1
+ =
+
(5.2.3.3.3)
Coloanele matricii ponderilor Q devin estimri ale vectorilor baz pentru
algoritmul ICA dac eroarea ptratic medie E{||x - Qy||
2
} este minimizat cu
constrngerea asupra componentelor vectorului y care trebuie s fie statistic mutual
independente.

5.3 Reele neuronale cu autoorganizare i nvare de tip
competitiv

Caracteristica principal a acestor reele neuronale este legat de modul
competitiv de nvare n sensul n care, la un anumit moment, doar un singur neuron
al stratului de ieire (sau doar unul dintr-un grup de neuroni) este activat. Astfel,
neuronii stratului de ieire sunt permanent n competiie, de unde i denumirea de
uniti tip nvingtorul ia totul (winner take-all).
RNA cu autoorganizare i nvare de tip competitiv, cunoscute i sub
denumirea de hri de trsturi cu autoorganizare (SOFM, Self-Organising Feature
Map) au neuronii stratului de ieire dispui n straturi uni sau bidimensionale (rar sunt
ntlnite i structuri multidimensionale ale stratului de ieire), iar acetia sunt selectiv
acordai pentru a rspunde tiparelor aplicate la intrarea reelei neuronale.
Se remarc tendina de formare a unor hri topologice ale tiparelor aplicate
la intrare n sensul n care locaiile spaiale ale neuronilor stratului de ieire corespund
trsturilor intrinseci ale tiparelor de intrare. Cu alte cuvinte, exist o strns corelaie
ntre clasa sau tipul vectorului de intrare i poziia geometric a neuronului care va fi
activat, astfel nct la tipare asemntoare aplicate la intrare vor fi activi neuroni
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 77 -



nvecinai, situai n aceeai regiune a hrii topografice.
Modelul pentru acest tip de RNA este inspirat din cercetrile privitoare la
activitatea cerebral i rolul diverselor arii corticale. Prin mijloace care pun n
eviden activitatea i distribuia spaial, simultan pentru toi neuronii aparintori
unei anumite zone a creierului, s-a pus n eviden existena hrilor topologice n
creier; dintre acestea enumerm doar cteva:
- harta retinotopic (de la retin la cortexul vizual);
- harta somatosenzitiv (de la piele la cortexul somatosenzitiv);
- harta tonotopic (de la ureche la cortexul auditiv).
Considernd, spre exemplu, cazul hrilor tonotopice, s-a pus n eviden o
coresponden topologic ntre frecvena sunetului perceput i poziia spaial a
neuronului activat de ctre acesta.

5.3.1 Reele neuronale cu autoorganizare i nvare competitiv simpl

Reprezint cel mai simplu caz de RNA cu nvare de tip competitiv. Este
alctuit (fig.5.3.1.1) dintr-un singur strat de ieire unidimensional y
j
, fiecare dintre
neuronii acestui strat fiind total conectat la neuronii ce formeaz stratul de intrare x
i
,
prin intermediul unor ponderi (conexiuni excitatorii) w
ji
. S considerm cazul unor
mrimi de intrare/ieire binare. Aa cum s-a menionat anterior, doar un singur neuron,
ctigtorul competiiei, poate fi activ (pe 1 logic) la un moment dat.
Considernd intrarea net a unui neuron ca fiind:
x w
j i ji
i
j
x w I = =

(5.3.1.1)
atunci neuronul cu intrarea net cea mai mare va fi desemnat ctigtor al competiiei
pentru vectorul de intrare curent, x.
- 78 - CAP.5 Reele neuronale cu autoorganizare



x
1 x
N

Fig.5.3.1.1 RNA cu nvare competitiv simpl

De aceea:
j , x w x w
j * j
(5.3.1.2)
n care

j reprezint unitatea ctigtoare cu . 1


*
=
j
y Dac ponderile pentru fiecare
neuron sunt normalizate astfel nct, s spunem 1 =
j
w pentru toi j, atunci (5.3.1.2)
este echivalent cu:
j , x w x w
j * j
(5.3.1.3)
Altfel spus, unitatea ctigtoare a competiiei este cea care are vectorul pondere
normalizat cu distana cea mai mic fa de vectorul aplicat la intrare.
Mecanismul ctigtorul ia totul este implementat de regul soft, prin
calculul mrimii I
j
maxime; uneori el poate fi realizat i cu ajutorul unor conexiuni
laterale inhibitorii i excitatorii. Astfel neuronii stratului de ieire se inhib reciproc i
i ntresc poziia de ctigtori prin autoexcitare.
Algoritmul de antrenament ncepe prin iniializarea ponderilor sinaptice cu
valori aleatoare mici. Se aplic tiparul x la intrare i este desemnat unitatea
ctigtoare conform relaiilor (5.3.1.2) sau (5.3.1.3). Ponderile asociate neuronului
ctigtor vor fi modificate astfel nct vectorul
* j
w s fie i mai apropiat de tiparul
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 79 -



prezentat la intrare, x. Exist mai multe modaliti de implementare ale acestui
deziderat. Una din soluiile posibile, cunoscut i sub denumirea de regula de
nvare competitiv standard [6], este:
) (
* * j j
w x w = (5.3.1.4)
O analogie geometric a procesului de nvare descris anterior este prezentat n
fig.5.3.1.2. S considerm vectorul de intrare x ca fiind tridimensional x = [x
1
, x
2
, x
3
]
cu . R x
i
Putem reprezenta direcia fiecrui x printr-un punct situat pe suprafaa unei
sfere; la fel i pentru vectorul w
j
dac ei sunt normalizai ( 1 =
j
w ). n fig.5.3.1.2 a)
este nfiat o posibil distribuie iniial a vectorilor pondere (marcai prin "x") i a
mulimii tiparelor aplicate la intrare (marcate prin puncte). In fig.5.3.1.2 b) se prezint
situarea vectorilor pondere dup un numr de epoci de antrenament. Se observ
migrarea vectorilor pondere spre centrul de greutate al grupurilor (clustere)
identificate n setul de vectori de intrare.



x
x
x



x
x
x

a) b)
Fig.5.3.1.2 Procesul de nvare competitiv poate fi ilustrat prin migrarea vectorilor pondere (marcai
prin "x") spre grupri (clustere) ale vectorilor de intrare

Procesul de antrenament poate fi vzut i ca o modalitate de minimizare a unei
funcii de cost (funcie Lyapunov):
{ }
2
*
2
) (
2
1
) (
2
1
j ji i j
ji
ji
w x M w E w x = =


(5.3.1.5)
- 80 - CAP.5 Reele neuronale cu autoorganizare


n care

i
M reprezint matricea de apartenen la grup (cluster) i care specific dac
tiparul de intrare

x activeaz sau nu unitatea i:

=
=
altfel
j j daca
M
j
, 0
) ( * , 1

(5.3.1.6)
iar reprezint indexul tiparului aplicat la intrare.
Metoda gradientului descendent aplicat funciei de cost (5.3.1.5) conduce la:
) (
ji j j
ji
ji
w x M
w
E
w =

(5.3.1.7)
Se observ identitatea relaiei de mai sus cu regula de modificare a ponderilor
dat de metoda de nvare competitiv standard.

Exemplul 5.1 n acest exemplu va fi prezentat modalitatea de implementare a unei
reele neuronale cu nvare competitiv. Ea este caracterizat prin existenta unui
singur strat de ieire unidimensional i deci poate fi folosit cu succes n probleme de
clasificare a datelor.

%Exemplu de implementare a unei retele neuronale
%cu invatare de tip competitiv
%Catalin-Daniel Caleanu, 1999
clear all;
%definirea vectorului de antrenament P
X = [-1 1;-1 1]; %Definirea limitelor in care vor fi situate centrele clusterelor
clusters = 5; %Numarul clusterelor
points = 20; %Numarul de puncte aferent fiecarui cluster
std_dev = 0.07; %Deviatia standard a datelor
P = nngenc(X,clusters,points,std_dev);
%implementarea retelei neuronale cu invatare competitiva,
%cu doua intrari in gama -1...1 si un strat de iesire unidimensional
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 81 -



%format din 5 neuroni
net=newc([-1 1;-1 1],5);
%reprezentarea grafica a setului de date de antrenament si a
%pozitiei initiale a ponderilor sinaptice
net=init(net);
w=net.IW{1};
plot(P(1,:),P(2,:),'+r');
hold on;
plot(w(:,1),w(:,2),'ob');
figure
hold off;
%etapa de antrenament
net.trainParam.epochs=1000;
net=train(net,P);
%reprezentarea grafica a setului de date de antrenament si a
%pozitiei finale a ponderilor sinaptice
w=net.IW{1};
plot(P(1,:),P(2,:),'+r');
hold on;
plot(w(:,1),w(:,2),'ob');
%clasificarea a trei tipare de test
p=[-1 1 0;-1 1 0];
Y = sim(net,p)
Yc = vec2ind(Y)

Dup rularea acestui program vor fi reprezentate (vezi fig.1i fig.2) dispunerea
spaial a datelor de antrenament precum i a vectorilor pondere, nainte i dup
antrenament. Se poate observa migrarea vectorilor pondere nspre centrele clusterelor
de date. Aceasta nseamn c neuronii stratului de ieire au nvat s rspund
- 82 - CAP.5 Reele neuronale cu autoorganizare


selectiv la tiparele aplicate la intrare.
n final sunt aplicai 3 vectori de test (vezi matricea p) pe care reeaua
neuronal i clasific n funcie de distana euclidian a lor fa de vectorii pondere
nvai. Ieirea reelei neuronale va arta astfel:
Y = (1,1) 1
(5,2) 1
(4,3) 1
Yc = 1 5 4
Adic cele 3 tipare aplicate aparin de clase diferite (clasa 1, 5 respectiv 4).









Fig.5.3.1.3 Dispunerea spaial a tiparelor de antrenament i poziia iniial a vectorilor pondere









Fig.5.3.1.4 Dispunerea spaial a tiparelor de antrenament i poziia final a vectorilor pondere
-1 -0.5 0 0.5 1
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
-1 -0.5 0 0.5 1
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 83 -



5.3.2 Reele neuronale cu autoorganizare tip hart de trsturi

Exist mai multe metode de realizare a unei RNA destinate reprezentrii
trsturilor datelor aplicate la intrare (SOFM, Self-Organizing Feature Map). Ne vom
referi n continuare la dou dintre cele mai importante:
Prima metod folosete algoritmul de nvare competitiv standard, iar n plus,
se introduc conexiuni laterale ntre neuronii stratului de ieire. Ponderile asociate
conexiunilor laterale variaz n funcie de distana dintre neuroni dup aa numita
form a plriei de mexican (fig.5.3.2.1). Putem distinge dou zone distincte ale
fig.5.3.2.1: zona nvecinat neuronului considerat, caracterizat prin existena
ponderilor sinaptice excitatorii i o zon ndeprtat ce se manifest prin ponderi
inhibitorii.


+
-
-
+
valoarea ponderilor
conexiunilor laterale
distana dintre neuroni

Fig.5.3.2.1 Variaia ponderilor conexiunilor laterale n funcie de distana dintre neuroni

Reeaua neuronal descris mai sus prezint n funcionare dou caracteristici
importante :
- ea tinde s-i concentreze activitatea neuronal n grupuri locale, cunoscute i sub
denumirea de bulbi [30];
- localizarea spaial a acestor bulbi este determinat de natura semnalelor aplicate la
intrare.
- 84 - CAP.5 Reele neuronale cu autoorganizare


n acest caz rspunsul neuronului j se poate scrie:
N j k y c I y
j jk
k
K k
j j
,..., 2 , 1 ), ( = + + =

=
(5.3.2.1)
n care reprezint funcia de activare (de regul o funcie neliniar) a unui neuron din
stratul de ieire, I
j
intrarea net a neuronului ) (
1
l jl
p
l
j
x w I

=
= , iar c
jk
ponderile
laterale ale neuronului j, p numrul total al intrrilor RNA, N numrul total de neuroni
din stratul de ieire.
Soluia sistemului neliniar se va gsi iterativ:
N j n y c I n y
k j jk
K
K k
j j
,..., 2 , 1 ), ( ( ) 1 ( = + = +
+
=

(5.3.2.2)
n care parametrul controleaz rata de convergen a procesului.
A II-a metod, cunoscut sub denumirea de algoritmul Kohonen, nu
folosete conexiuni laterale tip plrie de mexican; efectul produs de acestea se obine
prin modificarea ponderilor innd cont de relaiile de vecintate dintre neuronii
stratului de ieire. De regul acest algoritm se aplic unei reele ca cea din fig. 5.3.2.2.
Paii algoritmului sunt urmtorii [30]:
a) Iniializarea ponderilor. Se aleg valori aleatoare mici pentru ). 0 (
j
w Singura
restricie este ca ) 0 (
j
w s fie diferite pentru j = 1, 2,, N, unde N reprezint numrul
de neuroni din startul de ieire;
b) Aplicarea tiparului de intrare x.
c) Identificarea neuronului ctigtor i(x) al competiiei la pasul n folosind criteriul
distanei euclidiene minime:
N j n i
j j
..., , 2 , 1 , ) ( min arg ) ( = = w x x (5.3.2.3)

5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 85 -




x
1 x
2
x
N
w
N

w
1

Stratul neuronilor de intrare
Stratul neuronilor de ieire

Fig. 5.3.2.2 Arhitectura unei RNA-SOFM 2D.

d) Modificarea ponderilor. Se face ntr-o manier hebbian, dar spre deosebire de
acesta, este introdus un termen
j j
w y g ) ( (forgetting term) care s previn saturarea
ponderilor (vezi 5.2.1, ec.5.2.1.2). Singura condiie impus funciei ) (
j
y g este :
j y pentru y g
j j
= = , 0 , 0 ) ( (5.3.2.4)
Cu aceast precizare, ecuaia diferenial pentru adaptarea ponderilor devine :
N j y g y
dt
d
j j j
j
..., , 2 , 1 , ) ( = = w x
w
(5.3.2.5)
n care reprezint rata de nvare.
Fie ) (
) (
n
i x
vecintatea topologic a neuronului nvingtor i(x). Se poate
scrie atunci:


=
) exteriorul (in activ e nu neuronul daca 0,
) interiorul (in activ e neuronul daca 1,
) i(
) i(
x
x
j
j
y
j
(5.3.2.6)
i:


=
altfel 0,
) interiorul (in activ e neuronul daca ,
) (
) i(x
j
y g
j

(5.3.2.7)
- 86 - CAP.5 Reele neuronale cu autoorganizare



=
altfel 0,
activ e neuronul daca , j
dt
dw
j j
w x
(5.3.2.8)
Utiliznd formalismul discret putem scrie:

+
= +
altfel , ) (
) j daca , )] ( )[ ( ) (
) 1 (
) i(
n
n n n
n
j
j j
j
w
w x w
w
x

(5.3.2.9)
De remarcat faptul c att (n) ct i
i(x)
au un comportament dinamic. Fie d
j, i
distana euclidian lateral a neuronului j fa de neuronul nvingtor i. Fie
j, i

amplitudinea vecintii topologice centrat n jurul neuronului nvingtor i. De regul
are aspectul unui gaussian, cf. fig..5.3.2.3.
)
2
exp(
2
2
,
,

i j
i j
d
= (5.3.2.10)

j, i
d
j, i

Fig. 5.3.2.3 Funcia vecintate a unui neuron

innd cont de aceste aspecte, ec.5.3.2.9 poate fi rescris astfel :
)] ( ) ( )[ ( ) ( ) ( ) 1 (
) ( ,
n n n n n n
j x i j j j
w x w w + = + (5.3.2.11)
Pentru (n),(n) se propun [31] urmtoarele legi de variaie:


n
b n

=
0
) ( (5.3.2.12)


n
c n

=
0
) ( (5.3.2.13)
Larg folosite sunt i formulele:
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 87 -



|
|
.
|

\
|
=
1
0
exp ) (


n
n (5.3.2.14)
|
|
.
|

\
|
=
2
0
exp ) (


n
n (5.3.2.15)
n care , ,
0 0
b, c sunt constante,
2 1
, , constante de timp,
max
1
T
= cu T
max

reprezentnd numrul maxim de pai ai algoritmului .
Procedura se repet cu pasul b) de un numr de ori specificat apriori sau pn
cnd nu se mai nregistreaz schimbri notabile n harta de trsturi .

5.3.3 Algoritmi SOFM mbuntii

O problem serioas a algoritmilor de nvare de tip competitiv este faptul c
ei conduc adesea la soluii n care mai muli neuroni ai reelei sunt utilizai rar sau
chiar deloc. De exemplu, dac o anumit regiune a spaiului de intrare este cu mult
mai populat dect altele, iar densitatea iniial a vectorilor pondere este prea mic
pentru acea regiune, doar anumii neuroni vor iei n mod constant nvingtori.
Algoritmul Kohonen clasic ncearc s depeasc aceast problem prin
folosirea vecintilor topologice, dar nu ntotdeauna cu succes [30].
Se vor prezenta, pe scurt, trei noi abordri care ncearc s elimine problema
mai sus menionat.

Metoda combinaiei convexe (SOFM_CV, Convex Combination)

Conform acestei metode metode [31] toate ponderile sunt iniializate cu
valoarea
n
1
, n care n este dimensiunea vectorului de intrare. Apoi, fiecare
- 88 - CAP.5 Reele neuronale cu autoorganizare


component x
i
a vectorului de intrare este substituit prin
n
x
i


+
1
, unde este
modificat gradual, de la zero la unu, oferind posibilitatea vectorilor de intrare s atrag
foarte ncet, treptat, vectorii pondere.

Algoritmul SOFM cu contiin (SOFM-C, Conscience Algorithm)

n cazul acesta, pentru fiecare neuron se monitorizeaz numrul de ori pentru
care a ieit ctigtor al competiiei. Noiunea de contiin provine de la faptul c
un neuron care ctig prea des competiia se simte vinovat i i va micora ansele
de a mai ctiga n viitor competiia.
Paii acestui algoritm sunt urmtorii [32]:
a) Gsirea vectorului sinaptic w
i
cel mai apropiat de vectorul de intrare x:
N j
j
j
i
..., , 2 , 1 , min = = w x w x (5.3.3.1)
b) Calculul numrului p
j
de ori de care un neuron a ctigat competiia:
) (
vechi
j j
vechi
j
nou
j
p y B p p + = (5.3.3.2)
unde 0<B<<1 i

=
altfel 0,
castigator este neuronul daca , 1 j
y
j
(5.3.3.3)
p
j
sunt iniializai cu 0 la nceputul algoritmului.
c) Gsirea noului neuron nvingtor prin folosirea mecanismului contiinei:
) ( min
j j
j
i
b = w x w x (5.3.3.4)
unde b
j
poate fi vzut ca un prag de activare (bias); el este definit dup cum urmeaz:
|
.
|

\
|
=
j j
p
N
C b
1
(5.3.3.5)
unde C este o constant, iar N numrul total de neuroni (din stratul de ieire).
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 89 -



d) Modificarea ponderilor sinaptice ale neuronului ctigtor al competiiei:
) (
vechi
i
vechi
i
nou
i
w x w w + = (5.3.3.6)
n care reprezint rata de nvare a algoritmului SOFM

Algoritmul SOFM cu atenie (SOFM-A)

Este similar cu metoda anterioar, n sensul n care fiecrui neuron din stratul
de ieire i este asociat un contor care ine evidena numrului de ori de care
respectivul neuron a ieit ctigtor [33].
Vectorii pondere sunt ajustai n concordan cu frecvena cu care neuronii au
ctigat, n trecut, competiia.
n cazul fiecrei metode prezentate n acest paragraf sunt modificate doar
ponderile asociate neuronului ctigtor, iar rata de nvare se presupune a fi
constant.

Exemplul 5.2 Se propune un set de experimente care urmresc s ilustreze formarea
hrii de trsturi la o reea neuronal SOFM. Vom considera cazul unor date de
intrare cu distribuie gaussian 2D respectiv 3D i o reea neuronal SOFM care va
avea stratul de ieire de form bidimensional respectiv tridimensional. Formula
pentru generarea norului de date este:
) || ||
2
1
exp(
2
1
) (
2
2 2


= x x f
n care reprezint media iar dispersia datelor. Ea se poate extinde i pentru cazul
3D.
a) Cazul SOFM-2D.

%Exemplu de implementare a unei retele neuronale SOFM-2D
%Catalin-Daniel Caleanu, 1999
- 90 - CAP.5 Reele neuronale cu autoorganizare


clear all;
%definirea unui nor de date 2D cu distributie gaussiana
sigma=1.5;
x=-1:.005:1;
y=(1/2*pi*sigma^2)*exp(-(x.^2/2*sigma^2));
y=y.*rand(1,length(x));
%definirea setului de date de intrare P
P = [x;y];
%implementarea retelei neuronale SOFM cu doua intrari in gama -1...1
%respectiv 0...10
%si un strat de iesire bidimensional de 5x5 neuroni
net = newsom([-1 1;0 10],[5 5]);
plotsom(net.layers{1}.positions)
figure
net.trainParam.epochs=10000;
net = train(net,P);
plot(P(1,:),P(2,:),'+g')
hold on
plotsom(net.iw{1,1},net.layers{1}.distances)
hold off

n urma rulrii programului de mai sus se obin urmtoarele configuraii ale
hrii de trsturi:






5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 91 -



0 1 2 3 4
0
1
2
3
position(1,i)
p
o
s
i
t
i
o
n
(
2
,
i
)
Neuron Positions

Fig.5.3.2.4 Amplasamentul iniial al neuronilor. Liniile reprezint distane euclidiene unitare dintre
neuroni vecini.

-2 -1 0 1 2
0.5
1
1.5
2
2.5
3
W(i,1)
W
(
i
,
2
)
Weight Vectors
-2 -1 0 1 2
0.5
1
1.5
2
2.5
3
W(i,1)
W
(
i
,
2
)
Weight Vectors


a) b)

-2 -1 0 1 2
0.5
1
1.5
2
2.5
3
3.5
W(i,1)
W
(
i
,
2
)

Weight Vectors
-2 -1 0 1 2
0.5
1
1.5
2
2.5
3
3.5
W(i,1)
W
(
i
,
2
)
Weight Vectors

c) d)
- 92 - CAP.5 Reele neuronale cu autoorganizare



-2 -1 0 1 2
0.5
1
1.5
2
2.5
3
W(i ,1)
W
(
i
,
2
)

Weight Vectors

e)
Fig.5.3.2.5 Evoluia hrii de trsturi de-a-lungul epocilor de antrenament.
a) 100 de epoci. b) 300 de epoci. c) 600 de epoci. d) 1000 de epoci. e) 10000 de epoci.

Se observ c pe msur ce numrul de prezentri a tiparelor de intrare crete,
reeaua neuronal reuete s se autoorganizeze n sensul acoperirii ct mai complete a
spaiului de intrare.

b) Cazul SOFM-3D.

%Exemplu de implementare a unei retele neuronale SOFM-3D
%Catalin-Daniel Caleanu, 1999

clear all;
sigma=1.5;
%reprezentare 3D a datelor de antrenament
x=-1:.01:1;
y=-1:.01:1;
[X,Y] = meshgrid(x,y);
Z=(1/2*pi*sigma^2)*exp(-(X.^2+Y.^2)/2*sigma^2);
mesh(Z)
figure
5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 93 -



Z=Z.*rand(length(x),length(x));
mesh(Z)
figure
%definirea unui nor de date 3D cu distributie gaussiana
x=2*(rand(1,300)-0.5);
y=2*(rand(1,300)-0.5);
z=(1/2*pi*sigma^2)*exp(-(x.^2+y.^2)/2*sigma^2);
z=z.*rand(1,length(x));
%definirea setului de date de intrare P
P = [x;y;z];
%implementarea retelei neuronale SOFM cu trei intrari in gama -1...1, -1...1,
%0...10 si un strat de iesire tridimensional de 3x3x3 neuroni
net = newsom([-1 1;-1 1;0 10],[3 3 3 ]);
plotsom(net.layers{1}.positions)
figure
net.trainParam.epochs=1000;
net = train(net,P);
plotsom(net.iw{1,1},net.layers{1}.distances)










- 94 - CAP.5 Reele neuronale cu autoorganizare





a) b)
b)


c) d)

Fig. 5.3.2.6 a), c) Anvelopa setului de date de intrare reprezentare 3D i n seciune.
b), d) Nor de date 3D cu distribuie gaussian reprezentare 3D i n seciune.


5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 95 -



0
1
2
3
0
1
2
0
0.5
1
1.5
position(1,i)
Neuron Positions
position(2,i)
p
o
s
i
t
i
o
n
(
3
,
i
)


Fig. 5.3.2.7 Distribuia uniform a neuronilor n stratul de ieire

-0.5
0
0.5
-0.5
0
0.5
0.5
1
1.5
2
W(i,1)
Weight Vectors
W(i,2)
W
(
i
,
3
)

-0.6 -0.4 -0.2 0 0.2 0.4 0.6
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
Weight Vectors
W(i,1)
W
(
i
,
2
)



a) b)

Fig.5.3.2.8 a) Dup 1000 de epoci de antrenament vectorii pondere converg spre valori care sugereaz
forma gaussian de distribuie a tiparelor aplicate la intrarea reelei neuronale. b) Vedere de sus a
distribuiei spaiale a vectorilor pondere.

- 96 - CAP.5 Reele neuronale cu autoorganizare


5.3.4. Cuantizarea vectorial (VQ, Vector Quantization). nvarea prin
cuantizare vectorial (LVQ, Learning VQ)

O aplicaie imediat a nvrii competitive o reprezint cuantizarea vectorial
pentru compresia datelor. Ideea implicat de acest concept este de a mpri mulimea
vectorilor de intrare x n M clase, n scopul reprezentrii vectorului prin clasa asociat
acestuia. De regul componentele vectorului x, x
i
, reprezint valori continue. Se poate
transmite sau stoca astfel doar indexul corespunztor clasei respective n schimbul
vectorului de intrare, odat ce s-au stabilit clasele (tabela de coduri, codebook)
aferente mulimii vectorilor x.
n mod firesc clasele sunt definite prin intermediul unei mulimi de M vectori
prototip. Pentru un x dat, clasa aparintoare se gsete calculnd distanele euclidiene
de la vectorul x la vectorii prototip i selectnd clasa pentru care aceast distan e
minim.
Cuantizarea vectorial fcut cu distorsiuni minime duce la apariia celulelor
Voronoi. Ele reprezint o mulime de puncte care partiioneaz spaiul de intrare
conform regulii celui mai apropiat vecin (nearest-neighbor rule) bazat pe o metric
euclidian.
Legtura ntre VQ i nvarea de tip competitiv este imediat: n momentul n
care este aplicat vectorul de intrare, unitatea ctigtoare a competiiei va reprezenta
clasa asociat vectorului x. Vectorii pondere w
i
vor reprezenta tocmai vectorii prototip
i vor fi caracterizai de inegalitatea:
i
i i
,
*
x w x w (5.3.4.1)
Algoritmul SOFM furnizeaz deci o metod aproximativ pentru calculul vectorilor
Voronoi ntr-o manier nesupervizat . Calculul hrii de trsturi poate fi vzut ca o
prim etap n rezolvarea problemei clasificrii tiparelor. A II-a etap va fi realizat
prin metoda LVQ [34] la care ne vom referi n cele ce urmeaz.

5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 97 -



Algoritmul LVQ 1

Reprezint o tehnic de nvare supervizat destinat mbuntirii calitii
deciziei clasificatorului.
Fie w
i
mulimea vectorilor Voronoi i w
c
vectorul prototip cel mai apropiat de
vectorul aplicat la intrare, x, a crui clasificare este cunoscut (vector de antrenament).
Ponderea w
c
va fi modificat dup cum urmeaz:
)] ( [ ) ( ) 1 ( n n n
c n c c
w x w w + = + , (5.3.4.2)
dac x este clasificat corect
)] ( [ ) ( ) 1 ( n n n
c n c c
w x w w = + , (5.3.4.3)
dac x nu este clasificat corect.
Ceilali vectori Voronoi nu sunt modificai. Avnd n vedere faptul c LVQ este o
metod de ajustare fin a vectorilor prototip obinui prin VQ, rata de nvare
trebuie s aib valori mici (Ex.: (0)=0,010,02 iar apoi s descreasc treptat pn la
0 n aproximativ 100 000 de pai ai algoritmului).
Se arat c suprafaa de decizie realizat prin acest clasificator este aproape
optimal, iar acurateea clasificrii este identic (la fraciuni de procent) cu cea a unui
clasificator Bayes.

Algoritmul LVQ 2

Algoritmul prezentat anterior poate fi uor modificat astfel nct s dea
rezultate ct mai apropiate de cele ale unui clasificator Bayes.
Fie doi vectori ai tabelei de coduri w
i
i w
j
aparintori la clase diferite i
vecini n spaiul vectorilor, iniial n poziii greite. Suprafaa de discriminare
(incorect) este definit ntotdeauna ca fiind planul median al w
i
i w
j
. S definim o
fereastr n jurul planului median i s aplicm corecii asupra w
i
, w
j
doar dac x este
situat n fereastr de partea necorespunztoare a planului median.(fig.5.3.4.1)
- 98 - CAP.5 Reele neuronale cu autoorganizare


Fereastr
w
j
w
i
x


Fig. 5.3.4.1 Ilustrarea "ferestrei" folosite n cazul algoritmilor LVQ2 i 3. Curbele reprezint distribuia
claselor

Dac coreciile sunt fcute n conformitate cu ecuaiile urmtoare, se poate
observa c pentru vectorii situai n fereastr, coreciile pentru w
i
i w
j
, n medie au o
direcie astfel nct planul median va coincide cu suprafaa de intersecie a
distribuiilor claselor i deci va coincide asimptotic cu grania de decizie bayesian:
)] ( ) ( [ ) ( ) 1 ( n n n n
i n i i
w x w w = + (5.3.4.4)
)] ( ) ( [ ) ( ) 1 ( n n n n
j n j j
w x w w + = + (5.3.4.5)
dac C
i
este cea mai apropiat clas, dar x aparine
i j
C C , cu C
j
urmtoarea clas
cea mai apropiat i dac x aparine ferestrei. n toate celelalte cazuri:
) ( ) 1 ( n n
k k
w w = + (5.3.4.6)
Dac se lucreaz n cazuri multidimensionale, noiunea de fereastr se
definete n legtur cu distanele relative d
I
i d
j
de la w
i
i w
j
, avnd un raport
constant s. n acest caz marginile ferestrei vor fi hipersfere. Un vector x este inclus n
fereastr dac:
s d d d d
i j j i
) / , / min( (5.3.4.7)
n literatur [34] este semnalat i apariia LVQ 3, asemntor LVQ 2.


5.3 RNA cu autoorganizare i algoritm de nvare de tip competitiv - 99 -



EXEMPLUL 5.3. Se prezint n continuare modalitatea de implementare a unei reele
neuronale tip LVQ. Pentru acesta se va apela funcia Matlab newlvq care creeaz o
reea neuronal cu dou straturi: primul strat este de tip competitiv i folosete la
gruparea tiparelor de antrenament n clustere de date iar al doilea strat, format din
neuroni cu funcie de activare liniar, servete la etichetarea datelor ntr-o manier
supervizat.

%Exemplu de implementare a unei retele neuronale LVQ
%Catalin-Daniel Caleanu, 1999

clear all;
%definirea tiparelor de antrenament P
P1=[1 5;
2 6;
3 7];
P2=[-1 -5;
-2 -6;
-3 -7];
P=[P1 P2];
Pseq=con2seq(P); %se realizeaza o conversie la o structura de tip matrice de
%matirci(cell array)
%definirea tiparelor tinta T
T1=[1 1;
0 0];
T2=[0 0;
1 1];
T=[T1 T2];
Tseq=con2seq(T);%se realizeaza o conversie la o structura de tip matrice de
%matirci(cell array)
- 100 - CAP.5 Reele neuronale cu autoorganizare


%implementarea retelei neuronale LVQ cu urmatoarea structura:
%trei intrari in gama -7...7
%un strat ascuns cu 6 neuroni
%un strat de iesire format din 2 neuroni
%rata de invatare 0.1 si algoritm de antrenament LVQ2
net = newlvq([-7 7;-7 7;-7 7],6,[.5 .5],0.1,'learnlv2');
%etapa de antrenament
[net, tr] = train(net,Pseq,Tseq);
%etapa de test
test1=[3 4 5]';
test2=[-1 -3 -5]';
Y=sim(net,[test1 test2])

Rezultatul simulrii, pentru tiparele test1 i test2 este:

Y = 1 0
0 1

echivalent cu a spune c tiparele fac parte din clase distincte deoarece pentru test1 este
activ primul neuron al stratului de ieire iar pentru test2 cel de-al II-lea neuron al
stratului de ieire.








CAPITOLUL 6
Sisteme hibride inteligente


6.1 Introducere

Sistemele hibride implic folosirea combinat a unor tehnici, aspecte i
modele diverse n scopul obinerii unor performane ale ansamblului mai bune dect
cele oferite de fiecare soluie considerat separat [35].
Prin sisteme hibride inteligente se va nelege acea clas a sistemelor hibride
care folosesc combinaia a cel puin dou paradigme ale inteligenei artificiale.
Motivaia folosirii sistemelor hibride inteligente este simpl: dei diversele
tehnici inteligente (reele neuronale, algoritmi genetici, logica fuzzy, calcul evolutiv,
sisteme expert) ofer rezultate ncurajatoare n soluionarea unor probleme cu grad
ridicat de particularizare, anumite probleme complexe nu pot fi soluionate prin
intermediul unei singure tehnici inteligente [36]. De exemplu, reelele neuronale sunt
folosite cu succes n recunoaterea tiparelor, dar nu pot oferi explicaii n ceea ce
privete luarea deciziei. Sistemele cu logic fuzzy pot opera cu informaii imprecise
dar au, pe lng puncte tari, i anumite inconveniente: ele pot explica deciziile luate
dar nu pot achiziiona n mod automat regulile folosite n luarea deciziei.
Pentru a putea compara performanele sistemelor inteligente este necesar
definirea unor proprieti ale acestora:
a) Achiziia cunotinelor
Reprezint o etap crucial n dezvoltarea sistemelor inteligente. Ca proces,
implic interpretarea i reprezentarea cunotinelor pentru un domeniu specific [37].
n cazul sistemelor expert aceast etap necesit timp ndelungat, este
costisitoare i uneori nefiabil [38].
Din acest punct de vedere, tehnici de genul RNA sau algoritmilor genetici, care pot
nva direct din domeniul detelor de intrare, au anumite avantaje.
- 102 - CAP.6 Sisteme hibride inteligente

b) Fragilitatea
Holland [39] introduce termenul de fragilitate (brittleness) a unui sistem
inteligent cu referire la funcionarea sistemului ntr-un domeniu ngust i n condiii de
operare limitat. Un aspect al acestei probleme l constituie i incapacitatea unui
sistem inteligent de a opera avnd la dispoziie cunotine inexacte, incomplete sau
lipsite de consisten.
Avnd n vedere modul distribuit de reprezentare a cunotinelor, RNA
prezint anumite avantaje n acest sens. Chiar dac o parte din neuroni nu mai sunt
operaionali, restul RNA va funciona independent i va furniza ntr-o oarecare
msur, rspunsul corespunztor.
Sistemele fuzzy rezolv problema fragilitii printr-o abordare specific a
reprezentrii cunotinelor i a metodelor de raionament. Conotinele sunt
reprezentate prin mulimi fuzzy care permit introducerea unor delimitri vagi ntre
concepte. Acest mod de reprezentare a datelor, n conjuncie cu mecanismul de
raionament fuzzy permit procesarea datelor inexacte sau parial corecte [40].
c) Raionamentul de nivel ridicat i cel de nivel sczut
Existena unor procese de prelucrare a informaiei, paralele i de nivel sczut,
respectiv secveniale i de nivel ridicat, a fost pus n eviden n comportamentul
uman de ctre diveri cercettori.
Sistemele expert s-au dovedit modele plauzibile pentru descrierea sarcinilor
cognitive de nivel nalt (ex.: generarea i nelegerea limbajului). n contrast, RNA au
proprieti complementare: sunt potrivite n modelarea recunoaterii tiparelor, de
exemplu n sarcini de procesare vizual, dar sunt inapte pentru modelarea sarcinilor
cognitive secveniale de nivel nalt.
Similar RNA, sistemele cu logic fuzzy sunt potrivite sarcinilor ce presupun
un nivel sczut al raionamentului.
d) Explicarea deciziilor
Posibilitatea furnizrii ctre utilizator a unor explicaii privind procesul de
raionament este o trstur important a sistemelor inteligente [41]. Explicaiile sunt
6.1 Introducere - 103 -

necesare pentru validarea de ctre utilizator a soluiilor generate de ctre sistemul
inteligent, de exemplu n generarea automat a diagnosticelor medicale.
n sistemele cu logic fuzzy decizia final este generat prin agregarea
deciziilor tuturor regulilor de inferen existente n baza de reguli. n astfel de sisteme
obinerea lanului de inferene nu este facil, dar regulile n format DAC-ATUNCI
sunt uor de neles de utilizator.
Algoritmii genetici, n special n forma sistemelor pentru clasificare pot
construi modele de raionament sub forma unor reguli [42]. Ca i n cazul sistemelor
expert, este posibil urmrirea lanului de inferene i furnizarea ntr-un anumit grad a
unor explicaii referitoare la procesul de gndire.
n contrast cu sistemele mai sus menionate, RNA nu au, n general,
posibilitatea de a oferi explicaii, aceasta ntruct cunotinele RNA nu sunt explicite i
nici nu exist o structur de reprezentare declarativ a cunotinelor; dimpotriv,
cunotinele sunt cedate sub forma ponderilor distribuite n ntreaga RNA [43].
Tab. 6.1. prezint proprietile enumerate mai sus aferente fiecrei tehnici
inteligente.

Proprieti ale sistemelor inteligente
Tehnologii Achiziia automata
a cunotinelor
Fragilitatea Raionament de
nivel ridicat
Raionament de
nivel sczut
Explicarea
Deciziilor
Sisteme
expert
* * ***** * *****
Sisteme
fuzzy
* ***** *** ***** ****
RNA ***** ***** * ***** *
Algoritmi
genetici
***** *** *** *** ***

Tab.6.1 Proprieti ale diferitelor tehnologii ale inteligenei artificiale.
***** - foarte bun; *- foarte prost

- 104 - CAP.6 Sisteme hibride inteligente

n subcapitolele urmtoare se va trata exclusiv cazul sistemelor hibride
inteligente care continu pe de-o parte tehnica RNA combinat cu algoritmi genetici
(sisteme neuro-genetice) respectiv cu logica fuzzy (sisteme neuro-fuzzy).

6.2 Algoritmi genetici. Strategii de evoluie. Programare
evolutiv

6.2.1 Introducere

Evoluia reprezint principiul de baz, unificator, al biologiei moderne. Teoria
evoluionist a lui Darwin combinat cu selecionismul lui Weismann i genetica lui
Mendel sunt universal acceptate i recunoscute sub denumirea de paradigma
neodarwinist. Aceasta statueaz faptul c evoluia vieii se datoreaz unor procese
statistice care au loc asupra i n interiorul populaiilor i speciilor [44]. Aceste
procese sunt:
- reproducia;
- mutaia;
- competiia;
- selecia.
Reproducia este o proprietate comportamental valabil pentru toate
vieuitoarele. Tot aa de evident este i mutaia (ex. mutaiile genetice) care apare n
orice sistem ce se autoreproduce ntr-un univers cu entropie pozitiv. Competiia i
selecia sunt indispensabile dac se are n vedere expansiunea unor populaii ntr-un
areal finit [45].
Evoluia poate fi privit ca un proces nu n mod obligatoriu legat de natur. Ea
poate fi considerat ca un proces de optimizare care poate fi simulat folosind
computerul. Interesul pentru astfel de simulri a crescut dramatic avnd n vedere
aplicaiile posibile n diverse domenii.
6.2 Algoritmi genetici. Strategii de evoluie. Programare evolutiv - 105 -

Teoriile matematice care au drept scop studiul evoluiei se grupeaz sub
denumirea de calcul evolutiv (evolutionary computing). Principalele direcii de
cercetare ale calculului evolutiv sunt reprezentate n fig. 6.2.1.1.


Calcul evolutiv
Algoritmi
genetici
Programare
evolutiv
Strategii de
evoluie


Fig.6.2.1.1 Direcii de cercetare ale calculului evolutiv

Pentru a putea nelege terminologia aferent acestor algoritmi se va realiza o
sumar i simplist perpectiv a modalitii de stocare i transmitere a informaiei
genetice: aceasta este coninut, n cazul sistemelor vii, ntr-un filament subire de
ADN care codific programe stocate sub form chimic i care conin totalitatea
caracterelor ereditare. Subrutine ale programului ADN sunt stocate n aa numitele
gene. Mai multe gene la un loc formeaz un cromozom. Mai muli cromozomi
caracterizeaz o populaie, care va evolua n timp, prin aplicarea unor transformri.
Stadiul populaiei la un moment dat este definit prin termenul de generaie.
Numrul de cromozomi existeni ntr-o celul a unui organism viu este stabil
i caracteristic speciei. n general, toate celulele unui organism i ale organismelor de
aceeai specie au acelai numr de cromozomi. Numrul cromozomilor celulelor
sexuale este haploid (N), iar numrul cromozomilor celulelor somatice este diploid
(2N). Un set haploid al numrului somatic diploid se numete genom. Numrul, forma
i mrimea cromozomilor sunt elemente ce caracterizeaz ceea ce numim cariotip.
- 106 - CAP.6 Sisteme hibride inteligente

Avnd n vedere terminologia mai sus definit, se poate trece la descrierea
celor trei direcii ale calculului evolutiv (fig. 6.2.1.1):
Algoritmii genetici introdui de Holland [46] i studiai de ctre De Jong [47]
i Goldberg [48] reprezint o clas de algoritmi de cutare, deosebii de utili n
probleme de utilizare a funciilor sau n gsirea optimului global n cazul unor spaii
largi i complexe (multimodale, discontinue), de date.
Opereaz, n principal, cu iruri binare (stringuri) pentru reprezentarea
indivizilor (a genotipului).
Strategiile de evoluie dezvoltate pentru prima dat de Rechenberg [49] i
Schwefel [50] au fost folosite iniial la rezolvarea unor probleme dificile de
optimizare.
Ele studiaz schimbrile comportamentale la nivel individual.
Programarea evolutiv studiat de Fogel [51] i extins de Burgin [52] a
avut drept scop creearea inteligenei artificiale. Se ocup, mai ales de modificri
comportamentale la nivel de specii [8].
Avnd n vedere strnsa legtur dintre aceti algoritmi evolutivi se va realiza
n continuare o prezentare unitar a principiilor acestora.

6.2.2 Proiectarea unui algoritm evolutiv

Modelul modernist al evoluiei poate fi ilustrat prin structura urmtorului
algoritm evolutiv general:

t:=0;
iniializare P(t);
evaluare P(t);
DO {
P(t):=variaie [P(t)];
evaluare [P(t)];
6.2 Algoritmi genetici. Strategii de evoluie. Programare evolutiv - 107 -

P(t+1):=selecie [P(t)Q];
T:=t+1;}
WHILE terminare

n care intervin urmtoarele notaii:
- P(t) semnific o populaie de indivizi de generaie t;
- Q mulime de indivizi susceptibili de a fi selecionai (este posibil i Q = );
- P(t) populaia urmailor, de dimensiune , generat prin intermediul operatorului
variaie (poate fi recombinare i/sau mutaie, posibil i inversiune) din populaia P(t).
Urmaii sunt apoi evaluai prin calculul unei funcii obiectiv (funcie de
evaluare, funcie de performan). Selecia indivizilor are la baz maximizarea
potrivirii (fitness) indivizilor cu obiectivul propus.
Noiunile de evaluare i fitness sunt folosite n general cu acelai sens. Cu
toate acestea, este util s distingem ntre funcia de evaluare i funcia de fitnees.
Funcia de evaluare (obiectiv) reprezint o msur a performanei n raport cu o
mulime anumit de parametrii. Funcia fitness transform aceast msur a
performanei n alocarea de faciliti reproductive [53].
Principalele diferene ntre algoritmii evolutivi apar la:
- reprezentarea indivizilor;
- proiectarea operatorului variaie (mutaie i /sau recombinare);
- mecanismul de selecie/reproducie.
a) Reprezentarea
Algoritmii genetici (AG) canonici folosesc pentru reprezentarea indivizilor
stringuri (iruri de bii) de lungime fix (fig.6.2.2.1) din alfabetul {0,1} astfel nct ei
sunt potrivii n rezolvarea problemelor de optimizare pseudo-booleene de forma:
f : {0,1}
l
R (6.2.2.1)

|1|0|1|0|1|1|0|0|1|1|

Fig.6.2.2.1.Cromozom codificat pe 10 bii
- 108 - CAP.6 Sisteme hibride inteligente

n cazul problemelor de optimizare continue, AG reprezint vectorii reali
xR
n
prin stringuri } 1 , 0 { y n modul urmtor: irul binar este mprit din punct de
vedere logic n n segmente de lungime egal l' (l = nl'). Fiecrui segment i
corespunde, prin decodificare o valoare ntreag care va fi transformat liniar ntr-un
interval [u
i
, v
i
]R de valori reale (fig.6.2.2.2).

| | | ... | |
[x
1
,x
2
,...,x
n
]R
n

l' l' l'
m{0,1}
l '
DECODIFICARE
TRANSFORMARE
LINIAR
DECODIFICARE
TRANSFORMARE
LINIAR
m{0,1}
l '
pR pR
nZ
nZ


Fig.6.2.2.2 Problema reprezentrii cromozomilor

n contrast cu AG, reprezentarea n cazul strategiilor evolutive i programrii
evolutive este bazat n mod direct pe vectori reali, cnd se au n vedere probleme de
optimizare a parametrilor de forma:
f : MR
n
R (6.2.2.2)
b) Mutaia
6.2 Algoritmi genetici. Strategii de evoluie. Programare evolutiv - 109 -

Este un operator genetic simplu i de importan redus. Const n inversarea
biilor cromozomului cu o posibilitate redus (p
m
= 1/l) [54] i protejeaz algoritmul
mpotriva pierderii informaiei datorit unor ncruciri nepotrivite.
Iniial, n cazul programrii evolutive, mutaia a fost implementat ca o
schimbare aleatoare a descrierii automatelor cu stri finite: schimbarea unui simbol de
ieire, a unei stri, adugarea unei stri, eliminarea unei stri sau schimbarea unei stri
iniiale.
n cazul strategiilor evolutive, indivizii constau din variabile obiect x
i
R i
aa numiii parametrii ai strategiei. Mutaia este efectuat independent asupra fiecrui
element al unui vector prin adunarea unei valori aleatoare cu distribuie normal cu
media zero i deviaia standard :
) 1 , 0 ( '
i i i
N x x + = (6.2.2.3)
n care ) 1 , 0 (
i
N indic o variabil aleatoare specific fiecrui index i n parte.
c) Autoadaptarea
n [55] Schwefel introduce un mecanism endogen care, prin aplicarea
simultan a operatorilor evolutivi asupra variabilelor obiect i a parametrilor strategiei,
faciliteaz autoadaptarea evolutiv pentru aceti parametri; se realizeaz astfel o
cutare simultan n spaiul soluiilor i n spaiul parametrilor strategici. Formal
vorbind, un individ ) , ( x a = const din variabile obiect
n
R x i parametrii
strategiei
n
R
+
. Operatorul mutaie va aduga vectorul aleator distribuit normal
n
R z cu z
i
avnd N(0,
i
2
) adic componentele vectorului sunt normal distribuite,
au media zero i variana
i
2
:
)] 1 , 0 ( ) 1 , 0 ( ' exp[
'
i i i
N N + = (6.2.2.4)
) 1 , 0 (
' '
i i i i
N x x + = (6.2.2.5)
- 110 - CAP.6 Sisteme hibride inteligente

n care i ' reprezint rata de nvre ( proporional cu ( )
1
2

n i ' proporional
cu
1
2

|
.
|

\
|
n ).
Cantitatea de informaie inclus n indivizi prin intermediul principiului
autoadaptrii crete de la cazul simplu al unei singure deviaii standard pn la ordinul
n
2
parametrii adiionali, ceea ce reflect un grad foarte mare de libertate a modelului
intern al indivizilor.
n ceea ce privete AG, s-au nregistrat eforturi pentru facilitarea autoadaptrii
ratei mutaiei [56]. Aceste abordri ncorporeaz rata mutaiei p
m
[0,1] n
reprezentarea indivizilor i specific o evoluie a acesteia identic cu cea a vectorilor
variabilelor binare. Rezultatele prezentate n [56] indic faptul c acest mecanism
aduce mbuntiri importante ale performanei AG canonici .
d) Recombinarea
Acest operator creeaz noi membri ai populaiei prin combinarea unor pri
alternative provenind din dou (algoritm standard) sau mai multe (recombinare
multiprinte) iruri-printe.
n fig. 6.2.2.3 respectiv 6.2.2.4 sunt prezentate dou exemple edificatoare n
ceea ce privete algoritmul clasic de recombinare cu un singur punct de ncruciare,
respectiv multipunct.


cromozom 1
cromozom 2
1 0 1 1 1 1 1 0
0 0 1 0 0 0 0 0
recombinare cu
un singur punct
de ncruciare
1 0 1 1 1 0 0 0
0 0 1 0 0 0 0 0


Fig.6.2.2.3. Algoritm de recombinare cu un singur punct de ncruciare (one-point crossover)
6.2 Algoritmi genetici. Strategii de evoluie. Programare evolutiv - 111 -



cromozom 1
cromozom 2
1 0 1 1 1 1 1 0
0 0 1 0 0 0 0 0
recombinare
multipunct
0 0 1 1 1 0 0 0
1 0 1 0 0 1 1 0


Fig.6.2.2.4. Algoritm de recombinare cu mai multe puncte de ncruciare (multipoint crossover)

Spre deosebire de strategiile evolutive, unde operatorul recombinare este
folosit ori pentru creaia tuturor membrilor populaiei (cazul implicit) ori a niciunuia,
n cazul AG el este aplicat cu o anumit probabilitate (de ex. p
c
=0,6).
n ceea ce privete programarea evolutiv, operatorul recombinare nu este folosit.
e) Selecia
Spre deosebire de operatorii variaie care opereaz direct asupra
reprezentrilor genetice, operatorul selecie este bazat n exclusivitate pe valorile
fitness ale indivizilor.
n cazul algoritmilor genetici, selecia este n mod tipic implementat ca un operator
probabilistic, folosind valoarea fitnessului relativ:

=
=

1
) (
) (
j
j
i
i
a
a f
a p (6.2.2.6)
Astfel, principiul ruletei const n reprezentarea unui individ proporional cu
fitnessul su (fig. 6.2.2.5). Cu ct acesta e mai mare cu att ansele ca s fie selectat de
rulet sunt mai mari.
- 112 - CAP.6 Sisteme hibride inteligente

1
3
2
5
4
6
7
8

Fig.6.2.2.5 Principiul ruletei

O alt metod este selecia pe baza rangului, care folosete indexul indivizilor
cnd acetia sunt ordonai dup valoarea fitnessului, pentru calculul probabilitii de
selecie.

6.3 Sisteme hibride neuro-genetice

Folosirea combinat a RNA i AG este justificat de complexitatea anumitor
probleme, care altfel, prin utilizarea unei singure tehnici, nu ar putea fi rezolvate.
Gama aplicaiilor n care soluia hibrid a dat rezultate bune este foarte mare:
- folosirea AG pentru preprocesarea datelor (n mod uzual extragerea trsturilor)
aplicate unei RNA [57];
- utilizarea AG n codificarea topologiei RN [58];
- selecia genetic a ponderilor RNA sau optimizarea simultan a topologiei i a
ponderilor [59];
- dotarea AG cu strategii de nvare n scopul optimizrii ponderilor i/sau structurii
RNA sau emularea procesului de nvare caracteristic unei RNA [60];
- conducerea roboilor mobili autonomi [61];
- via artificial [62].
Drept exemplu, se va prezenta modul de folosire al AG n problema seleciei
ponderilor unei RNA feedforward.
6.3 Sisteme hibride neuro-genetice - 113 -

a) Reprezentarea reelei neuronale
AG folosit n acest caz nu folosete nici o schem pentru codarea RNA ci
utilizeaz nsi RNA ca i cromozom. Aceasta permite definirea unor operatori
genetici ca "mutaie noduri" i "ncruciare noduri" care folosesc structura RNA
iniial n generarea urmailor.
Cnd se vor folosi operatori genetici asupra ponderilor, "mutaie ponderi" i
"ncruciare ponderi", reprezentarea este echivalent cu folosirea unor stringuri de
valori reale de lungime fix.
b) Funcia de evaluare
Se folosete aceeai funcie de evaluare ca i n cazul algoritmului standard cu
propagare napoi a erorii, adic suma erorilor ptratice ale neuronilor stratului de
ieire.
c) Procedura de iniializare
Ponderile i valorile de prag pentru fiecare RNA din populaia iniial sunt
numere reale aleatoare alese dintr-o distribuie de forma e
-|x|
. Aceast distribuie a
ponderilor i a valorilor de prag ncearc s o reflecte pe cea existent ntr-o RNA
antrenat corespunztor unde, n cazul unei funcii de activare a neuronilor de tip
sigmoidal ) 1 /( 1 ) (
x
e x f

+ = acestea se gsesc n mare majoritate n intervalul 1...1.
d) Operatori genetici
Pentru antrenarea RNA feedforward sigmoidal s-au experimentat opt
operatori diferii [63]:
- trei varieti de mutaie: (mutaie ponderi cu/fr offset i mutaie noduri);
- trei variante de ncruciare: ncruciare ponderi, ncruciare noduri, ncruciare
trsturi;
- doi operatori speciali: mutaie cel mai slab nod i perfecionare local ("hill climb")
n continuare se va realiza o descriere a fiecrui operator genetic n parte.
Mutaia ponderilor, fr offset. Acest operator nlocuiete ponderile unor
conexiuni alese aleator din RNA printe cu valori aleatoare din distribuia folosit
la iniializare.
- 114 - CAP.6 Sisteme hibride inteligente

Mutaia ponderilor, cu offset. Similar cu operatorul precedent cu excepia faptului
c ponderile nu se nlocuiesc ci se adun la valorile iniiale valori aleatoare.
Motivul l constituie faptul c oricare din RNA selectate ca printe este
semnificativ mai bun dect oricare alt RNA aleas n mod ntmpltor. Deci
mutaia care folosete ponderile curente ca punct de pornire va da rezultate mai
bune dect o mutaie care ignor ponderile curente.
Mutaie noduri. Acest operator selecteaz aleator neuroni (noduri) din toate
straturile ascunse i de ieire i efectueaz o mutaie ponderi cu offsett pentru
toate ponderile aferente nodului selectat.
ncruciare ponderi. Efectueaz o ncruciare uniform asupra ponderilor i
pragurilor celor dou RNA prini.
ncruciare noduri. Acest operator efectueaz ncruciare uniform asupra
neuronilor schimbnd mulimea tuturor ponderilor aferente unui nod particular.
ncruciare trsturi. Neuronii ascuni care sunt conectai la aceeai mulime de
noduri din stratul inferior pot fi schimbai unul cu cellalt pentru c dac doi astfel
de neuroni schimb mulimea ponderilor ntre ei, ieirea RNA va rmne
neschimbat.
Mutaie cel mai slab nod. El este o versiune a operatorului mutaie nod. Selecia
nodului asupra cruia se va efectua mutaia nu mai este aleatoare ci se vor alege
nodurile care au contribuia cea mai mic la performanele RNA. Contribuia unui
nod este definit ca fiind diferena dintre eroarea total a RNA i eroarea total a
RNA cu respectivul nod eliminat din reea. Se efectueaz mutaie asupra
ponderilor aferente att intrrii ct i ieirii neuronului n cauz.
Perfecionare local. Acest operator creaz urmai considernd un singur pas n
direcia gradientului prinilor. Este util n finalul algoritmului.
e) Valorile parametrilor
- mrimea populaiei: 50. Folosirea unei populaii de dimensiune mic este echivalent
cu o eantionare grosier a spaiului de cutare i foreaz o convergen rapid a
algoritmului;
6.3 Sisteme hibride neuro-genetice - 115 -

- mrimea generaiei: 1. Acest parametru reprezint numrul noilor indivizi generai,
egal cu numrul vechilor indivizi care vor fi eliminai din populaie. Dimensiunea
generaiei este dictat i de implementarea hard a simulrii, doar pentru arhitecturile
multiprocesor fiind justificat o valoare mai mare dect 1.
- probabilitatea de selecie a prinilor: variaz liniar n domeniul 0,93...0,89 pe
msura rulrii algoritmului.
f) Rezultate experimentale
n urma realizrii unor serii de experimente s-au constatat urmtoarele:
- ordinea valoric pentru operatorii mutaie: (1) mutaie noduri, (2) mutaie ponderi, cu
offset, (3) mutaie ponderi, fr offset;
- ntre operatorii ncruciare nu au putut fi decelate diferene semnificative;
- dac s-a adugat operatorul mutaie nod cel mai slab la operatorii mutaie i
ncruciare, s-au obinut performane mbuntite doar la nceputul algoritmului;
- modul hill-climbing a realizat doar temporar performane superioare, algoritmul
nepenindu-se n minime locale.
Ca o concluzie final s-a desprins faptul c algoritmul genetic de antrenament
al RNA folosind operatorii mutaie noduri i ncruciare noduri a oferit rezultate
superioare algoritmului standard backpropagation.

6.4. Sisteme cu logic fuzzy

Pentru a introduce conceptul de mulime fuzzy, echivalent cu cel de mulime
vag sau mulime nuanat, E. Borel amintete n [64] anticul sofism grec al grmezii
de semine:

... una, dou sau trei semine nu constituie o grmad, dar oricine va fi de acord c
100 de milioane de semine formeaz o grmad. n privina definirii unei limite,
putem spune c 325648 de semine constituie o grmad, dar 325647 nu ?...

- 116 - CAP.6 Sisteme hibride inteligente

Este evident c un rspuns gen DA/NU nu poate constitui o soluie la
aceast problem. Eecul logicii booleene n acest caz, nu este mprtit i de logica
de tip fuzzy care extinde semnificativ nelesul noiunii de mulime, admind diferite
grade de apartenen ataate unei valori lingvistice.
Proprietatea creierului uman de a rezuma informaiile care extrag elementele
semnificative - pentru efectuarea unei anumite activiti - se manifest n deosebi prin
folosirea limbajului natural. ntr-un asemenea limbaj L un cuvnt poate fi considerat
ca descrierea rezumat a unei submulimi fuzzy A(x) din cadrul unei mulimi totale x
denumit i univers, submulimea A(x) reprezentnd nelesul, semnificaia
cuvntului [65].
Dac valoarea este exprimat prin propoziii, ansambluri de cuvinte, de
exemplu pentru variabila "temperatur": "temperatura este mare", variabila este
denumit variabil lingvistic, iar "mare" devine valoare lingvistic a variabilei
lingvistice "temperatur" (vezi fig.6.4.1). Asemenea variabile pot caracteriza
fenomene complexe sau incomplet definite.
Fiecrui atribut al unei variabile lingvistice i este asociat o funcie de
apartenen (x) a crei valoare indic nivelul de ncredere cu care unei valori
deterministe i se poate asocia acel atribut al variabilei lingvistice. Formal, acest lucru
se poate scrie astfel:
] 1 , 0 [ : ) ( X x
A
(6.4.1)
Valorile 0 i 1 reprezint neapartenena respectiv apartenena total la A al unui
element xX. Cteva forme tipice (triunghiular, trapezoidal, gaussian) pentru
funcia de apartenen sunt ilustrate n fig.6.4.2.

6.4. Sisteme cu logic fuzzy - 117 -



Fig.6.4.1 Valori lingvistice pentru variabila lingvistic
"temperatur"
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
x
u
(
x
)
trimf
trapmf
gaussmf


Fig.6.4.2 Funcii de apartenen tipice

Relaiile simple dintre variabilele lingvistice pot fi caracterizate prin propoziii
condiionale vagi de tipul DAC-ATUNCI (IF-THEN) sau DAC-ATUNCI-
ALTFEL (IF-THEN-ELSE). De exemplu se poate considera cazul variabilelor
lingvistice x i y i urmtoarele formule fuzzy:
P : x este MIC
Q : y este MARE
Atunci implicaia fuzzy se exprim n urmtorul mod:
P Q DAC x este MIC ATUNCI y este MARE
- 118 - CAP.6 Sisteme hibride inteligente

Combinarea mai multor variabile fuzzy conduce la apariia unor expresii
fuzzy cu mai muli termeni, legai prin operaii logice elementare (I, SAU, NU).
Considernd dou mulimi fuzzy A(x) i B(x) se pot defini urmtoarele
operaii:
B(x)) max(A(x), B)(x) (A = (6.4.2.)
B(x)) min(A(x), B)(x) (A = (6.4.3)
A(x) 1 A = (6.4.4)
De remarcat pstrarea validitii legilor lui De Morgan:
B A B A = (6.4.5)
B A B A = (6.4.6)
Deasemenea distributivitatea, proprietile de absorbie i idempoten sunt i ele
meninute:
C) (A B) (A C)) (B (A = (6.4.7)
C) (A B) (A C)) (B (A = (6.4.8)
A A B) (A = (6.4.9)
A A B) (A = (6.4.10)
A A A = (6.4.11)
A A A = (6.4.12)
Nu sunt satisfcute ns principiile terului exclus i cel al contradiciei:
X A A

(6.4.13)


A A (6.4.14)
Alte posibile operaii asupra mulimilor fuzzy sunt [66]:
Normalizarea:
hgt(A(x))
A(x)
norm(A(x)) = (6.4.15)
unde hgt(A(x))=sup (A(x)) reprezint nlimea unei mulimi fuzzy.
6.4. Sisteme cu logic fuzzy - 119 -

Concentrare:
(x) A con(A(x))
2
= (6.4.16)
Dilatare:
(x) A dil(A(x))
1/2
= (6.4.17)
Intensificarea contrastului:


<
=
altfel , A(x)) 2(1 1
2
1
A(x) daca (x), 2A
int(A(x))
2
2
(6.4.18)
Fuzzyficare:


<
=
altfel , A(x))/2 (1 1
2
1
A(x) daca , A(x)/2
fuzz(A(x)) (6.4.19)
Majoritatea lucrrilor n domeniu adopt urmtoarele faze tipice ale
algoritmului de modelare fuzzy [67]:
a) descrierea bazei euristice a problemei;
b) alegerea variabilelor de intrare-ieire;
c) stabilirea mulimilor fuzzy i a valorilor lingvistice asociate acestora;
d) ntocmirea bazei de reguli pentru inferene fuzzy;
e) stabilirea procedeelor de fuzzyficare, realizare a inferenelor i defuzzyficare a
ieirilor;
f) descrierea mecanismelor de adaptare (etap opional);
g) implementarea sistemului fuzzy hardware sau software.
Pe baza celor mai-sus menionate, paii algoritmului de proiectare pentru un
sistem fuzzy urmeaz o procedur iterativ, care poate fi sintetizat, cf. [68], n
fig.6.4.3.



- 120 - CAP.6 Sisteme hibride inteligente


Definirea caracteristicilor
operaionale i funcionale ale
modelului
Definirea suprafeei de control
(mulimi fuzzy)
Definirea comportamentului
suprafeei de control
(reguli)
Determinarea metodei de
defuzzyficare
Simularea sistemului
Validarea sistemului
Conectarea la sistemul de
producie
Definirea limitelor acceptabile
pentru compatibilitate,
stabilitate i performan
Definirea normalizrilor post-
model i a fluxului de date


Fig.6.4.3 Procedur iterativ pentru dezvoltarea unui sistem fuzzy

Etapele a) - g) vor fi ilustrate n paragraful urmtor printr-un exemplu concret
de realizare a unui sistem neuro-fuzzy.

6.5 Sisteme hibride neuro-fuzzy

Dei ca i concept diferite, reelele neuronale i sistemele fuzzy au n comun
abilitatea de a opera cu date imprecise ntr-un spaiu care nu este clar delimitat.
Dezavantajele RNA i ale sistemelor fuzzy pot fi surmontate prin ncorporarea
6.5 Sisteme hibride neuro-fuzzy - 121 -

operaiilor fuzzy n structura RNA i prin dotarea sistemelor fuzzy cu capacitatea de a
clasifica i de a nva, caracteristic RNA.
Aceste dou tendine dau natere la dou tipuri de sisteme hibride neuro-
fuzzy:
- reelele neuro-fuzzy (FANN, Fuzzy Artificial Neural Network);
- sisteme de reglare/controlere neuro-fuzzy.

Reelele neuro-fuzzy

n FANN [69], [70], RNA este utilizat pentru generarea automat, n urma
unui proces de antrenament, a regulilor fuzzy precum i a funciilor de apartenen. n
plus, chiar i dup ce procesul de antrenament s-a ncheiat, RNA modific baza de
reguli i funciile de apartenen pe msur ce nva legiti specifice semnalelor
aplicate la intrare. Pe de alt parte, logica fuzzy este folosit n cadrul mecanismului
de inferen i pentru furnizarea, prin defuzzyficare, a unei mrimi de ieire discrete.
Neuronul fuzzy aproximeaz modelul McCulloch-Pitts. Diferenele semnificative sunt
urmtoarele: n loc de ponderile scalare w
ij
i funcii de activare, neuronul fuzzy
folosete numere (F
z
w
i
) i mulimi fuzzy. La nivelul neuronului fuzzy (fig.6.5.1) se
efectueaz suma

=

N
i
i z
w F
1
denumit intrare cumulat, n care reprezint un factor
arbitrar de atenuare.

- 122 - CAP.6 Sisteme hibride inteligente


I
n
t
r

r
i



f
u
z
z
y

=

N
i
i z
w F
1
Reguli
fuzzy
Defuzzyficare
O
O
F
z
w
1

F
z
w
2

F
z
w
N

.
.
.


Fig.6.5.1 Modelul general al unui neuron fuzzy.

Acest semnal este transformat ntr-o regiune fuzzy corespunztoare nivelelor
de activare asociate. Apoi, folosind o metod oarecare de defuzzyficare, regiunea
fuzzy colapseaz ntr-o valoare scalar. Dac funcia de activare este deasemenea o
mulime fuzzy, ieirea obinut va cunoate grade disticte de activare. Exist i
posibilitatea introducerii n modelul neuronului a pragurilor de activare fuzzy.

Controlere neuro-fuzzy

Un posibil exemplu de implementare al unui controler neuro-fuzzy este
prezentat n fig.6.5.2. Bucla deschis este realizat prin intermediul unui sistem fuzzy
sau a unei RNA fuzzy iar reacia este realizat prin intermediul unei RNA. n acest caz
RNA primete semnalele de intrare i de ieire ale sistemului de reglare, creeaz noi
asociaii intrare-ieire i genereaz reguli noi pentru sistemul fuzzy.

6.5 Sisteme hibride neuro-fuzzy - 123 -


Reea
neuronal
Sistem
fuzzy
Intrare Ieire

Fig.6.5.2 Sistem de reglare neuro-fuzzy n bucl nchis

n exemplul urmtor, tratat n detaliu n cele ce urmeaz, rolurile sunt
inversate n sensul n care sistemului n bucl deschis de tip RNA i sunt furnizate
mrimi de comand de ctre un sistem fuzzy.

Sistem
fuzzy
Reea
neuronal
Intrare Ieire

Atribut de performan trecut
Atribut de performan actual
Performan i variaia ei relative


Fig.6.5.3 Controler fuzzy pentru reglarea adaptiv a ratei de nvare aferente algoritmului gradient
descendent

Exemplul 6.5.1. Proiectarea unui controler fuzzy pentru reglarea adaptiv a ratei de
nvare aferente algoritmului gradient descendent.
Este cunoscut faptul c rata de nvare trebuie s fie suficient de mic, de
regul subunitar, pentru a preveni apariia oscilaiilor i a asigura convergena
- 124 - CAP.6 Sisteme hibride inteligente

algoritmului de antrenament. ns o rat prea mic de nvare poate ncetini
considerabil procesul de nvare al unei RNA. Timpul de antrenament poate fi
considerabil redus prin folosirea unei rate de nvare adaptive (variabile) care s se
menin la o valoare ct mai ridicat, dar care s nu duc la un proces de nvare
instabil. Cvasitotalitatea metodelor fuzzy [71], [72] sau clasice [15] de reglare a ratei
de nvare se bazeaz pe analiza valorii absolute a erorii sau a gradientului din epoca
curent i eventual precedent. Se propune (Cleanu i Petropoulakis [73]) n cele ce
urmeaz o metod fuzzy de adaptare a , bazat pe valoarea relativ a criteriului de
performan specific unei RNA date. O astfel de abordare este justificat att n cazul
metodelor de adaptare clasice dar mai ales n cazul metodelor fuzzy deoarece valoarea
numeric a erorii este dependent de tipul funciei de activare a neuronilor. Spre
exemplu, considernd o aceeai arhitectur a unei RNA, n cazul unei funcii de
activare a neuronilor de tip liniar, gama de variaie a erorii poate fi de 10
3
ori mai mare
dect n cazul unei funcii de activare de tip sigmoidal. Astfel, considerarea valorii
numerice absolute a criteriului de performan (de regul eroarea ptratic medie)
drept mrime de intrare a unui controler fuzzy va presupune implicit introducerea unor
limitri care afecteaz n mod negativ performanele algoritmului de reglare a ratei de
nvare.
n concluzie, se propune folosirea drept mrimi de intrare a controlerului
fuzzy a valorii relative a criteriului de performan ales:
) 1 (
) (
) (

=
n perf
n perf
n p (6.5.1)

i a valoarii variaiei relative a criteriului de performan:
) 2 (
) 1 (
) 1 (
) (
) (

=
n perf
n perf
n perf
n perf
n p (6.5.2)
Prin urmare cele dou variabile lingvistice enunate mai sus vor reprezenta
mrimile de intrare ale controlerului fuzzy iar mrimea de ieire va reprezenta un
coeficient c de modificare a ratei de nvre:
6.5 Sisteme hibride neuro-fuzzy - 125 -

) 1 ( ) ( = n c n (6.5.3)
Arhitectura acestui sistem este prezentat n fig.6.5.3.
Algoritmul de reglare a ratei de nvare funcioneaz conform bazei de reguli
prezentate n tab.6.5.1 i este inspirat din metoda clasic de modificare a ratei de
nvre prezentat n [74]. n continuare se prezenta succint acest algoritm care se
gsete implementat n Neural Network Toolbox v.3.0. sub forma funciei traingdx:


<
=
altfel k
k w perf c k w perf daca k c
k w perf k w perf daca k c
k
), 1 (
) 1 ( ( )) ( ( ), 1 (
) 1 ( ( )) ( ( ), 1 (
) (
3 2
1

(6.5.4)
Valorile tipice pentru aceti coeficieni sunt: c
1
= 1,05, c
2
= 0.7, c
3
= 1,04.
Dezavantajul algoritmului mai-sus menionat const n valoarea coeficienilor
c
1
i c
2
care sunt meninui constani pe tot parcursul procesului de antrenamet,
mpiedicnd variaia rapid a ratei de nvre. Algoritmul fuzzy propus de ctre
Cleanu i Petropoulakis [73] nuaneaz aceti coeficieni n funcie de valorile p(n) i
p(n) i ofer o vitez de convergen sporit.
Pentru implementarea controlerului fuzzy se vor folosi facilitile oferite de
toolboxul MATLAB 5.3 specializat n dezvoltarea sistemelor fuzzy, adic Fuzzy
Logic Toolbox v.2.0.1 Comanda MATLAB fuzzy apeleaz editorul FIS (Fuzzy
Inference System editor) care, prin intermediul interfeei grafice utilizator (vezi
fig.6.5.4) permite specificarea interactiv a:

- arhitecturii controlerului (numr de intrri i ieiri);
- tipul controlerului (Mamdami sau Sugeno);
- funcii de apartenen;
- baz de reguli;
- metode de defuzzyficare;
- vizualizare suprafa de control, etc.

- 126 - CAP.6 Sisteme hibride inteligente



Fig.6.5.4 Arhitectura controlerului fuzzy de tip Mamdami pentru modificarea adaptiv a ratei de nvare.

Funciile de apartenen pentru cele dou variabile lingvistice de intrare sunt
prezentate n fig. 6.5.5, 6.5.6 iar valorile lingvistice pentru variabila lingvistic
asociat ieirii se pot urmri n fig. 6.5.7.

6.5 Sisteme hibride neuro-fuzzy - 127 -



Fig.6.5.5 Valorile lingvistice ale variabilei lingvistice valoare relativ a criteriului de performan p(n) =
(perf(n)/perf(n-1)).


Fig.6.5.6 Valorile lingvistice ale variabilei lingvistice variaie a valoarii relative a criteriului de
performan p(n) = perf(n)/perf(n-1) - perf(n-1)/perf(n-2).

Fig. 6.5.7 Valorile lingvistice ale variabilei lingvistice de ieire c, (n) = c (n-1).

- 128 - CAP.6 Sisteme hibride inteligente

dp \ p p1 p2 p3 p4 p5
dp1 c5 c5 c4 c3 c2
dp2 c5 c4 c4 c2 c2
dp3 c4 c4 c4 c2 c1
dp4 c3 c2 c2 c3 c1
dp5 c2 c2 c1 c1 c1

Tab.6.5.1 Baza de reguli a controlerului fuzzy

Fig. 6.5.8 Suprafaa de reglare a controlerului fuzzy

Odat definit controlerul fuzzy, va trebui scris o funcie de antrenament a
reelei neuronale pe care o vom denumi trainfuzzy care va realiza interfaarea
algoritmului gradientului descendent cu algoritmul de reglare adaptiv a ratei de
nvare. Totodat aceast funcie trebuie s respecte conveniile MATLAB, ea fiind
practic o metod specific unui obiect de tip net. n ANEXA 1 se red codul surs
al noii funcii de antrenament.


6.5 Sisteme hibride neuro-fuzzy - 129 -

Pentru a evalua performanele metodei descrise mai sus se vor testa
comparativ urmtoarele metode de antrenament:
- gradient descendent, implementat n MATLAB prin funcia traingd;
- gradient descendent, moment i rat de nvare adaptiv, implementat n MATLAB
prin funcia traingdx;
- gradient descendent, moment i rat de nvare fuzzy-adaptiv, implementat prin
funcia proprie traingdfuzzy;
Se va prezenta doar un singur tip de experiment, utilizat frecvent n testarea
performanelor algoritmilor de antrenament [75], i anume problema aproximrii
funciei:
x)) ( (x x f + + = 2 sin 7 , 0 8 , 0 2 , 0 ) ( (6.5.5)
cu 0x1. Se va considera un numr de 11 de puncte de antrenament i 101 puncte de
test. .
Programul surs care efectueaz evaluarea compartiv a celor trei metode de
antrenament este prezentat n cele ce urmeaz:

%Testarea comparativ a metodelor traingd, traingdx, trainfuzzy
%n problema aproximarii funciilor
%Catalin-Daniel Caleanu, 1999

clear all;
P = 0:0.1:1;
T = 0.2 + 0.8*(P + 0.7*sin(2*pi*P));
testx=0:0.01:1;
testy=0.2 + 0.8*(testx + 0.7*sin(2*pi*testx));

net1= newff(minmax(P),[9 1],{'tansig' 'logsig'},'traingd');
net1.trainParam.lr=0.65;
net1.trainParam.mc=0.7;
- 130 - CAP.6 Sisteme hibride inteligente

net1.trainParam.min_grad=1e-10;
net1.trainParam.show = 1;
net1.trainParam.epochs = 150;
net1.trainParam.goal = 0.003;
t1 = clock;
[net1,tr1]= train(net1,P,T);
time1=etime(clock,t1);

net2= newff(minmax(P),[9 1],{'tansig' 'logsig'},'traingdx');
net2.trainParam.lr = net1.trainParam.lr;
net2.trainParam.mc = net1.trainParam.mc;
net2.trainParam.min_grad = net1.trainParam.min_grad;
net2.trainParam.show = net1.trainParam.show;
net2.trainParam.epochs = net1.trainParam.epochs;
net2.trainParam.goal = net1.trainParam.goal;
t2 = clock;
[net2,tr2]= train(net2,P,T);
time2=etime(clock,t2);

net3= newff(minmax(P),[9 1],{'tansig' 'logsig'},'trainfuzzy');
net3.trainParam.lr = net1.trainParam.lr;
net3.trainParam.mc = net1.trainParam.mc;
net3.trainParam.min_grad = net1.trainParam.min_grad;
net3.trainParam.show = net1.trainParam.show;
net3.trainParam.epochs = net1.trainParam.epochs;
net3.trainParam.goal = net1.trainParam.goal;
t3 = clock;
[net3,tr3]= train(net3,P,T);
time3=etime(clock,t3);
6.5 Sisteme hibride neuro-fuzzy - 131 -

y1test = sim(net1,testx);
y2test = sim(net2,testx);
y3test = sim(net3,testx);
y1antr = sim(net1,P);
y2antr = sim(net2,P);
y3antr = sim(net3,P);

er1test=(sum(sum(abs(ones(1,length(testy))-(y1test/testy)))))/length(testy);
er2test=(sum(sum(abs(ones(1,length(testy))-(y2test/testy)))))/length(testy);
er3test=(sum(sum(abs(ones(1,length(testy))-(y3test/testy)))))/length(testy);
ertest=[er1test er2test er3test];
er1antr=(sum(sum(abs(ones(1,length(T))-(y1antr/T)))))/length(T);
er2antr=(sum(sum(abs(ones(1,length(T))-(y2antr/T)))))/length(T);
er3antr=(sum(sum(abs(ones(1,length(T))-(y3antr/T)))))/length(T);
erantr=[er1antr er2antr er3antr];

time=[time1 time2 time3]

clf;
figure
plot(testx,testy,'k');
title('Aproximarea functiei 0.2 + 0.8*(x + 0.7*sin(2*pi*x))');
hold
plot(testx,y1test,':');
plot(testx,y2test,'--');
plot(testx,y3test,'.-');
xlabel('x');
ylabel('traingd .. traingdx -- trainfuzzy .-')
hold off
- 132 - CAP.6 Sisteme hibride inteligente

figure
semilogy(tr1.epoch,tr1.perf,':');
hold
semilogy(tr2.epoch,tr2.perf,'--');
semilogy(tr3.epoch,tr3.perf,'.-');
title('EPM versus numar de epoci');
xlabel('Numar de epoci');
ylabel('traingd .. traingdx -- trainfuzzy .-')
hold off
figure
bar((ertest)*100);
ylabel('Eroare aproximare test [%]');
xlabel('traingd 1 traingdx 2 trainfuzzy 3')
figure
bar((erantr)*100);
ylabel('Eroare aproximare antrenament [%]');
xlabel('traingd 1 traingdx 2 trainfuzzy 3')
figure
barh(time,'r');
xlabel('Timp prelucrare [s]');
ylabel('traingd 1 traingdx 2 trainfuzzy 3')
figure
plot(tr1.epoch,net1.trainParam.lr,':');
hold
plot(tr2.epoch,tr2.lr,'--');
plot(tr3.epoch,tr3.lr,'.-');
xlabel('Numar de epoci');
ylabel('traingd .. traingdx -- trainfuzzy .-');
hold off
6.5 Sisteme hibride neuro-fuzzy - 133 -

ertest=[er1test er2test er3test]*100
erantr=[er1antr er2antr er3antr]*100

n urma rulrii acestui program se obin rezultatele prezentate n fig.6.5.9...fig.6.5.14.


0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
Aproximare functiei 0.2 + 0.8*(x + 0.7*sin(2*pi*x))
x
t
r
a
i
n
g
d

.
.


t
r
a
i
n
g
d
x

-
-


t
r
a
i
n
f
u
z
z
y

.
-


Fig. 6.5.9 Funcia original i aproximarea acesteia (EPM = 0.003 pentru datele de antrenament)

- 134 - CAP.6 Sisteme hibride inteligente

0 50 100 150
10
-3
10
-2
10
-1
10
0
EPM versus numar de epoci
Numar de epoci
t
r
a
i
n
g
d

.
.


t
r
a
i
n
g
d
x

-
-


t
r
a
i
n
f
u
z
z
y

.
-


Fig. 6.5.10. Variaia EPM de-a-lungul epocilor de antrenament

0 50 100 150
0
2
4
6
8
10
12
14
Numar de epoci
t
r
a
i
n
g
d

.
.


t
r
a
i
n
g
d
x

-
-


t
r
a
i
n
f
u
z
z
y

.
-

Fig. 6.5.11 Evoluia ratei de nvare de-a-lungul epocilor de antrenament
6.5 Sisteme hibride neuro-fuzzy - 135 -

1 2 3
0
0.5
1
1.5
2
2.5
3
3.5
4
E
r
o
a
r
e

a
p
r
o
x
i
m
a
r
e

a
n
t
r
e
n
a
m
e
n
t

[
%
]
traingd 1 traingdx 2 trainfuzzy 3

Fig. 6.5.12 Eroarea de aproximare a datelor de antrenament

1 2 3
0
0.5
1
1.5
2
2.5
E
r
o
a
r
e

a
p
r
o
x
i
m
a
r
e

t
e
s
t

[
%
]
traingd 1 traingdx 2 trainfuzzy 3

Fig. 6.5.13 Eroarea de aproximare a datelor de test
- 136 - CAP.6 Sisteme hibride inteligente

0 5 10 15 20
1
2
3
Timp prelucrare [s]
t
r
a
i
n
g
d

1

t
r
a
i
n
g
d
x

2

t
r
a
i
n
f
u
z
z
y

3

Fig.6.5.14 Durata procesului de antrenament

time =
18.8900 5.4900 3.9600
ertest =
2.3570 0.9310 0.0091
erantr =
3.5603 2.7846 2.4817

6.6 nvarea prin ntrire

6.6.1. Preliminarii

nvarea prin ntrire (Reinforcement Learning, RL) este sinonim cu
nvarea prin interaciune [76]. n timpul nvrii sistemul adaptiv ncearc anumite
aciuni asupra mediului; pentru fiecare dintre acestea primete o evaluare, de obicei
mrime scalar, denumit semnal de ntrire. Algoritmii RL urmresc, prin aciunile
6.6 nvarea prin ntrire - 137 -

selectate, maximizarea recompensei (reward) primite ntr-o anumit perioad de
timp.
De exemplu, animalele nu neleg n mod direct limbajul uman i implicit nici
explicaiile unui dresor. Cu toate acestea este posibil ca ele s fie antrenate/dresate
pentru a efectua o anumit aciune prin introducerea recompensei sau a pedepsei.
Analogia cu RL este evident: programarea agenilor se face prin semnale de ntrire
sau slbire (rsplat/pedeaps) fr a fi nevoie s se precizeze modalitatea concret de
rezolvare a sarcinii necesar a fi ndeplinit. Comportamentul adecvat se nva prin
interaciuni de tipul ncercrilor succesive (trial-and-error) asupra unui mediu
nconjurtor dinamic.
Exist dou strategii principale pentru rezolvarea problemelor de tipul
nvrii prin ntrire:
a) Metode evolutive. Din aceast clas fac parte metodele de optimizare a
funciilor, gen algoritmi genetici, programare evolutiv sau clire simulat.
Caracteristic pentru aceste metode este cutarea n spaiul comportamentelor
posibile n scopul gsirii unuia care s fie potrivit mediului considerat.
b) Metode statistice i de programare dinamic. Se bazeaz pe estimarea
utilitii aciunilor.
Nu este clar deocamdat care din abordrile sus-menionate este cea mai bun
n anumite circumstane date.
n concluzie, RL nseamn nvarea transformrii situaii aciuni astfel
nct s fie maximizat o recompens numeric. Sistemului supus nvrii nu i se
precizeaz ce aciuni trebuie efectuate ci el singur descoper comportamentul ce aduce
recompensa maxim prin ncercarea diverselor aciuni posibile. Uneori aciunile nu
afecteaz numai recompensa imediat ci i strile urmtoare, deci i recompensa
subsecvent. Aceste dou caracteristici, ncercrile succesive i recompensa ntrziat
reprezint dou din cele mai importante trsturi ale RL, dup cum se va constata n
cele ce urmeaz.

- 138 - CAP.6 Sisteme hibride inteligente

6.6.2. Compromisul dintre fazele de explorare i exploatare

O diferen major dintre nvarea prin ntrire i nvarea de tip supervizat o
reprezint faptul c primului tip i este necesar o faz explicit de explorare a
mediului n scopul achiziionrii de cunotine. Cel de al doilea tip de nvare, cel
supervizat, presupune acumularea cunotinelor pe baza unor exemple furnizate de
ctre un expert/supervizor extern i, dei reprezint unul din tipurile cele mai
importante de instruire, nu este adecvat nvrii din interaciuni cu mediul. n
probleme interactive este deseori imposibil i nepractic s se obin exemple de
comportament adecvat i reprezentativ pentru toate situaiile posibile n care un agent
ar putea s se gseasc. Este deci necesar capacitatea agentului de a nva din
propria experien.
n acest context intervine delicata problem explorare versus exploatare:
pentru a obine o recompens nsemnat un agent instruit prin RL va prefera aciuni
care au mai fost ncercate n trecut i care au dovedit c aduc un aport substanial.
Totodat este necesar s ncerce i noi aciuni care s-ar putea dovedi mai productive
dect cele testate pn n prezent. n consecin, dilema explorare-exploatare se
rezum la faptul c un agent trebuie s exploateze cunotinele deja acumulate pentru a
maximiza recompensa, dar trebuie i s exploreze noi aciuni care s-ar putea dovedi
mai bune dect cele deja efectuate. Agentul trebuie s ncerce o varietate de aciuni i
progresiv s le favorizeze pe cele care par a fi mai bune [77].
Exemplu: Un agent are posibilitatea de a alege n mod repetat ntre n aciuni/opiuni
diferite. Dup fiecare aciune primete o recompens numeric aleas dup o
distribuie de probabilitate staionar i dependent evident de aciunea efectuat.
Obiectivul l reprezint maximizarea recompensei ntr-un anumit interval de timp, de
exemplu 100 de aciuni selectate.
Aceast problem cunoscut n literatur sub denumirea banditului cu n
brae (narmed bandit) a fost intens studiat (detalii n [78]), iar dilema explorare-
exploatare este evident: agentul ar putea alege cu prioritate unul din braele cu
6.6 nvarea prin ntrire - 139 -

probabilitate mai mare de ctig (exploatare) sau ar trebui s ncerce i altele despre
care nu exist suficient informaie (explorare)? Rspunsul la aceast ntrebare este
dependent de numrul de ncercri disponibile. Cu ct acestea sunt mai numeroase cu
att consecinele unei convergene premature spre o aciune suboptimal vor fi
defavorabile, spre deosebire de faza de explorare care n acest caz ar trebui ncurajat.

6.6.3. Modelul nvrii prin ntrire

Elementele de baz ale RL sunt agentul supus nvrii i mediul nconjurtor
acestuia. Agentul reprezint un sistem care ncearc s ndeplineasc un scop ntr-un
mediu complex i dinamic [79]. n funcie de mediul n care i desfoar activitatea
un agent poate fi de exemplu:
Un robot, dac mediul reprezint chiar lumea fizic;
Agent software (knobot), dac mediul l reprezint un calculator sau reea de
calculatoare (cyberspaiu). Un astfel de exemplu l reprezint un sistem de
cutare a datelor de o anumit natur ntr-o reea de calculatoare.
n modelul standard al RL agentul (program, robot etc.) este conectat la
mediul nconjurtor prin intermediul percepiei i al aciunilor (fig.6.6.3.1).
Agentul i mediul interacioneaz la fiecare pas al timpului discret prin:
- intrarea s ce semnific starea mediului;
- pe baza semnalului s agentul alege o aciune a i o genereaz ca ieire;
- aciunea schimb starea mediului, iar valoarea tranziiei strilor este comunicat
agentului prin scalarul r, denumit semnal de ntrire (recompens).

- 140 - CAP.6 Sisteme hibride inteligente



MEDIU

AGENT
r s a


Fig.6.6.3.1 Interaciunea mediu-agent se face prin: aciuni (a), semnal de ntrire (r), semnal senzorial
ce informeaz despre starea mediului (s).

Comportamentul agentului va genera aciuni care urmresc maximizarea pe
termen lung a sumei semnalelor de ntrire.
Formal, modelul const din:
- mulimea discret a strilor mediului, S;
- mulimea discret a aciunilor agentului, A;
- mulimea semnalelor de ntrire, n mod tipic {0,1} sau numere reale.
Pot fi identificate ns i alte subelemente ale RL:
- Politica a agentului definete comportamentul su la un moment dat. Practic,
politica definete transformarea stri percepute ale mediului aciuni. Ea reprezint
componenta cea mai important a RL n sensul n care ea singur este suficient
pentru determinarea comportamentului.
- Funcia valoare a unei stri V(s) reprezint evaluarea strii s pe termen lung,
spre deosebire de r, ce face o evaloare n sens imediat. n timp ce recompensa
determin intrinsec, imediat, dezirabilitatea strilor mediului, funcia valoare indic
dezirabilitatea strilor pe termen lung, lund n considerare strile probabile care vor
urma i recompensa aferent acestora. De exemplu, o stare poate genera o recompens
imediat mic dar e posibil s aib o valoare mare deoarece e probabil urmat de alte
stri ce produc un semnal de ntrire puternic. i reciproca este adevrat.
6.6 nvarea prin ntrire - 141 -

Exemplu: Se urmrete aplicarea metodelor specifice RL pentru controlul unui bra de
robot (manipulator). Problema, de tip repetitiv, const n prehensarea unui obiect i
depunerea sa la o alt locaie. Se urmrete obinerea unei viteze maxime de deplasare
n condiiile unei traiectorii line.
Agentul trebuie s aib un control direct asupra motoarelor ce acioneaz
robotul i s primeasc informaii imediate despre poziia i viteza curent a cuplelor
cinematice. Aciunile ar putea reprezenta n acest caz concret curenii aplicai
motoarelor situate la nivelul articulaiilor, iar strile vor fi reprezentate de valorile
unghiurilor i vitezelor cuplelor cinematice. Recompensa ar putea fi +1 pentru
fiecare obiect ridicat i plasat corect. Pentru ncurajarea unei traiectorii line se poate
introduce o mic penalizare (ex.: -0,1) pentru micrile care nu respect aceast
cerin.

6.6.4. Modele pentru evaluarea comportamentului

nainte de a aborda algoritmii RL ce conduc la un comportament optim,
trebuie definit aceast din urm noiune. n literatur [80] sunt menionate de regul
trei modele:
1. Modelul orizontului finit: agentul trebuie s maximizeze recompensa n
urmtorii T pai:

=
+ + + +
= + + + =
T
k
k t T t t t t
r r r r R
1
2 1
... (6.6.4.1)
Aceast abordare i gsete sens n aplicaiile n care intervine n mod natural
noiunea de pas de timp final, adic n situaia n care interaciunea agent
mediu se divide n subsecvene, denumite episoade. Fiecare episod se
sfrete ntr-o stare special denumit stare terminal. Sarcinile care suport
o astfel de mprire n episoade sunt denumite sarcini episodice, spre
deosebire de cazul n care interaciunea agent-mediu nu este fragmentat,
rezultnd n acest din urm caz sarcini continuale. n acest ultim caz T =
- 142 - CAP.6 Sisteme hibride inteligente

ceea ce ar putea conduce la maximizarea unei recompense infinite. Urmtorul
model rezolv aceast problem prin introducerea n sum a unei constante
subunitare.
2. Modelul orizontului infinit: n acest caz agentul ncearc s selecteze
aciunile astfel nct suma recompensei cu reducere (discounted reward) s
fie maxim:

=
+ + + + +
= + + + =
0
1 3
2
2 1
...
k
k t
k
t t t t
r r r r R (6.6.4.2)
n care este un parametru subunitar, 0 1, denumit rata reducerii. Pe
lng faptul c dac < 1 suma din (6.6.4.2) este finit, permite ajustarea
interesului spre aciuni ce aduc o recompens imediat ( 0) sau ndeprtat
( 1). Rata reducerii poate fi vzut i ca o probabilitate de a mai tri nc
un pas.
3. Modelul recompensei medii: n acest caz se urmrete maximizarea:

=
T
t
t
r
T
0
1
(6.6.4.3)
Una din problemele acestui criteriu este imposibilitatea distingerii ntre dou
politici, dintre care una aduce o recompens mai mare n faza iniial.

6.6.5. Algoritmi specifici nvrii prin ntrire

6.6.5.1. Metode bazate pe valoarea aciunilor

Fie Q
*
(a) valoarea adevrat a aciunii a. Estimarea sa la momentul t,
Q
t
(a), se poate defini astfel:
Q
t
(a) =
k
r r r
k
+ + + ...
2 1
(6.6.5.1.1)
Dac k atunci Q
t
(a) Q
*
(a).
6.6 nvarea prin ntrire - 143 -

Cea mai simpl regul de selecie a unei aciuni este alegerea aciunii cu cea
mai mare valoare estimat: Q
t-1
(a
t
*
) = max
k
Q
t-1
(a
t
*
),n care a
t
*
poart denumirea de
aciune lacom (greedy). Aceast metod va exploata cunotinele curente n scopul
maximizrii recompensei. Acest comportament poate fi mbunit prin aciuni
-lacome, ceea ce nseamn c, cu o probabilitate mic vor fi selectate i aciuni n
mod aleator. Unele strategii ncep cu un mare, pentru ncurajarea explorrii, dup
care este diminuat treptat.
Una dintre obieciile ridicate vizavi de aceste strategii simple este legat de
experimentarea aciunilor aleatoare, neexistnd nici o deosebire ntre alternativele
promitoare i cele care n mod clar nu au perspective.
O metod ceva mai sofisticat ntlnit sub denumirea de explorare de tip
Boltzmann sau regula softmax de selecie a aciunilor, presupune alegerea aciunii
a la pasul t cu probabilitatea:

=
b
b Q
a Q
t
t
e
e
a P

/ ) (
/ ) (
1
1
) ( (6.6.5.1.2)
n care este un parametru pozitiv denumit temperatur.
De menionat existena a numeroase alte strategii (metoda valorilor iniiale
optimiste, metoda comparrii recompensei, etc) care pot conduce la rezultate mai bune
relativ la viteza de convergen. Se pare ns c nu se poate stabili o ierarhie a acestor
metode, performanele lor fiind dependente de aplicaiile concrete. O discuie
exhaustiv asupra acestor metode se regsete n [77].

6.6.5.2. Metode bazate pe programarea dinamic

ntr-un caz general problema nvrii prin ntrire presupune i existena unei
recompense ntrziate. Aceasta nseamn c o recompens substanial poate s
survin la finalul unui ir de aciuni care nu aduc dect o recompens imediat
nesemnificativ. Agentul trebuie s fie capabil s nvee care din aciuni sunt
- 144 - CAP.6 Sisteme hibride inteligente

dezirabile astfel nct s se obin o recompens ntr-un viitor arbitrar.
Problemele ce presupun recompens nrrziat sunt modelate ca procese de
decizie de tip Markov (Markov Decision Process, MDP). Un proces MDP const
din:
O mulime de stri S i de aciuni A;
O funcie recompens R: S x A R;
O funcie de tranziie a strilor T: S x A (S), n care (S) reprezint o
distribuie de probabilitate asupra lui S.
Fie T(s, a, s

) probabilitatea executrii tranziiei ss

prin efectuarea aciunii


a.
Termenul de programare dinamic (Dynamic Programming, DP) se refer la
o colecie de algoritmi care pot fi folosii la calculul politicilor optime, fiind dat un
model perfect al mediului de tip MDP. Aceti algoritmi au mai degrab importan
teoretic datorit necesitii existenei unui model perfect i complexitii calculelor.
n principiu toate celelalte metode ale RL pot fi vzute ca ncercri de rezolvare ale
aceleiai probleme ca i n cazul DP folosind putere de calcul mai redus [81] i fr
necesitatea existenei vreunui model al mediului.
Exist dou metode principale pentru determinarea unei politici optime:
Iteraia valorii. Fie V
*
valoarea corect a unei stri. Conform [82] acest
algoritm se anun astfel:
Se iniializeaz V(s) arbitrar
Itereaz pn cnd se obine o politic suficient de bun
Itereaz pentru s S
Itereaz pentru a A
) ( ) , , ( ) , ( : ) , ( s V s a s T a s R a s Q
S s
+ =



) , ( max : ) ( a s Q s V
a
=
Sfrit iteraie
Sfrit iteraie
6.6 nvarea prin ntrire - 145 -

Un criteriu de stop al algoritmului a fost enunat de Williams i Baird [83] i
const n oprirea iteraiilor cnd diferena ntre dou valori V(s) succesive este mai
mic dect un anumit . Atunci valoarea politicii rezultate din alegerea, n fiecare
stare, a aciunii care maximizeaz recompensa cu reducere (discounted reward)
difer fa de valoarea politicii optime prin maximum ) 1 /( 2 .
Iteraia politicii. Algoritmul iteraiei politicii manipuleaz direct politica,
nedeterminnd-o indirect (vezi iteraia valorii) prin intermediul funciei
valoare:

Alege o politic arbitrar
Itereaz
:=
Calculeaz funcia valoare pentru politica :
Rezolv ecuaiile liniare
) ( ) ), ( , ( )) ( , ( ) ( s V s s s T s s R s V
S s
+ =




mbuntete politica la fiecare pas:
) ( ) , , ( ) , ( ( max arg : ) ( s V s a s T a s R s
S s
a
+ =


Pn cnd =

Odat ce este cunoscut valoarea fiecrei stri aferent politicii curente, se
ncearc mbuntirea valorii prin modificarea primei aciuni ce va fi efectuat. Dac
valoarea este mbuntit, se schimb politica curent astfel nct s fie efectuat
aceast aciune nou ori de cte ori apare acea situaie.

6.6.5.3. Metode de tip Monte Carlo

Spre deosebire de capitolul anterior, metodele de tip Monte Carlo nu presupun
cunoaterea complet a modelului mediului. Sunt necesare ns secvene de stri,
- 146 - CAP.6 Sisteme hibride inteligente

aciuni i recompense desprinse din interaciunea actual sau simulat cu mediul.
Estimarea Monte Carlo a funciei valoare a strilor
Se reamintete c valoarea unei stri V(s) reprezint viitoarea recompens
cumulativ cu discount ce este de ateptat, pornind din acea stare. O cale simpl de
estimare o reprezint atunci medierea recompensei observat la vizitarea acelei stri:

Iniializeaz:
politica ce trebuie evaluat
V o funcie valoare a strii arbitrar
Recompense (s) list vid, pentru toate s S
Repet:
(a) Genereaz un episod folosind
(b) Pentru fiecare stare s ce apare n acel episod:
R recompensa ce urmeaz primei apariii a strii s
Adaug R la Recompense(s)
V(s) media (Recompense(s))

Estimarea Monte Carlo a valorii aciunilor
Fie Q

(s, a) valoarea efecturii aciunii a n starea s urmnd politica . n


cazul n care modelul mediului nu este disponibil este mai util estimarea valorilor
aciunilor dect valorilor strilor. Fiind dat un model, valorile strilor sunt suficiente
pentru determinarea unei politici: se alege care aciune urmtoare conduce la o
combinaie optim ntre recompens i starea urmtoare (ca i la programarea
dinamic prezentat n 6.6.5.2). Fr un model, valorile strilor nu sunt suficiente i
de aceea se urmrete estimarea Q
*
(valoarea adevrat a aciunii a):

Iniializeaz, pentru ) ( , s A a S s
Q(s, a) valori arbitrare
(s) valori arbitrare
6.6 nvarea prin ntrire - 147 -

Recompense (s, a) list vid
Repet
(a) Genereaz un episod folosind
(b) Pentru fiecare pereche s, a ce apare n episod:
R Recompensa ce urmeaz primei apariii s, a
Adaug R la Recompense(s, a)
Q(s, a) media (Recompense(s, a))
(c) Pentru fiecare s din episod
(s) arg max
a
Q(s, a)

6.6.5.4. Diferena temporal

Diferena temporal (Temporal Difference, TD) reprezint o combinaie
ntre cele dou metode prezentate anterior (Monte Carlo i Programarea Dinamic). Se
deosebesc n principal dou tipuri de algoritmi:
Metode TD cu un pas
n versiunea cea mai simpl, denumit TD(0) valoarea unei stri se
actualizeaz dup formula:
)] ( ) ( [ ) ( ) (
1 1 t t t t t
s V s V r s V s V + +
+ +
(6.6.5.4.1)
Iar algoritmul aferent se formuleaz dup cum urmeaz:

Se iniializeaz V(s) arbitrar, iar reprezint politica ce trebuie evaluat
Se repet (pentru fiecare episod):
Iniializare s
Repet (pentru fiecare pas al episodului):
a aciunea generat de pentru s
Se efectueaz aciunea a; se observ recompensa r i starea
urmtoare s
- 148 - CAP.6 Sisteme hibride inteligente

V(s) V(s) + [r+V(s)-V(s)]
s s
Pn cnd s reprezint starea terminal

Se pot identifica cteva din caracteristicile i avantajele metodelor tip TD:
a) valorile estimate au la baz, n parte alte estimri (bootstrap);
b) prezint avantajul, fa de metodele DP, de a nu solicita un model al mediului
(distribuia de probabilitate a recompensei i a strilor urmtoare);
c) fa de MC, TD este implementat online, incremental. Se tie c n cazul MC este
necesar ateptarea sfritului unui episod, pentru c doar atunci este cunoscut R
t
.
Cnd se dorete estimarea funciei valoare a aciunii, TD ofer dou
posibiliti:
a) Algoritmul SARSA
)] , ( ) , ( [ ) , ( ) , (
1 1 1 t t t t t t t t t
a s Q a s Q r a s Q a s Q + +
+ + +
(6.6.5.4.2)
b) Algoritmul/nvarea de tip Q (Q-learning). Se enun cf. [84] i [85]
astfel:
)] , ( ) , ( max [ ) , ( ) , (
1 1 t t t
a
t t t t t
a s Q a s Q r a s Q a s Q + +
+ +
(6.6.5.4.3)
n acest caz, valoarea nvat a funciei aciune aproximeaz direct Q
*

(valoarea optim) independent de politica urmat.
Exemplu: n [76] este prezentat problema labirintului (maze learning) ce
reprezint o abstractizare a unei probleme de navigare a roboilor mobili autonomi
(fig.6.6.5.4.1).

6.6 nvarea prin ntrire - 149 -


Starea s = SEVN
2

Aciuni: a = {Deplasare_S, Deplasare_E, Deplasare_V, Deplasare_N}
Ex: s = 0110 = 6 N
S
V E
Senzorii agentului Labirint
Poziie iniial a
agentului
Poziie int

Fig.6.6.5.4.1 Descrierea problemei labirintului.

Robotul autonom este confruntat cu gsirea unei inte plecnd din orice poziie
valid a labirintului. Robotul poate detecta orice obstacol n direciile N, S, E, V i
poate efectua o deplasare de o poziie n direciile amintite.
Problema se rezum la gsirea aciunilor corecte pentru o stare dat, astfel
nct robotul s evite obstacolele i s gseasc drumul cel mai scurt spre int (adic
POLITICA OPTIM ). Starea sistemului este determinat de activarea binar a
senzorilor agentului.
Pentru rezolvarea acestei probleme pe baza nvrii prin ntrire se asociaz o
valoare Q pentru fiecare aciune posibil n fiecare stare s. Se calculeaz aceast
valoare folosind unul din algoritmii RL (de exemplu SARSA) i se selecteaz aciunile
n funcie de valorile Q. De exemplu se poate aplica mecanismul de selecie -lacom:
- Se alege aciunea a cu Q(s, a) maxim, cu probabilitatea 1 - ;
- Altfel, se efectueaz o aciune aleatoare.
n ANEXA 2 este prezentat codul surs C, cf. [76], pentru rezolvarea
problemei discutate mai sus.

- 150 - CAP.6 Sisteme hibride inteligente

Metode TD cu n pai
Problema creditrii temporale (temporal - credit assignment), adic
recompensarea sau penalizarea unei aciuni ce are implicaii ntr-un viitor ndeprtat
poate fi soluionat n cazul RL prin aanumitul indice de eligibilitate (eligibility
traces). Aproape orice metod TD (SARSA, Q) poate fi asociat cu indicii de
eligibilitate rezultnd n final un algoritm de nvare mai eficient.
Se presupune existena unei variabile asociate fiecrei stri, e
t
(s), reprezentnd
indicele de eligibilitate pentru starea s la momentul de timp t. La fiecare pas
indicele de eligibilitate (IE) pentru toate strile scade de ori iar pentru starea
vizitat anterior crete cu 1:

= +

=
t t
t t
t
s s s e
s s s e
s e
dac , 1 ) (
dac ), (
) (

(6.6.5.4.4)
n care reprezint rata discountului iar parametrul de degradare al indicelui.
n figura urmtoare este prezentat variaia IE pentru aciunea a
t
efectuat n
starea s
t
.



Fig.6.6.5.4.2 Variaia indicelui de eligibilitate.

Metodele tip un pas calculeaz doar urmtoarea recompens plus valoarea
estimat a urmtoarei stri cu discount:
R
t
(1)
= r
t+1
+ Vt(s
t+1
) (6.6.5.4.5)
n acest caz Vt(s
t+1
) nlocuiete practic
T
t T
t t
r r r + + +

+ +
1
3
2
2
... . Metodele
tip n-pai calculeaz backup-ul:
6.6 nvarea prin ntrire - 151 -

) ( ...
1
3
2
2 1
) (
n t
n
n t
n
t t t
n
t
s V r r r r R
+ +

+ + +
+ + + + + = (6.6.5.4.6)
Algoritmul TD(0) prezentat anterior reprezint un caz particular al unei clase
de algoritmi denumii TD(). Aceti din urm algoritmi pot fi vzui ca o mediere a
cazului backup-ului cu n pai, fiecare termen fiind ponderat cu
n-1
, 0 1.
Factorul de normalizare 1- asigur o sum a ponderilor unitar:

=
1
) ( 1
) 1 (
n
n
t
n
t
R R

(6.6.5.4.7)
Definind:
) ( ) (
1 1 t t t t t t
s V s V r + =
+ +
(6.6.5.4.8)
rezult:
) ( ) ( s e s V
t t t
= (6.6.5.4.9)
Incrementul din relaia (6.6.5.4.9) poate fi calculat la fiecare pas (online)
sau la sfritul unui episod (offline). Versiunea online pentru algoritmul TD()
este urmtorul:

Iniializare arbitrar V(s) i e(s) = 0, S s
Repet (pentru fiecare episod):
Iniializeaz s
Repet (pentru fiecare pas al episodului):
a aciunea dat de pentru s
Efectueaz aciunea a, observ recompensa r
i starea urmtoare s


r + V(s) V(s)
e(s) e(s) + 1
Pentru toate s
V(s) V(s) + e(s)
e(s) e(s)
- 152 - CAP.6 Sisteme hibride inteligente

s s
Pn cnd s reprezint o stare terminal

Indicii de eligibilitate pot fi folosii att n cazul prediciei (TD()) ct i n
cazul controlului (estimarea valorii perechii stare-aciune, Q(s, a)). Un exemplu n
acest sens l reprezint combinaia dintre SARSA sau nvarea de tip Q i indicii de
eligibilitate, rezultnd astfel SARSA () i respectiv Q().

SARSA():
Iniializeaz Q(s, a) arbitrar i e(s, a) = 0 pentru toate s i a
Repet (pentru fiecare episod):
Iniializeaz s, a
Repet (pentru fiecare pas al episodului):
Efectueaz aciunea a, observ r i s
Alege a din s folosind o politic bazat pe Q (ex: -lacom)
r + Q(s, a) Q(s, a)
e(s, a) e(s, a) + 1
Pentru toate s, a
Q(s, a) Q(s, a) + e(s, a)
e(s, a) e(s, a)
s s; a a
Pn cnd s reprezint o stare terminal


Q():
Iniializeaz Q(s, a) arbitrar i e(s, a) = 0 pentru toate s i a
Repet (pentru fiecare episod):
Iniializeaz s, a
Repet (pentru fiecare pas al episodului):
Efectueaz aciunea a, observ r i s
6.6 nvarea prin ntrire - 153 -

Alege a din s folosind o politic bazat pe Q (ex: -lacom)
a
*
arg max
b
Q(s, b)
r + Q(s, a
*
) Q(s, a)
e(s, a) e(s, a) + 1
Pentru toate s, a
Q(s, a) Q(s, a) + e(s, a)
e(s, a) e(s, a)
Dac a = a* atunci e(s, a) 0,
altfel
s s; a a
Pn cnd s reprezint o stare terminal

6.6.6. Aplicaii ale reelelor neuronale artificale bazate pe nvarea prin
ntrire

Dei n literatur sunt citate numeroase aplicaii ale RL n diverse domenii,
cele mai spectaculoase rezultate s-au obinut n domeniul jocurilor de inteligen cum
ar fi de exemplu Checkers [86], Go[87] sau Table [88]. Jocurile ce implic
existena unei table de joc (board games) se constituie n probleme de complexitate
ridicat ce necesit algoritmi sofisticai pentru a putea evolua la nivelul unui expert
uman.
Cu toate c algoritmii RL ofer rezultate bune, prin combinarea acestora cu
RNA rezult soluii hibride cu rezultate spectaculoase. Un astfel de caz l reprezint
programul TD_Gammon [88] bazat pe o reea neuronal capabil s nvee s joace
table. Practic este vorba despre o RNA-MLP antrenat prin TD() n scopul nvrii
unor funcii neliniare complexe.
Jocul de table implic existena a aproximativ 10
20
stri posibile ceea ce face
imposibil de utilizat un algoritm bazat pe tabele look-up. Deasemenea, algoritmii ce
presupun analiza n perspectiv a tuturor situaiilor posibile (brute force) i care au
- 154 - CAP.6 Sisteme hibride inteligente

fost folosii cu succes n jocul de ah nu sunt fezabili datorit multiplelor ramificaii
generate de prezena celor dou zaruri din jocul de table. La fiecare aruncare a
zarurilor se pot obine 21 de combinaii posibile cu aproximativ 20 de mutri
regulamentare, rezultnd un factor de ramificare Nx10
2
. Acest factor este n general cu
un ordin de mrime mai mare dect n jocul de ah i din acest motiv anticiparea
mutrilor n avans este extrem de dificil, chiar i cu ajutorul supercalculatoarelor.
n prima versiune a programului TD-Gammon, TD-Gammon 0.0, poziiile
pieselor erau reprezentate ntr-o manier direct printr-o RNA-MLP cu 198 de intrri
i o ieire (fig.6.6.6.1):
- 4 uniti ce specific numrul de piese pentru fiecare dintre cele 24 de locaii [2 x (4
x 24) = 192 uniti de intrare];
- 2 uniti pentru piesele scoase temporar de pe tabl i 2 uniti pentru piesele scoase
definitiv de pe tabl [2 x 2 + 2 = 6];
- o ieire ce estimeaz valoarea unei poziii.




Strat de intrare
(198 neuroni ce codeaz poziia pieselor)
Strat ascuns
(4080 uniti)
Ieire
(estimeaz probabilitatea de ctig a poziiai curente)


Fig.6.6.6.1 Arhitectura RNA folosit n TD-Gammon
6.6 nvarea prin ntrire - 155 -

Procedura de antrenament este urmtoarea: reeaua neuronal observ o
secven de poziii codat n vectorii de intrare x[1], x[2], x[f] dup metodologia
prezentat anterior. Pentru fiecare tipar de intrare x[t] exist un vector de ieire Y[t]
care reprezint estimarea valorii poziiei x[t]. Y[t] este un vector 4-dimensional
corespunztor celor 4 posibile recompense (Alb sau Negru ctig n mod normal sau
dubleaz ctigul (mar)).
Formula de modificare a ponderilor reelei este:

+ +
=
t
k
k w
k t
t t t t
Y Y Y w w
1
1 1
) ( (6.6.6.1)
cu reprezentnd rata de nvare,
k w
Y gradientul vectorului de ieire i un
parametru euristic aferent creditrii temporale.
n timpul antrenamentului, RNA genereaz mutrile att pentru Alb ct i
pentru Negru. La fiecare pas (aruncare a zarurilor) RNA evalueaz fiecare mutare
posibil. Mutarea aleas va fi deci cea cu valoarea estimat cea mai mare.
n primele sute de partide jucate mpotriva ei nsi, RNA a nvt un numr
considerabil de strategii i tactici elementare (scoaterea pieselor adverse de pe tabl,
folosirea porilor). Dup zeci de mii de partide s-a constatat apariia unei metodologii
de joc sofisticate. Cele mai bune performane s-au obinut cu o reea cu un numr de
40 de neuroni ascuni antrenat n 200.000 de jocuri.
TD-Gammon 0.0 se situa la nivelul celui mai bun program de jucat table de la
aceea vreme: Neurogammon, scris tot de Tesauro, dar care avea la baz principiul
nvrii supervizate. De subliniat nc o dat c aceast performan a fost atins fr
nici o cunotin aprioric despre jocul de table pe cnd Neurogammon folosea o
impresionant baz de date ce cuprindea partidele unor experi.
Versiunile ulterioare au fost mbuntite prin introducerea unor cunotine
apriorice i prin posibilitatea analizrii micrilor oponentului. S-a ajuns n final
(1995) la TD-Gammon V3.0 cu 80 de uniti ascunse i 1.500.000 de jocuri de
antrenament. Jucnd mpotriva campionului mondial programul a obinut victoria cu
- 156 - CAP.6 Sisteme hibride inteligente

+6 puncte avans dintr-un total de 20 de meciuri.
ANEXA 3 prezint la nivel de pseudocod o RNA antrenat prin TD()
similar celei mai-sus prezentate.

CAPITOLUL 7
Implementarea reelelor neuronale artificiale


7.1 Introducere

Spre deosebire de latura teoretic aferent RNA ajuns n multe aspecte la un
anumit grad de maturitate, implementarea acestora rmne nc subiect deschis de
dezbatere.
n continuare vor fi nfiate principalele metode de implementare a RNA,
subliniindu-se caracteristicile definitorii ale acestora.
Principalele referine bibliografice n acest domeniu sunt constituite de crile
[89], [90], [91] n care sunt descrise majoritatea tendinelor referitoare la
implementarea hardware a RNA.

7.2. Implementarea software (printr-un limbaj de programare)

Este fr ndoial cea mai rspndit modalitate de realizare a unei RNA.
Avantajele acestei soluii sunt legate de facilitatea i flexibilitatea acestei
implementri. Facilitatea este justificat prin existena rutinelor cu care pot fi realizate
majoritatea arhitecturilor RNA. n acest sens se remarc mediul MATLAB care, prin
setul de funcii predefinite specifice domeniului RNA (Neural Network Toolbox)
pune la dispoziia utilizatorului un mijloc rapid de dezvoltare a aplicaiilor cu RNA.
Setul complet de funcii specifice RNA din versiunea 4 (26 Mai 2000) a Neural
Network Toolbox din MATLAB v.6.0, Release 12, 22 Sept. 2000 este prezentat n
ANEXA 4. Se remarc n acest caz disponibilitatea unui numr impresionant de
algoritmi de antrenament pentru majoritatea tipurilor de RNA precum i gradul
avansat de optimizare al acestor rutine. Se obine astfel un cod surs eficient din punct
de vedere al lungimii i vitezei de execuie, avnd n vedere faptul c MATLAB-ul
- 158 - CAP.7 Implementarea reelelor neuronale artificiale

(MATrix LABoratory) este orientat spre lucrul cu matrici iar aceste operaii sunt
intensiv utilizate de ctre RNA.
O alt soluie viabil de implementare software o reprezint limbajul C/C++.
Codul rezultat este mai lung i mai complicat de scris dect n cazul MATLAB dar, n
general, viteza de execuie este superioar implementrii MATLAB.
n fine exist medii software dedicate n exclusivitate implementrii RNA, un
exemplu n acest sens fiind mediul Neurosolutions al firmei Neurodimension Inc.
(fig.7.2.1). Acesta reprezint un mediu de simulare orientat pe obiect destinat
sistemelor neuronale distribuite i se remarc printr-un control direct i permanent
(chiar i n timpul antrenrii unei reele) a parametrilor afereni unei aplicaii cu RNA.
Produsul pune la dispoziie prin intermediul unei interfee grafice blocuri elementare
care combinate genereaz diverse arhitecturi neuronale.



Fig. 7.2.1 Mediul de simulare a RNA NeuroSolutions al firmei Neurodimension.

Spre deosebire de urmtoarea metod de implementare a RNA, cea
7.2. Implementarea software (printr-un limbaj de programare) - 159 -

hardware, metoda software prezint dezavantajul unei viteze de execuie mai sczute.
n schimb este mai flexibil dect cea hardware, fiind util n special n faza incipient
a unui proiect. Cu ajutorul implementrii software se urmrete optimizarea
arhitecturii RNA (numr de straturi ascunse, numr de neuroni/strat, forme ale
funciilor de activare, algoritmi de antrenament) fiind ncurajat n aceast faz
experimentarea diverselor soluii. n final, dup ce a fost definitivat structura reelei
i se declar ncheiat procesul de antrenament se poate transfera RNA (n special
valorile ponderilor) ntr-o structur hardware.

7.3. Implementarea hardware

Principalele metode de implementare din aceast categorie sunt constituite din
cele electronice (analogice, digitale, mixte) i cele optice. Aceast clas de metode
confer vitez sporit fa de metodele software dar ridic o serie de probleme care fac
ca implementarea s fie mai dificil.

7.3.1. Implementarea analogic

Se remarc prin abilitatea de a efectua calcule (adunri, nmuliri, transformri
neliniare) extrem de rapid. Viteza ridicat de procesare i de eficiena calculelor
bazate pe principiile clasice ale teoriei circuitelor electrice contrabalanseaz
principalul dezavantaj al metodelor analogice: imposibilitatea obinerii unei precizii
ridicate.
Unul din elementele cele mai importante pentru o reea l reprezint
interconexiunile dintre neuroni. n mod tipic numrul de neuroni ce pot fi integrai pe
un chip este limitat de numrul de conexiuni. Aceste interconexiuni pot s fie fixe,
implementate prin rezistori de o anumit valoare sau programabile. Prima alternativ
se folosete n aplicaiile n care este cunoscut arhitectura RNA i valorile ponderilor.
- 160 - CAP.7 Implementarea reelelor neuronale artificiale

Avantajul rezistorilor de valoare fix este dimensiunea mic ocupat pe pastila de
siliciu: 0,25m x 25 m [92]. Cu o densitate de 4 rezistori / m
2
, 4x10
8
rezistori pot fi
integrai ntr-un cm
2
.
Un exemplu n acest sens este prezentat n [6] unde se trateaz implementarea
VLSI a unei RNA-Hopfield. O reea Hopfield cu 4 neuroni este prezentat n
fig.7.3.1.1a), rezistorii R
ij
reprezentnd n fapt ponderile reelei. Fiecare unitate
(neuron) are schema din fig.7.3.1.1b).


a) Arhitectura unui neuron b) Arhitectura reelei
Fig.7.3.1.1 Arhitectura unei reele Hopfield cu 4 neuroni i implementarea hardware a unui neuron al
acesteia.

n fig.7.3.1.1 u
i
reprezint tensiunea de la intrarea unitii i, V
i
tensiunea de la ieire
iar ntre ele exist relaia V
i
= g(u
i
). De la fiecare intrare la mas sunt conectate un
condensator C n paralel cu un rezistor justificai de ctre modelul unui neuron real.
Deoarece:

dt
dQ
i = i
dt
du
C i
du
dQ
C = = (7.3.1.1)
se poate scrie pentru circuitul din fig.7.3.1.1:
) (
1
i j
j
ij
i i
u V
R
u
dt
du
C = +

(7.3.1.2)
7.3. Implementarea hardware - 161 -

Dac se noteaz
i
= R
i
C i

+ =
j
ij
i
R
R
1 1

i se nmulete rel.7.3.1.2 cu R
i
se
obine:

+ =
j
j j i i
i
i
u g w u
dt
du
) ( (7.3.1.3)
Ecuaia (7.3.1.3) este identic cu formula de funcionare a unei RNA
Hopfield. Implementarea unei astfel de reele se rezum la alegerea R
ij
astfel nct s
fie satisfcut relaia (7.3.1.3).
Pentru o reea cu N neuroni complet interconectat este nevoie de 2N
2

rezistori (innd cont i de posibilitatea generrii unor ponderi negative). Graf [93]
raporteaz implementarea a N = 256 de uniti complet conectate, pentru generarea
rezistenelor folosindu-se un proces de litografiere cu fascicul de electroni. Mead [90]
propune folosirea elementelor active (tranzistori) n locul celor pasive (rezistori).
Avantajul rezultat l reprezint un chip ce poate fi programat dup fabricare.
Integrarea pe scar foarte mare (Very Large Scale Integrated, VLSI)
reprezint tehnologia predilect de implementare hardware a RNA. Tehnologia VLSI
permite integrarea a milioane de tranzistoare pe un singur chip. Datorit numeroaselor
avantaje (densitate mare la implementare, cost redus, consum mic de energie) cel mai
des utilizai n implementarea VLSI sunt tranzistorii CMOS (Complementary Metal
Oxide Silicon). Figura 7.3.1.2 prezint simbolurile tranzistorilor cu efect de cmp
(TEC) cu canal n (NMOS) respectiv cu canal p (PMOS).

- 162 - CAP.7 Implementarea reelelor neuronale artificiale

CANAL N CANAL P
C
A
N
A
L
I
N
I
T
I
A
L
C
A
N
A
L
I
N
D
U
S
TEC- MOS
TEC- J
MOSFET N MOSFET P
JFET P JFET N
MOSFETind N MOSFETind P


Fig.7.3.1.2. Simboluri pentru reprezentarea tranzistoarelor TEC

Funcionarea tranzistorului MOS poate fi analizat prin exprimarea curentului
de dren I
d
definit ca o funcie de tensiunea gril-surs V
gs
, la V
d
= ct.:
) 1 (
0
) ) (
0
V
V
e e e I I
ds
V
V
V
V
V
kV
d
T
ds
T
s
T
g

= (7.3.1.4)
n care I
o
reprezint o constant tehnologic, V
o
msoar rezistena drenei (tensiune
Early), V
T
este tensiunea termic, iar k modeleaz determinarea potenialului de
suprafa de ctre tensiunea de gril. n general, aceti parametri se consider
constante de proces.
Se pot identifica, cf. [94], dou regiuni n funcionarea acestui dispozitiv
(fig.7.3.1.3):
7.3. Implementarea hardware - 163 -




Fig.7.3.1.3 Caracteristica de transfer a unui tranzistor MOS, folosid scri semilogaritmice; se pune n
eviden caracteristica exponenial pentru conducia sub prag.

1. Regiunea peste prag n care I
d
depinde ptratic de V
gs
(abovethreshould region)
2. Regiunea sub prag n care I
d
depinde exponenial de V
gs
(subthreshould region)
pentru tensiuni V
gs
foarte mici.
A II-a regiune este preferabil datorit tipului neliniaritii, consumului mic i
a funciilor realizabile:
- pentru V
ds
mic (<n x 100mv) dispozitivul se comport ca o conductan controlat;
- pentru V
ds
mare dispozitivul se comport ca o surs de curent controlat n tensiune.
n [95] este propus drept element central n implementarea VLSI-CMOS
amplificatorul transconductan (fig.7.3.1.4).

- 164 - CAP.7 Implementarea reelelor neuronale artificiale


Q2
Q3
V
2
I
out
V
b
Q4
Q1
VCC
V
1

Qb
VCC

Fig.7.3.1.4 Amplificatorul transconductan

Circuitul lucreaz ca un amplificator operaional cu un ctig n bucl deschis
mare ( > 1000) avnd transconductana (raportul dintre curentul de ieire i tensiunea
diferenial de la intrare) controlabil. Tranzistorul Q
b
(bias) lucreaz n regim de
surs de curent controlnd totodat i valoarea G a conductanei.
Se poate deduce expresia curentului de ieire apelnd la un model simplificat
al tranzistorului:
)) (
2
tanh(
2 1
V V
V
k
I I
T
b
= (7.3.1.5)
Amplificatorul transconductan efectueaz diverse operaii de calcul n
funcie de regiunea de funcionare. Pentru tensiuni difereniale mici amplificatorul este
cvasiliniar:

T
b
V
k
I
V V
I
G
2 ) (
2 1
=


= (7.3.1.6)
Pentru tensiuni difereniale mari (|V
2
-V
1
|>>V
T
/k) circuitul prezint
neliniaritate de prag, ieirea tinznd asimptotic spre I
b
.
n plus fa de amplificatorul transconductan se mai folosesc diverse circuite
elementare pentru efectuarea diverselor operaii de calcul. De exemplu, un simplu
tranzistor poate fi folosit la implementarea operaiilor rdcin ptrat i logaritm utile
n compresia datelor. n figura urmtoare, fig.7.3.1.5, este prezentat un circuit pentru
7.3. Implementarea hardware - 165 -

stocarea analogic a ponderilor RNA prin intermediul sarcinilor electrice dintr-o
capacitate [96].

Q3
Q6
VCC
Qb
C2
W-
VCC
Q4
C1
W+
VCC
Q5
Vi n
VCC
Q8
Q2
Q7
Q1
I out

Fig. 7.3.1.5 Circuit pentru stocarea analogic a ponderilor ca sarcini electrice ale celor dou
condensatoare. Circuitul multiplic diferena tensiunilor de la bornele Q1 i Q2
cu tensiunea de la intrare Vin

O problem tipic pentru astfel de soluii este aceea a necesitii unui semnal
de remprosptare (refresh) pentru capaciti.
Diferena dintre tensiunile condensatoarelor reprezint practic ponderea
conexiunii. Un multiplicator analogic nmulete tensiunea de intrare cu valoarea
ponderii i furnizeaz la ieire un curent proporional cu acest produs.
Circuitul menionat anterior dispune de interconexiuni programabile dar
valorile ponderilor sinaptice trebuie calculate extern i ncrcate ulterior n chip.
Exist ns i posibilitatea calculrii ponderilor n interiorul chipului prin intermediul
unor circuite digitale. Un astfel de chip ce implementeaz o reea de dimensiuni reduse
(6 neuroni cu 15 interconexiuni) este prezentat n [97].
Abordri VLSI analogice (aVLSI) mai recente marcheaz o orientare spre
mimarea n detaliu a comportamentului neuronului biologic. Astfel, n fig.7.3.1.6, este
prezentat o reea neuronal competitiv de tip Lotka-Volterra derivat din dinamica
- 166 - CAP.7 Implementarea reelelor neuronale artificiale

membranei unui neuron real [98], precum i modalitatea de implementare a celulelor
excitatorii sau inhibitorii. Implementarea s-a realizat n tehnologie de 10m nMOS.



a) Structura unei reele N-dimensionale LV




b) Celul excitatoare E c) Celul inhibitoare H
Fig.7.3.1.6 Structura unei reele N-dimensionale LV. Ea conine o singur celul inhibitoare H i N
celule excitatorii E.

n acelai context ca si abordarea precedent se regsete i implementerea n
siliciu a dendritelor unui neuron [99]. Conductana axial este implementat prin
intermediul unei capaciti comutate iar conductana transmembranar este realizat
printr-un amplificator transconductan. ntreg circuitul este fabricat n tehnologie
CMOS 1.2m.
7.3. Implementarea hardware - 167 -

7.3.2 Implementarea digital

Exist dou principale avantaje ale acestei implementri fa de versiunea
analogic [100]:
Uurina proiectrii i producerii. Folosirea tehnologiei VLSI digitale ofer
o precizie ridicat, stocarea facil a ponderilor i un raport performan/cost
mai bun dect varianta analogic.
Flexibilitatea. Implementarea VLSI digital permite utilizarea unor algoritmi
compleci de o mare diversitate, multiplicnd astfel gama posibilelor aplicaii.
Unul dintre dezavantajele majore ale tehnologiei VLSI digitale l constituie
consumul ridicat de putere i arie de siliciu a blocurilor de multiplicare. Una dintre
soluiile pentru reducerea suprafeei necesare o constituie multiplexarea
interconexiunilor [100].
Exist mai multe tehnici de implementare digital a RNA [101], dup cum
urmeaz:

7.3.2.1 Procesoare paralele de uz general

Calculatoarele paralele sunt compuse dintr-un numr mare de procesoare ce
coopereaz la ndeplinirea aceleiai sarcini. Fiecare procesor are zona sa distinct de
memorie, date i instruciuni (MIMD Multiple Instruction Multiple Data).
Conexiunile dintre procesoare se fac fie printr-o singur magistral de mare vitez sau
prin legturi scurte punct la punct ntre procesoare (arii sistolice).

7.3.2.2 Procesoare dedicate pentru calcul neuronal (neurocomputere)

Denumirea neurocomputer e asociat n general cu plci speciale destinate
simulrilor de mare vitez pentru RNA. Aceste plci utilizeaz combinaii dintre
- 168 - CAP.7 Implementarea reelelor neuronale artificiale

microprocesoare de uz general i/sau circuite integrate pentru procesarea semnalului
digital.

7.3.2.3 Circuite digitale VLSI dedicate RNA

Unul dintre exemplele acestui caz l reprezint sistemul descris de Garth
(Texas Insturment, Bedford, UK, [102]) destinat accelerrii procesului de antrenament
al RNA. Sistemul este format dintr-o suprafa 3D alctuit din carduri NETSIM,
fiecare dintre ele coninnd circuite proprii de comunicaii, control, memorie i un
co-procesor specializat. Calculele se fac pentru ponderi de 16 bii lungime i un
acumulator de 24 de bii. Autorul estimeaz c un sistem compus din 125 de carduri
NETSIM poate s opereze 90.000.000 interconexiuni pe secund n timpul
antrenrii.
Firma japonez Hitachi prezint ([103], [104]) de asemenea o reea neuronal
integrat ntr-o pastil de siliciu (WSI Wafer Scale Integration). Chipul dispune de
576 de neuroni digitali interconectabili fiecare cu fiecare, integrai n tehnologie LSI
0,8m CMOS. Ieirea i ponderile unui neuron sunt reprezentate ca variabile de 9
respectiv 8 bii. Se remarc prezena unei magistrale partajate n timp ( time sharing
digital bus) care soluioneaz astfel dificila problem a implementrii
interconexiunilor unei RNA. Chip-ul se poate conecta n sloturile unui PC i poate fi
folosit la implementarea unei diversiti de RNA. De menionat c antrenamentul este
efectuat off-line, ulterior descrcndu-se n chip valorile ponderilor i configuraia
reelei. Autorii arat c problema clasic a distribuitorului (Traveling Salesman
Problem) pentru cazul 16 orae s-a rezolvat n mai puin de 0,1 s, timp de 10 ori mai
redus dect cel furnizat de supercalculatoarele firmei Hitachi de la aceea vreme.
n fig.7.3.2.3.1 sunt prezentate detalii ale acestei implementri iar n
fig.7.3.2.3.2 chipul WSI.


7.3. Implementarea hardware - 169 -



Fig.7.3.2.3.1 Arhitectura magistralei partajate n timp. Structura arborescent a neuronilor. Diagrama bloc
a unui neuron.



- 170 - CAP.7 Implementarea reelelor neuronale artificiale


RNA WSI
un neuron memorie
logic
magistral
local
buffer I/O
substrat de
ceramic
conector
I/O

Fig. 7.3.2.3.2 Fotografia reelei neuronale integrate.


7.3. Implementarea hardware - 171 -

7.3.3 Implementri hibride

Aceste abordri tind s integreze avantajele implementrilor analogice i a
celor digitale. n mod tipic semnalele externe (intrri/ieiri) sunt digitale, pentru a
facilita interfaarea cu sistemele de aceeai natur, pe cnd procesrile interne se
realizeaz analogic. De exemplu, circuitul firmei AT&T ANNA (Artificial Neuronal
Network ALU) [105] furnizeaz semnale digitale externe dar intern folosete
capaciti ce sunt remprosptate periodic, pentru starea ponderilor.
Exact invers stau lucrurile n privina chipului de la Mesa Research Institute
(University of Twente) denumit NeuroClassifier [106]. Acest circuit a fost dezvoltat n
principal n scopul clasificrii rapide a tiparelor. Prima aplicaie n care
NeuroClassifier a fost folosit este n domeniul fizicii energiilor nalte, n scopul
clasificrii particulelor n zecimi de nanosecunde. Ulterior, a fost folosit i n
procesarea n timp real a imaginilor. Circuitul integreaz o reea cu dou straturi,
complet interconectate, cu 70 de intrri analogice, 6 neuroni ascuni i 16 neuroni
de ieire. Funciile de activare sunt de tip sigmoid, iar ponderile sunt reprezentate
digital, pe 5 bii, on-chip, ntr-o memorie SRAM. Cele 426 sinapse analogice lucreaz
n paralel, obinndu-se astfel ntr-un ciclu (20ns) 425 nmuliri i adunri i 6
transformri neliniare (fig.7.3.3.1).
O abordare distinct, motivat i prin cercetrile din neurologie, este cea bazat pe
procesarea trenurilor de impulsuri. Deoarece att amplitudinea ct i durata sau
frecvena impulsurilor pot fi modificate, se disting n principal trei tehnici de modulare
a impulsurilor:
Modularea amplitudinii impulsului n care amplitudinea unui impuls este
modulat n timp reflectnd variaia strii neuronului (0<S
j
<1). Aceast
tehnic nu d n mod particular rezultate bune n cazul RNA avnd n vedere
transmiterea informaiei ca nivele de tensiune.


- 172 - CAP.7 Implementarea reelelor neuronale artificiale






Fig.7.3.3.1 Detalii privind arhitectura chipului NeuroClassifier.

Modularea n frecven a impulsurilor - n care frecvena instantanee este
modificat n funcie de starea S
j
a neuronului. n acest caz, att amplitudinea
ct i durata fiecrui impuls este meninut constant. Se pare c ea reprezint
cea mai avantajoas abordare n sensul n care solicit doar un consum de
putere mediu, uniform distribuit. ntr-o astfel de reea (fig.7.3.3.2) un neuron
7.3. Implementarea hardware - 173 -

funcioneaz ca un oscilator controlat n tensiune (fig.7.3.3.3) [107]. Fiecare
sinaps stocheaz ponderea T
ij
care determin poriunea din semnalul de
intrare V
j
ce este lsat s treac. n consecin comportamentul dinamic al
unei reele cu n neuroni va fi descris de ecuaia:

=
=
+ + =

1
0
) (
n j
j
i j j i i i
i
t I S T x A
t
x
(7.3.3.1)


Fig.7.3.3.2 RNA bazat pe procesarea trenurilor de impulsuri.


Fig.7.3.3.3 Strucutra unui neuron bazat pe funcionare n impulsuri.
- 174 - CAP.7 Implementarea reelelor neuronale artificiale

Sistemul folosete semnalele inhibitorii i excitatorii pentru a aduga / nltura
sarcini electrice n / din condensator. Rezult un semnal x
i
cu variaie lent n
timp ce controleaz oscilatorul.
Modularea n durat a impulsurilor n care durata impulsului este dictat
de starea neuronului S
j
, are avantajul unei implementri robuste, de vreme ce
informaia nu este stocat n funcie de nivelul vreunei tensiuni ci este codat
de-a lungul axei timpului (fig.7.3.3.4). Mai mult, demodularea semnalului se
face prin integrare. Dezavantajul l reprezint sincronismul nceputului (sau
sfritului) care conduce, n cazul unui paralelism masiv, la un vrf de curent
absorbit i deci la supradimensionarea traseelor de alimentare coninute n
circuitele VLSI.




Fig.7.3.3.4 Implementarea unui neuron ce prelucrez impulsuri modulate n durat.

Tabelul 7.3.1 prezint sintetic abordrile menionate anterior, mpreun cu o
scurt descriere a circuitelor.

7.3. Implementarea hardware - 175 -





Tab.7.3.1 n [108] se prezint sintetic principalele circuite integrate ce implementeaz reele neuronale



- 176 - CAP.7 Implementarea reelelor neuronale artificiale

7.3.4 Implementarea optic

Spre deosebire de implementarea n siliciu, n care e uor s fie construite
unitile dar dificil de realizat interconexiunile, la implementarea optic lucrurile stau
exact invers. n acest ultim caz superpoziia razelor poate fi efectuat fr apariia
interferenei i deci se poate realiza un numr mare de conexiuni. Problematic este
ns realizarea funciei neliniare specific fiecrui neuron. De aceea s-a preferat
combinarea sistemelor optice cu cele electronice, acestea din urm fiind responsabile
cu implementarea neliniaritilor.
Un astfel de sistem optoelectronic este prezentat de Farhat i colectiv n [109].
Reeaua implementat a fost una de tip Hopfield cu 32 de neuroni i ponderi binarizate
bipolar, w
ij
{-1, 0, 1}.
Se constat din fig.7.3.4.1c fiecare neuron are drept ieire o diod LED (Light
Emittiting Diode), iar drept intrri dou fotodiode (FD), una pentru cazul ponderilor
excitatorii i alta pentru cazul ponderilor inhibitorii. Cnd o unitate este activ LED-ul
corespunztor este aprins, altfel nu. Matricea ponderilor a fost codat fotografic ntr-o
masc bidimensional cu 2 pixeli pentru fiecare dintre cele 32x32 conexiuni. Cei doi
pixeli ai mtii sunt fie transpareni fie opaci, n funcie de w
ij
-ul dorit:
Negru-Alb w
ij
= 1
Alb-Negru w
ij
= -1
Negru-Negru w
ij
= 0
Fig.7.3.4.1 prezint ansamblul sistemului rezultat pe baza principiilor mai sus
enunate.

7.3. Implementarea hardware - 177 -



Fig.7.3.4.1 Implementarea optic a unui neuron i a unei RNA de tip Hopfield

Fiecare LED ilumineaz una din liniile mtii. Deoarece s-a folosit lumin
necoerent, intensitatea total pe fiecare fotodiod corespunde practic cu suma tuturor
intrrilor.
Lucrri mai recente (Peterson i colectivul [110]) nlocuiesc masca cu o
hologram. Folosind lumin coerent, o hologram poate direciona independent unda
luminoas ce vine din orice direcie spre orice direcie. Conectarea mai multor surse
devine astfel o chestiune simpl, de exemplu pe aproximativ 2,5 mm
2
de hologram
pot fi realizate 10
8
interconexiuni. Se pare c hologramele 3D realizate cu cristale
fotorefractive prezint un potenial i mai ridicat: 10
12
conexiuni pe cm
3
, ceea ce
corespunde la o RNA-H cu un milion de neuroni.
Sunt raportate n literatur i cazuri de RNA implementate optic ce au
capacitatea de adaptare a ponderilor, de exemplu RNA-MLP antrenate prin BP.
Avantajul major al implementrilor optice l reprezint viteza cvasiinstantanee
de funcionare.

- 178 - CAP.7 Implementarea reelelor neuronale artificiale




CAPITOLUL 8
Aplicaii ale reelelor neuronale artificiale


8.1 Introducere

De regul RNA sunt folosite n acele aplicaii n care:
modelul matematic al procesului este necunoscut, nu se poate determina sau
este prea complex;
se opereaz cu date incomplete, contaminate cu zgomot;
se necesit optimizarea simultan a mai multor constrngeri impuse unui
proces.
Nu se utilizeaz n aplicaiile care dispun de un proces determinist, cunoscut,
cu reguli clare.
Aplicaiile RNA cuprind o arie larg de domenii. Sintetiznd un studiu
efectuat n 1998 de ctre Agenia de Aprare din SUA (DARPA) [111] se pot
identifica urmtoarele domenii de aplicabilitate ale RNA:
Aerospaial: se menioneaz implementarea funciei autopilot i deteciei automate a
componentelor cu funcionare necorespunztoare.
Automobil: sistem de navigare automat.
Bancar: verificarea autenticitii documentelor, oportunitii de acordare a
creditelor.
Militar: ghidarea armelor, urmrirea intelor, identificarea obiectelor, recunoaterea
facial, senzori inteligeni, procesarea semnalelor sonore, extragerea trsturilor i
eliminarea zgomotului, identificarea semnalelor i imaginilor
Electronic: predicie, inspecia circuitelor integrate, controlul proceselor, amplasarea
componentelor, vedere artificial, sintez vocal, modelare neliniar.
Divertisment: animaie, efecte speciale, jocuri.
- 180 - CAP.8 Aplicaii ale reelelor neuronale artificiale


Financiar: predicia ratelor de schimb, indicilor bursieri, aprecierea soliditii firmei
i a validitii creditelor.
Producie: controlul procesului de producie, analiza i proiectarea produselor,
sisteme de inspecie vizual a calitii, conducerea i analiza procesului de sondare,
modelarea dinamic a proceselor chimice.
Medical: diagnostic automat, analiza semnalelor EEG i ECG, proiectarea
protezelor.
Robotic: controlul traiectoriei, sisteme de vedere.
Vorbire: recunoaterea vorbirii, sinteza vorbirii, conversia text vorbire.
Telecomunicaii: prelucrri de imagini, compresia datelor i a imaginilor, traducerea
n timp real.
Transporturi: diagnoza sistemelor de frnare, planificarea traseului
n cele ce urmeaz vor fi detaliate cte aplicaii ale RNA.

8.2 Problema XOR

Problema funciei logice SAU EXCLUSIV a fost descris n capitolul 2 i s-a
constatat c nu poate fi rezolvat de ctre un perceptron simplu pentru c problema nu
este liniar separabil.
Cu RNAMLP problema este separabil, aa cum se constat din analiza celor
dou arhitecturi prezentate mai jos (fig.8.2.1).
1
1
1 1
0.5
0.5 1.5
1
1 1
1
1
-2
0.5
1.5


Fig.8.2.1 Rezolvarea problemei XOR cu ajutorul unei RNA-MLP.

8.3 Problema paritii - 181 -



8.3 Problema paritii

Reprezint o generalizare a problemei XOR pentru N intrri. Este necesar
o singur unitate pentru stratul de ieire care s fie activ dac exist un numr impar
de intrri pe 1 i inactiv altfel. Arhitectura care rezolv problema paritii pentru
cazul N = 4 e prezentat n continuare (fig.8.3.1).








0,5 1,5 2,5 3,5
+1
-1
+1
-1
0,5
W=1

Fig.8.3.1 Rezolvarea problemei paritii cu ajutorul unei RNA-MLP.

8.4. Problema codrii

Presupune gsirea unui numr de neuroni ascuni care s codifice n mod
eficient un numr mare de tipare de dimensiune larg. Se consider un numr de
intrri N egal cu numrul de ieiri i un numr M de neuroni ascuni, M<N
(fig.8.4.1).
Se definete astfel o problem de autoasociere, n care tiparul aplicat la intrare
i cel de la ieire sunt identice: RNA va efectua practic o operaie de codare la nivelul
stratului de intrare i cel ascuns i o operaie de decodare la nivelul straturilor ascuns
- 182 - CAP.8 Aplicaii ale reelelor neuronale artificiale


ieire.
RNA de tip autoasociativ sunt folosite n compresia imaginilor sau pentru
extragerea trsturilor prin metoda analizei componentelor principale
(PCA, Principal Component Analysis).











x
1

x
N

y
1

y
N

1 M

8.4.1. RNA folosit n problema codrii/compresiei datelor.

8.5 Sinteza vorbirii

Scopul proiectului NETtalk a fost acela de a antrena o RNAMLP astfel
nct s fie capabil s pronune un text scris. Schema bloc a sistemului, cf. Sejnowski
i Rosenberg [112] este prezentat alturat (fig.8.5.1).




CONVERSIE
TEXT TIPAR
DE INTRARE

RNA - MLP
CONVERSIE
FONEM SEMNAL
ANALOGIC
VORBIRE
TEXT

8.5 Sinteza vorbirii - 183 -


Fig.8.5.1 Sistem propus de Sejnowski i Rosenberg [112] pentru conversia text-vorbire.
Fiecare caracter din text este reprezentat printr-un vector liniar cu 29 de
elemente (unul pentru fiecare dintre cele 26 de litere i 3 pentru caracterele aferente
punctuaiei.
Exemplu: A:
43 42 1
elemente 29
0 ... 1000 , B:
43 42 1
elemente 29
0 ... 0100 , .a.m.d.
Folosind aceast reprezentare, vectorii de intrare vor fi ortonormali, ceea ce
maximizeaz distana dintre vectorii tipar de intrare, n spaiul euclidian. Un tipar de
intrare va consta din 7 caractere dintr-un cuvnt. n consecin, dimensiunea unui tipar
de intrare va fi 203 (7 caractere 29 bii).
Tiparul de ieire va reprezenta fonemul corespunztor caracterului curent, deci
vectorul de ieire va fi binar, 26dimensional.









26 neuroni de ieire


80 neuroni ascuni
A|C|E|A|S|T|A| |E|S|T|E| |I|N|T|R|A|R|E|A
7 x 29 neuroni de intrare

Fig.8.5.2 Arhitectura RNA-MLP pentru converisa text-fonem.

Pentru stratul ascuns se folosesc 80 de neuroni, ntr-o conexiune total
conectat conform fig.8.5.2. Algoritmului de antrenament este BP standard.
Antrenamentul reelei a fost oprit pentru a se testa periodic performanele
acesteia asupra setului de antrenament de 5000 de cuvinte. Iniial, nainte de antrenare,
rspunsul RNA a constat din sunete aleatoare. Dup 100 de epoci RNA a nceput s
separe cuvintele, recunoscnd rolul caracterului spaiu din text. Dup 500 de epoci
- 184 - CAP.8 Aplicaii ale reelelor neuronale artificiale


RNA a fcut distincia dintre consoane i vocale. Dup 1000 de epoci cuvintele au
putut fi distinse, chiar dac nu au fost ntru totul pronunate corect, iar dup 1500
RNA a deprins regulile fonetice n totalitate iar sunetele produse de RNA au fost
aproape perfecte. Autorii arat c RNA a fost testat i pentru alte cuvinte dect cele
din faza de antrenament i c se obine o rat de 95% de cuvinte din limba englez
pronunate corect.
Aceasta arat c RNA nu a memorat o coresponden dintre mulime de
cuvinte i pronunarea acestora ci mai degrab a nvat principiile de asociere dintre
cuvintele limbii engleze i pronunarea acestora. Astfel se explic capacitatea de a citi
corect cuvinte care nu au mai fost ntlnite n etapa de antrenament.

8.6 Recunoaterea automat a vorbirii

n [113] este prezentat un sistem de recunoatere automat a vorbirii (ASR
Automatic Speech Recognition) bazat pe reele neuronale artificiale. Intreg sistemul
este implementat pe un procesor de semnal. Preprocesarea semnalului este asigurat,
n principal, prin transformata Fourier a acestuia, dup care trsturile astfel obinute
sunt aplicate unei arhitecturi de clasificatori neuronali (fig.8.6.1).
Aceeai problem ASR este abordat ntr-o manier asemntoare i n [7].
8.6 Recunoaterea automat a vorbirii - 185 -




Fig.8.6.1 Etapele procesrii semnalului vocal, cf. [113], n scopul recunoaterii automate a vorbirii.



- 186 - CAP.8 Aplicaii ale reelelor neuronale artificiale


8.7 Detecia i recunoaterea facial

8.7.1 Arhitectura i implementarea unui sistem de detecie i recunoatere
automat a feei

Un sistem automat de detecie i recunoatere facial bazat pe procesare
neuronal este propus de ctre Cleanu n [114]. Un astfel de sistem presupune
parcurgerea urmtoarelor etape (fig.8.7.1.1):


ACHIZIIA
IMAGINII
PREPROCESAREA
IMAGINII
CLASIFICARE
DETECIE
FACIAL
EXTRAGERE
TRSTURI
FA
PREZENT
N IMAGINE ?
BAZ DE DATE
DA
NU


Fig.8.7.1.1 Arhitectura unui sistem de detecie i recunoatere automat a feei.

a) Achiziia imaginii folosete la prelevarea imaginilor n care se presupune c
exist fee umane; pentru cazul aplicaiei concrete s-a folosit produsul firmei Creative,
Video Blaster WEBCAM 3 USB care ofer posibilitatea de videocaptur a imaginilor
live la o adncime a culorii de 16,7 milioane, 30 cadre/s la rezoluia de 352x288
pixeli sau 15 cadre/s la 640x480 pixeli.
b) Preprocesarea imaginii servete la mbuntirea calitii imaginii prelevate la
etapa anterioar i prin aceasta, la sporirea performanelor ansamblului (fig.8.7.1.2).
8.7 Detecia i recunoaterea facial - 187 -


Uzual se folosesc tehnici de preprocesare ca egalizarea histogramei, n scopul
mbuntirii contrastului sau filtrare n cazul n care aceasta este contaminat cu
zgomot.


0 50 100 150 200 250
0
500
1000

0 50 100 150 200 250
0
500
1000
1500

a) Imagine i histogram original b) Imagine i histogram modificat
Fig.8.7.1.2 Egalizarea histogramei mbuntete contrastul imaginii

c) Detecia feei presupune localizarea spaial a unei imagini faciale coninut n
scen. Acurateea ei influeneaz calitatea procesului de clasificare (recunoatere).
Poate fi implementat att prin procedee clasice ct i cu RNA. Presupune procesarea
unui volum ridicat de date, avnd n vedere faptul c imaginea trebuie parcurs n
totalitate de o fereastra de procesare de dimensiune fix, la diferite nivele de rezoluie
(fig.8.7.1.3).
d) Extragerea trsturilor prin aceast etap se extrage informaia relevant, ce
caracterizeaz o anumit persoan. Totodat aceast etap asigur i o reducere a
dimensionalitii datelor de intrare aplicate ulterior clasificatorului. Exist numeroase
- 188 - CAP.8 Aplicaii ale reelelor neuronale artificiale


metode de extragere a trsturilor, att convenionale ct i neuronale. n continuare,
va fi prezentat o modalitate convenional de extragere a trsturii, denumit metoda
operatorului de interes.
Procedura const n extragerea unor variane direcionale (orizontal, vertical i
ambele diagonale) pentru fiecare bloc dintr-o imagine facial. Aceste variane arat

75%
100%
25%
50%
Fereastr de dimensiune fix
RNA

Fig.8.7.1.3 Localizarea unei fee ntr-o imagine presupune baleierea imaginii la diferite rezoluii.

mrimea activitii locale dintr-un bloc al imaginii. Regiunile cu varian ridicat
individualizeaz cu succes tipologiile prezente n imaginile faciale.
Ecuaiile pentru calculul varianei direcionale sunt urmtoarele:
2
1
0
1
0
2
] ) , ( [
1


=

=
=
Q
x
P
y
y x p
Q x P



=

=
+ =
1
0
2
1
0
2
)] , ( ) 1 , ( [
1
Q
x
P
y
H x y p x y p
Q x P

8.7 Detecia i recunoaterea facial - 189 -




=

=
+ =
1
0
2
1
0
2
)] , ( ) , 1 ( [
1
Q
x
P
y
V x y p x y p
Q x P



=

=
+ + =
1
0
2
1
0
135
2
)] , ( ) 1 , 1 ( [
1
Q
x
P
y
x y p x y p
Q x P



=

=
+ + =
1
0
2
1
0
45
2
)] 1 , ( ) , 1 ( [
1
Q
x
P
y
x y p x y p
Q x P


n care reprezint media datelor i este calculat cu formula:


=

=
=
1
0
1
0
) , (
1
Q
x
P
y
x y p
Q x P

i {p(y,x), 0 y P-1, 0 x Q-1} reprezint intensitatea pixelilor ntr-un bloc P x
Q. Se vor obine astfel pentru fiecare bloc dintr-o regiune a imaginii un set de cinci
mrimi:
i
= {,
H
,
V
,
45
,
135
}
i
, i = 1L, L fiind numrul total de blocuri distincte
n care se mparte o regiune a unei imagini.
Considernd imaginea original de dimensiune N x M i fereastra P x Q din
care se extrage vectorul trstur se poate deduce valoarea reducerii dimensionalitii
(RD) datelor aplicate ulterior clasificatorului:
5
5
Q P
Q
M
P
N
M N
RD

=



Dei acest factor depinde de dimensiunea ferestrei din care se extrag
trsturile, pentru cazul concret descris (P=Q=8) se obine o reducere de 12 ori a
volumului de date care urmeaz a fi prelucrat de clasificatorul neuronal descris n
paragraful urmtor, reinndu-se totodat i elementele caracteristice dintr-o anumit
imagine.
e) Clasificarea. Reprezint cea mai important etap a procesului de recunoatere
facial i se concretizeaz prin atribuirea unei clase (nume, etichet) pentru fiecare
imagine facial reprezentat de ctre vectorul trsturilor. S-a ales o soluie neuronal
- 190 - CAP.8 Aplicaii ale reelelor neuronale artificiale


pentru implementarea acestei etape, bazat pe arhitecturi ce folosesc RNA-MLP.
Primele dou arhitecturi folosesc o singur RNA-MLP, la intrrile acesteia
aplicndu-se n primul caz direct intensitile pixelilor imaginii , iar n al doilea caz,
trsturile extrase prin metoda operatorului de interes prezentat detaliat n paragraful
anterior. Cele dou arhitecturi pot fi urmrite n fig.8.7.1.4.a i b.



MLP
Clase
Int ensit ile
pixelilor
Imagine original


M L P
C la s e
T r s t u r i
I m a g in e o r ig in a l
O p e r a t o r d e in t e r e s

a) Caz I. Intensitile pixelilor aplicate b) Caz II. Trsturi extrase prin metoda
direct RNA-MLP operatorului de interes
Fig.8.7.1.4 Arhitectur de sistem pentru RF cu un singur clasificator

Urmtoarele dou abordri folosesc o arhitectur paralel de RNA-MLP la a
cror intrri se aplic trsturi extrase prin metoda operatorului de interes din regiuni
parial/total suprapuse sau nesuprapuse (fig.8.7.1.5 a i b). Diferena dintre aceste
ultime dou cazuri const n modalitatea de luare a deciziei n ceea ce privete
clasificarea final a imaginii faciale prezentate. n cazul III rspunsurile RNA-MLP
sunt prelucrate de o RNA-MLP ierarhic superioar, iar n cazul IV clasificarea este
efectuat pe baza medierii rspunsurilor RNA-MLP ierarhic inferioare.

8.7.2 Rezultate experimentale

Experimentele au fost efectuate asupra bazei de date ORL (Olivetti Research
Laboratory, actual n proprietatea AT&T U.K.) care conine un set de imagini faciale
prelevate ntre Aprilie 1992 i Aprilie 1994 de ctre ORL n Cambridge, UK [115].
8.7 Detecia i recunoaterea facial - 191 -


MLP
Clase
Imagine original
Operat or
de int eres
MLP MLP
MLP
Operat or
de int eres
Operat or
de int eres
MLP
Clase
Imagine original
Operat or
de int eres
MLP MLP
Mediere
Operat or
de int eres
Operat or
de int eres

a) Caz III. Decizia final este luat de ctre o b) Caz IV. Decizia final luat pe baza medierii
RNA-MLP ierarhic superioar rspunsurilor RNA ierarhic inferioare

Fig.8.7.1.5 Arhitectur de sistem pentru RF cu structur ierarhic i paralel de clasificatori.

Baza de date const din 10 imagini diferite pentru 40 de subieci distinci, deci
un total de 400 de imagini. Imaginile au fost luate n intervale de timp diferite, n
condiii de variaie a iluminrii, expresiei faciale (ochi deschii/nchii, zmbet,
cu/fr ochelari). Toate imaginile conin un fundal omogen, ntunecat. Mrimea
imaginilor este de 92x112 pixeli, 256 niveluri de gri (fig.8.7.2.1).
n toate cazurile n care nu apare n mod explicit altfel, numrul de
imagini/persoan corespunztoare etapei de antrenament este egal cu 5 i deci numrul
de imagini/persoan consacrat etapei de test va fi tot 5. Numrul de clase (persoane
distincte) este egal cu 40, n cazul n care nu se specific altfel. Rezult deci un numr
de 200 de imagini alese n mod aleator, la nceputul fiecrui experiment,
corespunztoare etapei de antrenament i 200 de imagini aleatoare de test, cele dou
mulimi fiind disjuncte.




- 192 - CAP.8 Aplicaii ale reelelor neuronale artificiale




Fig.8.7.2.1 Baza de date folosit pentru testarea performanelor sistemului de recunoatere facial [115].

8.7.2.1 Influena folosirii tehnicii de extragere a trsturilor de tip
operator de interes asupra procesului de recunoatere facial

n tab.8.7.1 sunt prezentate comparativ performanele celor dou arhitecturi
prezentate n fig.8.7.1.4 a i b. Practic, folosind un singur clasificator tip RNA-MLP,
se evalueaz cazurile n care imaginea este aplicat direct, fr preprocesare, respectiv
cazul n care la intrarea RNA-MLP se aplic un vector de trsturi obinut din
8.7 Detecia i recunoaterea facial - 193 -


imaginea original prin metoda operatorului de interes. Faza de antrenament s-a
considerat ncheiat n momentul n care eroarea ptratic medie (EPM) a atins
valoarea de 0,01%, ceea ce corespunde unei erori nule pentru datele de antrenament .

1 img./pers. 3 img./pers. 5 img./pers.
Eroare
test
%
Eroare
total
%
Eroare
test
%
Eroare
total
%
Eroare
test
%
Eroare
total
%


Sistem


Numr neuroni
intrare-ascuni-ieire


EPM

%
Durat
Experiment
[min.]
Durat
Experiment
[min.]
Durat
Experiment
[min.]
55,94 50,35 23,92 16,75 14,80 7,40 Fig.8.7.1.4 a 2576 80 40 0.01
3,56 min. 10,14 min. 16,66 min.
41,16 37,05 14,50 10,15 8,80 4,40 Fig.8.7.1.4 b 210 80 40 0.01
2,25 min. 3,27 min. 4,58 min.

Tab.8.7.1 Rezultate medii pentru 5 experimente consecutive efectuate cu sistemele din fig.8.7.1.4 a i b,
adic un singur clasificator neuronal cu/fr extragere de trsturi prin metoda operatorului de interes.
Imaginile originale au fost reeantionate cu un factor de deci sunt de dimensiune 56x46 pixeli, iar
dimensiunea ferestrei din care se extrag trsturile este 8x8 pixeli.

Rezultatele experimentale prezentate n tab.8.7.1 reprezint valori medii
calculate n urma efecturii unui numr de 5 experimente. Timpii medii de efectuare a
experimentelor rezult n urma efecturii operaiilor de generare aleatoare a ordinii
persoanelor i imaginilor aferente ce constituie setul de date de antrenament (40
persoane x 5 imagini = 200 de imagini), extragere trsturi pentru ntreaga baz de
date, antrenare RNA-MLP, clasificare set de date de antrenament i test.
Pentru implementarea algoritmilor s-a folosit mediul MATLAB v.5.3, 1999,
rulnd pe hardware PC INTEL CELERON 533 MHz.
n urma analizei rezultatelor experimentale se desprind urmtoarele concluzii:
n urma folosirii sistemului cu extragere de trsturi se constat o cretere a
- 194 - CAP.8 Aplicaii ale reelelor neuronale artificiale


performanei clasificatorului cu aproximativ 40% fa de cazul fr
extragere de trsturi;
se constat reducerea dimensiunii datelor aplicate la intrarea RNA-MLP de
aproximativ 12 ori pentru cazul 8.7.1.4 b fa de 8.7.1.4 a;
timpul mediu/experiment este de 4 ori mai mic n cazul al doilea; spre
deosebire de primul caz, timpul mediu/experiment pentru sistemul cu
extragere de trsturi nu e direct proporional cu numrul de tipare de
antrenament;
Concluziile precedente ne ndreptesc s considerm metoda de extragere a
trsturilor propus drept deosebit de eficient, avnd n vedere rezultatele obinute n
condiii similare, asupra aceleiai baze de date, de ctre alte sisteme de recunoatere
facial prezentate n literatur.

8.7.2.2 Influena rezoluiei imaginii faciale i a dimensiunilor ferestrei de
extragere a trsturilor asupra performanelor procesului de
recunoatere facial

Aa cum s-a mai menionat, imaginile bazei de date au dimensiunea de
112x92 pixeli. n cele ce urmeaz se va urmri evoluia performanelor ansamblului
extragere trsturi + clasificator neuronal pentru cazurile n care imaginea original va
fi reeantionat la 75%, 50% respectiv 25% din dimensiunile iniiale (tab.8.7.2)
precum i influena dimensiunii ferestrei de extragere a trsturilor (tab.8.7.3).






8.7 Detecia i recunoaterea facial - 195 -


Factor de reeantionare
(dimensiune n pixeli)
25%
(5x5 pixeli)
50%
(56x46 pixeli)
75%
(84x69 pixeli)
100%
(112x92 pixeli)
Eroare test [%]
(dimensiune fereastr)
12,90
(5x5 pixeli)
8,80
(8x8 pixeli)
10,20
(7x10 pixeli)
10,30
(8x8 pixeli)

Tab.8.7.2 Influena rezoluiei imaginii asupra performanelor ansamblului extragere trsturi + clasificator
neuronal
Dimensiunea ferestrei, n pixeli 4 x 6 7 x 6 8 x 8 14 x 12
Eroare test [%] 9,30 8,20 8,80 9,80

Tab.8.7.3 Influena dimensiunii ferestrei de extragere a trsturilor asupra performanelor ansamblului
extragere trsturi + clasificator neuronal, dimensiunea imaginii 56x46.
Din analiza rezultatelor experimentale prezentate n tab.8.7.2 i 8.7.3 se
constat urmtoarele:
performanele sistemului de recunoatere facial cresc pe msur ce
rezoluia imaginilor descrete, ating un maxim pentru un factor de
reeantionare de 1/2 iar dac rezoluia scade n continuare (factor de
reeantionare 1/4) performanele se nrutesc. Explicaia probabil a
acestui fapt const n aceea c imaginile la rezoluie ridicat conin i mult
informaie irelevant pentru discriminarea facial, iar cele cu rezoluie foarte
sczut nu ofer suficient informaie pentru a putea individualiza imaginile
faciale.
la imaginile care folosesc jumtate din rezoluia iniial se obin cele mai bune
performane vizavi de rata clasificrii corecte (8,80% eroare la datele de test,
cu fereastr 8x8), dar acestea pot fi n continuare mbuntite prin
optimizarea dimensiunii ferestrei de extragere a trsturilor. Astfel cea mai
sczut rat a erorii pentru datele de test, 8,20%, se obine pentru o
dimensiune a ferestrei de 7x6 pixeli.



- 196 - CAP.8 Aplicaii ale reelelor neuronale artificiale


8.7.2.3 Influena folosirii unor arhitecturi paralele i ierarhice de RNA-MLP
asupra procesului de recunoatere facial

Se arat de ctre Cleanu [116] c performanele sistemului de recunoatere
facial pot fi n continuare mbuntite prin folosirea unei arhitecturi paralele ale
ansamblului extractor de trsturi + clasificator neuronal.
Rezultatele experimentale pentru cazurile n care agregarea deciziei este
efectuat de ctre o RNA-MLP ierarhic superioar (fig.8.7.1.5 a) i pentru cazul n
care decizia final se bazeaz pe medierea rezultatelor pariale (fig.8.7.1.5 b), sunt
prezentate n tab.8.7.4.
Din analiza rezultatelor prezentate n tab.8.7.4 se constat urmtoarele:
ambele arhitecturi paralele ofer rezultate superioare fa de sistemul
prezentat n paragraful anterior care nu beneficia de acest tip de arhitectur;
cele mai bune performane sunt obinute n cazurile n care trsturile sunt
extrase din regiuni distincte ale imaginii;
agregarea deciziei prin intermediul operatorului medie ofer rezultate cu
3040% mai bune dect sistemul cu agregarea deciziei prin intermediul
RNA-MLP i cu 3060% mai bune dect sistemul format dintr-un singur
ansamblu extractor de trsturi + clasificator neuronal (fig.8.7.1.5 b).
Diferenele dintre sisteme sunt uor amplificate pe msur ce numrul de
imagini de antrenament/ clas crete.
prin folosirea arhitecturilor paralele scade dramatic dimensiunea RNA-MLP
implicate, ceea ce conduce la o economie de memorie i timp de calcul.

8.7.3 Comparaie cu alte sisteme de recunoatere facial

Efectund comparaia sistemului de recunoatere facial propus n cadrul
acestei lucrri cu alte sisteme de recunoatere facial prezentate n literatur, asupra
8.7 Detecia i recunoaterea facial - 197 -


aceleiai baze de date i n aceleai condiii de experimentare, se constat ocuparea
poziiei secunde ntr-un clasament al performanelor celor mai bune 8 sisteme
(tab.8.7.5). Criteriul de comparaie este cel standard folosit n cazul bazei de date ORL
i anume rata erorii asupra datelor de test pentru cazul 5 imagini/persoan n etapa de
antrenament. Performana sistemului propus de autorul tezei este situat la o diferen
de doar 0,6% faa de cea mai bun metod prezentat n literatura recunoaterii faciale.

1 img./pers. 3 img./pers. 5 img./pers.
T
i
p

S
i
s
t
e
m

Dimensiunea
Regiunilor
EPM
%
Eroare test [%]
Eroare total [%]
Durat
experiment [min]
Eroare test [%]
Eroare total [%]
Durat experiment
[min]
Eroare test [%]
Eroare total [%]
Durat experiment
[min]
3 regiuni
nesuprapuse:
14x46,28x46,14x46
0,01 40,61
36,55
5,4
14,00
9,80
12,8
6,40
3,20
22,4
3 regiuni
parial suprapuse
28x46,28x46,28x46
0,01 43,94
39,55
6,2
17,28
12,10
13,8
12,00
6,00
17,8
F
i
g
.
8
.
1
.
7
.
5

a
)

(
3
R
N
A

+

R
N
A
)

3 regiuni
complet suprapuse
56x46,56x46,56x46
0,01


39,27
35,35
10,4
15,21
10,65
19,2
9,3
4,65
27,4
3 regiuni
nesuprapuse:
14x46,28x46,14x46
0,01


31,27
28,15
4,4
10,28
7,20
10,4
3,70
1,85
8,3
3 regiuni
parial suprapuse
28x46,28x46,28x46
0,01 37,22
33,50
5,2
12,85
9,00
11,1
8,70
4,35
13,1
F
i
g
.
8
.
1
.
7
.
5

b
)

(
3
R
N
A

+

M
E
D
I
E
)

3 regiuni
complet suprapuse
56x46,56x46,56x46
0,01


31,33
28,20
9,4
10,57
7,40
19,2
6,30
3,15
23,9

Tab.8.7.4 Rezultatele medii pentru 5 experimente consecutive efectuate pentru cazurile n care agregarea
deciziei este efectuat de ctre o RNA-MLP ierarhic superioar i pentru cazul n care decizia final se
bazeaz pe medierea rezultatelor pariale. Imaginile originale au fost reeantionate cu un factor de .

- 198 - CAP.8 Aplicaii ale reelelor neuronale artificiale


0
1
2
3
4
5
6
7
1 2 3 4 5
Experiment
E
r
o
a
r
e

t
e
s
t

[
%
]

Fig.8.7.3.1 Eroare medie n etapa de test obinut ca medie a erorilor n 5 experimente consecutive.

De subliniat faptul c performana de 3,7% eroare asupra datelor de test
reprezint o medie efectuat asupra a 5 experimente succesive. Dup cum se poate
remarca n fig.8.1.1 au fost obinute rezultate individuale n care eroarea de test
scdea sub 1.5%, performan neraportat pn n prezent de nici unul din sistemele
de recunoatere facial prezentate n literatur. Motivul pentru care se obin rezultate
diferite pentru experimente consecutive este justificat prin modul de alctuire aleator
pentru imaginile de test i antrenament, cele 200 de imagini de test i 200 de
antrenament fiind de fiecare dat altele. La aceasta s-ar mai putea aduga, cu o
influen mai mic ns, i modul aleator de iniializare a ponderilor RNA-MLP.






8.7 Detecia i recunoaterea facial - 199 -


Autor Tehnic Eroare date test [%]
Numr de
imagini/persoan
1 3 5
Timp de prelucrare
(caz 5 img./pers.)
Antrenament Clasificare
1. S.Z. Li i J. Lu Linia trsturilor - - 3,125 - -
2. C.D. Cleanu Operator interes +
3 x MLP + MED.
31,27 10,28 3,70 18 min. 0,03 s
INTEL CELERON 533MHz
3. Lawrence i colectiv SOM + CN 30,0 11,8 3,80 4 ore <0,5 s
SGI INDY R4400 100MHz
4. Lin i colectiv PDBNN - - 4,00 20 min. < 0,1s
SGI INDY R4400 100MHz
5. Samaria i Hartner Pseudo 2D-HMM - - 5,00 - 4min.
6. Howell i Buxton Gabor+RBF
Gabor+RBF cu eliminare
51
16
38
9
14
5
8 s 0,01s
8 s 0,01s
Sun SPARC 20
7. Pessoa i Leitao Celule complexe 26,25 10,95 6,65 - -
8. Lawrence i colectiv Fee proprii
PCA + CN
39
44
18
13
11
8
- -
- -

Tab.8.7.5 Comparaia ntre cele mai bune sisteme de recunoatere facial asupra bazei de date
ORL n condiiile standard de experimentare.

8.7.4 Implementarea MATLAB a sistemului de detecie i recunoatere facial
bazat pe reele neuronale

Sistemul prezentat mai sus a fost implementat n MATLAB (fig.8.7.4.1 i
8.7.4.2). n funcionarea sa se disting urmtoarele etape:
1. Iniializarea. n cadrul acestei etape se iniializeaz anumite variabile, se
ncarc baza de date ce conine imagini faciale, se lanseaz n execuie
interfaa grafic utilizator i funcia care permite afiarea bazei de date.
2. Mod de operare. La nivelul GUI se analizeaz n primul rnd starea logic a
modului de operare (Continuu sau Secvenial), mplicit setat ca
adevrat pentru modul Secvenial. n acest caz succesiunea temporal a
operaiilor este lsat la latitudinea utilizatorului, fiind condiionat uneori
- 200 - CAP.8 Aplicaii ale reelelor neuronale artificiale


doar ordinea acestora. n modul Continuu se vor efectua n mod automat i
ciclic operaiile: Start video, Captur, Detecie, Recunoatere,
descrise n cele ce urmeaz.
3. Start video. Funcia permite pornirea unei surse video (fig.8.7.4.1). Deoarece
MATLAB nu furnizeaz aceast facilitate s-a folosit standardul Microsoft
Video for Windows, clasa AVICap, care permite manipularea surselor video,
prin crearea unei biblioteci ncrcate dinamic (*.dll) apelabil din MATLAB.
4. Captur. n momentul n care este apelat permite selectarea cadrului curent
din fluxul video.
5. Selecie fa. Permite selectarea manual, prin intermediul mouse-ului, a unui
dreptunghi care s cuprind o fa uman, din scena capturat anterior.
6. Detecie fa. Permite izolarea automat a unei fee umane coninut n
imaginea obinut la punctul 4 (fig.8.7.4.2). Deoarece algoritmul proceseaz
imaginea capturat n multiple rezoluii, operaiunea de detecie automat
poate s dureze un timp ndelungat, dependent de parametrii algoritmului i
viteza procesorului pe care ruleaz aplicaia (ex.: 2 min. pentru INTEL
CELERON 533Mhz).
7. Recunoatere. Presupune extragerea trsturilor i antrenarea reelelor
neuronale pentru baza de date curent, apoi extragerea trsturilor din
imaginea facial obinut la pct. 5 sau 6 i compararea acesteia cu cele
existente n baza de date. Dac rspunsul oferit se situeaz sub un anumit
prag, setabil din Prag recunoatere, nu este evideniat nici o imagine din
baza de date. Altfel, se va evidenia imaginea recunoscut.

8.7 Detecia i recunoaterea facial - 201 -



Fig.8.7.4.1 Interfaa grafic utilizator scris n MATLAB. Ea permite vizualizarea unui flux video
provenit de la o camer video, n acest caz de tip WEBCAM.



Fig.8.7.4.2 Se observ imaginea facial detectat automat n imagine (Detecie fa) i evoluia
procesului de antrenament pentru recunoaterea identitii (Recunoatere).
- 202 - CAP.8 Aplicaii ale reelelor neuronale artificiale





ANEXA 1

Codul MATLAB pentru funcia trainfuzzy.



f unct i on [ net , t r ] = t r ai nf uzzy( net , Pd, Tl , Ai , Q, TS, VV, TV)
%TRAI NFUZZY Gr adi ent descent w/ moment um & f uzzy- adapt i ve l r
backpr opagat i on.
%
% Synt ax
%
% [ net , t r ] = t r ai nf uzzy( net , Pd, Tl , Ai , Q, TS, VV)
% i nf o = t r ai nf uzzy( code)
%
% Descr i pt i on
%
% TRAI NFUZZY i s a net wor k t r ai ni ng f unct i on t hat updat es
wei ght and
% bi as val ues accor di ng t o gr adi ent descent moment um and
an
% f uzzy- adapt i ve l ear ni ng r at e.
%@Cat al i n- Dani el Cal eanu, 1999
%FUNCTI ON I NFO
%=============

f i smat = r eadf i s( ' cont r ol er ' ) ;

i f i sst r ( net )
swi t ch ( net )
case ' pnames' ,
net = f i el dnames( t r ai nf uzzy( ' pdef aul t s' ) ) ;
case ' pdef aul t s' ,
t r ai nPar am. epochs = 200;
- 204 - ANEXA 1

t r ai nPar am. goal = 0;
t r ai nPar am. l r = 0. 01;
t r ai nPar am. max_f ai l = 5;
t r ai nPar am. mc = 0. 9;
t r ai nPar am. mi n_gr ad = 1. 0e- 6;
t r ai nPar am. show = 25;
t r ai nPar am. t i me = i nf ;
net = t r ai nPar am;
ot her wi se
er r or ( ' Unr ecogni zed code. ' )
end
r et ur n
end

%CALCULATI ON
%===========

%Const ant s
t hi s = ' t r ai nf uzzy' ;
epochs = net . t r ai nPar am. epochs;
goal = net . t r ai nPar am. goal ;
l r = net . t r ai nPar am. l r ;
l r _i nc = net . t r ai nPar am. l r _i nc;
l r _dec = net . t r ai nPar am. l r _dec;
max_f ai l = net . t r ai nPar am. max_f ai l ;
max_per f _i nc = net . t r ai nPar am. max_per f _i nc;
mc = net . t r ai nPar am. mc;
mi n_gr ad = net . t r ai nPar am. mi n_gr ad;
show = net . t r ai nPar am. show;
t i me = net . t r ai nPar am. t i me;
doVal i dat i on = ~i sempt y( VV) ;
doTest = ~i sempt y( TV) ;
ANEXA 1 - 205 -

%I ni t i al i ze
st op = ' ' ;
st ar t Ti me = cl ock;
X = get x( net ) ;
[ per f , E, Ac, N, Zb, Zi , Zl ] = cal cper f ( net , X, Pd, Tl , Ai , Q, TS) ;
per f 1=per f ;
[ gX, nor mgX] = cal cgx( net , X, Pd, Zb, Zi , Zl , N, Ac, E, per f , Q, TS) ;
dX = l r *gX;
i f ( doVal i dat i on)
VV. net = net ;
VV. per f = cal cper f ( net , X, VV. Pd, VV. Tl , VV. Ai , VV. Q, VV. TS) ;
VV. numFai l = 0;
end
t r = newt r ( epochs, ' per f ' , ' vper f ' , ' t per f ' , ' l r ' ) ;
per f or mant a=1;
dper f or mant a=0;
%Tr ai n
f or epoch=0: epochs

%Tr ai ni ng Recor d
epochPl us1 = epoch+1;
t r . per f ( epochPl us1) = per f ;
t r . l r ( epochPl us1) = l r ;
i f ( doVal i dat i on)
t r . vper f ( epochPl us1) = VV. per f ;
end
i f ( doTest )
t r . t per f ( epochPl us1) =
cal cper f ( net , X, TV. Pd, TV. Tl , TV. Ai , TV. Q, TV. TS) ;
end

%St oppi ng Cr i t er i a
- 206 - ANEXA 1

cur r ent Ti me = et i me( cl ock, st ar t Ti me) ;
i f ( per f <= goal )
st op = ' Per f or mance goal met . ' ;
el sei f ( epoch == epochs)
st op = ' Maxi mum epoch r eached, per f or mance goal was not
met . ' ;
el sei f ( cur r ent Ti me > t i me)
st op = ' Maxi mum t i me el apsed, per f or mance goal was not
met . ' ;
el sei f ( nor mgX < mi n_gr ad)
st op = ' Mi ni mum gr adi ent r eached, per f or mance goal was not
met . ' ;
el sei f ( doVal i dat i on) & ( VV. numFai l > max_f ai l )
st op = ' Val i dat i on st op. ' ;
net = VV. net ;
end

%Pr ogr ess
i f ~r em( epoch, show) | l engt h( st op)
f pr i nt f ( t hi s) ;
i f i sf i ni t e( epochs) f pr i nt f ( ' , Epoch %g/ %g' , epoch,
epochs) ; end
i f i sf i ni t e( t i me) f pr i nt f ( ' , Ti me
%g%%' , cur r ent Ti me/ t i me/ 100) ; end
i f i sf i ni t e( l r ) f pr i nt f ( ' , l r %g%' , l r ) ; end
i f i sf i ni t e( l r ) f pr i nt f ( ' , per f / dper f
%g/ %g' , per f or mant a, dper f or mant a) ; end
i f i sf i ni t e( goal ) f pr i nt f ( ' , %s
%g/ %g' , upper ( net . per f or mFcn) , per f , goal ) ; end
i f i sf i ni t e( mi n_gr ad) f pr i nt f ( ' , Gr adi ent
%g/ %g' , nor mgX, mi n_gr ad) ; end
f pr i nt f ( ' \ n' )
ANEXA 1 - 207 -

pl ot per f ( t r , goal , t hi s, epoch)
i f l engt h( st op) f pr i nt f ( ' %s, %s\ n\ n' , t hi s, st op) ; br eak; end
end

%Gr adi ent Descent wi t h Moment umand Adapt i ve Lear ni ng Rat e

dX = mc*dX + ( 1- mc) *l r *gX;
X2 = X + dX;
net 2 = set x( net , X2) ;
[ per f 2, E, Ac, N, Zb, Zi , Zl ] = cal cper f ( net 2, X2, Pd, Tl , Ai , Q, TS) ;
per f or mant a=( per f 2/ per f ) ;
dper f or mant a=( per f or mant a- ( per f / per f 1) ) ;

i f per f or mant a > 1. 3
per f or mant a=1. 29;
end
i f per f or mant a < 0. 4
per f or mant a=0. 41;
end
i f dper f or mant a > 1
dper f or mant a=0. 99;
end
i f dper f or mant a < - 1
dper f or mant a=- 0. 99;
end
c=eval f i s( [ per f or mant a dper f or mant a] , f i smat ) ;
l r =l r *c;
i f per f or mant a >= 1. 04
dX = l r *gX;
per f 1=per f ;
el se
i f ( per f 2 < per f )
- 208 - ANEXA 1

end
X = X2;
net = net 2;
per f 1=per f ;
per f = per f 2;
[ gX, nor mgX] = cal cgx( net , X, Pd, Zb, Zi , Zl , N, Ac, E, per f , Q, TS) ;
nor m_g = sqr t ( sum( sum( gX. ^2) ) ) ;
end

%Val i dat i on
i f ( doVal i dat i on)
vper f = cal cper f ( net , X, VV. Pd, VV. Tl , VV. Ai , VV. Q, VV. TS) ;
i f ( vper f < VV. per f )
VV. per f = vper f ; VV. net = net ; VV. numFai l = 0;
el sei f ( vper f > VV. per f )
VV. numFai l = VV. numFai l + 1;
end
end
end

%Fi ni sh
t r = cl i pt r ( t r , epoch) ;
ANEXA 2

Cod C pentru algoritmul de tip diferen temporal SARSA ().


*/

#i ncl ude <st di o. h>
#i ncl ude <st dl i b. h>
#i ncl ude <mat h. h>

#def i ne mi n( x, y) ( ( x <= y) ? x : y)
#def i ne max( x, y) ( ( x >= y) ? x : y)

#def i ne Al pha 0. 1 / * l ear ni ng r at e */
#def i ne Epsi l on 0. 01 / * per cent age of expl or at i on */

/ * si ze of t he maze */
#def i ne ROW6
#def i ne COL 7

#def i ne A 4 / * number of act i ons */
#def i ne S 16 / * number of st at es */

/ * Goal */
#def i ne G_i 3
#def i ne G_j 5

#def i ne EPI SODES 150 / * i n hundr eds */
#def i ne MaxSt eps 1000 / * maxi mumnumber of t r i es per epi sode
*/

/ * envi r onment : 1=obst acl e 0=no obst acl e */
i nt ENV[ 7] [ 6] = {{1, 1, 1, 1, 1, 1},
{1, 0, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 1},
{1, 0, 1, 1, 0, 1},
{1, 1, 1, 1, 0, 1},
{1, 1, 1, 0, 0, 1},
{1, 1, 1, 1, 1, 1}};

/ * pr edecl ar at i ons */
i nt sel ect _act i on( f l oat Q[ S] [ A] , i nt s) ;
voi d I ni t Qf unc( f l oat Q[ S] [ A] ) ;
i nt I ni t St at e( i nt *x, i nt *y, f l oat e[ S] [ A] ) ;
i nt Get St at e( i nt x, i nt y) ;
i nt r ewar d( i nt x, i nt y, i nt a) ;
i nt Next St at e( i nt *x, i nt *y, i nt a) ;
- 210 - ANEXA 2

voi d Updat eQf unc( i nt s, i nt a, i nt r , f l oat Q[ S] [ A] , i nt
next _s, i nt next _a, f l oat e[ S] [ A] , f l oat Gamma, f l oat
Lambda, f l oat Gt ot heL) ;
voi d end( ) ;

voi d mai n( i nt ar gc, char *ar gv[ ] )
{
f l oat Q[ S] [ A] ; / * Q st at e- act i on val ues */
f l oat e[ S] [ A] ; / * el i gi bi l i t y t r aces */

f l oat Gamma, Lambda, Gt ot heL;

i nt a_t ;
i nt s;
i nt x, y;
i nt next _s, next _a;
i nt r ;
i nt sum_r , avg_r ;

i nt i , j , cnt ;
i nt sum_st eps, sum_f ai l ur es;

Gamma = 0. 9; / * di scount f act or */
Lambda = 0. 9; / * l ambda par amet er i n SARSA( l ambda) */
Gt ot heL = 0. 9095; / * Gamma t o t he Lambda */

sr and48( 123456789) ; / * i ni t i al i ze r andomnumber gener at or
*/
I ni t Qf unc( Q) ; / * i ni t i al i ze Q l ookup- t abl e */
sum_st eps = 0;
sum_f ai l ur es = 0;
f or ( i =0; i < MaxSt eps) ) {
a_t = sel ect _act i on( Q, s) ; / * sel ect an act i on */
next _s = Next St at e( &x, &y, a_t ) ; / * appl y act i on */
r = r ewar d( x, y, a_t ) ; / * r ecei ve ext er nal
r ei nf or cement */
next _a = sel ect _act i on( Q, next _s) ; / * sel ect next act i on */

/ * updat e Q val ues */
Updat eQf unc( s, a_t , r , Q, next _s, next _a, e, Gamma, Lambda, Gt ot heL) ;

/ * updat e cur r ent st at e */
s = next _s;

cnt ++;
sum_r +=r ;
}
avg_r +=sum_r ;
ANEXA 2 - 211 -

}

/ * pr i nt t he aver age of sumof gai ned r ewar d */
pr i nt f ( " \ n%f " , avg_r / 100. 0) ;
}
end( Q) ;
}

i nt I ni t St at e( i nt *x, i nt *y, f l oat e[ S] [ A] )
{
i nt i , j , s;

/ * i ni t i al agent posi t i on = t op- l ef t r egi on of t he maze */

*x = l r and48( ) %2 + 1;
*y = l r and48( ) %3 + 1;

s = Get St at e( *x, *y) ;

f or ( i =0; i Q[ s] [ a_qmax] )
a_qmax = i ;

act i on = a_qmax;

/ * chose t he act i on wi t h maxi mumQ val ue wi t h pr obabi l i t y 1-
epsi l on %
el se, chose a r andomact i on */
i f ( dr and48( ) < Epsi l on)
act i on=l r and48( ) %A;
r et ur n( act i on) ;
}

voi d I ni t Qf unc( f l oat Q[ S] [ A] )
{
i nt s, a;

f or ( s=0; s Q[ i ] [ a_qmax] )
a_qmax = j ;
pr i nt f ( " \ nA[ %d] = %d" , i , a_qmax) ;
}
}







- 212 - ANEXA 2


ANEXA 3

Pseudocod pentru RNA antrenat cu BP bazat pe diferen temporal

OUTPUT

( ) ( ) ( ) y[ k]
/ \ / \ / \ k=0. . . m- 1
ew[ j ] [ k] / w[ j ] [ k] \
/ \
( ) ( ) ( ) ( ) ( ) h[ j ]
\ / j =0. . . num_hi dden
ev[ i ] [ j ] [ k] \ v[ i ] [ j ] /
\ / \ / \ /
( ) ( ) ( ) x[ i ]
i =0. . . n
I NPUT

/ * Exper i ment al Par amet er s: */
i nt n, num_hi dden, m; / * number of i nput s, hi dden, and
out put uni t s */
i nt MAX_UNI TS; / * maxi mumt ot al number of uni t s ( t o set
ar r ay si zes) */
i nt t i me_st eps; / * number of t i me st eps t o si mul at e */
f l oat BI AS; / * st r engt h of t he bi as ( const ant i nput )
cont r i but i on */
f l oat ALPHA; / * 1st l ayer l ear ni ng r at e ( t ypi cal l y 1/ n) */
f l oat BETA; / * 2nd l ayer l ear ni ng r at e ( t ypi cal l y
1/ num_hi dden) */
f l oat GAMMA; / * di scount - r at e par amet er ( t ypi cal l y 0. 9) */
f l oat LAMBDA; / * t r ace decay par amet er ( shoul d be <= gamma) */
/ * Net wor k Dat a St r uct ur e: */
f l oat x[ t i me_st eps] [ MAX_UNI TS] ; / * i nput dat a ( uni t s) */
f l oat h[ MAX_UNI TS] ; / * hi dden l ayer */
f l oat y[ MAX_UNI TS] ; / * out put l ayer */
f l oat w[ MAX_UNI TS] [ MAX_UNI TS] ; / * wei ght s */
/ * Lear ni ng Dat a St r uct ur e: */
f l oat ol d_y[ MAX_UNI TS] ;
f l oat ev[ MAX_UNI TS] [ MAX_UNI TS] [ MAX_UNI TS] ; / * hi dden t r ace */
f l oat ew[ MAX_UNI TS] [ MAX_UNI TS] ; / * out put t r ace */
f l oat r [ t i me_st eps] [ MAX_UNI TS] ; / * r ewar d */
f l oat er r or [ MAX_UNI TS] ; / * TD er r or */
i nt t ; / * cur r ent t i me st ep */

mai n( )
{
i nt k;
I ni t Net wor k( ) ;

- 214 - ANEXA 3

t =0; / * No l ear ni ng on t i me st ep 0 */
Response( ) ; / * J ust comput e ol d r esponse
( ol d_y) . . . */
f or ( k=0; k<m; k++)
ol d_y[ k] = y[ k] ;
Updat eEl i g( ) ; / * . . . and pr epar e t he el i gi bi l i t i es */

f or ( t =1; t <=t i me_st eps; t ++) / * a si ngl e pass t hr ough t i me
ser i es dat a */
{
Response( ) ; / * f or war d pass - comput e act i vi t i es */
f or ( k=0; k<m; k++)
er r or [ k] = r [ t ] [ k] + GAMMA*y[ k] - ol d_y[ k] ; / * f or mer r or s
*/
TDl ear n( ) ; / * backwar d pass - l ear ni ng */
Response( ) ; / * f or war d pass must be done t wi ce t o
f or mTD er r or s */
f or ( k=0; k<m; k++)
ol d_y[ k] = y[ k] ; / * f or use i n next cycl e' s TD er r or s */
Updat eEl i g( ) ; / * updat e el i gi bi l i t y t r aces */
} / * end t */
} / * end mai n */

/ *****
* I ni t Net wor k( )
*
* I ni t i al i ze wei ght s and bi ases
*
*****/
I ni t Net wor k( voi d)
{
i nt s, j , k, i ;

f or ( s=0; s<t i me_st eps; s++)
x[ s] [ n] =BI AS;
h[ num_hi dden] =BI AS;
f or ( j =0; j <=num_hi dden; j ++)
{
f or ( k=0; k<m; k++)
{
w[ j ] [ k] = some smal l r andomval ue
ew[ i ] [ k] =0. 0;
ol d_y[ k] =0. 0;
}
f or ( i =0; i <=n; i ++)
{
v[ i ] [ j ] = some smal l r andomval ue
f or ( k=0; k<m; k++)
ANEXA 3 - 215 -

{
ev[ i ] [ j ] [ k] =0. 0;
}
}
}
}/ * end I ni t Net wor k */

/ *****
* Response( )
*
* Comput e hi dden l ayer and out put pr edi ct i ons
*
*****/

Response( voi d)

{
i nt i , j , k;

h[ num_hi dden] =BI AS;
x[ t ] [ n] =BI AS;

f or ( j =0; j <num_hi dden; j ++)
{
h[ j ] =0. 0;
f or ( i =0; i <=n; i ++)
{
h[ j ] +=x[ t ] [ i ] *v[ i ] [ j ] ;
}
h[ j ] =1. 0/ ( 1. 0+exp( - h[ j ] ) ) ; / * asymmet r i c si gmoi d */
}
f or ( k=0; k<m; k++)
{
y[ k] =0. 0;
f or ( j =0; j <=num_hi dden; j ++)
{
y[ k] +=h[ j ] *w[ j ] [ k] ;
}
y[ k] =1. 0/ ( 1. 0+exp( - y[ k] ) ) ; / * asymmet r i c si gmoi d ( OPTI ONAL)
*/
}
}/ * end Response */

/ *****
* TDl ear n( )
*
* Updat e wei ght vect or s
*
- 216 - ANEXA 3

*****/

TDl ear n( voi d)

{
i nt i , j , k;

f or ( k=0; k<m; k++)
{
f or ( j =0; j <=num_hi dden; j ++)
{
w[ j ] [ k] +=BETA*er r or [ k] *ew[ j ] [ k] ;
f or ( i =0; i <=n; i ++)
v[ i ] [ j ] +=ALPHA*er r or [ k] *ev[ i ] [ j ] [ k] ;
}
}
}/ * end TDl ear n */

/ *****
* Updat eEl i g( )
*
* Cal cul at e new wei ght el i gi bi l i t i es
*
*****/

Updat eEl i g( voi d)

{
i nt i , j , k;
f l oat t emp[ MAX_UNI TS] ;

f or ( k=0; k<m; k++)
t emp[ k] =y[ k] *( 1- y[ k] ) ;

f or ( j =0; j <=num_hi dden; j ++)
{
f or ( k=0; k<m; k++)
{
ew[ j ] [ k] =LAMBDA*ew[ j ] [ k] +t emp[ k] *h[ j ] ;
f or ( i =0; i <=n; i ++)
{
ev[ i ] [ j ] [ k] =LAMBDA*ev[ i ] [ j ] [ k] +t emp[ k] *w[ j ] [ k] *h[ j ] *( 1-
h[ j ] ) *x[ t ] [ i ] ;
}
}
}
}/ * end Updat eEl i g *
ANEXA 4

Funcii specifice RNA din mediul MATLAB, Neural Network Toolbox, Version 4.0
(R12) 26-May-2000


Gr aphi cal user i nt er f ace f unct i ons.
nnt ool - Neur al Net wor k Tool box gr aphi cal user i nt er f ace.

Anal ysi s f unct i ons.
er r sur f - Er r or sur f ace of si ngl e i nput neur on.
maxl i nl r - Maxi muml ear ni ng r at e f or a l i near l ayer .

Di st ance f unct i ons.
boxdi st - Box di st ance f unct i on.
di st - Eucl i dean di st ance wei ght f unct i on.
mandi st - Manhat t an di st ance wei ght f unct i on.
l i nkdi st - Li nk di st ance f unct i on.

Layer i ni t i al i zat i on f unct i ons.
i ni t nw - Nguyen- Wi dr ow l ayer i ni t i al i zat i on f unct i on.
i ni t wb - By- wei ght - and- bi as l ayer i ni t i al i zat i on
f unct i on.

Lear ni ng f unct i ons.
l ear ncon - Consci ence bi as l ear ni ng f unct i on.
l ear ngd - Gr adi ent descent wei ght / bi as l ear ni ng f unct i on.
l ear ngdm - Gr adi ent descent w/ moment um wei ght / bi as l ear ni ng
f unct i on.
l ear nh - Hebb wei ght l ear ni ng f unct i on.
l ear nhd - Hebb wi t h decay wei ght l ear ni ng f unct i on.
l ear ni s - I nst ar wei ght l ear ni ng f unct i on.
l ear nk - Kohonen wei ght l ear ni ng f unct i on.
l ear nl v1 - LVQ1 wei ght l ear ni ng f unct i on.
l ear nl v2 - LVQ2 wei ght l ear ni ng f unct i on.
l ear nos - Out st ar wei ght l ear ni ng f unct i on.
l ear np - Per cept r on wei ght / bi as l ear ni ng f unct i on.
l ear npn - Nor mal i zed per cept r on wei ght / bi as l ear ni ng
f unct i on.
l ear nsom- Sel f - or gani zi ng map wei ght l ear ni ng f unct i on.
l ear nwh - Wi dr ow- Hof f wei ght / bi as l ear ni ng r ul e.

Li ne sear ch f unct i ons.
sr chbac - Backt r acki ng sear ch.
sr chbr e - Br ent ' s combi nat i on gol den sect i on/ quadr at i c
i nt er pol at i on.
sr chcha - Char al ambous' cubi c i nt er pol at i on.
sr chgol - Gol den sect i on sear ch.
sr chhyb - Hybr i d bi sect i on/ cubi c sear ch.
- 218 - ANEXA 4


New net wor ks.
net wor k - Cr eat e a cust omneur al net wor k.
newc - Cr eat e a compet i t i ve l ayer .
newcf - Cr eat e a cascade- f or war d backpr opagat i on
net wor k.
newel m - Cr eat e an El man backpr opagat i on net wor k.
newf f - Cr eat e a f eed- f or war d backpr opagat i on net wor k.
newf f t d - Cr eat e a f eed- f or war d i nput - del ay backpr op
net wor k.
newgr nn - Desi gn a gener al i zed r egr essi on neur al net wor k.
newhop - Cr eat e a Hopf i el d r ecur r ent net wor k.
newl i n - Cr eat e a l i near l ayer .
newl i nd - Desi gn a l i near l ayer .
newl vq - Cr eat e a l ear ni ng vect or quant i zat i on net wor k.
newp - Cr eat e a per cept r on.
newpnn - Desi gn a pr obabi l i st i c neur al net wor k.
newr b - Desi gn a r adi al basi s net wor k.
newr be - Desi gn an exact r adi al basi s net wor k.
newsom - Cr eat e a sel f - or gani zi ng map.

Net i nput f unct i ons.
net pr od - Pr oduct net i nput f unct i on.
net sum - Sumnet i nput f unct i on.

Net i nput der i vat i ve f unct i ons.
dnet pr od - Pr oduct net i nput der i vat i ve f unct i on.
dnet sum - Sumnet i nput der i vat i ve f unct i on.

Net wor k i ni t i al i zat i on f unct i ons.
i ni t l ay - Layer - by- l ayer net wor k i ni t i al i zat i on f unct i on.

Per f or mance f unct i ons.
mae - Mean absol ut e er r or per f or mance f unct i on.
mse - Mean squar ed er r or per f or mance f unct i on.
mser eg - Mean squar ed er r or wi t h r egul ar i zat i on
per f or mance f unct i on.
sse - Sumsquar ed er r or per f or mance f unct i on.

Per f or mance der i vat i ve f unct i ons.
dmae - Mean absol ut e er r or per f or mance der i vat i ves
f unct i on.
dmse - Mean squar ed er r or per f or mance der i vat i ves
f unct i on.
dmser eg - Mean squar ed er r or w/ r eg per f or mance der i vat i ve
f unct i on.
dsse - Sum squar ed er r or per f or mance der i vat i ve
f unct i on.
ANEXA 4 - 219 -


Pl ot t i ng f unct i ons.
hi nt onw - Hi nt on gr aph of wei ght mat r i x.
hi nt onwb - Hi nt on gr aph of wei ght mat r i x and bi as vect or .
pl ot br - Pl ot net wor k per f or mance f or Bayesi an
r egul ar i zat i on t r ai ni ng.
pl ot es - Pl ot an er r or sur f ace of a si ngl e i nput neur on.
pl ot pc - Pl ot cl assi f i cat i on l i ne on per cept r on vect or
pl ot .
pl ot pv - Pl ot per cept r on i nput / t ar get vect or s.
pl ot ep - Pl ot a wei ght - bi as posi t i on on an er r or sur f ace.
pl ot per f - Pl ot net wor k per f or mance.
pl ot som - Pl ot sel f - or gani zi ng map.
pl ot v - Pl ot vect or s as l i nes f r omt he or i gi n.
pl ot vec - Pl ot vect or s wi t h di f f er ent col or s.

Pr e and Post Pr ocessi ng.
pr est d - Nor mal i ze dat a f or uni t y st andar d devi at i on and
zer o mean.
post st d - Unnor mal i ze dat a whi ch has been nor mal i zed by
PRESTD.
t r ast d - Tr ansf or m dat a wi t h pr ecal cul at ed mean and
st andar d devi at i on.
pr emnmx - Nor mal i ze dat a f or maxi mumof 1 and mi ni mumof -
1.
post mnmx - Unnor mal i ze dat a whi ch has been nor mal i zed by
PREMNMX.
t r amnmx - Tr ansf or m dat a wi t h pr ecal cul at ed mi ni mum and
maxi mum.
pr epca - Pr i nci pal component anal ysi s on i nput dat a.
t r apca - Tr ansf or m dat a wi t h PCA mat r i x comput ed by
PREPCA.
post r eg - Post - t r ai ni ng r egr essi on anal ysi s.

Si mul i nk suppor t .
gensi m - Gener at e a Si mul i nk bl ock t o si mul at e a neur al
net wor k.

Topol ogy f unct i ons.
gr i dt op - Gr i d l ayer t opol ogy f unct i on.
hext op - Hexagonal l ayer t opol ogy f unct i on.
r andt op - Randoml ayer t opol ogy f unct i on.

Tr ai ni ng f unct i ons.
t r ai nb - Bat ch t r ai ni ng wi t h wei ght & bi as l ear ni ng
r ul es.
t r ai nbf g - BFGS quasi - Newt on backpr opagat i on.
t r ai nbr - Bayesi an r egul ar i zat i on.
- 220 - ANEXA 4

t r ai nc - Cycl i cal or der i ncr ement al t r ai ni ng w/ l ear ni ng
f unct i ons.
t r ai ncgb - Powel l - Beal e conj ugat e gr adi ent backpr opagat i on.
t r ai ncgf - Fl et cher - Powel l conj ugat e gr adi ent
backpr opagat i on.
t r ai ncgp - Pol ak- Ri bi er e conj ugat e gr adi ent
backpr opagat i on.
t r ai ngd - Gr adi ent descent backpr opagat i on.
t r ai ngdm- Gr adi ent descent wi t h moment umbackpr opagat i on.
t r ai ngda - Gr adi ent descent wi t h adapt i ve l r
backpr opagat i on.
t r ai ngdx - Gr adi ent descent w/ moment um & adapt i ve l r
backpr opagat i on.
t r ai nl m - Levenber g- Mar quar dt backpr opagat i on.
t r ai noss - One st ep secant backpr opagat i on.
t r ai nr - Random or der i ncr ement al t r ai ni ng w/ l ear ni ng
f unct i ons.
t r ai nr p - Resi l i ent backpr opagat i on ( Rpr op) .
t r ai ns - Sequent i al or der i ncr ement al t r ai ni ng w/ l ear ni ng
f unct i ons.
t r ai nscg - Scal ed conj ugat e gr adi ent backpr opagat i on.

Tr ansf er f unct i ons.
compet - Compet i t i ve t r ansf er f unct i on.
har dl i m - Har d l i mi t t r ansf er f unct i on.
har dl i ms - Symmet r i c har d l i mi t t r ansf er f unct i on.
l ogsi g - Log si gmoi d t r ansf er f unct i on.
posl i n - Posi t i ve l i near t r ansf er f unct i on.
pur el i n - Li near t r ansf er f unct i on.
r adbas - Radi al basi s t r ansf er f unct i on.
sat l i n - Sat ur at i ng l i near t r ansf er f unct i on.
sat l i ns - Symmet r i c sat ur at i ng l i near t r ansf er f unct i on.
sof t max - Sof t max t r ansf er f unct i on.
t ansi g - Hyper bol i c t angent si gmoi d t r ansf er f unct i on.
t r i bas - Tr i angul ar basi s t r ansf er f unct i on.

Tr ansf er der i vat i ve f unct i ons.
dhar dl i m- Har d l i mi t t r ansf er der i vat i ve f unct i on.
dhar dl ms - Symmet r i c har d l i mi t t r ansf er der i vat i ve
f unct i on.
dl ogsi g - Log si gmoi d t r ansf er der i vat i ve f unct i on.
dposl i n - Posi t i ve l i near t r ansf er der i vat i ve f unct i on.
dpur el i n - Har d l i mi t t r ansf er der i vat i ve f unct i on.
dr adbas - Radi al basi s t r ansf er der i vat i ve f unct i on.
dsat l i n - Sat ur at i ng l i near t r ansf er der i vat i ve f unct i on.
dsat l i ns - Symmet r i c sat ur at i ng l i near t r ansf er der i vat i ve
f unct i on.
ANEXA 4 - 221 -

dt ansi g - Hyper bol i c t angent si gmoi d t r ansf er der i vat i ve
f unct i on.
dt r i bas - Tr i angul ar basi s t r ansf er der i vat i ve f unct i on.

Updat e net wor ks f r ompr evi ous ver si ons.
nnt 2c - Updat e NNT 2. 0 compet i t i ve l ayer t o NNT 3. 0.
nnt 2el m - Updat e NNT 2. 0 El man backpr opagat i on net wor k t o
NNT 3. 0.
nnt 2f f - Updat e NNT 2. 0 f eed- f or war d net wor k t o NNT 3. 0.
nnt 2hop - Updat e NNT 2. 0 Hopf i el d r ecur r ent net wor k t o NNT
3. 0.
nnt 2l i n - Updat e NNT 2. 0 l i near l ayer t o NNT 3. 0.
nnt 2l vq - Updat e NNT 2. 0 l ear ni ng vect or quant i zat i on
net wor k t o NNT 3. 0.
nnt 2p - Updat e NNT 2. 0 per cept r on t o NNT 3. 0.
nnt 2r b - Updat e NNT 2. 0 r adi al basi s net wor k t o NNT 3. 0.
nnt 2som - Updat e NNT 2. 0 sel f - or gani zi ng map t o NNT 3. 0.

Usi ng net wor ks.
si m - Si mul at e a neur al net wor k.
i ni t - I ni t i al i ze a neur al net wor k.
adapt - Al l ow a neur al net wor k t o adapt .
t r ai n - Tr ai n a neur al net wor k.
di sp - Di spl ay a neur al net wor k' s pr oper t i es.
di spl ay - Di spl ay t he name and pr oper t i es of a neur al
net wor k var i abl e.

Vect or s.
cel l 2mat - Combi ne cel l ar r ay of mat r i ces i nt o one mat r i x.
concur - Cr eat e concur r ent bi as vect or s.
con2seq - Conver t concur r ent vect or s t o sequent i al
vect or s.
combvec - Cr eat e al l combi nat i ons of vect or s.
i nd2vec - Conver t i ndi ces t o vect or s.
mat 2cel l - Br eak mat r i x up i nt o cel l ar r ay of mat r i ces.
mi nmax - Ranges of mat r i x r ows.
nncopy - Copy mat r i x or cel l ar r ay.
nor mc - Nor mal i ze col umns of a mat r i x.
nor mr - Nor mal i ze r ows of a mat r i x.
pnor mc - Pseudo- nor mal i ze col umns of a mat r i x.
quant - Di scr et i ze val ues as mul t i pl es of a quant i t y.
seq2con - Conver t sequent i al vect or s t o concur r ent
vect or s.
sumsqr - Sumsquar ed el ement s of mat r i x.
vec2i nd - Conver t vect or s t o i ndi ces.

Wei ght f unct i ons.
di st - Eucl i dean di st ance wei ght f unct i on.
- 222 - ANEXA 4

dot pr od - Dot pr oduct wei ght f unct i on.
mandi st - Manhat t an di st ance wei ght f unct i on.
negdi st - Dot pr oduct wei ght f unct i on.
nor mpr od - Nor mal i zed dot pr oduct wei ght f unct i on.

Wei ght der i vat i ve f unct i ons.
ddot pr od - Dot pr oduct wei ght der i vat i ve f unct i on.

Wei ght and bi as i ni t i al i zat i on f unct i ons.
i ni t con - Consci ence bi as i ni t i al i zat i on f unct i on.
i ni t zer o - Zer o wei ght / bi as i ni t i al i zat i on f unct i on.
mi dpoi nt - Mi dpoi nt wei ght i ni t i al i zat i on f unct i on.
r andnc - Nor mal i zed col umn wei ght i ni t i al i zat i on
f unct i on.
r andnr - Nor mal i zed r ow wei ght i ni t i al i zat i on f unct i on.
r ands - Symmet r i c r andom wei ght / bi as i ni t i al i zat i on
f unct i on.

Wei ght der i vat i ve f unct i ons.
ddot pr od - Dot pr oduct wei ght der i vat i ve f unct i on.


Bibliografie


[1] M. Gupta, K. Knopf Neuro Vision Systems. Principles and Applications,
IEEE Press, pag.14-16, 19, 1994.
[2] C.F. Stevens The Neuron, n M. Gupta, K. Knopf Neuro Vision Systems.
Principles and Applications, IEEE Press, pag.69, 1994.
[3] G. Mogo, A. Ianculescu Compendiu de anatomie i fiziologie a omului, Ed.
tiinific, Buc., pag.76, 1980.
[4] J. Anderson, E. Rosenfeld Neurocomputing Foundation of Research,
Cambridge, M.I.T. Press, 1988.
[5] S. Haykin Neural Networks: A Comprehensive Foundation, Second Edition,
IEEE Press, pag.8, 1999.
[6] J. Hertz, A. Krogh, R. Palmer Introduction to the Theory of Neural
Computation, Lectures Notes, Santa Fe Institute, Addison-Wesley Publishing
Company, pag.3, 1995.
[7] G. Toderean, M. Coteiu, M. Giurgiu Reele neuronale, Ed. Microinformatica,
Cluj-Napoca, pag.46, 1994.
[8] D. Dumitrescu, H. Costin Reele neuronale. Teorie i aplicaii, Ed. Teora,
pag.24-29, 1996.
[9] B. Widrow, M. Lehr 30 Years of Adaptive Neural Networks: Perceptrons,
Madaline, and Backpropagation, n C. Lau Neural Networks. Theoretical
Foundations and Analisys, pag.44, IEEE Press, 1992.
[10] T. Kohonen An introduction to neural computing, Neural Networks, nr.1,
pag. 3-16, 1988
[11] F. Rosenblatt, - Principles of Neurodynamics, Washington D.C.: Spartan Press,
1961.
[12] B.Widrow, M.E. Hoff Adaptive switching circuits, IRE WESCON
Convention Record, pag.96-104, 1960.
[13] D.E Rumelhart, G.E. Hinton, R.J. Williams, Learning internal representations
- 224 Bibliografie

by error propagation," D. Rumelhart and J. McClelland, editori. Parallel Data
Processing, Vol.1, Chapter 8, the M.I.T. Press, Cambridge, pag. 318-362, 1986.
[14] Hagan, M. T., H. B. Demuth, M. H. Beale, Neural Network Design, Boston,
MA: PWS Publishing, 1996.
[15] A. Cichocki, R. Unbehauen Neural Networks for Optimization and Signal
Processing, John Wiley&Sons, Stuttgart, 1993.
[16] T. Cover "Elements of Information Theory", New York, Wiley, 1991.
[17] D. Broomhead, D. Lowe "Multivariable functional interpolation and adaptive
networks", Complex Systems, nr.2, pag.321-355, 1988.
[18] V. Kadrirkamanathan, M. Niranjan "Sequential adaptation of RBF neural
networks", Advances in Neural Information Processing Systems", pag.721-727, San
Mateo, 1991.
[19] K. Otawara, T. Fan "Controling Chaos with an ANN", Proc.IEEE Int. Joint
Conf. Fuzzy Syst., vol.4, pag.1943-1948, 1995.
[20] E. Oja "A simplified neuron model as principal component analyzer", Journal of
Mathematical Biology, nr.15, pag. 267-273,1982.
[21] R. Linsker "Self-organization in a perceptual network", Computer, nr.21,
pag.105-117, 1988.
[22] A. Yuille, D. Kammen, D. Cohen "Quadrature and the Development of
Orientation Selective Cortical Cells by Hebb Rules", Biological Cybernetics, nr.61,
pag.183-194, 1989.
[23] E. Oja "Subspace Methods of Pattern Recognition", Research Studies Press,
UK, 1982.
[24] T. Sanger "Optimal unsupervised learning in a single-layer linear feedforward
neural network", Neural Networks, nr.12, pag.459-473, 1989.
[25] Y. Zhang, Y. Ma "CGHA for Principal Component Extraction in the Complex
Domain", IEEE Trans. Neural Networks, pag.1031-1036, Sept., 1997.
Bibliografie - 225 -

[26] H. Kung, C.Diamantaras "A neural network learning algorithm for adaptive
principal component extraction (APEX)", Int. Conf. Acoust., Speech and Signal
Processing, vol.2, pag.861-864, NM, 1990.
[27] E. Oja "Data compresion, feature extraction, and autoassociation in
feedforward neural networks", n Artificial Neural Networks, Ed. T.Kohonen i
colectiv, vol.1. pag.737-746, North-Holland, 1991.
[28] J. Karhunen, E. Oja i colectiv "A Class of Neural Networks for Independent
Component Analysis", IEEE Trans. Neural Networks, pag.486-503, Mai, 1997.
[29] L. Wang, J. Karhunen "A unified neural bigradient algorithm for robust PCA
and MCA", Int.J.Neural Syst., vol.7, pag.53-67, 1996.
[30] T. Kohonen "Self-Organization and Associative Memory", Springer-Verlag,
1988.
[31] G. Bebis, M. Gregoriopoulos, N. Lobo "Using Self-Organizing Maps to Learn
Geometric Hash Functions for Model-Based Object Recognition", IEEE Trans Neural
Networks, pag.563, Mai, 1998.
[32] D. DeSieno "Adding a conscience to competitive learning", IEEE Int. Conf.
Neural Networks, vol 1, San Diego, pag. 117-124, 1988.
[33] G. Huerter "Solution of the traveling salesman problem with an adaptive ring",
IEEE Int. Conf. Neural Networks, vol 1, San Diego, pag. 85-92, 1988.
[34] T. Kohonen "The Self-Organizing Map", n "Neural Networks. Theoretical
Foundations and Analysis", Ed. C. Lau, IEEE Press, pag.74-90, 1992.
[35] L. Giles, R. Sun, M. Zurada "Neural Networks and Hybrid Intelligent Models:
Foundatuons, Theory and Applications", IEEE Trans. Neural Networks, Sept.,
pag.721, 1998.
[36] S. Goonatilake, S. Khebbal "Intelligent Hybrid Systems", John Whiley&Sons,
England, pag.2, 1995.
[37] A. Kidd "Knowledge Acquisition for Expert Systems: A practical handbook",
Plenum Press, 1987.
- 226 Bibliografie

[38] E. Feigenbaum " Themes and Case Studies of Knowledge Engineering", n
"Expert Systems in the micro-technology age", Ed. D. Mithie, Edinburgh, University
Press, 1979.
[39] J. Holland "Escaping Brittlenes", n "Machine Learning", Ed. R. Michalski i
colectiv, vol.2, 1986.
[40] L.A. Zadeh "Fuzzy Logic", IEEE Computer, pag.83-93, Apr., 1988.
[41] W.J. Clancy "The Epistemology of a Rule-based Expert System: A framework
for Explanation", Artificial Inteligence, vol.20, pag. 215-251, 1983.
[42] J. Holland "Genetic Algorithms and classifiers systems: Foundations and future
directions", n "Genetic Algorithms and their Applications", Proceedings of the 2
nd
Int.
Conf. on GA, 1987.
[43] J. Diederich "Explanation and ANN", GMD, Germany, 1989.
[44] A. Hoffman "Arguments on Evolution: A Paleontologist's Perspective", NY,
Oxford Univ. Press, 1989.
[45] D. Fogel "Evolutionary Computation: A New Transactions", IEEE Trans
Evolutionary Computation, nr.1, Apr., 1997.
[46] J. Holland "Adaptation in Natural and Artificial Systems", Ann Arbor, Univ. of
Michigan Press, 1975.
[47] K.A. De Jong "An analysis of behavior of a class of genetic adaptive systems",
Ann Arbor, Univ. of Michigan Press, 1975.
[48] D.E. Goldberg "Genetic Algorithms in Search, Optimization, and Machine
Learning", Addison Wesley, 1997.
[49] I. Rechenberg "Evolutionsstrategie: Optimierung technisher Systemenach
Prinzipien der biologischen Evolution", Stuttgart, Frommmann-Holzboog, 1973.
[50] H.P. Schwefel "Evolution and Optimum Seeking", NY, Wiley, 1995.
[51] L.J. Fogel "Autonomus automata", Ind. Res., vol.4, pag.14-19, 1962.
[52] G.H.Burgin "System identification by quasilinearization and evolutionary
programming", J.Cybern., vol.3, pag.56-75, 1973.
Bibliografie - 227 -

[53] P. Flondor, C. Ionescu, editori "Introducere n algoritmi genetici", Ed. All,
pag.8, 1999
[54] H. Muhlenbein "How genetic algorithms really work: I. Mutation and
hillclimbing", n Parallel Problem Solving from Nature 2, Amsterdam Elsevier,
pag.15-25, 1992.
[55] H.P. Schwefel "Numerical Optimization of Computer Models", Wiley, 1981.
[56] J. Smith, T. Fogarty "Self adaptation of mutation rates in a steady state GA", n
Proc.3
rd
IEEE Conf. on Evolutionary Computation, IEEE Press, pag. 318-323, 1996.
[57] E. Chang, R. Lippmann "Using genetic algorithms to Improve Pattern
Classification Performances", Advances in Neural Information Processing 3, pag.797-
803, 1991.
[58] J. Schaffer i colectiv "Using Genetic Search to Exploit the Emerging Behavior
of Neural Networks" n S. Forest (Ed.) "Emergent computation", pag.102-112, 1990.
[59] F. Gruau "Genetic Synthesis of Boolean Neural Networks with a Cell Rewriting
Development Process", Proceedings of the IEEE Workshop on Combinations of GA
and NN, pag.360-369, 1992.
[60] Kim Wing Ku i colectiv "Adding Learning to Cellular GA for Training
Recurent NN", IEEE Trans. Neural Networks, pag.239-251, Mar.,1999.
[61] J. Kodjabachian, J. Meyer "Evolution and Development of Neural Controllers
for Locomotion, Gradient-Following, and Obstacle-Avoidance in Artificial Insects",
IEEE Trans Neural Networks, pag.796-811, Sept., 1998.
[62] C. G. Langton "Artificial Life. An Overview", MIT Press, 1998.
[63] D.J. Montana "Neural Network Weight Selection Using Genetic Algorithms", n
S. Goonatilake, S. Khebbal (Ed.) "Intelligent Hybrid Systems", John Whiley&Sons,
England, pag.86-104, 1995.
[64] E. Borel "Probabilit et Certitude", n W.Pedrycz "Fuzzy Control and Fuzzy
Systems", Sec. Ed., Wiley, pag.2, 1993.
[65] S. Clin i colectiv "Conducerea adaptiv i flexibil a proceselor industriale",
Editura Tehnic , Bucureti , pag.450-470, 1988.
- 228 Bibliografie

[66] W. Pedrycz "Fuzzy Control and Fuzzy Systems", Sec. Ed., Wiley, pag.14-25,
1993.
[67] E. Sofron i colectiv "Sisteme de control fuzzy", Ed.ALL Educational, Buc.,
pag.48, 1998.
[68] E. Cox "Fuzzy fundamentals", IEEE Spectrum, Oct., pag.58-61, 1992.
[69] Kartalopoulos S., - Understanding neural networks and fuzzy logic: basic
concepts and appplications, pp.154 - 161, IEEE Press, 1996.
[70] Lee S., Lee E., - Fuzzy Sets and Neural Networks, Jour. Cybernetics, vol. 4,
pp.83-103, 1984.
[71] Choi J., Arabshahi P., Marks R., Caudell T., - Fuzzy parameter adaptation in
neural system, International Joint Conference on Neural Networks, Vol.1, pp. 232-
238, Baltimore, 1992.
[72] Hertz D., Qing H., - Fuzzy-neuro controller for backpropagation networks,
Proceedings of the Simulation technology and Workshop on Neural Networks
conference, Houston, TX, pp. 570-574, 1992.
[73] C.D. Cleanu, L. Petropoulakis Improved Training of Multilayer Feedforwaed
Neural Networks for Large Input Vectors, Proc. of the 8
th
IEEE Mediteranean Conf.
On Control and Automation (MED2000), Rio, Patras, Greece, 17-19 July, 2000.
[74] Vogl T., Mangis J., - Accelerating the convergence of the backpropagation
method, Biological Cybernetics, vol. 59, p 257-263, 1998 .
[75] Verma B., - Fast Training of Multilayer Perceptrons, IEEE Trans. Neural
Networks, vol.8, pp.1314-1319, Nov., 1997
[76] Andreas Perez-Uribe Introduction to Reinforcement Learning, disponibil
online: http://lslwww.epfl.ch/~aperez/
[77] R.S. Sutton, A.G.Barto - Reinforcement Learning: An Introduction, MIT Press,
Cambrige, MA, 1998.
[78] D.A. Berry, B. Fristedt - Bandit Problems: Sequential Allocation of
Experiments, Chapman and Hall, London, UK, 1985
[79] P. Maes - Modeling Adaptive Autonomous Agents, n C.G. Langton (editor) -
Bibliografie - 229 -

Artificial Life. An Overview, MIT Press, Cambridge, MA, 1998.
[80] L.P. Kaelbling, M.L. Littman, A.W. Moore - Reinforcement Learning: A
Survey, Journal of Artificial Intelligence Research 4, pag.237-285, 1996.
[81] M.L. Littman, T.L. Dean, L.P. Kaelbling - On the Complexity of Solving Markov
Decision Problems, n Proceedings of the Eleventh International Conference on
Uncertainty in Artificial Intelligence, 1995.
[82] D.P. Bertsekas - Dynamic Programming: Deterministic and Stochastic Models,
Pretice-Hall, Englewood Cliffs, NJ, 1987.
[83] R.J. Williams, L.C. Baird - Tight performance bounds on greedy policies based
on imperfect value functions, Tech. rep. NU-CCS-93-14, Northeastern Univ., College
of Comp. Science, Boston, MA, 1993.
[84] C.J. Watkins - Learning from Delay Rewards, Ph.D.Thesis, King

s College,
Cambridge, UK, 1989.
[85] C.J. Watkins, P. Dayan - Q - learning, Machine Learning, 8(3), pag.279-282,
1992.
[86] A. Samuel - Some studies in machine learning using the game of checkers,
IBM J.of Research and Development 3, pag.210-229, 1959.
[87] N.N. Schraudolph, P. Dayan, T.J. Sejnonski - Temporal difference learning of
position evaluation in the game of GO n J.D. Cowan (editor) Advances in
Neuronal Information Processing Systems, nr. 6, pag. 817-824, Morgan Kaufmann,
San Mateo, Cafif, 1994.
[88] G.Tesauro - Temporal Difference Learning and TD-Gammon, Communication
of the ACM, nr.3, vol. 38, Martie, 1995.
[89] B.W. Lee, B.J. Shen Design and analysis of VLSI neural networks, n Neural
Networks for Signal Processing, Englewoods Cliffs, NJ: Prentice-Hall, 1989.
[90] C.Mead Analog VLSI and Neural Systems, Reading MA: Addison-Wesley,
1989.
[91] U.Ramacher, U.Rckert (editori) VLSI Design of Neural Networks, Hingham,
MA: Kluwer, 1991.
- 230 Bibliografie

[92] L.D. Jackel i colectiv Artificial Neural Networks for Computing, J. Vac. Sci.
Tehnol., vol. B61, pag.61, 1986.
[93] Graf i colectiv VLSI Implementation of a Neural Network Memory with
Several Hundreds of Neurons, n Neural Networks for Computing, editori J.S.
Denker, pag.182-187, NY, American Institute of physics, 1986.
[94] P.R. Gray, R.G.Meyer Circuite integrate analogice. Analiz i proiecare, Ed.
Tehnic, Buc., pag.59-78, 1999.
[95] M.A. Maher, S.P. Deweerth, M.A. Mahowald, C.A. Mead Implementing
Neural Architectures using Analog VLSI Circuits, IEEE Trans circuits and Syst.,
vol.36, nr.5, pag.643-652, 1989.
[96] H.P. Graf, L.D. Jackel Analog Electronic Neural Networks Circuits, n
Artificial Neural Networks Paradigms. Applications and Hardware
Implementations, E. Sanchez-Sinencio, C. Lau (editori), IEEE Press, NY, pag.195-
200, 1992.
[97] J. Alspector, R.Allen A Neuromorphic VLSI Learning System, n Advance
Research in VLSI, Proc. Stanford Conf., P.Losleben (editor) Cambridge; MIT Press,
pag.351-367, 1987.
[98] T. Asai, M. Ohtani, H. Yonezu Analog intergated circuits for the Lotka-
Volterra competitive neural networks, IEEE Trans. Neural Networks, pag.1222-1231,
Sept., 1999.
[99] C. Rasche, R.J. Douglas Forward and Backpropagation in a Silicon
Dendrite, IEEE Trans. Neural Networks, pag.386-393, Martie, 2001.
[100] D. Hammerstrom Electronic neural network implementation, Tutorial nr.5,
Int. J. Conf. Neural Networks, Baltimore, MD, 1992.
[101] L.E. Atlas, Y. Suzuki Digital Systems for Artificial Neural Networks, IEEE
Circuits and Devices Mag., pag. 20-24, Nov. 1989.
[102] S. Garth A chipset for high spees simulation of neural network systems,
IEEE Int. Conf. On Neural Networks, vol.III 443-452, 1987.
Bibliografie - 231 -

[103] M. Yasunaga i colectiv Design, fabrication and evaluation of a 5 inch
wafer scale neural network LSI composed of 576 digital neurons, Proc. Int. J. Conf.
on N.N. , vol.II, pag.527-535, Iunie, 1990.
[104] A. Masaki, Y.Hirai, M. Yamada Neural Networks in CMOS: A Case Study,
IEEE Circ. And Devices Mag., pag.12-17, Iulie, 1990.
[105] B.E. Boser i colectiv Hardware Requirements for Neural Networks Pattern
Classifiers, IEEE Micro, pag.32-40, Feb., 1982.
[106] P. Masa, H. Wallinga, K. Hoen NeuroClassifier - analog VLSI neural
network for very high speed pattern classification, http://www.ice.el.utwente.nl.
[107] Alan F. Murray Pulse Arithmetic in VLSI Neural Networks, n Artificial
Neural Networks Paradigms. Applications and Hardware Implementations, E.
Sanchez-Sinencio, C. Lau (editori), IEEE Press, NY, pag.195-200, 1992.
[108] C. S. Lindsey, T. Lindblad Review of Hardware Neural Networks,
http://msia02.msi.se/~lindsey/elba2html/
[109] N.H. Farhat i colectiv Optical Implementation of the Hopfield Model,
Applied Optics 24, n J.A. Anderson, E. Rosenfeld (editori) Neurocomputing:
Fundations of Research, Cambridge: MIT Press, 1988.
[110] C. Peterson, S. Redfield, J.D. Keeler, E. Hartman An Optoelectronic
Architecture for Multilayer Learning in a Single Photorefractive Crystal, Neural
Computation 2, pag. 25-34, 1990.
[111] DARPA Neural Network Study, Lexington, MA: M.I.T. Lincoln Laboratory,
1988.
[112] T.J.Sejnowski, C.R. Rosenberg Paralel Networks that Learn to Pronounce
English Text, Complex Systems 1, pag.145-168, 1987.
[113] A.Spilc Sisteme dedicate automate cu comand vocal realizate cu reele
neurale, Tez de doctorat, Universitatea POLITEHNICA Timioara, 2000.
[114] C.D. Cleanu Recunoatere facial bazat pe procesare neuronal paralel
i metoda operatorului de interes, Tez de doctorat, Universitatea POLITEHNICA
Timioara, 2001.
- 232 Bibliografie

[115] ftp://ftp.uk.research.att.com/pub/data/att_faces.tar.z - baza de date AT&T (fosta
Olivetti Research Laboratory), Cambridge, U.K.
[116] C.D. Cleanu Facial Recognition using Committee of Neural Networks,
Proc. 5
th
Seminar on Neural Network Applications in electrical engineering, NEUREL
2000, Belgrad, Yugoslavia., pag. 97-100., 2000.

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