Documente Academic
Documente Profesional
Documente Cultură
STRUCTURA ORE
EVALUARE
1
PARTEA I
SISTEME FUZZY
(1)
(2)
(3)
3
(4)
(5)
(6)
(7)
(8)
In mod similar pot fi construite submultimile fuzzy pentru celelalte functii de apartenenta
prezentate in figura 2.
(9)
4
(10)
FUNCŢII DE APARTENENTA
Exemplele precedente au pus in evidenta importanta cunoasterii functiei de apartenenta in
conditiile definirii corecte a unei multimi fuzzy. Conform elementelor prezentate anterior,
considerand X un univers de discurs si o submultime A a lui X, atunci submultimii fuzzy i se
asociaza functia caracteristica, functia de apartenenta:
prin care este specificat gradul prin care x este un membru al submultimii A.
Formele cele mai des intalnite ale functiilor de apartenenta in aplicatii industriale sunt
cele triunghiulare si trapezoidale (figura 3) .
5
Fig. 4 Funcţii de apartenenta "clopot"
; (11)
respectiv:
; (12)
unde x0 defineste pozitia varfului pentru μ=1 iar a reprezinta largimea domeniului.
; (13)
; (14)
; (15)
6
Fig. 5 Funcţia de apartenenta pentru relatiile 13,14,15.
baza functiei de apartenenta definita ca acea regiune a universului de discurs pentru care
.
7
STRATEGIA DE CONTROL LINGVISTICA
Sa reconsideram cazul comenzii unui brat de robot (figura 1). Sa presupunem ca dorim sa
miscam bratul din pozitia initiala ( ) in pozitia de origine, dorita ( ). Conducerea
conventionala a bratului este bazata pe procesarea erorii,
(16)
utilizand regulatoare standarde PI sau PID (Fig.7).
(17)
O astfel de abordare impune o analiza exacta a miscării bratului, determinarea ecuatiilor
diferentiale ce guverneaza miscarea precum si calculul corespunzator al parametrilor
regulatorului in scopul obtinerii performantelor dorite.
O tratare cu totul diferita de procedura de control conventionala este oferita de asa numita
"strategie de control lingvistica". Un operator uman poate realiza un control cu performante
acceptabile printr-o evaluare euristica a pozitiei (a erorii de urmarire) si luarea unor decizii
corespunzatoare. În esenta, un operator va actiona dupa urmatoarele reguli:
1. Porneste bratul din pozitia initiala cu o valoare "medie" a cuplului M.
2. Daca distanta fata de pozitia dorita "mare", creste valoarea cuplului la o
valoare "mare".
3. Daca distanta este "medie" el micsoreaza valoarea cuplului la o valoare
"medie".
4. Daca distanta este "zero" valoare cuplului este redusa la "zero" sau se
poate impune chiar o valoare "negativa zero" astfel încât sa fie realizata oprirea în pozitia dorita.
8
Fig. 8 Functii de apartenenta ale cuplului de actionare
Scrise într-un formalism specific controlului fuzzy, regulile de mai sus sunt specificate
prin asa numitele "reguli If-Then".
Then Cuplul=MARE
Then Cuplul=MEDIE
Regula 3 If Unghiul=ZERO
Regulile prezentate mai sus definesc asa numitul mecanism de "inferenta" ce reprezinta o
etapa importanta în introducerea conceptului "fuzzy" într-un sistem de conducere. Evident,
aceste reguli au, în acest exemplu, o forma simpla, corespunzând problemei tratate.
Sa presupunem ca miscarea bratului din pozitia initiala pâna în pozitia dorita face parte
dintr-un ciclu tehnologic de preluare a unei piese supusa unui proces de tratare termica.
Introducând o noua variabila TEMPERATURA , asociindu-i acesteia domeniile:
TEMPERATURĂ JOASĂ, TEMPERATURĂ MEDIE, TEMPERATURĂ MARE si asociindu-
le functiile de apartenenta din figura 9, regulile prezentate mai sus vor introduce conditii
suplimentare. Aceste conditii sunt impuse în corpului regulii prin operatori sI (AND), respectiv
SAU (OR), în functie de logica interpretarii.
9
Astfel, noile reguli vor avea forma:
TEMPERATURA JOASĂ
TEMPERATURĂ MEDIE
THEN Cuplul=MARE
Pentru Regula 2 avem urmatoarea interpretare: daca Temperatura atinge valoarea necesara
(domeniul TEMPERATURĂ MEDIE) si daca bratul are pozitia initiala (Unghiul=POZITIV
MARE) atunci bratul este pus în miscare (Cuplu=MARE) pentru prinderea piesei, etc.
Desigur, în alte situatii pot apare si operatori de tipul SAU (OR) sau negatie (NOT) care
implementeaza în concept fuzzy logica clasica.
10
Operatorul SAU (OR)
(18)
In tratarea fuzzy, operatorul este realizat prin functia de maxim aplicata la nivelul
functiilor de apartenenta (figura 10):
(19)
(20)
(21)
(22)
Operatorul SAU poate fi construit si prin operatia aritmetica de adunare, mai precis de
mediere
(23)
11
Fig. 10 Operatorul SAU realizat prin "maximum"
Divizarea prin 2 s-a impus pentru a exclude eventualele depasiri a valorii 1 a functiilor
rezultate prin însumare.
Operatorul SI (AND)
(24)
(25)
(26)
(27)
12
(28)
In foarte multe aplicatii, operatorul sI este realizat prin operatia aritmetica de Inmultire:
(29)
(30)
(31)
13
PROPRIETATI GENERALE ALE UNUI SISTEM DE CONDUCERE
ÎN LOGICA FUZZY
Sistemele conventionale de conducere ale unui robot (ale componentelor sale mecanice) se
încadreaza în configuratia clasica a sistemelor de reglare (figura 12).
Fig. 12
Sistem
conventional de conducere
Intr-o astfel de structura, valoare dorita a variabilei de pozitie (de referinta) qd este
comparata cu valoarea reala masurata de traductor (qT). Eroarea rezultata este procesata intr-un
regulator care genereaza marimea de comanda a sistemului de actionare u si prin aceasta este
determinata miscarea elementului mecanic (bratul robotului):
Regulatoarele uzuale utilizate in aceste sisteme sunt de tipul P, PI si PID, ele asigurand, in
conditii de alegere corespunzatoare a parametrilor regulatorului, performantele de control dorite.
Un CLF va implementa, deci, un algoritm de conducere care, prin procesarea erorii e (sau
a unui vector eroare ) sa determine performantele calitative dorite
pentru întregul sistem de conducere, în mod curent obtinerea unei erori stationare zero.
14
In contrast cu regulatorul standard, CLF nu implementeaza o relatie mate-matica bine
definita (algoritmul de reglare) ci utilizeaza inferente cu mai multe re-guli bazate pe variabile
lingvistice si care sunt tratate prin operatori în logica fuzzy.
Fuzificare
Defuzificare.
Blocul de inferente reprezinta partea principala a unui CLF. Acest bloc genereaza legea de
control sub forma unei familii de reguli logice de tipul IF...THEN ce descriu relatiile între
intrarea e (eroare) si iesirea u a controlerului. Adaptând un model direct, aceste reguli
implementeaza de fapt o lege de forma generala:
(32)
Din considerente practice, implementarea unei astfel de legi pentru este extrem de
complexa si dificil de aplicat. În mod curent, legea de control de mai sus capata forma
simplificata:
15
(33)
sau:
(34)
Existenta unei legi de conducere nu înseamna ca CLF poate fi definit printr-o functie de
transfer sau printr-o ecuatie de diferente. Legea de control este generata prin baza de reguli
IF...THEN sub forma:
(35)
(36)
Fig.15
Fiecare din regulile bazei este caracterizata printr-o parte IF numita "antecedent" si o parte
THEN numita "consecinta". Antecedentul unei reguli contine setul de conditii, consecinta
contine concluzia. Modul în care opereaza CLF-ul este urmatorul: daca conditiile antecedentului
sunt satisfacute, atunci concluzia, consecinta, este activa. Deci CLF-ul poate fi privit ca un
sistem care are ca intrari variabilele incluse în antecedentele regulilor si ca iesire variabila
inclusa în consecinta. Deci, se va putea defini eroarea e(k) si variatia ei Δe(k) ca intrari în sistem,
iar iesirea poate fi reprezentata de variatia Δu(k) (figura 16). Un exemplu de regula poate fi
urmatorul:
...
16
Este evident ca intrarile si iesirile unui CLF sunt stari, sau substari ale Intregului sistem
controlat, deci CLF poate fi privit si ca un controler de variabila de stare guvernat de o familie
de reguli si un mecanism de inferenta fuzzy.
Ultimul bloc al unui CLF, blocul de defuzificare, asigura formarea unor semnale crisp,
prin metode specifice, compatibile cu sistemele de actionare utilizate în controlul robotilor.
Elementele prezentate mai sus pot pune in evidenta caracteristicile generale ale sistemelor
conduse prin metode bazate pe logica fuzzy si permit identificarea avantajelor si dezavantajelor
acestor noi concepte de conducere.
implementarea se poate realiza tehnologic relativ facil fie prin proiectarea unor
configuratii particulare de controlere, fie prin utilizarea unor procesoare dedicate.
nu exista o metodica precisa pentru realizarea tuturor fazelor implementarii unui CLF:
fuzificare, inferente, defuzificare, în multe situatii solutiile adoptate având un caracter euristic,
artizanal, nesistematic;
17
FUZIFICAREA MARIMILOR IN CLF
18
Fig. 16 Functii de apartenenta ale variabilelor de intrare în CLF
In mod analog, in figura 16 b sunt reprezentate cele trei functii de apartenenta ale
multimilor fuzzy asociate etichetelor lingvistice ale variatiei erorii Δe: N,Z,P (NEGATIV,
ZERO, POZITIV) al carui univers de discurs este de asemenea normalizat.
19
NI, Z,PI, PS, PM (NS=NEGATIV SUPERIOR, PS=POZITIV SUPERIOR). Universul de
discurs nu mai este normalizat si este utilizat chiar domeniul de variatie al variabilei de stare,
acceleratia .
Cele trei exemple prezentate mai sus ilustreaza faptul ca alegerea functiilor de apartenenta
nu poate sa fie supusa unor reguli foarte precise. Acestea pot fi alese simetrice sau nesimetrice ,
triunghiulare sau trapezoidale, echidistante sau nu, pe universul de discurs normalizat sau nu.
Totusi, indiferent de modalitatile de alegere se impun categoric respectarea urmatoarelor
conditii:
, (37)
, (38)
Semnificatia acestor conditii va fi ilustrata mai târziu dar o analiza elementara indica ca
relatia (37) impune ca pentru orice punct din universul de discurs, U sa fie definita cel putin o
functie . A doua conditie este determinata de o anumita comoditate în calculele numerice
ale CLF.
20
Fig. 18 Functii de apartenenta pentru variabilele de iesire
BAZA DE REGULI
IF
21
THEN
IF
THEN
Antecedentul contine conditia sau conditiile (variabile de intrare) care activeaza regula.
Daca mai multe variabile formeaza conditiile de activare, acestea sunt legate prin AND.
Consecinta permite generarea variabilei sau a variabilelor de iesire activate ca urmare a
îndeplinirii conditiilor regulii.
Pentru a fixa ideile vom analiza baza de reguli pentru un sistem de conducere al unui brat
in miscare de translatie (figura 19).
Se va construi baza de reguli pentru un CLF cu doua variabile de intrare e(k) si Δe(k) si o
variabila de iesire u(k). Se va presupune ca universul de discurs este normalizat atât în ceea ce
priveste variabilele de intrare cât si pe cea de iesire, iar functiile de apartenenta au forma din
figura 20.
22
Fig.20 Functiile de apartenenta pentru e, Δe,u
In sinteza, baza de reguli pentru exemplul discutat, contine noua reguli in forma
urmatoare:
THEN u este Z
Aceasta regula sugereaza ca in conditiile în care eroarea este negativa si variatia ei este
pozitiva, comanda generata u poate fi zero, evolutia sistemului ducand catre domeniul e=0.
Celelalte reguli au interpretari similare.
THEN u este N
THEN u este N
THEN u este P
THEN u este Z
THEN u este N
23
Regula 7 IF e este N AND Δe este N
THEN u este P
THEN u este P
THEN u este Z
Se remarca ca fiecare regula este definita prin operatorul logic AND (SI) ce defineste
intersectia conditiilor logice asociate regulii. Desi, neformulat explicit, baza de reguli contine si
operatorul OR (SAU) aplicat ca operator reuniune intrinsec pe multimea regulilor bazei.
Regula 1 ............................................ , OR
Regula 2 ............................................ , OR
Regula 9 ............................................ .
Descrierea de mai sus a bazei de reguli este asa numita "descriere lingvistica". Ea este
utilizata frecvent în conditiile în care dimensiunea bazei este rezonabila, numarul de variabile de
intrare în CLF nedepasind valoare trei. In mod frecvent, baza de date poate fi reprezentata sub
forma tabelara si printr-o matrice de inferenta. De exemplu, regulile stabilite mai sus pot fi
redate sintetic ca in Tabelul 1.
N Z P
24
P Z N N
Z P Z N
N P P Z
N Z P
N Z P N Z P N Z P
e
P Z Z N Z N N Z N N
Z P Z Z P Z N Z Z N
N P P Z P P Z P Z Z
Procedura poate fi extinsa pentru structuri mai complexe, cu un numar mai mare de
variabile de intrare, dar trebuie avut în vedere ca o crestere a complexitatii bazei de date implica
o procesare mai laborioasa, prelucrarea unui numar mare de variabile, un timp de calcul sporit si
multe inconveniente în implementarea practica a algoritmului de control.
Este evident ca procesarea unor reguli intr-o baza (mecanismul de inferenta) impune
determinarea, în primul rand, a conditiilor ce definesc regula si a gradului lor de activare. Acest
lucru este obtinut prin tratarea conditiei ca multime fuzzy si prin testarea gradului de activare al
acesteia cu ajutorul functiilor de apartenenta asociate.
25
THEN DECIZIA Dj
(39)
Pentru o regula completa definita prin conditiile C 1, C2, ..., Cp carora li se asociaza
multimile fuzzy , , ...., , definite pe universul de discurs x1, x2, ..., xp, se obtine:
(41)
Sinteza deciziei, la nivelul unei reguli, este obtinuta în general prin algoritmul Mandami
care formal este scris sub forma:
26
(42)
Figura 22 ilustreaza tehnica de formare a deciziei în cadrul unei reguli. Pe întreaga baza,
procedura este repetata pentru fiecare regula.
27
Fig. 23 Generarea deciziei pentru regula j
(43)
28
(44)
(45)
Pentru exemplificarea ultimului operator, în figura 25 este prezentata functia max aplicata
pe cele doua reguli j si m ilustrate în figura 24.
(46)
(47)
De asemenea, se utilizeaza si forma "prod - suma" în care operatorul AND este tratata
dupa relatia (12.47), iar OR prin:
(48)
29
primele doua reguli ale bazei si este exemplificata procedura pentru câteva valori particulare ale
variabilelor de intrare e si Δe, si .
(49)
(50)
Conditia Regulii 1, "IF e este N AND Δe este P THEN u este Z" este tratata prin
operatorul min:
(51)
(52)
(53)
Cele doua functii de activare , determina deciziile , iar decizia finala (dupa
doua reguli) va fi conform relatiei (44),
(54)
(55)
(56)
care se vor repercuta în noile forme ale deciziilor , si corespunzator decizia finala
.
30
Fig. 26 Implementarea regulilor 1 si 2 prin metoda "min-max"
In mod similar se obtine decizia prin algoritmul "prod - suma". Pentru comparare, in figura
27 sunt prezentate cele doua metode.
31
Fig. 27 Analiza comparativa a metodelor
DEFUZIFICAREA
Paragrafele anterioare au abordat etapele principale in implementarea unui CLF,
fuzificarea marimilor de intrare si procesarea algoritmului de conducere sub forma unei baze de
reguli. In final, marimea de iesire este generata sub forma unei multimi fuzzy. Este evident ca se
impune compatibilizarea acestei marimi cu procesul condus, deci este necesara reconversia
marimii de iesire într-o marime crisp. Procedura aceasta este cunoscuta sub numele de
defuzificare.
Defuzificarea prin "centru de greutate" este cea mai raspandita procedura de reconversie a
deciziei fuzzy de la iesirea CLF într-o variabila crisp. Aceasta metoda se bazeaza pe evaluarea
functiei de apartenenta a deciziei fuzzy dupa aceleasi reguli ca cele utilizate în calculul centrului
de greutate din mecanica clasica. În acest mod se asociaza functiei de apartenenta a decizie
variabilei de iesire o valoare crisp corespunzatoare.
32
(57)
(58)
(59)
(60)
Pentru anumite cazuri particulare ale functiei de apartenenta, relatiile (57) - (60) pot capata
anumite forme simplificate. De exemplu, daca iesirea este definita prin functii singleton,
expresia (12.61) devine (figura 12.34):
(61)
unde:
33
(62)
Fig. 29 Defuzificarea
(63)
34
baza de reguli si functii de apartenenta . Se vor trata regulile de conducere prin metoda "min -
max" pentru regimul de lucru definit prin:
Primele doua reguli sunt analizate în figura 26 si în continuare vor fi analizate celelalte
sapte reguli ale bazei.
THEN u este N
În mod similar sunt analizate celelalte reguli Regula 4, ..., Regula 9 obtinându-se deciziile
sub forma multimilor fuzzy , , , , , , respectiv.
35
Defuzificarea finala permite determinarea valorii crisp a marimii de iesire.
36
ANALOGIA INTRE CLF SI REGULATOARELE
CONVENTIONALE PD, PI, PID
(64)
(65)
Prin analogie, o lege de conducere obtinuta într-un CLF, se va numi CLF - PD.
Daca regulile unui CLF nu genereaza valoarea u(k), ci variatia marimii de iesire Δu(k):
37
(66)
(67)
atunci aceasta lege se poate asocia cu cea oferita de un regulator conventional de tip PI
descris prin relatia:
(68)
În acest sens, un CLF a carei baza de reguli se va numi de tipul CLF - PI.
Procedura poate fi extinsa pentru legi de conducere mai complexe. De exemplu, daca legea
unui CLF este generata sub forma:
(69)
unde:
(70)
(71)
Este evident ca o astfel de lege impune în CLF o baza de reguli mai complexa, definita pe
variabilele , , . De exemplu, o regula a bazei poate fi urmatoarea:
O forma modificata a legii (12.12.6) care poate fi acceptata în definirea unui CLF - PID
poate fi de forma:
38
(72)
(73)
Desigur, pot fi adoptate si alte legi de conducere, cu algoritmi mai sofisticati, dar este
evident ca o crestere a numarului de variabile de intrare (antecedente) în structura regulilor,
determina o implementare extrem de dificila si în multe cazuri cu totul nepractica. Din acest
motiv, introducerea a mai mult de doua variabile de intrare în structura regulilor este acceptata
numai în conditii de performante cu totul speciale.
(74)
(75)
(76)
(77)
În mod analog se vor defini universele de discurs ale variatiei erorii si ale variatiei de
iesire (de control) u:
(78)
(79)
(80)
39
(81)
(82)
(83)
(84)
Pentru a transforma domeniile de operare ale variabilelor de intrare masurate e(k), Δe(k) în
universul de discurs normalizat se utilizeaza factori de scala :
(85)
(86)
Acesti coeficienti vor transforma valorile reale masurate ale intrarilor în CLF, e(k), Δe(k),
în valorile e*(k), Δe*(k) din universul normalizat:
(87)
(88)
unde:
(89)
40
(90)
(91)
(92)
(93)
Factorii de scala joaca un rol extrem de important în proiectarea unui CLF. Este evident ca
scalarea erorii si a variatiei acesteia înseamna efectiv o transformare a spatiului de stare ceea ce
va determina o modificare automata a performantelor. În literatura de specialitate sunt
mentionate urmatoarele reguli ce se impun în selectia factorilor de scala:
- Alegerea unor valori mari ale factorilor ke determina erori stationare mici, timp de
crestere mic si suprareglaj ridicat, în timp ce valori mici ale lui ke determina o
comportare opusa;
- Valori mari ale lui kd determina o convergenta rapida;
- Timpul de crestere este ridicat pentru valori mici ale factorului ku.
Modelele fuzzy discutate anterior se bazau pe reguli în care atât partea conditionala cât si
cea decizionala cuprindea multimi fuzzy
41
Astfel de modele nu contin nici o forma explicita a functiei obiectiv si sunt cunoscute
frecvent sub denumirea de modele Mandani.
O alta modalitate de tratare, atragatoare în cazul sistemelor mari si complexe, este oferita
de modelul Takagi - Sugeno - Kang (TSK) în care iesirea, decizia sistemului este obtinuta dupa
o lege non-fuzzy, ca o functionala pe variabilele de intrare.
Regula i: IF x1 este C1i AND x2 este C2i AND ... MULŢIMI FUZZY
În cele mai dese cazuri, partitionarea spatiului de stare este astfel realizata încât iesirea sa
poata fi generata sub forma unor modele liniare.
THEN
...
THEN
În ceasta baza de reguli, Cij (j=1,p), (i=1,n) sunt multimi fuzzy pe spatiul de stare al
sistemului X1, X2, ..., Xn iar x1, x2, ..., xn sunt valori crisp ale variabilelor de intrare (stare). Partea
decizionala a regulilor poate fi considerata ca modele liniare ce definesc variabilele de iesire u1,
u2, ..., up (marimi crisp) în functie de variabilele de intrare (stare), variabile crisp. Iesirea globala
u a întregului model TSK se obtine printr-o medie ponderata a iesirilor crisp ui pentru fiecare
subsistem liniar. Considerând gradul de activare al fiecarei conditii Cij:
42
(95)
(96)
Modelul TSK poate fi utilizat pentru implementarea unui CLF de tipul PI, PD, sau PID.
De exemplu, un CLF - PI poate fi modelat prin urmatoarea baza de reguli:
THEN
THEN
(97)
(98)
deci:
43
(99)
(100)
Dupa cum este bine cunoscut în literatura de specialitate , controlul cinematic diferential
utilizeaza modelul diferential al unui robot, model ce permite calculul diferential dX al
coordonatelor operationale (variabile ce definesc pozitia în spatiul de lucru) în functie de variatia
dq a coordonatelor generalizate (variabile asociate fiecarei articulatii mecanice). Analitic,
aceasta dependenta este scrisa printr-o matrice Jacobian, în forma
(101)
Structura clasica a unui control cinematic diferential este prezentata în figura 33.
Asa dupa cum se cunoaste, punctul slab al unei astfel de conduceri îl constituie
calculul inversei matricei Jacobian, calcul ce nu poate fi realizat off-line datorita dependentei
coeficientilor matricei de parametrii qi. Cu toate ca în literatura s-au dezvoltat o serie de metode
care permit calculul rapid al lui , ele cer, în general, sisteme hardware de mare viteza, cu
un pret de cost întotdeauna prohibitiv, pentru o operare eficienta în timp real.
44
Este evident ca atât structura conventionala cat si cea utilizând logica fuzzy trebuie sa
urmareasca acelasi criteriu de calitate, minimizarea erorii sistemului de conducere.
(102)
unde Xd este vectorul de pozitie dorit în spatiul cartezian. Legea de conducere care se va
introduce trebuie sa determine variatii Δq care sa permita micsorarea erorii. O solutie simpla se
bazeaza pe utilizarea unei metode de tip "gradient":
(103)
Rezulta:
(104)
(105)
45
Se poate arata usor ca adoptarea unei legi de conducere de tipul (105) ofera solutii bune
pentru un sistem de tipul celui prezentat în Figura 12.39, o astfel de conducere determinând
convergenta la zero a erorii (12.104)
(106)
Pentru justificarea acestei solutii se va utiliza metoda a 2-a a lui Liapunov si se va defini o
functionala Liapunov de forma:
(107)
(108)
(109)
(110)
sau:
(111)
dar, cu exceptia cazurilor în care matricea este singulara, aceasta este pozitiv
definita, deci:
(112)
Pentru ilustrarea metodei vom analiza sistemul de conducere pentru un robot planar cu
doua articulatii (figura 35)
46
Coordonatele operationale sunt:
(113)
(114)
(115)
(116)
(117)
47
(118)
(119)
unde Jij sunt componentele matricei Jacobian iar ex, ey reprezinta erorile pe cele doua
coordonate operationale.
Regula 1: IF ex este N AND J11 este N AND ey este P AND J21 este P
...
N Z P
48
J2 N Z P N Z P N Z P
1
J11
ey
ex
P P P P Z P P P Z P P
M m P m m m P m M
Z P Z N Z Z Z N Z P
m N m N P P m N m
N Z N N N N N N N Z
N m M m m m M m N
Z P P Z N Z Z Z N Z P
m N m N N P m P m
Z P Z N N Z Z N Z P
m P m m N P m P m
N Z Z N Z Z Z N Z P
N N m N N P m P m
N P Z N N N N N N N Z
P m M m m m M m N
Z P Z N Z Z Z P Z P
m N m N N N m P m
N P P Z P P P Z P P
M m P m m m P m M
Toate celelalte reguli se vor formula într-o maniera similara, variabila de iesire Δq 1
obtinându-se din functiile de apartenenta prezentate în figura 36.
49
parametrii de conducere fiind modificati la comutarea dintr-un subspatiu în altul. Deci, în esenta,
un CLF este un sistem cu structura variabila.
(120)
In ecuatia (120), functiile si nu sunt cunoscute exact dar este cunoscut semnul si
domeniul în care sunt marginite.
(121)
(122)
sau:
(123)
(124)
(125)
Suprafata:
50
(126)
(127)
Un controler cu structura variabila CSV (figura 38) va conduce sistemul spre suprafata de
comutare într-un timp finit si constrânge sistemul sa ramâna pe suprafata de comutare.
(128)
Se va analiza, în continuare, conducerea unui brat mecanic al unui sistem descris prin
ecuatia:
(129)
51
si se vor considera , , valorile dorite ale pozitiei, vitezei si acceleratiei ceea ce
va determina evaluarea unor erori corespunzatoare:
(130)
se obtine:
(131)
expresia devine:
(132)
unde:
(133)
(134)
52
Fig. 39 Conducerea unui brat de robot cu CLF si controler conventional
(135)
deci:
(136)
53
(137)
(138)
deci:
(139)
(140)
PARTEA A II-A
RETELE NEURONALE
CAPITOLUL 1
RETELELE NEURONALE ARTIFICIALE
Retelele neuronale se supun schimbarilor care apar atunci cand un concept paraseste
mediul academic si este aruncat in lumea salbatica a utilizatorilor al caror unic scop este pur si
simplu resolvarea problemelor. Multe retele proiectate pana acum sunt destul de exacte dar lasa
totusi un gust amar utilizatorilor care se asteptau ca sistemele de calcul sa le resolve problemele
in mod exact. Rata de acuratete a acestor retele se incadreaza in limitele 85, 90%. Din pacate
putine aplicatii tolereaza astfel de erori.
In timp ce cercetatorii continua sa-si imbunatateasca creatiile, unii exploratori le gasesc
aplicabilitate pentru tehnologia curenta.
In prezent retelele neuronale nu sunt inca interfata care transforma limbajul uman in
instructiuni pentru calculator, dar se spera ca intr-o zi comunicatia cu acestea se putea face intr-
un limbaj natural iar clasicele butoane vor deveni o simpla amintire. Dar, deocamdata, retelele
doar isi fac intrarea pe piata in interiorul viirotul.
Multe din aceste nise implica aplicatii pentru care raspunsurile sunt neclare. Aprobarea
imprumuturilor este unul dintre acestea. Institutiile financiare economisesc enorm prin utilizarea
54
celor mai mici rate ale dobanzilor pentru imprumuturi pe care le pot obtine. Sistemele cu un
procent de exactitate de 90% pot fi un progres aplicat proceselor curente. Totusi, unele banci au
aratat ca rata de esec a imprumuturilor aprobate de retele neuronale este mai mica decat a celor
aprobate prin metodele traditionale folosite in trecut.
Cea mai noua metoda de prevedere a viitorului prin analizarea experientelor trecute a
generat propriile probleme. Una din aceste probleme o constituie oferirea obligatorie din punct
de vedere legal a unei justificari a raspunsului generat de calculator, privind motivul pentru care,
de exemplu, s-a refuzat un imprumut. Dupa cum s-a mentionat anterior, modul intern de
functionare a retelelor neuronale este pentru multi o “cutie neagra”. Unii utilizatori au numit
chiar aceasta metoda de abordare “inginerie voodoo”. Explicarea modului in care invata o retea
si de ce ia o anumita decizie este dificil. Pentru a facilita acest proces de justificare o serie
intreaga de furnizori de unelte de simulare au oferit programe care explica fluxul de informatii si
indica intrarile dominante in procesul de luare a unei decizii, precum si drumul parcurs de
acestea prin retea. Folosind aceste informatii, expertii in domeniul aplicatiei ar trebui sa fie
capabili sa inteleaga de ce un anumit set de date este important.
Pe langa umplerea niselor de pe piata, retelele neuronale progreseaza si in domenii de
aplicabilitate mult mai promitatoare. In continuare se vor descrie cateva din aceste domenii si
detalii despre gradul curent de dezvoltare. Aceasta pentru a sublinia variatele probleme pentru
care retelele neuronale ar putea oferi solutii, probleme cum ar fi procesarea limbajului,
recunoasterea caracterelor, compresia imaginilor sau recunoasterea formelor.
Recunoasterea caracterelor
55
Recunoasterea caracterelor este un alt domeniu in care retelele neuronale ofera solutii.
Unele din aceste soutii au in spate doar simple curiozitati academice. Dar in prezent se
comercializeaza retele capabile sa recunoasca caractere scrise de mana cu ajutorul unui scanner.
Acest tip de produse ar putea procesa orice formular, cum ar fi cerereile de eliberare de carti de
credit si le-ar stoca automat in forma electronica intr-o baza de date. Produsele au o rata de
exactitate de aproximativ 99% pentru numere si putin mai slaba pentru caractere alfabetice.
In prezent majoritatea cercetarilor in acest domeniu implica realizarea unor solutii pentru
recunoasterea caracterelor din alfabetul oriental, deoarece pentru stocarea fiecarui astfel de
caracter sunt necesare aproximativ cinci apasari de taste. Acest complicat proces prelungeste
munca de tehnoredactare a unei pagini la cateva ore. Din acest motiv o serie de producatori au
anuntat ca sunt foarte aproape de realizarea unor produse care sa poata scana o intreaga pagina
de text si sa recunoasca caracterele orientale scrise pe aceasta.
Recunoasterea formelor
Procesarea semnalelor
Aplicatii financiare
Retelele neuronale isi fac intrarea si in lumea finaciara. Bancile, companiile de carti de
credit si institutiile de imprumuturi se lovesc de necesitatea luarii unor decizii care implica
analiza tendintelor statistice si experienta trecuta. Procesele de aprobare a imprumuturilor
implica completarea unor formulare care ar trebui sa-l ajute pe reprezentantul companiei sa ia o
decizie. Datele din aceste formulare sunt interpretate acum de retele neuronale care au fost
antrenate folosind datele din experientele anterioare. Pentru a satisface cerintele legislative
privitoare la oferirea motivelor pentru care un credit nu a fost acordat, aceste aplicatii ofera
informatii privind combinatiile de intrari care au cantarit cel mai mult in luarea deciziei.
Companiile de carti de credit au si ele nevoie de retele similare pentru stabilirea riscurilor
si limitelor de credit.
Servo control
57
Controlul sistemelor complexe este una din promisiunile retelelor neuronale. Majoritatea
sistemelor conventionale de control modeleaza functionarea intregului proces printr-un singur
set de formule, iar pentru a adapta un sistem pentru un proces specific, parametrii acestor
formule trebuie ajustati manual, printr-un proces interactiv care implica ajustarea pana cand se
gaseste combinatia care da rezultatele dorite. Retelele neuronale ofera doua avantaje.
In primul rand modelul statistic al retelelor neuronale este mai complex decat un simplu
set de formule, permitand manipularea intr-o gama mai larga de conditii de functionare fara a fi
necesara o recalibrare. In al doilea rand, datorita capacitatii retelelor de a invata singure, nu au
nevoie de la experti in controlul sistemelor si numai de suficiente date istorice pentru a se putea
antrena.
In industria petroliera o retea neuronala este folosita in procesul de rafinare pentru
controlul curgerii de materiale, realizand acest lucru mult mai efficient si mai exact decat un
operator uman a carui atentie ar putea fi distrasa.
NASA foloseste un sistem pentru controlul navetelor in timpul manevrelor de decolare,
cunoscut sub numele de “Martingale’s Parametric Avalanche” (practic o retea neuronala
spatiotemporala). Un alt proiect este ALVINN (Autonomus Land Vehicle in a Neuronal
Network) care foloseste o camera video si o raza laser montate pe un vehicul care ar trebui sa se
deplaseze ramanand in mijlocul unui drum serpuit.
British Columbia Hydroelectric a realizat un prototip pentru controlul unei statii de
distributie a energiei, capabil sa realizeze optimizarea a patru condensatoare sincronizate.
Dupa cum s-a vazut, retelele neuronale au fost aplicate cu succes in domenii variate.
Fiecare din aceste domenii poate fi grupat in doua mari categorii, acestea oferind un test pentru
oricine doreste sa foloseasca retele neuronale. In principal o aplicatie ar trebui sa indeplineasca
urmatoarele criterii pentru a putea intra in categoria celor rezolvabile prin retele neuronale:
- poate inlocui o retea neuronala tehnologiile existente intr-un domeniu in care modificari
minore ale performantei duc la un impact economic major?
58
veni. Din acest motiv aceasta sectiune este impartita in doua parti, ceea ce exista in prezent si
ceea ce se prevede ca va veni.
In prezent pe piata exista un numar destul de mare de producatori de retele neuronale,
fiecare impartindu-si o parte din afacere. Exista retele neuronale care sunt simple adaugiri la
bazele de date si procesoarele de text clasice, dar alte produse sunt folosite pentru operatii
particulare pe masini particulare.
Unele din aceste aplicatii constituie unelte pentru aplicatii concrete cum ar fi procesarea
imaginilor, iar altele sunt capabilitati generale dar mai putin eficiente de rutare a datelor. Pentru
fiecare din aceste aplicatii se identifica punctele slabe si se lucreaza pentru imbunatatirea
acestora.
In alegerea unei unelte de dezvoltare un inginer software trebuie sa tina cont de toate
noile apartitii in domeniu. Majoritatea produselor nu au evoluat in rutine prietenoase pentru
utilizator.
Sistemele de dezvoltare permit utilizatorului sa realizeze un prototip al unei retele.
Majoritatea acestor sisteme ruleaza pe orice calculator clasic, existand insa si unele care necesita
sisteme de calcul specializate. In generat acestea sunt niste simple unelte care realizeaza retele
dar care sunt niste concepte care rezolva problemele dar intr-un timp inacceptabil de lung.
Procesoarele neuronale dedicate au capabilitati specifice care le permit sa fie folosite
pentru retele neuronale. O serie de producatori de cipuri au realizat astfel de procesoare unele
comandate special de catre dezvoltatorii de sisteme neuronale. O parte din aceste procesoare
incapsuleaza o serie de neuroni intr-un singur cip, altele incorporeaza o serie de concepte cum ar
fi crearea unui model special de neuron fuzzy. Aceste cipuri s-au construit in multe tehnologii
analogice, digitale, hibride sau optice, pana in prezent nici una din acestea nedetasandu-se ca
invingatoare.
Producatorii prezic ca migrarea de la unelte la aplicatii va continua. In particular
tendinta este de evolutie catre sisteme hibride. Aceste sisteme vor ingloba si alte tipuri de
procese, fuzzy, sisteme expert sau algoritmi cinetici, cel mai mare interes avandu-l in prezent
integrarea retelelor neuronale in tehnicile fuzzy. Tehnicile fuzzy incorporeaza inexactitatile in
matematica. Majoritatea datelor nu se pot incadra exact in categorii predefinite. De exemplu o
persoana nu este doar scunda sau inalta. Aceasta poate fi foarte inalta, medie, sau foarte scunda.
Logica fuzzy ia aceste variatii din lumea reala in considerare. In aplicatiile potentiale pentru
retele neuronale in sisteme care rezolva probleme reale fuzificarea este o parte importanta a
problemei. La automatizarea unui automobil oprirea nu inseamna o franare brusca iar pornirea
nu este o demarare in tromba. Pentru a ajuta retelele neuronale sa se acomodeze cu aceasta
fuzificare a vietii cercetatorii realizeaza neuroni fuzzy. Acestia nu ofera doar un raspuns de tip
da sau nu, ci unul mult mai diversificat.
Sistemele construite cu neuroni fuzzy pot fi initiate catre ceea ce un expert crede ca
reprezinta regulile aplicatiei date. Aceasta contopire a retelelor neuronale cu logica fuzzy si
sistemele expert utilizeaza puterea reunite a celor trei discipline pentru a oferi un sistem mai bun
decat este capabila fiecare dintre aceste stiinte individual. Sistemele expert iau problemele
59
pentru care majoritatea expertilor umani nu sunt capabili sa inteleaga toate nuantele si
implicatiile deci nu sunt capabili sa stabileasca setul de reguli care definesc problema. Dar
pentru retelele neuronale nu conteaza daca regulile nu sunt foarte exacte, deoarece acestea pot
invata si apoi corecta erorile umane. Pot adauga noduri sau concepte pe care expertul uman nu le
intelege, pot implica folosirea logici fuzzy care defineste concepte de inalt, scund, rapid si incet.
In concluzie retelele neuronale artificiale sunt una din promisiunile privind viitorul
calculatoarelor. Ele ofera abilitati de realizare a unor sarcini peste posibilitatile procesoarelor
obisnuite. Pot recunoaste forme in interiorul unor seturi de date pentru ca apoi sa generalize
acele forme in directii recomandate de actionare. Retelele neuronale invata, deci nu sunt
programate prin algoritmi exacti.
Totusi, chiar daca nu sunt programate traditional, realizarea lor necesita o indemanare.
Aceasta implica intelegerea diferitelor topologii de retele, a posibilitatilor hardware si software
curente, a problemei care trebuie rezolvata, precum si o strategie de achizitie a datelor necesare
pentru antrenarea retelei.
Apoi arta construirii retelei implica o munca de introducere a datelor in sistem precum si o
monitorizare a performantelor, adaugarea de noi legaturi, modificari de reguli, pana cand reteaua
ajunge sa ofere rezultatele dorite.
Aceste rezultate sunt in natura statistice. Reteaua nu are intotdeauna dreptate. Din acest
motiv retelele neuronale se folosesc la aplicatii pentru care nici oamenii nu sunt intotdeauna
exacti.
Totusi viitorul promite. Retelele au nevoie de componente hardware mai rapide, trebuie
sa se integreze in sisteme hibride impreuna cu sisteme expert si logica fuzzy. Atunci vor fi
capabile sa auda, sa vada sa ia decizii si sa formuleze actiuni. Atunci vor deveni inteligenta din
spatele robotilor care nu obosesc niciodata si nici nu devin distrati. Atunci va incepe cu adevarat
epoca masinilor inteligente.
60
Se poate spune ca ceea ce a intarziat dezvoltarea retelelor neuronale a fost in primul
rand lipsa unor echipamente electronice performante de calcul si simulare.
Studiul creierului uman a inceput cu sute de ani in urma, iar o data cu avansul tehnologic
si cu aparitia echipamentelor electronice, incercariloe de reproducere artificiala a acestui model
de gandire s-au nascut in mod natural. Primul pas catre aparitia retelelor neuronale moderne a
fost facut in 1943, cand neuropsihologul Warren McCulloch, impreuna cu un tanar matematician
Walter Pitts au scris o carte in care ofereau o prima presupunere a modului in care neuronii ar
putea functiona, ei modeland apoi pe baza acesteia o retea neuronala simpla din circuite
electrice.
Donald Hebb, in cartea sa „Organizarea comportamentelor” scrisa in anul 1949
reintroduce conceptul de neuroni, elementul de noutate fiind ipoteza ca puterea legaturilor dintre
neuroni creste la fiecare folosire.
Aparitia primelor sisteme electronice de calcul a facut posibila aparitia primelor
implementari, bineinteles rudimentare la inceput, care sa modeleze teoriile referitoare la modul
uman de gandire.
Nathanial Rochester de la laboratoarele de cercetare IBM a fost primul care a incercat sa
simuleze o retea neuronala biologica. Chiar daca prima incercare a esuat sustinatorii teoriei au
adus noi argumente in favoarea caesteia, o adevarata piatra de temelie fiind pusa in anul 1956 la
tabara de cercetare de vara de la universitatea Darthmount.
Proiectrul propus aici urmarea stimularea cercetarilor atat in domeniul inteligent, sau
AI cum este denumit in industrie, cat si, intr-o mai mica masura intradevar, in domeniul
proceselor neuronale ale creierului.
In anii care au urmat proiectului Dartmouth, John von Neumann a sugerat posibilitatea
imitarii functilor simple ale neuronilor prin folosirea releelor telegrafice sau a tuburilor vidate.
In acealsi timp Frank Rosenblatt, un neurobiologist la Cornell University, si-a inceput
munca la ceea ce urma sa poarte numele de perceptorn. Totul a inceput de la fascinatia lui asupra
modului de operare al ochilor unei muste, acolo unde apare reflexul care ii spune acesteia sa
zboare in caz de pericol.
Perceptronul, care a rezultat in urma acestor cercetari, a fost implementat hardware, si a
devenit cea mai veche retea neuronala care se mai foloseste in prezent. Un percepron cu un
singur strat s-a dovedit a fi suficient pentru clasificarea unui set de intrari in doua clase distincte.
Perceptronul calculeaza o suma a intrarilor, extrage un prag si trimite una sau doua valori
posibile catre iesire.
Din pacate capacitatile perceptronului sunt totusi limitate.
In decursul anilor s-au realizat doua modele numite „Adaline”, si „Madaline”, care
foloseau elemente liniare adaptive multiple. Cel de-al doilea model, „Madaline” a fost prima
retea neuronala folosita pentru rezolvarea unei probleme adevarate din lumea reala, construirea
unui filtru adaptiv care sa elimine ecoul din liniile telefonice.
Mai tarziu a aparut necesitatea crearii unor dispozitive utile, si nu doar incercarea
reproducerii functionarii creierului uman. Folosind o analiza matematica concisa el a demonstrat
cat de multe pot realiza retelele neuronale in folosul omenirii.
61
Astfel s-a intrat in cea de-a cincea etapa de cercetare in domeniul inteligentei artificiale.
Astazi discutiile privitoare la retele neuronale apar pretutindeni. Promisiunile par
deosebit de optimiste, natura insasi fiind o dovada a faptului ca acest mod de gandire
functioneaza. Totusi cheia acestei tehnologii o reprezinta puterea de calcul. Cele mai multe
retele neuronale realizate in prezent sunt doar o dovada ca principiul functioneaza, dar datorita
limitarilor hardware, antrenarea acestora dureaza de multe ori mai mult decat poate fi acceptat.
Pentru a scoate aceste prototipuri din laboratoarele de cercetare, este nevoie de realizarea unor
cipuri speciale, companiile specializate efectuind cercetari pentru realizarea unor modele
digitale, analogice sau optice.
Viitorul pare a fi al cipurilor optice, totusi vor trebui sa mai treaca destui ani pana cand
acestea sa-si poata face intrarea in aplicatiile comerciale.
Cu toate ca primele referiri si chiar cercetari privind modalitatiile de implementare ale
modelului neuronal au prins contur cu foarte mult timp in urma, a trecut doar o jumatate de secol
de cand observatiile stintifice au inceput sa dea unele rezultate si o privire de ansamblu asupra
mecanismelor biologice care fac posibil procesul de invatare.
De aceea in zilele noastre mai exista o serie intreaga de necunoscute, iar cercetarea in
acest domeniu este departe de a fi incheiata, modul exact de functionare al creierului ramanand
inca un mister.
Cu toate acestea, la ora actuala se cunosc cateva aspecte importante ale acestui complex
mecanism. In particular elementul care sta la baza mecanismului de invatare este un tip special
de celula, care, spre deosebire de celelalte celule ale corpului nu se regenereaza, si tocmai
datorita faptului ca aceasta este singura celula cu o durata de viata egala cu cea a intregului
organism, se presupune ca ea asigura abilitatiile de memorare, gandire si utilizare voluntara sau
involuntara a experientelor trecute in actiunile si deciziile prezente.
Aceste celule, in numar de 100 de miliarde sunt cunoscute sub numele de neuroni.
Fiecare neuron se poate conecta cu pana la 200 de mii de alti neuroni, numarul mediu de
conexiuni fiind insa de doar 1.000 pana la 10.000.
Puterea mintii umane este data tocmai de numarul acestor legaturi, coroborat cu
mostenirea genetica si procesele de invatare care au in rol deosebit de important in evolutia
oricarui individ.
Forma interna a unui neuron este deosebit de complexa. Acesta contine o multitudine de
parti, subsisteme si mecanisme de control, dar intrucat comportarea creierului este data in primul
rand de legaturile dintre neuroni si nu de comportarea fiecarui neuron in parte, aceste subsisteme
nu sunt relevante pentru directia de cercetare prezentata.
Neuronii comunica prin intermediul unor stimuli electrici, dar cu toate acestea,
mecanismul complex pe care il formeaza nu poate fi comparat cu nici un sistem de calcul
electronic existent la ora actuala, chiar si retelele neuronale artificiale fiind departe de acest
ideal.
In particular, orice neuron are la baza patru componente. Acesta primeste date de intrare
de la alti neuroni, le combina intr-un anumit mod, aplica rezultatului o transformare neliniara si
62
apoi il transmite catre iesire. In figura urmatoare sunt prezentate cele patru componente de baza
ale neuronului:
In creierul uman exista variatii diverse ale acestui model de baza al neuronului, toate
continand insa cele patru componente, cunoscute prin numele lor biologice: dendrita, soma,
axion si sinapsa.
Dendritele sunt niste extensii ale somei de tipul firelor de par, cu rol de canale de intrare.
Acestea receptioneaza datele de intrare de la sinapsele altor neuroni. Soma proceseaza apoi
semnalele primite si transmite rezultatele catre alti neuroni prin axon si sinapse.
Cercetari recente au aratat ca neuronii biologici au o structura mult mai complexa decat
explicatia simplista data. O data cu avansul tehnologiei, cercetatorii pot oferii o imagine tot mai
larga a acestor elemente care stau la baza intelegerii comportamentului creierului uman.
Retelele neuronale artificiale sunt considerate de multi specialisti ca un posibil viitor in
evolutia sistemelor clasice de calcul. Ele sunt mecanisme cu posibilitati de autoinvatare care nu
necesita traditionalele abilitati ale unui programator esentiale pana acum.
Retelele neuronale artificiale incearca sa reproduca doar elementele de baza, si acestea in
cel mai primitiv mod posibil, dar scopul acestora nu este sa reproduca creierul uman, ci sa ofere
o noua modalitate de abordare a problemelor practice existente in acest moment, metoda
inspirata doar din modelele biologice.
Cu toate acestea, posibilitatile acestor retele sunt totusi limitate, acest lucru starnind o
reactie de dezamagire din partea posibililor clienti in randul carora se formase ideea ca noua
tehnologie poate rezolva aproape orice problema. Concluzia la care au ajuns acestia, dupa ce nu
au reusit sa rezolve unele probleme cu ajutorul retelelor neuronale, a fost ca acestea sunt
complicate si confuze. Confuzia a rezultat in urma numeroaselor articole care au aparut in acea
vreme, fiecare propunand alte configuratii si alte exemple de folosire a retelelor. In prezent doar
o mica parte din modelele propuse atunci sunt folosite pe plan comercial, o structura aparte,
numita „feedfoorward back-propagation” find de departe cea mai populara. Multe din modele de
retele existente in prezent reprezinta inca doar niste prototipuri studiate in laborator. Retelele
neuronale sunt doar niste simple unelte si pentru a putea fi folosite cu succes este necesar ca
„arhitectul” sa stie cum sa le exploateze posibilitatile.
63
Fig. 1.1. Neuronul Biologic
64
Aceste metode inspirate din domeniul biologiei sunt considerate ca fiind o noua era in
evolutia industriei sistemelor de calcul, chiar si creierul unui simplu animal fiind capabil sa
indeplineasca functii imposibile pentru un calculator clasic. Acesta se descurca destul de bine
atunci cand trebuie sa rezolve o problema matematica, dar are mari probleme in momentul in
care trebuie sa recunoasca cele mai simple forme, cu atat mai putin in cazul in care modelele din
trecut trebuie transpuse in actiuni viitoare.
Cercetarile recente in domeniul biologic au aratat faptul ca creierul retine informatiile
sub forma unor tiparuri, unele dintre acestea de o complexitate ridicata permitand de exemplu
recunoasterea unei fete umane din diferite unghiuri. Acest model de reprezentare a informatiilor
si folosirea ulterioara a acestora pentru rezolvarea unor probleme deschide un nou domeniu de
lucru pentru programatori, care nu trebuie sa mai folosesaca metodele traditionale algoritmice de
programare, ci trebuie sa creeze niste retele paralele a caror antrenare ar permite rezolvarea unor
probleme specifice. Domeniul implica de asemenea folosirea unor termeni necunoscuti pana
acum in aceasta lume, cum ar fi „comportare”, „reactie”, „autoorganizare”, invatare” sau
„generalizare”.
Pentru a-si indeplini scopul pentru care au fost construite retele neuronale artificiale
simuleaza cele patru functii de baza ale neuronului biologic.
Fiecare intrare a neuronului este reprezentata sub forma unui simbol matematic x(n),
care este multiplicat cu ponderea intrarii respective w(n). In cazul cel mai simplu, intrarile sunt
doar sumate, apoi rezultatul este trecut prin functia de transfer care genereaza rezultatul transmis
la iesire. Implementarea acestei reprezentari este posibila printr-un circuit electronic, chiar
65
utilizand functii de sumare si de transfer mai complexe, intreaga retea neuronala creata ocupand
un spatiu fizic destul de redus.
Cele mai multe aplicatii necesita o iesire de tip adevarat/fals, adica un raspuns binar.
Printre acestea se numara recunoasterea textelor, identificarea vorbirii, si obiectualizarea
imaginilor, deci aplicatii care transforma lumea reala in valori numerice specifice unui sistem de
calcul. Valorile obtinute sunt restranse la un set limitat binecunoscut, cum ar fi setul de caractere
ASCII sau cele mai folosite 50.000 de cuvinte dintr-o limba.
Alte retele rezolva probleme in care valoarea de iesire nu mai face parte neaparat din
multimea de valori cunoscute, putand avea un numar infinit de raspunsuri, cea mai folosita
aplicatie de acest tip fiind cea care sta la baza „inteligentei” in miscari a robotilor. In acest caz
parametri de intrare genereaza un numar practic infinit de valori de iesire care reprezinta niste
miscari foarte precise. Aceste retele urmaresc uniformizarea intrarilor cuantizate datorita
limitarilor impuse de senzori (datele masurate vin intr-un flux discontinuu) prin insumarea
acestora si aplicarea unei functii de transfer de exemplu de tip tangenta hiperbolica. In acest fel
valorile de iesire sunt continue si astfel miscarile rezultate reproduc mult mai bine lumea reala.
Cea de-a doua etapa a crearii retelei neuronale presupune conectarea neuronilor intr-unul
din nenumaratele moduri posibile. In cazul retelelor biologice fiecare neuron este o componenta
microscopica tridimensionala capabila sa creeze un numar infinit de legaturi. Acest lucru este
imposibil in cazul retelelor artificiale datorita limitarilor fizice. Circuitele integrate realizate
folosind tehnologiile curente sunt bidimensionale, si au un numar limitat de interfete de
conectare, aceasta restrangand numarul si scopul retelelor implementate fizic.
Retelele neuronale artificiale actuale sunt doar niste simple multimi de neuroni realizate
prin crearea unor interfete si conectarea acestora. Modul in care se conecteaza neuronii este
partea esentiala a proiectarii care practic indreptateste aceste structuri artificiale sa fie numite
solutii pentru probleme din lumea reala.
66
Majoritatea retelelor neuronale create artificial au la baza topologia prezentata in
figura de mai sus, in care cativa neuroni reprezinta interfata cu lumea reala prin citirea intrarilor
sau oferirea valorilor de iesire, iar restul sunt neuroni ascunsi dar care implementeaza functiile
retelei.
Cativa dintre pionierii acestei stiinte au incercat sa realizeze retele prin simpla conectare
intr-un mod aleator a neuronilor, dar cu un procent redus de reusita, aceasta deoarece retelele
neuronale nu sunt doar o ingrengatura de neuroni, pozitia si interfetele acestora fiind specifice
problemei pentru care a fost conceputa reteaua.
Cea mai intalnita modalitate de a realiza retele consta in impartirea neuronilor in straturi,
legaturile dintre aceste grupuri si proprietatiile neuronilor fiind cele care dau functionalitatea
retelei.
Intre cele doua nivele de interfata exista unul sau mai multe nivele ascunse
interconectate in moduri variate.
Un mod uzual de proiectare presupune conectarea fiecarui neuron de pe un strat ascuns
cu toti neuronii din stratul imediat superior, realizandu-se un traseu de tip „numai inainte” (feed
forward) catre iesire.
Linile de comunicatii reprezinta o componenta importanta a retelei, prin „puterea” pe
care o confera intrarilor. Exista doua tipuri de legaturi, una cauzand excitarea si cealalalta
inhibarea neuronului.
Ca un exemplu la aplicatiile de recunoastere a caracterelor, se determina o probabilitate
a apartenentei simbolului de intrare corespunzatoare fiecarui caracter cunoscut, iar reteaua va
urmari alegerea neuronului din stratul de iesire care reprezinta caracterul cu probabilitatea cea
mai mare, si inhibarea tuturor celorlalti. Metoda folosita pentru indeplinirea acestei sarcini este
inhibarea laterala, iar intregul concept poarta numele de „competitie”
Un alt tip de legatura este cea de reactie, prin care o iesire a unui strat se conecteaza la
una din intrarile unui strat anterior.
Structuri si mod de functionare
67
Fig. 1.4. Retea cu reactie
Dupa cum a fost mentionat mai sus, retelele neuronale artificiale sunt bazate putin pe
biologie, cercetarile efectuate pana in prezent asupra creierului dezvaluind doar o mica parte a
misterului functionarii neuronilor si al inteligentei in general. Cercetatorii lucreaza atat in
domeniul biologic cat si in cel ingineresc pentru a descifra mecanismele de baza ale modului in
care omul invata si reactiioneaza la experinetele zilnice. Imbunatatirea cunostintelor despre
procesele neuronale ajuta la crearea unor retele tot mai performante si mai succinte.
Pasii de realizare a unui model neuronal sunt:
- urmarire evidentelor
- construirea ipotezei
- crearea modelului si
- analiza si simularea comportarii modelului comparand-o cu
cea a creierului.
Daca se gasesc diferente de comportament se schimba ipoteza initiala si se modifica
modelul. Se repeta aceasta procedura pana cand modelul se comporta la fel ca si creierul. Acest
algoritm obisnuit a dus la crearea a sute de topologii de retele. Calculul neuronal se refera totusi
la masini si nu la creiere.
Este procesul prin care se incearca construirea de sisteme care sa urmeze modelele de
succes biologice create de natura pentru rezolvarea unor probleme reale, dar nu sa le reproduca
pe acestea in totalitate.
Aceasta legatura cu biologia este motivul pentru care s-a format o tendinta arhitecturala
comuna referitoare la retelele neuronale artificiale de astazi. intr-o mare varietate de retele
neuronale.
Modelul elementului de procesare al acestora arata ca retelele folosite pentru predictie
pot fi foarte similare cu cele folosite pentri clasificare, si in general cu orice tip de retele, toate
elementele de procesare avand elemente comune.
68
Componente
Componenta 1: Factorii de ponderare.
Un neuron primeste de obicei mai multe intrari simultan. Fiecare dintre acestea are o
anumita pondere care ii da impactul necesar asupra functiei de insumare. Aceste ponderi
realizeaza aceleasi functii ca si rezistenta legaturilor sinaptice ale neuronilor naturali. In ambele
cazuri unele intrari sunt mai importante decat altele astfel incat au un efect mai mare asupra
elementului de procesare si a combinatiei care da raspounsul final. Ponderile sunt niste
coeficienti adaptabili ai retelei care se modifica in functie de regulile specifice de antrenare la
aplicarea unor seturi de date de intrare.
Primul pas al operatiei elementului de procesare este calcularea sumei tuturor intrarilor
ponderate. Matematic, intrarile si ponderile corespunzatoare pot fi reprezentate sub forma de
vectori: (i1, i2, i3, ..., in) si (w1, w2, w3, ..., wn), semnalul total de intrare fiind produsul celor doi
vectori. Functia de sumare cea mai simplista inmulteste fiecare componenta a vectorului i cu
corespondentul din vectorul w si apoi aduna rezultatele obtinute, rezultand un singur numar.
Geometric, produsul vectorial poate fi considerat o masura a similaritatii dintre cei doi
vectori. Daca acestia indica aceeasi directie produsul este maxim, iar daci directile sunt opuse
produsul este minim.
Dar functia de sumare poate fi mult mai complexa decat atat, intrarile si ponderile
putand fi combinate in multe alte moduri inainte de a fi transmise catre functia de transfer. Ca o
adaugire la sumarea simpla, functia poate selecta minimul, maximul, produsul, sau alti algoritmi
de normalizare. Algoritmul specific de combinare a intrarilor este determinat de arhitectura de
retea aleasa, si de modelul acesteia.
Unele functii de sumare pot aplica un proces aditional rezultatului inainte de a-l
transmite catre functia de transfer. Acest proces este deseori numit functie de activare. Scopul
folosirii acestei functii este acela de a permite rezultatului insumarii sa varieze in functie de
timp. Totusi cele mai multe retele folosesc o functie de activare de tip „unitate” ceea ce este
similar cu a nu avea o asemenea functie, la nevoie functia putand fi adaugata intregii retele, nu
fiecarui element de procesare in parte.
Regula de antrenare Functa de sumare Functia de transfer Scalare Limitare Functia de iesire
i0
W0 69
Suma Liniar
Maxim Sigmoid
i1W1 Minim Signum
Direct
Iesire
. sX+o Maxim
Major BAM
. Wn
.
in
Tip
Zgomot
suma transfer
Generator de zgomot
regula
Hebb
Delta
PE
Reamintire
Limita superioara
eroare Limita inferioara
Offset
Factor scalare
Invatare
Intrari competitive
Contor reamintre
Contor invatare
Limitator Rampa
y y
x x
Functii sigmoide
x x
71
Componenta 5: Iesirea (Competitia)
Fiecare element de procesare poate genera un singur semnal de iesire la un moment dat,
pe care il poate transmite catre un numar teoretic nelimitat de alti neuroni. In mod normal iesirea
este direct proportionala cu rezultatul functiei de transfer, dar exista unele retele care
implementeaza un mecanism de competitie intre neuronii vecini. Prin competitie un neuron cu
un nivel ridicat al semnalului de iesire (cu putere mare) poate inhiba iesirile neuronilor vecini.
Competitia poate aparea la unul sau ambele nivele de functionare. In functionare normala
competitia va determina neuronul care va fi activ , deci va transmite iesirea, iar in cazul invatarii
elementul de procesare care va participa la procesul de antrenare.
Antrenare
Dupa ce o retea a fost structurata pentru o aplicatie particulara aceasta trebuie sa fie
antrenata, adica trebuie sa invete sa asocieze valorile primite la intrare cu una din iesirile dorite.
Antrenarea incepe cu o initializare aleatoare a ponderilor legaturilor, si se termina in
momentul in care acestea au fost ajustate astfel incat reteaua sa ne dea rezultatele dorite.
Exista doua moduri in care poate fi antrenata o retea (supravegheat si nesupravegheat)
alegerea unuia dintre ele facandu-se in functie de scopul proiectarii retelei, adica de problema
care trebuie rezolvata. Antrenarea supravegheata implica folosirea unui mecanism de furnizare a
intrarilor si asocierea acestora cu iesirile, iar cea nesupravegheata este cea in care reteaua trebuie
sa culeaga informatiile de intrare direct din lumea reala fara nici un ajutor extern, si sa se
adapteze la aceasta.
Majoritatea retelelor utilizeaza antrenarea supravegheata, cealalta metoda fiind folosita
doar pentru o caracterizare initiala a intrarilor, conceptul de „autoinvatare” fiind deocamdata
doar o posibila perspectiva, venita din lumea laboratoarelor de cercetare.
Antrenarea supravegheata
72
In acest caz sunt cunoscute atat intrarile cat si iesirile. Reteaua citeste un set de valori de
intrare si compara iesirile obtinute cu setul dorit, erorile fiind apoi propagate inapoi in retea
implicand ajustarea ponderilor. Acest proces se repeta de un numar mare de ori folosind seturile
de date de intrare speciale numite „seturi de invatare” pana cand reteaua ajunge la un nivel de
performanta acceptat.
Cu toate acestea exista cazuri in care retelele nu invata niciodata. Acest lucru se poate
intampla fie datorita faptului ca datele de intare nu contin destule informatii specifice din care sa
rezulte iesirea dorita, sau daca nu exista seturi suficiente de date de intrare pentru convergenta.
Retelele mari cu multe straturi ascunse pot fi capabile sa memoreze seturile de date de intare si
iesirile corespunzatoare dorite, acest lucru ducand la o incapacitate de recunoastere a altor seturi
de date diferite de cele folosite la antrenare. Pentru a verifica acest neajuns metoda de antrenare
supravegheata necesita pastrarea unui set de date care nu va fi folosit in procesul de invatare ci
numai la sfarsitul acestuia pentru testare. Fenomenul de memorare poate fi evitat prin folosirea
unor retele cu un numar cat mai redus de componente.
Daca o retea pur si simplu nu poate rezolva o problema se revizuieste intregul proces de
proiectare incluzand numarul de elemente de pe fiecare strat, legaturile dintre straturi, functiile
de sumare si transfer si chiar initializarea parametrilor.
In final cand reteaua a fost antrenata complet valorile ponderilor pot fi „inghetate” si
apoi intregul sistem este implementat fizic prin circuite electronice, sau reteaua poate functiona
direct in varianta virtuala, caz in care va fi capabila sa invete in continuare din propria
experienta.
Antrenarea nesupravegheata
Lumea reala este plina de exemple de situatii in care nu poate fi definit un set de valori
de intrare de antrenare pentru ca acesta pur si simplu nu exista, solutia la aceasta problema fiind
folosirea antrenarii nesupravegheate. In acest caz se ofera doar valorile de intrare, sistemul
trebuind sa decida singur cum le va grupa pentru obtinerea iesirilor, concept numit
autoorganizare sau adaptare.
In prezent antrenarea nesupravegheata nu este inca foarte bine inteleasa adaptarea fiind
doar un ideal care va permire realizarea unor roboti inteligenti capabili sa invete singuri din
experientele anterioare si sa se adapteze la schimbarile survenite in mediu si la incercarile la care
sunt supusi.
O posibila aplicare a acestei situatii ar fi in domeniul militar unde sunt descoperite
continuu noi arme si tehnici de lupta care schimba complet „ecuatiile problemei” lucru care duce
la inutilitatea folosiri in scopuri defensive a unor roboti antrenati in mod supravegheat adaptati
exact la niste parametrii fixi, mult mai utilie fiind niste sisteme inteligente capabile sa se
adapteze singure la noile provocari ale mediului, create cu ajutorul unor algoritmi de antrenare
nesupreavegheati.
Datorita aspectului neasteptat al vietii si datorita dorintei omului de a fi intotdeauna
pregatit, se fac in continuare cercetari intense in acest domeniu al viitorului.
73
Unul dintre principalii sustinatori ai retelelor autoadaptabile este Tuevo Kohonen, un
inginer de la Universitatea Tehnica din Helsinki, care a creat o retea numita „autoasociator”,
capabila sa invete fara sa cunoasca raspunsul corect. Este o retea cu topologie neobisnuita care
contine un singur strat cu multe legaturi, iar neuronii sunt angrenati intr-o competitie de tipul
„castigatorul ia tot”.
Kohonen isi continua studiile pe retele structurate diferit de standardul „feedforward
back-propagation”, ideea fiind gruparea neuroniilor in grupuri, neuronii apartinatori unui grup
fiind ordonati topologic. Topologia este o ramura a matematicii care studiaza modul in care se
pate face o trecere de la un spatiu la altul fara a se schimba configuratia geometrica a acestora.
Kohonen a aratat ca lipsa topologiei in modelele neuronale curente face din acestea doar
niste simple abstractizari ale retelelor naturale. In viitor, o data cu continuarea cercetarilor si
dezvoltarea capacitatilor de calcul, aceste retele autoadaptive nu vor mai fi doar un subiect de
cercetare, iar implicarea lor in lumea reala va fi din ce in ce mai evidenta.
Legi de antrenare
Exista multe legi de antrenare folosite in mod curent. Majoritatea sunt variatii ale primei,
si celei mai cunoscute legi a lui Hebb. Cercetarile asupra noilor functii de antrenare continua, si
ideile noi apar frecvent in publicatii. Exista cercetatori care au ca principal obiectiv modelarea
gandirii biologice. Altii experimenteaza adaptari ale perceptiilor propri dspre gandirea naturala.
In orice caz, gradul de intelegere al acestor procese este inca foarte limitat. Invatarea este cu
mult mai complexa decat simplificarile reprezentate de legile descrise mai jos:
Regula lui Hebb: Prima, si fara dubii, cea mai cunoscuta regula a fost introdusa de
Donald Hebb in anul 1949 in cartea „Organizarea comportamentelor”. Enuntul este urmatorul:
„Daca un neuron primeste o intrare de la alt neuron, si daca ambii sunt activi (matematic au
acelasi semn), legatura dintre ei trebuie stransa.”
Regula Hopfield: Este similara cu regula lui Hebb, cu mentiunea ca specifica valoarea cu
care se va creste sau scade o pondere. „Daca intrarea si iesirea sunt ambele active, sau ambele
inactive, creste ponderea legaturii cu rata de invatare, in caz contrar scade ponderea cu aceeasi
rata.”
Regula Delta: Este o noua variatie a regulii lui Hebb, fiind una dintre cele mai folosite. Se
bazeaza pe simpla idee a modificarii continue a ponderiilor pentru a reduce diferenta (delta)
dintre iesirea dorita si cea obtinuta la un element de procesare. Aceasta regula modifica ponderile
in directia minimizarii erorii patratice medii a retelei. Regula mai poate fi referita si ca regula
Widrow-Hoff, sau regula LMS(Least Mean Square).
Regula functioneaza in sensul transformarii erorii de catre derivata functiei de transfer,
si apoi folosirii acesteia in stratul anterior pentru ajustarea ponderilor. Cu alte cuvinte, eroarea
este propagata inapoi catre straturile anterioare, procesul continuand pana cand se ajunge la
primul nivel. Retelele de tip „FeedForward Back-propagation” sunt derivate din aceasta metoda
de tratare a erorii.
74
La utilizarea regulii Delta este important ca datele de intrare sa fie bine amestecate. Un
set de antrenare ordonat poate duce la o imposibilitate a retelei de a converge catre gradul de
acuratete dorit. Daca acest lucru se intampla reteaua este incapabila sa rezolve problema.
Regula gradientului descrescator: Este similara cu regula Delta, prin folosirea derivatei
functiei de transfer, dar ponderea nu se mai modifica cu factorul de antrenare, ci cu o constanta
legata de aceasta. Aceasta regula se foloseste chiar daca reteaua converge foarte incet catre
punctul de stabilitate.
S-a demonstrat ca rate de invatare diferite pentru straturi diferite ale retelei ajuta la
cresterea vitezei de convergenta. Pentru nivelele mai apropiate de iesire s-au alocat rate mai mici
decat pentru cele de la intrare. Acest lucru este important mai ales pentru cazurile in care datele
de intrare nu sunt derivate dintr-un model fundamental de baza.
Legea lui Kohonen: Procedura elaborata de Teuvo Kohonen a fost inspirata de sistemele
biologice. In acest caz, elementele de procesare se intrec pentru a avea oportunitatea de a invata,
deci de a-si ajusta ponderile. Elementul cu iesirea cea mai mare are capacitatea de a-si inhiba
competitorii si deci numai succesorii acestuia isi pot ajusta ponderile.
Marimea vecinatatii poate varia in functie de perioada de invatare. Ideea uzuala folosita
este de a incepe cu o vecinatate mai larga, si de a o restrange pe parcurs. Deoarece elementul
castigator se defineste ca cel mai apropiat de structura intrarii, retelele Kohonen modeleaza
distributia intrarilor. Acest lucru este util pentru modelele statistice sau topologice de date, si
este de multe ori referit ca harta autoadaptiva.
Clasificare
Datorita faptului ca toate retelele neuronale artificiale se bazeaza pe conceptele de
neuroni, legaturi si functii de transfer, exista o similitudine intre diferitele structuri si arhitecturi
de retele. Majoritatea variatilor deriva din varietatea legilor de antrenare, si modificarile aduse
de acestea asupra topologiei retelei. In continuare sunt prezentate cele mai folosite tipuri de
retele neuronale grupate pe categorii de aplicatii.
Aplicatiile pentru care se folosesc retele neuronale se pot clasifica in urmatoarele
categorii:
predictie
clasificare
asociere de date
conceptualizare
filtrare
75
Delta Bar Delta
pentru a previziona o iesire (ex.
Delta Bar Delta extins
Alegerea celor mai bune stocuri de
Cautare aleatoare directa
pe piata, prognozeaza starea
Retele de ordin superior vremii, identifica persoane cu risc
Harti autoasociative cu de cancer etc.)
propagare inversa
Clasificare Folosesc datele de intrare
Cuantizarea vectorului de
pentru clasificari (ex. Ce litera se
antrenare
vede in imagine, este obiectul din
Retele cu parcurgere inversa
secventa video un avion si, daca
Retele probabilistice da, de ce tip)
Asociere de Hopfield Similar cu clasificarea dar
date Masina Boltzmann recunosc de asemenea datele care
Retele Hamming contin erori (nu numai ca
Memorii asociative identifica caracterele care sunt
bidimensionale scanate, dar semnaleaza si
Recunoastere functionarea defectuoasa a
spatiotemporala a formelor scanerului)
Tabelul prezinta principalele diferente dintre categoriile cele mai raspandite de retele, si
apartenenta acestora la cele cinci clase de aplicatii. Unele retele care au fost grupate aici se
folosesc pentru a rezolva probleme din mai multe domenii, un exemplu fiind retelele de tip
inainte, cu propagare inversa a erorii, care se folosesc aproape orice tip de problema, si sunt in
concluzie cele mai populare.
xCAPITOLUL 2
76
RETELE NEURONALE ARTIFICIALE PENTRU
PREDICTIE
Cea mai uzuala aplicabilitate a retelelor neuronale este pentru a proiecta ce este cel mai
probabil sa se intample in viitor. Exista multe aplicatii la care predictia ajuta la stabilirea
prioritatilor (de exemplu, la sectia de urgenta a unui spital, este important sa se cunoasca care
dintre pacienti are cel mai repede nevoie de ajutor in functie de sinptomele aparute). In general,
orice organizatie trebuie sa-si stabileasca un set de prioritati care sa guverneze alocarea
resurselor. Aceste planificari ale viitorului au dus la crearea retelelor neuronale pentru predictie.
Propagarea inversa este folosita numai in procesul de antrenare si nu mai are utilitate in
perioada de functionare normala.
77
Numărul nivelelor si numarul de elemente de procesare pe nivel sunt decizii importante
care trebuie luate. Nu exista o lege stricta dupa care se iau aceste decizii, existand doar cateva
reguli generale formulate de-a lungul timpului si urmate de toti cercetatorii care aplica acest tip
de arhitectura pentru rezolvarea problemelor lor.
Regula 1: O data cu cresterea complexitatii relatiei dintre datele de intrare si iesirea dorita
trebuie sa creasca si numarul de elemente de procesare din nivelele ascunse.
Regula 2: Daca procesul care se modeleaza este separabil in subprocese, atunci sunt
necesare straturi ascunse suplimentare. Daca procesul nu este separabil, nivelele suplimentare ar
favoriza memorarea si nu ar fi o solutie pentru problema data.
78
Alta tehnica cu efect asupra vitezei de convergenta modifica ponderile doar dupa ce se
aplica mai multe perechi de intrari, metoda fiind referita ca propagare inversa cumulativa,
deoarece ponderile delta sunt cumulate pana cand se transmite un set intreg de perechi intrare-
iesire. Numarul de perechi transmise in timpul unei acumulari poarta numele de „epoca”. O
epoca poate corespunde intregului set de perechi de antrenare sau unui subset.
Exista limitari ale arhitecturii feedforward back-propagation. Aceasta necesita o
antrenare riguroasa cu multe perechi intrare-iesire. In plus, procedurile interne de mapare nu
sunt foarte bine intelese, si nu exista o garantie a faptului ca sistemul va converge catre o solutie
acceptabila. La diferite momente de timp procesul de invatare poate ramane blocat intr-un
minim local, limitand gasirea solutiei optime. Acest lucru apare cand sistemul gaseste o eroare
mai mica decat posibilitatiiile inconjuratoare, dar totusi nu ajunge la eroarea minima posibila.
Multe aplicatii de invatare adauga un termen pentru a „zgudui” ponderile catre barierele de
superficialitate si pentru a gasi minimul actual in schimbul unei erori temporale.
Aplicatiile tipice care folosesc aceste retele sunt sintetizarea vorbirii, miscarea bratelor
robotilor mobili, evaluarea imprumuturilor bancare, procesarea imaginlor, reprezentarea
cunostintelor, prognoze si predictii, urmarirea tintelor etc. Anual in jurnalele de specialitate sunt
prezentate noi solutii back-propagation.
79
aiba propria rata de invatare. Ideea este ca marimea pasului corespunzator pentru o pondere
poate sa nu fie potrivit pentru toate celelalte ponderi ale nivelului. In continuare, aceste rate ar
trebui sa poata varia in timp, introducandu-se astfel mai multe grade de libertate care sa reduca
timpul de convergenta.
Regulile care se aplica direct acestui algoritm sunt directe si usor de implementat.
Fiecare pondere are propria rata de invatare. Aceste rate variaza in functie de eroarea curenta.
Cand o pondere se modifica, daca eroarea locala are acelasi semn pentru mai multi pasi
consecutivi rata de invatare pentru aceasta legatura creste, liniar pentru a preveni o crestere prea
rapida. Cand eroarea isi schimba semnul frecvent rata este redusa geometric, asigurandu-se
pozitivitatea permananta a acesteia. Descresterea poate fi mai rapida in zone in care eroarea se
modifica mult.
Permitandu-se rate de adaptare diferite pentru fiecare pondere a retelei, nu mai este
necesara o cautare in directia gradientului negativ. In schimb, ponderile sunt modificate pe baza
derivatelor partiale ale erorii in functie de pondere insasi. Metoda se bazeaza de asemenea pe
estimarea curbei suprafetei erorii in vecinatatea punctului valorii ponderii curente. In plus,
schimbarea ponderii satisface constrangerile locale adica necesita informatii numai de la
elementul de procesare cu care este conectata.
Ali Minai si Ron Williams au dezvoltat algoritmul delta bar delta extins ca o evolutie
naturala a muncii lui Jacob. Ei au modificat algoritmul initial prin aplicarea unei decade
exponentiale cresterii ratei de invatare, au readaugat componenta de moment si au limitat rata de
invatare si coeficientul de moment. Dupa cum s-a prezentat in sectiunea despre propagare
inversa, momentul este un factor folosit pentru netezirea ratei de invatare. Este un termen
adaugat schimbarii standard a ponderii proportional cu schimbarea anterioara. In acest fel,
tendintele constructive sunt intarite iar oscilatiile sunt eliminate.
Rata de invatare si rata de moment ale fiecarei ponderi au constante separate de control
al cresterii si descresterii. Inca o data, semnul erorii curente este folosit pentru a indica daca o
crestere sau descrestere este potrivita.
Ajustarea pentru scadere este identica ca forma cu cea de la delta bar delta, totusi
cresterea ratei de invatare si a celei de moment sunt modificate pentru a deveni functii
exponentiale descrescatoare de magnitudinea componentelor gradientilor ponderilor. Cresteri
mai mari vor fi aplicate pe suprafete cu pante sau curbe mici, in detrimentul suprafetelor cu
curbura mare, aceasta fiind o solutie partiala a problemei saltului din cazul delta bar delta.
Pentru a face un nou pas inainte in prevenirea salturilor necontrolate si oscilatiilor, sunt
plasate limitari ale ratelor de invatare si de moment individuale. Si in final algoritmul
implementeaza o functie de memorie cu recuperare. Cand aceasta se foloseste dupa fiecare
80
epoca este evaluata eroarea acumulata. Daca eroarea este mai mica decat eroarea minima
anterioara, ponderile sunt salvate in memorie ca optime temporare.
Un parametru de toleranta controleaza faza de recuperare. In mod specific, daca eroarea
curenta depaseste eroarea anterioara minima, modificata cu parametrul de toleranta, atunci toate
valorile ponderilor revin la setul de valori optime memorate. In continuare ratele de moment si
invatare sunt scazute pentru a incepe procesul de recuperare.
Arhitecturile anterioare erau toate bazate pe reguli de invatare sau modele bazate pe
calcule matematice. Acestea folosesc o tehnica de gradient descrescator pentru a ajusta fiecare
pondere. Arhitectura cautarii aleatoare directe foloseste o structura standard feed-forward dar
care nu este bazata pe propagare inversa. In schimb, ponderile se ajusteaza aleator. Pentru a
impune o ordine acestui proces se adauga o componenta de directie pasului aleator care asigura
faptul ca ponderile tind catre o directie de cautare de succes. Toate elementele de procesare sunt
influentate individual.
Metoda cautarii aleatore are cateva caracteristici importante. La baza este rapida si usor
de folosit daca problema este bine inteleasa si relativ redusa ca dimeniuni. Motivul pentru care
problema trebuie sa fie bine inteleasa este ca cele mai bune rezultate apar atunci cand prezicerile
initiale sunt cat mai aproape de ponderile optime. Rapiditatea este data de faptul ca pasii
algoritmului sunt mult mai simpli decat tehnicile bazate pe calcule, si nu se calculeaza nici o
eroare pentru elementele de procesare individuale, fiind calculata doar eroarea de iesire globala.
Aceasta metoda de invatare este usor de folosit pentru ca foloseste doar doi parametri asociati.
Dar solutia trebuie sa fie o retea redusa, deoarece in cazul in care aceasta se mareste procesul de
antrenare devine lung si greoi.
Pentru a facilita pastrarea ponderilor in interiorul regiunilor in care algoritmul
functioneaza cel mai bine este necesara o limitare superioara a magnitudinii acestora. Totusi,
prin mentinerea acesteia la un nivel ridicat reteaua este capabila sa caute necunoscuta
(adevaratul optim global). Al doilea parametru cheie al acestei reguli implica variatia initiala a
distributiei aleatoare a ponderilor. In majoritatea aplicatiilor comerciale exista o valoare
recomandata de producator pentru acest parametru initial de variatie. Totusi, setarea acestui
numar nu este foarte important, functia de autoajustare dovedindu-se robusta pentru o gama
larga de variatii initiale.
Se definesc patru componente de baza pentru o retea de cautare aleatoare. Acestea sunt
pasul aleator, pasul de intoarcere, o componenta directa si o variatie autoajustabila.
Pasul aleator: O valoare aleatoare este adaugata fiecarei ponderi. Apoi intregul set de
date de antrenare este transmis in retea producand o eroare de predictie. Daca aceasta este mai
81
mica decat eroarea precedenta optima ponderile curente (care includ si pasul aleator) devin noul
set de ponderi optime. Eroarea de predictie curenta este apoi salvata ca eroare optima.
Pasul invers: Daca rezultatul obtinut este mai slab decat optimul temporar, atunci
valoarea aleatoare este scazuta din valorile ponderilor initiale, obtinandu-se un set de ponderi in
directie opusa pasului aleator anterior. Daca eroarea totala de predictie este mai mica decat cea
optima ponderile curente sunt salvate ca optime temporare. De asemenea eroarea curenta ea se
salvata ca eroare optima de predictie. Daca atat pasul direct cat si cel invers esueaza un nou set
de valori aleatoare sunt adaugate la setul optim si procesul se reia de la inceput.
Oricare din cele doua nume se poate atribuie retelelor care extind arhitectura standard
feedforward back-propagation pentru a include noduri suplimentare la nivelul de intrare oferind
retelei o mai buna intelegere a intrari. In esenta, intrarile sunt transformate intr-un mod
matematic bine inteles, astfel incat reteaua nu mai trebuie sa invete functiile matematice de baza.
Aceste functii cresc nivelul de intelegere al problemei date, transformand intrarile prin functii de
nivel inalt cum ar fi patrate, cuburi sau sinusoide.
82
Aceasta tehnica a fost adaugata pentru a imbunatati dramatic ratele de invatare ale unor
aplicatii. Un avantaj in plus este acela ca aceste functii de nivel inalt pot fi aplicate si altor
derivatii (delta bar delta, extended delta bar delta, si in general oricarei extensii feedfroward
back-propagation).Exista doua moduri de baza prin care se pot adauga noduri de intrare
auxiliare. Primul, reprezinta incrucisarile termenilor de intrare ce pot fi adaugate modelului si
mai poate fi numit „produs de iesire” sau „tensor”, unde fiecare componenta a modelului de
intrare multiplica intregul model al vectorului de intrare. Un mod rezonabil de a realiza acest
lucru este prin adaugarea tuturor termenilor de intercatiune printre valorile de intrare. In acest
model, variabilele de intrare sunt actionate individual de catre functiile corespunzatoare. Pot fi
folosite multe astfel de functii. Efectul global este de a oferi retelei o reprezentare extinsa a
intrari. Este posibila de asemenea si o combinare a modelelor tensor si expansiune functioinala.
Nu se adauga informatii noi, dar reprezentarea intrarilor este extinsa, reprezentari de
nivel superior ale datelor de intrare putand face reteaua mai usor de antrenat. Asocierile sau
activarile functionale devin disponibile direct modelului. In unele cazuri un nivel ascuns nu mai
este necesar. Totusi exista limitari ale modelului. Trebuie folosite mult mai multe noduri pentru
a procesa transformarile intrarilor originale. Cu sisteme de nivel superior, problema este
agravata. Totusi, datorita timpilor de procesare finiti este important ca intrarile sa nu fie extinse
mai mult decat este necesar pentru a obtine solutia adecvata.
Retelele cu legaturi functionale au fost dezvoltate de catre Yoh-Han Pao si sunt descrise
in cartea „Adaptive Pattern Recognition and Neuronal Networks”. Pao face o distinctie intre
adevarata adaugare a termenilor de ordin superior in sensul ca o parte dintre acesti termeni
reprezinta activari asociate, si extinderile functionale care cresc dimensiunea spatiului
reprezentat fara a adauga activari asociate.
Chiar daca majoritatea producatorilor recunosc aceste diferente, cercetatorii trateaza in
general cele doua aspecte in acelasi fel. Pao a obtinut o brevetare pentru reteaua legatura
functionala, deci comercializarea acesteia necesita licentiere.
CAPITOLUL 3
83
RETELE NEURONALE ARTIFICIALE PENTRU
CLASIFICARE
Sectiunea precedenta descria retelele care incearca sa faca previziuni asupra viitorului.
Dar intelegerea tendintelor si a efectelor viitoare ale acestora este doar una din multele aplicatii
in care se poate implica aceasta stiinta.
Cea de-a doua clasa de aplicatii este clasificarea. O retea capabila sa clasifice ar putea fi
folosita de exemplu in industria medicala la procesarea atat a rezultatelor de laborator cat si a
simptomelor inregistrate de doctori pentru a determina cea mai probabila boala a unui pacient.
Aceasta topologie de retea a fost sugerata la inceput de catre Tuevo Kohonen la mijlocul
anilor 80, cu mult timp in urma cercetarile lui initiale asupra hartilor autoorganizabile.
Atat acest tip de retea, cat si hartile autoorganizabile se bazeaza pe modelul Kohonen de
antrenare cu competitie, care este capabil sa sorteze intrarile in subcategorii de obiecte similare.
Cuantizarea vectorului de antrenare este o retea neuronala artificiala folosita atat pentru
clasificare cat si pentru probleme de segmentare de imagini.
Topologic, reteaua contine un nivel de intrare, un singur nivel ascuns Kohonen si un
nivel de iesire. Un exemplu este dat in figura 1.8.
Nivelul de iesire are tot atatea elemente de procesare cate clase distincte de clasificare
exista. Nivelul Kohonen are un numar de elemente de procesare grupate pentru fiecare dintre
84
clase, numarul de elemente pentru o clasa depinzand de complexitatea relatiei intrare-iesire.
Uzual, toate clasele vor avea alocat acelasi numar de elemente de procesare.
Nivelul Kohonen este cel care invata si realizeaza clasificarile relationale cu ajutorul
unui set de date de antrenare. Aceasta retea foloseste reguli de antrenare supravegheate.
Totusi, aceste reguli difera semnificativ de cele pentru propagare inversa. Pentru a
optimiza functiile de invatare si reamintire, nivelul de intare necesita un singur element de
procesare pentru fiecare parametru al intrarii, dar se pot folosi de asemenea structuri de intrare
de nivel superior.
Cuantizarea vectoriala clasifica datele de intrare in grupuri deterministe. Teoretic
aceasta mapeaza un spatiu n-dimensional intr-un spatiu m-dimensional, adica ia n intrari si
produce m iesiri. Reteaua poate fi antrenata sa clasifice intrarile conservand topologiile inerente
ale setului de antrenare.
Hartile topologice de conservare conserva relatiile de vecinatate din setul de antrenare
astfel incat intrarile care nu au fost invatate anterior sunt clasificate in functie de cei mai
apropiati vecini din setul de antrenare.
In modul de antrenare aceasta retea foloseste nivelul Kohonen in sensul ca distanta
dintre vectorul de antrenare si fiecare element de procesare este calculata si cel mai apropiat este
declarat castigator.
Exista un singur castigator pentru intregul nivel. Acesta va activa un singur element de
procesare din stratul de iesire, anuntand clasa sau categoria din care face parte vectorul de
intrare.
Daca elementul castigator se afla in interiorul clasei asteptate a vectorului de antrenare
acesta intareste vectorul de antrenare, iar daca este in afara clasei, ponderile de la intrarile
elementului de procesare castigator sunt scoase din vectorul de antrenare, operatie denumita
repulsie. In timpul procesului de antrenare elemente de procesare individuale asignate unei clase
particulare migreaza catre regiunea asociata cu clasa specifica.
In timpul modului normal de functionare, distanta dintre un vector de intrare si fiecare
element de procesare este calculata si din nou cel mai apropiat element este declarat castigator.
Exista unele deficiente ale acestei arhitecturi. Evident pentru probleme de clasificare
complexe cu obiecte sau vectori de intrare similare, reteaua necesita un nivel Kohonen de
dimensiuni mari, cu multe elemente de procesare pentru fiecare clasa. Acest lucru poate fi evitat
insa prin selectarea unor parametri mai semnificativi, sau o reprezentare de nivel mai inalt a
intrarilor.
Mecanismul de invatare are unele deficiente care au fost abordate de variante ale
modelului. In mod normal aceste variante sunt aplicate in diferite faze ale procesului de invatare.
Ele impregneaza un mecanism concis, un algoritm de ajustare a marginilor si o functie
de atractie in diferite puncte in timpul antrenarii.
Forma simpla a retelei de cuantizare vectoriala are defectul ca unele elemente de
procesare tind sa castige prea des, in timp ce altele practic nu fac nimic.
Acest lucru se intampla mai ales in cazul cand elementele de procesare sunt initializate
departe de vectorii de antrenare. In acest caz unele elemente se apropie prea repede iar altele
85
raman permanent departe. Pentru a evita aceasta problema se adauga un mecanism prin care un
element de procesare care castiga prea des primeste o pedeapsa si este penalizat.
De fapt acest mecanism se concretizeaza prin adaugarea unui coeficient de distanta
adaugat fiecarui element. Acest coeficient este proportional cu diferenta dintre frecventa de
castig a elementului respectiv si frecventa de castig medie pentru toate elementele. O data cu
avansul retelei de-a lungul curbei de adaptare acesti coeficienti trebuie sa scada.
Algoritmul de ajustare a marginilor este folosit pentru a rafina raspunsul de fiecare data
cand se gaseste o solutie relativ buna. Acest algoritm afecteaza cazurile in care elementul
castigator este intr-o clasa eronata iar elementul urmator este in clasa potrivita.
O viitoare limitare este aceea ca vectorul de antrenare trebuie sa fie aproape de mijlocul
spatiului care imparte cele doua elemente. Elementul castigator va fi scos din vectorul de
antrenare iar cel de-al doilea element va fi mutat in locul acestuia. Aceasta procedura
uniformizeaza limitele dintre regiuni, acolo unde apar de obicei clasificarile eronate.
De multe ori la inceputul antrenarii este bine sa se opreasca repulsia. Elementul
castigator este mutat in vectorul de antrenare doar daca cele doua fac parte din aceeasi clasa.
Aceasta optiune este folositoare atunci cand un element de procesare trebuie mutat de-a
lungul unei regiuni avand o clasa diferita, pentru a ajunge la regiunea in care este nevoie de el.
86
Marimea nivelului de intrare depinde de cat de multi parametri separabili definesc
problema. Daca sunt prea putini reteaua poate sa nu fie capabila sa rezolve problema, daca sunt
prea multi timpul de procesare poate fi prea lung.
Pentru ca reteaua sa opereze corespunzator vectorul de intrare trebuie normalizat. Acest
lucru se poate realiza folosind o preprocesare a datelor, inainte ca acestea sa fie introduse in
retea, sau prin introducerea unui nivel suplimentar de normalizare intre nivelul de intrare si cel
Kohonen.
Nivelul de normalizare necesita un element de procesare pentru fiecare intrare, plus
inca unul suplimentar pentru un element oscilant. Acest strat modifica setul de intrare inainte de
a ajunge la stratul Kohonen pentru a se asigura faptul ca toate seturile de intrare au acelasi total.
87
de intrare intr-o corespondenta aproximativa cu frecventa de aparitie ă intrarilor. Este nevoie de
un numar de elemente de procesare in nivelul Kohonen cel putin egal cu numarul de clase de
clasificare existente la iesire. Nielul Kohonen are de obicei mult mai multe elemente din simplul
motiv ca acest lucru va duce la o diferentiere mai exacta ă elementelor asemanatoare.
Stratul de iesire pentru propagare inversa este alcatuit la baza din elemente de procesare
care invata sa produca o iesire cand li se aplica o anumita intrare. Datorita faptului ca stratul
Kohonen include competitie, o singura iesire este oferita pentru un vector dat de intrare, stratul
oferind o modalitate de decodare a intrarilor in clase de iesire semnificative. Se foloseste regula
Delta pentru propagarea inapoi a eroarii dintre iesirea dorita si cea generata de setul de intrare,
dar erorile ajusteaza doar ponderile intrarilor din stratul de iesire, stratul Kohonen nefiind
afectat.
Deoarece o singura iesire a stratului competitiv Kohonen este activa la un moment dat si
toate celelalte sunt inhibate, singurele ponderi ale elementelor din stratul de iesire ajustate sunt
cele conectate direct la elementul castigator al stratului competitiv. In acest fel stratul de ieisire
invata sa asocieze un model predefinit pentru fiecare element castigator din stratul competitiv.
Exista o problema care sa apara in cazul acestei arhitecturi. Stratul competitiv Kohonen
invata fara o supervizare externa. Din acest motiv este posibil ca un element de procesare
Kohonen sa incerce sa-si asume responsabilitatea pentru doua sau mai multe intrari de
antrenament care apartin unor clase diferite. Cand acest lucru se intampla iesirea retelei va fi
ambigua pentru orice intrare care va activa acest element de procesare. Pentru a evita aceasta
problema elementele de procesare din startul Kohonen ar putea fi conditionate sa se asocieze cu
o singura clasa de clasificare.
88
doar pe baza apropierii vectorului caracteristicilor de intrare de functia de distributie a unei
clase.
Aceasta retea are trei nivele. Reteaua contine un strat de intrare cu un numar de elemente
egal cu numarul parametrilor necesari pentru a descrie obiectele care vor fi clasificate. Are de
asemenea un nivel de modelare care organizeaza setul de antrenare astfel incat fiecare vector de
intare este reprezentat de un element de procesare individual. Si in final reteaua contine un strat
de iesire numit strat de insumare cu numarul de elemente egal cu numarul claselor distincte care
vor fi identificate. Fiecare element din acest strat combina cu ajutorul elementelor de procesare
ale startului de modelare apartenentele la clasele de clasificare. Este posibila adaugarea unui
strat suplimentar pentru a normaliza vectorul de intrare, in cazul in care intrarile nu sunt deja
normalizate inainte de intrarera in retea. La fel ca si in cazul retelei cu propagare inversa
vectorul de intrare trebuie sa fie normalizat pentru a asigura separarea corecta a obiectelor in
stratul de modelare.
După cum s-a mentionat mai sus, stratul de modelare reprezintă o implementare
neuronala a unei versiuni a clasificarii Bayer, in care functiile de densitate de probabilitate ale
claselor sunt aproximate folosind estimatori Parzen. Aceasta abordare ofera un rezultat optim in
sensul minimizarii riscului de clasificare gresita a unui obiect. Folosind estimatorul, abordarea se
apropie de adevaratele functii de densitate o data cu cresterea numarului de seturi de incercare
atat timp cat setul de antrenare este o reprezentare adecvata a distinctiilor dintre clase.
In stratul de modelare exista un element de procesare pentru fiecare vector al setului de
antrenare. In mod normal, exista cantitati egale de elemente de procesare pentru fiecare clasa de
iesire, dar este posibil ca una sau mai multe clase sa fie asignate incorect in acest caz reteaua
generand rezultate eronate. Fiecare element de procesare al stratului de modelare este antrenat
89
intr-o singura trecere. Un element este antrenat sa genereze un semnal de iesire pozitiv daca
vectorul de intrare se poate identifica cu vectorul de antrenare. Functia de antrenare poate
include un factor de finisare global pentru a generaliza mai bine rezultatele clasificarii. Vectorii
de antrenare nu trebuie sa fie aranjati intr-o ordine particulara in setul de antrenare, din moment
ce categoria de apartenenta a fiecarui vector este specificata prin intrare si iesirea dorita. Functia
de invatare asigneaza doar primului element de procesare neantrenat clasa de iesire
corespunzatoare vectorului dat de intrare si ii modifica ponderile pentru a putea raspunde in
viitor la intrari asemanatoare.
Stratul de modelare opereaza competitiv, numai cea mai apropiata asemanare fata de un
vector de intrare castigand si generand o iesire. In acest fel un vector de intrare dat este asignat
unei singure clase de clasificare. Daca intrarea nu poate fi identificata cu nici un model
programat nu este generata nici o iesire.
Estimarea Parzen poate fi adaugata stratului de modelare pentru a ajusta clasificarea
obiectelor. Acest lucru se realizează prin adaugarea frecventei de aparitie pentru fiecare model
de antrenare construit in elementul de procesare. La baza, distributia de probabilitate a aparitiei
fiecarui exemplu dintr-o clasa este multiplicata in nodul respectiv de antrenare. In acest fel o
previziune mai exacta a expectantei unui obiect este adaugata caracteristicilor, facandu-l mai
usor de recunoscut ca membru al unei clase.
Antrenarea unei retele neuronale probabilistice este mult mai simpla decat a uneia cu
propagare inversa. Totusi stratul de modelare poate fi destul de mare daca distinctiile dintre
categorii sunt variate si in acelasi timp acestea sunt similare in anumite parti. Exista foarte multe
propuneri pentru acest tip de retea tinand cont ca optimizarea are la baza componente ale
matemeticii clasice.
xCAPITOLUL 4
RETELE NEURONALE ARTIFICIALE PENTRU
ASOCIERI DE DATE
Clasa anterioara de retele, era legata de retelele pentru asocieri de date. Si in cazul
retelelor pentru asociere se realizeaza aceeasi clasificare a datelor. In plus insa apare un element
aditional ca o consecinta a faptului ca datele de intrare pot fi alterate, Retelele neuronale
asociative pot corecta uneori aceste date alterate, si le pot asocia corect si pe acestea.
John Hopfield si-a prezentat pentru prima data reteaua asociativa in anul 1982 la
Academia Nationala de Stiinte. In onoarea succesului lui Hopfield, si a intregii lui activitati in
domeniul retelelor neuronale, aceasta arhitectura ii poarta numele. Reteaua poate fi
conceptualizata in termeni energetici si de fizica a sistemelor dinamice. Un element de procesare
90
al nivelului Hopfield isi va schimba starea doar daca energia globala a spatiului starilor se
reduce. Cu alte cuvinte starea unui element de procesare va varia doar daca aceasta schimbare va
reduce gradul general de “frustrare” al retelei. Primele aplicatii pentru acest tip de retea au inclus
memoriile asociative si o serie intreaga de probleme de optimizare cum ar fi cea mai buna ruta
pentru un comisvoiajor.
Reteaua originala are fiecare element de procesare operand in format binar. Acestea
calculeaza suma ponderata a intrarilor si cuantizeaza iesirea tot sub forma de zero sau unu.
Aceste restrictii au fost relaxate insa mai tarziu in sensul ca implementarile imbunatatite pot sa
foloseaca o functie de transfer sigmoidala pentru o distinctie mai clara intre clase, Hopfield
insusi aratatand ca reteaua rezultata este echivalenta cu cea originala din 1982.
Reteaua Hopfield foloseste trei straturi: un buffer de intrare, un strat Hopfield si un strat
de iesire, fiecare dintre acestea avand acelasi numar de elemente de procesare. Intrarile stratului
Hopfield sunt conectate la iesirile elementelor corespunzatoare din stratul de intrare prin legaturi
cu ponderi variabile. Iesirile stratului hopfield sunt conectate inapoi la intrarile tuturor celorlalte
elemente de procesare exceptandu-se pe el insusi. De asemenea sunt conectate la intrarile
corespondente ale stratului de iesire. In operatiile normale de reamintire reteaua aplica datele
introduse in stratul de intrare prin legaturile cu ponderi ajustate către stratul Hopfield. Acesta
oscileaza pana la un numar prefixat de cicluri complete, si apoi starea curenta a stratului este
transmisa către iesire. Aceasta stare se va asemana cu un model deja programat in retea.
Antrenarea unei retele Hopfield necesita ca modelul de de antrenare sa fie aplicat
simultan la intrare si iesire. Natura recursiva a stratului Hopfield ofera un mijloc de ajustare a
tuturor ponderile legaturilor. Regula de invatare este legea Hopfield in care legaturile sunt
stranse cand atat elementul de intrare cat si cel deiesire au acelasi semn si sunt slabile daca
intrarea difera de iesire. Evident
91
orice implementare nebinarizata a retelei trebuie sa includa un mecanism de limitare in functia
de transfer in caz contrar existand posibilitatea ca perechile intare/iesire sa fie prea rarificate
pentru a putea antrena reteaua.
Reteaua Hopfield are doua limitari majore cand este folosita ca memorie adresabila prin
continut. Prima, numărul de forme care pot fi stocate si reamintite cu acuratete este foarte
limitat. Daca prea multe forme sunt inregistrate reteaua poate converge către o forma falsa
inventata, diferita de toate cele stocate, sau este posibil sa nu convearga deloc. Capacitatea de
stocare este limitata la aproximativ 15 procente din numărul de elemente de procesare din stratul
Hopfield. Cea de-a doua limitare consta in faptul ca nivelul Hopfield poate deveni instabil daca
formele pe care le retine sunt prea asemanatoare. O forma este considerata instabila atunci cand,
după ce este aplicata la momentul zero reteaua converge către o alta forma dintre cele retinute.
Aceasta problema poate fi rezolvata prim modificarea setului de forme astfel incat sa se creasca
ortogonalitatea dintre ele.
92
numarului de clase la mai putin de 15 procente din numărul total de elemente de procesare ale
stratului de modelare se aplica si in acest caz.
Este o alta extensie a retelei Hopfield prin adaugarea unui clasificator de probabilitate
maxima la intrarea in retea. Arhitectura, dezvoltata de către Richard Lippman implementeaza o
clasificare bazata pe o eroare minima pentru vectorii de intrare, unde eroarea este definita prin
distanta Hamming. Distanta Hamming reprezinta numărul de biti care difera intre doi vectori de
intrare corespondenti de lungimi egale.
Unul din vectorii de intare reprezintă forma de exemplificare, fara zgomot, iar celalalt
este o forma alterata a evenimentelor din lumea reala. In aceasta arhitectura categoriile de iesire
sunt definite printr-un set modelat fara zgomot. In modul normal de functionare vectorii de
intrare sunt asignati categoriei pentru care distanta hamming dintre vectorul exemplu si cel
curent este minima. Arhitectura Hamming are trei nivele.
93
Reteaua foloseste un strat de intrare cu numarul de noduri egal cu numarul
caracteristicilor binare individuale. Urmeaza un strat al categoriilor, care este stratul Hopfield cu
atatea noruri cate categorii sau clase exista, prin aceasta se diferentiindu-se de arhitectra
Hopfield clasica care are in stratul din mijloc un numar de noduri egal cu al celor de intrare. Si
in final exista un strat de iesire cu acelasi numar de noduri ca si stratul Hopfield.
Reteaua are o arhitectura simpla feed-forward cu un strat de intare conectat complet la
cel al categoriilor. Fiecare element din stratul Hopfield este conectat inapoi la toate celelalte
elemente din strat si, printr-o legatura directa, la elementul de procesare de iesire corespunzator,
legatura intre stratul categoriilor si cel de iesire facandu-se prin competitie.
Antrenarea retelei Hamming este similara cu metodologia Hopfield realizandu-se printr-
o singura trecere. Totusi la aceasta arhitectura supervizata, forma de antrenare dorita este
aplicata prin stratul de intrare iar clasa corespondenta prin stratul de iesire.
Inca o data, natura recursiva a nivelului Hopfield ofera un mijloc de ajustare a ponderilor
tuturor legaturilor.
Ponderile dintre straturile de intrare si cel al categoriilor sunt la inceput fixate astfel
incat rezultatele de comparatie generate sa fie egale cu numărul de nodutri de intrare minus
distantele Hamming fata de vectorul de intrare de exemplificare. Aceste valori de asemanare
variaza intre zero si numărul total de elemente de intrare, fiind maxime pentru acei vectori de
intrare care se aseamana cel mai bine cu formele invatate.
Legaturile recursive ale stratului categoriilor au ponderile antrenate in acelasi fel ca si
in cazul retelei Hopfield.
In operatiile normale de propagare inainte un vector de intrare este aplicat stratului de
intrare si trebuie mentinut un timp suficient astfel incat sa permita determinarea categoriei din
care face parte. Astfel se va initializa intrarea functiei Hopfield in stratul categoriilor si se va
permite acelei parti a retelei sa gaseasca cea mai apropiata clasa fata de vectorul de intrare.
Stratul este competitiv, deci la un moment dat o singura iesire este activa.
Reteaua Hamming are o serie de avantaje fata de cea Hopfield deoarece implementeaza
o clasificare a erorii minime optima, atunci cand bitii de intrare sunt aleatori si independenti.
Astfel reteaua Hopfield, prin natura sa aleatoare poate oferi o solutie doar echivalenta
sau mai inexacta decat cea Hamming, intr-un timp mai scurt. Mai putine elemente de procesare
sunt necesare pentru solutia Hamming din moment ce stratul de mijloc necesita doar un element
94
pentru fiecare categorie in loc de un element pentru fiecare nod de intrare. In final reteaua
Hamming nu genereaza clasificarile eronate prezente in cazul Hopfield.
Aceasta retea a fost dezvoltata de către Bart Kosko, generalizand si ea modelul Hopfield.
Un set de perechi de forme sunt invatate printr-o reprezentare a acestora sub forma de vectori
bipolari.
La fel ca si in cazul Hopfield, cand se aplica o versiune alterata a unei forme se
determinata forma cunoscuta cea mai apropiata de aceasta.
O diagrama a unui exemplu de memorie asociativa bidirectionala este prezentata in
figura1.13.
Arhitectura are un numar egal de noduri de intrare si de iesire. Cele doua straturi ascunse
sunt formate din doua memorii asociate separate, si reprezintă marimea a doi vectori de intrare.
Cele doua lungimi nu trebuie sa fie neaparat egale, asa cum se observa in acest exemplu.
Straturile de mijloc sunt conectate complet intre ele, iar cele de intrare si iesire sunt, din
ratiuni de implementare, mijloacele de intrare si iesire a informatiti din retea.
95
Dar forma originala a lui Kosko urmareste construirea memorilor asociative
bidirectionale pentru procesare optica, acolo unde nu sunt necesare structuri de intrare si iesire
formale.
Straturile de mijloc sunt destinate memorarii perechilor asociate de vectori. Cand un
vector alterat este aplicat la intrare cele doua niveluri oscileaza inainte si inapoi pana cand se
ajunge la o stare de echilibru.
Aceasta stare, presupunand ca reteaua nu este supraantrenata, corespunde celei mai
apropiate forme memorate si va genera la iesire aceasta forma originala, nealterata. La fel ca si
reteaua Hopfield memoria asociativa bidirectionala este succeptibila sa determine forme
incorecte atunci cand componente ale setului de antrenare sunt folosite ca vectori de intrare
necunoscuti.
Aceasta retea, asa cum este prezentata in figura este rezultatul muncii de cercetare a lui
Stephen Grossberg de la inceputul anilor ’70, in lucrarile lui autorul numind-o „Avalanche”.
96
A fost in primul rand dezvoltata pentru a explica cateva procese cognitive de
recunoastere a secventelor de evenimente variabile in timp. Robert Hecht-Nielsen s-a inetresat
de modul in care aceasta retea poate fi aplicata pentru probleme ingineresti, scopul principal
fiind realizarea unei retele de recunoastere a formelor spatio-temporale. Semnale specifice, cum
ar fi cel audio, sunt memorate si apoi refolosite pentru a clasifica semnale periodice de intrare.
Aceasta retea foloseste o serie de parametri care permit reglarea pentru eficientizarea detectiei
semnalelor variabile in timp.
Exista un termen atasat fiecarui element de procesare, folosit pentru normalizarea
activitatii din intreaga retea. Acesta impune o bariera variabila impotriva careia elementele de
procesare trebuie sa concureze, si se asigura ca cel mai bun va invinge. Metoda de antrenare
pentru aceasta retea foloseste o variatie a regulii Kohonen si adauga o componenta variabila in
timp functiei de antrenare numita functie de atac. Aceasta functie este folosita si in modul de
amintire pentru a asigura o latenta istoriei trecerii semnalelor prin retea.
Principala ramura de aplicare a arhitecturii spatiotemporale pare a fi in domeniul
recunoasterii semnalelor audio. Un grup de cercetatori de la General Dynamics a folosit aceasta
retea pentru a clasifica tipurile de nave maritime pe baza zgomotelor pe care le fac elicele
acestora. O alta caracteristica a acestor retele consta in faptul ca, datorita deteriorarii in timp a
functiei de atac, chiar daca periodicitatea semnalelor de intrare variaza, intradevar, in interiorul
unor limite acceptabile, reteaua este totusi capabila sa clasifice corect semnalele.
CAPITOLUL 5
RETELE PENTRU CONCEPTUALIZARE
Un alt tip de aplicatie este conceptualizarea datelor. In multe cazuri datele nu sunt doar
clasificate deoarece nu toate aplicatiile implica folosirea unor date care pot fi integrate intr-o
clasa.
Unele aplicatii necesita gruparea unor seturi de date care pot sa fie, sau pot sa nu fie clar
definite. Un exemplu il constituie procesarea datelor bazate pe o lista de adrese postale ale
potentialilor clienti.
Clientii pot fi clasificati in diferite clase, in functie de varsta sau posibilitati materiale,
dar de asemenea in viata reala se pot strecura si alte informatii care sa influenteze categoriile din
care pot face parte potentiali cumparatori. Acest proces incearca doar sa identifice un grup cat
mai bine posibil.
97
Dezvoltata de catre Stephen Grossberg aceasta retea creaza categorii ale datelor de intrare
bazate pe rezonanta adaptiva. Topologia este plauzibila din punct de vedere biologic si foloseste
o functie de antrenare nesupervizata. Sunt analizate datele de intrare semnificative pentru
determinarea comportamentului si se detecteaza posibile caractreistici sau clasificari ale
modelelelor din vectorul de intrare.
Aceasta retea a stat la baza construirii unui numar mare de arhitecturi derivate, cum ar fi
propagarea inversa si memoria asociativa bidirectionala. Creierul retelei cu rezonanta adaptiva
consta din doua straturi puternic interconectate de elemente de procesare localizate intre un strat
de intrare si unul de iesire.
Fiecare model de intrare către stratul inferior de rezonanta va induce trimiterea unui
model asteptat de la stratul superior la cel inferior pentru a influenta următoarea intrare. In acest
fel se creaza o rezonanta intre cele doua straturi pentru a se facilita adaptarea retelei la modele.
Reteaua este folosita in mod normal pentru modelare biologica, existand totusi si cateva
aplicatii ingineresti.
Limitarea majora este succectibilitatea la zgomot a retelei, chiar si cel mai mic nivel de
zgomot al vectorului de intrare alterand capabilitatile de clasificare ale retelei.
Potrivit modelului dezvoltat de catre Teuvo Kohonen la inceputul anilor ’80, datele de
intrare sunt proiectate intr-un strat bidimensional care mentine ordinea, compacteaza spatiul de
reprezentare, si subgrupeaza datele dense.
Cu alte cuvinte, doi vectori de intrare apropiati vor fi asociati cu doua elemente de
procesare apropiate in stratul bidimensional Kohonen. Stratul contine caracteristicile grupurilor
de date de intrare, elementele de procesare reprezintand o harta bidimensionala a datelor de
intare.
Principala aplicabilitate a hartilor autoorganizative este vizualizarea topologiilor si a
structurilor ierarhice de spatii de intare de dimensiuni mari. Retelele autotrganizative au fost
folosite pentru a crea curbe de umplere a suprafetelor in spatii bidimensionale create de stratul
Kohonen.
Stratul Kohonen poate fi de asemenea folosit pentru probleme de optimizare prin
permiterea ponderilor legaturilor sa se fixeze intr-un model de energie minima.
O diferenta semnificativa intre aceasta retea si majoritatea celorlalte este modul de
antrenare fara supraveghere externa folosit.
Totusi, atunci cand topologia este combinata cu alte arhitectur i, de exemplu de predictie
sau clasificare, reteaua invata mai intai intr-un mod nesupravegheat, pentru a trece apoi in modul
supravegheat pentru antrenarea straturilor atasate.
98
Fig. 1.15. Harta autoorganizativa
Aceasta are de obicei doua straturi, unul de intrare si unul Kohonen bidimensional,
interconectate complet. Stratul de iesire aditional reprezentat aici este folosit pentru o problema
de clasificare si reprezintă cele trei clase din care poate face parte vectorul de intrare. Acest strat
de iesire invata de obicei folosind regula delta si este similar ca mod de operare cu modelul
propagarii inverse.
Elementele de procesare ale nivelului Kohonen măsoară individual distanta euclidiana
dintre ponderi si valorile de intrare. In timpul modului normal de functionare elementul
Kohonen cu distanta minima este desemnat castigator si poate trimite un semnal catre stratul de
iesire, in cazul in care acesta exista. Functionarea fiind competitiva, toate celelalte elemente vor
fi setate fortat pe zero pentru acel vector de intrare. Astfel, elementul de procesare castigator este
intr-un mod masurabil cel mai apropiat de valoarea de intrare si deci reprezintă valoarea de
intrare in harta bidimensionala Kohonen. Deci, datele de intrare de dimensiuni multiple, ajung
sa fie reprezentate intr-un vector bidimensional care mentine ordinea existenta in vectorul de
intrare de dimensiune superioara. Aceasta metoda poate fi privita ca un mod de proiectare cu
conservarea ordinii a unui spatiu de intrare de orice dimensiune intr-un spatiu bidimensional
Kohonen.
In timpul antrenarii, elementul de procesare cel mai apropiat isi ajusteaza ponderile
pentru a se apropia si mai mult de valorile din setul de intrare. De asemenea vecinii elementului
castigator isi ajusteaza si ei ponderile pentru a se apropia de setul de intrare, acest lucru
99
mentinand ordinea in spatiul de intrare. Antrenarea se face prin regula de competitie Kohonen
descrisa in sectiunea de antrenare a retelelor neuronale.
Problema existentei unui singur element de procesare care isi asuma responsabilitatea
pentru un numar prea mare de date de intrare exista si la aceasta arhitectura. La fel ca si in cazul
propagarii inverse aceasta problema este rezolvata printr-un mecanism de constiinta construit in
interiorul functiilor de antrenare. Regula de constiinta depinde de mentinerea unor inregistrari
privind rata de succes a fiecarui element de procesare Kohonen, iar aceste informatii sunt
folosite in timpul antrenarii pentru a normaliza măsurarea distantelor.
Acest mecanism ajuta stratul Kohonen sa evolueze catre cea mai buna reprezentare
posibila. Elementele de procesare reprezintă in mod natural informatii aproximativ egale despre
setul datelor de intrare.
Daca spatiul de intrare are putine date, reprezentarea este compactata in spatiul
Kohonen, iar daca spatiul are date dense elementele de procesare reprezentative se raspandesc
pentru a permite o discriminare mai fina. In acest fel nivelul Kohonen pare sa reproduca
reprezentarea cunostintelor in sistemele biologice.
CAPITOLUL 6
RETELE PENTRU FILTRAREA DATELOR
Ultimul tip major de retele este cel folosit pentru filtrarea datelor, o prima aderenta fiind
Madaline. Madaline elimina ecoul dintr-o linie telefonica printr-un circuit dinamic de filtrare.
Rezultate mai recente au permis modemurilor sa lucreze scceptabil la 4800 si 9600 baud prin
tehnici de egalizare dinamica. Ambele aplicatii utilizeaza retele neuronale incorporate in cipuri
speciale.
100
folosesc antrenarea nesupravegehata astfel ca nu este necesar un vector de iesire aplicat stratului
de iesire al retelei. Reteaua este autoasociativa, numărul de intrari si iesiri fiind egal.
Arhitectura este compusa din doua straturi aditionale intre cel de intrare si cel de iesire,
numite start vizibil si strat ascuns. Scopul metodei de antrenare este construirea in stratul ascuns
a unei reprezentari interne a datelor prezentate la stratul vizibil. Un important rol al acesteia este
acela de a comprima datele de intrare folosind mai putine elemente de procesare in stratul
ascuns. In acest caz, reprezentarea ascunsa poate fi considerata o varianta comprimata a
reprezentarii vizibile. Stratul vizibil si cel ascuns sunt conectate complet in ambele directii. De
asemenea fiecare element din cele doua straturi este conectat la un element de calitate (bias).
Aceste legaturi au ponderi variabile ajustabile in acelasi fel ca si celelalte ponderi din retea.
Procesul de antrenare pentru aceasta retea este similar cu tehnica folosita pentru memoriile
asociative bidirectionale. Aici datele de intare sunt prezentate stratului vizibil si trecute către
stratul ascuns. Acesta le transmite inapoi către stratul vizibil care la randul lui le retransmite
către stratul ascuns si de acolo către cel de iesire. La cea de-a doua trecere prin stratul ascuns
apare procesul de invatare. In acest fel datele de intrare sunt recirculate prin retea.
In timpul antrenarii iesirea stratului ascuns la primul pas reprezinta versiunea codificata a
vectorului de intrare. Iesirea stratului vizibil la urmatorul pas este reconstructia intrarii originale
din vectorul codificat in stratul ascuns. Scopul antrenarii este de a reduce erorile dintre vectorul
reconstruit si cel de intrare. Aceste erori sunt de asemenea reflectate in diferenta dintre iesirile
stratului ascuns la primul si la ultimul pas, din moment ce o reconstituire corecta va insemna ca
valori identice vor trece prin stratul ascuns la ambele parcurgeri. Antrenarea urmareste sa reduca
de asemenea eroarea de reconstituire a stratului ascuns.
101
In majoritatea aplicatiilor un semnal de intrare este netezit prin compresie si apoi
reconstituit la iesire. Reteaua actioneaza ca un filtru trece jos al carui punct de tranzitie este
controlat de nLumărul de noduri ascunse.
CAPITOLUL 7
INVATAREA PROFUNDA (ADANCA)
Se utilizeaza un volum foarte mare de date iar software-ul este de tip retele neuronale
speciale, adanci compatibile cu invatarea aprofundata (adanca) adica’’ deep learning’’. Reteau
neuronala artificiala, formata dintr-o multitudine neuroni artificiali interconactati, dispusi pe
stratuiri (layer-e), in general trei: de intrare , de iesire si cel ascuns, se va comporta precum
creierul uman.
Deep Learning este o nou forma a învățării automate avand performante superioare
folosind o cantitatea mult mai mare de date.
102
Disciplina care se ocupa cu machine learning, cu stiinta de a invata calculatoarele
studiaza inteligenta clculatoarelor. Tendinta este de face obiectele din jurul nostru sa devina
inteligente, iar calculatoarele sa recunoasca obiecte prin furnizarea unor modele nu neaparat
programandu-le. Reteau neronala artificiala va fi invatata sa recunoasca modele foarte
complexe. Principala apliacatie in acest sens este recunosterea unui anumit tip de produs din
miile de imagini, fotografii, furnizate. Calculatoare folosite in acest scop au unitati de procesare
grafica care ruleaza partea grafica a aplicatiilor.
103
104