Sunteți pe pagina 1din 49

Re\ele Neuronale Artificiale

A.1 Introducere
Majoritatea cercet`rilor n domeniul re\elelor neurale artificiale au fost
inspirate ]i influen\ate de cuno]tin\ele, existente la un moment sau altul, despre sistemul
nervos biologic. Elementul de baz` de procesare din sistemul nervos este neuronul. Un
neuron biologic (figura A.1.1) este o celul` care recep\ioneaz` stimuli electrochimici de
la surse multiple (senzori) ]i r`spunde prin generarea unor impulsuri electrice ce vor fi
transmise altor neuroni sau celule efectoare (mu]chi sau glande). Aproape 10% din
neuroni sunt intr`ri (aferente) ]i ie]iri (aferente). 90% sunt interconect`ri cu al\i neuroni
care memoreaz` informa\ia sau realizeaz` diverse transform`ri asupra semnalelor care
se propag` prin re\ea.

Figura A.1.1 Structura neuronului biologic


Sistemul nervos uman are aproximativ 1010 - 1012 neuroni, fiecare dintre ace]tia
fiind capabil s` memoreze mai mul\i bi\i de informa\ie. Un singur neuron este
conectat cu alte sute sau mii de neuroni, conexiunile realizndu-se prin intermediul a
dou` tipuri de sinapse: excitatoare ]i inhibitoare. Activitatea neuronal` este ob\inut` pe
baza cre`rii unui poten\ial electric intern numit poten\ial de membran`. Acest poten\ial
poate cre]te sau descre]te pe seama stimulilor primi\i de la alte celule prin intermediul
sinapselor. Dac` efectul cumulativ al acestor stimuli (intr`ri) face ca poten\ialul de

membran` s` creasc` peste un anumit prag, neuronul se activeaz` propagnd o


secven\` de activare prin axon, c`tre al\i neuroni.
Neuronii biologici sunt compu]i din nucleu, corpul celulei, numeroase leg`turi
dendritice care produc conexiuni de la al\i neuroni prin sinapse ]i un trunchi axon ce
transport` o ac\iune poten\ial` de ie]ire la alt neuron prin leg`turi terminale ]i sinapse
(figura A.1.2).

Figura A.1.2 Transmiterea impulsului nervos prin lan\ul de neuroni


Conexiunile sunt f`cute prin dou` tipuri generale de sinapse: excitatoare ]i
inhibitoare. Activitatea neuronal` este legat` de crearea unui poten\ial electric denumit
poten\ial de membran`. Acest poten\ial poate fi m`rit sau mic]orat prin activitatea de
intrare recep\ionat` de la alte celule prin sinapse. Timpul cerut pentru ca un stimul s`
traverseze o sinaps` este aproape 1 ms. Activitatea unui neuron este m`surat` prin
frecven\a de aprindere (engl. firing) a poten\ialului.

Pentru a specifica o re\ea neural` artificial` sunt necesare urm`toarele elemente:


num`rul de neuroni;
modul de interconectare;
modul n care semnalele sunt combinate la intrarea neuronului;
func\iile de activare;
modul n care se propag` semnalele de la intrare la ie]ire;
ecua\iile dinamice care guverneaz` comportarea sistemului;
metoda de nv`\are folosit` la antrenarea re\elei.

Interconect`rile tuturor elementelor de procesare ]i direc\iile fluxurilor de


semnale [n cadrul re\elei produc informa\ie esen\ial` asupra arhitecturii de baz` a
sistemului. Ponderile sunt specificate prin matricile de ponderare W care determin`
complet conectivitatea re\elei ]i direc\ia de propagare a semnalului.
Semnalele se pot propaga [nainte, lateral, autoreac\ie sau [napoi. Valorile
ponderilor pe toate leg`turile de conectare corespund parametrilor sinaptici ai re\elei.
Acestea stabilesc cuno]tin\ele distribuite memorate de re\ea. Ponderile sunt numere
reale ce pot fi modificate printr-un proces de [nv`\are.

Acest algoritm simplificat de func\ionare a sistemului nervos a stat la baza


dezvolt`rii, de-a lungul a aproape 50 de ani de cercet`ri n domeniul re\elelor neurale
artificiale, a mai multor tipuri de arhitecturi conec\ioniste, mai mult sau mai pu\in
plauzibile biologic.
Algoritmii de nv`\are pentru re\ele neurale se pot clasifica n dou` categorii
principale:
cu [nv`\are supervizat`;
cu [nv`\are nesupervizat`.
Procedurile de [nv`\are cu supervizare, necesit` un teacher pentru specificarea
vectorului ie]irilor dorite ale re\elei (de exemplu, algoritmul back-propagation, ma]ina
Boltzmann). Procedurile de [nv`\are f`r` supervizare construiesc modele interne f`r` o
supervizare extern` (ca exemple pot fi enumerate re\eaua ART, re\eaua Kohonen cu
auto-organizare, etc).
{n ultimii ani au fost dezvolta\i algoritmi de [nv`\are pe baza unui indice
generic (engl. reinforcement learning). Metoda cu reinforcement learning utilizeaz` ca
indice de performan\` orice m`sur` ce poate fi prelucrat` de algoritmul de [nv`\are. {n
loc de a [ncerca s` se ob\in` anumite ie]iri ale re\elei pe baza ie]irilor \int`, aceast`
metod` [ncearc` s` determine acele ie]iri \int` ale re\elei care pot conduce la cre]terea
unei m`suri a performan\elor sistemului.
Figura A.1.3 prezint` o clasificare a celor mai importan\i algoritmi de [nv`\are
pentru modele conec\ioniste, din punct de vedere al strategiei de [nv`\are.
ALGORITMI DE {NV~|ARE PENTRU RE|ELE NEURALE

CU SUPERVIZARE

Regula delta
Backpropagation
{nv`\are hebbian`
Algoritmi stohastici

REINFORCEMENT

F~R~ SUPERVIZARE

Automate cu
[nv`\are

{nv`\are competitiv`
{nv`\are hebbian`

Figura A.13 Algoritmi de [nv`\are pentru re\ele neurale


Cele mai importante arhitecturi de re\ele neurale sunt urm`toarele:

ADALINE (Adaptive Linear Neural Element)


ART (Adaptive Resonant Theory)
BAM (Bidirectional Associative Memory)
Ma]ina Boltzmann
BSB (Brain-State-in-a-Box Network)
CCN (Cascade Correlation Network)

Ma]ina Cauchy
CPN (Counter Propagation)
Re\ele Hamming
Re\ele Hopfield
LVQ (Learning Vector Quantization)
MADALINE
MLFF cu BP (Multilayer Feedforward cu Backpropagation)
Neocognitron
Perceptron
PNN (Probabilistic Neural Network)
RBFN (Radial Basis Function Network)
SOFM (Self-Organizing Feature Map)

Figura A.1.4 prezint` o clasificare a arhitecturilor existente [n func\ie de tipul


metodei de [nv`\are.
Tipuri de arhitecturi de re\ele neurale

CU SUPERVIZARE

REINFORCEMENT

ADALINE
Boltzmann
Cascade Correlation
LVQ
Perceptron
MLFF cu BP
PNN
RBFN
Alopex

F~R~ SUPERVIZARE

ART
Hopfield
LVQ
Neocognitron
SOFM

Figura A.1.4 O clasificare a arhitecturilor conectioniste


in functie de metoda de antrenare
{n func\ie de mecanismul de [nv`\are, pot fi definite patru tipuri de [nv`\are [ntro re\ea neural` artificial` (figura A.1.5):

cu corec\ia erorii;
[nv`\are de tip hebbian;
[nv`\are competitiv`;
[nv`\are stohastic`.

Tipul de [nv`\are

CU COREC|IA ERORII

ADALINE
Cascade Correlation
Hopfield
Perceptron
MLFF cu BP
RBFN
Alopex

HEBBIAN~

BSB
Hopfield
BAM
Neocognitron

COMPETITIV~

ART
CPN
LVQ
SOFM

STOHASTIC~

Ma]ina Bolzmann
Ma]ina Cauchy
Alopex

Figura A.1.5 Clasificarea re\elelor neurale artificiale din punct de


vedere al procedurii de [nv`\are
O alt` clasificare (figura A.1.6) poate fi f`cut` [n func\ie de arhitectura re\elei:
re\ele feedforward cu un singur strat de neuroni, re\ele feedforward multistrat (sunt
re\ele cu dou` sau mai multe straturi de neuroni), re\ele recurente (au conexiuni
feedback care propag` ie]irile anumitor neuroni [napoi la intrarea altora, realiz@nd o
procesare repetat` a semnalelor)
Tip arhitectur`

Feedforward
cu un singur
strat
ADALINE
AM
Hopfield
LVQ
Perceptron
SOFM

Feedforward cu
mai multe
straturi
CCN
GRNN
MADALINE
MLFF cu BP
Neocognitron
RBF

Recurent`

ART
BAM
BSB
Ma]ina Boltzmann
Ma]ina Cauchy
Hopfield

Figura A.1.6 Clasificarea re\elelor neurale [n func\ie de tipul arhitecturii


De]i arhitecturile de re\ele neurale artificiale difer` printr-un num`r de
caracteristici, componenta tipic` [n toate aceste arhitecturi este neuronul sau elementul
de procesare (EP), care este [n esen\` un comparator care produce o ie]ire atunci c@nd
efectul cumulativ al stimulilor de la intrare dep`]e]te o valoare de prag.
{n figura A.1.7 este prezentat` structura de baz` a unui neuron cu mai multe
intr`ri.

u1(n-1)
W1i
u2(n-1)
W2i

Dinamic`
liniar`

unj(n-1)

neti(n)

Transformare
neliniar`
(f)

yi(n)

Wnj,i

1
i

Figura A.1.7 Modelul de baz` al unui neuron [ntr-o RNA


Elementul de procesare de baz` poate fi considerat a avea trei componente
(figura A.1.7):
un sumator / comparator (realizeaz` suma intr`rilor ponderate);
un sistem dinamic liniar SISO;
o func\ie neliniar`.
Neuronul realizeaz` o aplica\ie f(.) [ntre spa\iul intr`rilor ]i spa\iul ie]irilor,
produc@nd o ie]ire
yi( n ) = f ( w ji u (j n 1) + i ) = f (neti( n ) )
j

(2.1)

unde neti(n) reprezint` efectul cumulativ al stimulilor de intrare ai neuronului (intrarea


neuronului i din stratul n), yi(n) este ie]irea neuronului i din stratul n, iar f este [n mod
uzual o func\ie neliniar` de intrarea neti(n) (func\ie monoton` cresc`toare). Termenul de
prag (bias) inclus [n defini\ia neti(n) reprezint` influen\a unei intr`ri constante (+1) ]i
permite modificarea focarului func\iei de activare. {n figura A.1.8 este prezentat
r`spunsul unei func\ii de activare de tip sigmoidal pentru = 2, cu diverse grade de
activare = 0.2, 0.5 ]i 0.9.

Figura A.1.8 Func\ia de activare de tip sigmoidal

{n figura A.1.9 sunt prezentate c@teva exemple ale celor mai folosite func\ii de
activare f(.): de tip treapt` (hard limiter), de tip sigmoidal, de tip tangent` hiperbolic`,
satura\ie (limiter), func\ii de baz` radiale (de tip Gaussian, Cauchy, multicuadric`
invers`), func\ie de tip zon` moart`.

Func\ia sigmoid`:

y=

1
1+ e

( x )

Func\ia tangent` hiperbolic`:

y=

e( x ) e ( x )
e( x ) + e ( x )

Func\ia satura\ie:

1 daca ( x ) 1

y = x daca | x |< 1
1 daca ( x ) 1

Func\ia treapt` (hard-limiting):

1 daca ( x ) < 0
y=
1 daca ( x ) > 0

Func\ie RBF Gaussian`:

y= e

(x )2
r2

, r = 0.2, r =1

Func\ie RBF Cauchy:

y=

r2
, r = 0.2, r = 1
(x )2 + r 2

Func\ie RBF multicuadric invers`:

y=

r
(x )2 + r 2

, r = 0.2, r = 1

Zon` moart`:

x + 1 daca ( x ) < 1

y=
0 daca | x |< 1
x 1 daca ( x ) > 1

Figura A.1.9 Func\ii de activare uzuale

A.2 Perceptronul
Re\elele de tip perceptron au fost introduse pentru prima dat` de Frank
Rosenblatt [n anii 50 ]i se doreau a fi un model al retinei. Perceptronul clasic este o
re\ea de clasificare de pattern-uri care utilizeaz` pentru diferen\ierea [n clase o func\ie
discriminant de tip hard-limiting (neliniaritate dur`). {n figura A.2.1 este prezentat`
arhitectura unei re\ele perceptron.
x1
x2

w1

w2

wixi

+1
-1

w0 =

Figura A.2.1 Arhitectura re\elei perceptron

{n defini\ia re\elei se poate include ]i o valoare de prag (bias) , caz [n care


vectorul ponderilor re\elei trebuie extins cu ponderea corespunz`toare intr`rii constante
1.
Re\eaua de tip perceptron are abilitatea de a realiza opera\ia de clasificare [n
clase distincte [n cazul [n care aceste clase sunt liniar separabile. {n figura A.2.2 este
prezentat modul [n care este realizat` clasificarea [n doua clase. Neuronul calculeaz`
suma ponderat` a intr`rilor, care este transmis` la ie]ire printr-o neliniaritate dur`,
astfel [nc@t ie]irea s` fie +1 sau -1. Perceptronul formeaz` doua regiuni de decizie
separate printr-un hiperplan (pentru n = 2 acest hiperplan este o dreapt`).
x2

clasa 1

net = wixi + = 0
x1

clasa 2

Figura A.2.2 Formarea regiunilor de decizie [ntr-o re\ea de tip perceptron


(x Rn , n = 2, xi {+1, -1}, y {+1, -1}) , = - bias
Pentru exemplul considerat [n figura A.2.2 (func\ia f(.) este monoton
cresc`toare):
net = x1 w1 + x 2 w2 =

x i wi

Dac`

xTW =
xTW =

xi wi > atunci x apar\ine clasei 1

xi wi < atunci x apar\ine clasei 2

i 1
n
i= 1

(2.2)

{ntr-o re\ea perceptron ponderile de conexiune ]i pragul pot fi fixe sau pot fi
ajustate conform unui anumit algoritm:

dac` clasele sunt liniar separabile, exist` un vector de ponderi W Rn+1 care va
fi determinat [ntr-un num`r finit de itera\ii, astfel [nc@t opera\ia de clasificare s`
fie realizat` f`r` erori;

dac` clasele nu sunt liniar separabile, algoritmul va avea un comportament


oscilator.

{n tabelul 1 este prezentat algoritmul original de [nv`\are al perceptronului


dezvoltat de Rosenblatt, conform [Lippmann, 1987].

Algoritmul de [nv`\are al perceptronului


(algoritm de [nv`\are cu supervizare)
p

n m
Pas 0. Se dau datele: vectorii de intr`ri {x R } p = 1

vectorul de ie]iri dorite {tp}, t {-1, +1}, p = 1, ..., m


Pas 1. Se ini\ializeaz` valorile ponderilor W(0) ]i pragului cu valori mici
aleatoare
Pas 2. Repet`

cite]te o nou` intrare xp = [x1p ... xnp] ]i ie]irea dorit` corespunz`toare tp

calculeaz` ie]irea curent` a re\elei yp = f(WT xp)

actualizeaz` ponderile Wnew = Wold + W


unde wi = (tp - yp)xpi , i = 1, ...,n
Tabelul 1

unde

wi
xpi
tp
yp
(0,1)

varia\ia ponderii de conexiune dintre intrarea i ]i neuronul de ie]ire


componenta i a intr`rii x pentru patternul p
ie]irea dorit` pentru patternul de intrare p
ie]irea re\elei pentru patternul de intrare p
factorul de [nv`\are

Factorul de [nv`\are trebuie adaptat [n scopul realiz`rii unui compromis [ntre


adaptarea rapid` la modificarea distribu\iei intr`rilor ]i la medierea intr`rilor anterioare
pentru ob\inerea unei estim`ri stabile a ponderilor [Lipmann, 1987].
{n cazul [n care clasele nu sunt liniar separabile, algoritmul de [nv`\are al
perceptronului trebuie [nlocuit cu o regul` de adaptare care s` conduc` la ob\inerea unei
valori minime a criteriului de performan\`. {n acest caz se folosesc neuroni cu func\ii de
activare de tip neliniaritate sigmoidal` (func\ii de activare diferen\iabile continue
monoton cresc`toare).
{n acest caz algoritmul de adaptare a ponderilor poart` numele de regula Delta
(tabelul 2). Ie]irea re\elei va fi:
n

y = f ( x w) = f ( x i w i )
T

i= 1

10

(2.3)

Regula Delta
(algoritm de [nv`\are pentru o re\ea perceptron cu func\ie de activare
diferen\iabil`)
p

n m
Pas 0. Se dau datele: vectorii de intr`ri {x R } p = 1

vectorul de ie]iri dorite {tp}, t {-1, +1}, p = 1, ..., m


Pas 1. Se ini\ializeaz` valorile ponderilor W(0) ]i pragului cu valori mici
aleatoare
Pas 2. Repet`

cite]te o nou` intrare xp = [x1p ... xnp] ]i ie]irea dorit` corespunz`toare tp

calculeaz` ie]irea curent` a re\elei yp = f(WT xp)

calculeaz` eroarea e = tp - yp

calculeaz` eroarea generalizat`

actualizeaz` ponderile Wnou = Wvechi +wi

= (t p y p ) f ' ( x T w )

unde wi = pxpi , i = 1, ...,n

Tabelul 2
Not@nd cu Et eroarea total` la ie]irea re\elei pentru toate cele P pattern-uri din
setul de antrenare ]i cu Ep eroarea la stratul de ie]ire pentru pattern-ul p, p = 1, 2, ..., P,
(m este num`rul de neuroni din stratul de ie]ire):
Et =

Ep

p= 1

Ep =

]i

1 m p
(t j y jp ) 2 , m = 1
2 j= 1

(2.4)

{n acest caz
n
Ep

=
(t p f ( wi x ip )) 2 =
wi wi
i= 1
n

= 2(t p y p ) f ' ( w i x ip ) x ip =

(2.5)

i= 1

= 2 x
p

unde s-a notat cu


neuronului j.

p
i

= (t p y p ) f ' ( x T w) , iar t jp este valoarea \int` (dorit`) a ie]irii

11

{n consecin\`, ajustarea ponderilor se face dup` regula urm`toare (regula Delta)


prezentat` [n tabelul 2:
w inou = w ivechi + x i

(2.6)

A.3 Re\ele de tip MLP ]i a algoritmul back-propagation


Re\elele de tip perceptron multistrat (engl. Multilayer Perceptrons - MLP) sunt
re\ele feedforward cu unul sau mai multe straturi de neuroni [ntre cele dou` straturi de
intrare, respectiv de ie]ire (figura A.3.1). Aceste straturi poart` numele de straturi
ascunse (engl. hidden layers) ]i con\in neuroni ce nu sunt conecta\i direct la nodurile din
stratul de intrare, respectiv de ie]ire. Sunt re\ele mai complexe dec@t perceptronii simpli,
capacitatea lor de aproximare / [nv`\are dep`]ind limit`tile perceptronului. Capacitatea
de aproximare a re\elelor MLP este datorat` func\iilor neliniare de activare ale
nodurilor.

strat de
intrare

straturi ascunse

strat de
iesire

Figura A.3.1 Re\ea de tip perceptron multistrat cu dou` straturi ascunse


Straturile interne sunt numite ascunse deoarece ele recep\ioneaz` intr`ri
interne (intr`ri de la alte unit`\i de procesare) ]i produc ie]iri interne (ie]iri c`tre alte
unit`\i de procesare). {n consecin\`, aceste straturi sunt ascunse [n raport cu lumea
extern`. Unitatea j din stratul ascuns recep\ioneaz` intrarea i prin ponderea sinaptic` w ij,
i = 1, 2, ..., n ]i j = 1, 2, ..., h. Unitatea j calculeaza o func\ie de semnalul de intrare x ]i
ponderile wij ]i transfer` ie]irea sa spre toate celelalte unit`\i din stratul urm`tor. {n mod
similar se transmit informa\iile spre straturile urm`toare.
Aceste arhitecturi de re\ele ]i-au c@]tigat popularitatea deoarece sunt capabile de
transform`ri arbitrare de forma g: Rn Rm unde g(x) = z. Asemenea transform`ri sunt
posibile dac` exist` un num`r suficient de unit`\i ascunse ]i dac` re\eaua poate fi
antrenat`, adic` dac` poate fi g`sit un set de ponderi ce realizeaz` transformarea dorit`.
Ca metod` de [nv`\are [n astfel de re\ele neurale de utilizeaz` algoritmul backpropagation (sau algoritmul cu propagarea [napoi a erorii). Algoritmul backpropagation este o metod` de [nv`\are ce poate fi aplicat` oric`rei re\ele multistrat ce
folose]te func\ii de activare diferen\iabile ]i o metod` de antrenare supervizat`. Este o

12

procedur` de optimizare bazat` pe metoda gradientului descendent ce ajusteaz`


ponderile pentru a reduce functia de cost. Fiecare pattern de antrenare (intrare a re\elei)
este propagat [nainte strat cu strat p@n` c@nd este calculat` ie\irea re\elei. Ie]irea
calculat` va fi comparat` cu valoarea dorit`, calcul@ndu-se eroarea dintre aceste dou`
valori. Erorile de la ie]irea re\elei vor fi propagate [napoi la intrare prin straturile
ascunse pentru ajustarea ponderilor re\elei. Leg`turile [napoi sunt folosite numai pentru
faza de [nv`\are, [n schimb conexiunile [nainte sunt folosite at@t pentru [nv`\are c@t ]i
pentru func\ionare.
Folosind algoritmul back-propagation, ponderile stratului ascuns sunt ajustate
folosind erorile din stratul anterior. Gradientul erorii calculat [n func\ie de ponderile
straturilor ascunse este ob\inut propag@nd [napoi eroarea de la stratul de ie]ire. Deoarece
aceast` opera\ie se realizeaz` pentru fiecare strat separat, adaptarea ]i actualizarea
ponderilor nu sunt opera\ii sincrone.
Intr`rile ]i ie]irile re\elei sunt uT = [u1, u2, ..., uN], respectiv yT = [y1, y2, ..., yM].
Transformarea neliniar` ]i derivata acesteia sunt f, respectiv f. Derivatele erorii de la
stratul de ie]ire sunt propagate [napoi prin intermediul ponderilor, pentru a estima
derivatele corespunz`toare la straturile ascunse. Modificarea ponderii re\elei dintre
neuronul j din stratul (n-1) ]i neuronul i din stratul n, corespunz`toare intr`rii p din setul
de antrenare este:
w ji =

pj

y pi

(2.45)

unde

pi

= (d j y j ) f ' j

(2.46)

corespunde neuronilor din stratul de ie]ire, ]i

pi

= (

pk

wkj ) f ' j

(2.47)

pentru fiecare neuron din straturile ascunse.


Pentru a demonstra modul de func\ionare a unei astfel de re\ele neurale, s`
consider`m o re\ea MLP cu un singur strat ascuns (figura A.3.2).
H1

x1

v11

x2
x3

v12
v13

z1
w11

v21

y1

v22
v23

y2

Figura A.3.2

13

w12
w21
w22
w31
w32

z2
z3

unde se folosesc urm`toarele nota\ii:


x Rn
h
m
P
xp Rn
vji

vectorul de intrare al re\elei (n neuroni [n stratul de intrare)


num`rul de neuroni din stratul ascuns
num`rul de neuroni din stratul de ie]ire
num`rul de patternuri de antrenare (vectori de intrare ai re\elei)
patternul p de antrenare, p = 1, 2, ..., P
ponderea de conexiune [ntre neuronul j din stratul ascuns ]i neuronul i
din stratul de intrare (i = 1, 2, ..., n, j = 1, 2,..., h)
ponderea de conexiune [ntre neuronul k din stratul de ie]ire ]i neuronul j
din stratul ascuns (j = 1, 2,..., h, k = 1, 2, ..., m)
ie]irea neuronului j din stratul ascuns pentru patternul de antrenare p,
j = 1, 2,..., h
ie]irea neuronului k din stratul de ie]ire pentru patternul p, k = 1, 2, ... ,
m
ie]irea dorita a neuronului k din stratul de ie]ire pentru patternul p,
k = 1, 2, ... , m
func\ia neliniar` de activare a neuronilor, arbitrar`, m`rginit`,
diferen\iabil` (aceea]i pentru toate straturile)

wkj
y jp
z kp
tkp
f(.)

Definim urm`toarele:

intrarea neuronului j din stratul ascuns

Hj =

v ji xi , j = 1, 2, ..., h

i= 1
h

intrarea neuronului k din stratul de


ie]ire

Ik =

ie]irea neuronului j din stratul ascuns


ie]irea neuronului k din stratul de ie]ire

y j = f ( H j ) , j = 1, 2, ..., h
zk = f ( Ik ) , k = 1, 2, ... , m

j= 1

wkj y j , k = 1, 2, ... , m

{n mod evident, pentru f neliniar, zk este o func\ie neliniar` de patternul de


intrare x ]i de parametrii (ponderile) sistemului W = (v ji, wkj), i = 1, 2, ... , n, j = 1, 2, ...,
h, k = 1, 2, ... , m. Ie]irea instantanee a re\elei pentru un pattern de intrare x va fi:
z k = f ( I k ) = f ( wkj y j ) = f ( wkj f ( H j )) = f ( wkj f ( v ji xi ))
j

sau
Z = g(f, x, W),

Z Rm

(2.48)
(2.49)

unde g este o func\ie vector m dimensional`.


{n dezvoltarea algoritmului pentru o asemenea re\ea folosim o metod` ce
specific` cum se reduce eroarea total` a sistemului pentru toate pattern-urile prin
ajustarea ponderilor.

14

Definim eroarea total` Et ca media erorilor de ie]ire pentru toate patternurile de


antrenare
Et =

1 P p
E
P p= 1

(2.50)

Num`rul pattern-urilor P de antrenare va depinde de aplica\ie ]i de m`rimea


setului de antrenare (P poate fi finit sau nu). Desigur, [n practic` P are dimensiune finit`
]i reprezint` un e]antion reprezentativ din distribu\ia de popula\ii (x).
Pentru P foarte mare definim eroarea total` sub forma:
1 P p
Et = lim E
P P
p= 1

(2.51)

Evident, eroarea sistemului va fi mic` dac` eroarea pentru fiecare pattern de


antrenare, Ep, va fi redus`, pentru orice dimensiune a setului de antrenare P. La pasul
(s+1) al procesului de antrenare ajustarea ponderilor ar putea fi proportional` cu
derivata erorii Ep calculat` la itera\ia s.
La itera\ia (s+1), ajustarea ponderilor se face cu o cantitate egal` cu:

Ep
W ( s + 1) =
W (s)

(2.52)

unde este coeficientul constant de [nv`\are ]i


Ep
Ep
=
W
v11

Ep
v12

...

Ep
w11

Ep
w12

...

(2.53)

iar gradientul erorii totale a sistemului [n raport cu parametrii re\elei este dat de rela\ia:

Et 1 P E p
=
W P p= 1 W

(2.54)

Ca indice de performan\` al re\elei (func\ie de cost) se va utiliza eroarea medie


p`tratic` (suma erorilor pentru to\i neuronii din stratul de ie]ire):
Ep =

1 m p
(tk zkp )2
2 k= 1

(2.55)

{n acest fel, actulizarea ponderilor de conexiune [ntre neuronii din stratul


ascuns ]i neuronii din stratul de ie]ire la itera\ia (s+1), pentru pattern-ul de antrenare p,
se va face conform rela\iei urm`toare:

15

wkj ( s + 1) = wkj ( s) + wkj = wkj ( s )

Ep
wkj ( s)

(2.56)

Pentru calculul lui Ep [n raport cu wkj, consider`m derivatele [n func\ie de


cantit`\ile dependente de ponderi, adic` Ik ]i Hj. Pentru a simplifica, not`m Ep = E. Cu
nota\iile ]i defini\iile anterioare se poate calcula derivata erorii E pentru patternul p la
stratul de ie]ire [n func\ie de parametrii re\elei (ponderile wkj):

E
E Ik
E
=
=
(
w kj I k w kj I k w kj
av@nd [n vedere c`

w kj

w kj y j ) =

j= 1

E
yj
Ik

(2.57)

w kj y j = y j .

j= 1

{n mod analog

E E zk

=
= (t k z k )
( f ( I k )) = (t k z k ) f ' ( I k )
Ik zk Ik
Ik
deoarece E =

(2.58)

1 m p
(t k z kp ) 2 .
2 k= 1

Dac` definim acum eroarea local` la elementul de procesare k din stratul de


ie]ire:

k = ( tk z k ) f ' ( I K )

(2.59)

se ob\ine urm`toarea regul` de actualizare a ponderilor de conexiune [ntre stratul ascuns


]i stratul de ie]ire pentru un singur pattern p:
wkj =

E
= k yj
wkj

(2.60)

Derivatele erorii la stratul de ie]ire vor fi propagate [napoi prin re\ea pentru a
calcula derivatele corespunz`toare la stratul ascuns. Astfel, actualizarea ponderilor la
stratul ascuns se va face cu urm`toarea cantitate:
v ji =
unde

n
E
E Hj
E
E
=
=
( v ji xi ) =
xi (2.61)
v ji
H j v ji
H j v ji i = 1
Hj

E
E yj
E
E '
=
=
( f ( H j )) =
f (H j )
Hj yj Hj yj Hj
yj

16

(2.62)

]i

Hj
v ji

(v ji x i ) = x i
v ji

|in@nd cont c`

E
1
1
=
( (t k f ( w kj y j )) 2 =
y j y j 2 k= 1
2 k
j= 1
m

(t k f ( w kj y j )) 2
j

yj

= (t k z k ) f ' ( I k )w kj
k

(2.63)
]i combin@nd opera\iile de mai sus, ob\inem regula de actualizare a ponderilor de
conexiune [ntre stratul de intrare ]i stratul ascuns:
v ji = j x i = x i f ' ( H j ) k w kj
k

(2.64)

unde s-a notat

j = f ' ( H j ) k wkj
k

k = ( tk z k ) f ' ( I k )
Matricele de ponderare se ini\ializeaz` aleg@nd pentru ponderi valori aleatoare
mici. Astfel, pentru re\eaua MLP considerat` [n figura A.3.2 s-au ob\inut urm`toarele
reguli de actualizare a ponderilor de conexiune [ntre neuroni:
w kj ( s) = w kj (s 1) + w kj = w kj ( s 1) + y j (t k z k ) f ' ( I k )

(2.65)

v ji ( s) = v ji ( s 1) + v ji = v ji ( s 1) + xi f ' ( H j ) k wkj

(2.66)

{n rela\ia 2.66 se utilizeaz` valorile j ca erori pentru fiecare din unit`\ile ascunse
j, deoarece pentru unit`\ile ascunse nu avem valori \int` pe care s` le folosim la calculul
erorilor. Desigur, termenii j ]i k din ecua\iile de mai sus difer`. Algorimul de antrenare
back-propagation este prezentat [n tabelul 3.
{nainte de a selecta o arhitectur` MLP pentru o aplica\ie dat` trebuie date
r`spunsuri la mai multe [ntreb`ri:

care sunt func\iile (transform`rile) ce pot fi reprezentate cu ajutorul re\elelor


MLP;
c@te straturi este necesar a fi utilizate ]i c@te unit`\i de procesare pot fi ales
optimal [n fiecare strat pentru aplica\ia dat`;

17

ce schem` de codificare a intr`rilor ar putea fi folosit` pentru reprezentarea


pattern-ului de intrare;
ar putea fi normalizate intr`rile ]i cum;
care este capacitatea de memorare a unei re\ele date;
este arhitectura total conectat` cea mai potrivit` pentru aplica\ia considerat`;
ce constituie un set de antrenare;
cum poate fi ob\inut un set de antrenare;
ar putea fi ad`ugat` o component` de zgomot la pattern-urile de antrenare;
cum poate fi detectat ]i evitat un minim local;
cum poate fi acelerat procesul de [nv`\are;
cum pot fi ini\ializate ponderile;
care sunt cele mai bune func\ii de activare pentru o aplica\ie dat`;
ce performa\e (precizie, robuste\e, abilitatea de generalizare) sunt dorite
pentru o aplica\ie;
cum pot fi testate ]i m`surate performan\ele;

R`spunz@nd la cele mai multe dintre [ntreb`rile men\ionate se poate dezvolta cu


u]urin\` o arhitectur` multistrat eficient` pentru o aplica\ie dat`.
{n ceea ce prive]te algoritmul de antrenare back-propagation trebuie f`cute
urm`toarele observa\ii:

algoritmul de antrenare back-propagation necesit` ca func\iile de activare s` fie


limitate ]i diferen\iabile; cea mai utilizat` func\ie de activare [n re\ele MLP este
func\ia sigmoidal`;

procedura de antrenare care utilizeaz` algoritmului back-propagation este bazat`


pe calcul gradientului care conduce la un set de ponderi (Wk) care asigur`
minimul func\iei E (func\ia de eroare) pentru toate perechile de pattern-uri de
antrenare:
P

E(W k ) = min E p (W , x p )
W
p= 1

(2.67)

Aceast` problem` este o problem` de optimizare parametric` pentru care metoda


gradientului este eficient`. {n general suprafa\a erorii este complex` ]i prezint` mai
multe minime locale. Mul\imea minimelor apare [n parte datorit` simetriei ponderilor ]i
nodurilor [n re\ea. Pentru orice valoare dat` a erorii E exist` multe permuta\ii de
ponderi care dau na]tere la aceea]i valoare E. Minimul apare de asemenea ca rezultat al
compens`rii efectelor ponderilor cu semn opus precum ]i datorit` sum`rii multiplelor
componente neliniare din spa\iul pattern-urilor.
Procesele de c`utare a minimului depind de forma suprafe\ei erorii, de procedura
de [nv`\are ]i de setul de antrenare. La [nceputul procesului de antrenare se aleg valorile
ini\iale ale ponderilor care afecteaz` viteza de convergen\`. Alegerea valorilor ini\iale
W(0) aprooape de valoarea de optim W* poate conduce la o convergen\` rapid`. Pe de
alt` parte, o alegere proast` a valorilor ini\iale ale ponderilor poate determina un timp
foarte lung de c`utare (zeci de mii de itera\ii) sau chiar neconvergen\a. De exemplu,

18

dac` toate ponderile ini\iale sunt identice nu se va asigura convergen\` deoarece toate
unit`\ile ascunse conectate la unit`\ile de ie]ire vor recep\iona valori identice ale erorii,
sistemul ram@n@nd [n echilibru. Dac` se aleg valori ini\iale ale ponderilor prea mari
func\ia de activare poate atinge o valoare de satura\ie ]i \in@nd cont de regula de
actualizare a ponderilor, derivata ei este aproape nul`.
Algoritmul BP (backpropagation)
Initializeaza

toate ponderile W la valori aleatoare mici in domeniul [-,].


Selecteaza aleator o pereche de patternuri de antrenare {xp, tp} si
calculeaza in directia inainte valorile iesirii pentru fiecare unitate j a
fiecarui strat q, astfel,
O qj = f ( Oiq 1wqji )
i

o
De notat ca intrarile la un strat sunt indexate cu indicele o, O j = x j .

Q
p
valorile O j calculate pentru unitatile de iesire si valorile tinta t j
pentru a calcula cantitatile delta:

Utilizeaza

Q
j

= ( O Qj t jp ) f ' ( H Qj )

pentru toti j care folosesc patternul p.


pentru fiecare din straturile precedente prin propagarea inapoi a
erorilor folosind

Calculeaza

q 1
j

= f ' ( H qj 1 ) iq wqji
i

pentru toti j in fiecare din straturi q = Q.


Ajusteaza

toate ponderile wji folosind relatia


w(jis ) = w(jis 1) + wqji

q
q q 1
pentru fiecare strat q, unde w ji = i O j

Intoarce la 2 si repeta pentru fiecare pattern p pana ce eroarea totala a atins


un nivel acceptabil.
Tabelul 3

Algoritmul back-propagation poate fi aplicat direct pentru ajustarea ponderilor V


]i W. Ca o alternativ` se pot folosi estima\ii ale matricii W ob\inute ca mai sus pentru
estimare [napoi a matricii V [ntr-o manier` comparabil` cu g`sirea estima\iilor lui W

19

[ntr-o procedur` de estimare [nainte. Prin aplicarea [n mod iterativ a estim`rilor


[nainte-[napoi (forward - backward) se poate ob\ine o estimare recurent` a ambelor
matrici V ]i W.

coeficientul ce define]te viteza de [nv`\are influen\eaz` viteza de convergen\`.


O valoare prea mare a coeficientului poate atrage apari\ia oscila\iilor iar
convergen\a este mai lent`. Pe de alt` parte, o valoare prea mic` va conduce la
cre]terea timpului total p@n` se atinge convergen\a.

utilizarea func\iei sigmoidale [n cadrul arhitecturilor MLP, de]i are plauzibilitate


biologic` ]i propriet`\i de calcul bune, introduce serioase probleme de
convergen\`. Suprafa\` erorii indus` prin utilizarea func\iei sigmoidale prezint`
numeroase anomalii (minime locale) care tind s` [nt@rzie convergen\a sa sau
chiar s` impiedice atingerea unui optim (minim global). Costurile pentru
convergen\` ]i timp de calcul trebuiesc coroborate cu capacitatea de
transformare ]i generalizare a re\elei atunci c@nd se alege func\ia de activare.

A.4 Algoritmul Alopex


Alopex este un algoritm stochastic de [nv`\are pentru re\ele feedforward ]i re\ele
recurente [Venugopal, 1993]. {nv`\area este similar` procesului denumit simulated
annealing (analog procesului fizic de c`lire prin r`cire gradat`) utilizat [n cazul
ma]inii Boltzmann [Kirkpatrick, 1983]. Obiectivul este acela de a minimiza o func\ie de
eroare E (care depinde de ponderile re\elei {wij} ]i de intr`rile din setul de antrenare).
La itera\ia n, ponderea de conexiune wij dintre neuronii i ]i j este actualizat`
dup` regula
wij (n) = wij (n 1) + ij (n)

(5.12)

unde ij(n) este un pas de actualizare de forma

ij (n) =

cu probabilitatea Pij (n)


cu probabilitatea 1 Pij (n)

(5.13)

Probabilitatea de efectuare a unui pas negativ, Pij(n), este


Pij (n) =

1
1 + exp( Cij (n) / T )

(5.14)

unde Cij este dat de corela\ia


Cij (n) = wij (n) E (n)

(5.15)

wij ]i E(n) sunt modific`rile ponderilor ]i erorii de m`sur` corepunz`toare la


dou` itera\ii anterioare, adic`

20

wij (n) = [ wij (n 1) wij (n 2)] ]i


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

(5.16)

T este un parametru pozitiv, denumit temperatur` (analogul aceluia]i


parametru corespunz`tor ma]inii Bolzmann). Parametrul temperatur` T va fi ajustat,
valoarea sa mic]or@ndu-se [n sensul sc`derii erorii E, pe m`sur` ce se apropie de minim
(figura 5.3). Temperatuta T este ajustat` la fiecare N itera\ii dup` regula [Venugopal,
1993]:

n 1
E (n ' ) daca n e multiplu de N
N n' = n N
T (n) = T (n 1) altfel
T ( n) =

Figura A.4.1 Varia\ia temperaturii T [n raport cu eroarea E

21

(5.17)

Algoritmul va favoriza acele modidific`ri ale ponderilor care vor duce la


decre]terea erorii E. Dac` E este negativ`, probabilitatea de modificare a fiec`rei
ponderi [n aceea]i direc\ie este mai mare dec@t 0.5. Dac` E este pozitiv`, probabilitatea
modific`rii fiec`rei ponderi [n direc\ie opus` este mai mare de 0.5.
Pentru actualizarea ponderilor algoritmul Alopex nu folose]te gradientul erorii,
ci folose]te corela\ii locale [ntre modific`rile ponderilor ]i modific`rile erorii globale.
Nu presupune o form` specific` a func\iei de transfer a neuronilor ]i nu depinde explicit
de o form` func\ional` a m`surii erorii. Din aceasta cauz` poate fi utilizat [n re\ele cu
func\ii de transfer arbitrare ]i pentru minimizarea unor m`suri ale erorii diferite.
Avantajul principal al acestui algoritm este acela c` poate fi folosit at@t pentru re\ele
feedforward, c@t ]i pentru re\ele recurente [Venugopal, 1993].
Algoritmul de antrenare Alopex are o proprietate foarte atractiv` din punct de
vedere al sistemelor de conducere adaptive. Dup` cum se observ` [n ecua\iile 5.15 5.17, adaptarea parametrilor (ponderilor re\elei) se face pe baza corela\iilor dintre
valorile func\iei de eroare la doi pa]i anteriori pasului curent ]i a varia\iilor fiec`rei
ponderi. {n acest fel este posibil` implementarea unei structuri de conducere direct`
invers` adaptiv`, deoarece eroarea de la ie]irea procesului la pasul curent va putea fi
utilizat` pentru ajustarea ponderilor regulatorului neural la pa]ii urm`tori. {n acela]i
timp, ajustarea ponderilor se face la fiecare pas, incremental.

A.5 H`r\i cu auto-organizare Kohonen


{n aplica\iile din robotic` este util` de foarte multe ori clasificarea unui spa\iu de
intrare de dimensiune mare ]i maparea automat` a acestuia ([n manier` nesupervizat`)
[ntr-un spa\iu de ie]ire de dimensiune mai mic`. Aceast` reducere de dimensiune este o
form` de generalizare, reducerea complexit`\ii realiz@ndu-se [n acela]i timp cu re\inerea
caracteristicilor "relevante" ale spa\iului de intrare. Pentru astfel de opera\ii, h`r\ile de
caracteristici cu auto-organizare (engl. Self-Organisation Feature Maps - SOFM) sau
a]a-numitele re\ele Kohonen, reprezint` un mecanism care realizeaz` o mapare
nesupervizat` a unui spa\iu de intrare de dimensiune mare [ntr-un spa\iu de ie]ire ([n
mod tipic) bi-dimensional (Kohonen, 1988).
Re\eaua neuronal` SOFM este format` [n mod normal dintr-o re\ea de unit`\i
(neuroni) bi-dimensional` (figura A.5.1).

Toate unit`\ile primesc acela]i vector de intrare i . Ini\ial, vectorii de ponderi w


sunt ini\ializa\i [n mod aleator ]i normaliza\i. Ie]irea fiec`rei unit`\i a re\elei, oj, este
dat` de rela\ia urm`toare:

oj = wj i

O singur` unitate v` r`spunde semnificativ la un anumit vector de intrare.


Aceast` unitate "[nving`tor", [mpreun` cu unit`\ile [nvecinate, vor fi antrenate pentru a
r`spunde ]i mai puternic la acel vector de intrare, aplic@nd urm`toarea regul` de
antrenare:

22

w j (t + 1) = w j (t ) + i w j (t )

unde este rata de [nv`\are.

Vector intrari
Exemplu
regiune
invecinata
neuronului
invingator
Neuron invingator

wj
oj

Figura A.5.1 Re\eaua SOFM


Pe m`sur` ce antrenarea progreseaz`, anumite zone ale re\elei SOFM vor avea
un r`spuns mai puternic la anumi\i stimuli de intrare, ob\in@ndu-se astfel o clasificare a
spa\iului intr`rilor printr-un spa\iu bi-dimensional. Clasificarea se realizeaz` [ntr-o
manier` topologic`, map@nd intr`ri similare [n regiuni [nvecinate ale re\elei.

A.6 Re\ele cu auto-organizare. Modelele ART1 ]i ART2


Re\elele neuronale de tip ART reprezint` o familie de modele inspirate de studii
neurofiziologice. Re\elele de tip ART sunt re\ele recurente, la care [nv`\area se
realizeaz` f`r` supervizare, printr-un algoritm de [nv`\are competitiv`. Re\eaua de tip
ART este utilizat` pentru clasificarea vectorilor prezenta\i la intrare pe baza asem`n`rii
(similarit`\ii) lor cu pattern-uri deja memorate. De asemenea, re\eaua ART furnizeaz`
un mecanism ce permite extinderea adaptiv` a stratului neuronilor de ie]ire (stratul
competitiv) p@n` la realizarea unei dimensiuni adecvate pe baza num`rului de clase.
Principalele caracteristici ale re\elei neuronale de tip ART (figura A.6.1) care
justific`, pe scurt, alegerea acestei strategii particulare de clasificare sunt urm`toarele:

[nv`\area f`r` supervizare. Prin auto-organizare, "prototipurile" se formeaz` [n


mod emergent, nefiind codificate explicit de proiectat;

[nv`\are [n timp-real. {ntr-un astfel de sistem cu [nv`\are nu este necesar` o


etap` de antrenare off-line, antrenarea ]i acumularea de informa\ie se realizeaz`
prin interac\iune direct` cu mediul;

[nv`\are continu`. {ntr-un astfel de sistem, [nv`\area se realizeaz` continuu pe


toat` durata normal` de operare, nefiind necesare etape separare de antrenare ]i
testare;

23

tratarea problemei denumit` "dilema stabilitate - plasticitate" (Dumitrache,


1999). Re\eaua ART poate [nv`\a informa\ie nou` f`r` a "uita" informa\ia
[nv`\at` anterior, prin simpla ad`ugare a unor noduri corespunz`toare noilor
prototipuri;

sensibilitate variabil` la detaliile perceptuale. Prin intermediul parametrului


variabil denumit "vigilen\`" se poate determina dimensiunea clusterelor. O
valoare mare a acestui parametru conduce la o clasificare fin`, [n timp ce o
valoare mic` conduce la categorii [n care similaritatea pattern-urilor clasificate
este mai pu\in clar definit`;

limite [nchise de clasificare. Un pattern prezentat la intrarea re\elei nu poate fi


clasificat [ntr-o categorie particular` dac` gradul s`u de similaritate este sub
pragul de vigilen\`. Astfel, re\eaua ART poate verifica dac` un pattern a mai fost
sau nu prezentat anterior ca intrare. Alte re\ele de tip competitiv, de exemplu re\
eaua cu cuantizare vectorial` (engl. Vector Quantisation), h`r\ile de caracteristici
cu auto-organizare Kohonen (SOFM), vor c`uta [ntotdeauna nodul cel mai
apropiat, chiar dac` intrarea prezentat` este foarte pu\in similar` oric`rui alt
pattern memorat deja;

proprietatea de auto-scalare. Asigur` faptul c` orice pattern care reprezint` un


subset al altui set nu va fi clasificat [n aceea]i categorie. Astfel, se poate face
distinc\ia [ntre pattern-uri care au caracteristici comune, [ns` apar\in unor clase
diferite.

Acest tip de re\ele neuronale realizeaz` clasificarea [n clustere a intr`rilor printro metod` de [nv`\are f`r` supervizare. Pattern-urile de intrare pot fi prezentate [n orice
ordine. La prezentarea fiec`rui pattern de intrare se va alege clusterul corespunz`tor,
fiind apoi ajustate ponderile corespunz`toare acestui cluster, astfel [nc@t nodul
(neuronul) corespunz`tor din stratul F2 s` "[nve\e" pattern-ul.
Neuron corespunz`tor
categoriei c@]tig`toare
Strat F2

Ponderi
feedforward

Ponderi
feedback

Strat F1

Modul
de reset

Vector intr`ri
I1

I2

I3

IN

Figura A.6.1 Arhitectura de baz` a re\elei neuronale de tip ART1. Unit`\ile din
stratul de caracteristici (F1) sunt complet conectate cu toate unit`\ile din stratul
de categorii (F2), prin intermediul a dou` seturi diferite de ponderi

24

Arhitectura re\elei de tip ART2 (figura A.6.2) reprezint` o generalizare a


arhitecturii de tip ART1, fiind capabil` s` [nve\e ]i s` recunoasc` pattern-uri de intrare
cu valori continue.
Neuron corespunz`tor
categoriei c@]tig`toare
Strat F2

Ponderi
feedforward

Ponderi
feedback

Strat F1

Modul
de reset

Strat F0

Vector intr`ri de la senzori


(sonar, senzori de infrarosu (etc)
I1

I2

I3

IN

Figure A.6.2 Arhitectura re\elei neuronale de tip ART2


Re\elele de tip ART (1 ]i 2) au fost proiectate pentru a permite utilizatorului s`
controleze gradul de similaritate [ntre pattern-urile plasate [n acela]i cluster. Deoarece
pattern-urile de intrare pot diferi la nivel de detaliu (num`r de componente diferite de
zero) [n locul diferen\ei absolute [ntre vectori se folose]te o similaritate relativ` [ntre
pattern-ul de intrare ]i vectorul ponderat, pentru o unitate din stratul de ie]ire (unitate
cluster).
A.6.1 Re\eaua cu auto-organizare ART1
Re\eaua neuronal` ART1 este capabil` s` auto-organizeze [n timp-real categorii
de informa\ie recunoscute stabil pentru secven\e arbitrare de pattern-uri de intrare. Pe
m`sur` ce re\eaua este antrenat`, fiecare pattern poate fi prezentat de mai multe ori la
intrare. La momentul ini\ial, un pattern poate fi plasat [ntr-un anumit cluster (adic` va
activa neuronul din stratul de ie]ire care reprezint` un anumit cluster). Datorit` faptului
c` ponderile corespunz`toare acestui cluster pot fi modificate pe m`sur` ce acesta [nva\`
alte pattern-uri, este posibil ca acest pattern s` fie asociat altui cluster la o prezentare
ulterioar`. O re\ea stabil` nu va returna pattern-ul clusterului anterior, adic` un pattern

25

care oscileaz` [ntre mai multe unit`\i cluster la diverse etape ale procesului de antrenare
indic` o re\ea instabil`. Abilitatea unei re\ele de a r`spunde ([nv`\a) un pattern la orice
pas al procesului de antrenare se nume]te plasticitate.
Arhitectura re\elei ART1 este format` din grupuri de neuroni grupa\i [n trei
straturi (figura A.6.3):

stratul F1(a) este stratul de intrare. Aici este prezentat vectorul binar de intrare
s (dim s = n);

stratul F1(b) este stratul de compara\ie. Acest strat combin` semnalele primite
de la stratul de intrare F1(a) ]i de la stratul de categorii F2, pentru calculul
similarit`\ii vectorilor;

stratul F2 este stratul de selectare a categoriilor. El con\ine unit`\ile cluster,


c@te una pentru fiecare categorie.

Mecanismul de reset este implementat prin intermediul unit`\ii de reset R.


Aceast` unitate permite utilizatorului s` controleze gradul de similaritate ale patternurilor ce pot fi plasate [n acela]i cluster. Pentru aceasta se utilizeaz` dou` seturi de
conexiuni [ntre fiecare din stratul de compara\ie F1(b) ]i stratul de categorii F2:
a)

stratul de compara\ie F1(b) este conectat la F2 de un set de ponderi bottom up, {bij}, i = 1, ..., n ]i j 1, ..., m;

b)

stratul F2 este conectat la stratul F1(b) de un set de ponderi top - down, {tij},
j = 1, ..., m, i = 1, ..., n.

y1

yj
tji

F2 = strat categorii (con\


ine unit`\ile cluster)

ym
bij

x1

xi

xn

F1(b) = strat compara\ie

s1

si

sn

F1(a) = strat intrare

Figura A.6.3 Arhitectura re\elei ART1


Stratul F2 este un strat competitiv: unitatea cluster cu cea mai mare intrare
(valoare a activ`rii) va candida pentru a [nv`\a pattern-ul prezentat binar prezentat la
intrare, s. Intr`rile tuturor celorlalte unit`\i F2 vor fi setate la zero. Unit`\ii cluster din
F2 [i va fi permis s` [nve\e un pattern de intrare [n func\ie de similaritatea [ntre vectorul
top-down ]i cel de intrare.

26

Gradul de similaritate necesar pentru ca pattern-urile s` fie alocate aceluia]i


cluster este controlat de un parametru numit vigilen\`, specificat de utilizator, care are
rolul de a controla starea fiec`rui nod din stratul F2. Astfel, la fiecare moment de timp,
un nod (unitate cluster) din F2 poate fi [n una din urm`toarele trei st`ri:

activ (on, activarea = d, d =1);

inactiv (off, activarea = 0, dar poate participa la competi\ie);

inhibat (off, activarea = 0, nu poate participa la competi\ie pentru vectorul


curent).

Pentru a exemplifica modul [n care circul` informa\ia [n re\eaua ART1, se


introduc nodurile suplimentare G1 ]i G2 (figura A.6.4).

F2 (strat categorii)

tji

bij

F1(b) (strat compara\ie)

G2

G1

F1(a) (strat intrare)

Figura A.6.4 Exemplificarea regulii 2/3 [n re\eaua ART1


Fiecare unitate din F1(b) are trei surse de semnal:

de la F1(a) - semnal de intrare;

de la un nod din F2 (semnal top-down);

de la unitatea G1.
Fiecare unitate din F2 are 3 surse de semnal:

de la stratul de compara\ie F1(b);

de la unitatea de reset, R;

de la unitatea G2.

Oricare dintre nodurile din F1(b) sau F2 vor fi activate dac` primesc dou`
semnale excitatoare de la cele trei surse semnal corespunz`toare (regula 2/3).
Unitatea G1 controleaz` regula de activare a unit`\ilor din F1(b), iar G2 a
unit`\ilor din F2.

27

Nodurile din stratul de compara\ie F1(b) sunt activate (sunt on) ]i vor trimite
un semnal (c`tre nodurile din F2 ]i c`tre unitatea de reset R) la prezentarea unui nou
vector de intrare s ]i dac` nu este activ nici un nod din F2. Aceast lucru [nseamn` c`
unitatea G1 este inhibat` ori de c@te ori o unitate din F2 este on (adic` neuronul
repectiv din F2 particip` la competi\ie pentru [nv`\area unui nou pattern).
Dac` nici o unitate din F2 nu este activ` (on), fiecare nod din F1(b) va primi
un semnal de la G1 (]i toate unit`\ile din F1(b) care primesc un semnal pozitiv de la
stratul de intrare F1(a) vor fi activate, adic` trec [n on).
Dac` o unitate din F2 a fost aleas` pentru competi\ie, adic` este on (are
intrarea cea mai mare pentru un anumit vector de intrare s), vor r`m@ne active [n F1(b)
doar acele noduri pentru care semnalul top-down ]i semnalul de intrare sunt similare.
Rolul unit`\ii de reset, R, este de a controla similaritatea dintre doi vectori. C@nd
nodurile din F1(a) sunt on, la unitatea R este trimis un semnal excitator, t`ria acestui
semnal depinz@nd de num`rul de unit`\i care sunt on. {n acela\i timp, R prime]te
semnale inhibitoare de la unit`\ile din F1(b) care sunt on. Dac` num`rul unit`\ilor din
F1(b) care sunt on este suficient de mare (fapt care este determinat de parametrul
vigilen\`) unitatea R nu va trece [n on. {n caz contrar, c@nd R trece [n on,
semnalul transmis c`tre stratul F2 va inhiba orice unitate din F2 care e on Acest lucru
for\eaz` alegerea unui alt nod pentru competi\ie (winning node) [n F2, care s` participe
la competi\ie pentru [nv`\area pattern-ului.
Algoritmul de antrenare al re\elei ART1 poate fi organizat astfel:
Algoritmul de antrenate al re\elei ART1
(antrenare f`r` supervizare)
Pas 1.

Vectorul de intrare binar s este prezentat la stratul de intrare F1(a); el


va fi transmis la unit`\ile din stratul de compara\ie, adic` x = s

Pas 2.

Semnalul x se transmite stratului F2 bottom -up:


yj =

bij xi

j = 1,..., m i = 1,..., n

Pas 3.

Se alege unitatea fin F2 cu intrarea cea mai mare, yJ, unde J este
indicele pentru care yJ = max{yj}, j = 1, ... , n. Aceast` unitate va fi
trecut` [n on (deci aleas` candidat pentru [nv`\area pattern-ului s),
iar toate celelalte sunt trecute [n off (inactive, activarea = 0).

Pas 4.

Se transmite un semnal de la neuronul din F2 care e on c`tre to\i


neuronii din F1(b) ]i se recalculeaz` x:
xi = sitJi, unde s = [ s1 s2 ... sn], i = 1, ... , n

Pas 5.

Unit`\ile Xi din F1(b) r`m@n on doar dac` primesc semnal non-zero


at@t de la F2, c@t ]i de la F1(a).

28

Pas 6.

Se calculeaz` norma lui x:


x =

xi , i = 1,..., n

Pas 7.

Test condi\ie de reset (pe baza parametrului vigilen\` )

atunci vor fi actualizate ponderile (bottom-up ]i


s
top-down) ale neuronului J din stratul F2 (L este un parametru
ales de utilizator, L > 1, 0 < < 1) :
Dac`

biJ =

Lxi
L 1+ x

t Ji = xi

Pas 8.

Pas 8.

< atunci unitatea candicat cu indicele J e rejectat`


s
(adic` va fi inhibat`, R e on) ]i este aleas` alt` unitate din F2
pentru [nv`\area pattern-ului curent; activ`rile unit`\ilor din
F1(b) sunt f`cute 0.
Dac`

< se reia procedura de la pasul 3, cu prezentarea aceluia\i


s
vector de intrare, dar f`r` participarea unit`\ii inhibate J.
Dac`

(s-au actualizat ponderile unit`\ii J), se testeaz`


s
condi\ia de STOP (s-a atins num`rul maxim de epoci, sau nu se mai
poate reseta nici o unitate, sau nu se mai modific` nici o pondere).
Dac`

Procesul continu` p@n` c@nd un candidat este acceptat sau toate unit`\ile sunt
inhibate. Dac` toate unit`\ile din F2 sunt inhibate, utilizatorul trebuie s` specifice ce se
poate [nt@mpla mai departe, adic`:

se poate reduce valoarea parametrului vigilen\` (ceea ce permite ca pattern-uri mai


pu\in similare s` fie alocate aceluia]i cluster) sau

s` creasc` num`rul de unit`\i cluster, sau

s` spun` c` pattern-ul de intrare prezentat curent nu poate fi clasificat.

Observa\ie:
Schimb`rile care au loc n activ`rile unit`\ilor ]i n ponderile re\elei neurale
ART sunt guvernate de ecua\ii diferen\iale. Re\eaua ART este un sistem dinamic, aflat
ntr-o continu` schimbare, dar procesul poate fi simplificat deoarece activ`rile unit`\ilor

29

se modific` mult mai rapid dect ponderile. Odat` ce o unitate cluster a fost selectat`
pentru nv`\are, semnalele bottom up ]i top down se men\in pentru o perioad`
ndelungat`, pe parcursul c`reia are loc actualizarea ponderilor. Acest proces poart`
denumirea de rezonan\`, explicnd numele re\elei neurale.
Pentru antrenarea re\elei neuronale de tip ART pot fi folosite dou` tipuri de nv`\
are ce difer` att din punct de vedere teoretic ct ]i din punct de vedere al
performan\elor. {n modul de antrenare rapid se presupune c` actualizarea ponderilor n
timpul rezonan\ei se face rapid, n raport cu timpul n care un pattern este prezentat la
intrare. {n modul lent de antrenare ponderile se actualizeaz` mai ncet n raport cu
durata unei etape de nv`\are (ponderile nu ating echilibrul n timpul fiec`reia dintre
ele). Pentru modul lent de antrenare sunt necesare mai multe prezent`ri ale patternurilor de intrare, dar sunt necesare mult mai pu\ine calcule pentru fiecare etap`.
{n modul rapid de antrenare, re\eaua este considerat` stabil` atunci cnd pentru
fiecare pattern prezentat la intrare este aleas` categoria corect`, f`r` apari\ia nici unui
eveniment de tip reset. {n modul lent de antrenare, actualizarea ponderilor nu atinge
echilibrul n timpul unei anumite etape de nv`\are, fiind necesare mai multe astfel de
etape.
A.6.2 Re\eaua cu auto-organizare ART2
Re\eaua neuronal` de tip ART2 (figura A.6.5) este proiectat` s` foloseasc`
vectori de intrare cu valori continue n acela]i mod n care re\eaua de tip ART1
folo]este vectori de intrare binari. Re\eaua ART2 are nevoie de un strat de intrare F 1
mult mai complex deoarece vectorii de intrare pot fi apropia\i [n valoare. Pe lng`
opera\iile de comparare a ponderilor bottom up ]i top down necesare mecanismului
de reset, stratul F1 include ]i o combina\ie de opera\ii ntre normalizare ]i eliminare a
zgomotului.
Re\eaua de tip ART2 poate fi folosit` pentru dou` tipuri de valori continue de
intrare. Primul tip este alc`tuit din a]a numitele semnale binare cu zgomot. Aceste
semnale cuprind pattern-uri a c`ror informa\ie const` n num`rul de componente care
sunt active (on) ]i n num`rul de componente care sunt virtual inactive (off) ]i nu n
diferen\a dintre componentele pozitive. Pentru astfel de valori de intrare este indicat s`
se foloseasc` un algoritm de antrenare rapid`. Datorit` faptului c` ecua\iile diferen\iale
folosite pentru actualizarea ponderilor depind de activ`rile unit`\ilor din stratul F1,
activ`ri ce se modific` pe m`sur` ce procesul de nv`\are evolueaz`, g`sirea ponderilor
de echilibru nu este un lucru u]or.
n cazul pattern-urilor de intrare, pentru care diferen\a dintre componente este
semnificativ` ]i vectorul de ponderi poate fi considerat un exemplar pentru pattern-urile
plasate n unitatea cluster, algoritmul de antrenare lent` este mai potrivit. Acest tip de
date poate fi considerat adev`rat continuu.
Stratul F1 este alc`tuit din ]ase tipuri de unit`\i si anume: W, X, U, V, P ]i Q, n
figura A.6.5 fiind reprezentat` o singur` unitate din fiecare fel. Exist` n unit`\i din
fiecare tip, n reprezentnd dimensiunea vectorilor de intrare. O unitate suplimentar`
aflat` ntre unit`\ile W ]i X prime]te semnale de la toate unit`\ile W, calculeaz` norma

30

vectorului w ]i trimite acest semnal inhibitor tuturor unit`\ilor X. Fiecare dintre aceste
unit`\i prime]te ]i un semnal excitator de la unitatea W corespunz`toare. n figura A.6.6
este reprezentat` aceast` por\iune a re\elei. O unitate asem`n`toare se afl` ntre unit`\ile
de tip P ]i Q ]i o alta ntre unitatile V ]i U. Fiecare unitate X este conectat` la unitatea V
corespunz`toare, ca de altfel ]i unit`\ile Q.

Y1

Yj
bij

Ri

cpi

Ym
tji

Pi

Qi
bf(qi)

Ui

Vi

aui

f(xi)
Wi

Xi
si

Figura A.6.5 Re\eaua neuronal` de tip ART2

N
Wn

Xn

Wi

Xi

W1

X1

Figura A.6.6 Detaliu conexiuni [ntre unit`\ile W ]i X, cu o


unitate de normalizare N
Simbolurile conexiunilor dintre diferite unit`\i ale stratului F1, ilustrate n figura
A.6.5 indic` transform`rile pe care le sufer` semnalul pe m`sur` ce se transmite de la o
unitate la alta, neavnd o semnifica\ie cantitativ`. Conexiunile dintre unit`\ile Pi (din
stratul F1) ]i Yj (din stratul F2) arat` ponderile cu care se multiplic` semnalul transmis
prin acestea. Activarea unit`\ii c]tig`toare din stratul F2 este d, unde 0 < d <1. Func\ia
de activare aplicat` vectorilor x ]i q va fi prezentat` n mai trziu. Simbolul --> arat`

31

normalizarea (vectorul q al activ`rilor unit`\ilor Q este de fapt vectorul p al activ`rilor


unit`\ilor P, normalizat la dimensiunea sa aproximativ`).
Unit`\ile din stratul F2 particip` la o competi\ie de tipul c]tig`torul ia tot
pentru dreptul de a nv`\a fiecare pattern de intrare. nv`\area are loc numai n cazul n
care vectorul top down al unit`\ii c]tig`toare este suficient de similar cu vectorul de
intrare.
Unit`\ile de tip U joac` un rol similar cu unit`\ile de intrare ale stratului F 1 din
teoria general` a re\elelor ART. n cazul re\elelor neurale ART2 este necesar` o
prelucrare a vectorilor de intrare, deoarece m`rimea componentelor vectorilor de intrare
reali poate varia mai mult dect n cazul vectorilor binari. ART2 trateaz` componentele
care au valori mici drept zgomote ]i nu poate distinge ntre pattern-uri ce sunt versiuni
scalate ale altora. Unit`\ile P joaca rolul unit`\ii de interfa\are din teoria general` a
re\elelor ART.
Unit`\ile Xi ]i Qi aplic` o func\ie de activare semnalelor de intrare; aceast`
func\ie suprim` orice component` a vectorilor de activare ce are o valoare sub valoarea
, stabilit` de utilizator. Conexiunile dintre unit`\ile W ]i U precum ]i dintre Q ]i V au
ponderi fixe a ]i respectiv b.
O opera\ie de nv`\are const` n prezentarea o singur` dat` a unui pattern la
intrarea re\elei ce se dore]te a fi antrenat`. Semnalul de intrare s = (s1, , si, , sn) va fi
trimis continuu pn` cnd toate ac\iunile ce vor fi descrise se vor ncheia. La nceperea
fiec`rei opera\ii de nv`\are, toate activ`rile vor fi setate la zero.
Ciclul de nv`\are ncepe prin a calcula activarea unit`\ii Ui, activare ce este
egal` cu activarea unit`\ii Vi, normalizat` la dimensiunea sa. Un semnal este trimis de la
fiecare unitate Ui la fiecare unitate Wi ]i Pi corespunz`toare, fiind calculate apoi
activ`rile celor dou` tipuri de unit`\i. Unitatea Wi calculeaz` suma dintre semnalul
primit de la unitatea Ui ]i semnalul si primit de la intrarea re\elei. Pi calculeaz` suma
dintre semnalul primit de la unitatea Ui si semnalul pondere top down primit de la
stratul F2, n cazul existen\ei unei unit`\i active. Valorile activ`rilor unit`\ilor Xi ]i Pi
sunt versiunile normalizate ale semnalelor trimise de Wi ]i Pi. {nainte ca semnalul s` fie
trimis unit`\ii Vi, el este trecut printr-o func\ie de activare. Unitatea Vi va suma
semnalele primite n mod concurent de la unit`\ile Xi ]i Qi, aceast` ultim` opera\ie
ncheind ciclul de actualizare a stratului F1.
Func\ia de activare

daca x
daca x <

x
f ( x) =
0

trateaz` orice semnal care este mai mic dect drept zgomot ]i l suprim` (l face egal
cu zero), valoarea fiind specificat` de utilizator. Suprimarea zgomotului ajut` re\eaua
s` formeze clustere n mod stabil, acest lucru nsemnnd c` prima unitate cluster aleas`
pentru fiecare pattern este acceptat`, neaparnd nici un reset. Folosind aceast` func\ie,
activ`rile unit`\ilor U ]i P ating echilibrul dup` dou` actualiz`ri ale stratului F1.

32

Dup` ce activ`rile unit`\ilor din stratul F1 ating echilibrul, unit`\ile P trimit


semnale stratului F2, unde are loc o competi\ie pentru desemnarea unit`\ii cluster
candidat` pentru nv`\area patternului de intrare.
Unit`\ile Ui ]i Pi din stratul F1 vor trimite semnale unit`\ilor Ri corespunz`toare.
Mecanismul de reset poate verifica de fiecare dat` cnd prime]te un semnal de la Pi,
deoarece calculele se bazeaz` pe semnalul primit ]i pe cel mai recent semnal primit de
la unitatea Ui. Cu toate acestea, acest` verificare nu este necesar` dect atunci cnd
unitatea Pi prime]te un semnal top down, deoarece parametrii re\elei sunt ale]i astfel
nct nici un reset nu va ap`rea dac` nici o unitate F2 nu este activ` sau dup` ce opera\
ia de nv`\are a nceput.
Dup` verificarea condi\iei de reset, unitatea cluster candidat` la nv`\are fie va
fi respins` nefiind suficient de similar` cu patternul prezentat, fie va fi acceptat`. Dac`
unitatea cluster va fi respins`, ea va deveni inhibat`, ]i nu va putea participa la competi\
ie n cadrul opera\iei de nv`\are curente. Urm`toarea unitate cluster ce are valoarea de
intrare cea mai mare va fi desemnat` drept candidat`, procesul continund pna ce o
unitate va fi acceptat` sau p@n` c@nd num`rul maxim disponibil de unit`\i a fost atins.
n modul de antrenare lent nu se efectueaz` dect o singur` actualizare a
ponderilor, fiind necesar` prezentarea pattern-urilor de un num`r mare de ori. Avantajul
const` n num`rul mic de calcule efectuat n fiecare epoca de antrenare.
{n modul de antrenare rapid, ponderile se actualizeaz` (alternnd cu actualiz`ri
ale stratului F1) pn` cnd acestea ajung n starea de echilibru. Sunt necesare doar
cteva epoci de antrenare, dar se efectueaz` un num`r mare de calcule n fiecare din
acestea. n acest mod de antrenare, plasarea pattern-urilor n unit`\i cluster se
stabilizeaz` repede, dar ponderile se modific` la prezentarea fiec`ruia.
Algoritmul de antrenare poate fi folosit att pentru modul de antrenare rapid
ct ]i pentru cel lent. Urm`toarele calcule se repet` la fiecare c\iva pa]i ai algoritmului,
reprezentnd actualizarea activarilor stratului F1. Unitatea J este unitatea din stratul F2
aleas` c]tig`toare pentru nv`\area unui pattern. Dac``nu este aleas` nici o unitate
c]tig`toare, d va avea valoarea zero pentru toate unit`\ile. Se observ` c` wi ]i pi pot fi
calculate n paralel, ca de altfel ]i xi ]i qi. Actualiz`rile activ`rilor stratului F1 sunt
urm`toarele:
ui =

vi
e+ v

wi = si + au i ,
wi
xi =
,
e+ w

pi = u i + dt Ji ,
pi
qi =
,
e+ p

v i = f ( xi ) + bf (qi ) .

33

Algoritmul de antrenare al re\elei ART2


Pasul 0.

Initializarea parametrilor:
a, b, , c, d, e, ,

Pasul 1.

Executa Pasii 2-12 de N_EP ori.

Pasul 2.

Pentru fiecare vector de intrare s, executa Pasii 3-11.

Pasul 3.

Actualizeaza activarile stratului F1:


si
u i = 0, wi = si , pi = 0 , xi =
, q = 0 , vi = f ( xi ).
e+ s i
Se actualizeaza din nou activarile stratului F1:
vi
wi
ui =
wi = si + au i ,
p i = u i , xi =
,
,
e+ v
e+ w
pi
v i = f ( xi ) + bf (qi )
,
e+ p
Calculeaza semnalele unitatilor din stratul F2:
y j = bij p i .
qi =

Pasul 4.

Pasul 5. Att timp ct conditia de reset este adevarata, executa pasii 6-7.
Pasul 6. Gaseste unitatea Y din F2, cu cel mai mare semnal (Se
defineste J astfel nct y J y j pentru j = 1,..., m.)
Pasul 7. Verifica conditia de reset:
vi
ui =
,
e+ v
pi = u i + dt Ji ,
u i + cpi
ri =
e+ u + c p
Daca r < e, atunci
yJ = -1 (se inhiba J)
(Reset este adevarat; se repeta Pasul 5);
Daca r e, atunci
wi = si + au i , xi =

wi
,
e+ w

qi =

v i = f ( xi ) + bf (qi )
(Reset este fals; salt la Pasul 8.)
Pasul 8. Executa Pasii 9-11 de N_IT ori.
Pasul 9. Actualizez ponderile pentru unitatea cstigatoare J:

34

pi
,
e+ p

t Ji = du i + {1 + d (d 1)}t Ji ,
biJ = du i + {1 + d (d 1)}biJ ,
Pasul 10. Actualizeaza activarile stratului F1:
ui =

vi
, wi = si + au i , pi = u i + dt Ji ,
e+ v

xi =

wi
pi
, qi =
, v = f ( xi ) + bf (qi )
e+ w
e+ p i

Pasul 11. Testeaza oprirea pentru actualizarea ponderilor.


Pasul 12. Testeaza conditia de oprire pentru numarul de epoci.

n algoritmul precedent, resetul nu poate avea loc n timpul rezonan\ei (Pasul


8) ]i o nou` unitate c]tig`toare nu poate fi aleas` n timpul rezonan\ei.

35

A.7 Structuri de conducere a proceselor cu RNA


Tehnicile de conducere care utilizeaz` re\ele neurale artificiale nu sunt o
alternativ` la tehnicile clasice de conducere ci constituie un caz special de metodologii
ce ofer` anumite avantaje datorate caracteristicilor fundamentale ale acetui tip de
structuri de procesare. Proiectarea structurilor de conducere apal@nd la tehnici neurale
urm`re]te [n mare m`sur` principiile de proiectare pentru sisteme clasice de conducere,
[n particular principiile conducerii adaptive. Compara\ia este evident` datorit` faptului
c`, practic, ambele moduri de abordare (cel adaptiv ]i cel bazat pe tehnici neurale) au ca
scop ob\inerea unui regulator flexil capabil de auto-adaptare.
Structurile de conducere cu re\ele neurale fac apel la principalele caracteristici
ale re\elelor neurale artificiale: capacitatea de aproximare ]i capacitatea de [nv`\are.
Din punct de vedere principial o structur` de conducere cu re\ele neurale
general` reprezint` o combina\ie model al procesului RN-P regulator neural RN-R
(figura 1)
y~(k)

w(k)
Model Proces
RN-P
u(k)

y(k)
Regulator
RN-R

Figura 1

unde s-a notat: w(k) = intr`ri exogene, y~(k) = m`rimi controlate, y(k) = m`rimi
m`surate, u(k) intr`ri controlate.
Pentru realizarea aplica\iei intrare - ie]ire
~

y = F (w)
sunt posibile diverse combina\ii ale modulelor RN-P ]i RN-R. Modul de
implementare ]i performan\ele [n circuit [nchis depind de arhitectura neural` selectat`,
de algoritmul de ajustare a ponderilor, precum ]i de particularit`\ile procesului condus.
Clasificarea regulatoarelor neurale
Din punct de vedere teoretic, un regulator neural va asigura [ntr-un sistem de
conducere performan\e dorite datorit` capacit`\ii sale de [nv`\are. Indiferent de modul
[n care este proiectat sistemul de conducere pe baza re\elelor neurale, urm`toarele dou`
concepte sunt esen\iale:

36

strategia de [nv`\are (adaptare) - re\eaua neural` (model al procesului sau


regulator) poate fi antrenat` off-line sau on-line
a)

off-line: re\eaua neural` este antrenat` anterior etapei de conducere ]i va fi


utilizat` ca regulator; [n procesul de conducere nu este implicat` nici o etap`
de [nv`\are (adaptare) a re\elei (pentru o astfel de structur` de conducere
setul de date de intrare/ie]ire se presupune a fi disponibil a priori)

b)

on-line: nu este implicat` o etap` de antrenare a re\elei a priori, procesul de


antrenare a re\elei porne]te din condi\ii ini\iale aleatoare, [nv`\area
continu@nd pe toat` durata procesului de conducere.

strategia de implementare
c)

conducere direct`: parametrii regulatorului neural sunt ajusta\i direct pentru


a reduce eroarea de ie]ire ec(k) = r(k) - y(k) (figura 2a)

d)

conducere indirect`: se face o identificare explicit` a parametrilor


procesului care sunt estima\i ca elemente ale vectorului (k) la fiecare
moment de timp k. Parametrii regulatorului (k) sunt estima\i presupun@nd
c` (k) reprezint` parametrii reali *(k) ai procesului, conform principiului
echivalen\ei certe (figura 2b)

Observa\ie: Evolu\ia sistemelor de conducere cu re\ele neurale a p`strat, [ntr-o


m`sur` mai mic` sau mai mare, principiile prezentate anterior. Problemele practice de
implementare au condus la numeroase variante ale structurilor ini\iale, principial`.
w(k)
u(k)

Proces
P(*)

y~(k)

w(k)

y(k)

u(k)

Regulator neural
C()

y(k)

Regulator neural
C()
^(k) = Wc(k)

^(k) = Wc(k)

r(k)

y~(k)

Proces
P(*)

Algoritm
adaptare
*

Algoritm
adaptare
*

ec(k) = r(k) - y(k)

r(k)

ec(k) = r(k) - ym(k)


ym(k)

u(k)
y(k)

Model proces
(retea neurala)
NNp()
em(k) = y(k) - ym(k)

Figura 2 Structuri de conducere utiliz@nd re\ele neurale


(a) conducere direct`, (b) conducere indirect`

37

Formularea problemei de reprezentare cu re\ele neurale artificiale


Se consider` sistemul dinamic neliniar discret () reprezentat prin ecua\iile de
stare:
x ( k + 1) = f ( x ( k ), u( k ), ) ,
:
y ( k ) = h( x ( k ), )

f (0,0) = 0

(1)

unde u(k) Rm, y(k) Rl, x(k) Rn reprezint` intrarea, ie]irea, respectiv starea
sistemului la momentul k, vectorul parametrilor. Se presupune c` func\iile f : Rn x Rm
Rn ]i h : Rn Rl sunt continue.
Propriet`\ile sistemului liniarizat [n jurul punctului de echilibru (0,0), L, sunt
str@ns legate de existen\a solu\iilor unor anumite clase de probleme de conducere
neliniar`, [n particular de posibilitatea proiect`rii structurilor de conducere adaptive
pentru sisteme neliniare apel@nd le tehnici neurale.
{n condi\iile [n care sistemul neliniar general (1), liniarizat [n jurul originii, este
observabil, exist` o reprezentare intrare / ie]ire a acestuia [Levin, 1995], [Levin, 1996],
[Narendra, 1995]:
y ( k + 1) = F[ y ( k ), y ( k 1),..., y ( k n y ), u( k ), u( k 1),..., u( k nu )]

(2)

adic` este asigurat` existen\a func\iei F care genereaz` y(k+1) pe baza valorilor trecute
ale intr`rilor ]i ie]irilor procesului. Dac` condi\iile de observabilitate sunt satisf`cute [n
regiunea de operare a procesului ce trebuie identificat, atunci pentru identificare se
poate utiliza o re\ea neural` NF , ce poate fi antrenat` pe baza datelor y(k), y(k-1),...,
y(k-ny), u(k), u(k-1), ..., u(k-nu), pentru a aproxima func\ia F [n domeniul de interes.
Deoarece perechile (intrare, ie]ire) ale re\elei sunt disponibile la fiecare moment de
timp, re\eaua poate fi antrenat` cu algoritmul back-propagation, sau cu orice alt` metod`
de antrenare cu supervizare.
Principala dificultate [nt@lnit` [n diversele aplica\ii ce utilizeaz` re\ele neurale
artificiale (modelare, conducere, recunoa]tere vorbire) o constituie reprezentarea
caracterului temporal al fluxului de date prelucrate de re\ea ]i a influen\ei acestuia
asupra comport`rii sistemului. Exist` mai multe de arhitecturi de re\ele neurale
artificiale utilizate pentru identificarea ]i conducerea proceselor, acestea put@nd fi
clasificate [n func\ie de modul [n care trateaz` caracterul temporal al datelor.
Cele mai utilizate sunt re\elele cu dinamic` extern` la care caracterul temporal al
datelor este simulat printr-o extensie explicit` a vectorului de intrare al re\elei, cu
ajutorul unor filtre de [nt@rziere pe intrarea, respectiv ie]irea procesului. Re\eaua
rezultat` poart` denumirea de re\ea cu [nt@rziere de tip TDNN (time-delayed neural
network - figura 3).

38

u(k)
q-d
Retea neurala
feedforward
(statica)

-d-nu

y^(k)

q-1
q-ny
Figura 3 Re\ea TDNN

Modelul general intrare / ie]ire descrie ie]irea re\elei y^(k) ca func\ie de


intr`rile / ie]irile procesului:
^

y ( k ) = f (u( k d ),..., u( k d nu ), y ( k 1),..., y ( k n y ))

(3)

unde d = timpul mort al procesului, nu ]i ny sunt ordinele dinamice ale procesului.


{ntr-o structur` de conducere cu re\ele neurale artificiale se opereaz` cu dou` no\
iuni fundamentale:
dinamica direct` a procesului (model direct)
O re\ea neural` poate fi antrenat` pentru a modela dinamica direct` a sistemului dinamic
neliniar general (1), adic` func\ia F(.). Ie]irea re\elei va fi:
^

y ( k + 1) = NN F ( y ( k ),..., y ( k n y ), u( k ), ..., u( k n u ))
prin minimizarea unui indice de performan\`:
Jy =

np

w(k)

n0

y ( k ) y^ ( k )

(5)

y~(k)

Proces
P(*)
u(k)

y(k)
Model neural
(dinamica
directa)

y (k)
Algoritm adaptare
e(k) = y(k) -

39

(4)

y (k)

dinamica invers` a procesului (model invers)


O re\ea neural` poate fi antrenat` pentru a modela dinamica invers` a sistemului
dinamic neliniar general (1). adic` func\ia F-1(.). Ie]irea re\elei va fi:
^

u( k ) = NN F 1 ( y ( k + 1), y ( k ), ..., y ( k n y ), u( k 1), ..., u( k n u ))

(6)

prin minimizarea unui indice de performan\`:


Ju =

np

no

u( k ) u^ ( k )

(7)

unde np reprezint` dimensiunea vectorului de date, iar no num`rul de neuroni din


stratul de ie]ire al re\elei.
w(k)

Proces
P(*)

y~(k)

u(k)

y(k)
Model neural
(dinamica
inversa)

u (k

)
Algoritm adaptare
e(k) = u(k) -

u (k)

Pot fi construite dou` tipuri de modele:


a) model de identificare serie - paralel
Ie]irea modelului este:
^

y ( k ) = F ( ( k ), )
unde (k) este vectorul de regresie p@n` la momentul k, ^(k) este vectorul
parametrilor estima\i ai modelului (repectiv ponderile re\elei neurale).
y(k)

Proces
P(*)

+
-

Model
RN
y^(k)

40

e(k) = y(k) y^(k)

b) model de identificare paralel


Ie]irea modelului este:
^

y ( k ) = F ( ( k ), )
unde ^(k) este vectorul de regresie p@n` la momentul k, care con\ine valori anterioare
ale ie]irii modelului.
y(k)

Proces
P(*)

Model
RN

y^(k)

e(k) = y(k) y^(k)

Clasificarea structurilor de conducere cu re\ele neurale


STRUCTURI DE CONDUCERE CU
RE|ELE NEURALE

Liniarizare prin
reac\ie cu re\ele
neurale

Structuri de
conducere bazate
pe reprezentarea I/
O

Structuri de
conducere cu
model direct

Structura de
conducere cu
liniarizare
instantanee

Structura de
conducere multimodel cu re\ele
neurale

Structura de
conducere cu
[nv`\are for\at`

Structuri de
conducere cu
model invers

- conducere predictiv`
cu model

Structura de
conducere invers`
de tip paralel
(feedforward)

Structuri de
conducere invers`
de tip serie
- structura de conducere cu [nv`\are general`
- structura de conducere cu [nv`\are specializat`
- structura de conducere cu model intern

41

42

Curs 10 SCR
Utilizarea retelelor neuronale artificiale pentru
conducerea robotilor mobili
1. Perceptronul .................................................................................................................................1
2. Invatarea unei aplicatii stimul-raspuns.........................................................................................3
2.1 Exemplu. Evitare de obstacole cu neuroni McCulloch / Pitts................................................3
2.2 Exemplu. Evitare de obstacole cu retea de tip perceptron .....................................................5

1. Perceptronul
Re\elele neuronale de tip perceptron au fost introduse pentru prima dat` de Frank
Rosenblatt [n anii 50 ]i se doreau a fi un model al retinei. Perceptronul clasic este o re\ea de
clasificare de pattern-uri care utilizeaz` pentru diferen\ierea [n clase o func\ie discriminant de tip
hard-limiting (neliniaritate dur`). {n figura 1 este prezentat` arhitectura unei re\ele perceptron.
x1
x2

w1

w2

wixi

+
-1

w0 =
Figura 1 Arhitectura re\elei perceptron

{n defini\ia re\elei se poate include ]i o valoare de prag (bias) , caz [n care vectorul
ponderilor re\elei trebuie extins cu ponderea corespunz`toare intr`rii constante 1.
Re\eaua de tip perceptron are abilitatea de a realiza opera\ia de clasificare [n clase
distincte [n cazul [n care aceste clase sunt liniar separabile. {n figura 2 este prezentat modul [n
care este realizat` clasificarea [n doua clase. Neuronul calculeaz` suma ponderat` a intr`rilor,
care este transmis` la ie]ire printr-o neliniaritate dur`, astfel [nc@t ie]irea s` fie +1 sau -1.
Perceptronul formeaz` doua regiuni de decizie separate printr-un hiperplan (pentru n = 2 acest
hiperplan este o dreapt`).
x2

clasa 1

net = wixi +
x1

clasa 2
Figura 2 Formarea regiunilor de decizie [ntr-o re\ea de tip perceptron
(x Rn , n = 2, xi {+1, -1}, y {+1, -1}) , = - bias

Pentru exemplul considerat [n figura 2 (func\ia f(.) este monoton cresc`toare):


net = x1 w1 + x 2 w2 = x i wi

(1)

Dac`

x T W = xi wi > atunci x apar\ine clasei 1


i 1
n

x T W = xi wi < atunci x apar\ine clasei 2


i =1

{ntr-o re\ea perceptron ponderile de conexiune ]i pragul pot fi fixe sau pot fi ajustate
conform unui anumit algoritm:

dac` clasele sunt liniar separabile, exist` un vector de ponderi W Rn+1 care va fi
determinat [ntr-un num`r finit de itera\ii, astfel [nc@t opera\ia de clasificare s` fie realizat`
f`r` erori;

dac` clasele nu sunt liniar separabile, algoritmul va avea un comportament oscilator.

{n tabelul 1 este prezentat algoritmul original de [nv`\are al perceptronului dezvoltat de


Rosenblatt, conform [Lippmann, 1987].
Algoritmul de [nv`\are al perceptronului
(algoritm de [nv`\are cu supervizare)
p

Pas 0. Se dau datele: vectorii de intr`ri {x R n }mp=1


vectorul de ie]iri dorite {tp}, t {-1, +1}, p = 1, ..., m
Pas 1. Se ini\ializeaz` valorile ponderilor W(0) ]i pragului cu valori mici
aleatoare
Pas 2. Repet`

cite]te o nou` intrare xp = [x1p ... xnp] ]i ie]irea dorit` corespunz`toare tp


calculeaz` ie]irea curent` a re\elei yp = f(WT xp)
actualizeaz` ponderile Wnew = Wold + W
unde wi = (tp - yp)xpi , i = 1, ...,n
Tabelul 1
unde

wi
xpi
tp
yp
(0,1)

varia\ia ponderii de conexiune dintre intrarea i ]i neuronul de ie]ire


componenta i a intr`rii x pentru patternul p
ie]irea dorit` pentru patternul de intrare p
ie]irea re\elei pentru patternul de intrare p
factorul de [nv`\are
2

Factorul de [nv`\are trebuie adaptat [n scopul realiz`rii unui compromis [ntre adaptarea
rapid` la modificarea distribu\iei intr`rilor ]i la medierea intr`rilor anterioare pentru ob\inerea
unei estim`ri stabile a ponderilor [Lipmann, 1987].

2. Invatarea unei aplicatii stimul-raspuns


Capacitatea de [nv`\are ]i aproximare a re\elelor neuronale artificiale poate fi utilizat`
pentru implementarea unor func\ii specifice, cum este aceea de evitare de obstacole.

2.1 Exemplu. Evitare de obstacole cu neuroni McCulloch / Pitts


Neuronul McCulloch / Pitts (figura 3) este un model simplu computa\ional al neuronilor
biologici propus [n 1943 de cei doi autori al c`ror nume [l poart`. Ei au ar`tat c`, pentru un
anumit set de ponderi {W}, un asamblu de astfel de neuroni poate, [n principiu, s` aproximeze
orice func\ie.
i1
i2
in

w1
w2
wn

sumator

neti

Functie de activare
neuron, f(.)

Figura 3 Neuron de tip McCulloch / Pitts

unde
n

net i = w j i j
j =1

Modelul matematic al neuronului integreaz` elemente specifice care declan]eaz`


poten\ialul de ac\iune 1 . Din punct de vedere matematic, acest aspect este integrat [n model prin
intermediul func\iei de activare a neuronului. Astfel, pentru neuronul de tip McCulloch / Pitts
prezentat [n figura 3 func\ia de activare (care determin` ie]irea neuronului [n raport cu valoarea
pragului ) este urm`toarea:
1, daca net i >
y = f (net i ) =
0, daca net i <
sau
1, daca net i >
y = f (net i ) =
1, daca net i <
1

Activitatea celulei neuronale biologice este dat` de poten\ialul de ac\iune (care exprim` modul [n care
celula celula neuronal` reac\ioneaz` la diferi\i stimuli care ac\ioneaz` asupra sa). Mediatorii chimici care
intervin [n mecanismul de modificare a activit`\ii celulei neuronale poart` denumirea de
neurotransmi\`tori (adrenalina ]i noradrenalina).

Se consider` un robot mobil echipat cu doi senzori tactili, localiza\i [n partea st@ng`,
respectiv dreapt` a platformei mobile (figura 4). Deplasarea robotului mobil se realizeaz` prin
intermediul celor dou` motoare.

Senzor
stanga

Senzor
dreapta
Figura 4 Robot mobil echipat cu doi senzori tactili

Robotul se va deplasa liber [n mediu ]i va trebui s` evite obstacolele [nt@lnite. Cei senzori
tactili dau semnal "1" atunci c@nd detecteaz` un obstacol ]i semnal "0" c@nd [n calea robotului nu
se afl` nici un obstacol. Corespunz`tor, cele dou` motoare primesc comand` "+1" pentru
deplasare [nainte ]i "-1" pentru deplasare [napoi. Aceast` modalitate de func\ionare este
codificat` prin intermediul unei tabele de adev`r (tabelul 2).
Senzor
stanga

Senzor
dreapta

0
0
1
1

0
1
0
1

Comanda
motor
stanga
1
-1
1
*

Comanda
motor
dreapta
1
1
-1
*

Semnificatie
Deplasare inainte cu viteze egale
Obstacol dreapta, intoarce la stanga
Obstacol stanga, intoarce la dreapta
Indiferent

Tabelul 2

Pentru fiecare motor se va utiliza c@te un neuron de tip McCulloch / Pitts, cu valoarea
ie]irii +1 (figura 5). Se alege un prag = -0.01.
Senzor stanga
SS

Neuron
McCulloch / Pitts

wSS

yMS
Senzor dreapta
SD

Comanda motor

wSD

Figura 5 Neuron McCulloch / Pitts pentru motor st@nga

Pentru calculul ponderilor de conexiune, wSS ]i wSD se va proceda [n felul urm`tor:

se calculeaz` intrarea neuronului:

net i = wss * SS + wSD * SD

din linia 1 a tabelului ]i din coloana 3 rezult`:


0*wSS + 0*wSD = 0 >
adev`rat pentru orice set de ponderi.

din linia 2 ]i coloana 3 rezult`:


0*wSS + 1*wSD <
]i se poate alege wSD = -0.3.

din linia 3 ]i coloana 3 rezult`:


1*wSS + 0*wSD >
]i se poate alege wSS = 0.3, din considerente de simetrie.

{n mod analog se va proceda pentru calculul ponderilor corespunz`toare neuronului


McCulloch / Pitts pentru motor dreapta.
{n cazul [n care func\iile care trebuie implementate sunt mult mai complexe este necesar`
utilizarea unui mecanism de [nv`\are pentru ajustarea automat` a ponderilor. O posibilitate este
aceea a utiliz`rii perceptronului, care este o re\ea format` dintr-un singur strat de neuroni de tip
McCulloch / Pitts, care dispune de un algoritm propriu de antrenare (algoritmul de antrenare al
perceptronului). Acest algoritm poate fi utilizat [n cazul [n care pattern-urile de antrenare
sunt liniar separabile, caz [n care perceptronul poate fi utilizat pentru clasificare [n clase
distincte.

2.2 Exemplu. Evitare de obstacole cu retea de tip perceptron


Se consider` accea]i problem` de evitare de evitare de obstacole, pentru care va fi
determinat` o re\ea de tip perceptron (figura 6).

Senzor stanga
SS

Senzor dreapta
SD

Senzor stanga
SS

Senzor dreapta
SD

Neuron
McCulloch / Pitts

wSS

yMS
Comanda motor

wSD

Neuron
McCulloch / Pitts

wDS

yMD
wDD

Comanda motor

Figura 6 Re\eaua de tip perceptron pentru implementarea func\iei de evitare de obstacole

Se alege o rat` de [nv`\are = 0.3 ]i un prag = -0.01. Se aleg valori ini\iale nule pentru
ponderi. Se procedeaz` [n felul urm`tor:

din linia 1 a tabelului 4.1 rezult`:


wSS = 0 + 0.3*(1-1)*0 = 0
wSD = 0 + 0.3*(1-1)*0 = 0
wDS = 0 + 0.3*(1-1)*0 = 0
wDD = 0 + 0.3*(1-1)*0 = 0

din linia 2 rezult`:


wSS = 0 + 0.3*(-1-1)*0 = 0
wSD = 0 + 0.3*(-1-1)*1 = -0.6
wDS = 0 + 0.3*(1-1)*0 = 0
wDD = 0 + 0.3*(1-1)*1 = 0

din linia 3 rezult`:


wSS = 0 + 0.3*(1-1)*1 = 0
wSD = -0.6 + 0.3*(1-1)*0 = -0.6
wDS = 0 + 0.3*(-1-1)*1 = -0.6
wDD = 0 + 0.3*(-1-1)*0 = 0

Rezult` re\eaua de tip perceptron prezentat` [n figura 6.

Senzor stanga
SS

yMS

-0.6
Senzor dreapta
SD

Comanda motor

-0.6
yMD

Comanda motor
Figura 6 Re\eaua perceptron pentru evitare de obstacole - actualizarea ponderilor

Foarte multe func\ii ale robotului mobil pot fi reprezentate [n aceast` manier` prin seturi
de date liniar separabile, caz [n care putem utiliza re\eaua neuronal` de tip perceptron. Avantajul
este acela al unei viteze de procesare a datelor mai mare dec@t [n cazul re\elelor de tip perceptron
multistrat.
{n condi\iile [n care clasele nu sunt liniar separabile, algoritmul de [nv`\are al
perceptronului va fi [nlocuit cu o regul` de adaptare care s` conduc` la ob\inerea unei valori
minime a criteriului de performan\`. Aceast` regul` poart` denumirea de regula delta, regul` care
necesit` utilizarea unor neuroni cu func\ii de activare derivabile, continue, monoton cresc`toare
([n particular, func\ii sigmoidale).
Exist` de asemenea numeroase taskuri pe care robo\ii mobili trebuie s` le [ndeplineasc` ]i
care presupun executarea unor secven\e de opera\ii care se repet` de multe ori (de exemplu,
opera\ii de asamblare, transport). {n acest caz pot fi utilizate ]i alte tipuri de re\ele a c`ror
antrenare se realizeaz` prin algoritmi de [nv`\are cu supervizare (de exemplu, re\ele de tip
perceptron multistrat):

{n timpul fazei de antrenare robotul mobil este comandat de operatorul uman, semnalele
primite fiind utilizate pentru antrenarea re\elei neuronale;

Dac` re\eaua reu]e]te s` asocieze corect perechile de pattern-uri de intrare (de exemplu,
comenzi de la joystick) cu valorile de ie]ire (de exemplu, comenzi [n vitez` ]i orientare)
este posibil ca [n faza de execu\ie robotul s` poat` [ndeplini [n mod autonom taskul alocat;

Dac` mediul se schimb`, sa va face o re-antrenare a re\elei, nefiind necesar`


reprogramarea aplica\iei.

Re\elele de tip perceptron multistrat (engl. Multilayer Perceptrons) care pot fi utilizate [n
aceste cazuri vor fi antrenate cu algoritmul back-propagation. Robotul se va deplasa rapid [n
situa\ii pentru care a fost antrenat, pentru care exist` deci asocia\ii puternice [ntre intr`rile
senzoriale ]i pattern-urile motoare.

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