Documente Academic
Documente Profesional
Documente Cultură
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.
CU SUPERVIZARE
Regula delta
Backpropagation
{nv`\are hebbian`
Algoritmi stohastici
REINFORCEMENT
F~R~ SUPERVIZARE
Automate cu
[nv`\are
{nv`\are competitiv`
{nv`\are hebbian`
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)
CU SUPERVIZARE
REINFORCEMENT
ADALINE
Boltzmann
Cascade Correlation
LVQ
Perceptron
MLFF cu BP
PNN
RBFN
Alopex
F~R~ SUPERVIZARE
ART
Hopfield
LVQ
Neocognitron
SOFM
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
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
u1(n-1)
W1i
u2(n-1)
W2i
Dinamic`
liniar`
unj(n-1)
neti(n)
Transformare
neliniar`
(f)
yi(n)
Wnj,i
1
i
(2.1)
{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 )
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
1 daca ( x ) < 0
y=
1 daca ( x ) > 0
y= e
(x )2
r2
, r = 0.2, r =1
y=
r2
, r = 0.2, r = 1
(x )2 + r 2
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
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 =
clasa 1
net = wixi + = 0
x1
clasa 2
x i wi
Dac`
xTW =
xTW =
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;
n m
Pas 0. Se dau datele: vectorii de intr`ri {x R } p = 1
unde
wi
xpi
tp
yp
(0,1)
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
calculeaz` eroarea e = tp - yp
= (t p y p ) f ' ( x T w )
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
p
i
11
(2.6)
strat de
intrare
straturi ascunse
strat de
iesire
12
pj
y pi
(2.45)
unde
pi
= (d j y j ) f ' j
(2.46)
pi
= (
pk
wkj ) f ' j
(2.47)
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
wkj
y jp
z kp
tkp
f(.)
Definim urm`toarele:
Hj =
v ji xi , j = 1, 2, ..., h
i= 1
h
Ik =
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
sau
Z = g(f, x, W),
Z Rm
(2.48)
(2.49)
14
1 P p
E
P p= 1
(2.50)
(2.51)
Ep
W ( s + 1) =
W (s)
(2.52)
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)
1 m p
(tk zkp )2
2 k= 1
(2.55)
15
Ep
wkj ( s)
(2.56)
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
k = ( tk z k ) f ' ( I K )
(2.59)
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)
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:
17
E(W k ) = min E p (W , x p )
W
p= 1
(2.67)
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
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 )
Calculeaza
q 1
j
= f ' ( H qj 1 ) iq wqji
i
q
q q 1
pentru fiecare strat q, unde w ji = i O j
19
(5.12)
ij (n) =
(5.13)
1
1 + exp( Cij (n) / T )
(5.14)
(5.15)
20
(5.16)
n 1
E (n ' ) daca n e multiplu de N
N n' = n N
T (n) = T (n 1) altfel
T ( n) =
21
(5.17)
oj = wj i
22
w j (t + 1) = w j (t ) + i w j (t )
Vector intrari
Exemplu
regiune
invecinata
neuronului
invingator
Neuron invingator
wj
oj
23
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
Ponderi
feedforward
Ponderi
feedback
Strat F1
Modul
de reset
Strat F0
I2
I3
IN
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 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
ym
bij
x1
xi
xn
s1
si
sn
26
F2 (strat categorii)
tji
bij
G2
G1
de la unitatea G1.
Fiecare unitate din F2 are 3 surse de semnal:
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.
Pas 2.
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.
Pas 5.
28
Pas 6.
xi , i = 1,..., n
Pas 7.
biJ =
Lxi
L 1+ x
t Ji = xi
Pas 8.
Pas 8.
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`:
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
N
Wn
Xn
Wi
Xi
W1
X1
31
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
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
Initializarea parametrilor:
a, b, , c, d, e, ,
Pasul 1.
Pasul 2.
Pasul 3.
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
35
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
b)
strategia de implementare
c)
d)
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
*
r(k)
u(k)
y(k)
Model proces
(retea neurala)
NNp()
em(k) = y(k) - ym(k)
37
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
(3)
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)
(6)
np
no
u( k ) u^ ( k )
(7)
Proces
P(*)
y~(k)
u(k)
y(k)
Model neural
(dinamica
inversa)
u (k
)
Algoritm adaptare
e(k) = u(k) -
u (k)
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
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)
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
(1)
Dac`
{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;
wi
xpi
tp
yp
(0,1)
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].
w1
w2
wn
sumator
neti
Functie de activare
neuron, f(.)
unde
n
net i = w j i j
j =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
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
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:
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;
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.