Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Marius M. Bălaş
Curs
- 2015 -
1
Cuprins
2
1. Introducere în Sistemele Fuzzy Hibride
3
1.2. Mulţimi fuzzy
În teoria clasică a mulţimilor, o mulţime C este definită ca o colecţie de n elemente xi,
cu i = 1 ... n, definite într-un domeniu de definiţie X. Fiecărui element i se poate ataşa
o funcţie de apartenenţă FA, notată (xn), având valoarea:
0, dacă xn C
(xn) = (1.1)
1, dacă xn C
O astfel de mulţime poate fi denumită „fermă” (crisp), deoarece gradul de apartenenţă
respectă principiul terţului exclus din algebra Booleană, fiind posibile numai două situ-
aţii: apartenenţa sau non-apartenenţa, sau în termeni logici, adevăr sau fals.
Spre deosebire de mulţimile ferme, o mulţime fuzzy MF acceptă pentru FA orice va-
loare aparţinând intervalului [0 ... 1]. Valorile 0 şi 1 au aceeaşi semnificaţie ca şi în
cazul mulţimilor ferme, adică non-apartenenţa respectiv apartenenţa totală a elemen-
tului la MF. Valorile intermediare indică măsura în care elementul x aparţine catego-
riei descrisă de mulţime. Un grad de apartenenţă de 0,9 indică o legătură puternică a
elementului cu mulţimea în timp ce 0,5 arată că elementul poate la fel de bine să fie
inclus sau exclus din mulţime. O MF A definită pe domeniul X va fi caracterizată de
funcţia de apartenenţă
A (x) : X [0 ... 1] (1.2)
xX
Se defineşte înălţimea mulţimii A, hgt(A), valoarea maximă a funcţiei de apartenenţă:
hgt(A) = sup A(x) (1.3)
Dacă hgt(A) = 1 mulţimea fuzzy A se va numi normală. Dacă hgt(A) < 1, atunci A se
va numi subnormală.
Suportul (baza, lăţimea) mulţimii A este format din mulţimea elementelor xX pentru
care A(x) 0:
supp(A) = { xX A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX A(x) = 1 } (1.5)
4
În acest caz reprezentarea prin MF permite modelarea percepţiei umane a confortului
termic, concept prin excelenţă subiectiv şi incert. Să presupunem că utilizăm această
reprezentare în cadrul unui sistem de condiţionare a aerului. Deşi aparent renunţarea la
definirea precisă a obiectivelor reglării ar putea părea hazardată, prin formularea fuzzy
se obţin performanţe mult mai bune ale reglării temperaturii, nu în termeni de precizie,
care oricum este nesemnificativă în acest caz, ci în termeni de economie de energie,
reducere a numărului de acţiuni de reglare, adaptare la condiţiile interne şi de mediu,
etc. Toate acestea sunt posibile prin simpla înglobare a cunoştinţelor de tip expert prin
intermediul regulilor fuzzy de conducere.
Un sistem secvenţial de condiţionare a aerului utilizând logica lui G. Boole ar porni
încălzirea imediat după scăderea temperaturii sub 21oC şi ar opri încălzirea la depăşirea
temperaturii de 23oC. Această funcţionare asigură o anumită precizie şi siguranţă
reglării, dar necesită un număr mare de acţionări ale elementului de execuţie, ceea ce
produce în general uzura prematură a elementelor sistemului şi nu ţine cont de
tendinţele naturale de evoluţie ale sistemului. De exemplu, dacă temperatura este de
20,7oC, mai mică decât limita inferioară admisibilă, dar tendinţa ei este de creştere,
sistemul s-ar încadra singur, în scurt timp, în domeniul 21oC - 23oC. Pornirea încălzirii
accelerează intrarea în domeniul de temperatură dorit dar cu preţul unei energii supli-
mentare injectate în sistem, în plus existând mari şanse ca din cauza din cauza inerţiei
termice temperatura să depăşească repede 23oC. Ar urma astfel fie o nouă disipare de
energie necesară răcirii sistemului, fie o lungă perioadă de supraîncălzire.
Un sistem fuzzy având în setul de reguli de conducere şi o regulă referitoare la econo-
mia de energie ar putea admite ca destul de confortabilă şi temperatura de 20,5oC, fără
a porni încălzirea. Decizia nu va fi greşită, întrucât foarte puţini oameni ar putea sesiza
cele 0,5oC cu care temperatura este inferioară domeniului impus. Datorită tendinţei
naturale de încălzire se va ajunge treptat în domeniul 21oC - 23oC fără irosirea energiei.
Pentru FA se pot folosi diferite forme, cele mai uzuale dintre ele fiind prezentate în
figura următoare.
Dreptunghiul şi singleton-ul sunt de fapt proprii mulţimilor Booleene, dar ele se întâl-
nesc frecvent în aplicaţii, asociate cu alte variabile fuzzy, de exemplu în cazul comen-
zilor aplicate unui element de execuţie cu stări discrete.
5
Când aplicaţia necesită precizie şi sensibilitate se poate apela la curbele de tip Gauss
(““ sau “”) care au şi avantajul de a putea fi corelate cu mărimile probabilistice. În
principiu se pot utiliza orice altă formă sau combinaţie de forme uzuale.
În marea majoritatea a aplicaţiilor se constată însă că cele mai des utilizate forme sunt
cele triunghiulară şi trapezoidală, mai uşor de reprezentat şi necesitând un volum mai
mic de calcule şi de memorie. Alegerea formelor simple de FA este justificată şi prin
constatarea des menţionată în literatura de specialitate că esenţiale în aplicaţii sunt
suportul şi toleranţa unei MF, forma flancurilor FA având un efect mai redus asupra
rezultatelor obţinute.
6
Structura astfel obţinută este o latice distributivă deoarece se bucură de următoarele
proprietăţi: asociativitate, comutativitate, absorbţie, idempotenţă şi distributivitate în
ambele sensuri.
De asemenea se verifică legile lui de Morgan, principiul dublei negaţii şi legile lui 0
şi 1 (elementele neutre faţă de cele două operaţii):
A(x) 1 = 1 A(x) 0 = A(x) (1.11)
A(x) 1 = A(x) A(x) 0 = 0
Spre deosebire de logica booleană, în cazul LF nu se mai respectă însă principiile
terţului exclus şi nici cel al contradicţiei, din cauza modului de alcătuire a funcţiilor de
apartenenţă:
( A A )(x) 1 şi ( A A )(x) 0 (1.12)
De exemplu, în cazul în care A(x) = 0,5, caz în care incertitudinea atribuirii unei valori
logice este maximă, ( A A )(x) = ( A A )(x) = 0,5. Diferenţa A(x) - A(x) poate
reprezenta o măsură a caracterului vag al mulţimii A: cu cât diferenţa este mai mică, A
este mai vagă. În cazul anterior A - A = 0. În cazul mulţimii lor ferme A - A = 1.
În perioada de început a logicii fuzzy s-au utilizat şi suma probabilistică şi produsul:
(A B) (x) = A(x) + B(x) - A(x) B(x) (1.13)
(A B) (x) = A(x) B(x)
Faţă de laticea min-max gradele de apartenenţă depind în acest caz de ambii operanzi.
În consecinţă regulatoarele fuzzy care vor utiliza aceste operaţii vor fi mai “senzitive”
decât cele bazate pe operaţia min-max.
De fapt există o clasă largă de operaţii utilizabile ca funcţii logice şi , denumite
norme triangulare. Prin normă t se înţelege o funcţie de două argumente t : [0 ... 1] x
[0 ... 1] [0 ... 1] având următoarele proprietăţi:
asociativitate: (x t y) t z = x t (y t z)
comutativitate: xty=ytx (1.14)
condiţii de limită: xt0=0 , xt1=x
nedescrescătoare pt. fiecare argument: pentru x y , w z, xtwytz
7
Din cele de mai sus se observă că norma t prezintă majoritatea proprietăţilor funcţiei
logice ŞI. Funcţia logică SAU poate fi modelată cu norma s (conorma t), care la rândul
ei este:
asociativă;
comutativă; (1.16)
satisface condiţiile: xs0=x , xs1=1
nedescrescătoare.
norme t norme s
x t y = min(x, y) x s y = max (x, y)
xty=xy xsy=x+y-xy
x t y = 1-min([1, ((1-x) + (1-y) ) ], p 1
p p 1/p
x s y = min (1, (xp + yp)1/p) , p1
x t y = max[0, (+1)(x+y-1)- x y], -1 x s y = min [1, x + y + x y] , -1
x , dacă y = 1
min (x, y) x t y y , dacă x = 1 (1.17)
0 , în celelalte cazuri
x , dacă y = 0
max (x, y) x s y y, dacă x = 0 (1.18)
1 , în celelalte cazuri
Alegerea unor norme t şi s diferite de min-max (sau eventual de produsul şi suma
probabilistică) este totuşi mai rară, volumul de calcule necesar fiind mai mare, fără a se
obţine întotdeauna îmbunătăţiri semnificative.
Utilizarea operaţiilor min-max, prin lipsa de interacţiune dintre operanzi (unul dintre ei
nu participă la stabilirea rezultatului) nu este indicată în cazurile care reclamă funcţii
de apartenenţă precise, dar în schimb oferă avantajul robusteţii şi imunităţii la zgomot.
8
1.4. Variabile lingvistice şi fuzzificare
Termenul de variabilă lingvistică VL, introdus de L. A. Zadeh în 1975 defineşte o
variabilă care ia valori lingvistice, cum ar fi încet, repede, înalt, etc. Aceste valori sunt
modelabile prin MF. Orice VL conţine câţiva termeni lingvistici TL primari - etichete
lingvistice. Aplicând reguli sintactice şi semantice se pot construi termeni derivaţi şi
propoziţii. Să luăm de exemplu VL temperatură, cu domeniul de definiţie cuprinzând
gama de temperaturi care se pot realiza în interiorul unui vagon. Termenii lingvistici
primari pot fi mic, mediu şi mare. Aceşti termeni pot fi în continuare ponderaţi cu mo-
dificatori, cum ar fi foarte, mai mult sau mai puţin, etc. Se obţin propoziţii corecte prin
combinarea termenilor primari şi a modificatorilor, de exemplu (temperatură) foarte
mare. Cu ajutorul VL este posibilă reprezentarea cunoştinţelor într-un mod familiar
percepţiei umane. Instrumentul matematic, bazat pe VL, prin care cunoştinţele pot fi
reprezentate şi prelucrate se numeşte cadru cognitiv (frame of cognition) CC.
Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un CC dacă îndeplineşte urmă-
toarele două condiţii:
A acoperă domeniul de definiţie X. Fiecare element al domeniului de definiţie poate
fi atribuit cu un grad de apartenenţă diferit de zero cel puţin unei MF din A:
Ai (x) > (1.19)
x i
O PF va încadra fiecare punct din domeniul de definiţie X într-unul sau doi TL, fără
zone insuficient caracterizate, la care suma gradelor de apartenenţă ar fi mai mică de 1.
În perspectiva utilizării PF la reglările automate, această condiţie exprimă faptul că
suficiente informaţii pentru luarea unor decizii sigure în orice zonă a domeniului X.
Dacă informaţiile ar fi insuficiente suma ar trebui să fie subunitară iar o sumă supra-
unitară indică reguli contradictorii.
9
Fig. 1.4. Partiţie fuzzy
Operaţia de proiectare a CC sau PF se numeşte fuzzificare. Fuzzificarea este operaţia
esenţială de reprezentare în calculator a cunoştinţelor formulate lingvistic. De exemplu,
în partea aplicativă a tutorialului, la fuzzificarea variabilei eroarea de reglare vom uti-
liza următorii TL: negativ mare, negativ mic, zero, pozitiv mic şi pozitiv mare.
10
Fig. 1.6. Structura de tip sistem expert
O variantă mai complexă, proprie sistemelor expert, este prezentată în Fig. 1.6. Prin
separarea bazei de reguli de mecanismul de inferenţă se câştigă în flexibilitate, iar în
cazul proiectelor mari se poate lucra în paralel asupra celor două blocuri, de către echi-
pe specializate.
În funcţie de natura fuzzy sau non-fuzzy a variabilelor de intrare şi ieşire sunt posibile
patru forme de CF, prezentate în tabelul următor. Forma (1), tipică pentru aplicaţiile de
reglare automată se mai numeşte şi regulator fuzzy RF.
11
În cazul în care alegem pentru cinci TL iar pentru ε trei, vom avea un tabel cu 15
reguli de conducere. O modalitate tipică de alegerii TL care alcătuiesc variabilele de
intrare este următoarea:
E1 = negativ mare, E2 = negativ mic, E3 = zero, E4 = pozitiv mic, E4 = pozitiv mare
DE1 = pozitiv, DE2 = zero, DE3 = negativ
Principala sarcină a proiectantului este în această fază alegerea ieşirilor aferente fiecă-
rei reguli în parte. O regulă specială este regula R8, care corespunde atingerii obiecti-
vului reglării: = 0 şi ε = 0. Enunţarea acestei reguli este următoarea:
DACĂ = zero ŞI ε = 0, ATUNCI se activează regula R8
Proiectantul mai trebuie să aibă în vedere două aspecte esenţiale ale inferenţei:
a) Ce funcţii logice sunt folosite pentru inferenţă, în cazul nostru pentru ŞI? Aşa cum
s-a văzut în secţiunea 1.3, foarte des se folosesc operaţiile min-max şi prod-sum.
b) Care va fi efectul regulii activate asupra ieşirii? Pentru aceasta trebuie fuzzyficată şi
mărimea de ieşire a controlerului, care în cazul RF este mărimea de comandă.
Dacă ieşirea este fuzzificată în acelaşi mod ca şi intrările, utilizând TL modelaţi prin
MF, atunci controlerul este de tipul Mamdani, purtând numele celui care a realizat
prima aplicaţie practică a RF.
O variantă simplificată a acestei versiuni de bază a fost propusă de M. Sugeno, care a
fuzzificat mărimea de ieşire utilizând exclusiv singletonuri. CF nu-şi pierde în acest fel
caracterul fuzzy, dar implementările practice se simplifică semnificativ.
1.6. Defuzzificarea
Ultima, dar nu şi cea mai puţin importantă dintre operaţiile dintr-un FC, este
defuzzificarea, prin care mulţimea fuzzy obţinută prin inferenţă este transformată într-o
mărime fermă şi transferată ieşirii. Necesitatea defuzzificării apare pentru că mai multe
reguli pot fi active în acelaşi timp, fiind necesară fie alegerea uneia singure dintre ele,
fie sintetizarea unei ieşiri care să ţină cont într-o anumită măsură de fiecare dintre ele.
Dacă în cazul fuzzificării şi a inferenţei există aproape un consens asupra utilizării par-
tiţiilor fuzzy modelate prin forme triunghiulare sau trapezoidale, respectiv asupra me-
todei min-max, în cazul defuzzificării există două metode de defuzzificare cu o popu-
laritate largă, MOM (mean-of-maxima) şi COG (center-of-gravity), fiecare la rândul ei
prezentând mai multe variante. Alegerea metodei de defuzzificare se face în funcţie de
mai multe criterii, dintre care cele mai importante sunt:
caracteristicile MF de ieşire Y = {y1 , y2 , ... yn} şi ale elementului de execuţie;
viteza cerută de aplicaţie şi capacitatea de calcul disponibilă.
12
1) Metoda maximului constă din atribuirea pentru ieşirea fermă yo a valorii obţinută
prin alegerea elementului cu cel mai înalt grad de apartenenţă din componenţa MF de
ieşire: Y (yo) = max { yi (y) yY, i=1 ... n }.
La stabilirea acestei valori concurează toate VL active yi, fiind aleasă doar cea având
contribuţia cea mai puternică. Metoda se poate aplica numai în cazul în care se poate
stabili o valoare unică yo, adică atunci când Y are în componenţă MF triunghiulare sau
singleton-uri. În cazul în care există mai multe MF având grade de apartenenţă maxime
cu valori egale se poate alege la întâmplare una dintre ele sau se poate face media valo-
rilor ferme rezultate din fiecare. În cazul în care Y(y) nu prezintă maxime punctuale
(de exemplu în cazul formelor trapezoidale), se pot aplica variantele: primul dintre
maxime FOM (first of maxima), ultimul dintre maxime LOM (last of maxima) sau mij-
locul maximelor MOM.
Mamdani Sugeno
13
2. Tool-kit-ul Fuzzy Inference System
La deschiderea FIS-ului sunt implicite o variabilă de intrare input 1, una de ieşire out-
put 1 şi blocul de inferenţă Mamdani. Aşa cum vom vedea, inferenţa Mamdani poate
fi înlocuită cu inferenţa Sugeno.
Numele variabilelor selectate poate fi tastat în căsuţa de dialog Name.
14
2.2. Fuzzificarea
Blocul de fuzzificare primeşte la intrare valori ferme şi oferă la ieşire valori fuzzy.
Variabilele fuzzy sunt construite sub forma de cadre cognitive sau de partiţii fuzzy.
Setarea unei variabile de intrare începe printr-un dublu click pe pictograma variabilei.
Pentru input 1 se va activa editorul de funcţii de apartenenţă din figura următoare.
15
Fig. 2.3. Partiţia fuzzy aferentă unei variabile de intrare
Fiecare funcţie de apartenenţă poate fi acum editată. Parametrii formei (în cazul triun-
ghiului, cele trei puncte marcate în Fig. 2.3) pot fi tastate în căsuţa Params sau pozi-
ţionate cu ajutorul mouse-ului. Fiecare MF poate fi etichetată prin căsuţa Name. De
exemplu, în loc de mf1, mf2, mf3, mf4 şi mf5 putem tasta zero, small, medium, great
şi very great. Domeniul variabilei poate fi de asemenea definit cu ajutorul căsuţei de
dialog Range. De exemplu, dacă dorim să fuzzificăm variabila glicemie (concentraţia
de zahăr din sânge), domeniul de definiţie ar trebui schimbat de la [0 1] cum este cel
implicit din Fig. 2.3 la [0 200].
Părţi din domeniul de definiţie pot fi selectate pentru afişare cu ajutorul căsuţei display
range. O recomandare importantă: domeniul de definiţie al variabilelor fuzzy trebuie
să fie mai extins decât cel cerut de aplicaţie. În caz contrar, unele dintre metodele de
inferenţă pot produce erori în vecinătatea limitelor domeniului! Aceasta se realizează
dacă range este mai larg decât display range iar funcţia de apartenenţă are valoarea 1
în exteriorul valorilor din display range, care defineşte de fapt domeniul aplicaţiei.
Noi variabile de intrare pot fi adăugate prin meniul Edit din fereastra principală FIS
utilizând comanda Add input.
16
2.3. Defuzzificarea
Etapa de defuzzificare produce valori ferme pornind de la valori fuzzy. Această ope-
raţie, opusă fuzzificării, este necesară doar când avem nevoie de valori ferme la ieşire,
de exemplu în cazul sistemelor de reglare (viteză, poziţie, presiune, etc). Când sistemul
fuzzy trebuie să producă ieşiri lingvistice, de exemplu în cazul sistemelor de decizie de
tipul expert, defuzzificarea nu mai este necesară şi ieşirea poate rămâne ca variabilă
fuzzy.
FIS poate produce inferenţe atât de tip Mamdani cât şi de tip Sugeno. Aşa cum se ob-
servă în §2.4, regulile de conducere ale inferenţei pot avea ca rezultat fie valori fuzzy
în cazul inferenţei Mamdani, fie valori ferme în cazul inferenţei Sugeno. Evident siste-
mele fuzzy de tip Sugeno sunt mai simple decât cele de tip Mamdani. De aceea infe-
renţa Sugeno este recomandabilă când la ieşire avem nevoie de valori ferme. Când la
ieşire avem nevoie de valori lingvistice inferenţa Mamdani este singura posibilă. Ale-
gerea tipului de inferenţă trebuie făcută chiar la începutul aplicaţiei, din fereastra prin-
cipală FIS¸ prin meniul File: fie New Mamdani FIS, fie New Sugeno FIS.
17
Fuzzificarea Mamdani este ilustrată în Fig. 2.4 pentru cazul unui CC cu trei VL de
formă Gauss-iană mf1, mf2 şi mf3.
Sistemul Sugeno este ilustrat în Fig. 2.4, pentru cazul unei variabile de ieşire cu trei TL
definită în domeniul [0 1]: zero (singletonul 0), small (singletonul 0.5, cel selectat în
figură) şi great (singletonul 1).
18
2.4. Inferenţa fuzzy
Partea centrală a unui sistem fuzzy constă din mecanismul său de inferenţă, care este
realizat de către baza de reguli. Blocul de inferenţă permite scrierea rapidă şi uşoară a
regulilor printr-un tabel McVicar-Whelan. Tipul inferenţei este specificat prin alegerea
normei t (and method) şi normei s (or method) în fereastra principală FIS (Fig. 2.1).
Aşa cum se poate vedea în Fig. 2.5 blocul conţine butoane de editare care permit adău-
garea de reguli noi Add rule precum şi ştergerea Delete rule sau modificarea regulilor
existente Change rule. La formularea regulilor se pot utiliza şi opţiunile not pentru
complementare şi none atunci când variabila respectivă nu este implicată. Totodată se
poate alege între formele conjunctivă and sau disjunctivă or.
Două instrumente importante pentru aplicaţii, care vor fi utilizate în cele ce urmează se
pot accesa din meniul View:
- View rules prin care se văd în timp real regulile activate şi gradul lor de activare;
- View surface prin care se vizualizează suprafaţa de comandă realizată de aplicaţie.
19
2.5. Posibilităţi de utilizare a FIS
O primă observaţie extrem de utilă este aceea că în general aplicaţiile Matlab, şi mai
ales FIS, necesită o atenţie deosebită la salvarea fişierelor. Opţiunile de salvare se gă-
sesc ca de obicei în meniul File. Aplicaţiile FIS sunt salvate ca fişiere cu extensia *.fis,
pe hard disk, pe dispozitive externe sau în workspace. În această situaţie, la terminarea
sesiunii de lucru este necesară şi salvarea workspace-ului, ca fişier *.mat.
Cea mai directă variantă de utilizare a FIS este prin intermediul ferestrei de comenzi
(command window). Pentru aceasta toolbox-ul fuzzy include un set larg de comenzi
aferente FIS: evalfis, ruleviewer, gensurf, readfis, etc. prin care se pot accesa şi ajusta
toate componentele FIS. Sintaxa lor poate fi studiată cu ajutorul comenzii Help.
Ce mai productivă modalitate de lucru cu FIS este însă obţinută prin Simulink-Matlab.
Tool-kit-ul Simulink permite modelarea vizuală pe calculator, prin tehnica drag-and-
drop, astfel încât aplicaţiile pot fi realizate extrem de eficient. În acest fel fişierele *.fis
pot fi incluse în modelele Simulink şi pot fi testate în aplicaţii beneficiind de biblioteca
de funcţii predefinite care a plasat Simulink pe poziţia dominantă a segmentului său de
piaţă.
Fig. 2.7. Funcţiile disponibile în biblioteca Fuzzy Logic Toolbox din Simulink
Pentru a putea utiliza cele două controlere disponibile Fuzzy Logic Controller şi Fuzzy
Logic Controller with Ruleviewer trebuie ca fişierul *.fis să fie instalat în workspace.
20
Controlerului Simulink este asociat fişierului *.fis cu ajutorul căsuţei de dialog care
apare în urma unui dublu click. În căsuţă trebuie tastat numele fişierului *.fis din work-
space.
Blocurile Fuzzy Logic Controller au o singură intrare, motiv pentru care vom apela şi la
un bloc de multiplexare Mux. Ordinea în care apar variabilele de intrare în FIS, de sus
în jos, trebuie respectată şi la conectarea multiplexorului.
21
3. Implementarea FIS a unui regulator PD
3.1. Formularea temei proiectului
În cele ce urmează se va realiza un regulator fuzzy de tip PD, atât în varianta Mamdani
cât şi în varianta Sugeno. Configuraţia acestui regulator este următoarea:
Intrări: eroarea e, şi derivata erorii de
Ieşire: comanda c
Fuzzificarea va fi realizată după următoarea formulă:
pentru intrarea e, şapte TL: NG, NM, NS ,Z ,PS ,PM şi PG
pentru intrarea de, cinci TL: NG, NS, Z, PS şi PG
pentru ieşirea c: cinci TL - NG, NS, Z, PS şi PG
Etichetele lingvistice utilizate sunt tradiţionale:
NG – negative great/negativ mare
NM – negative medium/negativ mediu
NS – negative small/negativ mic
Z – zero/zero
PS – positive small/pozitiv mic
PM – positive medium/pozitiv mediu
PG – positive great/pozitiv mare.
Se vor utiliza exclusiv variabile normalizate, adaptarea la procesul condus realizându-
se prin trei factori de scalare: factorul de scalare pentru eroare FSe, factorul de scalare
pentru derivata erorii FSde şi factorul de scalare pentru comandă FSc.
Scopul final al acestui proiect este realizarea unui regulator de uz general care să poată
funcţiona într-o gamă largă de aplicaţii. El va fi testat în urma implementării Simulink
pentru diferite procese conduse.
22
3.2. Implementarea regulatorului Mamdani
Fuzzificarea variabilelor este prezentată în figura următoare.
23
Baza de reguli propusă este următoarea:
Observaţie: Regulile au fost formulate conform logicii lingvistice „dacă eroarea are un
anumit semn, atunci comanda trebuie să fie de sens opus”. De exemplu dacă (e este
NG) atunci (c este PG). Din acest motiv semnul comenzii c trebuie schimbat (se înmul-
ţeşte cu constanta -1).
24
Fig. 3.3. Suprafaţa de comandă cu defuzzificare COG
Se remarcă faptul că suprafaţa de comandă generată prin defuzzificarea COG este mai
netedă comparativ cu defuzzificarea MOM.
Cu cât mai multe reguli există în baza de reguli, cu atât mai multe puncte de fixare a
suprafeţei de comandă avem la dispoziţie, dar pe de altă parte implementarea este mai
greoaie.
Implementarea Simulink este prezentată în Fig. 2.11. Schimbarea semului comenzii
datorată formulării regulilor se realizează prin factorul de scalare FSc. Blocul de
saturare care limitează acţiunea regulatorului are limitele ±10.
25
FSe
e
1 c 1
-10
Step du/dt 1 s2 +2s+1
de FSc Saturation Transfer Fcn Scope
Derivative FSde Fuzzy Logic
Controller
with Ruleviewer out
out
u, out
0.5
0
0 1 2 3 4 5 6 7 8 9 10
10
5
c
-5
0 1 2 3 4 5 6 7 8 9 10
t [s]
26
3.3. Implementarea regulatorului Sugeno
O simplificare importantă a regulatorului anterior se obţine în varianta Sugeno. În plus
reducem baza de reguli la dimensiunea 5 x 5, utilizând numai 5 TL pentru e.
27
Suprafaţa de comandă rezultată este prezentată în figura următoare.
1
u, out
0.5
0
0 1 2 3 4 5 6 7 8 9 10
10
0
c
-5
-10
0 1 2 3 4 5 6 7 8 9 10
t [s]
28
4. Regulatoarele fuzzy-interpolative
4.1. Sistemele fuzzy-interpolative
În urma executării simulărilor cu fişiere de tip *.fis se observă că în general simulările
necesită mult timp iar în unele cazuri se produc chiar blocaje, în funcţie şi de configu-
raţia calculatorului şi de parametrii aleşi pentru simulare (metoda de integrare, erori
admisibile, etc.) şi de parametrii sistemului de reglare. O metodă eficace de înlăturare a
cestui aspect, fără însă a renunţa la avantajul fundamental al sistemelor fuzzy, adică la
reprezentarea lingvistică, este apelul la conceptul de sistem fuzzy-interpolativ SFI.
Un SFI este un sistem fuzzy care poate fi direct echivalat cu un tabel de căutare TC cu
interpolare liniară (look-up-table LUT). Un TC este una dintre structurile de date cele
mai des întâlnite în ştiinţa calculatoarelor, constând dintr-o arie n–dimensională sau o
arie asociativă n–dimensională. Utilizarea TC în locul altor algoritmi de calcul al func-
ţiilor algebrice, ca de exemplu seria Taylor, necesită o capacitate mare de memorie, dar
oferă în schimb o accelerare semnificativă a calculului. În esenţă calculul constă din
căutarea în tabel a unor valori şi interpolarea lor, fie prin interpolări spline sau polino-
miale, fie cel mai simplu, prin interpolări liniare. Deoarece capacitatea memoriilor a
crescut continuu, la fel ca şi viteza şi fiabilitatea lor, în timp ce preţul lor este în conti-
nuă scădere, utilizarea TC este tot mai populară.
În aplicaţiile noastre vom apela la un TC bidimensional cu două intrări e şi de şi o ieşi-
re c. În cazul regulatorului Mamdani TC poate fi modelat printr-o matrice cu dimensiu-
nea 7 x 5 iar in cazul regulatorului Sugeno printr-o matrice cu dimensiunea 5 x 5. Un
astfel de TC este disponibil în Simulink sub forma prezentată în Fig. 4.1.
29
Coordonatele nodurilor de interpolare sunt fixate de valorile numerice înscrise în vec-
torii corespunzători celor două intrări row şi column iar valorile din tabel table data
definesc ieşirile tabelului. Valorile vectorilor de intrare trebuie înscrise în ordine cres-
cătoare. Dacă intrările depăşesc domeniul de definiţie calculul ieşirii se poate face fie
prin extrapolare fie prin limitare (păstrarea înafara tabelului a valorilor marginale).
30
Trecerea de la cazul bidimensional PD mai uşor de reprezentat mental la cazurile n-
dimensionale, de exemplu la regulatorul tridimensional de tip PID, se poate ilustra prin
figura următoare, în care regulatoarele PD pot fi asemănate cu paginile unei cărţi.
Regulatorul Sugeno:
row (e): [-1 -0.1 0 0.1 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3; -0.3 0 0.3 1 1; 1 1 1 1 1]
31
FSe
1
1
25
Step du/dt 1 s2 +2s+1
FSc Saturation Transfer Fcn Scope
Derivative FSde Lookup
Table (2-D)
32
După implementarea celor două regulatoare se poate constata cu uşurinţă că simulările
nu mai ridică absolut nici o problemă computaţională, ele se derulează practic instan-
taneu, fără riscul blocajelor. Spre deosebire de cazul utilizării fişierului *.fis în care
pentru anumite valori ale parametrilor sistemului de reglare se produc blocaje, acum
putem încerca orice combinaţie de parametri ai sistemului de reglare, de exemplu creş-
terea factorului de scalare de la ieşire de la 10 ca şi în Fig. 3.5 la 25. Comportarea regu-
latoarelor cu 35 şi cu 25 de reguli la un semnal de test reprezentat cu linie întreruptă se
poate analiza în figurile următoare.
0.5
u & out
-0.5
-1
0 1 2 3 4 5 6 7 8 9 10
t [s]
0.5
u & out
-0.5
-1
0 1 2 3 4 5 6 7 8 9 10
t [s]
33
Se remarcă marea asemănare dintre cele două răspunsuri în timp, argument în favoarea
utilizării variantei mai simple, cu 25 de reguli. Numărul de reguli în sine este însă mai
puţin relevant decât modul în care aceste reguli sunt formulate şi ajustate. După cum se
observă, răspunsurile suportă multe îmbunătăţiri.
Diferenţa majoră a regulatoarelor fuzzy faţă de regulatoarele convenţionale este numă-
rul mult mai mare de mecanisme de ajustare care pot influenţa performanţele. Aceasta
le oferă un avantaj fundamental, mai ales în aplicaţiile dificile sau despre care nu avem
cunoştinţe suficiente pentru a le trata în mod optimal, dar pe de altă parte presupune o
ajustare mai laborioasă. Dacă în cazul unui regulator PD liniar sunt doar doi parametri
de ajustare, la care putem adăuga factorii de scalare de la intrare, în cazul regulatorului
fuzzy-interpolativ putem identifica cel puţin următorii parametri de ajustare: factorul
de scalare de la ieşire FSc, fuzzificarea de la intrare care cuprinde 25 de noduri de
interpolare şi fuzzificarea de la ieşire cu 5 valori. În cazul unui sistem fuzzy obişnuit
mai intervin şi formele funcţiilor de apartenenţă, prin posibilitatea utilizării funcţiilor
Gauss, sigmoidale, etc.
În figura următoare se prezintă rezultatele unei ajustări orientate în direcţia reducerii
suprareglajelor din Fig. 4.6, alte obiective fiind la fel de uşor de atins.
0.5
u & out
-0.5
-1
0 1 2 3 4 5 6 7 8 9 10
t [s]
34
5. Regulatoarele neuro-fuzzy
5.1. Introducere în reţelele neuronale
Mulţimea de posibilităţi de ajustare a controlerelor fuzzy creează complicaţii, care se
pot evita prin automatizarea elaborării relaţiei fuzzy. Sinteza automată sau chiar auto-
sinteza sistemelor de comandă poate fi obţinută prin metode ale inteligenţei artificiale.
Ce mai promiţătoare abordare constă din fuzionarea logicii fuzzy cu reţelele neuronale
RN. În această abordare mulţimile fuzzy sunt utilizate în reprezentarea cunoştinţelor,
în timp ce reţelele neuronale sintetizează regulile fuzzy prin învăţare pe bază de exem-
ple. Controlerele neuro-fuzzy astfel obţinute sunt capabile de a rezolva unele dintre
cele mai complicate sarcini, cum ar fi recunoaşterea imaginilor, fără intervenţia sub-
stanţială a omului.
RN sunt alcătuite din mulţimi de elemente de prelucrare a informaţiei - neuroni - inter-
conectaţi într-o reţea. Un neuron i are n intrări, x1i, x2i, ... , xni şi o ieşire yi, fiecare
aparţinând mulţimii numerelor reale. O legătură ieşire-intrare dintre nodurile reţelei
este reprezentată prin ponderea sinaptică, valoare reală care ponderează efectul semna-
lului de intrare în neuronul receptor. Neuronul va fi afectat de n ponderi sinaptice: w1i,
w2i, ... , wni. Ponderile pot fi excitatoare dacă wi > 0 sau inhibatoare dacă wi < 0. Acti-
varea neuronului se defineşte prin suma ponderată a semnalelor de intrare:
n
S = wji xji (5.1)
j=1
Ieşirea neuronului va fi dată de funcţia neuronală (de ieşire) yi = f(s), care poate avea
diferite forme: treaptă, rampă, funcţii sigmoidale, etc.
Neuronii sunt aranjaţi în straturi, capacitatea de reprezentare a reţelei depinzând de
mărimea şi de numărul straturilor. Dacă funcţiile neuronale sunt norme t sau s se obţin
neuroni logici de tip AND şi OR. Cu aceştia se pot construi reţele multistrat capabile
să modeleze o mare varietate de funcţii logice. O astfel de structură (denumită şi pro-
cesor logic), rezultată prin analogie cu logica booleeană a fost propusă de K. Hirota şi
W. Pedrycz în 1991. Ea cuprinde trei straturi de neuroni (de intrare, de ieşire şi stratul
ascuns), fiecare strat conţinând neuroni de acelaşi tip. O prezentare mai detaliată a RN
se găseşte în secţiunea 5.5.
Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabilă
de intrare reprezentând gradul de apartenenţă a unei mărimi de intrare la TL corespun-
zător din CC aferent mărimii respective. Prin topologia lor, sinapsele codifică regulile
de conducere de tip dacă ...atunci. În cazul procesorului logic de mai sus, fiecare nod
din stratul intermediar poate fi considerat ca şi corespunzând unei clauze, fiind analog
unui minitermen din cazul exprimării analitice prin forma canonică disjunctivă a func-
ţiilor logice. În cazul general cunoştinţele sunt “împărţite” între neuroni şi sinapse,
astfel că este cvasi-imposibilă exprimarea inteligibilă a relaţiei fuzzy conţinută în reţea.
35
AND
x1
AND OR
Variabile de intrare y
Ieşire
x2 AND
RN sunt capabile de a învăţa pe bază de exemple. Exemplele constau din seturi de mă-
rimi de intrare şi mărimile de ieşire pe care dorim să le obţinem în cazul acelor intrări.
Învăţarea este de tip parametric, constând din ajustarea ponderilor sinaptice, astfel încât
un anumit indice de performanţă (de exemplu distanţa euclidiană) să fie optimizat.
Dintre parametrii algoritmilor de învăţare, esenţiali sunt convergenţa, fără de care nu s-
ar obţine soluţii şi factorul de învăţare indicând viteza de soluţionare.
N
Intrare 1
Z
P Ieşire
N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea
36
5.2. Descrierea toolkitului ANFIS
Tool-kit-ul destinat implementării sistemelor neoro-fuzzy în Matlab se numeşte ANFIS
(adaptive neuro-fuzzy inference system). Fiind dat un set de date intrare-ieşire de antre-
nare, ANFIS generează un fişier de tip *.fis având parametrii astfel ajustaţi încât să
producă un răspuns identic cu datele de antrenare. Învăţarea se realizează fie printr-un
algoritm de tip backpropagation fie printr-o variantă a metodei celor mai mici pătrate.
Lansarea toolkit-ului se face prin comanda anfisedit, obţinându-se interfaţa grafică din
figura 5.3. Rolul principalelor elemente de acţionare este prezentat în figură.
Operaţiile pe care interfaţa ANFIS le poate executa sunt următoarele:
- Încărcarea datelor de antrenare, testare şi verificare, sub controlul comenzilor din
zona Load Data.
- Generarea sau încărcarea unui model iniţial FIS cu comenzile din zona Generate FIS.
- Vizualizarea modelului FIS (atât cel iniţial cât şi cel rezultat în urma antrenării reţelei
prin butonul Structure.
- Alegerea parametrilor metodei de optimizare (backpropagation sau hibridă).
- Alegerea numărului de iteraţii de antrenare (traning epochs) şi eroarea de antrenare.
- Antrenarea reţelei neuronale, comandată prin butonul Train Now. Procesul iterativ de
învăţare automată ajustează parametrii FIS-ului. Se afişează erorile fiecărei iteraţii.
37
Operaţii Undo Deschidere Zona de Afişare parametri:
cu fişire şi editare afişare nr. de intrări/ieşiri
.fis fişire .fis şi funcţii de apar-
tenenţă
Structura
Legendă: intrare/
- Date de testare: linie punctată albastră; ieşire a
- Date de antrenare: linie din o albastre; FIS-ului
- Date de verificare: linie din + albastre;
- Ieşirea FIS-ului: linie din * roşii;
Testarea
FIS-ului
cu datele
de antre-
nare
Introdu-
cerea
datelor
de antre- Ştergere date Încărcare sau gene- Antrenare FIS după setarea
nare de antrenare rare fişier .fis metodei de optimizare
38
5.3. Implementarea ANFIS a unui regulator PD Sugeno
În continuare se va exemplifica optimizarea regulatorului PD Sugeno descris în §3.3 cu
ajutorul ANFIS. În urma încărcării fişierului .fis corespunzător, se obţine reţeaua neu-
ronală din figura 5.4.
Principala problemă care se ridică în faţa proiectării unei aplicaţii ANFIS este alegerea
seturilor de date de antrenare, testare şi validare.
39
În vederea optimizării regulatorului fuzzy PD s-a realizat un set de date de antrenare
prin prelevarea datelor obţinute din simularea funcţionării sistemului de reglare pentru
cazul răspunsului indicial. Datele au fost prelevate chiar de la intrările şi ieşirea regula-
torului, deoarece ANFIS generează doar fişierul .fis, el neputând fi extins la întreaga
aplicaţie. A rezultat un fişier de date cu dimensiunea 25 x 3. Parametrii simulării gene-
ratoare de date de antrenare pot fi astfel aleşi încât să reprezinte o îmbunătăţire a func-
ţionării, care nu ar fi putut fi obţinută prin ajustarea manuală. Convergenţa învăţării şi
parametrii ANFIS-ului se observă în fig. 5.5.
Fig. 5.5. Convergenţa învăţării pentru un set de date reprezentând un răspuns indicial
Din păcate regulatorul astfel obţinut produce un răspuns indicial de slabă calitate, cu o
tendinţă înspre suprareglaj şi oscilaţii pe durata regimurilor tranzitorii. Aşa cum se va
observa în continuare, principala cale de îmbunătăţire a calităţii sistemelor neuro-fuzzy
este alegerea unui set de date de antrenare cât mai adecvat.
40
5.4. Sinteza unui regulator neuro-fuzzy
Utilitatea RN stă în sinteza automată a sistemelor şi/sau optimizarea lor. În continuare
se ilustrează sintetizarea unui regulator PD neuro-fuzzy. Se porneşte de la ideea obţi-
nerii unui set de date de antrenare bogat, care să cuprindă o comportare mai nuanţată a
regulatorului PD, respectiv un semnal de intrare mai complex, care pe lângă răspunsul
indicial să mai cuprindă şi alte elemente.
Fig. 5.6. Sistem de reglare cu regulator PD liniar pentru generarea datelor de antrenare
0.9
intrare u
0.8
0.7
0.6
0.5
0.4
0.3
iesire y
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
t [s]
Fig. 5.7. Răspunsul sistemului de reglare cu regulator PD liniar
Fişierul de date de antrenare obţinut are dimensiunea 123 x 3. Reprezentarea grafică a
datelor de antrenare apare în fig. 5.8.
41
1
e
-1
0 20 40 60 80 100 120 140
40
20
de
-20
0 20 40 60 80 100 120 140
40
20
c
-20
0 20 40 60 80 100 120 140
42
Regulatorul PD Sugeno generat de RN este prezentat în figura următoare. Se remarcă
variabila sa de ieşire alcătuită din 35 de valori diferite (singleton), fiecare dintre ele
fiind optimizată în cursul antrenării. În acest caz a fost aleasă opţiunea linear pentru
MF de ieşire.
43
Fig. 5.11. Antrenarea sistemului neuro-fuzzy cu baza de reguli 7 x 5 (constant)
Răspunsul produs de către regulatorul astfel obţinut este prezentat în fig. 5.12.
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
t [s]
44
Marele avantaj al RN, capacitatea de învăţare automată, poate fi ilustrată prin varianta
regulatorului cu doar 15 reguli, având baza de reguli cu dimensiunea 5 x 3. Răspunsul
acestui regulator, prezentat în fig. 5.13, foarte asemănător cu răspunsurile regulatoare-
lor mai complicate, justifică alegerea sa pentru aplicaţii, având în vedere simplitatea şi
costul mai redus, la performanţe asemănătoare.
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
t [s]
45
Dezavantajul principal al RN este acela că ele maschează cunoştinţele referitoare la
structura şi ajustarea lor. Din valorile numerice ale TL variabilei de ieşire, ca de altfel
din valorile parametrilor oricărui neuron, nu se poate trage absolut nici o concluzie cu
privire la o eventuală strategie care să le justifice. Aceste valori sunt practic aleatoare,
iar în cazul în care datele de testare sunt mult diferite de cele de antrenare întreaga apli-
caţie poate eşua.
46
Figura 5.15. Neuronul biologic şi neuronul artificial
47
Figura 5.16. Câteva dintre FA folosite în construcţia neuronilor
Funcţia de activare (transfer): Câteva dintre cele mai uzuale FA sunt prezentate în
Fig. 5.16: lineară, prag, signum, sigmoidală sau log-sigmoidală şi tangentă hiperbolică.
O altă familie de funcţii des folosite este familia funcţiilor Gaussiene. Amplitudinea
acestor funcţii poate fi cuprinsă între 0 şi 1 sau între -1 şi 1. Funcţia liniară poate fi uni-
polară (cuprinsă între 0 şi 1) sau bipolară (între -1 şi 1). Când panta ei este ea se
poate transforma în funcţiile prag respectiv signum. Funcţiile sigmoidale şi tangenta
hiperbolică se întâlnesc frecvent în electronica de putere. Formulele acestor funcţii sunt
prezentate în Fig. 5.16, unde α este coeficientul (câştigul) prin care se ajustează panta.
Toate aceste funcţii sunt diferenţiabile cu maximul derivatei dF/dS pentru S = 0. Toate
aceste funcţii comprimă într-un fel sau altul răspunsul neuronului între două valori
asimptotice (fie -1 şi 1, fie 0 şi 1). Neliniaritatea FA contribuie la neliniaritatea carac-
teristicilor de transfer ale RN globale.
48
5.5.2. Structuri de reţele neuronale artificiale
A. Modele de reţele
Interconectarea neuronilor artificiali formează RN artificiale (neurocomputere sau sis-
teme conecţioniste), care au obiectivul de a emula funcţionalitatea creierului uman într-
un anumit domeniu, rezolvarea problemelor ştiinţifice, inginereşti, etc. Structurile deta-
liate ale RN biologice nu au fost încă înţeles pe deplin, astfel că există mai multe mo-
dele de RN. Câteva modele de RN des întâlnite în literatură sunt:
1) Perceptronul
2) Adaline & Madaline
3) RN cu propagare inversă – Backpropagation (BP)
4) RN cu bază radială (RBNN)
5) RN modulare (MNN)
6) RN cu cuantizare prin vector de învăţare (LVQ)
7) Reţele neuro-fuzzy (FNN)
8) Kohonen
9) RN cu recurenţă în timp real
10) Elman
11) Hopfield
12) Boltzman, etc.
49
Figura 5.17. (a) Reţea perceptron. (b) Ilustrarea limitei de clasificare a semnalelor de
intrare pentru perceptronul cel mai de sus
50
două intrări limita clasificării este o hiperplan. Hiperplanul de delimitare a clasificării
poate fi proiectat individual, prin alegerea ponderilor şi polarizării.
O aplicaţie simplă a reţelelor de tip perceptron poate fi izolarea semnalelor corecte de
cele afectate de zgomot, în sistemele electronice de putere. Ele pot fi antrenate şi pen-
tru rezolvarea funcţiilor complexe booleene, cu semnale logice de intrare şi identifica-
rea caracteristicilor răspunsurilor sistemului de execuţie.
Reţelele neuronale de tip Adaline si Madaline (Adaline multiple) au aceeaşi structură
ca şi a perceptronului, cu diferenţa că FA este de tip liniar bipolar. Reţelele neuronale
liniare pot oferi doar dependenţe intrare-ieşire liniare. Pe lângă utilizarea în clasificarea
formelor ele mai pot fi folosite la liniarizarea funcţiilor neliniare (aproximarea funcţii-
lor neliniare) sau asocierea formelor.
51
Figura 5.18. Reţea neuronală cu propagare inversă cu trei straturi
Ca şi într-o RN biologică, în care memoria şi inteligenţa sunt distribuite în sinapse, în
cazul RN artificiale aceste atribute sunt distribuite în PS. Acest tip de inteligenţă per-
mite operaţiile primare cerute reţelelor: aproximările funcţionale şi recunoaşterea for-
melor. Astfel se pot construi şi memorii asociative, la care atunci când anumite forme
de semnal (pattern) sunt aplicate la intrare, la ieşire sunt generate forme corespunză-
toare de semnal. Aceste recunoaşteri şi generări de forme devin posibile prin antrena-
rea adecvată a RN.
O trăsătură distinctă a neurocomputing-ului este aceea că el devine extrem de rapid
când se implementează cu ajutorul unor structuri masive de calcul paralel, de tipul cip-
urilor ASIC. Un circuit ASIC dispune de memorii RAM/ROM, în care PS pot fi me-
morate iar FA pot fi implementate prin tabele de căutare. Această tehnică diferă de
tehnicile DSPP (microcomputere bazate pe calcul secvenţial) care sunt mai lente. Tot
datorită calculului paralel RN sunt tolerante faţă de defecţiuni, deteriorarea unor PS sau
a unor legături nu afectează semnificativ calitatea semnalului de ieşire. RN prezintă şi
proprietăţi de filtrare armonică sau a zgomotului.
52
1. Antrenarea prin propagare inversă (backpropagation): spre deosebire de progra-
marea convenţională, specificul RN constă din posibilitatea de antrenare supervizată
pornind de la seturi de date de antrenare. Acest procedeu este similar învăţării din RN
biologice.
Pentru început trebuie generat setul de date de antrenare, care poate fi obţinut fie pe
bază experimentală (prin înregistrarea vectorilor de intrare-ieşire din sistemul studiat în
condiţii semnificative, de exemplu răspunsul indicial), fie prin simulări pe calculator,
fie chiar prin metode analitice. Se creează o configuraţie iniţială a reţelei cu compoziţia
straturilor de intrare şi de ieşire dictată de dimensiunile vectorilor semnalelor de in-
trare/ieşire, cu un strat ascuns compus dintr-un număr limitat de neuroni şi de FA
corespunzătoare. Valori aleatoare dar suficient de mici pentru a nu satura neuronii sunt
alese pentru iniţializarea funcţiilor de activare. Apoi se aplică la intrare setul de date
ales şi se urmăresc ieşirile furnizate de reţea, care sunt comparate cu setul de date de
antrenare de ieşire. Se calculează eroarea E (de obicei sub forma erorii medii pătratice
MSE – mean square error sau a sumei pătratelor erorilor SSE – sum square error). În
continuare ponderile sunt modificate printr-un algoritm de bazat pe propagarea inversă,
până când eroarea scade sub o limită acceptabilă. Un astfel de ciclu de calcul se numeş-
te epocă. Antrenamente similare se repetă pentru toate seturile de date de antrenare,
până se reuşeşte satisfacerea ansamblului cerinţelor, caz în care RN se consideră a fi
suficient de bine antrenată. În cazul în care convergenţa antrenării este nesatisfăcătoare
se măreşte numărul neuronilor stratului ascuns sau chiar se adaugă straturi ascunse
suplimentare. S-a demonstrat că o RN cu trei straturi poate în principiu rezolva orice
problemă de aproximare funcţională.
În locul prelucrării câte unui singur set de date de antrenare, în mod secvenţial, se poa-
te utiliza antrenamentul în grup, în care toate seturile de date de antrenare sunt proce-
sate simultan.
Ajustarea ponderilor în sensul minimizării erorilor utilizează tehnica gradientului scă-
zător sub forma sa standard, în care ponderile sunt iterate pe rând, începând dinspre
stratul de ieşire. Să considerăm că o reţea a fost antrenată cu setul de date de intrare p,
iar eroarea pătratică pentru toţi neuronii stratului de ieşire este
Ep = d p y p 2 = d
Q
j 1
p
j yj
p 2 (5.2)
p p
unde d j este ieşirea dorită a neuronului j din stratul de ieşire, y j este ieşirea actuală a
p
aceluiaşi neuron, Q este dimensiunea vectorului de ieşire, d este vectorul dorit la
p
ieşire iar y este vectorul actual de ieşire. Suma totală a pătratelor erorilor SSE pentru
o mulţime de P seturi de date de antrenare este
53
P P Q 2
SSE = E = Ep = p p
dj yj (5.3)
p 1 p 1 j 1
Ponderile neuronilor sunt ajustate în sensul minimizării valorii funcţiei obiectiv SSE,
conform ecuaţiei
δE p
Wij(k+1) = Wij(k) - η (5.4)
δWij ( k )
unde este rata de învăţare, Wij(k+1) este noua pondere dintre neuronii i respectiv j
iar Wij(k) ponderea anterioară. Ponderile sunt recalculate iterativ pentru toate cele P
seturi de date de antrenare. Uneori se ia ca funcţie obiectiv eroarea medie pătratică
(MSE = SSE / Q). Pentru a ne asigura că SSE converge înspre minimul global (adică
nu este captat de un minim local), un termen ∙ [Wij(k) - Wij(k-1)] este adăugat la
dreapta ecuaţiei (3), având o valoare mică. O altă îmbunătăţire a algoritmului este
posibilă prin adoptarea unei rate de învăţare adaptive
54
Figura 5.19. Structura unei reţele neuronale recurente în timp real RNN (a) cu schema bloc a
antrenării
55