Sunteți pe pagina 1din 8

Reele neuronale

13. Reele neuronale.


Identificarea unui proces SISO neliniar

Reelele neuronale artificiale reprezint o structur de elemente


de procesare, interconectate, care opereaz n paralel. Scopul acesteia
este de a se comporta asemenea creierului uman i anume de a nva
din interaciunile cu mediul n care se afl, pentru ca, pe baza
cunotinelor acumulate, s fie capabil s genereze comportamente n
conformitate cu sarcinile pe care trebuie sa le ndeplineasc.
Scopul lucrrii: Gsirea unui model care s descrie
comportamentul real al unui proces SISO (Bila pe plan nclinat) utiliznd
reele neuronale.
Consideraii teoretice: Reelele neuronale artificiale (figura
13.1) au fost dezvoltate inndu-se cont de urmtoarele ipoteze:
- Pocesarea informaiilor este efectuat de mai multe elemente
cu o stuctur simpl i care poart numele de neuroni.
- ntre neuroni exist o serie de conexiuni i acestea sunt folosite
pentru transmisia de informaii (semnale) ntre acetia.
- Fiecare conexiune dintre doi neuroni are atribuit o pondere
pentru a se descrie ct de important este informaia schimbat
de cei doi neuroni.
- Pentru a se determina informaia (semnalul) de ieire al
neuronului, suma intrrilor este oferit ca argument unei funcii
de activare aleas anterior.
O reea neuronal se caracterizeaz prin trei elemente i anume:
arhitectura, mecanismul de antrenare i funcia de activare [1].
Arhitectura unei reele neuronale reprezint modul n care sunt
realizate conexiunile dintre neuronii ce compun aceast reea.
Mecanismul de antenare reprezint modul n care sunt ajustate
ponderile pn cnd sunt gsite valorile dorite ale acestora. Funcia de
activare reprezint o funcie matematic f(x). Aceasta are rolul de a
decide, pe baza semnalelor de intrare, dac neuronul asociat ei este
activat sau nu.
89

Sisteme Avansate de Conducere

Figura 13.1. Reea neural artificial

Arhitecturi de reele neuronale: Un mod convenabil de


vizualizare al neuronilor este reprezentat de aranjarea lor pe straturi.
Modul n care se comport fiecare neuron este determinat de funcia sa
de activare, precum i de felul realizrii conexiunilor dintre ei, mai precis
de alegerea ponderilor pentru fiecare legatur n parte. n general,
pentru neuronii aflai pe acelai strat se alege aceeai funcie de activare
i acelai tip de conexiuni (de exemplu: fiecare neuron de pe stratul
anterior este conectat cu fiecare neuron de pe stratul curent sau fiecare
neuron de pe stratul curent este conectat cu fiecare neuron de pe stratul
urmtor).
Modul n care sunt aranjai neuronii pe straturi, precum i
conexiunile realizate ntre neuronii aflai pe straturi diferite determin
arhitectura reelei neuronale. O clasificare a reelelor neronale este
realizat din punct de vedere al numarului de straturi. Astfel exista
reele care au un strat sau reele care au mai multe straturi de neuroni.
Alegerea ponderilor: Modul n care sunt alese ponderile
conexiunilor dintre neuroni este important, de aici rezultnd
performanele reelei respective. Alegerea ponderilor are loc pe
parcursul procesului de nvare (antrenare). Exist dou moduri n care
poate avea loc antrenarea reelelor neuronale, i anume supervizat sau
nesupervizat.
Antrenarea supervizat: De cele mai multe ori antrenarea
reelelor neuronale are loc prin introducerea unui vector (unei matrici)
90

Reele neuronale

cu valori reprezentnd intrri, precum i a unui vector (unei matrici)


aferent, de ieiri. Ponderile sunt ajustate pn cnd eroarea dintre
ieirile reelei neuronale i cele dorite, reprezentate de vectorul de ieiri,
este minim.
Antrenarea nesupervizat: Acest mod de antrenare nu
folosete informaii prin reacie pentru ajustarea ponderilor retelei
neuronale. De aceea mai poart denumirea de antrenare n bucl
deschis.
Backpropagation:
Backpropagation
reprezint
metoda
gradientului descendent pentru a minimiza eroarea ptratic dintre
ieirea reelei neuronale i ieirea dorit. Se dorete antrenarea reelei
pentru ca aceasta s produc ieiri corecte la intrrile folosite pentru
antrenare, ct i pentru a oferi ieiri corespunztoare la intrri similare,
dar nu identice, cu cele folosite pentru antrenare.
Antrenarea unei reele utiliznd acest algoritm presupune
urmtorii pai: determinarea ieirii corespunztoare vectorului de intrare
curent, calculul i transmiterea erorii, precum i ajustarea ponderilor.
Funciile de activare: Funciile de activare cel mai des ntlnite
sunt: funcia identitate (Pureline), funcia sigmoid (Logsig), funcia
tangent hiperbolic (tansig) etc.
- Funcia identitate (Pureline):

Figura 13.2. Funcia Pureline


91

Sisteme Avansate de Conducere

- Funcia sigmoid (Logsig):

Figura 13.3. Funcia Logsig

- Funcia tangent hiperbolic (Tansig):

Figura 13.4. Funcia Tansig


92

Reele neuronale

Mod de lucru:
1. Se realizeaz schema Simulink a procesului Bila pe plan
nclinat.

Figura 13.5. Modelul Simulink al procesului Bila pe plan nclinat [3]

2. Se vor culege date folosindu-se aplicaia Simulink realizat la


pasul 1.
2.1. Se introduce comanda Ux aferent intrrii theta.
2.2. Se apas butonul Start simulation.
2.3. Se ateapt afiarea ieirii Yx.
2.4. Se completeaz n Matlab, cu setul curent intrareieire, doi vectori reprezentnd comenzile, respectiv ieirile achiziionate
pn atunci.
2.5. Se reia achiziia de date de la pasul 2.1, utiliznd noi
valori pentru comanda Ux.
Observaie 1: Se recomand achiziionarea unui numr de minim
50 de astfel de perechi, pentru ca reeaua neuronal ce urmeaz a fi
creat s modeleze ct mai bine dinamica procesului.
3. Se construiete reeaua neuronal folosind datele achiziionate
i utilitarul Neural Network Toolbox oferit de Matlab.
3.1. Se ruleaz comanda nntool din consola Matlab i se
va deschide fereastra Network/Data Manager aferent
utilitarului Neural Network Toolbox.
3.2. Se introduce vectorul comenzilor:
- din fereastra Network/Data Manager se apas pe butonul
New...
- din fereastra nou aparut Create Network or Date se
93

Sisteme Avansate de Conducere

selecteaz opiunea Data.


- se completeaz cmpul Name cu numele dorit pentru
variabila ce va reprezenta vectorul comenzilor.
- se completeaz cmpul Value cu valorile acestui vector.
- din cmpul Data Type se alege tipul variabilei de intrare
i anume Inputs.
- n final se apas butonul Create pentru crearea
variabilei.
3.3. Se introduce vectorul ieirilor:
- din fereastra Network/Data Manager se apas pe butonul
New...
- din fereastra nou aparut Create Network or Date se
selecteaz opiunea Data.
- se completeaz cmpul Name cu numele dorit pentru
variabila ce va reprezenta vectorul ieirilor sau valorilor
int.
- se completeaz cmpul Value cu valorile acestei matrici,
iar din cmpul Data Type se alege tipul variabilei int i
anume Targets, iar n final se apas butonul Create pentru
crearea variabilei).
3.4. Se construiete reeaua neuronal:
- din fereastra Network/Data Manager se apas pe butonul
New...
- din fereastra nou aparut Create Network or Date se
selecteaz opiunea Network.
- se completeaz cmpul Name cu numele dorit pentru
variabila ce va reprezenta reeaua neuronal.
- se alege metoda de antrenare din cmpul de selecie
Network Type:.
- se selecteaz vectorul intrrilor din cmpul Input Data:.
- se selecteaz vectorul valorilor int (ieiri) din cmpul
Target Data:.
- se alege numrul de straturi de neuroni, precum i
numrul de neuroni pentru fiecare strat n parte (numrul
de neuroni de pe ultimul strat este dat de numrul ieirilor
i este ales automat n funcie de dimensiunea vectorului
cu elementele int).
- se aleg funciile de activare pentru fiecare strat de
neuroni.
- n final se apas butonul Create pentru crearea reelei.
3.5. Se antreneaz reeaua neuronal creat:
- din fereastra Network/Data Manager, cmpul Networks
94

Reele neuronale

se selecteaz prin dublu-click reeaua nou creat.


- din fereastra nou aparut se selecteaz opiunea Train,
se introduc valorile comenzilor i valorile int.
- se apasa pe butonul Train i se execut antrenarea
reelei neuronale.
Observaie 2: Pentru ca o reea neuronal nou creat i/sau
antrenat s poata fi accesibil n Workspace:
- se apas pe butonul Export...
- se selecteaz reeaua nou creat (un singur click).
- se apas pe butonul Export i apare un mesaj de confirmare al
faptului c reeaua a fost exportat ctre Workspace.
4. Se verific reeaua neuronal obinut.
4.1. Se consider o comand diferit de toate comenzile
folosite pentru antrenare.
4.2. Se simuleaz comportarea sistemului atunci cnd i se
aplic la intrare comanda aleas la pasul 4.1. Se ruleaz din consola
Matlab comanda:
>> ySim = sim(numeRetea,u)
unde u este comanda aleasa la pasul 4.1, numeRetea este
reeaua obinut n urma antrenrii, iar ySim reprezint
ieirea simulat a procesului.
4.3. Se testeaz comportarea sistemului atunci cnd i se
aplic la intrare comanda de la pasul 3.1 (se folosete aplicaia Simulink
utilizat la culegerea de date).
4.4. Se compar cele doua ieiri ale sistemului, cea a
modelului Simulink i cea a reelei neuronale.
5. Se cere redactarea unui referat.
n urma parcurgerii lucrrii, studenii vor dobndi urmtoarele
competene:
- proiectarea reelelor neuronale artificiale;
- antrenarea reelelor neuronale;
- identificarea sistemelor neliniare utiliznd reele neuronale.

95

Sisteme Avansate de Conducere

96