13_rn

8
Reţele neuronale 13. Reţele neuronale. Identificarea unui proces SISO neliniar Reţelele 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 învăţa din interacţiunile cu mediul în care se află, pentru ca, pe baza cunoştinţelor acumulate, să fie capabilă să genereze comportamente în conformitate cu sarcinile pe care trebuie sa le îndeplinească. Scopul lucrării: Găsirea unui model care să descrie comportamentul real al unui proces SISO (Bila pe plan înclinat) utilizând reţele neuronale. Consideraţii teoretice: Reţelele neuronale artificiale (figura 13.1) au fost dezvoltate ţinându-se cont de următoarele ipoteze: - Pocesarea informaţiilor 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 informaţii (semnale) între aceştia. - Fiecare conexiune dintre doi neuroni are atribuită o pondere pentru a se descrie cât de importantă este informaţia schimbată de cei doi neuroni. - Pentru a se determina informaţia (semnalul) de ieşire al neuronului, suma intrărilor este oferită ca argument unei funcţii de activare aleasă anterior. O reţea neuronală se caracterizează prin trei elemente şi anume: arhitectura, mecanismul de antrenare şi funcţia de activare [1]. Arhitectura unei reţele neuronale reprezintă modul în care sunt realizate conexiunile dintre neuronii ce compun această reţea. Mecanismul de antenare reprezintă modul în care sunt ajustate ponderile până când sunt găsite valorile dorite ale acestora. Funcţia de activare reprezintă o funcţie matematică f(x). Aceasta are rolul de a decide, pe baza semnalelor de intrare, dacă neuronul asociat ei este activat sau nu. 89

Upload: andreea-speriatu

Post on 25-Sep-2015

1 views

Category:

Documents


0 download

DESCRIPTION

13_RN

TRANSCRIPT

  • 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

    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

    Figura 13.1. Reea neural artificial

  • 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):

    91

    Figura 13.2. Funcia Pureline

  • Sisteme Avansate de Conducere

    - Funcia sigmoid (Logsig):

    - Funcia tangent hiperbolic (Tansig):

    92

    Figura 13.3. Funcia Logsig

    Figura 13.4. Funcia Tansig

  • Reele neuronale

    Mod de lucru:

    1. Se realizeaz schema Simulink a procesului Bila pe plan nclinat.

    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 intrare-

    ieire, 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

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

  • 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