Sunteți pe pagina 1din 54

CONTROL NEURONAL,I

Masterat SI, SICC sem.2 2008-9

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Introducere, tipuri de RNA = NN

Neron biologic (natural) Neuron artificial Tipuri de retele neuronale artificiale mai importante (RNA = NN)
Tip perceptron Bazate pe functii radiale Recurente Cu autoorganizare

Tipuri si algoritmi de instruire

vezi slide-ul corespunzator

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Ceva despre neuronii biologici Unul! (cand sunt mai multi = o retea = RNA)
Creierul uman: peste cca. 1010 (peste 10 miliarde neuroni) si (60-80) trilioane de sinapse! RNA sunt procesoare masive paralele distribuite si seamana cu creierul, deoarece:
Cunostintele RNA sunt obtinute de aceasta printr-un proces de invatare Acestea sunt depozitate NU in neuroni, ci in conexiunile sinaptice dintre acestia (ponderile conexiunilor, ce variaza odata cu invatarea!) O RNA devine mai inteligenta dupa orice iteratie a procesului de invatare

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronul artificial, RNA...


Pentru un singur neuron: p.p. ca are intrarile xi, i = 1, 2, , n (dendritele influxurilor nervoase) si o iesire, y (axonul neuronului). Neuronul formeaza suma ponderata a intrarilor: x* = (i=1n(w ixi) + b, unde: wi sunt ponderile interconexiunilor; b - pragul (bias) de activare al neuronului; xi semnalul de intrare in dendrita i (ith); DACA wi > 0, semnal xi este excitator pentru neuron; DACA wi < 0, intrare inhibitoare; wi - ponderile amplifica semnalele de intrare de la dendrite Procesarea realizata de neuron asupra semnalului x* este reprezentata cu o functie de activare, f, iesirea pe care o calculeaza fiind:

y = f(x*) = f(((i=1n(w ixi) + b) - Modelul neuronului reprezinta deci

(#)

neuronul biologic care arde (se activeaza (on) si trece un semnal electric prin axon la alti neuroni), ardere ce se intampla atunci cand intrarile sale sunt excitate semnificativ ( adica x* este suficient de mare fata de f(x*)).

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronul, RNA, functiile de activareO RNA poate:invata, generaliza, sintetiza.


 Cele mai folosite sunt:  Functia de activare treapta (prag): f(x*) = {1, daca x* >= 0; 0, daca x* < 0;  Functia de activare lineara: f(x*) = x*;  Functia logistica, ce este un tip de functie sigmoid: f(x*) = 1/ [1 + exp (-x*)];  Functia tangenta hiperbolica, tot de tip sigmoidal (sigmoida bipolara), utilizata adesea f(x*) = {2/ [(1-exp(-x*)]}-1 = tanh(x*) = [1- exp(-2x*)]/ [1+ exp(-2x*)] Ecuatia notata (#) cu o functie de activare din cele de mai sus, reprezinta calculele pe care le realizeaza un neuron intr-o RNA.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronii interconectati, formeaza o RNA: aici, perceptron multistrat feedforward.


Desenul structurii de baza contine:
Cercuri neuronii (ponderi; prag; functia activare) Liniil conexiuni (intrari neuroni; neuronii unui strat cei din urmatorul strat)

Perceptronul din figura este unul cu trei straturi (Multilayer Perceptron = MLP) deoarece sunt TREI stagii de procesare neuronala intre intrari si iesiri. Definitie: O RNA feedforward care a folosit regula delta (BKP) pentru instruire se numeste MLP
Straturi: aici, unul de iesire si doua ascunse (= hidden), deoarece NU se conecteaza la iesire. MLP are: Intrari: xi, i = 1, 2, ., n; Iesiri: yi, i = 1, 2, , m; n1 neuroni in stratul ascuns 1; n2 neuroni in stratul ascuns 2; m neuroni in stratul de iesire; NU exista restrictii asupra numarului de neuroni din fiecare strat; NU exista restrictii asupra numarului de straturi ascunse.
6

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronii interconectati, formeaza o RNA: aici, perceptron multistrat feedforward.


Calculele realizate de neuronii perceptronului multistrat feedforward (MLP Feedforward) cu trei straturi din figura, sunt iesirile acestora din primul strat (xj(1)), din al doilea (xj(2)) si din al treilea iesirile generale (yj), respectiv (wij = ponderile/ parametrii numere reale; bj(i) = pragurile neuronilor din straturile (1), (2) si (3) iesire):

xj(1) = fj(1)((i=1n1wij(1).xi) + bj(1)), xj(2) = fj(2)((i=1n1wij(2).xi(1)) + bj(2)), yj = fj(1)((i=1n1wij(1).xi(2)) + bj), Observatie:

j = 1, 2, 3, ., n1; wij(1); bj(1); j = 1, 2, 3, ., n2; wij(2); bj(2); j = 1, 2, 3, .., m; wij: bj;

Functiile de activare fj(1) primul strat; fj(2) al doilea strat si fj stratul de iesire, pot fi diferite pentru fiecare neuron la un MLP

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronii interconectati, pot forma o RNA: aici, perceptron multistrat feedforward.


Unii autori numara si stratul de intrare, (v. figura), asa incat acesta este primul; in acest fel, MLP anterior poate fi denumita o RNA feedforward cu patru straturi.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronii interconectati, pot forma o RNA: aici, RNA cu feedback (recurenta)


RNA recurente contin cai de reactie (inverse; feedback). Figura arata o RNA recurenta complet conectata (fully-connected) cu o intarziere (z-1) in calea de reactie. Daca in figura intrarile apar la momentul de timp (kT) iar iesirile sunt predictate la timpul (k+1)T, atunci reteaua (RNA) poate fi reprezentata in forma matriceala de relatia de mai jos : y(k+1)T = W1y(kT) + W2x(kT) Formal, seamana cu ecuatia de stare vectorial matriceala cu diferente a unui sistem MIMO, ecuatie ce se utilizeaza la simularea in timp discret a acestuia.
2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

Neuronii interconectati, pot forma o RNA: invatarea la RNA ?


Invatarea la o RNA este procesul ajustarii ponderilor si pragurilor de activare (biases) de asa maniera incat pentru intrari date, se obtin raspunsuri corecte (i.e. iesiri). Tipurile de invatare (algoritmii) includ:
(1) Invatarea supervizata. RNA ii sunt prezentate datele de instruire (antrenare) ce reprezinta plaja posbilitatilor de la intrare, impreuna cu iesirile dorite asociate. Ponderile wi sunt ajustate pana cand eroarea dintre iesirile actuala si cea dorita atinge o valoare minima data.
Algoritmul cu propagare inapoi = back-propagation (BPA = BKP), numit si regula delta, atunci cand se aplica la RNA feedforward (MLP). Acesta utilizeaza ca metoda de optimizare un algoritm tip gradient coborator (gradient descent).

(2) Invatare nesupervizata. Se mai numeste adaptare in bucla deschisa deoarece tehnica nu utilizeaza informatie de reactie pentru a actualiza parametrii RNA.
Kohonen Self-Organizing Map (KSOM) RNA competitiva Grosgerg Adaptive Resonance Theory (ART) poate fi utilizata la invatare on-line

(3) Alte metode.


Invatare hebbiana (ponderile cresc nelimitat, invatarea NU se termina niciodata.) Invatare cu intarire (reinforcement) 2-Mai-2009 Sem 2, "SI", SICC, control neuronal,I 10

Tipuri si algoritmi de instruire


.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

11

Algoritmul de invatare back-propagation (BPA = BKP)


Algoritmul BKP: cel mai cunoscut si utilizat algoritm de invatare (instruire) supervizata (sau, algoritm delta generalizat). Minimizeaza diferenta dintre iesirea dorita si cea reala, prin metoda gradientului coborator (gradient descent). Gradientul arata cum variaza o functie in diverse directii, ideea fiind gasirea minimului functiei eroare in raport cu ponderile conexiunilor. Daca se consider mul imea de antrenare: {(x1, y1 ), (x2, y2), ,(xK, yK)}, unde xk = (x1k, x2k, xnk) si yk R, iar k = 1, 2, 3, ., K, atunci Pasii algoritmului de invatare BKP in cazul unei RNA cu un singur strat intermediar (ascuns) si un singur neuron de iesire, v. figura, sunt:
Pas1: Se aleg rata de nv are ( ) i eroarea maxim acceptabil (Emax) Pas 2: Se ini ializeaz ponderile w cu valori aleatoare mici, k = 1, eroarea curent E = 0 Sem 2, "SI", SICC, control neuronal,I 12

2-Mai-2009

Algoritmul de invatare back-propagation (BPA = BKP)


Pas 3: Primul pas al procesului de instruire (antrenare): se aduce vectorul de intrare xk i se calculeaz ie irea O: O = 1/[1 + exp(-WToj)], unde oj este vectorul de iesire al stratului ascuns, adica: O = 1/[1 + exp(-wjTxk)], j = 1, 2, , L Pas 4: Se actualizeaz ponderile unit ii de ie ire: W =W + o , unde = ( yk O)*O(1O) Wj oj (1 oj )xk

Pas 5: Se actualizeaz ponderile unit ilor din stratul ascuns: wj = wj +

Pas 6: Se actualizeaz eroarea cumulativ pe ciclu de antrenare: E = E + [yk O)2]/2

Pas 7: Dac k < K, atunci k = k + 1 i se sare la Pasul 2; altfel se trece la Pas 8 Pas 8: Ciclul de antrenare s-a ncheiat. Dac E < Emax se termin sesiunea de instruire (antrenare). Dac E > Emax, atunci E = 0, k = 1 i va ncepe un nou ciclu de antrenare la Pas 3. Observatii: (1). Pasii algoritmului difera putin de la o functie de actualizare la alta (mai precis pasul 5, actualizarea ponderilor): aici s-a utilizat ca functie de actualizare, o functie sigmoidala unipolara (2) Accelerarea invatarii (instruirii), i.e. convergenta algoritmului intr-un timp mai mic: (a) metoda momentum; (b) rata de invatare ( ) variabila (pentru ponderi si iteratii functie de semnul gradientului).

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

13

Aplicatii RNA

Aplicatii RNA

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

14

Aplicatii ale RNA


Identificarea sistemelor dinamice (modelarea sistemelor nelineare dinamice), datorita capabilitatilor de aproximator universal ale MLP; Implementarea controlerelor nelineare de uz general. Pasii tipici necesari controlului ce utilizeaza RNA sunt:
(1). Identificarea sistemului (se determina un MM RNA al procesului dorit a fi controlat); (2). Proiectarea controlului (se utilizeaza MM RNA de mai sus pentru proiectarea (sau antrenarea) controlerului) (1). Control cu model predictat (predictiv) MM-RNA de mai sus se utilizeaza pentru a predicta comportarea viitoare a procesului, SI un algoritm de optimizare pentru a alege intrarea de control ce optimizeaza performanta viitoare; MM-RNA este antrenat off-line (2). Control NARMA-L2 (sau cu linearizare pe feedback) controlerul este o rearanjare a MM; al procesului sub forma companion; si aici, MM-RNA se antreneaza off-line; (Modelul standard utilizat la reprezentarea sistemelor nelineare in timp discret este modelul Nonlinear Autoregressive-Moving Average (NARMA)). (3). Control cu model de referinta controlerul este o RNA antrenata pentru a controla un proces a.i. aceasta sa urmeze un model de referinta. MM-RNA este utilizat la asistarea antrenarii controlerului; Acest tip de control necesita un controler RNA separat (suplimentar MM-RNA al procesului), ce se antreneaza off-line cu BKP=BPA dinamic (deci calcule multe!). Sem 2, "SI", SICC, control neuronal,I 15

Arhitecturi cu RNA pentru predictie si control:

2-Mai-2009

Arhitecturi de control cu RNA

Arhitecturi de control cu RNA

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

16

Arhitectura de control cu model predictat(predictie cu RNA)


Metoda de control cu model de predictie (control predictiv) se bazeaza pe tehnica indepartarii orizontului (receding horizon), unde MM-RNA predicteaza raspunsul procesului peste un orizont de timp specificat. Predictiile se utilizeaza de un program de optimizare numerica pentru determinarea unui semnal ce control ce minimizeaza indicele de performanta J peste orizontul de timp specificat:

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

17

Arhitectura de control cu model predictat(predictie cu RNA)

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

18

Arhitectura de control cu RNA si model de referinta


Arhitectura necesita doua RNA: (1). O RNA pentru modelul procesului si (2). O RNA pentru controler Se identifica mai intai modelul procesului (modelul de referinta); Se antreneaza apoi controlerul RNA a.i. iesirea procesului sa urmeze iesirea modelului de referinta

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

19

Arhitectura de control cu RNA si model de referinta (exista si in NN Toolbox-Matlab!)


.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

20

RNA in estimare, modelare

RNA in estimare, modelare

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

21

APLICATII ale RNA in estimare, modelare (Ai, i=1,2, ,6; aici, A1)
(A). Estimarea parametrilor (Ai), problema ESENTIALA la:
Procesarea adaptiva a semnalelor; Recunoasterea formelor (pattern recognition) Identificarea sistemelor; Controlul adaptiv.

aici, iesirile tinta pentru RNA sunt iesirile profesorului expert (controlerul existent), iar intrarile sunt aceleasi (intrari) pe care le utilizeaza controlerul pentru a genera iesirea de control.

(A1). Copierea (emularea) unui controler existent (v. figura)

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

22

APLICATII ale RNA in estimare, modelare(A1, A2, A3, A4, A5, A6)
(A2). Predictia adaptiva a semnalelor. Valorile intarziate ale unui semnal se
utilizeaza pentru a predicta semnalul la un moment oarecare de timp viitor (adesea momentul de timp urmator). RNA ce trebuie antrenata ia informatia de intrare de la valorile intarziate ale semnalului, in timp ce iesirea RNA devine chiar semnalul ce trebuie predictat (v. figura simpla de mai jos); in cazuri reale, e necesara o cascada de unitati si linii de intarziere.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

23

APLICATII ale RNA in estimare, modelare(A1, A2, A3, A4, A5, A6)
(A3). Identificarea sistemelor. Setul de date pentru instruirea RNA se poate obtine
observand comportarea I/E a procesului. Intrarile catre RNA pot fi valori intarziate ale procesului, mai ales in cazul sistemelor dinamice

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

24

APLICATII ale RNA in estimare, modelare(A1, A2, A3, A4, A5, A6)
(A4). Diferentierea unui model: In cazul acestui tip de aplicatie, metoda identifica MM al
unui proces si apoi il utilizeaza pentru a propaga inapoi eroarea de la iesirea acestuia si a procesului la stratul de intrare al controlerului RNA. Acest lucru permite controlerului RNA sa invete procesul invers (MM invers al procesului) intr-o maniera indirecta, bazata exclusiv pe RNA (v. figura de mai jos)

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

25

APLICATII ale RNA in estimare, modelare(A1, A2, A3, A4, A5, A6)
(A5). Identificarea modelului/ sistemului invers al unui proces/ sistem. In
acest caz iesirile procesului devin intrari ale RNA, iar intrarile procesuli devin iesiri ale RNA sau valori tinta. O problema apare la identificarea inversa atunci cand intrari diferite ale procesului genereaza aceeasi iesire a procesului si maparea (aplicatia I/E) nu este unica: in aceste cazuri, MM invers al procesului nu este bine definit. In restul cazurilor (i.e. cand MM invers este bine definit sau aproximat, controlerele adaptive inverse (CAI) pot fi foarte eficace, vezi aplicatiile de control B)

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

26

APLICATII ale RNA in estimare, modelare(A1, A2, A3, A4, A5, A6)
(A6). Estimarea (observarea) starii. Daca RNA din observerul de stare din
figura este antrenata cu algoritmul BKP, atunci va fi minimizat indicele de performanta (IP) notat J:

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

27

CONTROL neuronal, metodologii

CONTROL neuronal, metodologii.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

28

Ce este controlul neuronal, de ce?,1


Controlul / conducerea neuronal (a) deci, se refera, in mod obisnuit, in practica, la doua metodologii (numite si abordari):
Una, atunci cand controlerul insusi este o RNA = NN (proiectare directa, se va vedea mai departe); Alta, cand controlerele sunt proiectate pe baza modelului RNA al procesuluii (proiectare indirecta)

Cele doua abordari diferite pentru a implementa RNA = NN in control, se numesc metoda de proiectare directa si metoda de proiectare indirecta. Controlul (conducerea) unui sistem dinamic inseamna fortarea acestuia de a avea o comportare dorita intr-un anumit sens.
In cazul controlului fuzzy, aceasta fortare se bazeaza pe o colectie de reguli lingvistice de forma If.then; deci, control fuzzy = o metoda matematica de implementare a unei strategii de control exprimata intrun limbaj natural (de ex. la sisteme complexe etc)
2-Mai-2009 Sem 2, "SI", SICC, control neuronal,I 29

Ce este controlul neuronal, de ce?,2

In cazul controlului neuronal, fortarea de control se refera la o alta metoda si anume, numai atunci cand sunt disponibile date ale comportarii sistemului (perechi de masuratori I/E): fie de la procesul real, fie de la modelul simulat al acestuia.
Tinand cont ca o RNA (= NN) este un aproximator universal de functii, e natural ca o RNA sa se utilizeze si pentru asa ceva (i.e. in control). Mai mult: daca nu este disponibil MM al dinamicii procesului, RNA (NN) pot furniza o metoda utila pentru proiectarea controlerului, daca avem disponibila informatie numerica despre comportarea sistemului sub forma datelor I/E. Adica, o RNA poate fi utilizata ca un model al procesului tip cutie neagra (black box). Si inca mai mult: controlerele proiectate pe baza RNA, beneficiaza de capabilitatea de invatare a RNA, lucru potrivit pentru controlul adaptiv, respectiv acolo unde controlerele trebuie sa se adapteze la schimbarea mediului (de exemplu), cum ar fi cazul sistemelor variante in timp..

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

30

APLICATII ale RNA in control, Bi, i = 1,2,...5, aici B1 (A, B1, B2, B3, B4, B5).
CONTROLUL NEURONAL (Bi):
Este un control adaptiv, prin definitie (cauza: caracteristicile adaptive -recurente ale RNA) Acesta aproape intotdeauna utilizeaza RNA multistrat feedforward (perceptron multistrat); exista totusi si alte arhitecturi de RNA; Majoritatea aplicatiilor utilizeaza algoritmul de invatare BKP (exista s.a. implementari,
dar la nivel teoretic doar)

Controlerele neuronale (adaptive) categorisite dupa tipul structurii de control adaptiv:


Control cu auto-acordare, i.e. regulatoare (controlere) cu autoacordare (STC); Control invers adaptiv (i.e. controlere inverse adaptive) Control adaptiv cu model de referinta

Controlerele neuronale (adaptive) categorisite dupa modul de utilizare in structurile de control adaptiv:
Structura de control adaptiv direct Structura de control adaptiv indirect

(B1). Control supervizat. In controlul de supervizare, o RNA invata sa simuleze un


om sau alt controler (de ex. PID), care deja este familiarizat cu controlul procesului (v. figura (A1), cea de la copierea (emularea) unui controler existent (estimare si modelare)). Este cea mai simpla aplicatie de control ce utilizeaza RNA.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

31

APLICATII ale RNA in control,Bi,i= 1,2,...6, (A, B1, B1, B2, B3, B4, B5), aici B1

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

32

APLICATII ale RNA in control,Bi,(A, B1, B1,B2,B3,B4,B5),(aici B1,cu BKP a erorii)


Propagarea inapoi a erorii la scheme de control cu RNA

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

33

APLICATII ale RNA in control,Bi,(A, B1,B1, B2,B3,B4,B5),control adaptiv direct (B2).


(B2). Control adaptiv direct utilizand RNA (alaturat dreapta (v. si schema B1)
se arata cum este antrenat controlerul neuronal direct: on-line, initial procesul fiind condus de controlerul conventional. Dupa antrenare se utilizeaza numai controlerul cu RNA. Parametrii controlerului se ajusteaza direct pentru a reduce eroarea de iesire es. Controlerul cu RNA este de obicei o RNA cu trei straturi, intrarile acesteia fiind: referinta (r = yref = yd), iesirile si/sau intrarile anterioare ale procesului, pe baza carora se calculeaza, ca iesire, marimea de comanda la pasul urmator

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

34

APLICATII ale RNA in control,(A, B1,B1, B2,B3,B4,B5),control adaptiv indirect (B3).


(B3). Control adaptiv indirect utilizand RNA. Structura de control e mai
complexa decat la controlul adaptiv direct: parametrii procesului se estimeaza ca elemente ale vectorului p^(k) la fiecare moment de esantionare, iar parametrii controlerului q(k) sunt estimati presupunand ca p^(k) reprezinta parametrii reali ai procesului (adica, are loc o identificare explicita precisa, nu una aproximativa). Se observa ca la abordarea directa (anterioara) parametrii controlerului se ajusteaza direct, pentru a reduce eroarea de iesire.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

35

APLICATII ale RNA in control,(B1,B1, B2,B3,B4,B5),control invers, asertiuni(B4).


(B4). Control invers numit si control cu model invers. Aici, RNA este utilizata pentru a invata o aplicatie (o mapare) inversa, ca de exemplu cinematica statica inversa a unui robot manipulator sau dinamica invesa a unui proces (v. figura A5). O lege de control ideal descrie dinamica inversa a unui proces. La sistemele lineare existenta dinamicii inverse, este echivalenta cu controlabilitatea procesului ( W = [An-1B An-2B . A2B AB B] ) (fara demonstratie). La sistemele nelineare este dificil de testat existenta dinamicii inverse. Daca dinamica inversa a unui proces exista, se poate controla acel proces prin modelarea dinamicii inverse a acestuia.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

36

APLICATII ale RNA in control,(B1,B1, B2,B3,B4,B5),control invers, asertiuni(B4). Exista trei posibilitati de control invers in practica:
(B4). Cand RNA invata maparea unei cinematici inverse statice (manipulatoare robotice; i.e. se utlizeaza modelul invers al cinematicii statice), procesul poate fi controlat in maniera bucla-deschisa (v. fig. A5) (B4). Atunci cand este utilizat un model invers al dinamicii procesului, procedura se numeste control invers adaptiv (sau control cu model invers determinat direct) control in bucla inchisa (B4). Atunci cand se utilizeaza diferentierea unui model (v. punctul A4 de la modelare), cand controlerul RNA invata modelul invers al procesului). Spre deosebire de controlul cu model invers de mai sus (unde MM invers al procesului se determina direct), aici, modelul invers se determina indirect (control cu model invers determinat indirect).
2-Mai-2009 Sem 2, "SI", SICC, control neuronal,I 37

APLICATII ale RNA in control,(B1,B1, B2,B3,B4,B5),control invers,B4.


(B4 ). Control cu model intern utilizand RNA sau control cu model invers
(modelul invers al procesului este in cascada cu procesul real si modelul nominal RNA al acestuia; d(kT) perturbatie la intrarea; r(kT)- valoarea dorita; n(kT) zgomot de masurare; y(kT) iesirea; u(kT) semnalul de control; e(kT) eroarea sistemului/a buclei. Structura este proiectata a.i. y(kT) sa fie cat mai apropiata de r(kT), oricare ar fi k, k = 0, 1, 2, .,n. Este deci o structura de reglare robusta

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

38

APLICATII ale RNA in control,(B1,B1, B2,B3,B4,B5),control invers indirect (B4).


(B4). Control cu model invers determinat indirect (v. schema A4 de
identificare indirecta a MM invers). Schema se considera tot o forma de control invers, aici MM invers fiind determinat indirect

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

39

Aplicatia 1 de control cu RNA

Aplicatia 1 de control cu RNA

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

40

APLICATIE control(ON/OFF)cu RNA temperatura unei


camere;incinte;a unei centrale termice murale etc ).
Precizam ca la un sistem conventional de control (PID, ON/OFF de exemplu), constantele de amplificare (parametrii controlerului-Kp, Ki, Kd) sunt fixate toate apriori, in timp ce la o retea neuronala (RNA) acestea se pot modifica. Exemplul este un control neuronal direct (proiectare directa), deoarece RNA implementeaza direct controlerul (v. figura). Se doreste ca RNA sa sa functioneze ca un controler on/off, adica (eroarea este referinta iesire/ val. masurata vezi p(i)):
atunci cand atunci cand [grC] > [grC] <
ref ref

controlerul RNA controlerul RNA

OFF gazul centralei termice de apartament; ON gazul centralei termice;


reala

RNA trebuie antrenata pentru a recunoaste eroarea dintre furnizeze controlul on/off.

si

ref

si sa

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

41

APLICATIA de control al temperaturii cu RNA (ON/OFF aici)


Pentru aproximarea functiei /legii de control ON/OFF, alegem pentru antrenarea RNA un tip de paternuri a.i. RNA sa poata fi in stare sa furnizeze actiuni de control (un patern oscilator in mod intrinsec si, amortizat pentru a prinde si erori mici si mari); alegem deci un patern sinusoidal pe care-l vom amortiza. Generam deci un vector patern de antrenare p(i), i=1,50 , dar si un vector tinta t(i), i=1,50, corespunzatoare valorilor p(i), tot 50 de valori, dar tinte. Deoarece reglulatorul este ON/OFF, toate valorile pozitive ale lui p(i) vor avea ca tinta valoarea t(i) = +1, iar valorile p(i) negative vor fi setate la t(i) = -1 (ca si cum ar comuta un releu). Mai departe: Se genereaza paternul de antrenare (sinusoida amortizata, de unde se recolteaza vectorii tinta) Se seteaza tinta la valoarea +1 pentru toate valorile pozitive ale sinusoidei amortizate si la -1 pentru valorile negative ale acesteia vezi codul Matlab In cazul nostru avem o RNA cu doua straturi, feed-forward. RNA contine un strat ascuns cu un numar specificat oarecare de neuroni si un strat de iesire cu un numar de neuroni ce sunt capabili sa reprezinte numarul iesirilor pe care dorim sa le generam. In cazul nostru avem iesire binara (on/off), deci vom avea nevoie de un neuron de iesire. Numarul neuronilor din stratul ascuns se determina prin incercari. Vom incerca cu 10 neuroni in primul strat (stratul ascuns) carora le asignam functii nelineare tangent-sigmoid (tansig in Matlab) si cu 1 neuron in stratul de iesire, neuron asignat cu o functie lineara de iesire (purelin in Matlab, on/off = 1), iar pentru invatare (antrenare) ca default in Matlab, utilizam algoritmul de optimizare Levenberg-Marquardt (functia trainlm in Matlab). Tot default sunt si functiile de invatare BKP (functia learngdm) si functia de performanta a erorii medii patratice (functia mse)
Sem 2, "SI", SICC, control neuronal,I 42

2-Mai-2009

APLICATIA de control ON/OFF cu RNA (al temperaturii).


In Matlab, comanda care furnizeaza topologia dorita de RNA, conform celor de mai sus, este: net=newff([min(p) max(p)],[10 1],{'tansig','purelin'},'trainlm', 'learngdm','mse'); Se mai specifica numarul de epoci in care se realizeaza antrenarea (adica numarul de cicli de antrenare pe care ii atinge RNA pana cand este atinsa valoarea criteriului impus al erorii medii patratice, 10.000 cicli aici) si eroarea medie patratica (aici 0.179) Se initializeaza tot ceea ce trebuie si se poate initializa Se antreneaza RNA Se verifica daca RNA a fost bine antrenata (prin confirmarea/ infirmarea vizuala a raspunsului RNA) Se determina cat de bine este antrenata RNA, utilizand si posibilitatile Matlab (suprafata erorii, conturul erorii etc) Se testeaza performanta RNA de a face control on/off. Observatie: Daca ceva nu este satisfacator (raspunsul, eroarea etc):
Se poate creste numarul de neuroni din stratul ascuns; Se poate alege o RNA cu doua straturi ascunse; Se poate alege o alta topologie de RNA ce are posibilitati de invatare mai bune etc

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

43

APLICATIE de control cu RNA (aici, reglaj ON/OFF al temperaturii).


>> % RNA pentru controlul ON/OFF al temperaturii (ce functioneaza ca un controller ON/OFF) >> w=2*pi; >> time=0; >> for i=1:50, >> p(i)=(exp(-time))*sin(w*time); >> time=time+0.1; >> if (p(i)>0.0) >> t(i)=1; >> elseif (p(i)<0.0) >> t(i)=-1; >> end >> end >> figure (1) >> plot (p) >> figure (2) >> plot (t) >> net=newff([min(p) max(p)],[10 1],{'tansig','purelin'},'trainlm','learngdm','mse'); >> net.trainParam.epochs=10000; >> net.trainParam.goal=0.179; >> net=init(net); >> net.iw{1,1} >> net.b{1} >> net=train(net,p,t); >> y1=sim(net, p); >> figure (4) >> plot(p,t,'o',p,y1,'*'); >> wv=-1:0.1:1; >> bv=-2.5:.25:2.5; >> es=errsurf(p,t,wv,bv,'tansig'); >> figure (5) >> plotes(wv,bv,es,[60, 30]); % Test de performanta a RNA de a face control on/off in bucla inchisa, cu o functie de test arbitrara >> w=16*pi; >> time=0; >> for i=1:100, >> p2(i)=16*(exp(-time))*sin(w*time); >> time=time+0.1; >> end % Simularea raspunsului RNA (functia antrenata p - o si functia test p2 *, figura 6) >> y2=sim(net,p2) >> figure (6) >> plot(p,t,'go',p2,y2,'b*');

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

44

Exemplul de control RNA direct, controlul temperaturii codul sursa Matlab % RNA pentru controlul ON/OFF al temperaturii (RNA ce functioneaza ca un controller ON/OFF)
% Se genereaza paternurile de antrenare a RNA, adica sinusoida amortizata, din care %vom dezvolta vectorii tinta corespunzatori. Se seteaza valorile tinta la valoarea +1 %pentru toate valorile pozitive ale sinusoidei amortizate si la -1 pentru cele negative >> w=2*pi; >> time=0; >> for i=1:50, >> p(i)=(exp(-time))*sin(w*time); >> time=time+0.1; >> if (p(i)>0.0) >> t(i)=1; >> elseif (p(i)<0.0) >> t(i)= -1;

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

45

Exemplul de control RNA direct, controlul temperaturii codul sursa Matlab

>>end >>end >>figure (1) >>plot (p) >>figure (2) >>plot (t)

% Neuronului de iesire i se asigneaza functia lineara purelin (deoarece furnizeaza la %iesire ambele valori 1) si nu functia poslin (numai iesiri pozitive, +1!); apoi, %pentru optimizare se utilizeaza algoritmul trainlm (Levenberg-Marquardt); %pentru antrenare se aleg 10.000 de epoci, iar mse = 0.179; se aleg pentru stratul %ascuns doar 10 neuroni (in aceasta simulare!).

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

46

Exemplul de control RNA direct, controlul temperaturii codul sursa Matlab


>>net=newff([min(p) max(p)],[10 1],{'tansig','purelin'}, 'trainlm', 'learngdm','mse'); >>net.trainParam.epochs=10000; % Numarul epocilor de antrenare >>net.trainParam.goal=0.179; % >>net=init(net); % Se initializeaza toate ponderile si abaterile RNA (trebuie prudenta!) >>net.iw{1,1} % Initializarea ponderilor w ale RNA >>net.b{1} % Initializarea pragurilor de activare b ale neuronilor RNA >>net=train(net,p,t); % Codul de antrenare a RNA. % Se verifica apoi cat de bine a fost antrenata RNA net , prin resimularea %functiei de antrenare (p), in acest caz caracteristica tip releu, on /off. Comanda % sim face acest lucru, iar confirmarea antrenarii RNA este vizuala, v. Fig.4. Se %observa din fig 4 ca RNA a invatat caracteristica tip releu f. bine, deci NU e %necesara alta reantrenare. In cazul cand raspunsul RNA antrenate nu e bun: se %poate modifica nr neuronilor din stratul ascuns, nr straturilor ascunse, tipul de RNA >>y1=sim(net, p); >>figure (4) >>plot(p,t,'o',p,y1,'*'); >>wv=-1:0.1:1; % Vectorul linie al valorilor ponderilor w pentru trasarea suprafatei erorii >>bv=-2.5:.25:2.5; % Vectorul linie praguri de activare (biases, b) pentru trasarea suprafatei erorii >>es=errsurf(p,t,wv,bv,'tansig'); % Suprafata erorii unui neuron cu o singura intrare >>figure (5) >>plotes(wv,bv,es,[60, 30]); % Traseaza suprafeta erorii unui neuron cu o singura intrare
2-Mai-2009 Sem 2, "SI", SICC, control neuronal,I 47

Exemplul de control RNA direct, controlul temperaturii codul sursa Matlab


% Testarea performantei RNA de a face control ON/OFF intr-o bucla inchisa, generand o functie de test arbitrara >>w=16*pi; >>time=0; >>for i=1:100, >>p2(i)=16*(exp(-time))*sin(w*time); % Functia de test >>time=time+0.1; >>end % Simularea raspunsului RNA (functia antrenata p - o si functia test p2 *, figura 6) >>y2=sim(net,p2) % Simularea raspunsului >>figure (6) >>plot(p,t,'go',p2,y2,'b*');

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

48

Exemplul de control RNA direct, figuri: sinusoida amortizata; tinte; eroare invatare
Fig 1 (p), fig.2 (t) si fig.3 (mse=eroarea patratica medie la antrenarea cu trainlm)
V ec torul tinta t(i), i= 1,50; [ = + 1 dac a p(i)= poz .]; [= -1 dac a p(i) = neg.]] 1 0.8 0.6 0.4 0.2

P aternul s inus oidal am ortiz at p(i), i = 1,50 0.8

0 -0.2

0.6

-0.4 -0.6

0.4
-0.8

0.2

-1

10

15

20

25

30

35

40

45

50

-0.2

-0.4

-0.6

10

15

20

25

30

35

40

45

50

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

49

Exemplul de control RNA direct: caracteristicile on/off si suprafata erorii


Figurile 4 si 5
S uprafata erorii Contururile s um elor patratelor erorii 2.5 2

F unc tia originala 'o' s i func tia antrenata' * ' (RN A a invatat c arac teris tic a tip releu) 1.5

1
80 S um a pa tratelor erorii 1.5 P ragu ri a c tiv are n euron, B 0 0 2 -2 1 0.5 0 -0.5 -1 -1.5

0.5

60 40 20 0 -20 -1

-0.5

-1
-2 -2.5 -1

-1.5 -0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

P onderi, W

P raguri ac tivare, B

0 1 P onderi neuron, W

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

50

Exemplul de control RNA direct: caracteristicile on/off si suprafata erorii


Fig. 5 (suprafata erorii), repetata
S uprafata erorii 2.5 2 1.5 V ec tor praguri ac tiv are, B 1 0.5 0 -0.5 -1 -1.5 0 0 P onderi W 1 -2 P raguri B -2.5 -1 -0.5 0 0.5 V ec tor ponderi, W 1 2 -2 C ontururile s uprafatei erorii

80 S um a patratelor erorii 60 40 20 0 -20 -1

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

51

Exemplul de control RNA direct: raspunsul on/off al RNA antrenate,comparativ cu testul


Figura 6
Ras puns ul RNA antrenate 'go', c om parativ c u al tes tului fac ut ' b*'. 1.5

0.5

-0.5

-1

-1.5 -15

-10

-5

10

15

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

52

Gata partea I-a


.

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

53

Sisteme expert neuronale (sisteme hibride conexioniste)

Sisteme expert neuronale SEN(dar, sunt sisteme hibride conexioniste)

2-Mai-2009

Sem 2, "SI", SICC, control neuronal,I

54

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